You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stanbol.apache.org by rw...@apache.org on 2014/01/16 07:17:43 UTC

svn commit: r1558701 - /stanbol/branches/release-0.12/enhancement-engines/dereference/entityhub/src/main/java/org/apache/stanbol/enhancer/engines/dereference/entityhub/TrackingDereferencerBase.java

Author: rwesten
Date: Thu Jan 16 06:17:43 2014
New Revision: 1558701

URL: http://svn.apache.org/r1558701
Log:
fix for STANBOL-1257 for the 0.12 branch; This also comes with improvements to DEBUG and TRACE level logging

Modified:
    stanbol/branches/release-0.12/enhancement-engines/dereference/entityhub/src/main/java/org/apache/stanbol/enhancer/engines/dereference/entityhub/TrackingDereferencerBase.java

Modified: stanbol/branches/release-0.12/enhancement-engines/dereference/entityhub/src/main/java/org/apache/stanbol/enhancer/engines/dereference/entityhub/TrackingDereferencerBase.java
URL: http://svn.apache.org/viewvc/stanbol/branches/release-0.12/enhancement-engines/dereference/entityhub/src/main/java/org/apache/stanbol/enhancer/engines/dereference/entityhub/TrackingDereferencerBase.java?rev=1558701&r1=1558700&r2=1558701&view=diff
==============================================================================
--- stanbol/branches/release-0.12/enhancement-engines/dereference/entityhub/src/main/java/org/apache/stanbol/enhancer/engines/dereference/entityhub/TrackingDereferencerBase.java (original)
+++ stanbol/branches/release-0.12/enhancement-engines/dereference/entityhub/src/main/java/org/apache/stanbol/enhancer/engines/dereference/entityhub/TrackingDereferencerBase.java Thu Jan 16 06:17:43 2014
@@ -19,6 +19,7 @@ package org.apache.stanbol.enhancer.engi
 import java.io.StringReader;
 import java.net.URI;
 import java.net.URISyntaxException;
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashSet;
@@ -57,6 +58,7 @@ import org.apache.stanbol.entityhub.serv
 import org.apache.stanbol.entityhub.servicesapi.query.FieldQuery;
 import org.apache.stanbol.entityhub.servicesapi.query.QueryResultList;
 import org.apache.stanbol.entityhub.servicesapi.query.TextConstraint;
+import org.apache.stanbol.entityhub.servicesapi.util.ModelUtils;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.Filter;
 import org.osgi.framework.InvalidSyntaxException;
@@ -158,17 +160,28 @@ public abstract class TrackingDereferenc
      */
     public void setDereferencedFields(List<String> dereferencedFields) {
         if(dereferencedFields != null && !dereferencedFields.isEmpty()){
-            fieldMapper = new DefaultFieldMapperImpl(ValueConverterFactory.getDefaultInstance());
-            log.debug(" > Initialise configured field mappings");
+            List<FieldMapping> mappings = new ArrayList<FieldMapping>(dereferencedFields.size());
+            log.debug(" > parse configured field mappings");
             for(String configuredMapping : dereferencedFields){
+            	log.trace(" - parse configure mapping '{}'",configuredMapping);
                 FieldMapping mapping = FieldMappingUtils.parseFieldMapping(configuredMapping,nsPrefixService);
                 if(mapping != null){
                     log.debug("   - add FieldMapping {}",mapping);
-                    fieldMapper.addMapping(mapping);
+                    mappings.add(mapping);
                 } else if(configuredMapping != null && !configuredMapping.isEmpty()){
                     log.warn("   - unable to parse FieldMapping '{}'", configuredMapping);
                 }
             }
+            if(!mappings.isEmpty()){
+                log.debug(" > apply {} valid mappings",mappings.size());
+                fieldMapper = new DefaultFieldMapperImpl(ValueConverterFactory.getDefaultInstance());
+                for(FieldMapping mapping : mappings){
+                	fieldMapper.addMapping(mapping);
+                }
+            } else { //no valid mapping parsed
+            	log.debug(" > no valid mapping parsed ... will dereference all fields");
+            	fieldMapper = null;
+            }
         } else {
             fieldMapper = null;
         }
@@ -332,6 +345,10 @@ public abstract class TrackingDereferenc
                 }
             }
         }
+       	if(log.isTraceEnabled()){
+    		log.trace("dereferenced via LDPath {}", ModelUtils.getRepresentationInfo(result));
+    	}
+
         if(!ldPathResults.isEmpty()){ //copy the results
             writeLock.lock();
             try {
@@ -388,6 +405,9 @@ public abstract class TrackingDereferenc
         try {
             RdfRepresentation clerezzaRep = valueFactory.createRdfRepresentation(uri, graph);
             fieldMapper.applyMappings(rep, clerezzaRep, valueFactory);
+           	if(log.isTraceEnabled()){
+        		log.trace("dereferenced via Mappings {}", ModelUtils.getRepresentationInfo(clerezzaRep));
+        	}
         } finally {
             writeLock.unlock();
         }
@@ -403,6 +423,9 @@ public abstract class TrackingDereferenc
     private void copyAll(UriRef uri, Representation rep, MGraph graph, Lock writeLock) {
         writeLock.lock();
         try {
+        	if(log.isTraceEnabled()){
+        		log.trace("dereferenced all of {}", ModelUtils.getRepresentationInfo(rep));
+        	}
             if(rep instanceof RdfRepresentation){
                 graph.addAll(((RdfRepresentation)rep).getRdfGraph());
             } else {