[Mulgara-svn] r912 - in trunk/src/jar: resolver/java/org/mulgara/resolver resolver-relational/java/org/mulgara/resolver/relational resolver-spi/java/org/mulgara/resolver/spi resolver-test/java/org/mulgara/resolver/test resolver-xsd/java/org/mulgara/resolver/xsd

pag at mulgara.org pag at mulgara.org
Fri May 9 00:00:15 UTC 2008


Author: pag
Date: 2008-05-08 17:00:14 -0700 (Thu, 08 May 2008)
New Revision: 912

Modified:
   trunk/src/jar/resolver-relational/java/org/mulgara/resolver/relational/RelationalConstraintDescriptor.java
   trunk/src/jar/resolver-spi/java/org/mulgara/resolver/spi/ConstraintDescriptor.java
   trunk/src/jar/resolver-spi/java/org/mulgara/resolver/spi/DatabaseMetadata.java
   trunk/src/jar/resolver-test/java/org/mulgara/resolver/test/TestConstraintDescriptor.java
   trunk/src/jar/resolver-xsd/java/org/mulgara/resolver/xsd/IntervalConstraintDescriptor.java
   trunk/src/jar/resolver/java/org/mulgara/resolver/DatabaseFactoryInitializer.java
   trunk/src/jar/resolver/java/org/mulgara/resolver/DatabaseResolverFactoryInitializer.java
   trunk/src/jar/resolver/java/org/mulgara/resolver/PrimitiveConstraintDescriptor.java
Log:
Cleanup up code and added generics

Modified: trunk/src/jar/resolver/java/org/mulgara/resolver/DatabaseFactoryInitializer.java
===================================================================
--- trunk/src/jar/resolver/java/org/mulgara/resolver/DatabaseFactoryInitializer.java	2008-05-08 23:16:52 UTC (rev 911)
+++ trunk/src/jar/resolver/java/org/mulgara/resolver/DatabaseFactoryInitializer.java	2008-05-09 00:00:14 UTC (rev 912)
@@ -49,17 +49,15 @@
  *
  * @created 2004-04-26
  * @author <a href="http://www.pisoftware.com/andrae">Andrae Muys</a>
- * @version $Revision: 1.8 $
- * @modified $Date: 2005/01/05 04:58:23 $
- * @maintenanceAuthor $Author: newmana $
  * @company <a href="mailto:info at PIsoftware.com">Plugged In Software</a>
- * @copyright &copy;2004 <a href="http://www.tucanatech.com/">Tucana
- *   Technology, Inc</a>
+ * @copyright &copy;2004 <a href="http://www.tucanatech.com/">Tucana Technology, Inc</a>
  * @licence <a href="{@docRoot}/../../LICENCE">Mozilla Public License v1.1</a>
  */
