Author: rhauch
Date: 2009-12-01 10:19:31 -0500 (Tue, 01 Dec 2009)
New Revision: 1373
Modified:
trunk/.gitignore
trunk/dna-common/src/main/java/org/jboss/dna/common/collection/AbstractProblems.java
trunk/dna-common/src/main/java/org/jboss/dna/common/collection/ImmutableProblems.java
trunk/dna-common/src/main/java/org/jboss/dna/common/collection/Problems.java
trunk/dna-common/src/main/java/org/jboss/dna/common/collection/SimpleProblems.java
trunk/dna-common/src/main/java/org/jboss/dna/common/collection/ThreadSafeProblems.java
trunk/dna-common/src/main/java/org/jboss/dna/common/component/ComponentLibrary.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/Location.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/LocationWithPath.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/LocationWithPathAndProperties.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/LocationWithPathAndProperty.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/LocationWithPathAndUuid.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/LocationWithProperties.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/LocationWithProperty.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/LocationWithUuid.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/connector/RepositorySourceCapabilities.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/connector/map/AbstractMapWorkspace.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/connector/map/MapRepository.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/connector/map/MapRepositoryConnection.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/connector/map/MapRequestProcessor.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/connector/map/MapWorkspace.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/QueryResults.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/AllNodes.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/And.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Between.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/BindVariableName.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/ChildNode.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/ChildNodeJoinCondition.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Column.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Command.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Comparison.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Constraint.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/DescendantNode.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/DescendantNodeJoinCondition.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/DynamicOperand.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/EquiJoinCondition.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/FullTextSearch.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/FullTextSearchScore.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Join.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/JoinCondition.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/LanguageObject.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Length.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Limit.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Literal.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/LowerCase.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/NamedSelector.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/NodeDepth.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/NodeLocalName.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/NodeName.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/NodePath.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Not.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Or.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Ordering.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/PropertyExistence.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/PropertyValue.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Query.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/QueryCommand.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/SameNode.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/SameNodeJoinCondition.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Selector.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/SelectorName.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/SetCriteria.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/SetQuery.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Source.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/StaticOperand.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/TypeSystem.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/UpperCase.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/optimize/RewriteAsRangeCriteria.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/plan/PlanHints.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/process/QueryResultColumns.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/process/QueryResults.java
trunk/dna-graph/src/main/java/org/jboss/dna/graph/request/processor/RequestProcessor.java
trunk/pom.xml
Log:
DNA-467 Made the abstract query model classes implement Serializable so they can be used
in Request objects. Also did the same for the Location and Problems class families.
Modified: trunk/.gitignore
===================================================================
--- trunk/.gitignore 2009-11-30 21:53:47 UTC (rev 1372)
+++ trunk/.gitignore 2009-12-01 15:19:31 UTC (rev 1373)
@@ -52,6 +52,7 @@
/extensions/dna-connector-infinispan/target
/extensions/dna-connector-jdbc-metadata/target
/extensions/dna-connector-store-jpa/target
+/extensions/dna-connector-store-lucene/target
/extensions/dna-connector-svn/target
/extensions/dna-mimetype-detector-aperture/.settings
/extensions/dna-mimetype-detector-aperture/target
Modified:
trunk/dna-common/src/main/java/org/jboss/dna/common/collection/AbstractProblems.java
===================================================================
---
trunk/dna-common/src/main/java/org/jboss/dna/common/collection/AbstractProblems.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-common/src/main/java/org/jboss/dna/common/collection/AbstractProblems.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -33,6 +33,7 @@
* were encountered (although this cannot be guaranteed in contexts involving multiple
threads or processes).
*/
public abstract class AbstractProblems implements Problems {
+ private static final long serialVersionUID = 1L;
protected static final List<Problem> EMPTY_PROBLEMS = Collections.emptyList();
Modified:
trunk/dna-common/src/main/java/org/jboss/dna/common/collection/ImmutableProblems.java
===================================================================
---
trunk/dna-common/src/main/java/org/jboss/dna/common/collection/ImmutableProblems.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-common/src/main/java/org/jboss/dna/common/collection/ImmutableProblems.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -34,6 +34,7 @@
@Immutable
public class ImmutableProblems implements Problems {
+ private static final long serialVersionUID = 1L;
private final Problems delegate;
public ImmutableProblems( Problems delegate ) {
Modified: trunk/dna-common/src/main/java/org/jboss/dna/common/collection/Problems.java
===================================================================
---
trunk/dna-common/src/main/java/org/jboss/dna/common/collection/Problems.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-common/src/main/java/org/jboss/dna/common/collection/Problems.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -23,6 +23,7 @@
*/
package org.jboss.dna.common.collection;
+import java.io.Serializable;
import java.util.Iterator;
import org.jboss.dna.common.i18n.I18n;
@@ -30,7 +31,7 @@
* An interface for a collection of {@link Problem} objects, with multiple overloaded
methods for adding errors, warnings, and
* informational messages.
*/
-public interface Problems extends Iterable<Problem> {
+public interface Problems extends Iterable<Problem>, Serializable {
/**
* Add an error message with the parameters that should be used when localizing the
message.
Modified:
trunk/dna-common/src/main/java/org/jboss/dna/common/collection/SimpleProblems.java
===================================================================
---
trunk/dna-common/src/main/java/org/jboss/dna/common/collection/SimpleProblems.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-common/src/main/java/org/jboss/dna/common/collection/SimpleProblems.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -34,6 +34,7 @@
*/
@NotThreadSafe
public class SimpleProblems extends AbstractProblems {
+ private static final long serialVersionUID = 1L;
private List<Problem> problems;
Modified:
trunk/dna-common/src/main/java/org/jboss/dna/common/collection/ThreadSafeProblems.java
===================================================================
---
trunk/dna-common/src/main/java/org/jboss/dna/common/collection/ThreadSafeProblems.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-common/src/main/java/org/jboss/dna/common/collection/ThreadSafeProblems.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -37,6 +37,7 @@
*/
@ThreadSafe
public class ThreadSafeProblems extends AbstractProblems {
+ private static final long serialVersionUID = 1L;
private final ReadWriteLock lock = new ReentrantReadWriteLock();
private final List<Problem> problems = new LinkedList<Problem>();
Modified:
trunk/dna-common/src/main/java/org/jboss/dna/common/component/ComponentLibrary.java
===================================================================
---
trunk/dna-common/src/main/java/org/jboss/dna/common/component/ComponentLibrary.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-common/src/main/java/org/jboss/dna/common/component/ComponentLibrary.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -40,9 +40,9 @@
/**
* Maintains the list of component instances for the system. This class does not actively
update the component configurations, but
- * is designed to properly maintain the sequencer instances when those configurations are
changed by other callers. If the
- * components are subclasses of {@link Component}, then they will be {@link
Component#setConfiguration(ComponentConfig)
- * configured} with the appropriate configuration.
+ * is designed to properly maintain the instances when those configurations are changed
by other callers. If the components are
+ * subclasses of {@link Component}, then they will be {@link
Component#setConfiguration(ComponentConfig) configured} with the
+ * appropriate configuration.
* <p>
* Therefore, this library does guarantee that the {@link #getInstances() instances} at
the time they are {@link #getInstances()
* obtained} are always reflected by the configurations.
@@ -106,7 +106,7 @@
}
/**
- * Set the Maven Repository that should be used to load the sequencer classes. Unless
changed, the library uses the
+ * Set the Maven Repository that should be used to load the component classes. Unless
changed, the library uses the
* {@link #DEFAULT default} class loader factory, which uses the {@link
Thread#getContextClassLoader() current thread's
* context class loader} if not null or the class loader that loaded the library
class.
*
@@ -120,7 +120,7 @@
}
/**
- * Add the configuration for a sequencer, or update any existing one that represents
the {@link ConfigType#equals(Object) same
+ * Add the configuration for a component, or update any existing one that represents
the {@link ConfigType#equals(Object) same
* configuration}
*
* @param config the new configuration
@@ -161,7 +161,25 @@
}
/**
- * Update the configuration for a sequencer, or add it if there is no {@link
ConfigType#equals(Object) matching configuration}
+ * Get the instance given by the configuration with the supplied name.
+ *
+ * @param name the configuration name
+ * @return the instance, or null if the configuration doesn't exist
+ */
+ public ComponentType getInstance( String name ) {
+ CheckArg.isNotNull(name, "name");
+ try {
+ this.lock.lock();
+ // Find an existing configuration that matches ...
+ int index = findIndexOfMatchingConfiguration(name);
+ return index >= 0 ? this.instances.get(index) : null;
+ } finally {
+ this.lock.unlock();
+ }
+ }
+
+ /**
+ * Update the configuration for a component, or add it if there is no {@link
ConfigType#equals(Object) matching configuration}
* .
*
* @param config the updated (or new) configuration
@@ -176,7 +194,7 @@
}
/**
- * Remove the configuration for a sequencer.
+ * Remove the configuration for a component.
*
* @param config the configuration to be removed
* @return true if the component was remove, or false if there was no existing
configuration
@@ -191,7 +209,7 @@
// Find an existing configuration that matches ...
int index = findIndexOfMatchingConfiguration(config);
if (index >= 0) {
- // Remove the configuration and the sequencer instance ...
+ // Remove the configuration and the component instance ...
this.configs.remove(index);
this.instances.remove(index);
return true;
@@ -226,21 +244,21 @@
}
/**
- * Return the list of sequencers.
+ * Return the list of components.
*
- * @return the unmodifiable list of sequencers; never null
+ * @return the unmodifiable list of components; never null
*/
public List<ComponentType> getInstances() {
return this.unmodifiableInstances;
}
/**
- * Instantiate, configure and return a new sequencer described by the supplied
configuration. This method does not manage the
+ * Instantiate, configure and return a new component described by the supplied
configuration. This method does not manage the
* returned instance.
*
- * @param config the configuration describing the sequencer
- * @return the new sequencer, or null if the sequencer could not be successfully
configured
- * @throws IllegalArgumentException if the sequencer could not be configured
properly
+ * @param config the configuration describing the component
+ * @return the new component, or null if the component could not be successfully
configured
+ * @throws IllegalArgumentException if the component could not be configured
properly
*/
@SuppressWarnings( "unchecked" )
protected ComponentType newInstance( ConfigType config ) {
@@ -288,7 +306,7 @@
}
/**
- * Find the index for the matching {@link #configs configuration} and {@link
#instances sequencer}.
+ * Find the index for the matching {@link #configs configuration} and {@link
#instances component}.
*
* @param config the configuration; may not be null
* @return the index, or -1 if not found
@@ -306,4 +324,22 @@
return -1;
}
+ /**
+ * Find the index for the matching {@link #configs configuration} and {@link
#instances component}.
+ *
+ * @param name the configuration name; may not be null
+ * @return the index, or -1 if not found
+ */
+ @GuardedBy( value = "lock" )
+ protected int findIndexOfMatchingConfiguration( String name ) {
+ // Iterate through the configurations and look for an existing one that matches
+ for (int i = 0, length = this.configs.size(); i != length; i++) {
+ ConfigType existingConfig = this.configs.get(i);
+ assert existingConfig != null;
+ if (existingConfig.getName().equals(name)) {
+ return i;
+ }
+ }
+ return -1;
+ }
}
Modified: trunk/dna-graph/src/main/java/org/jboss/dna/graph/Location.java
===================================================================
--- trunk/dna-graph/src/main/java/org/jboss/dna/graph/Location.java 2009-11-30 21:53:47
UTC (rev 1372)
+++ trunk/dna-graph/src/main/java/org/jboss/dna/graph/Location.java 2009-12-01 15:19:31
UTC (rev 1373)
@@ -23,6 +23,7 @@
*/
package org.jboss.dna.graph;
+import java.io.Serializable;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.HashSet;
@@ -45,8 +46,10 @@
* in this base class to allow immutable subclasses to calculate and cache the hash code
during object construction.
*/
@Immutable
-public abstract class Location implements Iterable<Property>,
Comparable<Location> {
+public abstract class Location implements Iterable<Property>,
Comparable<Location>, Serializable {
+ private static final long serialVersionUID = 1L;
+
private static final Comparator<Location> COMPARATOR = new
Comparator<Location>() {
/**
* {@inheritDoc}
Modified: trunk/dna-graph/src/main/java/org/jboss/dna/graph/LocationWithPath.java
===================================================================
--- trunk/dna-graph/src/main/java/org/jboss/dna/graph/LocationWithPath.java 2009-11-30
21:53:47 UTC (rev 1372)
+++ trunk/dna-graph/src/main/java/org/jboss/dna/graph/LocationWithPath.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -41,6 +41,8 @@
@Immutable
class LocationWithPath extends Location {
+ private static final long serialVersionUID = 1L;
+
private final Path path;
private final int hashCode;
Modified:
trunk/dna-graph/src/main/java/org/jboss/dna/graph/LocationWithPathAndProperties.java
===================================================================
---
trunk/dna-graph/src/main/java/org/jboss/dna/graph/LocationWithPathAndProperties.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-graph/src/main/java/org/jboss/dna/graph/LocationWithPathAndProperties.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -27,9 +27,7 @@
import java.util.Collections;
import java.util.List;
import java.util.UUID;
-
import net.jcip.annotations.Immutable;
-
import org.jboss.dna.graph.property.Path;
import org.jboss.dna.graph.property.Property;
import org.jboss.dna.graph.property.basic.BasicSingleValueProperty;
@@ -43,6 +41,8 @@
@Immutable
class LocationWithPathAndProperties extends LocationWithPath {
+ private static final long serialVersionUID = 1L;
+
private final List<Property> idProperties;
/**
@@ -53,7 +53,7 @@
*/
LocationWithPathAndProperties( Path path,
List<Property> idProperties ) {
- super(path);
+ super(path);
assert idProperties != null;
assert !idProperties.isEmpty();
this.idProperties = Collections.unmodifiableList(idProperties);
Modified:
trunk/dna-graph/src/main/java/org/jboss/dna/graph/LocationWithPathAndProperty.java
===================================================================
---
trunk/dna-graph/src/main/java/org/jboss/dna/graph/LocationWithPathAndProperty.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-graph/src/main/java/org/jboss/dna/graph/LocationWithPathAndProperty.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -41,6 +41,8 @@
@Immutable
class LocationWithPathAndProperty extends LocationWithPathAndProperties {
+ private static final long serialVersionUID = 1L;
+
/**
* Create a new location with a given path and identification property.
*
@@ -84,14 +86,14 @@
/**
* {@inheritDoc}
- *
+ *
* @see org.jboss.dna.graph.LocationWithPathAndProperties#hasIdProperties()
*/
@Override
public final boolean hasIdProperties() {
return true;
}
-
+
/**
* {@inheritDoc}
*
Modified: trunk/dna-graph/src/main/java/org/jboss/dna/graph/LocationWithPathAndUuid.java
===================================================================
---
trunk/dna-graph/src/main/java/org/jboss/dna/graph/LocationWithPathAndUuid.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-graph/src/main/java/org/jboss/dna/graph/LocationWithPathAndUuid.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -38,6 +38,8 @@
@Immutable
final class LocationWithPathAndUuid extends LocationWithPathAndProperty {
+ private static final long serialVersionUID = 1L;
+
private final UUID uuid;
/**
Modified: trunk/dna-graph/src/main/java/org/jboss/dna/graph/LocationWithProperties.java
===================================================================
---
trunk/dna-graph/src/main/java/org/jboss/dna/graph/LocationWithProperties.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-graph/src/main/java/org/jboss/dna/graph/LocationWithProperties.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -42,6 +42,8 @@
@Immutable
class LocationWithProperties extends Location {
+ private static final long serialVersionUID = 1L;
+
private final List<Property> idProperties;
private final int hashCode;
Modified: trunk/dna-graph/src/main/java/org/jboss/dna/graph/LocationWithProperty.java
===================================================================
--- trunk/dna-graph/src/main/java/org/jboss/dna/graph/LocationWithProperty.java 2009-11-30
21:53:47 UTC (rev 1372)
+++ trunk/dna-graph/src/main/java/org/jboss/dna/graph/LocationWithProperty.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -43,6 +43,8 @@
@Immutable
final class LocationWithProperty extends LocationWithProperties {
+ private static final long serialVersionUID = 1L;
+
/**
* Create a new location with a given path and identification property.
*
Modified: trunk/dna-graph/src/main/java/org/jboss/dna/graph/LocationWithUuid.java
===================================================================
--- trunk/dna-graph/src/main/java/org/jboss/dna/graph/LocationWithUuid.java 2009-11-30
21:53:47 UTC (rev 1372)
+++ trunk/dna-graph/src/main/java/org/jboss/dna/graph/LocationWithUuid.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -41,6 +41,8 @@
@Immutable
final class LocationWithUuid extends Location {
+ private static final long serialVersionUID = 1L;
+
private final UUID uuid;
private final int hashCode;
private final List<Property> properties;
Modified:
trunk/dna-graph/src/main/java/org/jboss/dna/graph/connector/RepositorySourceCapabilities.java
===================================================================
---
trunk/dna-graph/src/main/java/org/jboss/dna/graph/connector/RepositorySourceCapabilities.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-graph/src/main/java/org/jboss/dna/graph/connector/RepositorySourceCapabilities.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -55,11 +55,21 @@
public static final boolean DEFAULT_SUPPORT_CREATING_WORKSPACES = false;
/**
- * The default support for creating workspaces is {@value} .
+ * The default support for references is {@value} .
*/
public static final boolean DEFAULT_SUPPORT_REFERENCES = true;
/**
+ * The default support for querying workspaces is {@value} .
+ */
+ public static final boolean DEFAULT_SUPPORT_QUERIES = false;
+
+ /**
+ * The default support for searching workspaces is {@value} .
+ */
+ public static final boolean DEFAULT_SUPPORT_SEARCHES = false;
+
+ /**
* The default support for creating locks is {@value} .
*/
public static final boolean DEFAULT_SUPPORT_LOCKS = false;
@@ -69,19 +79,23 @@
private final boolean events;
private final boolean creatingWorkspaces;
private final boolean references;
+ private final boolean locks;
+ private final boolean queries;
+ private final boolean searches;
/**
* Create a capabilities object using the defaults, .
*/
public RepositorySourceCapabilities() {
this(DEFAULT_SUPPORT_SAME_NAME_SIBLINGS, DEFAULT_SUPPORT_UPDATES,
DEFAULT_SUPPORT_EVENTS,
- DEFAULT_SUPPORT_CREATING_WORKSPACES, DEFAULT_SUPPORT_REFERENCES);
+ DEFAULT_SUPPORT_CREATING_WORKSPACES, DEFAULT_SUPPORT_REFERENCES,
DEFAULT_SUPPORT_LOCKS, DEFAULT_SUPPORT_QUERIES,
+ DEFAULT_SUPPORT_SEARCHES);
}
public RepositorySourceCapabilities( boolean supportsSameNameSiblings,
boolean supportsUpdates ) {
this(supportsSameNameSiblings, supportsUpdates, DEFAULT_SUPPORT_EVENTS,
DEFAULT_SUPPORT_CREATING_WORKSPACES,
- DEFAULT_SUPPORT_REFERENCES);
+ DEFAULT_SUPPORT_REFERENCES, DEFAULT_SUPPORT_LOCKS, DEFAULT_SUPPORT_QUERIES,
DEFAULT_SUPPORT_SEARCHES);
}
public RepositorySourceCapabilities( boolean supportsSameNameSiblings,
@@ -89,12 +103,27 @@
boolean supportsEvents,
boolean supportsCreatingWorkspaces,
boolean supportsReferences ) {
+ this(supportsSameNameSiblings, supportsUpdates, supportsEvents,
supportsCreatingWorkspaces, supportsReferences,
+ DEFAULT_SUPPORT_LOCKS, DEFAULT_SUPPORT_QUERIES, DEFAULT_SUPPORT_SEARCHES);
+ }
+ public RepositorySourceCapabilities( boolean supportsSameNameSiblings,
+ boolean supportsUpdates,
+ boolean supportsEvents,
+ boolean supportsCreatingWorkspaces,
+ boolean supportsReferences,
+ boolean supportsLocks,
+ boolean supportsQueries,
+ boolean supportsSearches ) {
+
this.sameNameSiblings = supportsSameNameSiblings;
this.updates = supportsUpdates;
this.events = supportsEvents;
this.creatingWorkspaces = supportsCreatingWorkspaces;
this.references = supportsReferences;
+ this.locks = supportsLocks;
+ this.queries = supportsQueries;
+ this.searches = supportsSearches;
}
/**
@@ -143,4 +172,31 @@
public boolean supportsCreatingWorkspaces() {
return creatingWorkspaces;
}
+
+ /**
+ * Return whether the source supports creating locks.
+ *
+ * @return true if locks are supported, or false if the source is not capable of
creating locks
+ */
+ public boolean supportsLocks() {
+ return locks;
+ }
+
+ /**
+ * Return whether the source supports queries.
+ *
+ * @return true if queries are supported, or false if the source is not capable of
querying content
+ */
+ public boolean supportsQueries() {
+ return queries;
+ }
+
+ /**
+ * Return whether the source supports full-text searches.
+ *
+ * @return true if searches are supported, or false if the source is not capable of
searching content
+ */
+ public boolean supportsSearches() {
+ return searches;
+ }
}
Modified:
trunk/dna-graph/src/main/java/org/jboss/dna/graph/connector/map/AbstractMapWorkspace.java
===================================================================
---
trunk/dna-graph/src/main/java/org/jboss/dna/graph/connector/map/AbstractMapWorkspace.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-graph/src/main/java/org/jboss/dna/graph/connector/map/AbstractMapWorkspace.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -48,6 +48,8 @@
import org.jboss.dna.graph.property.ValueFactory;
import org.jboss.dna.graph.property.Path.Segment;
import org.jboss.dna.graph.property.basic.RootPath;
+import org.jboss.dna.graph.query.QueryResults;
+import org.jboss.dna.graph.query.model.QueryCommand;
/**
* A default implementation of {@link MapWorkspace} that only requires the user to
implement some simple, map-like operations.
@@ -620,6 +622,27 @@
}
/**
+ * {@inheritDoc}
+ *
+ * @see
org.jboss.dna.graph.connector.map.MapWorkspace#query(org.jboss.dna.graph.ExecutionContext,
+ * org.jboss.dna.graph.query.model.QueryCommand)
+ */
+ public QueryResults query( ExecutionContext context,
+ QueryCommand command ) {
+ return null;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see
org.jboss.dna.graph.connector.map.MapWorkspace#search(org.jboss.dna.graph.ExecutionContext,
java.lang.String)
+ */
+ public QueryResults search( ExecutionContext context,
+ String fullTextSearchExpression ) {
+ return null;
+ }
+
+ /**
* Returns all of the UUIDs in the branch rooted at {@code node}. The UUID of {@code
node} <i>will</i> be included in the set
* of returned UUIDs.
*
Modified:
trunk/dna-graph/src/main/java/org/jboss/dna/graph/connector/map/MapRepository.java
===================================================================
---
trunk/dna-graph/src/main/java/org/jboss/dna/graph/connector/map/MapRepository.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-graph/src/main/java/org/jboss/dna/graph/connector/map/MapRepository.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -57,8 +57,8 @@
* @param rootNodeUuid the UUID that will be used as the root node UUID for each
workspace in the repository; may not be null
* or empty
*/
- public MapRepository( String sourceName,
- UUID rootNodeUuid ) {
+ protected MapRepository( String sourceName,
+ UUID rootNodeUuid ) {
this(sourceName, rootNodeUuid, null);
}
@@ -71,9 +71,9 @@
* or empty
* @param defaultWorkspaceName the name of the default, auto-created workspace
*/
- public MapRepository( String sourceName,
- UUID rootNodeUuid,
- String defaultWorkspaceName ) {
+ protected MapRepository( String sourceName,
+ UUID rootNodeUuid,
+ String defaultWorkspaceName ) {
CheckArg.isNotEmpty(sourceName, "sourceName");
CheckArg.isNotNull(rootNodeUuid, "rootNodeUUID");
this.rootNodeUuid = rootNodeUuid;
Modified:
trunk/dna-graph/src/main/java/org/jboss/dna/graph/connector/map/MapRepositoryConnection.java
===================================================================
---
trunk/dna-graph/src/main/java/org/jboss/dna/graph/connector/map/MapRepositoryConnection.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-graph/src/main/java/org/jboss/dna/graph/connector/map/MapRepositoryConnection.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -101,7 +101,8 @@
sw.start();
}
// Do any commands update/write?
- RequestProcessor processor = new MapRequestProcessor(context, this.repository,
this.source.getRepositoryContext());
+ RequestProcessor processor = new MapRequestProcessor(context, this.repository,
this.source.getRepositoryContext()
+
.getObserver());
Lock lock = request.isReadOnly() ? repository.getLock().readLock() :
repository.getLock().writeLock();
lock.lock();
@@ -131,5 +132,4 @@
public String toString() {
return "Connection to the \"" + getSourceName() + "\"
" + repository.getClass().getSimpleName();
}
-
}
Modified:
trunk/dna-graph/src/main/java/org/jboss/dna/graph/connector/map/MapRequestProcessor.java
===================================================================
---
trunk/dna-graph/src/main/java/org/jboss/dna/graph/connector/map/MapRequestProcessor.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-graph/src/main/java/org/jboss/dna/graph/connector/map/MapRequestProcessor.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -38,7 +38,7 @@
import org.jboss.dna.graph.GraphI18n;
import org.jboss.dna.graph.JcrLexicon;
import org.jboss.dna.graph.Location;
-import org.jboss.dna.graph.connector.RepositoryContext;
+import org.jboss.dna.graph.observe.Observer;
import org.jboss.dna.graph.property.Name;
import org.jboss.dna.graph.property.Path;
import org.jboss.dna.graph.property.PathFactory;
@@ -46,6 +46,7 @@
import org.jboss.dna.graph.property.Property;
import org.jboss.dna.graph.property.PropertyFactory;
import org.jboss.dna.graph.property.Path.Segment;
+import org.jboss.dna.graph.query.QueryResults;
import org.jboss.dna.graph.request.CloneBranchRequest;
import org.jboss.dna.graph.request.CloneWorkspaceRequest;
import org.jboss.dna.graph.request.CopyBranchRequest;
@@ -53,10 +54,12 @@
import org.jboss.dna.graph.request.CreateWorkspaceRequest;
import org.jboss.dna.graph.request.DeleteBranchRequest;
import org.jboss.dna.graph.request.DestroyWorkspaceRequest;
+import org.jboss.dna.graph.request.FullTextSearchRequest;
import org.jboss.dna.graph.request.GetWorkspacesRequest;
import org.jboss.dna.graph.request.InvalidWorkspaceException;
import org.jboss.dna.graph.request.LockBranchRequest;
import org.jboss.dna.graph.request.MoveBranchRequest;
+import org.jboss.dna.graph.request.QueryRequest;
import org.jboss.dna.graph.request.ReadAllChildrenRequest;
import org.jboss.dna.graph.request.ReadAllPropertiesRequest;
import org.jboss.dna.graph.request.Request;
@@ -75,8 +78,8 @@
public MapRequestProcessor( ExecutionContext context,
MapRepository repository,
- RepositoryContext repositoryContext ) {
- super(repository.getSourceName(), context, repositoryContext != null ?
repositoryContext.getObserver() : null);
+ Observer observer ) {
+ super(repository.getSourceName(), context, observer);
this.repository = repository;
pathFactory = context.getValueFactories().getPathFactory();
propertyFactory = context.getPropertyFactory();
@@ -491,6 +494,42 @@
}
}
+ /**
+ * {@inheritDoc}
+ *
+ * @see
org.jboss.dna.graph.request.processor.RequestProcessor#process(org.jboss.dna.graph.request.QueryRequest)
+ */
+ @Override
+ public void process( QueryRequest request ) {
+ MapWorkspace workspace = getWorkspace(request, request.workspace());
+ if (workspace == null) return;
+ final ExecutionContext context = getExecutionContext();
+ QueryResults results = workspace.query(context, request.query());
+ if (results != null) {
+ request.setResults(results);
+ } else {
+ super.processUnknownRequest(request);
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see
org.jboss.dna.graph.request.processor.RequestProcessor#process(org.jboss.dna.graph.request.FullTextSearchRequest)
+ */
+ @Override
+ public void process( FullTextSearchRequest request ) {
+ MapWorkspace workspace = getWorkspace(request, request.workspace());
+ if (workspace == null) return;
+ final ExecutionContext context = getExecutionContext();
+ QueryResults results = workspace.search(context, request.expression());
+ if (results != null) {
+ request.setResults(results);
+ } else {
+ super.processUnknownRequest(request);
+ }
+ }
+
protected Location getActualLocation( Location location,
MapNode node ) {
Path path = location.getPath();
Modified:
trunk/dna-graph/src/main/java/org/jboss/dna/graph/connector/map/MapWorkspace.java
===================================================================
---
trunk/dna-graph/src/main/java/org/jboss/dna/graph/connector/map/MapWorkspace.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-graph/src/main/java/org/jboss/dna/graph/connector/map/MapWorkspace.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -33,6 +33,8 @@
import org.jboss.dna.graph.property.Path;
import org.jboss.dna.graph.property.PathFactory;
import org.jboss.dna.graph.property.Property;
+import org.jboss.dna.graph.query.QueryResults;
+import org.jboss.dna.graph.query.model.QueryCommand;
import org.jboss.dna.graph.request.LockBranchRequest.LockScope;
/**
@@ -89,7 +91,7 @@
* @return whether a node was removed as a result of this operation
*/
boolean removeNode( ExecutionContext context,
- MapNode node );
+ MapNode node );
/**
* Create a node at the supplied path. The parent of the new node must already
exist.
@@ -226,4 +228,24 @@
*/
Path pathFor( PathFactory pathFactory,
MapNode node );
+
+ /**
+ * Perform a query of this workspace.
+ *
+ * @param context the context in which the query is to be executed; may not be null
+ * @param command the query command; may not be null
+ * @return the query results, or null if the query is not supported
+ */
+ QueryResults query( ExecutionContext context,
+ QueryCommand command );
+
+ /**
+ * Perform a full-text search of this workspace.
+ *
+ * @param context the context in which the query is to be executed; may not be null
+ * @param fullTextSearchExpression the full-text search expression; may not be null
+ * @return the query results, or null if the query is not supported
+ */
+ QueryResults search( ExecutionContext context,
+ String fullTextSearchExpression );
}
Modified: trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/QueryResults.java
===================================================================
--- trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/QueryResults.java 2009-11-30
21:53:47 UTC (rev 1372)
+++ trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/QueryResults.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -23,6 +23,7 @@
*/
package org.jboss.dna.graph.query;
+import java.io.Serializable;
import java.text.DecimalFormat;
import java.util.List;
import java.util.NoSuchElementException;
@@ -33,22 +34,14 @@
import org.jboss.dna.graph.Location;
import org.jboss.dna.graph.query.model.Column;
import org.jboss.dna.graph.query.model.QueryCommand;
-import org.jboss.dna.graph.query.model.TypeSystem;
/**
* The resulting output of a query.
*/
@Immutable
-public interface QueryResults {
+public interface QueryResults extends Serializable {
/**
- * Get the type system used to evaluate the query.
- *
- * @return the type system; never null
- */
- public TypeSystem getTypeSystem();
-
- /**
* Get the original query command.
*
* @return the query; never null
@@ -186,7 +179,7 @@
* the tuples.
*/
@Immutable
- public interface Columns {
+ public interface Columns extends Serializable {
/**
* Get the columns.
*
@@ -365,7 +358,10 @@
public Columns subSelect( Column... columns );
}
- public static class Statistics implements Comparable<Statistics> {
+ @Immutable
+ public static class Statistics implements Comparable<Statistics>, Serializable
{
+ private static final long serialVersionUID = 1L;
+
protected static final Statistics EMPTY_STATISTICS = new Statistics();
private final long planningNanos;
Modified: trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/AllNodes.java
===================================================================
--- trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/AllNodes.java 2009-11-30
21:53:47 UTC (rev 1372)
+++ trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/AllNodes.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -32,6 +32,8 @@
@Immutable
public class AllNodes extends Selector {
+ private static final long serialVersionUID = 1L;
+
public static final SelectorName ALL_NODES_NAME = new
SelectorName("__ALLNODES__");
public AllNodes() {
Modified: trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/And.java
===================================================================
--- trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/And.java 2009-11-30
21:53:47 UTC (rev 1372)
+++ trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/And.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -33,6 +33,8 @@
@Immutable
public class And extends Constraint {
+ private static final long serialVersionUID = 1L;
+
private final Constraint left;
private final Constraint right;
private final int hc;
Modified: trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Between.java
===================================================================
--- trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Between.java 2009-11-30
21:53:47 UTC (rev 1372)
+++ trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Between.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -33,6 +33,8 @@
@Immutable
public class Between extends Constraint {
+ private static final long serialVersionUID = 1L;
+
private final DynamicOperand operand;
private final StaticOperand lowerBound;
private final StaticOperand upperBound;
Modified:
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/BindVariableName.java
===================================================================
---
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/BindVariableName.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/BindVariableName.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -32,6 +32,8 @@
@Immutable
public class BindVariableName extends StaticOperand {
+ private static final long serialVersionUID = 1L;
+
private final String variableName;
public BindVariableName( String variableName ) {
Modified: trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/ChildNode.java
===================================================================
---
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/ChildNode.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/ChildNode.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -32,6 +32,8 @@
*/
@Immutable
public class ChildNode extends Constraint {
+ private static final long serialVersionUID = 1L;
+
private final SelectorName selectorName;
private final String parentPath;
private final int hc;
Modified:
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/ChildNodeJoinCondition.java
===================================================================
---
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/ChildNodeJoinCondition.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/ChildNodeJoinCondition.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -32,6 +32,8 @@
*/
@Immutable
public class ChildNodeJoinCondition extends JoinCondition {
+ private static final long serialVersionUID = 1L;
+
private final SelectorName childSelectorName;
private final SelectorName parentSelectorName;
private final int hc;
Modified: trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Column.java
===================================================================
--- trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Column.java 2009-11-30
21:53:47 UTC (rev 1372)
+++ trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Column.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -32,6 +32,7 @@
*/
@Immutable
public class Column implements LanguageObject {
+ private static final long serialVersionUID = 1L;
private final SelectorName selectorName;
private final String propertyName;
Modified: trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Command.java
===================================================================
--- trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Command.java 2009-11-30
21:53:47 UTC (rev 1372)
+++ trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Command.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -27,5 +27,5 @@
* Represents the abstract base class for all top-level language objects that are the
root of a language object tree.
*/
public abstract class Command implements LanguageObject {
-
+ private static final long serialVersionUID = 1L;
}
Modified: trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Comparison.java
===================================================================
---
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Comparison.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Comparison.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -33,6 +33,8 @@
@Immutable
public class Comparison extends Constraint {
+ private static final long serialVersionUID = 1L;
+
private final DynamicOperand operand1;
private final StaticOperand operand2;
private final Operator operator;
Modified: trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Constraint.java
===================================================================
---
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Constraint.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Constraint.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -30,5 +30,5 @@
*/
@Immutable
public abstract class Constraint implements LanguageObject {
-
+ private static final long serialVersionUID = 1L;
}
Modified:
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/DescendantNode.java
===================================================================
---
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/DescendantNode.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/DescendantNode.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -31,6 +31,8 @@
*/
@Immutable
public class DescendantNode extends Constraint {
+ private static final long serialVersionUID = 1L;
+
private final SelectorName selectorName;
private final String ancestorPath;
Modified:
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/DescendantNodeJoinCondition.java
===================================================================
---
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/DescendantNodeJoinCondition.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/DescendantNodeJoinCondition.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -32,6 +32,8 @@
*/
@Immutable
public class DescendantNodeJoinCondition extends JoinCondition {
+ private static final long serialVersionUID = 1L;
+
private final SelectorName descendantSelectorName;
private final SelectorName ancestorSelectorName;
private final int hc;
Modified:
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/DynamicOperand.java
===================================================================
---
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/DynamicOperand.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/DynamicOperand.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -30,6 +30,7 @@
*/
@Immutable
public abstract class DynamicOperand implements LanguageObject {
+ private static final long serialVersionUID = 1L;
/**
* Get the selector symbol to which this operand applies.
Modified:
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/EquiJoinCondition.java
===================================================================
---
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/EquiJoinCondition.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/EquiJoinCondition.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -38,6 +38,8 @@
*/
@Immutable
public class EquiJoinCondition extends JoinCondition {
+ private static final long serialVersionUID = 1L;
+
private final SelectorName selector1Name;
private final String property1Name;
private final SelectorName selector2Name;
Modified:
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/FullTextSearch.java
===================================================================
---
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/FullTextSearch.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/FullTextSearch.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -38,6 +38,8 @@
*/
@Immutable
public class FullTextSearch extends Constraint {
+ private static final long serialVersionUID = 1L;
+
private final SelectorName selectorName;
private final String propertyName;
private final String fullTextSearchExpression;
Modified:
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/FullTextSearchScore.java
===================================================================
---
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/FullTextSearchScore.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/FullTextSearchScore.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -32,6 +32,8 @@
*/
@Immutable
public class FullTextSearchScore extends DynamicOperand {
+ private static final long serialVersionUID = 1L;
+
private final SelectorName selectorName;
/**
Modified: trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Join.java
===================================================================
--- trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Join.java 2009-11-30
21:53:47 UTC (rev 1372)
+++ trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Join.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -32,6 +32,7 @@
*/
@Immutable
public class Join extends Source {
+ private static final long serialVersionUID = 1L;
private final Source left;
private final Source right;
Modified:
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/JoinCondition.java
===================================================================
---
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/JoinCondition.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/JoinCondition.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -30,5 +30,5 @@
*/
@Immutable
public abstract class JoinCondition implements LanguageObject {
-
+ private static final long serialVersionUID = 1L;
}
Modified:
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/LanguageObject.java
===================================================================
---
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/LanguageObject.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/LanguageObject.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -23,8 +23,10 @@
*/
package org.jboss.dna.graph.query.model;
+import java.io.Serializable;
+
/**
* A common interface for all query language objects.
*/
-public interface LanguageObject extends Visitable {
+public interface LanguageObject extends Visitable, Serializable {
}
Modified: trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Length.java
===================================================================
--- trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Length.java 2009-11-30
21:53:47 UTC (rev 1372)
+++ trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Length.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -31,6 +31,8 @@
*/
@Immutable
public class Length extends DynamicOperand {
+ private static final long serialVersionUID = 1L;
+
private final PropertyValue propertyValue;
/**
Modified: trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Limit.java
===================================================================
--- trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Limit.java 2009-11-30
21:53:47 UTC (rev 1372)
+++ trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Limit.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -31,6 +31,7 @@
*/
@Immutable
public class Limit implements LanguageObject {
+ private static final long serialVersionUID = 1L;
public static final Limit NONE = new Limit(Integer.MAX_VALUE, 0);
Modified: trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Literal.java
===================================================================
--- trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Literal.java 2009-11-30
21:53:47 UTC (rev 1372)
+++ trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Literal.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -31,6 +31,7 @@
*/
@Immutable
public class Literal extends StaticOperand {
+ private static final long serialVersionUID = 1L;
private final Object value;
Modified: trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/LowerCase.java
===================================================================
---
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/LowerCase.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/LowerCase.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -32,6 +32,8 @@
*/
@Immutable
public class LowerCase extends DynamicOperand {
+ private static final long serialVersionUID = 1L;
+
private final DynamicOperand operand;
/**
Modified:
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/NamedSelector.java
===================================================================
---
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/NamedSelector.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/NamedSelector.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -31,6 +31,7 @@
*/
@Immutable
public class NamedSelector extends Selector {
+ private static final long serialVersionUID = 1L;
/**
* Create a selector with a name.
Modified: trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/NodeDepth.java
===================================================================
---
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/NodeDepth.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/NodeDepth.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -31,6 +31,8 @@
*/
@Immutable
public class NodeDepth extends DynamicOperand {
+ private static final long serialVersionUID = 1L;
+
private final SelectorName selectorName;
/**
Modified:
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/NodeLocalName.java
===================================================================
---
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/NodeLocalName.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/NodeLocalName.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -31,6 +31,8 @@
*/
@Immutable
public class NodeLocalName extends DynamicOperand {
+ private static final long serialVersionUID = 1L;
+
private final SelectorName selectorName;
/**
Modified: trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/NodeName.java
===================================================================
--- trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/NodeName.java 2009-11-30
21:53:47 UTC (rev 1372)
+++ trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/NodeName.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -31,6 +31,8 @@
*/
@Immutable
public class NodeName extends DynamicOperand {
+ private static final long serialVersionUID = 1L;
+
private final SelectorName selectorName;
/**
Modified: trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/NodePath.java
===================================================================
--- trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/NodePath.java 2009-11-30
21:53:47 UTC (rev 1372)
+++ trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/NodePath.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -31,6 +31,8 @@
*/
@Immutable
public class NodePath extends DynamicOperand {
+ private static final long serialVersionUID = 1L;
+
private final SelectorName selectorName;
/**
Modified: trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Not.java
===================================================================
--- trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Not.java 2009-11-30
21:53:47 UTC (rev 1372)
+++ trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Not.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -31,6 +31,7 @@
*/
@Immutable
public class Not extends Constraint {
+ private static final long serialVersionUID = 1L;
private final Constraint constraint;
Modified: trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Or.java
===================================================================
--- trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Or.java 2009-11-30
21:53:47 UTC (rev 1372)
+++ trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Or.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -32,6 +32,7 @@
*/
@Immutable
public class Or extends Constraint {
+ private static final long serialVersionUID = 1L;
private final Constraint left;
private final Constraint right;
Modified: trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Ordering.java
===================================================================
--- trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Ordering.java 2009-11-30
21:53:47 UTC (rev 1372)
+++ trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Ordering.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -31,6 +31,7 @@
*/
@Immutable
public class Ordering implements LanguageObject {
+ private static final long serialVersionUID = 1L;
private final DynamicOperand operand;
private final Order order;
Modified:
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/PropertyExistence.java
===================================================================
---
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/PropertyExistence.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/PropertyExistence.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -32,6 +32,8 @@
*/
@Immutable
public class PropertyExistence extends Constraint {
+ private static final long serialVersionUID = 1L;
+
private final SelectorName selectorName;
private final String propertyName;
private final int hc;
Modified:
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/PropertyValue.java
===================================================================
---
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/PropertyValue.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/PropertyValue.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -32,6 +32,8 @@
*/
@Immutable
public class PropertyValue extends DynamicOperand {
+ private static final long serialVersionUID = 1L;
+
private final SelectorName selectorName;
private final String propertyName;
private final int hc;
Modified: trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Query.java
===================================================================
--- trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Query.java 2009-11-30
21:53:47 UTC (rev 1372)
+++ trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Query.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -37,6 +37,7 @@
*/
@Immutable
public class Query extends QueryCommand {
+ private static final long serialVersionUID = 1L;
public static final boolean IS_DISTINCT_DEFAULT = false;
Modified: trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/QueryCommand.java
===================================================================
---
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/QueryCommand.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/QueryCommand.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -30,6 +30,7 @@
* Represents the abstract base class for all query commands. Subclasses include {@link
Query} and {@link SetQuery}.
*/
public abstract class QueryCommand extends Command {
+ private static final long serialVersionUID = 1L;
private final List<Ordering> orderings;
private final Limit limits;
Modified: trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/SameNode.java
===================================================================
--- trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/SameNode.java 2009-11-30
21:53:47 UTC (rev 1372)
+++ trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/SameNode.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -32,6 +32,8 @@
*/
@Immutable
public class SameNode extends Constraint {
+ private static final long serialVersionUID = 1L;
+
private final SelectorName selectorName;
private final String path;
private final int hc;
Modified:
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/SameNodeJoinCondition.java
===================================================================
---
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/SameNodeJoinCondition.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/SameNodeJoinCondition.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -34,6 +34,8 @@
*/
@Immutable
public class SameNodeJoinCondition extends JoinCondition {
+ private static final long serialVersionUID = 1L;
+
private final SelectorName selector1Name;
private final SelectorName selector2Name;
private final String selector2Path;
Modified: trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Selector.java
===================================================================
--- trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Selector.java 2009-11-30
21:53:47 UTC (rev 1372)
+++ trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Selector.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -31,6 +31,7 @@
*/
@Immutable
public abstract class Selector extends Source {
+ private static final long serialVersionUID = 1L;
private final SelectorName name;
private final SelectorName alias;
Modified: trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/SelectorName.java
===================================================================
---
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/SelectorName.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/SelectorName.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -23,6 +23,7 @@
*/
package org.jboss.dna.graph.query.model;
+import java.io.Serializable;
import net.jcip.annotations.Immutable;
import org.jboss.dna.common.util.CheckArg;
@@ -30,7 +31,8 @@
* A representation of a qualified or expanded name.
*/
@Immutable
-public class SelectorName implements Readable {
+public class SelectorName implements Readable, Serializable {
+ private static final long serialVersionUID = 1L;
private final String name;
Modified: trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/SetCriteria.java
===================================================================
---
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/SetCriteria.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/SetCriteria.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -34,6 +34,7 @@
*/
@Immutable
public class SetCriteria extends Constraint {
+ private static final long serialVersionUID = 1L;
private final DynamicOperand left;
private final Collection<StaticOperand> setOperands;
Modified: trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/SetQuery.java
===================================================================
--- trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/SetQuery.java 2009-11-30
21:53:47 UTC (rev 1372)
+++ trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/SetQuery.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -44,6 +44,7 @@
*/
@Immutable
public class SetQuery extends QueryCommand {
+ private static final long serialVersionUID = 1L;
public enum Operation implements Readable {
UNION("UNION"),
Modified: trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Source.java
===================================================================
--- trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Source.java 2009-11-30
21:53:47 UTC (rev 1372)
+++ trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/Source.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -30,5 +30,5 @@
*/
@Immutable
public abstract class Source implements LanguageObject {
-
+ private static final long serialVersionUID = 1L;
}
Modified:
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/StaticOperand.java
===================================================================
---
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/StaticOperand.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/StaticOperand.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -30,5 +30,5 @@
*/
@Immutable
public abstract class StaticOperand implements LanguageObject {
-
+ private static final long serialVersionUID = 1L;
}
Modified: trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/TypeSystem.java
===================================================================
---
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/TypeSystem.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/TypeSystem.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -29,29 +29,81 @@
import org.jboss.dna.graph.property.ValueFormatException;
/**
- *
+ * An interface that defines the value types used in tuples.
*/
@Immutable
public interface TypeSystem {
+ /**
+ * Get the type factory given the name of the type.
+ *
+ * @param typeName the name of the type
+ * @return the type factory, or null if there is no such type in this system
+ */
TypeFactory<?> getTypeFactory( String typeName );
+ /**
+ * Get the type factory for the type denoted by the supplied prototype value.
+ *
+ * @param prototype the value whose type is to be identified
+ * @return the type factory, or null if there is no such type in this system
+ */
TypeFactory<?> getTypeFactory( Object prototype );
+ /**
+ * Get the type factory for boolean types.
+ *
+ * @return the boolean factory; never null
+ */
TypeFactory<Boolean> getBooleanFactory();
+ /**
+ * Get the type factory for long types.
+ *
+ * @return the long factory; never null
+ */
TypeFactory<Long> getLongFactory();
+ /**
+ * Get the type factory for string types.
+ *
+ * @return the string factory; never null
+ */
TypeFactory<String> getStringFactory();
+ /**
+ * Get the type factory for double types.
+ *
+ * @return the double factory; never null
+ */
TypeFactory<Double> getDoubleFactory();
+ /**
+ * Get the type factory for date-time objects.
+ *
+ * @return the date-time factory, or null if this type system doesn't support
date-time objects
+ */
TypeFactory<?> getDateTimeFactory();
+ /**
+ * Get the type factory for path objects.
+ *
+ * @return the path factory, or null if this type system doesn't support path
objects
+ */
TypeFactory<?> getPathFactory();
+ /**
+ * Get the name of the type that is used by default.
+ *
+ * @return the default type name; never null
+ */
String getDefaultType();
+ /**
+ * Get the comparator that should be used by default.
+ *
+ * @return the default comparator; never null
+ */
Comparator<Object> getDefaultComparator();
/**
Modified: trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/UpperCase.java
===================================================================
---
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/UpperCase.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/model/UpperCase.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -32,6 +32,8 @@
*/
@Immutable
public class UpperCase extends DynamicOperand {
+ private static final long serialVersionUID = 1L;
+
private final DynamicOperand operand;
/**
Modified:
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/optimize/RewriteAsRangeCriteria.java
===================================================================
---
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/optimize/RewriteAsRangeCriteria.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/optimize/RewriteAsRangeCriteria.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -58,6 +58,8 @@
public class RewriteAsRangeCriteria implements OptimizerRule {
protected static final Constraint CONFLICTING_CONSTRAINT = new Constraint() {
+ private static final long serialVersionUID = 1L;
+
public void accept( Visitor visitor ) {
throw new UnsupportedOperationException();
}
Modified: trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/plan/PlanHints.java
===================================================================
--- trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/plan/PlanHints.java 2009-11-30
21:53:47 UTC (rev 1372)
+++ trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/plan/PlanHints.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -23,11 +23,14 @@
*/
package org.jboss.dna.graph.query.plan;
+import java.io.Serializable;
import net.jcip.annotations.NotThreadSafe;
@NotThreadSafe
-public final class PlanHints {
+public final class PlanHints implements Serializable {
+ private static final long serialVersionUID = 1L;
+
/** This flag indicates that the plan has a criteria somewhere */
public boolean hasCriteria = false;
Modified:
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/process/QueryResultColumns.java
===================================================================
---
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/process/QueryResultColumns.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/process/QueryResultColumns.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -43,6 +43,7 @@
*/
@Immutable
public final class QueryResultColumns implements Columns {
+ private static final long serialVersionUID = 1L;
private static final QueryResultColumns EMPTY = new
QueryResultColumns(Collections.<Column>emptyList(), false);
Modified:
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/process/QueryResults.java
===================================================================
---
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/process/QueryResults.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-graph/src/main/java/org/jboss/dna/graph/query/process/QueryResults.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -33,7 +33,6 @@
import org.jboss.dna.graph.Location;
import org.jboss.dna.graph.query.QueryContext;
import org.jboss.dna.graph.query.model.QueryCommand;
-import org.jboss.dna.graph.query.model.TypeSystem;
import org.jboss.dna.graph.query.model.TypeSystem.TypeFactory;
/**
@@ -41,6 +40,7 @@
*/
@Immutable
public class QueryResults implements org.jboss.dna.graph.query.QueryResults {
+ private static final long serialVersionUID = 1L;
private final QueryContext context;
private final QueryCommand command;
@@ -91,15 +91,6 @@
/**
* {@inheritDoc}
*
- * @see org.jboss.dna.graph.query.QueryResults#getTypeSystem()
- */
- public TypeSystem getTypeSystem() {
- return context.getTypeSystem();
- }
-
- /**
- * {@inheritDoc}
- *
* @see org.jboss.dna.graph.query.QueryResults#getCommand()
*/
public QueryCommand getCommand() {
Modified:
trunk/dna-graph/src/main/java/org/jboss/dna/graph/request/processor/RequestProcessor.java
===================================================================
---
trunk/dna-graph/src/main/java/org/jboss/dna/graph/request/processor/RequestProcessor.java 2009-11-30
21:53:47 UTC (rev 1372)
+++
trunk/dna-graph/src/main/java/org/jboss/dna/graph/request/processor/RequestProcessor.java 2009-12-01
15:19:31 UTC (rev 1373)
@@ -56,10 +56,12 @@
import org.jboss.dna.graph.request.DeleteBranchRequest;
import org.jboss.dna.graph.request.DeleteChildrenRequest;
import org.jboss.dna.graph.request.DestroyWorkspaceRequest;
+import org.jboss.dna.graph.request.FullTextSearchRequest;
import org.jboss.dna.graph.request.GetWorkspacesRequest;
import org.jboss.dna.graph.request.InvalidRequestException;
import org.jboss.dna.graph.request.LockBranchRequest;
import org.jboss.dna.graph.request.MoveBranchRequest;
+import org.jboss.dna.graph.request.QueryRequest;
import org.jboss.dna.graph.request.ReadAllChildrenRequest;
import org.jboss.dna.graph.request.ReadAllPropertiesRequest;
import org.jboss.dna.graph.request.ReadBlockOfChildrenRequest;
@@ -272,6 +274,10 @@
process((DestroyWorkspaceRequest)request);
} else if (request instanceof UpdateValuesRequest) {
process((UpdateValuesRequest)request);
+ } else if (request instanceof QueryRequest) {
+ process((QueryRequest)request);
+ } else if (request instanceof FullTextSearchRequest) {
+ process((FullTextSearchRequest)request);
} else {
processUnknownRequest(request);
}
@@ -913,6 +919,32 @@
}
/**
+ * Process a request to query a workspace.
+ * <p>
+ * The default implementation of this method behaves as though the implementation
does not support queries by setting an error
+ * on the request
+ * </p>
+ *
+ * @param request the request
+ */
+ public void process( QueryRequest request ) {
+ processUnknownRequest(request);
+ }
+
+ /**
+ * Process a request to search a workspace.
+ * <p>
+ * The default implementation of this method behaves as though the implementation
does not support full-text searches by
+ * setting an error on the request
+ * </p>
+ *
+ * @param request the request
+ */
+ public void process( FullTextSearchRequest request ) {
+ processUnknownRequest(request);
+ }
+
+ /**
* A class that represents a location at a known depth
*
* @author Randall Hauch
Modified: trunk/pom.xml
===================================================================
--- trunk/pom.xml 2009-11-30 21:53:47 UTC (rev 1372)
+++ trunk/pom.xml 2009-12-01 15:19:31 UTC (rev 1373)
@@ -139,6 +139,7 @@
<module>extensions/dna-connector-jbosscache</module>
<module>extensions/dna-connector-svn</module>
<module>extensions/dna-connector-store-jpa</module>
+ <module>extensions/dna-connector-store-lucene</module>
<module>extensions/dna-mimetype-detector-aperture</module>
<!--module>extensions/dna-common-jdbc</module-->
<!--module>extensions/dna-connector-jdbc-metadata</module-->