Author: rwesten
Date: Thu Oct 30 07:31:02 2014
New Revision: 1635415
URL: http://svn.apache.org/r1635415
Log:
merged implementation for STANBOL-1399 and STANBOL-1400 to trunk
Modified:
stanbol/trunk/entityhub/generic/core/src/main/java/org/apache/stanbol/entityhub/core/mapping/ValueConverterFactory.java
stanbol/trunk/entityhub/generic/servicesapi/src/main/java/org/apache/stanbol/entityhub/servicesapi/mapping/FieldMapping.java
Modified:
stanbol/trunk/entityhub/generic/core/src/main/java/org/apache/stanbol/entityhub/core/mapping/ValueConverterFactory.java
URL:
http://svn.apache.org/viewvc/stanbol/trunk/entityhub/generic/core/src/main/java/org/apache/stanbol/entityhub/core/mapping/ValueConverterFactory.java?rev=1635415&r1=1635414&r2=1635415&view=diff
==============================================================================
---
stanbol/trunk/entityhub/generic/core/src/main/java/org/apache/stanbol/entityhub/core/mapping/ValueConverterFactory.java
(original)
+++
stanbol/trunk/entityhub/generic/core/src/main/java/org/apache/stanbol/entityhub/core/mapping/ValueConverterFactory.java
Thu Oct 30 07:31:02 2014
@@ -466,6 +466,12 @@ public class ValueConverterFactory {
super(DataTypeEnum.Time);
}
}
+ /**
+ * Converts String values to {@link Text} (without an language tag. Does
+ * NOT convert any other values such as {@link Number}s or {@link
Reference}s
+ * @author Rupert Westenthaler
+ *
+ */
public static class TextConverter implements ValueConverter<Text> {
@Override
public Text convert(Object value, ValueFactory valueFactory) {
@@ -474,13 +480,21 @@ public class ValueConverterFactory {
}
if(value instanceof Text){
return (Text)value;
- } else {
+ } else if(value instanceof String){
return valueFactory.createText(value);
+ } else { //do not convert other values
+ return null;
}
}
@Override
public String getDataType() { return DataTypeEnum.Text.getUri(); }
}
+ /**
+ * Converts any value to {@link String} by using the {@link #toString()}
+ * method of the parsed value
+ * @author Rupert Westenthaler
+ *
+ */
public static class StringConverter implements ValueConverter<String> {
@Override
public String convert(Object value, ValueFactory valueFactory) {
return value.toString(); }
Modified:
stanbol/trunk/entityhub/generic/servicesapi/src/main/java/org/apache/stanbol/entityhub/servicesapi/mapping/FieldMapping.java
URL:
http://svn.apache.org/viewvc/stanbol/trunk/entityhub/generic/servicesapi/src/main/java/org/apache/stanbol/entityhub/servicesapi/mapping/FieldMapping.java?rev=1635415&r1=1635414&r2=1635415&view=diff
==============================================================================
---
stanbol/trunk/entityhub/generic/servicesapi/src/main/java/org/apache/stanbol/entityhub/servicesapi/mapping/FieldMapping.java
(original)
+++
stanbol/trunk/entityhub/generic/servicesapi/src/main/java/org/apache/stanbol/entityhub/servicesapi/mapping/FieldMapping.java
Thu Oct 30 07:31:02 2014
@@ -146,8 +146,11 @@ public class FieldMapping {
this.filter = filter;
if(this.global){
mappedTo = new String[]{}; //set to empty -> if global than map
nothing
- } else if(this.usesWildcard){
- mappedTo = new String[]{null}; //wildcard always maps the selected
field 1:1
+ //NOTE: FieldMappings do now allow to map a Wildcard to an other field
+ // This is e.g. usefull for collecting all Literal values in a
field
+ // holding the disambiguation context.
+// } else if(this.usesWildcard){
+// mappedTo = new String[]{null}; //wildcard always maps the
selected field 1:1
} else if(mappedTo == null || mappedTo.length<1){
mappedTo = new String[]{null}; //if no mapping parse map the
field 1:1
} //else used the parsed one