-class DatabaseFactoryInitializer extends DatabaseInitializer
-  implements FactoryInitializer
-{
+class DatabaseFactoryInitializer extends DatabaseInitializer implements FactoryInitializer {
+  /** Logger */
+  @SuppressWarnings("unused")
+  private static final Logger logger = Logger.getLogger(DatabaseFactoryInitializer.class.getName());
+
   /** The databases toplevel directory */
   private File directory;
 
@@ -67,7 +65,7 @@
   private final URI databaseURI;
 
   /** The set of alternative hostnames for the current host. */
-  private final Set hostnameAliases;
+  private final Set<String> hostnameAliases;
 
   /**
    * Sole constructor.
@@ -75,9 +73,7 @@
    * @param directory  the persistence directory to offer this component; if
    *   <code>null</code>, no persistence directory will be offered
    */
-  DatabaseFactoryInitializer(
-      URI databaseURI, Set hostnameAliases, File directory
-  ) {
+  DatabaseFactoryInitializer(URI databaseURI, Set<String> hostnameAliases, File directory) {
     this.databaseURI = databaseURI;
     this.hostnameAliases = hostnameAliases;
     this.directory = directory;
@@ -92,7 +88,7 @@
     return databaseURI;
   }
 
-  public Set getHostnameAliases() {
+  public Set<String> getHostnameAliases() {
     checkState();
     return hostnameAliases;
   }
@@ -104,9 +100,7 @@
     if (directory != null) {
       // Ensure that the directory exists
       if (!directory.isDirectory()) {
-        if (!directory.mkdirs()) {
-          throw new InitializerException("Couldn't create " + directory);
-        }
+        if (!directory.mkdirs()) throw new InitializerException("Couldn't create " + directory);
       }
       assert directory.isDirectory();
     }

Modified: trunk/src/jar/resolver/java/org/mulgara/resolver/DatabaseResolverFactoryInitializer.java
===================================================================
--- trunk/src/jar/resolver/java/org/mulgara/resolver/DatabaseResolverFactoryInitializer.java	2008-05-08 23:16:52 UTC (rev 911)
+++ trunk/src/jar/resolver/java/org/mulgara/resolver/DatabaseResolverFactoryInitializer.java	2008-05-09 00:00:14 UTC (rev 912)
@@ -31,26 +31,17 @@
 
 // Java 2 standard packages
 import java.io.File;
-import java.lang.reflect.*;
 import java.net.URI;
-import java.net.URISyntaxException;
 import java.util.*;
-import javax.naming.NamingException;
 
 // Third party packages
 import org.apache.log4j.Logger;  // Apache Log4J
 import org.jrdf.graph.*;         // JRDF
-import org.jrdf.vocabulary.RDF;
-import org.mulgara.content.ContentHandler;
 import org.mulgara.content.ContentHandlerManager;
+import org.mulgara.query.Constraint;
 import org.mulgara.query.QueryException;
-import org.mulgara.query.rdf.Mulgara;
-import org.mulgara.query.rdf.URIReferenceImpl;
 import org.mulgara.resolver.spi.*;
 import org.mulgara.util.NVPair;
-import org.objectweb.jotm.Jotm;  // JOTM transaction manager
-import org.objectweb.transaction.jta.TMService;
-import org.objectweb.transaction.jta.TransactionManager;
 
 // Local packages
 
@@ -67,10 +58,9 @@
   /** Logger.  */
   private static final Logger logger = Logger.getLogger(DatabaseResolverFactoryInitializer.class.getName());
 
-  private final Set cachedResolverFactorySet;
+  private final Set<ResolverFactory> cachedResolverFactorySet;
   private final Database database;
   private final DatabaseMetadata metadata;
-  private final File persistenceDirectory;
   private final ContentHandlerManager contentHandlerManager;
   private final ResolverFactory systemResolverFactory;
 
@@ -82,40 +72,26 @@
    *   <var>contentHandlerManager</var> arguments are <code>null</code>
    */
   public DatabaseResolverFactoryInitializer(
-           Set                   cachedResolverFactorySet,
+           Set<ResolverFactory>  cachedResolverFactorySet,
            Database              database,
            DatabaseMetadata      metadata,
            File                  persistenceDirectory,
            ContentHandlerManager contentHandlerManager,
            ResolverFactory       systemResolverFactory
-         )
-    throws InitializerException
-  {
-    super(metadata.getURI(),
-          metadata.getHostnameAliases(),
-          persistenceDirectory);
+  ) throws InitializerException {
 
+    super(metadata.getURI(), metadata.getHostnameAliases(), persistenceDirectory);
+
     // Validate parameters
-    if (cachedResolverFactorySet == null) {
-      throw new IllegalArgumentException(
-        "Null \"cachedResolverFactorySet\" parameter"
-      );
-    }
-    if (database == null) {
-      throw new IllegalArgumentException("database null");
-    }
-    if (metadata == null) {
-      throw new IllegalArgumentException("metadata null");
-    }
-    if (contentHandlerManager == null) {
-      throw new IllegalArgumentException("contentHandlerManager null");
-    }
+    if (cachedResolverFactorySet == null) throw new IllegalArgumentException("Null \"cachedResolverFactorySet\" parameter");
+    if (database == null) throw new IllegalArgumentException("database null");
+    if (metadata == null) throw new IllegalArgumentException("metadata null");
+    if (contentHandlerManager == null) throw new IllegalArgumentException("contentHandlerManager null");
 
     // Initialize fields
     this.cachedResolverFactorySet = cachedResolverFactorySet;
     this.database                 = database;
     this.metadata                 = metadata;
-    this.persistenceDirectory     = persistenceDirectory;
     this.contentHandlerManager    = contentHandlerManager;
     this.systemResolverFactory    = systemResolverFactory;
   }
@@ -125,8 +101,7 @@
   // Methods implementing ResolverFactoryInitializer
   //
 
-  public void addModelType(URI modelType, ResolverFactory resolverFactory)
-      throws InitializerException {
+  public void addModelType(URI modelType, ResolverFactory resolverFactory) throws InitializerException {
     database.addModelType(modelType, resolverFactory);
   }
 
@@ -135,37 +110,25 @@
     return false;
   }
 
-  public void addProtocol(String protocol, ResolverFactory resolverFactory)
-      throws InitializerException {
+  public void addProtocol(String protocol, ResolverFactory resolverFactory) throws InitializerException {
     database.addProtocol(protocol, resolverFactory);
   }
 
-  public void addSymbolicTransformation(SymbolicTransformation symbolicTransformation)
-      throws InitializerException {
+  public void addSymbolicTransformation(SymbolicTransformation symbolicTransformation) throws InitializerException {
     database.addSymbolicTransformation(symbolicTransformation);
   }
 
-  public void cacheModelAccess(ResolverFactory resolverFactory)
-    throws InitializerException
-  {
-    if (resolverFactory == null) {
-      throw new IllegalArgumentException("Null \"resolverFactory\" parameter");
-    }
-
+  public void cacheModelAccess(ResolverFactory resolverFactory) throws InitializerException {
+    if (resolverFactory == null) throw new IllegalArgumentException("Null \"resolverFactory\" parameter");
     cachedResolverFactorySet.add(resolverFactory);
   }
 
-  public ContentHandlerManager getContentHandlers()
-  {
+  public ContentHandlerManager getContentHandlers() {
     return contentHandlerManager;
   }
 
-  public ResolverFactory getSystemResolverFactory()
-    throws NoSystemResolverFactoryException
-  {
-    if (systemResolverFactory == null) {
-      throw new NoSystemResolverFactoryException();
-    }
+  public ResolverFactory getSystemResolverFactory() throws NoSystemResolverFactoryException {
+    if (systemResolverFactory == null) throw new NoSystemResolverFactoryException();
     return systemResolverFactory;
   }
 
@@ -175,23 +138,17 @@
 
   public long getSystemModel() {
     checkState();
-
     return metadata.getSystemModelNode();
   }
 
   public long getSystemModelType() throws NoSystemResolverFactoryException {
     checkState();
-
     return metadata.getSystemModelTypeNode();
   }
 
   public long preallocate(Node node) throws InitializerException {
-    if (logger.isDebugEnabled()) {
-      logger.debug("Preallocating " + node);
-    }
-
+    if (logger.isDebugEnabled()) logger.debug("Preallocating " + node);
     checkState();
-
     try {
       //!!FIXME: Can't add preallocate to Session until we switch over.
       DatabaseSession session = (DatabaseSession)database.newSession();
@@ -202,9 +159,9 @@
   }
 
 
+  @SuppressWarnings("unchecked")
   public void registerNewConstraint(ConstraintDescriptor descriptor) throws InitializerException {
-//    logger.warn("!!!!!!!!!!!!!!!!Registering new Constraint: " + descriptor, new Throwable());
-    Class constraintClass = descriptor.getConstraintClass();
+    Class<? extends Constraint> constraintClass = descriptor.getConstraintClass();
     if (!ConstraintOperations.constraintRegistered(constraintClass)) {
       // FIXME: This needs refactoring.  With the constraint registration in place, ConstraintOperations can be simplifed.
       ConstraintOperations.addConstraintResolutionHandlers(new NVPair[] { new NVPair(constraintClass, descriptor), });

Modified: trunk/src/jar/resolver/java/org/mulgara/resolver/PrimitiveConstraintDescriptor.java
===================================================================
--- trunk/src/jar/resolver/java/org/mulgara/resolver/PrimitiveConstraintDescriptor.java	2008-05-08 23:16:52 UTC (rev 911)
+++ trunk/src/jar/resolver/java/org/mulgara/resolver/PrimitiveConstraintDescriptor.java	2008-05-09 00:00:14 UTC (rev 912)
@@ -63,13 +63,12 @@
  *      Australian Commonwealth Government, Department of Defence</a>
  * @licence <a href="{@docRoot}/../../LICENCE">Mozilla Public License v1.1</a>
  */
-class PrimitiveConstraintDescriptor implements ConstraintDescriptor
-{
+class PrimitiveConstraintDescriptor implements ConstraintDescriptor {
   /** Logger.  */
-  private static final Logger logger =
-    Logger.getLogger(PrimitiveConstraintDescriptor.class.getName());
+  @SuppressWarnings("unused")
+  private static final Logger logger = Logger.getLogger(PrimitiveConstraintDescriptor.class.getName());
 
-  private Class constraintClass;
+  private Class<? extends Constraint> constraintClass;
   private ConstraintResolutionHandler resolutionHandler;
   private ConstraintModelRewrite rewriteHandler;
 
@@ -81,10 +80,9 @@
    *         null if rewriting is an error.
    * @throws IllegalArgumentException if <var>constraintClass</var> is <code>null</code>
    */
-  PrimitiveConstraintDescriptor(Class constraintClass,
-      ConstraintResolutionHandler resolutionHandler,
-      ConstraintModelRewrite rewriteHandler) 
-  {
+  PrimitiveConstraintDescriptor(Class<? extends Constraint> constraintClass,
+        ConstraintResolutionHandler resolutionHandler, ConstraintModelRewrite rewriteHandler) {
+
     // Validate parameters
     if (!ConstraintExpression.class.isAssignableFrom(constraintClass)) {
       throw new IllegalArgumentException("'constraintClass' not a ConstraintExpression");
@@ -93,26 +91,26 @@
     this.constraintClass = constraintClass;
     this.resolutionHandler = resolutionHandler;
     this.rewriteHandler = rewriteHandler;
-
   }
 
-  public Class getConstraintClass() {
+
+  public Class<? extends Constraint> getConstraintClass() {
     return constraintClass;
   }
 
+
   public Constraint rewrite(ConstraintElement newModel, Constraint constraint) throws Exception {
     if (rewriteHandler == null) {
       throw new IllegalStateException("Attempt to rewrite model for " + constraintClass + " no handler registered");
     }
-
     return rewriteHandler.rewrite(newModel, constraint);
   }
 
+
   public Tuples resolve(QueryEvaluationContext context, ModelExpression modelExpr, ConstraintExpression constraintExpr) throws Exception {
     if (rewriteHandler == null) {
       throw new IllegalStateException("Attempt to resolve model for " + constraintClass + " no handler registered");
     }
-
     return resolutionHandler.resolve(context, modelExpr, constraintExpr);
   }
 }

Modified: trunk/src/jar/resolver-relational/java/org/mulgara/resolver/relational/RelationalConstraintDescriptor.java
===================================================================
--- trunk/src/jar/resolver-relational/java/org/mulgara/resolver/relational/RelationalConstraintDescriptor.java	2008-05-08 23:16:52 UTC (rev 911)
+++ trunk/src/jar/resolver-relational/java/org/mulgara/resolver/relational/RelationalConstraintDescriptor.java	2008-05-09 00:00:14 UTC (rev 912)
@@ -45,6 +45,7 @@
 
 // import org.apache.log4j.Logger;
 
+import org.apache.log4j.Logger;
 import org.mulgara.resolver.spi.ConstraintBindingHandler;
 import org.mulgara.resolver.spi.ConstraintDescriptor;
 import org.mulgara.resolver.spi.ConstraintLocalization;
@@ -62,9 +63,10 @@
 
 public class RelationalConstraintDescriptor implements ConstraintDescriptor, ConstraintLocalization, ConstraintBindingHandler {
 
-  // private static final Logger logger = Logger.getLogger(RelationalConstraintDescriptor.class.getName());
+  @SuppressWarnings("unused")
+  private static final Logger logger = Logger.getLogger(RelationalConstraintDescriptor.class.getName());
 
-  public Class<? extends Constraint> getConstraintClass() {
+  public Class<RelationalConstraint> getConstraintClass() {
     return RelationalConstraint.class;
   }
 
@@ -76,8 +78,7 @@
     return ConstraintOperations.resolveModelExpression(queryContext, modelExpr, (Constraint)constraintExpr);
   }
 
-  public Constraint rewrite(ConstraintElement newModel,
-                            Constraint constraint) throws Exception {
+  public Constraint rewrite(ConstraintElement newModel, Constraint constraint) throws Exception {
     if (!(constraint instanceof RelationalConstraint)) {
       throw new IllegalArgumentException("RelationalConstraintDescriptor.rewrite must be a RelationalConstraint");
     }

Modified: trunk/src/jar/resolver-spi/java/org/mulgara/resolver/spi/ConstraintDescriptor.java
===================================================================
--- trunk/src/jar/resolver-spi/java/org/mulgara/resolver/spi/ConstraintDescriptor.java	2008-05-08 23:16:52 UTC (rev 911)
+++ trunk/src/jar/resolver-spi/java/org/mulgara/resolver/spi/ConstraintDescriptor.java	2008-05-09 00:00:14 UTC (rev 912)
@@ -37,10 +37,6 @@
 
 // Local packages
 import org.mulgara.query.Constraint;
-import org.mulgara.query.ConstraintElement;
-import org.mulgara.query.ConstraintExpression;
-import org.mulgara.query.ModelExpression;
-import org.mulgara.store.tuples.Tuples;
 
 /**
  * Describes a Constraint object.
@@ -53,19 +49,15 @@
  *
  * @created 2005-05-02
  * @author <a href="http://netymon.com/people/staff/andrae">Andrae Muys</a>
- * @version $Revision: 1.4 $
- * @modified $Date: 2005/05/29 08:34:20 $ 
- * @maintenanceAuthor $Author: raboczi $
  * @copyright &copy;2005 <a href="http://www.defence.gov.au/">
  *      Australian Commonwealth Government, Department of Defence</a>
  * @licence <a href="{@docRoot}/../../LICENCE">Mozilla Public License v1.1</a>
  */
 
-public interface ConstraintDescriptor extends ConstraintResolutionHandler,
-                                              ConstraintModelRewrite
-{
-  public Class getConstraintClass();
+public interface ConstraintDescriptor extends ConstraintResolutionHandler, ConstraintModelRewrite {
 
+  public Class<? extends Constraint> getConstraintClass();
+
   // NOTE: For convenient reference these are the signatures of the two
   // methods imported from the super-interfaces.
   /*

Modified: trunk/src/jar/resolver-spi/java/org/mulgara/resolver/spi/DatabaseMetadata.java
===================================================================
--- trunk/src/jar/resolver-spi/java/org/mulgara/resolver/spi/DatabaseMetadata.java	2008-05-08 23:16:52 UTC (rev 911)
+++ trunk/src/jar/resolver-spi/java/org/mulgara/resolver/spi/DatabaseMetadata.java	2008-05-09 00:00:14 UTC (rev 912)
@@ -48,8 +48,7 @@
  * @licence <a href="{@docRoot}/../../LICENCE">Mozilla Public License v1.1</a>
  */
 
-public interface DatabaseMetadata
-{
+public interface DatabaseMetadata {
   /**
    * Returns the server name typically server1, server2, etc. which is the path
    * part of the URI.
@@ -72,7 +71,7 @@
   public URI getSystemModelURI();
   public URI getSystemModelTypeURI();
   public URI getRdfTypeURI();
-  public Set getHostnameAliases();
+  public Set<String> getHostnameAliases();
 
   public long getSystemModelNode();
   public long getSystemModelTypeNode();

Modified: trunk/src/jar/resolver-test/java/org/mulgara/resolver/test/TestConstraintDescriptor.java
===================================================================
--- trunk/src/jar/resolver-test/java/org/mulgara/resolver/test/TestConstraintDescriptor.java	2008-05-08 23:16:52 UTC (rev 911)
+++ trunk/src/jar/resolver-test/java/org/mulgara/resolver/test/TestConstraintDescriptor.java	2008-05-09 00:00:14 UTC (rev 912)
@@ -60,13 +60,14 @@
 
 public class TestConstraintDescriptor implements ConstraintDescriptor {
   /** Logger */
+  @SuppressWarnings("unused")
   private static Logger logger = Logger.getLogger(TestConstraintDescriptor.class);
 
 
   public TestConstraintDescriptor() { }
 
 
-  public Class getConstraintClass() {
+  public Class<TestConstraint> getConstraintClass() {
     return TestConstraint.class;
   }
 

Modified: trunk/src/jar/resolver-xsd/java/org/mulgara/resolver/xsd/IntervalConstraintDescriptor.java
===================================================================
--- trunk/src/jar/resolver-xsd/java/org/mulgara/resolver/xsd/IntervalConstraintDescriptor.java	2008-05-08 23:16:52 UTC (rev 911)
+++ trunk/src/jar/resolver-xsd/java/org/mulgara/resolver/xsd/IntervalConstraintDescriptor.java	2008-05-09 00:00:14 UTC (rev 912)
@@ -43,7 +43,6 @@
 import org.mulgara.resolver.spi.ConstraintDescriptor;
 import org.mulgara.resolver.spi.QueryEvaluationContext;
 import org.mulgara.resolver.spi.Resolution;
-import org.mulgara.resolver.spi.Resolver;
 import org.mulgara.resolver.spi.ResolverSession;
 import org.mulgara.store.stringpool.SPObject;
 import org.mulgara.store.tuples.Tuples;
@@ -53,29 +52,20 @@
  * {@link Resolution} from the Java heap for XSD related queries.
  *
  * @created 2005-05-02
- *
  * @author <a href="mailto:raboczi at itee.uq.edu.au">Simon Raboczi</a>
- *
- * @version $Revision: 1.3 $
- *
- * @modified $Date: 2005/06/09 09:26:20 $ @maintenanceAuthor $Author: raboczi $
- *
  * @copyright &copy;2005 <a href="http://www.defence.gov.au/">
  *      Australian Commonwealth Government, Department of Defence</a>
- *
  * @licence <a href="{@docRoot}/../../LICENCE">Mozilla Public License v1.1</a>
  */
 public class IntervalConstraintDescriptor implements ConstraintDescriptor {
 
   /** Logger */
-  private static Logger logger =
-    Logger.getLogger(IntervalConstraintDescriptor.class.getName());
+  private static Logger logger = Logger.getLogger(IntervalConstraintDescriptor.class.getName());
 
   /**
    * Sole constructor.
    */
   IntervalConstraintDescriptor() {
-
     // null implementation
   }
 
@@ -83,8 +73,7 @@
   // Methods implementing ConstraintDescriptor
   //
 
-  public Class getConstraintClass() {
-
+  public Class<IntervalConstraint> getConstraintClass() {
     return IntervalConstraint.class;
   }
 
@@ -96,37 +85,28 @@
   public Tuples resolve(QueryEvaluationContext queryEvaluationContext,
                         ModelExpression        modelExpression,
                         ConstraintExpression   constraintExpression)
-    throws Exception
-  {
+    throws Exception {
+
     // Validate "constraintExpression" parameter
     if (!constraintExpression.getClass().equals(IntervalConstraint.class)) {
-      throw new IllegalArgumentException(
-        "Bad \"constraintExpression\" type: " + constraintExpression +
-        " of class " + constraintExpression.getClass()
-      );
+      throw new IllegalArgumentException("Bad \"constraintExpression\" type: " + constraintExpression + " of class " + constraintExpression.getClass());
     }
 
-    IntervalConstraint intervalConstraint =
-      (IntervalConstraint) constraintExpression;
+    IntervalConstraint intervalConstraint = (IntervalConstraint) constraintExpression;
 
     // If unbounded in both directions, short-circuit execution
     if (intervalConstraint.isUnconstrained()) {
-      if (logger.isDebugEnabled()) {
-        logger.debug("Unconstrained interval");
-      }
+      if (logger.isDebugEnabled()) logger.debug("Unconstrained interval");
       return TuplesOperations.unconstrained();
     }
 
     // If empty, short-circuit execution
     if (intervalConstraint.isEmpty()) {
-      if (logger.isDebugEnabled()) {
-        logger.debug("Empty interval");
-      }
+      if (logger.isDebugEnabled()) logger.debug("Empty interval");
       return TuplesOperations.empty();
     }
 
-    ResolverSession resolverSession =
-      queryEvaluationContext.getResolverSession();
+    ResolverSession resolverSession = queryEvaluationContext.getResolverSession();
 
     SPObject lowValue = (intervalConstraint.getLowerBound() == null)
       ? resolverSession.getSPObjectFactory().newSPDouble(Double.MIN_VALUE)
@@ -164,9 +144,7 @@
   /**
    * @throws Exception always (not implemented)
    */
-  public Constraint rewrite(ConstraintElement newModel, Constraint constaint)
-    throws Exception
-  {
+  public Constraint rewrite(ConstraintElement newModel, Constraint constaint) throws Exception {
     throw new Exception("Not implemented");
   }
 }




More information about the Mulgara-svn mailing list