Examples of EnhancementEngine


Examples of org.apache.stanbol.enhancer.servicesapi.EnhancementEngine

        synchronized (sortedEngineList) {
            engines = sortedEngineList.iterator();
        }
        long start = System.currentTimeMillis();
        while (engines.hasNext()) {
            EnhancementEngine engine = engines.next();
            long startEngine = System.currentTimeMillis();
            if (engine.canEnhance(ci) == EnhancementEngine.CANNOT_ENHANCE) {
                log.debug("[{}] cannot be enhanced by engine [{}], skipping",
                        ci.getUri().getUnicodeString(), engine);
            } else {
                // TODO should handle sync/async enhancing. All sync for now.
                engine.computeEnhancements(ci);
                log.debug("ContentItem [{}] enhanced by engine [{}] in {}ms",
                        new Object[]{ci.getUri().getUnicodeString(), engine,System.currentTimeMillis()-startEngine});
            }
        }
        log.debug("ContentItem [{}] enhanced in {}ms",ci.getUri().getUnicodeString(),(System.currentTimeMillis()-start));
View Full Code Here

Examples of org.apache.stanbol.enhancer.servicesapi.EnhancementEngine

        Set<NonLiteral> executeable;
        do {
            executeable = getExecutable(ep, visited);
            for(NonLiteral node : executeable){
                String engineName = getString(ep, node, ENGINE);
                EnhancementEngine engine = engineManager.getEngine(engineName);
                if(engine != null){
                    engines.add(engine);
                }
                visited.add(node);
            }
View Full Code Here

Examples of org.apache.stanbol.enhancer.servicesapi.EnhancementEngine

    public static Map<String, Entry<ServiceReference,EnhancementEngine>> buildEnginesMap(EnhancementEngineManager engineManager) {
        Map<String, Entry<ServiceReference,EnhancementEngine>> engines = new HashMap<String,Map.Entry<ServiceReference,EnhancementEngine>>();
        for(String engineName : engineManager.getActiveEngineNames()){
            ServiceReference engineRef = engineManager.getReference(engineName);
            if(engineRef != null){
                EnhancementEngine engine = engineManager.getEngine(engineRef);
                if(engine != null){
                    Map<ServiceReference,EnhancementEngine> m = Collections.singletonMap(engineRef, engine);
                    engines.put(engineName, m.entrySet().iterator().next());
                }
            }
View Full Code Here

Examples of org.apache.stanbol.enhancer.servicesapi.EnhancementEngine

        List<EnhancementEngine> availableEngines = new ArrayList<EnhancementEngine>(chain.size());
        Set<String> optionalEngines = new HashSet<String>();
        Set<String> missingEngines = new HashSet<String>();
        for(Entry<String,Map<String,List<String>>> entry : chain.entrySet()){
            boolean optional = getState(entry.getValue(),"optional");
            EnhancementEngine engine = tracker.getEngine(entry.getKey());
            if(engine != null){
                availableEngines.add(engine);
            } else {
                missingEngines.add(entry.getKey());
            }
View Full Code Here

Examples of org.apache.stanbol.enhancer.servicesapi.EnhancementEngine

     */
    private void processEvent(EnhancementJob job, NonLiteral execution) {
        String engineName = getEngine(job.getExecutionPlan(),
            job.getExecutionNode(execution));
        //(1) execute the parsed ExecutionNode
        EnhancementEngine engine = engineManager.getEngine(engineName);
        if(engine != null){
            //execute the engine
            Exception exception = null;
            int engineState;
            try {
                engineState = engine.canEnhance(job.getContentItem());
            } catch (EngineException e) {
                exception = e;
                log.warn("Unable to check if engine '" + engineName
                    + "'(type: " + engine.getClass() + ") can enhance ContentItem '"
                    + job.getContentItem().getUri()+ "'!",e);
                engineState = EnhancementEngine.CANNOT_ENHANCE;
            }
            if(engineState == EnhancementEngine.ENHANCE_SYNCHRONOUS){
                //ensure that this engine exclusively access the content item
                log.trace("++ w: {}: {}","start sync execution", engine.getName());
                job.getLock().writeLock().lock();
                log.trace(">> w: {}: {}","start sync execution", engine.getName());
                try {
                    engine.computeEnhancements(job.getContentItem());
                    job.setCompleted(execution);
                } catch (EngineException e){
                    log.warn(e.getMessage(),e);
                    job.setFailed(execution, engine, e);
                } catch (RuntimeException e){
                    log.warn(e.getMessage(),e);
                    job.setFailed(execution, engine, e);
                } finally{
                    log.trace("<< w: {}: {}","finished sync execution", engine.getName());
                    job.getLock().writeLock().unlock();
                }
            } else if(engineState == EnhancementEngine.ENHANCE_ASYNC){
                try {
                    log.trace("++ n: start async execution of Engine {}",engine.getName());
                    engine.computeEnhancements(job.getContentItem());
                    log.trace("++ n: finished async execution of Engine {}",engine.getName());
                    job.setCompleted(execution);
                } catch (EngineException e) {
                    log.warn(e.getMessage(),e);
                    job.setFailed(execution, engine, e);
                } catch (RuntimeException e) {
View Full Code Here

Examples of org.apache.stanbol.enhancer.servicesapi.EnhancementEngine

        }
        List<EnhancementEngine> activeEngines = new ArrayList<EnhancementEngine>(activeEngineNames.size());
        Iterator<String> names = activeEngineNames.iterator();
        while(names.hasNext()){
            String name = names.next();
            EnhancementEngine engine = tracker.getEngine(name);
            if(engine != null){
                activeEngines.add(engine);
            } else { //looks like the config has changed in the meantime
                names.remove();
            }
View Full Code Here

Examples of org.apache.stanbol.enhancer.servicesapi.EnhancementEngine

        if(engineRefs == null || engineRefs.isEmpty()){
            throw new WebApplicationException(Response.Status.NOT_FOUND);
        }
        engines = new ArrayList<EnhancementEngine>(engineRefs.size());
        for(Iterator<ServiceReference> it = engineRefs.iterator();it.hasNext();){
            EnhancementEngine engine = engineManager.getEngine(it.next());
            if(engine == null){ //removed in the meantime
                it.remove();
            } else {
                engines.add(engine);
            }
View Full Code Here

Examples of org.apache.stanbol.enhancer.servicesapi.EnhancementEngine

     */
    private void processEvent(EnhancementJob job, NonLiteral execution) {
        String engineName = getEngine(job.getExecutionPlan(),
            job.getExecutionNode(execution));
        //(1) execute the parsed ExecutionNode
        EnhancementEngine engine = engineManager.getEngine(engineName);
        if(engine != null){
            //execute the engine
            Exception exception = null;
            int engineState;
            try {
                engineState = engine.canEnhance(job.getContentItem());
            } catch (EngineException e) {
                exception = e;
                log.warn("Unable to check if engine '" + engineName
                    + "'(type: " + engine.getClass() + ") can enhance ContentItem '"
                    + job.getContentItem().getUri()+ "'!",e);
                engineState = EnhancementEngine.CANNOT_ENHANCE;
            }
            if(engineState == EnhancementEngine.ENHANCE_SYNCHRONOUS){
                //ensure that this engine exclusively access the content item
                log.trace("++ w: {}: {}","start sync execution", engine.getName());
                job.getLock().writeLock().lock();
                log.trace(">> w: {}: {}","start sync execution", engine.getName());
                try {
                    engine.computeEnhancements(job.getContentItem());
                    job.setCompleted(execution);
                } catch (EngineException e){
                    log.warn(e.getMessage(),e);
                    job.setFailed(execution, engine, e);
                } catch (RuntimeException e){
                    log.warn(e.getMessage(),e);
                    job.setFailed(execution, engine, e);
                } finally{
                    log.trace("<< w: {}: {}","finished sync execution", engine.getName());
                    job.getLock().writeLock().unlock();
                }
            } else if(engineState == EnhancementEngine.ENHANCE_ASYNC){
                try {
                    log.trace("++ n: start async execution of Engine {}",engine.getName());
                    engine.computeEnhancements(job.getContentItem());
                    log.trace("++ n: finished async execution of Engine {}",engine.getName());
                    job.setCompleted(execution);
                } catch (EngineException e) {
                    log.warn(e.getMessage(),e);
                    job.setFailed(execution, engine, e);
                } catch (RuntimeException e) {
View Full Code Here

Examples of org.apache.stanbol.enhancer.servicesapi.EnhancementEngine

        Set<NonLiteral> executeable;
        do {
            executeable = getExecutable(ep, visited);
            for(NonLiteral node : executeable){
                String engineName = getString(ep, node, ENGINE);
                EnhancementEngine engine = engineManager.getEngine(engineName);
                if(engine != null){
                    engines.add(engine);
                }
                visited.add(node);
            }
View Full Code Here

Examples of org.apache.stanbol.enhancer.servicesapi.EnhancementEngine

    }

    @Test
    public void testEnhancementEngineHelper() throws Exception {
        ContentItem ci = new InMemoryContentItem(new UriRef("urn:test:contentItem"), "There is content", "text/plain");
        EnhancementEngine engine = new MyEngine();

        UriRef extraction = EnhancementEngineHelper.createNewExtraction(ci, engine);
        MGraph metadata = ci.getMetadata();

        assertTrue(metadata.contains(new TripleImpl(extraction,
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.