summaryrefslogtreecommitdiffstats
path: root/sca-java-1.x/tags/1.6.1-TUSCANY-3909/domain-search/src/main/java/org/apache/tuscany/sca/domain/search/impl/ResultProcessorList.java
diff options
context:
space:
mode:
Diffstat (limited to 'sca-java-1.x/tags/1.6.1-TUSCANY-3909/domain-search/src/main/java/org/apache/tuscany/sca/domain/search/impl/ResultProcessorList.java')
-rw-r--r--sca-java-1.x/tags/1.6.1-TUSCANY-3909/domain-search/src/main/java/org/apache/tuscany/sca/domain/search/impl/ResultProcessorList.java186
1 files changed, 0 insertions, 186 deletions
diff --git a/sca-java-1.x/tags/1.6.1-TUSCANY-3909/domain-search/src/main/java/org/apache/tuscany/sca/domain/search/impl/ResultProcessorList.java b/sca-java-1.x/tags/1.6.1-TUSCANY-3909/domain-search/src/main/java/org/apache/tuscany/sca/domain/search/impl/ResultProcessorList.java
deleted file mode 100644
index 27c192cbee..0000000000
--- a/sca-java-1.x/tags/1.6.1-TUSCANY-3909/domain-search/src/main/java/org/apache/tuscany/sca/domain/search/impl/ResultProcessorList.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.tuscany.sca.domain.search.impl;
-
-import java.util.HashMap;
-import java.util.LinkedList;
-
-import org.apache.lucene.document.Document;
-import org.apache.tuscany.sca.domain.search.Result;
-import org.apache.tuscany.sca.domain.search.ResultFactory;
-import org.apache.tuscany.sca.domain.search.ResultProcessor;
-
-/**
- *
- * @version $Rev$ $Date$
- */
-public class ResultProcessorList extends LinkedList<ResultProcessor> implements ResultProcessor {
-
-
- private static final long serialVersionUID = 7147307292452694895L;
-
- private HashMap<String, ResultHashMap> resultRoots = new HashMap<String, ResultHashMap>();
-
- private ResultFactory<? extends Result> resultFactory;
-
- public ResultProcessorList(ResultFactory<? extends Result> resultFactory) {
- this.resultFactory = resultFactory;
- }
-
- public Result process(Document document, Result result) {
-
- if (result == null) {
- result = this.resultFactory.createResult(document);
-
- if (result == null) {
- return null;
- }
-
- }
-
- ResultHashMap resultHashMap;
-
- String parent = document.get(SearchFields.PARENT_FIELD);
-
- if (parent == null) {
- resultHashMap = new ResultHashMap(result);
- resultRoots.put(result.getValue(), resultHashMap);
-
- } else {
-
- ParentField parentField = new ParentField(parent);
- HashMap<String, ResultHashMap> current = this.resultRoots;
- // Result currentResult = null;
- int elementsCount = parentField.getElementsCount();
-
- for (int i = 0; i < elementsCount; i++) {
- String actualName = parentField.getElementName(i);
- String type = parentField.getElementType(i);
-
- if (actualName.length() > 0) {
- ResultHashMap actualResultHashMap = current.get(actualName);
-
- if (actualResultHashMap == null) {
- ResultHashMap aux = new ResultHashMap(type, parentField.getElementName(i));
-
- current.put(aux.result.getValue(), aux);
- // if (current.put(aux.result.getValue(), aux) == null
- // && currentResult != null) {
- // currentResult.addContent(aux.result);
- // }
-
- current = aux;
- // currentResult = aux.result;
-
- } else {
- current = actualResultHashMap;
- // currentResult = actualResultHashMap.result;
-
- }
-
- }
-
- }
-
- resultHashMap = current.get(result.getValue());
-
- if (resultHashMap == null) {
- resultHashMap = new ResultHashMap(result);
- current.put(result.getValue(), resultHashMap);
-
- // if (currentResult != null) {
- // currentResult.addContent(result);
- // }
-
- }
-
- }
-
- for (ResultProcessor processor : this) {
- result = processor.process(document, result);
- }
-
- resultHashMap.result = result;
-
- return result;
-
- }
-
- private static void addContentsToResult(ResultHashMap resultHashMap) {
-
- for (ResultHashMap actual : resultHashMap.values()) {
- addContentsToResult(actual);
-
- resultHashMap.result.addContent(actual.result);
-
- }
-
- }
-
- public Result[] createResultRoots() {
- int size = this.resultRoots.size();
-
- if (size == 0) {
- return new Result[0];
- }
-
- Result[] res = new Result[size];
-
- int i = 0;
- for (ResultHashMap resultHashMap : this.resultRoots.values()) {
-
- addContentsToResult(resultHashMap);
- res[i++] = resultHashMap.result;
-
- }
-
- this.resultRoots.clear();
-
- return res;
-
- }
-
- private Result createResult(String field, String value) {
- Result result = this.resultFactory.createResult(field, value);
-
- if (result != null) {
- return result;
- }
-
- throw new IllegalArgumentException();
-
- }
-
- private class ResultHashMap extends HashMap<String, ResultHashMap> {
-
- private static final long serialVersionUID = 7982561264440904411L;
-
- Result result;
-
- ResultHashMap(String type, String name) {
- this(createResult(type, name));
- }
-
- ResultHashMap(Result result) {
- this.result = result;
- }
-
- }
-
-}