Index: src/main/java/org/apache/jackrabbit/core/value/InternalValueFactory.java
===================================================================
--- src/main/java/org/apache/jackrabbit/core/value/InternalValueFactory.java (revision 802697)
+++ src/main/java/org/apache/jackrabbit/core/value/InternalValueFactory.java (working copy)
@@ -17,40 +17,22 @@
package org.apache.jackrabbit.core.value;
import org.apache.jackrabbit.core.data.DataStore;
-import org.apache.jackrabbit.core.id.NodeId;
-import org.apache.jackrabbit.spi.Name;
-import org.apache.jackrabbit.spi.Path;
import org.apache.jackrabbit.spi.QValue;
import org.apache.jackrabbit.spi.QValueFactory;
-import org.apache.jackrabbit.spi.commons.name.NameFactoryImpl;
-import org.apache.jackrabbit.spi.commons.name.PathFactoryImpl;
import org.apache.jackrabbit.spi.commons.value.AbstractQValueFactory;
-import org.apache.jackrabbit.util.ISO8601;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import javax.jcr.PropertyType;
import javax.jcr.RepositoryException;
-import javax.jcr.ValueFormatException;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
import java.io.FileInputStream;
-import java.util.Calendar;
-import java.math.BigDecimal;
-import java.net.URI;
/**
- * InternalValueFactory...
+ * InternalValueFactory implements a {@link QValueFactory} that
+ * creates {@link InternalValue} instances for binary values.
*/
public final class InternalValueFactory extends AbstractQValueFactory {
- /**
- * logger instance
- */
- private static final Logger log = LoggerFactory.getLogger(InternalValueFactory.class);
-
private static final QValueFactory INSTANCE = new InternalValueFactory(null);
private final DataStore store;
@@ -63,88 +45,6 @@
return INSTANCE;
}
- public QValue create(String value, int type) throws ValueFormatException, RepositoryException {
- if (value == null) {
- throw new IllegalArgumentException("Cannot create QValue from null value.");
- }
- try {
- switch (type) {
- case PropertyType.BOOLEAN:
- return InternalValue.create(Boolean.valueOf(value).booleanValue());
- case PropertyType.DATE: {
- Calendar cal = ISO8601.parse(value);
- if (cal == null) {
- throw new ValueFormatException("not a valid date: " + value);
- }
- return InternalValue.create(cal);
- }
- case PropertyType.DOUBLE:
- return InternalValue.create(Double.parseDouble(value));
- case PropertyType.LONG:
- return InternalValue.create(Long.parseLong(value));
- case PropertyType.DECIMAL:
- return InternalValue.create(new BigDecimal(value));
- case PropertyType.PATH:
- return InternalValue.create(PathFactoryImpl.getInstance().create(value));
- case PropertyType.NAME:
- return InternalValue.create(NameFactoryImpl.getInstance().create(value));
- case PropertyType.STRING:
- return InternalValue.create(value);
- case PropertyType.URI:
- return InternalValue.create(URI.create(value));
- case PropertyType.REFERENCE:
- return InternalValue.create(new NodeId(value));
- case PropertyType.WEAKREFERENCE:
- return InternalValue.create(new NodeId(value), true);
- case PropertyType.BINARY:
- return InternalValue.create(value.getBytes("UTF-8"));
- // default: invalid type specified -> see below.
- }
- } catch (NumberFormatException ex) {
- // given String value cannot be converted to Decimal
- throw new ValueFormatException(ex);
- } catch (IllegalArgumentException ex) {
- // given String value cannot be converted to Long/Double/Path/Name
- throw new ValueFormatException(ex);
- } catch (UnsupportedEncodingException ex) {
- throw new RepositoryException(ex);
- }
-
- // invalid type specified:
- throw new IllegalArgumentException("illegal type " + type); }
-
- public QValue create(Calendar value) throws RepositoryException {
- return InternalValue.create(value);
- }
-
- public QValue create(double value) throws RepositoryException {
- return InternalValue.create(value);
- }
-
- public QValue create(long value) throws RepositoryException {
- return InternalValue.create(value);
- }
-
- public QValue create(boolean value) throws RepositoryException {
- return InternalValue.create(value);
- }
-
- public QValue create(Name value) throws RepositoryException {
- return InternalValue.create(value);
- }
-
- public QValue create(Path value) throws RepositoryException {
- return InternalValue.create(value);
- }
-
- public QValue create(URI value) throws RepositoryException {
- return InternalValue.create(value);
- }
-
- public QValue create(BigDecimal value) throws RepositoryException {
- return InternalValue.create(value);
- }
-
public QValue create(byte[] value) throws RepositoryException {
return InternalValue.create(value);
}