[dna-commits] DNA SVN: r384 - in trunk: connectors/dna-connector-inmemory/src/main/java/org/jboss/dna/connector/inmemory and 3 other directories.

dna-commits at lists.jboss.org dna-commits at lists.jboss.org
Wed Aug 6 01:37:35 EDT 2008


Author: rhauch
Date: 2008-08-06 01:37:35 -0400 (Wed, 06 Aug 2008)
New Revision: 384

Added:
   trunk/dna-spi/src/main/java/org/jboss/dna/spi/graph/connection/RepositorySourceCapabilities.java
Modified:
   trunk/connectors/dna-connector-federation/src/main/java/org/jboss/dna/connector/federation/FederatedRepositorySource.java
   trunk/connectors/dna-connector-inmemory/src/main/java/org/jboss/dna/connector/inmemory/InMemoryRepositorySource.java
   trunk/connectors/dna-connector-jbosscache/src/main/java/org/jboss/dna/connector/jbosscache/JBossCacheSource.java
   trunk/dna-spi/src/main/java/org/jboss/dna/spi/graph/connection/RepositorySource.java
   trunk/dna-spi/src/test/java/org/jboss/dna/spi/graph/connection/SimpleRepositorySource.java
   trunk/dna-spi/src/test/java/org/jboss/dna/spi/graph/connection/TimeDelayingRepositorySource.java
Log:
DNA-188 - Complete the federating command executor
http://jira.jboss.com/jira/browse/DNA-188

Added the notion of capabilities to RepositorySource, and added to all RepositorySource implementations.

Modified: trunk/connectors/dna-connector-federation/src/main/java/org/jboss/dna/connector/federation/FederatedRepositorySource.java
===================================================================
--- trunk/connectors/dna-connector-federation/src/main/java/org/jboss/dna/connector/federation/FederatedRepositorySource.java	2008-08-06 04:59:59 UTC (rev 383)
+++ trunk/connectors/dna-connector-federation/src/main/java/org/jboss/dna/connector/federation/FederatedRepositorySource.java	2008-08-06 05:37:35 UTC (rev 384)
@@ -71,6 +71,7 @@
 import org.jboss.dna.spi.graph.connection.RepositoryConnection;
 import org.jboss.dna.spi.graph.connection.RepositoryConnectionFactories;
 import org.jboss.dna.spi.graph.connection.RepositorySource;
+import org.jboss.dna.spi.graph.connection.RepositorySourceCapabilities;
 import org.jboss.dna.spi.graph.connection.RepositorySourceException;
 
 /**
@@ -955,4 +956,23 @@
         return false;
     }
 
+    /**
+     * {@inheritDoc}
+     * 
+     * @see org.jboss.dna.spi.graph.connection.RepositorySource#getCapabilities()
+     */
+    public RepositorySourceCapabilities getCapabilities() {
+        return new Capabilities();
+    }
+
+    protected class Capabilities implements RepositorySourceCapabilities {
+        public boolean supportsSameNameSiblings() {
+            return true;
+        }
+
+        public boolean supportsUpdates() {
+            return true;
+        }
+    }
+
 }

Modified: trunk/connectors/dna-connector-inmemory/src/main/java/org/jboss/dna/connector/inmemory/InMemoryRepositorySource.java
===================================================================
--- trunk/connectors/dna-connector-inmemory/src/main/java/org/jboss/dna/connector/inmemory/InMemoryRepositorySource.java	2008-08-06 04:59:59 UTC (rev 383)
+++ trunk/connectors/dna-connector-inmemory/src/main/java/org/jboss/dna/connector/inmemory/InMemoryRepositorySource.java	2008-08-06 05:37:35 UTC (rev 384)
@@ -42,6 +42,7 @@
 import org.jboss.dna.spi.cache.CachePolicy;
 import org.jboss.dna.spi.graph.connection.AbstractRepositorySource;
 import org.jboss.dna.spi.graph.connection.RepositoryConnection;
+import org.jboss.dna.spi.graph.connection.RepositorySourceCapabilities;
 import org.jboss.dna.spi.graph.connection.RepositorySourceException;
 
 /**
@@ -260,4 +261,22 @@
         return null;
     }
 
+    /**
+     * {@inheritDoc}
+     * 
+     * @see org.jboss.dna.spi.graph.connection.RepositorySource#getCapabilities()
+     */
+    public RepositorySourceCapabilities getCapabilities() {
+        return new Capabilities();
+    }
+
+    protected class Capabilities implements RepositorySourceCapabilities {
+        public boolean supportsSameNameSiblings() {
+            return true;
+        }
+
+        public boolean supportsUpdates() {
+            return true;
+        }
+    }
 }

Modified: trunk/connectors/dna-connector-jbosscache/src/main/java/org/jboss/dna/connector/jbosscache/JBossCacheSource.java
===================================================================
--- trunk/connectors/dna-connector-jbosscache/src/main/java/org/jboss/dna/connector/jbosscache/JBossCacheSource.java	2008-08-06 04:59:59 UTC (rev 383)
+++ trunk/connectors/dna-connector-jbosscache/src/main/java/org/jboss/dna/connector/jbosscache/JBossCacheSource.java	2008-08-06 05:37:35 UTC (rev 384)
@@ -48,6 +48,7 @@
 import org.jboss.dna.spi.graph.Name;
 import org.jboss.dna.spi.graph.connection.AbstractRepositorySource;
 import org.jboss.dna.spi.graph.connection.RepositoryConnection;
