Search in sources :

Example 1 with IndexBuilder

use of org.kie.workbench.common.services.refactoring.backend.server.indexing.IndexBuilder in project kie-wb-common by kiegroup.

the class LibraryIndexer method toKObject.

@Override
public KObject toKObject(final Path path) {
    KObject index = null;
    try {
        // create a builder with the default information
        IndexBuilder builder = fillIndexBuilder(path);
        Set<KProperty<?>> indexElements = null;
        if (builder != null) {
            // build index document
            indexElements = builder.build();
        } else {
            indexElements = Collections.emptySet();
        }
        index = KObjectUtil.toKObject(path, LIBRARY_CLASSIFIER, indexElements);
    } catch (Exception e) {
        // Unexpected parsing or processing error
        logger.error("Unable to index '" + path.toUri().toString() + "'.", e.getMessage(), e);
    }
    return index;
}
Also used : KObject(org.uberfire.ext.metadata.model.KObject) KProperty(org.uberfire.ext.metadata.model.KProperty) IndexBuilder(org.kie.workbench.common.services.refactoring.backend.server.indexing.IndexBuilder)

Example 2 with IndexBuilder

use of org.kie.workbench.common.services.refactoring.backend.server.indexing.IndexBuilder in project kie-wb-common by kiegroup.

the class LibraryIndexer method fillIndexBuilder.

@Override
protected IndexBuilder fillIndexBuilder(final Path path) throws Exception {
    // responsible for basic index info: file name, project root path
    final String fileName = Paths.convert(path).getFileName();
    final String repoRoot = getRootBackendPath(path);
    final IndexBuilder builder = () -> {
        final Set<KProperty<?>> indexElements = new HashSet<>();
        indexElements.add(new KPropertyImpl<>(LibraryFileNameIndexTerm.TERM, fileName));
        indexElements.add(new KPropertyImpl<>(FieldFactory.FILE_NAME_FIELD_SORTED, fileName.toLowerCase(), false, true));
        indexElements.add(new KPropertyImpl<>(LibraryRepositoryRootIndexTerm.TERM, repoRoot));
        return indexElements;
    };
    return builder;
}
Also used : KPropertyImpl(org.kie.workbench.common.services.refactoring.KPropertyImpl) HashSet(java.util.HashSet) Set(java.util.Set) IndexBuilder(org.kie.workbench.common.services.refactoring.backend.server.indexing.IndexBuilder)

Aggregations

IndexBuilder (org.kie.workbench.common.services.refactoring.backend.server.indexing.IndexBuilder)2 HashSet (java.util.HashSet)1 Set (java.util.Set)1 KPropertyImpl (org.kie.workbench.common.services.refactoring.KPropertyImpl)1 KObject (org.uberfire.ext.metadata.model.KObject)1 KProperty (org.uberfire.ext.metadata.model.KProperty)1