summaryrefslogtreecommitdiffstats
path: root/branches/sca-java-1.x/modules/domain-search/src/main/java/org/apache/tuscany/sca/domain/search/impl/ArtifactDocumentProcessor.java
diff options
context:
space:
mode:
Diffstat (limited to 'branches/sca-java-1.x/modules/domain-search/src/main/java/org/apache/tuscany/sca/domain/search/impl/ArtifactDocumentProcessor.java')
-rw-r--r--branches/sca-java-1.x/modules/domain-search/src/main/java/org/apache/tuscany/sca/domain/search/impl/ArtifactDocumentProcessor.java85
1 files changed, 55 insertions, 30 deletions
diff --git a/branches/sca-java-1.x/modules/domain-search/src/main/java/org/apache/tuscany/sca/domain/search/impl/ArtifactDocumentProcessor.java b/branches/sca-java-1.x/modules/domain-search/src/main/java/org/apache/tuscany/sca/domain/search/impl/ArtifactDocumentProcessor.java
index ade97aaaeb..83dc2d10fd 100644
--- a/branches/sca-java-1.x/modules/domain-search/src/main/java/org/apache/tuscany/sca/domain/search/impl/ArtifactDocumentProcessor.java
+++ b/branches/sca-java-1.x/modules/domain-search/src/main/java/org/apache/tuscany/sca/domain/search/impl/ArtifactDocumentProcessor.java
@@ -1,11 +1,11 @@
package org.apache.tuscany.sca.domain.search.impl;
-import java.io.File;
-import java.net.MalformedURLException;
+import java.io.IOException;
import java.net.URL;
import org.apache.lucene.document.Field;
import org.apache.tuscany.sca.contribution.Artifact;
+import org.apache.tuscany.sca.contribution.Contribution;
import org.apache.tuscany.sca.domain.search.DocumentMap;
import org.apache.tuscany.sca.domain.search.DocumentProcessor;
@@ -17,43 +17,68 @@ public class ArtifactDocumentProcessor implements DocumentProcessor {
if (object instanceof Artifact) {
Artifact artifact = (Artifact) object;
- String uri = artifact.getURI();
+ // String uri = artifact.getURI();
+
+ // if (uri != null && uri.length() == 0) {
+ // uri = null;
+ // }
+ //
+ // if (uri != null) {
+ //
+ // if (uri.endsWith(".composite")
+ // || uri.endsWith(".component")) {
+ //
+ // parent += DomainPathAnalyzer.PATH_SEPARATOR
+ // + SearchFields.ARTIFACT_FIELD
+ // + DomainPathAnalyzer.TYPE_SEPARATOR + uri;
+ //
+ // if (document == null) {
+ // document = documents.get(uri);
+ // }
+ //
+ // document.add(new Field(SearchFields.ARTIFACT_FIELD, uri,
+ // Field.Store.YES, Field.Index.ANALYZED));
+ //
+ // }
+ //
+ // }
+
+ if (!(object instanceof Contribution)) {
- if (uri != null && uri.length() == 0) {
- uri = null;
- }
+ String location = artifact.getLocation();
- if (uri != null) {
+ try {
- parent += DomainPathAnalyzer.PATH_SEPARATOR
- + SearchFields.ARTIFACT_FIELD
- + DomainPathAnalyzer.TYPE_SEPARATOR + uri;
+ if (document == null) {
+ document = documents.get(SearchFields.ARTIFACT_FIELD + location);
+ }
- if (document == null) {
- document = documents.get(uri);
- }
+ FileContent fileContent = new WrappedFileContent(new URL(
+ location));
- document.add(new Field(SearchFields.ARTIFACT_FIELD, uri,
- Field.Store.YES, Field.Index.ANALYZED));
+ document.add(new Field(SearchFields.ARTIFACT_FIELD,
+ fileContent.getName(), Field.Store.YES,
+ Field.Index.ANALYZED));
- }
+ parent += DomainPathAnalyzer.PATH_SEPARATOR
+ + SearchFields.ARTIFACT_FIELD
+ + DomainPathAnalyzer.TYPE_SEPARATOR
+ + location + DomainPathAnalyzer.URI_SEPARATOR
+ + fileContent.getName();
- if (document != null) {
+ // parent += DomainPathAnalyzer.PATH_SEPARATOR
+ // + SearchFields.FILE_FIELD
+ // + DomainPathAnalyzer.TYPE_SEPARATOR + location +
+ // DomainPathAnalyzer.URI_SEPARATOR + fileContent.getName();
- String location = artifact.getLocation();
-
- document.add(new Field(SearchFields.LOCATION_FIELD, location,
- Field.Store.YES, Field.Index.ANALYZED));
-
- try {
Document fileDoc = parentProcessor.process(parentProcessor,
- documents, new SystemFileContent(new File(new URL(location).getFile())), document, parent);
-
+ documents, fileContent, null, parent);
+
fileDoc.add(new Field(SearchFields.PARENT_FIELD, parent,
Field.Store.YES, Field.Index.ANALYZED));
-
- } catch (MalformedURLException e) {
- // ignore file
+
+ } catch (IOException e) {
+ // ignore location
}
}
@@ -70,13 +95,13 @@ public class ArtifactDocumentProcessor implements DocumentProcessor {
if (obj instanceof Artifact) {
Artifact artifact = (Artifact) obj;
- String uri = artifact.getURI();
+ String uri = artifact.getLocation();
if (uri != null && uri.length() == 0) {
return null;
}
- return uri;
+ return SearchFields.ARTIFACT_FIELD + uri;
}