+import org.jboss.dna.spi.graph.connection.RepositorySourceCapabilities;
 
 /**
  * @author Randall Hauch
@@ -276,4 +277,22 @@
         return null;
     }
 
+    /**
+     * {@inheritDoc}
+     * 
+     * @see org.jboss.dna.spi.graph.connection.RepositorySource#getCapabilities()
+     */
+    public RepositorySourceCapabilities getCapabilities() {
+        return new Capabilities();
+    }
+
+    protected class Capabilities implements RepositorySourceCapabilities {
+        public boolean supportsSameNameSiblings() {
+            return true;
+        }
+
+        public boolean supportsUpdates() {
+            return true;
+        }
+    }
 }

Modified: trunk/dna-spi/src/main/java/org/jboss/dna/spi/graph/connection/RepositorySource.java
===================================================================
--- trunk/dna-spi/src/main/java/org/jboss/dna/spi/graph/connection/RepositorySource.java	2008-08-06 04:59:59 UTC (rev 383)
+++ trunk/dna-spi/src/main/java/org/jboss/dna/spi/graph/connection/RepositorySource.java	2008-08-06 05:37:35 UTC (rev 384)
@@ -65,4 +65,11 @@
      */
     void setRetryLimit( int limit );
 
+    /**
+     * Get the capabilities for this source.
+     * 
+     * @return the capabilities for this source; never null
+     */
+    RepositorySourceCapabilities getCapabilities();
+
 }

Added: trunk/dna-spi/src/main/java/org/jboss/dna/spi/graph/connection/RepositorySourceCapabilities.java
===================================================================
--- trunk/dna-spi/src/main/java/org/jboss/dna/spi/graph/connection/RepositorySourceCapabilities.java	                        (rev 0)
+++ trunk/dna-spi/src/main/java/org/jboss/dna/spi/graph/connection/RepositorySourceCapabilities.java	2008-08-06 05:37:35 UTC (rev 384)
@@ -0,0 +1,44 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors. 
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.dna.spi.graph.connection;
+
+/**
+ * The capabilities of a {@link RepositorySource}.
+ * 
+ * @author Randall Hauch
+ */
+public interface RepositorySourceCapabilities {
+
+    /**
+     * Return whether the source supports same name siblings. If not, then no two siblings may share the same name.
+     * 
+     * @return true if same name siblings are supported, or false otherwise
+     */
+    boolean supportsSameNameSiblings();
+
+    /**
+     * Return whether the source supports updates.
+     * 
+     * @return true if updates are supported, or false if the source only supports reads.
+     */
+    boolean supportsUpdates();
+}


Property changes on: trunk/dna-spi/src/main/java/org/jboss/dna/spi/graph/connection/RepositorySourceCapabilities.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: trunk/dna-spi/src/test/java/org/jboss/dna/spi/graph/connection/SimpleRepositorySource.java
===================================================================
--- trunk/dna-spi/src/test/java/org/jboss/dna/spi/graph/connection/SimpleRepositorySource.java	2008-08-06 04:59:59 UTC (rev 383)
+++ trunk/dna-spi/src/test/java/org/jboss/dna/spi/graph/connection/SimpleRepositorySource.java	2008-08-06 05:37:35 UTC (rev 384)
@@ -127,6 +127,25 @@
     /**
      * {@inheritDoc}
      * 
+     * @see org.jboss.dna.spi.graph.connection.RepositorySource#getCapabilities()
+     */
+    public RepositorySourceCapabilities getCapabilities() {
+        return new Capabilities();
+    }
+
+    protected class Capabilities implements RepositorySourceCapabilities {
+        public boolean supportsSameNameSiblings() {
+            return true;
+        }
+
+        public boolean supportsUpdates() {
+            return true;
+        }
+    }
+
+    /**
+     * {@inheritDoc}
+     * 
      * @see org.jboss.dna.spi.graph.connection.AbstractRepositorySource#createConnection()
      */
     @Override

Modified: trunk/dna-spi/src/test/java/org/jboss/dna/spi/graph/connection/TimeDelayingRepositorySource.java
===================================================================
--- trunk/dna-spi/src/test/java/org/jboss/dna/spi/graph/connection/TimeDelayingRepositorySource.java	2008-08-06 04:59:59 UTC (rev 383)
+++ trunk/dna-spi/src/test/java/org/jboss/dna/spi/graph/connection/TimeDelayingRepositorySource.java	2008-08-06 05:37:35 UTC (rev 384)
@@ -190,6 +190,25 @@
         throw new UnsupportedOperationException();
     }
 
+    /**
+     * {@inheritDoc}
+     * 
+     * @see org.jboss.dna.spi.graph.connection.RepositorySource#getCapabilities()
+     */
+    public RepositorySourceCapabilities getCapabilities() {
+        return new Capabilities();
+    }
+
+    protected class Capabilities implements RepositorySourceCapabilities {
+        public boolean supportsSameNameSiblings() {
+            return true;
+        }
+
+        public boolean supportsUpdates() {
+            return true;
+        }
+    }
+
     public class Connection implements RepositoryConnection {
 
         private final String connectionName;




More information about the dna-commits mailing list