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 {