incubator-isis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From danhayw...@apache.org
Subject svn commit: r1036307 [1/2] - in /incubator/isis/trunk: alternatives/ alternatives/objectstore/xml/ alternatives/objectstore/xml/src/main/java/org/apache/isis/alternatives/objectstore/xml/ alternatives/objectstore/xml/src/main/java/org/apache/isis/alter...
Date Thu, 18 Nov 2010 01:11:42 GMT
Author: danhaywood
Date: Thu Nov 18 01:11:40 2010
New Revision: 1036307

URL: http://svn.apache.org/viewvc?rev=1036307&view=rev
Log:
factored out profilestore into defaults and alternatives; also minor refactorings for the BDD viewer

Added:
    incubator/isis/trunk/alternatives/objectstore/xml/src/main/java/org/apache/isis/alternatives/objectstore/xml/internal/data/xml/XmlFileUtil.java
    incubator/isis/trunk/alternatives/profilestore/xml/src/main/java/org/apache/isis/alternatives/profilestore/xml/internal/XmlFileUtil.java
    incubator/isis/trunk/alternatives/profilestore/xml/test.xml
    incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/xml/
    incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/xml/ContentWriter.java
      - copied, changed from r1036141, incubator/isis/trunk/alternatives/objectstore/xml/src/main/java/org/apache/isis/alternatives/objectstore/xml/internal/data/xml/ContentWriter.java
    incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/xml/XmlFile.java
      - copied, changed from r1036141, incubator/isis/trunk/alternatives/objectstore/xml/src/main/java/org/apache/isis/alternatives/objectstore/xml/internal/data/xml/XmlFile.java
    incubator/isis/trunk/core/runtime/src/test/java/org/apache/isis/core/runtime/testsystem/TestUserProfileStore.java
    incubator/isis/trunk/defaults/profilestore/src/main/java/org/apache/isis/defaults/profilestore/
    incubator/isis/trunk/defaults/profilestore/src/main/java/org/apache/isis/defaults/profilestore/InMemoryUserProfileStore.java
      - copied, changed from r1036141, incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/userprofile/inmemory/InMemoryUserProfileStore.java
    incubator/isis/trunk/defaults/profilestore/src/main/java/org/apache/isis/defaults/profilestore/InMemoryUserProfileStoreInstaller.java
      - copied, changed from r1036141, incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/userprofile/inmemory/InMemoryUserProfileStoreInstaller.java
Removed:
    incubator/isis/trunk/alternatives/objectstore/xml/src/main/java/org/apache/isis/alternatives/objectstore/xml/internal/data/xml/ContentWriter.java
    incubator/isis/trunk/alternatives/objectstore/xml/src/main/java/org/apache/isis/alternatives/objectstore/xml/internal/data/xml/XmlFile.java
    incubator/isis/trunk/alternatives/objectstore/xml/src/main/java/org/apache/isis/alternatives/profilestore/
    incubator/isis/trunk/alternatives/objectstore/xml/src/test/java/org/apache/isis/alternatives/profilestore/
    incubator/isis/trunk/alternatives/objectstore/xml/test.xml
    incubator/isis/trunk/alternatives/profilestore/xml/src/test/java/org/apache/isis/alternatives/objectstore/
    incubator/isis/trunk/core/runtime/src/main/java/org/apache/isis/core/runtime/userprofile/inmemory/
    incubator/isis/trunk/core/runtime/src/test/java/org/apache/isis/core/runtime/testdomain/
    incubator/isis/trunk/defaults/profilestore/src/test/java/org/apache/isis/defaults/
Modified:
    incubator/isis/trunk/alternatives/objectstore/xml/src/main/java/org/apache/isis/alternatives/objectstore/xml/XmlObjectStore.java
    incubator/isis/trunk/alternatives/objectstore/xml/src/main/java/org/apache/isis/alternatives/objectstore/xml/internal/data/xml/XmlDataManager.java
    incubator/isis/trunk/alternatives/objectstore/xml/src/main/java/org/apache/isis/alternatives/objectstore/xml/internal/services/xml/XmlServiceManager.java
    incubator/isis/trunk/alternatives/objectstore/xml/src/test/java/org/apache/isis/alternatives/objectstore/xml/internal/data/xml/XmlDataManagerInstancesTest.java
    incubator/isis/trunk/alternatives/objectstore/xml/src/test/java/org/apache/isis/alternatives/objectstore/xml/internal/data/xml/XmlDataManagerTest.java
    incubator/isis/trunk/alternatives/pom.xml
    incubator/isis/trunk/alternatives/profilestore/   (props changed)
    incubator/isis/trunk/alternatives/profilestore/xml/   (props changed)
    incubator/isis/trunk/alternatives/profilestore/xml/src/docbkx/   (props changed)
    incubator/isis/trunk/alternatives/profilestore/xml/src/main/java/org/apache/isis/alternatives/profilestore/xml/XmlUserProfileStore.java
    incubator/isis/trunk/alternatives/profilestore/xml/src/main/java/org/apache/isis/alternatives/profilestore/xml/internal/UserProfileContentWriter.java
    incubator/isis/trunk/core/runtime/src/main/resources/installer-registry.properties
    incubator/isis/trunk/core/runtime/src/test/java/org/apache/isis/core/runtime/testsystem/TestProxySystem.java
    incubator/isis/trunk/defaults/pom.xml
    incubator/isis/trunk/defaults/profilestore/   (props changed)
    incubator/isis/trunk/release/pom.xml
    incubator/isis/trunk/support/prototype/quickrun/pom.xml
    incubator/isis/trunk/support/prototype/viewer-html/pom.xml
    incubator/isis/trunk/support/prototype/viewer-restful/pom.xml
    incubator/isis/trunk/support/prototype/viewer-scimpi/pom.xml
    incubator/isis/trunk/support/prototype/viewer-wicket/pom.xml
    incubator/isis/trunk/viewer/bdd/common/pom.xml
    incubator/isis/trunk/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/CellBinding.java
    incubator/isis/trunk/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/Story.java
    incubator/isis/trunk/viewer/bdd/common/src/main/java/org/apache/isis/viewer/bdd/common/components/IsisSystemUsingInstallersWithinStory.java
    incubator/isis/trunk/viewer/bdd/concordion/src/main/java/org/apache/isis/viewer/bdd/concordion/internal/fixtures/AliasItemsInListForConcordion.java
    incubator/isis/trunk/viewer/bdd/fitnesse/src/main/java/net/sf/isiscontrib/bdd/fitnesse/internal/CellBindingForFitNesse.java
    incubator/isis/trunk/viewer/bdd/fitnesse/src/main/java/net/sf/isiscontrib/bdd/fitnesse/internal/util/Aliases.java
    incubator/isis/trunk/viewer/bdd/pom.xml
    incubator/isis/trunk/viewer/bdd/src/docbkx/guide/isis-bdd-viewer.xml
    incubator/isis/trunk/viewer/junit/pom.xml
    incubator/isis/trunk/viewer/junit/src/main/java/org/apache/isis/viewer/junit/internal/IsisSystemUsingInstallersWithinJunit.java
    incubator/isis/trunk/viewer/restful/viewer/src/main/java/org/apache/isis/viewer/restful/viewer/embedded/RestfulViewerInstaller.java

Modified: incubator/isis/trunk/alternatives/objectstore/xml/src/main/java/org/apache/isis/alternatives/objectstore/xml/XmlObjectStore.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/alternatives/objectstore/xml/src/main/java/org/apache/isis/alternatives/objectstore/xml/XmlObjectStore.java?rev=1036307&r1=1036306&r2=1036307&view=diff
==============================================================================
--- incubator/isis/trunk/alternatives/objectstore/xml/src/main/java/org/apache/isis/alternatives/objectstore/xml/XmlObjectStore.java (original)
+++ incubator/isis/trunk/alternatives/objectstore/xml/src/main/java/org/apache/isis/alternatives/objectstore/xml/XmlObjectStore.java Thu Nov 18 01:11:40 2010
@@ -17,7 +17,6 @@
  *  under the License.
  */
 
-
 package org.apache.isis.alternatives.objectstore.xml;
 
 import java.text.MessageFormat;
@@ -34,13 +33,14 @@ import org.apache.isis.alternatives.obje
 import org.apache.isis.alternatives.objectstore.xml.internal.data.ObjectDataVector;
 import org.apache.isis.alternatives.objectstore.xml.internal.data.ReferenceVector;
 import org.apache.isis.alternatives.objectstore.xml.internal.data.xml.XmlDataManager;
-import org.apache.isis.alternatives.objectstore.xml.internal.data.xml.XmlFile;
+import org.apache.isis.alternatives.objectstore.xml.internal.data.xml.XmlFileUtil;
 import org.apache.isis.alternatives.objectstore.xml.internal.services.ServiceManager;
 import org.apache.isis.alternatives.objectstore.xml.internal.services.xml.XmlServiceManager;
 import org.apache.isis.alternatives.objectstore.xml.internal.version.FileVersion;
 import org.apache.isis.core.commons.debug.DebugString;
 import org.apache.isis.core.commons.ensure.Assert;
 import org.apache.isis.core.commons.exceptions.IsisException;
+import org.apache.isis.core.commons.xml.XmlFile;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.adapter.ResolveState;
 import org.apache.isis.core.metamodel.adapter.oid.Oid;
@@ -69,73 +69,76 @@ import org.apache.isis.core.runtime.pers
 import org.apache.isis.core.runtime.transaction.ObjectPersistenceException;
 import org.apache.log4j.Logger;
 
-
 public class XmlObjectStore implements ObjectStore {
-	
-	private static final Logger LOG = Logger.getLogger(XmlObjectStore.class);
+
+    private static final Logger LOG = Logger.getLogger(XmlObjectStore.class);
     private static final String XMLOS_DIR = ConfigurationConstants.ROOT + "xmlos.dir";
     private final DataManager dataManager;
     private final ServiceManager serviceManager;
     private boolean isFixturesInstalled;
 
     public XmlObjectStore(IsisConfiguration configuration) {
+        String charset = XmlFileUtil.lookupCharset(configuration);
         String directory = configuration.getString(XMLOS_DIR, "xml/objects");
-        final XmlFile xmlFile = new XmlFile(configuration, directory);
+        final XmlFile xmlFile = new XmlFile(charset, directory);
         dataManager = new XmlDataManager(xmlFile);
         serviceManager = new XmlServiceManager(xmlFile);
         serviceManager.loadServices();
     }
 
-
     public XmlObjectStore(final DataManager dataManager, final ServiceManager serviceManager) {
         this.dataManager = dataManager;
         this.serviceManager = serviceManager;
         serviceManager.loadServices();
     }
 
-    
-    ///////////////////////////////////////////////////////////
+    // /////////////////////////////////////////////////////////
     // name
-    ///////////////////////////////////////////////////////////
+    // /////////////////////////////////////////////////////////
 
+    @Override
     public String name() {
         return "XML";
     }
 
-    ///////////////////////////////////////////////////////////
+    // /////////////////////////////////////////////////////////
     // close
-    ///////////////////////////////////////////////////////////
+    // /////////////////////////////////////////////////////////
 
+    @Override
     public void close() {
         LOG.info("close " + this);
     }
 
-    ///////////////////////////////////////////////////////////
+    // /////////////////////////////////////////////////////////
     // reset
-    ///////////////////////////////////////////////////////////
+    // /////////////////////////////////////////////////////////
 
-    public void reset() {}
+    @Override
+    public void reset() {
+    }
 
-    ///////////////////////////////////////////////////////////
+    // /////////////////////////////////////////////////////////
     // init, shutdown, finalize
-    ///////////////////////////////////////////////////////////
+    // /////////////////////////////////////////////////////////
 
-    
+    @Override
     public boolean hasInstances(final ObjectSpecification cls) {
         LOG.debug("checking instance of " + cls);
         final ObjectData data = new ObjectData(cls, null, null);
         return dataManager.numberOfInstances(data) > 0;
     }
 
+    @Override
     public void open() throws ObjectPersistenceException {
         isFixturesInstalled = dataManager.isFixturesInstalled();
     }
 
+    @Override
     public boolean isFixturesInstalled() {
         return isFixturesInstalled;
     }
 
-
     private void initObject(final ObjectAdapter object, final ObjectData data) {
         if (object.getResolveState().canChangeTo(ResolveState.RESOLVING)) {
             PersistorUtil.start(object, ResolveState.RESOLVING);
@@ -171,7 +174,8 @@ public class XmlObjectStore implements O
         }
     }
 
-    private void initObjectSetupReference(final ObjectAdapter object, final ObjectData data, final ObjectAssociation field) {
+    private void initObjectSetupReference(final ObjectAdapter object, final ObjectData data,
+        final ObjectAssociation field) {
         final SerialOid referenceOid = (SerialOid) data.get(field.getId());
         LOG.debug("setting up field " + field + " with " + referenceOid);
         if (referenceOid == null) {
@@ -181,14 +185,15 @@ public class XmlObjectStore implements O
         final Data fieldData = dataManager.loadData(referenceOid);
 
         if (fieldData == null) {
-            final ObjectAdapter adapter = getPersistenceSession().recreateAdapter(referenceOid, field.getSpecification());
+            final ObjectAdapter adapter =
+                getPersistenceSession().recreateAdapter(referenceOid, field.getSpecification());
             if (!adapter.getResolveState().isDestroyed()) {
                 adapter.changeState(ResolveState.DESTROYED);
             }
             ((OneToOneAssociation) field).initAssociation(object, adapter);
 
             LOG.warn("No data found for " + referenceOid + " so field '" + field.getName() + "' not set in object '"
-                    + object.titleString() + "'");
+                + object.titleString() + "'");
         } else {
             final ObjectAdapter reference = getPersistenceSession().recreateAdapter(referenceOid, specFor(fieldData));
             ((OneToOneAssociation) field).initAssociation(object, reference);
@@ -197,8 +202,8 @@ public class XmlObjectStore implements O
         /*
          * if (loadedObjects().isLoaded(referenceOid)) { ObjectAdapter loadedObject =
          * loadedObjects().getLoadedObject(referenceOid); LOG.debug("using loaded object " + loadedObject);
-         * object.initAssociation((OneToOneAssociation) field, loadedObject); } else { ObjectAdapter
-         * fieldObject; Data fieldData = (Data) dataManager.loadData((SerialOid) referenceOid);
+         * object.initAssociation((OneToOneAssociation) field, loadedObject); } else { ObjectAdapter fieldObject; Data
+         * fieldData = (Data) dataManager.loadData((SerialOid) referenceOid);
          * 
          * if (fieldData != null) { fieldObject = (ObjectAdapter) specFor(fieldData).acquireInstance(); } else {
          * fieldObject = (ObjectAdapter) field.getSpecification().acquireInstance(); }
@@ -207,15 +212,15 @@ public class XmlObjectStore implements O
          * 
          * if (fieldObject instanceof CollectionAdapter) { fieldObject.setResolved(); }
          * 
-         * loadedObjects().loaded(fieldObject); object.initAssociation((OneToOneAssociation) field,
-         * fieldObject); }
+         * loadedObjects().loaded(fieldObject); object.initAssociation((OneToOneAssociation) field, fieldObject); }
          */
     }
 
-    private void initObjectSetupCollection(final ObjectAdapter object, final ObjectData data, final ObjectAssociation field) {
+    private void initObjectSetupCollection(final ObjectAdapter object, final ObjectData data,
+        final ObjectAssociation field) {
         /*
-         * The internal collection is already a part of the object, and therefore cannot be recreated, but its
-         * oid must be set
+         * The internal collection is already a part of the object, and therefore cannot be recreated, but its oid must
+         * be set
          */
         final ReferenceVector refs = (ReferenceVector) data.get(field.getId());
         final ObjectAdapter collection = field.get(object);
@@ -238,59 +243,62 @@ public class XmlObjectStore implements O
         }
     }
 
-
-
-    ///////////////////////////////////////////////////////////
+    // /////////////////////////////////////////////////////////
     // Transaction Management
-    ///////////////////////////////////////////////////////////
+    // /////////////////////////////////////////////////////////
 
+    @Override
     public void startTransaction() {
         LOG.debug("start transaction");
     }
 
+    @Override
     public void endTransaction() {
         LOG.debug("end transaction");
     }
 
-
+    @Override
     public void abortTransaction() {
         LOG.debug("transaction aborted");
     }
 
-
-    ///////////////////////////////////////////////////////////
+    // /////////////////////////////////////////////////////////
     // createXxxCommands
-    ///////////////////////////////////////////////////////////
+    // /////////////////////////////////////////////////////////
 
+    @Override
     public CreateObjectCommand createCreateObjectCommand(final ObjectAdapter object) {
         return new XmlCreateObjectCommand(object, dataManager);
     }
 
+    @Override
     public SaveObjectCommand createSaveObjectCommand(final ObjectAdapter object) {
         return new XmlUpdateObjectCommand(object, dataManager);
     }
 
+    @Override
     public DestroyObjectCommand createDestroyObjectCommand(final ObjectAdapter object) {
         return new XmlDestroyObjectCommand(object, dataManager);
     }
 
-
-    ///////////////////////////////////////////////////////////
+    // /////////////////////////////////////////////////////////
     // execute, flush
-    ///////////////////////////////////////////////////////////
+    // /////////////////////////////////////////////////////////
 
+    @Override
     public void execute(final List<PersistenceCommand> commands) {
         LOG.debug("start execution of transaction");
-        for (PersistenceCommand command: commands) {
+        for (PersistenceCommand command : commands) {
             command.execute(null);
         }
         LOG.debug("end execution");
     }
 
-    ///////////////////////////////////////////////////////////
+    // /////////////////////////////////////////////////////////
     // getObject, resolveImmediately, resolveField
-    ///////////////////////////////////////////////////////////
+    // /////////////////////////////////////////////////////////
 
+    @Override
     public ObjectAdapter getObject(final Oid oid, final ObjectSpecification hint) {
         LOG.debug("getObject " + oid);
         final Data data = dataManager.loadData((SerialOid) oid);
@@ -308,11 +316,13 @@ public class XmlObjectStore implements O
         return object;
     }
 
+    @Override
     public void resolveField(final ObjectAdapter object, final ObjectAssociation field) {
         final ObjectAdapter reference = field.get(object);
         resolveImmediately(reference);
     }
 
+    @Override
     public void resolveImmediately(final ObjectAdapter object) {
         final ObjectData data = (ObjectData) dataManager.loadData((SerialOid) object.getOid());
         Assert.assertNotNull("Not able to read in data during resolve", object, data);
@@ -320,8 +330,8 @@ public class XmlObjectStore implements O
     }
 
     /*
-     * The ObjectData holds all references for internal collections, so the object should haves its internal
-     * collection populated by this method.
+     * The ObjectData holds all references for internal collections, so the object should haves its internal collection
+     * populated by this method.
      */
     private ObjectAdapter recreateObject(final ObjectData data) {
         final SerialOid oid = data.getOid();
@@ -331,31 +341,27 @@ public class XmlObjectStore implements O
         return object;
     }
 
-
-    ///////////////////////////////////////////////////////////
+    // /////////////////////////////////////////////////////////
     // getInstances, allInstances
-    ///////////////////////////////////////////////////////////
+    // /////////////////////////////////////////////////////////
 
+    @Override
     public ObjectAdapter[] getInstances(final PersistenceQuery persistenceQuery) {
-    	
-    	if (!(persistenceQuery instanceof PersistenceQueryBuiltIn)) {
-    		throw new IllegalArgumentException(MessageFormat.format(
-							"Provided PersistenceQuery not supported; was {0}; " +
-							"the XML object store only supports {1}",
-							persistenceQuery.getClass().getName(), 
-							PersistenceQueryBuiltIn.class.getName()));
-    	}
-		PersistenceQueryBuiltIn builtIn = (PersistenceQueryBuiltIn) persistenceQuery;
-    	
+
+        if (!(persistenceQuery instanceof PersistenceQueryBuiltIn)) {
+            throw new IllegalArgumentException(MessageFormat.format(
+                "Provided PersistenceQuery not supported; was {0}; " + "the XML object store only supports {1}",
+                persistenceQuery.getClass().getName(), PersistenceQueryBuiltIn.class.getName()));
+        }
+        PersistenceQueryBuiltIn builtIn = (PersistenceQueryBuiltIn) persistenceQuery;
+
         LOG.debug("getInstances of " + builtIn.getSpecification() + " where " + builtIn);
         final ObjectData patternData = new ObjectData(builtIn.getSpecification(), null, null);
         final ObjectAdapter[] instances = getInstances(patternData, builtIn);
         return instances;
     }
 
-    private ObjectAdapter[] getInstances(
-    		final ObjectData patternData, 
-    		final PersistenceQueryBuiltIn persistenceQuery) {
+    private ObjectAdapter[] getInstances(final ObjectData patternData, final PersistenceQueryBuiltIn persistenceQuery) {
         final ObjectDataVector data = dataManager.getInstances(patternData);
         final ObjectAdapter[] instances = new ObjectAdapter[data.size()];
         int count = 0;
@@ -370,9 +376,8 @@ public class XmlObjectStore implements O
             final ObjectAdapter instance = getPersistenceSession().recreateAdapter(oid, spec);
             LOG.debug("recreated instance " + instance);
             initObject(instance, instanceData);
-            
-            if (persistenceQuery == null || 
-            	persistenceQuery.matches(instance)) {
+
+            if (persistenceQuery == null || persistenceQuery.matches(instance)) {
                 instances[count++] = instance;
             }
         }
@@ -382,43 +387,42 @@ public class XmlObjectStore implements O
         return array;
     }
 
-
     private ObjectSpecification specFor(final Data data) {
         return getSpecificationLoader().loadSpecification(data.getTypeName());
     }
 
-
-    ///////////////////////////////////////////////////////////
+    // /////////////////////////////////////////////////////////
     // services
-    ///////////////////////////////////////////////////////////
+    // /////////////////////////////////////////////////////////
 
+    @Override
     public Oid getOidForService(final String name) {
         return serviceManager.getOidForService(name);
     }
 
+    @Override
     public void registerService(final String name, final Oid oid) {
         serviceManager.registerService(name, oid);
     }
 
-    ///////////////////////////////////////////////////////////
+    // /////////////////////////////////////////////////////////
     // debugging
-    ///////////////////////////////////////////////////////////
+    // /////////////////////////////////////////////////////////
 
+    @Override
     public void debugData(final DebugString debug) {
         debug.appendTitle("Business Objects");
         debug.appendln(dataManager.getDebugData());
     }
 
+    @Override
     public String debugTitle() {
         return "XML Object Store";
     }
 
-
-
-
-    ///////////////////////////////////////////////////////////
+    // /////////////////////////////////////////////////////////
     // Dependencies (injected)
-    ///////////////////////////////////////////////////////////
+    // /////////////////////////////////////////////////////////
 
     /**
      * Set the clock used to generate sequence numbers and last changed dates for version objects.
@@ -427,9 +431,9 @@ public class XmlObjectStore implements O
         FileVersion.setClock(clock);
     }
 
-    ///////////////////////////////////////////////////////////
+    // /////////////////////////////////////////////////////////
     // Dependencies (from singleton)
-    ///////////////////////////////////////////////////////////
+    // /////////////////////////////////////////////////////////
 
     protected static SpecificationLoader getSpecificationLoader() {
         return IsisContext.getSpecificationLoader();
@@ -439,9 +443,8 @@ public class XmlObjectStore implements O
         return getPersistenceSession().getAdapterManager();
     }
 
-	protected static PersistenceSession getPersistenceSession() {
-		return IsisContext.getPersistenceSession();
-	}
-
+    protected static PersistenceSession getPersistenceSession() {
+        return IsisContext.getPersistenceSession();
+    }
 
 }

Modified: incubator/isis/trunk/alternatives/objectstore/xml/src/main/java/org/apache/isis/alternatives/objectstore/xml/internal/data/xml/XmlDataManager.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/alternatives/objectstore/xml/src/main/java/org/apache/isis/alternatives/objectstore/xml/internal/data/xml/XmlDataManager.java?rev=1036307&r1=1036306&r2=1036307&view=diff
==============================================================================
--- incubator/isis/trunk/alternatives/objectstore/xml/src/main/java/org/apache/isis/alternatives/objectstore/xml/internal/data/xml/XmlDataManager.java (original)
+++ incubator/isis/trunk/alternatives/objectstore/xml/src/main/java/org/apache/isis/alternatives/objectstore/xml/internal/data/xml/XmlDataManager.java Thu Nov 18 01:11:40 2010
@@ -34,6 +34,8 @@ import org.apache.isis.alternatives.obje
 import org.apache.isis.alternatives.objectstore.xml.internal.version.FileVersion;
 import org.apache.isis.core.commons.ensure.Assert;
 import org.apache.isis.core.commons.exceptions.IsisException;
+import org.apache.isis.core.commons.xml.ContentWriter;
+import org.apache.isis.core.commons.xml.XmlFile;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.runtime.context.IsisContext;
 import org.apache.isis.core.runtime.persistence.ObjectNotFoundException;

Added: incubator/isis/trunk/alternatives/objectstore/xml/src/main/java/org/apache/isis/alternatives/objectstore/xml/internal/data/xml/XmlFileUtil.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/alternatives/objectstore/xml/src/main/java/org/apache/isis/alternatives/objectstore/xml/internal/data/xml/XmlFileUtil.java?rev=1036307&view=auto
==============================================================================
--- incubator/isis/trunk/alternatives/objectstore/xml/src/main/java/org/apache/isis/alternatives/objectstore/xml/internal/data/xml/XmlFileUtil.java (added)
+++ incubator/isis/trunk/alternatives/objectstore/xml/src/main/java/org/apache/isis/alternatives/objectstore/xml/internal/data/xml/XmlFileUtil.java Thu Nov 18 01:11:40 2010
@@ -0,0 +1,34 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+package org.apache.isis.alternatives.objectstore.xml.internal.data.xml;
+
+import org.apache.isis.core.metamodel.config.ConfigurationConstants;
+import org.apache.isis.core.metamodel.config.IsisConfiguration;
+
+public class XmlFileUtil {
+
+    public static final String ENCODING_PROPERTY = ConfigurationConstants.ROOT + "xmlos.encoding";
+    public static final String DEFAULT_ENCODING = "ISO-8859-1";
+
+    public static String lookupCharset(final IsisConfiguration configuration) {
+        return configuration.getString(ENCODING_PROPERTY, DEFAULT_ENCODING);
+    }
+
+}

Modified: incubator/isis/trunk/alternatives/objectstore/xml/src/main/java/org/apache/isis/alternatives/objectstore/xml/internal/services/xml/XmlServiceManager.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/alternatives/objectstore/xml/src/main/java/org/apache/isis/alternatives/objectstore/xml/internal/services/xml/XmlServiceManager.java?rev=1036307&r1=1036306&r2=1036307&view=diff
==============================================================================
--- incubator/isis/trunk/alternatives/objectstore/xml/src/main/java/org/apache/isis/alternatives/objectstore/xml/internal/services/xml/XmlServiceManager.java (original)
+++ incubator/isis/trunk/alternatives/objectstore/xml/src/main/java/org/apache/isis/alternatives/objectstore/xml/internal/services/xml/XmlServiceManager.java Thu Nov 18 01:11:40 2010
@@ -25,10 +25,10 @@ import java.io.Writer;
 import java.util.Enumeration;
 import java.util.Vector;
 
-import org.apache.isis.alternatives.objectstore.xml.internal.data.xml.ContentWriter;
-import org.apache.isis.alternatives.objectstore.xml.internal.data.xml.XmlFile;
 import org.apache.isis.alternatives.objectstore.xml.internal.services.ServiceManager;
 import org.apache.isis.core.commons.ensure.Assert;
+import org.apache.isis.core.commons.xml.ContentWriter;
+import org.apache.isis.core.commons.xml.XmlFile;
 import org.apache.isis.core.metamodel.adapter.oid.Oid;
 import org.apache.isis.core.runtime.persistence.oidgenerator.simple.SerialOid;
 import org.xml.sax.Attributes;

Modified: incubator/isis/trunk/alternatives/objectstore/xml/src/test/java/org/apache/isis/alternatives/objectstore/xml/internal/data/xml/XmlDataManagerInstancesTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/alternatives/objectstore/xml/src/test/java/org/apache/isis/alternatives/objectstore/xml/internal/data/xml/XmlDataManagerInstancesTest.java?rev=1036307&r1=1036306&r2=1036307&view=diff
==============================================================================
--- incubator/isis/trunk/alternatives/objectstore/xml/src/test/java/org/apache/isis/alternatives/objectstore/xml/internal/data/xml/XmlDataManagerInstancesTest.java (original)
+++ incubator/isis/trunk/alternatives/objectstore/xml/src/test/java/org/apache/isis/alternatives/objectstore/xml/internal/data/xml/XmlDataManagerInstancesTest.java Thu Nov 18 01:11:40 2010
@@ -17,7 +17,6 @@
  *  under the License.
  */
 
-
 package org.apache.isis.alternatives.objectstore.xml.internal.data.xml;
 
 import java.io.File;
@@ -27,12 +26,12 @@ import org.apache.isis.alternatives.obje
 import org.apache.isis.alternatives.objectstore.xml.internal.data.ObjectData;
 import org.apache.isis.alternatives.objectstore.xml.internal.data.ObjectDataVector;
 import org.apache.isis.alternatives.objectstore.xml.internal.version.FileVersion;
+import org.apache.isis.core.commons.xml.XmlFile;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.runtime.persistence.oidgenerator.simple.SerialOid;
 import org.apache.isis.core.runtime.testsystem.ProxyJunit3TestCase;
 import org.apache.log4j.Logger;
 
-
 public class XmlDataManagerInstancesTest extends ProxyJunit3TestCase {
     private static final Logger LOG = Logger.getLogger(XmlDataManagerInstancesTest.class);
 
@@ -52,7 +51,8 @@ public class XmlDataManagerInstancesTest
         super.setUp();
 
         clearTestDirectory();
-        manager = new XmlDataManager(new XmlFile(system.getConfiguration(), "tmp/tests"));
+        String charset = XmlFileUtil.lookupCharset(system.getConfiguration());
+        manager = new XmlDataManager(new XmlFile(charset, "tmp/tests"));
 
         FileVersion.setClock(new DefaultClock());
 
@@ -66,13 +66,14 @@ public class XmlDataManagerInstancesTest
             data[i] = new ObjectData(type, oids[i], new FileVersion("user", 13));
             manager.insertObject(data[i]);
         }
-        
+
         LOG.debug("test starting...");
     }
 
     protected static void clearTestDirectory() {
         final File directory = new File("tmp" + File.separator + "tests");
         final String[] files = directory.list(new FilenameFilter() {
+            @Override
             public boolean accept(final File arg0, final String name) {
                 return name.endsWith(".xml");
             }
@@ -106,7 +107,7 @@ public class XmlDataManagerInstancesTest
             assertFalse(instances.element(i) == data[2]);
         }
 
-        assertNull(((ObjectData) manager.loadData(oid)));
+        assertNull((manager.loadData(oid)));
     }
 
     public void testSaveObject() throws Exception {
@@ -123,8 +124,8 @@ public class XmlDataManagerInstancesTest
 
     /*
      * public void xxxtestInsertValues() throws ObjectStoreException { ObjectSpecification type =
-     * Isis.getSpecificationLoader().loadSpecification(ValueObjectExample.class.getName()); SerialOid
-     * oid = new SerialOid(99); ObjectData data = new ObjectData(type, oid);
+     * Isis.getSpecificationLoader().loadSpecification(ValueObjectExample.class.getName()); SerialOid oid = new
+     * SerialOid(99); ObjectData data = new ObjectData(type, oid);
      * 
      * 
      * Date date1 = new Date(); date1.add(1,2,3); data.saveValue("Date", date1);
@@ -140,8 +141,7 @@ public class XmlDataManagerInstancesTest
      * 
      * Option option1 = new Option(new String[] {"Fred", "Sam", "joe"}, 1); data.saveValue("Option", option1);
      * 
-     * Percentage percentage1 = new Percentage(); percentage1.setValue(95); data.saveValue("Percentage",
-     * percentage1);
+     * Percentage percentage1 = new Percentage(); percentage1.setValue(95); data.saveValue("Percentage", percentage1);
      * 
      * TextString textString1 = new TextString("Fred"); data.saveValue("Text String", textString1);
      * 
@@ -149,11 +149,9 @@ public class XmlDataManagerInstancesTest
      * 
      * Time time1 = new Time(); time1.add(1,30); data.saveValue("Time", time1);
      * 
-     * URLString urlString1 = new URLString("http://isis.apache.org/"); data.saveValue("Url String",
-     * urlString1);
+     * URLString urlString1 = new URLString("http://isis.apache.org/"); data.saveValue("Url String", urlString1);
      * 
-     * WholeNumber number1 = new WholeNumber(); number1.setValue(435422); data.saveValue("Whole Number",
-     * number1);
+     * WholeNumber number1 = new WholeNumber(); number1.setValue(435422); data.saveValue("Whole Number", number1);
      * 
      * 
      * manager.insert(data);
@@ -169,34 +167,33 @@ public class XmlDataManagerInstancesTest
      * 
      * Label label2 = new Label(); object.restoreValue("Label", label2); assertEquals(label1, label2);
      * 
-     * Logical logical2 = new Logical(); object.restoreValue("Logical", logical2); assertEquals(logical1,
-     * logical2);
+     * Logical logical2 = new Logical(); object.restoreValue("Logical", logical2); assertEquals(logical1, logical2);
      * 
      * Money money2 = new Money(); object.restoreValue("Money", money2); assertEquals(money1, money2);
      * 
-     * Option option2 = new Option(new String [] {"Fred", "Sam", "joe"}); object.restoreValue("Option",
-     * option2); assertEquals(option1, option2);
+     * Option option2 = new Option(new String [] {"Fred", "Sam", "joe"}); object.restoreValue("Option", option2);
+     * assertEquals(option1, option2);
      * 
      * Percentage percentage2 = new Percentage(); object.restoreValue("Percentage", percentage2);
      * assertEquals(percentage1, percentage2);
      * 
      * Time time2 = new Time(); object.restoreValue("Time", time2); assertEquals(time1, time2);
      * 
-     * DateTime timestamp2 = new DateTime(); object.restoreValue("Time Stamp", timestamp2);
-     * assertEquals(timestamp1, timestamp2);
+     * DateTime timestamp2 = new DateTime(); object.restoreValue("Time Stamp", timestamp2); assertEquals(timestamp1,
+     * timestamp2);
      * 
      * TextString textString2 = new TextString(); object.restoreValue("Text String", textString2);
      * assertEquals(textString1, textString2);
      * 
-     * URLString urlString2 = new URLString(); object.restoreValue("Url String", urlString2);
-     * assertEquals(urlString1, urlString2);
+     * URLString urlString2 = new URLString(); object.restoreValue("Url String", urlString2); assertEquals(urlString1,
+     * urlString2);
      * 
-     * WholeNumber number2 = new WholeNumber(); object.restoreValue("Whole Number", number2);
-     * assertEquals(number1, number2); }
+     * WholeNumber number2 = new WholeNumber(); object.restoreValue("Whole Number", number2); assertEquals(number1,
+     * number2); }
      * 
      * public void xxxtestSaveValues() throws ObjectStoreException { ObjectSpecification type =
-     * Isis.getSpecificationLoader().loadSpecification(ValueObjectExample.class.getName()); SerialOid
-     * oid = new SerialOid(99); ObjectData data = new ObjectData(type, oid);
+     * Isis.getSpecificationLoader().loadSpecification(ValueObjectExample.class.getName()); SerialOid oid = new
+     * SerialOid(99); ObjectData data = new ObjectData(type, oid);
      * 
      * manager.insert(data);
      * 
@@ -214,8 +211,7 @@ public class XmlDataManagerInstancesTest
      * 
      * Option option1 = new Option(new String[] {"Fred", "Sam", "joe"}, 1); data.saveValue("Option", option1);
      * 
-     * Percentage percentage1 = new Percentage(); percentage1.setValue(95); data.saveValue("Percentage",
-     * percentage1);
+     * Percentage percentage1 = new Percentage(); percentage1.setValue(95); data.saveValue("Percentage", percentage1);
      * 
      * TextString textString1 = new TextString("Fred"); data.saveValue("Text String", textString1);
      * 
@@ -223,11 +219,9 @@ public class XmlDataManagerInstancesTest
      * 
      * Time time1 = new Time(); time1.add(1,30); data.saveValue("Time", time1);
      * 
-     * URLString urlString1 = new URLString("http://isis.apache.org/"); data.saveValue("Url String",
-     * urlString1);
+     * URLString urlString1 = new URLString("http://isis.apache.org/"); data.saveValue("Url String", urlString1);
      * 
-     * WholeNumber number1 = new WholeNumber(); number1.setValue(435422); data.saveValue("Whole Number",
-     * number1);
+     * WholeNumber number1 = new WholeNumber(); number1.setValue(435422); data.saveValue("Whole Number", number1);
      * 
      * 
      * manager.save(data);
@@ -243,32 +237,30 @@ public class XmlDataManagerInstancesTest
      * 
      * Label label2 = new Label(); object.restoreValue("Label", label2); assertEquals(label1, label2);
      * 
-     * Logical logical2 = new Logical(); object.restoreValue("Logical", logical2); assertEquals(logical1,
-     * logical2);
+     * Logical logical2 = new Logical(); object.restoreValue("Logical", logical2); assertEquals(logical1, logical2);
      * 
      * Money money2 = new Money(); object.restoreValue("Money", money2); assertEquals(money1, money2);
      * 
-     * Option option2 = new Option(new String [] {"Fred", "Sam", "joe"}); object.restoreValue("Option",
-     * option2); assertEquals(option1, option2);
+     * Option option2 = new Option(new String [] {"Fred", "Sam", "joe"}); object.restoreValue("Option", option2);
+     * assertEquals(option1, option2);
      * 
      * Percentage percentage2 = new Percentage(); object.restoreValue("Percentage", percentage2);
      * assertEquals(percentage1, percentage2);
      * 
      * Time time2 = new Time(); object.restoreValue("Time", time2); assertEquals(time1, time2);
      * 
-     * DateTime timestamp2 = new DateTime(); object.restoreValue("Time Stamp", timestamp2);
-     * assertEquals(timestamp1, timestamp2);
+     * DateTime timestamp2 = new DateTime(); object.restoreValue("Time Stamp", timestamp2); assertEquals(timestamp1,
+     * timestamp2);
      * 
      * TextString textString2 = new TextString(); object.restoreValue("Text String", textString2);
      * assertEquals(textString1, textString2);
      * 
-     * URLString urlString2 = new URLString(); object.restoreValue("Url String", urlString2);
-     * assertEquals(urlString1, urlString2);
-     * 
-     * WholeNumber number2 = new WholeNumber(); object.restoreValue("Whole Number", number2);
-     * assertEquals(number1, number2);
+     * URLString urlString2 = new URLString(); object.restoreValue("Url String", urlString2); assertEquals(urlString1,
+     * urlString2);
      * 
-     *  }
+     * WholeNumber number2 = new WholeNumber(); object.restoreValue("Whole Number", number2); assertEquals(number1,
+     * number2);
      * 
+     * }
      */
 }

Modified: incubator/isis/trunk/alternatives/objectstore/xml/src/test/java/org/apache/isis/alternatives/objectstore/xml/internal/data/xml/XmlDataManagerTest.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/alternatives/objectstore/xml/src/test/java/org/apache/isis/alternatives/objectstore/xml/internal/data/xml/XmlDataManagerTest.java?rev=1036307&r1=1036306&r2=1036307&view=diff
==============================================================================
--- incubator/isis/trunk/alternatives/objectstore/xml/src/test/java/org/apache/isis/alternatives/objectstore/xml/internal/data/xml/XmlDataManagerTest.java (original)
+++ incubator/isis/trunk/alternatives/objectstore/xml/src/test/java/org/apache/isis/alternatives/objectstore/xml/internal/data/xml/XmlDataManagerTest.java Thu Nov 18 01:11:40 2010
@@ -17,7 +17,6 @@
  *  under the License.
  */
 
-
 package org.apache.isis.alternatives.objectstore.xml.internal.data.xml;
 
 import java.io.File;
@@ -29,13 +28,13 @@ import org.apache.isis.alternatives.obje
 import org.apache.isis.alternatives.objectstore.xml.internal.data.Role;
 import org.apache.isis.alternatives.objectstore.xml.internal.data.Team;
 import org.apache.isis.alternatives.objectstore.xml.internal.version.FileVersion;
+import org.apache.isis.core.commons.xml.XmlFile;
 import org.apache.isis.core.metamodel.spec.ObjectSpecification;
 import org.apache.isis.core.runtime.context.IsisContext;
 import org.apache.isis.core.runtime.persistence.oidgenerator.simple.SerialOid;
 import org.apache.isis.core.runtime.testsystem.ProxyJunit3TestCase;
 import org.apache.isis.core.runtime.transaction.ObjectPersistenceException;
 
-
 public class XmlDataManagerTest extends ProxyJunit3TestCase {
     protected XmlDataManager manager;
 
@@ -46,7 +45,8 @@ public class XmlDataManagerTest extends 
         FileVersion.setClock(new DefaultClock());
 
         clearTestDirectory();
-        manager = new XmlDataManager(new XmlFile(system.getConfiguration(), "tmp/tests"));
+        String charset = XmlFileUtil.lookupCharset(system.getConfiguration());
+        manager = new XmlDataManager(new XmlFile(charset, "tmp/tests"));
     }
 
     @Override
@@ -57,6 +57,7 @@ public class XmlDataManagerTest extends 
     protected static void clearTestDirectory() {
         final File directory = new File("tmp" + File.separator + "tests");
         final String[] files = directory.list(new FilenameFilter() {
+            @Override
             public boolean accept(final File arg0, final String name) {
                 return name.endsWith(".xml");
             }
@@ -142,8 +143,8 @@ public class XmlDataManagerTest extends 
 
     /*
      * public void xxxtestInsertValues() throws ObjectStoreException { ObjectSpecification type =
-     * Isis.getSpecificationLoader().loadSpecification(ValueObjectExample.class.getName()); SerialOid
-     * oid = new SerialOid(99); ObjectData data = new ObjectData(type, oid);
+     * Isis.getSpecificationLoader().loadSpecification(ValueObjectExample.class.getName()); SerialOid oid = new
+     * SerialOid(99); ObjectData data = new ObjectData(type, oid);
      * 
      * 
      * Date date1 = new Date(); date1.add(1,2,3); data.saveValue("Date", date1);
@@ -159,8 +160,7 @@ public class XmlDataManagerTest extends 
      * 
      * Option option1 = new Option(new String[] {"Fred", "Sam", "joe"}, 1); data.saveValue("Option", option1);
      * 
-     * Percentage percentage1 = new Percentage(); percentage1.setValue(95); data.saveValue("Percentage",
-     * percentage1);
+     * Percentage percentage1 = new Percentage(); percentage1.setValue(95); data.saveValue("Percentage", percentage1);
      * 
      * TextString textString1 = new TextString("Fred"); data.saveValue("Text String", textString1);
      * 
@@ -168,11 +168,9 @@ public class XmlDataManagerTest extends 
      * 
      * Time time1 = new Time(); time1.add(1,30); data.saveValue("Time", time1);
      * 
-     * URLString urlString1 = new URLString("http://isis.apache.org/"); data.saveValue("Url String",
-     * urlString1);
+     * URLString urlString1 = new URLString("http://isis.apache.org/"); data.saveValue("Url String", urlString1);
      * 
-     * WholeNumber number1 = new WholeNumber(); number1.setValue(435422); data.saveValue("Whole Number",
-     * number1);
+     * WholeNumber number1 = new WholeNumber(); number1.setValue(435422); data.saveValue("Whole Number", number1);
      * 
      * 
      * manager.insert(data);
@@ -188,34 +186,33 @@ public class XmlDataManagerTest extends 
      * 
      * Label label2 = new Label(); object.restoreValue("Label", label2); assertEquals(label1, label2);
      * 
-     * Logical logical2 = new Logical(); object.restoreValue("Logical", logical2); assertEquals(logical1,
-     * logical2);
+     * Logical logical2 = new Logical(); object.restoreValue("Logical", logical2); assertEquals(logical1, logical2);
      * 
      * Money money2 = new Money(); object.restoreValue("Money", money2); assertEquals(money1, money2);
      * 
-     * Option option2 = new Option(new String [] {"Fred", "Sam", "joe"}); object.restoreValue("Option",
-     * option2); assertEquals(option1, option2);
+     * Option option2 = new Option(new String [] {"Fred", "Sam", "joe"}); object.restoreValue("Option", option2);
+     * assertEquals(option1, option2);
      * 
      * Percentage percentage2 = new Percentage(); object.restoreValue("Percentage", percentage2);
      * assertEquals(percentage1, percentage2);
      * 
      * Time time2 = new Time(); object.restoreValue("Time", time2); assertEquals(time1, time2);
      * 
-     * DateTime timestamp2 = new DateTime(); object.restoreValue("Time Stamp", timestamp2);
-     * assertEquals(timestamp1, timestamp2);
+     * DateTime timestamp2 = new DateTime(); object.restoreValue("Time Stamp", timestamp2); assertEquals(timestamp1,
+     * timestamp2);
      * 
      * TextString textString2 = new TextString(); object.restoreValue("Text String", textString2);
      * assertEquals(textString1, textString2);
      * 
-     * URLString urlString2 = new URLString(); object.restoreValue("Url String", urlString2);
-     * assertEquals(urlString1, urlString2);
+     * URLString urlString2 = new URLString(); object.restoreValue("Url String", urlString2); assertEquals(urlString1,
+     * urlString2);
      * 
-     * WholeNumber number2 = new WholeNumber(); object.restoreValue("Whole Number", number2);
-     * assertEquals(number1, number2); }
+     * WholeNumber number2 = new WholeNumber(); object.restoreValue("Whole Number", number2); assertEquals(number1,
+     * number2); }
      * 
      * public void xxxtestSaveValues() throws ObjectStoreException { ObjectSpecification type =
-     * Isis.getSpecificationLoader().loadSpecification(ValueObjectExample.class.getName()); SerialOid
-     * oid = new SerialOid(99); ObjectData data = new ObjectData(type, oid);
+     * Isis.getSpecificationLoader().loadSpecification(ValueObjectExample.class.getName()); SerialOid oid = new
+     * SerialOid(99); ObjectData data = new ObjectData(type, oid);
      * 
      * manager.insert(data);
      * 
@@ -233,8 +230,7 @@ public class XmlDataManagerTest extends 
      * 
      * Option option1 = new Option(new String[] {"Fred", "Sam", "joe"}, 1); data.saveValue("Option", option1);
      * 
-     * Percentage percentage1 = new Percentage(); percentage1.setValue(95); data.saveValue("Percentage",
-     * percentage1);
+     * Percentage percentage1 = new Percentage(); percentage1.setValue(95); data.saveValue("Percentage", percentage1);
      * 
      * TextString textString1 = new TextString("Fred"); data.saveValue("Text String", textString1);
      * 
@@ -242,11 +238,9 @@ public class XmlDataManagerTest extends 
      * 
      * Time time1 = new Time(); time1.add(1,30); data.saveValue("Time", time1);
      * 
-     * URLString urlString1 = new URLString("http://isis.apache.org/"); data.saveValue("Url String",
-     * urlString1);
+     * URLString urlString1 = new URLString("http://isis.apache.org/"); data.saveValue("Url String", urlString1);
      * 
-     * WholeNumber number1 = new WholeNumber(); number1.setValue(435422); data.saveValue("Whole Number",
-     * number1);
+     * WholeNumber number1 = new WholeNumber(); number1.setValue(435422); data.saveValue("Whole Number", number1);
      * 
      * 
      * manager.save(data);
@@ -262,33 +256,31 @@ public class XmlDataManagerTest extends 
      * 
      * Label label2 = new Label(); object.restoreValue("Label", label2); assertEquals(label1, label2);
      * 
-     * Logical logical2 = new Logical(); object.restoreValue("Logical", logical2); assertEquals(logical1,
-     * logical2);
+     * Logical logical2 = new Logical(); object.restoreValue("Logical", logical2); assertEquals(logical1, logical2);
      * 
      * Money money2 = new Money(); object.restoreValue("Money", money2); assertEquals(money1, money2);
      * 
-     * Option option2 = new Option(new String [] {"Fred", "Sam", "joe"}); object.restoreValue("Option",
-     * option2); assertEquals(option1, option2);
+     * Option option2 = new Option(new String [] {"Fred", "Sam", "joe"}); object.restoreValue("Option", option2);
+     * assertEquals(option1, option2);
      * 
      * Percentage percentage2 = new Percentage(); object.restoreValue("Percentage", percentage2);
      * assertEquals(percentage1, percentage2);
      * 
      * Time time2 = new Time(); object.restoreValue("Time", time2); assertEquals(time1, time2);
      * 
-     * DateTime timestamp2 = new DateTime(); object.restoreValue("Time Stamp", timestamp2);
-     * assertEquals(timestamp1, timestamp2);
+     * DateTime timestamp2 = new DateTime(); object.restoreValue("Time Stamp", timestamp2); assertEquals(timestamp1,
+     * timestamp2);
      * 
      * TextString textString2 = new TextString(); object.restoreValue("Text String", textString2);
      * assertEquals(textString1, textString2);
      * 
-     * URLString urlString2 = new URLString(); object.restoreValue("Url String", urlString2);
-     * assertEquals(urlString1, urlString2);
-     * 
-     * WholeNumber number2 = new WholeNumber(); object.restoreValue("Whole Number", number2);
-     * assertEquals(number1, number2);
+     * URLString urlString2 = new URLString(); object.restoreValue("Url String", urlString2); assertEquals(urlString1,
+     * urlString2);
      * 
-     *  }
+     * WholeNumber number2 = new WholeNumber(); object.restoreValue("Whole Number", number2); assertEquals(number1,
+     * number2);
      * 
+     * }
      */
 
     private ObjectData createData(final Class<?> type, final long id, final FileVersion version) {

Modified: incubator/isis/trunk/alternatives/pom.xml
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/alternatives/pom.xml?rev=1036307&r1=1036306&r2=1036307&view=diff
==============================================================================
--- incubator/isis/trunk/alternatives/pom.xml (original)
+++ incubator/isis/trunk/alternatives/pom.xml Thu Nov 18 01:11:40 2010
@@ -32,6 +32,7 @@
 		<module>bytecode</module>
 		<module>security</module>
 		<module>objectstore</module>
+		<module>profilestore</module>
 		<module>progmodel</module>
 		<module>remoting</module>
 		<module>embedded</module>

Propchange: incubator/isis/trunk/alternatives/profilestore/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Thu Nov 18 01:11:40 2010
@@ -0,0 +1,3 @@
+.settings
+target
+.project

Propchange: incubator/isis/trunk/alternatives/profilestore/xml/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Thu Nov 18 01:11:40 2010
@@ -0,0 +1,4 @@
+.settings
+target
+.classpath
+.project

Propchange: incubator/isis/trunk/alternatives/profilestore/xml/src/docbkx/
------------------------------------------------------------------------------
--- svn:externals (added)
+++ svn:externals Thu Nov 18 01:11:40 2010
@@ -0,0 +1,3 @@
+../../../../../src/docbkx/dtd-4.5 dtd-4.5
+../../../../../src/docbkx/style style
+../../../../../src/docbkx/images images

Modified: incubator/isis/trunk/alternatives/profilestore/xml/src/main/java/org/apache/isis/alternatives/profilestore/xml/XmlUserProfileStore.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/alternatives/profilestore/xml/src/main/java/org/apache/isis/alternatives/profilestore/xml/XmlUserProfileStore.java?rev=1036307&r1=1036306&r2=1036307&view=diff
==============================================================================
--- incubator/isis/trunk/alternatives/profilestore/xml/src/main/java/org/apache/isis/alternatives/profilestore/xml/XmlUserProfileStore.java (original)
+++ incubator/isis/trunk/alternatives/profilestore/xml/src/main/java/org/apache/isis/alternatives/profilestore/xml/XmlUserProfileStore.java Thu Nov 18 01:11:40 2010
@@ -17,12 +17,12 @@
  *  under the License.
  */
 
-
 package org.apache.isis.alternatives.profilestore.xml;
 
-import org.apache.isis.alternatives.objectstore.xml.internal.data.xml.XmlFile;
 import org.apache.isis.alternatives.profilestore.xml.internal.UserProfileContentWriter;
 import org.apache.isis.alternatives.profilestore.xml.internal.UserProfileDataHandler;
+import org.apache.isis.alternatives.profilestore.xml.internal.XmlFileUtil;
+import org.apache.isis.core.commons.xml.XmlFile;
 import org.apache.isis.core.metamodel.config.ConfigurationConstants;
 import org.apache.isis.core.metamodel.config.IsisConfiguration;
 import org.apache.isis.core.runtime.userprofile.UserProfile;
@@ -30,7 +30,6 @@ import org.apache.isis.core.runtime.user
 
 import com.google.inject.Inject;
 
-
 public class XmlUserProfileStore implements UserProfileStore {
 
     private static final String XML_DIR = ConfigurationConstants.ROOT + "xmluserprofile.dir";
@@ -39,9 +38,10 @@ public class XmlUserProfileStore impleme
     @Inject
     public XmlUserProfileStore(IsisConfiguration configuration) {
         String directory = configuration.getString(XML_DIR, "xml/profiles");
-        xmlFile = new XmlFile(configuration, directory);
+        xmlFile = new XmlFile(XmlFileUtil.lookupCharset(configuration), directory);
     }
 
+    @Override
     public UserProfile getUserProfile(String userName) {
         final UserProfileDataHandler handler = new UserProfileDataHandler();
         if (xmlFile.parse(handler, userName)) {
@@ -51,13 +51,14 @@ public class XmlUserProfileStore impleme
         }
     }
 
+    @Override
     public boolean isFixturesInstalled() {
         return xmlFile.isFixturesInstalled();
     }
 
+    @Override
     public void save(final String userName, final UserProfile userProfile) {
         xmlFile.writeXml(userName, new UserProfileContentWriter(userProfile));
     }
 
 }
-

Modified: incubator/isis/trunk/alternatives/profilestore/xml/src/main/java/org/apache/isis/alternatives/profilestore/xml/internal/UserProfileContentWriter.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/alternatives/profilestore/xml/src/main/java/org/apache/isis/alternatives/profilestore/xml/internal/UserProfileContentWriter.java?rev=1036307&r1=1036306&r2=1036307&view=diff
==============================================================================
--- incubator/isis/trunk/alternatives/profilestore/xml/src/main/java/org/apache/isis/alternatives/profilestore/xml/internal/UserProfileContentWriter.java (original)
+++ incubator/isis/trunk/alternatives/profilestore/xml/src/main/java/org/apache/isis/alternatives/profilestore/xml/internal/UserProfileContentWriter.java Thu Nov 18 01:11:40 2010
@@ -17,7 +17,6 @@
  *  under the License.
  */
 
-
 package org.apache.isis.alternatives.profilestore.xml.internal;
 
 import java.io.ByteArrayOutputStream;
@@ -27,7 +26,7 @@ import java.io.Writer;
 import java.util.Iterator;
 
 import org.apache.commons.lang.StringUtils;
-import org.apache.isis.alternatives.objectstore.xml.internal.data.xml.ContentWriter;
+import org.apache.isis.core.commons.xml.ContentWriter;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.encoding.DataOutputStreamExtended;
 import org.apache.isis.core.runtime.context.IsisContext;
@@ -37,7 +36,7 @@ import org.apache.isis.core.runtime.user
 import org.apache.isis.core.runtime.userprofile.PerspectiveEntry;
 import org.apache.isis.core.runtime.userprofile.UserProfile;
 
-public class UserProfileContentWriter  implements ContentWriter {
+public class UserProfileContentWriter implements ContentWriter {
     private final UserProfile userProfile;
 
     public UserProfileContentWriter(UserProfile userProfile) {
@@ -47,48 +46,48 @@ public class UserProfileContentWriter  i
     public void write(Writer writer) throws IOException {
         final StringBuffer xml = new StringBuffer();
         xml.append("<profile>\n");
-        
+
         Options options = userProfile.getOptions();
         writeOptions(xml, options, null, 0);
-        
+
         xml.append("  <perspectives>\n");
         for (String perspectiveName : userProfile.list()) {
             PerspectiveEntry perspective = userProfile.getPerspective(perspectiveName);
-            
-            xml.append("    <perspective" + attribute("name", perspectiveName)+ ">\n");
+
+            xml.append("    <perspective" + attribute("name", perspectiveName) + ">\n");
             xml.append("      <services>\n");
             for (Object service : perspective.getServices()) {
-                xml.append("        <service " + attribute("id", ServiceUtil.id(service))+ "/>\n"); 
+                xml.append("        <service " + attribute("id", ServiceUtil.id(service)) + "/>\n");
             }
             xml.append("      </services>\n");
             xml.append("      <objects>\n");
-            for (Object object : perspective.getObjects()){
+            for (Object object : perspective.getObjects()) {
                 ObjectAdapter adapter = getPersistenceSession().getAdapterManager().adapterFor(object);
                 OutputStream out = new ByteArrayOutputStream();
-                DataOutputStreamExtended outputImpl   = new DataOutputStreamExtended(out);
+                DataOutputStreamExtended outputImpl = new DataOutputStreamExtended(out);
                 adapter.getOid().encode(outputImpl);
                 // FIX need to sort out encoding
-                //xml.append("      <object>" + out.toString() + "</object>\n");
+                // xml.append("      <object>" + out.toString() + "</object>\n");
                 xml.append("        <object>" + "not yet encoding properly" + "</object>\n");
             }
             xml.append("      </objects>\n");
             xml.append("    </perspective>\n");
         }
         xml.append("  </perspectives>\n");
-        
+
         xml.append("</profile>\n");
-        
+
         writer.write(xml.toString());
     }
 
     private void writeOptions(final StringBuffer xml, Options options, String name1, int level) {
         String spaces = StringUtils.repeat("  ", level);
-        
+
         Iterator<String> names = options.names();
         if (level == 0 || names.hasNext()) {
             xml.append(spaces + "  <options");
             if (name1 != null) {
-                xml.append(" id=\""+ name1 + "\"");
+                xml.append(" id=\"" + name1 + "\"");
             }
             xml.append(">\n");
             while (names.hasNext()) {
@@ -96,7 +95,8 @@ public class UserProfileContentWriter  i
                 if (options.isOptions(name)) {
                     writeOptions(xml, options.getOptions(name), name, level + 1);
                 } else {
-                    xml.append(spaces + "    <option" + attribute("id", name)+ ">"+ options.getString(name) + "</option>\n");
+                    xml.append(spaces + "    <option" + attribute("id", name) + ">" + options.getString(name)
+                        + "</option>\n");
                 }
             }
             xml.append(spaces + "  </options>\n");
@@ -107,16 +107,12 @@ public class UserProfileContentWriter  i
         return " " + name + "=\"" + value + "\"";
     }
 
-    /////////////////////////////////////////////////////
+    // ///////////////////////////////////////////////////
     // Dependencies (from context)
-    /////////////////////////////////////////////////////
-    
-    
+    // ///////////////////////////////////////////////////
+
     protected static PersistenceSession getPersistenceSession() {
         return IsisContext.getPersistenceSession();
     }
-    
 
 }
-
-

Added: incubator/isis/trunk/alternatives/profilestore/xml/src/main/java/org/apache/isis/alternatives/profilestore/xml/internal/XmlFileUtil.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/alternatives/profilestore/xml/src/main/java/org/apache/isis/alternatives/profilestore/xml/internal/XmlFileUtil.java?rev=1036307&view=auto
==============================================================================
--- incubator/isis/trunk/alternatives/profilestore/xml/src/main/java/org/apache/isis/alternatives/profilestore/xml/internal/XmlFileUtil.java (added)
+++ incubator/isis/trunk/alternatives/profilestore/xml/src/main/java/org/apache/isis/alternatives/profilestore/xml/internal/XmlFileUtil.java Thu Nov 18 01:11:40 2010
@@ -0,0 +1,34 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
+
+package org.apache.isis.alternatives.profilestore.xml.internal;
+
+import org.apache.isis.core.metamodel.config.ConfigurationConstants;
+import org.apache.isis.core.metamodel.config.IsisConfiguration;
+
+public class XmlFileUtil {
+
+    public static final String ENCODING_PROPERTY = ConfigurationConstants.ROOT + "xmlos.encoding";
+    public static final String DEFAULT_ENCODING = "ISO-8859-1";
+
+    public static String lookupCharset(final IsisConfiguration configuration) {
+        return configuration.getString(ENCODING_PROPERTY, DEFAULT_ENCODING);
+    }
+
+}

Added: incubator/isis/trunk/alternatives/profilestore/xml/test.xml
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/alternatives/profilestore/xml/test.xml?rev=1036307&view=auto
==============================================================================
--- incubator/isis/trunk/alternatives/profilestore/xml/test.xml (added)
+++ incubator/isis/trunk/alternatives/profilestore/xml/test.xml Thu Nov 18 01:11:40 2010
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+
+<profile>
+  <options>
+    <option id="power">on</option>
+    <option id="height">50</option>
+    <options id="opts">
+        <option id="option1">value1</option>
+        <options id="options3">
+            <option id="option4">value4</option>
+            <option id="option5">value5</option>
+        </options>
+        <option id="option2">value2</option>
+    </options>
+  </options>
+  <perspectives>
+  <perspective name="Library">
+    <services>
+      <service  id="Service one"/>
+      <service  id="Service two"/>
+      <service  id="Service three"/>
+    </services>
+    <objects>
+    </objects>
+  </perspective>
+  <perspective name="Admin">
+    <services>
+      <service  id="repository#org.apache.isis.xmlpersistence.profilestore.TestServiceObject"/>
+      <service  id="test service"/>
+    </services>
+    <objects>
+    </objects>
+  </perspective>
+  </perspectives>
+</profile>

Copied: incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/xml/ContentWriter.java (from r1036141, incubator/isis/trunk/alternatives/objectstore/xml/src/main/java/org/apache/isis/alternatives/objectstore/xml/internal/data/xml/ContentWriter.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/xml/ContentWriter.java?p2=incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/xml/ContentWriter.java&p1=incubator/isis/trunk/alternatives/objectstore/xml/src/main/java/org/apache/isis/alternatives/objectstore/xml/internal/data/xml/ContentWriter.java&r1=1036141&r2=1036307&rev=1036307&view=diff
==============================================================================
--- incubator/isis/trunk/alternatives/objectstore/xml/src/main/java/org/apache/isis/alternatives/objectstore/xml/internal/data/xml/ContentWriter.java (original)
+++ incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/xml/ContentWriter.java Thu Nov 18 01:11:40 2010
@@ -18,7 +18,7 @@
  */
 
 
-package org.apache.isis.alternatives.objectstore.xml.internal.data.xml;
+package org.apache.isis.core.commons.xml;
 
 import java.io.IOException;
 import java.io.Writer;

Copied: incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/xml/XmlFile.java (from r1036141, incubator/isis/trunk/alternatives/objectstore/xml/src/main/java/org/apache/isis/alternatives/objectstore/xml/internal/data/xml/XmlFile.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/xml/XmlFile.java?p2=incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/xml/XmlFile.java&p1=incubator/isis/trunk/alternatives/objectstore/xml/src/main/java/org/apache/isis/alternatives/objectstore/xml/internal/data/xml/XmlFile.java&r1=1036141&r2=1036307&rev=1036307&view=diff
==============================================================================
--- incubator/isis/trunk/alternatives/objectstore/xml/src/main/java/org/apache/isis/alternatives/objectstore/xml/internal/data/xml/XmlFile.java (original)
+++ incubator/isis/trunk/core/commons/src/main/java/org/apache/isis/core/commons/xml/XmlFile.java Thu Nov 18 01:11:40 2010
@@ -17,8 +17,7 @@
  *  under the License.
  */
 
-
-package org.apache.isis.alternatives.objectstore.xml.internal.data.xml;
+package org.apache.isis.core.commons.xml;
 
 import java.io.File;
 import java.io.FileInputStream;
@@ -30,8 +29,6 @@ import java.io.InputStreamReader;
 import java.io.OutputStreamWriter;
 
 import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.core.metamodel.config.ConfigurationConstants;
-import org.apache.isis.core.metamodel.config.IsisConfiguration;
 import org.xml.sax.ContentHandler;
 import org.xml.sax.InputSource;
 import org.xml.sax.SAXException;
@@ -39,24 +36,21 @@ import org.xml.sax.SAXParseException;
 import org.xml.sax.XMLReader;
 import org.xml.sax.helpers.XMLReaderFactory;
 
-
 public class XmlFile {
-    private static final String ENCODING_PROPERTY = ConfigurationConstants.ROOT + "xmlos.encoding";
-    public static final String DEFAULT_ENCODING = "ISO-8859-1";
-    private static final String[] escapeString = { "&amp;", "&lt;", "&gt;", "&quot;", "&apos;" };
-    private static final String[] specialChars = { "&", "<", ">", "\"", "'" };
+    private static final String[] ESCAPE_STRING = { "&amp;", "&lt;", "&gt;", "&quot;", "&apos;" };
+    private static final String[] SPECIAL_CHARACTERS = { "&", "<", ">", "\"", "'" };
 
     public static String getValueWithSpecialsEscaped(final String s) {
         String result = s;
-        for (int i = 0; i < specialChars.length; i++) {
-            final String special = specialChars[i];
+        for (int i = 0; i < SPECIAL_CHARACTERS.length; i++) {
+            final String special = SPECIAL_CHARACTERS[i];
             int pos = -1;
             while (true) {
                 pos = result.indexOf(special, pos + 1);
                 if (pos < 0) {
                     break;
                 }
-                result = result.substring(0, pos) + escapeString[i] + result.substring(pos + special.length());
+                result = result.substring(0, pos) + ESCAPE_STRING[i] + result.substring(pos + special.length());
             }
         }
         return result;
@@ -64,21 +58,24 @@ public class XmlFile {
 
     private final String charset;
     private final File directory;
-    private final IsisConfiguration configuration;
 
-    public XmlFile(final IsisConfiguration configuration, final String directory) {
-        this.configuration = configuration;
+    public XmlFile(final String charset, final String directory) {
         this.directory = new File(directory);
-        if (!this.directory.exists()) {
-            this.directory.mkdirs();
+        createDirectoryIfRequired();
+        this.charset = charset;
+    }
+
+    private void createDirectoryIfRequired() {
+        if (this.directory.exists()) {
+            return;
         }
-        charset = this.configuration.getString(ENCODING_PROPERTY, DEFAULT_ENCODING);
+        this.directory.mkdirs();
     }
 
     public File getDirectory() {
         return directory;
     }
-    
+
     private File file(final String fileName) {
         return new File(directory, fileName + ".xml");
     }
@@ -136,11 +133,11 @@ public class XmlFile {
     }
 
     /**
-     * The XML store is deemed to be initialised if the directory used to store the data has no xml files in
-     * it.
+     * The XML store is deemed to be initialised if the directory used to store the data has no xml files in it.
      */
     public boolean isFixturesInstalled() {
         final String[] list = directory.list(new FilenameFilter() {
+            @Override
             public boolean accept(File dir, String name) {
                 return name.toLowerCase().endsWith(".xml");
             }
@@ -148,4 +145,3 @@ public class XmlFile {
         return list.length > 0;
     }
 }
-

Modified: incubator/isis/trunk/core/runtime/src/main/resources/installer-registry.properties
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/core/runtime/src/main/resources/installer-registry.properties?rev=1036307&r1=1036306&r2=1036307&view=diff
==============================================================================
--- incubator/isis/trunk/core/runtime/src/main/resources/installer-registry.properties (original)
+++ incubator/isis/trunk/core/runtime/src/main/resources/installer-registry.properties Thu Nov 18 01:11:40 2010
@@ -11,9 +11,6 @@ org.apache.isis.core.runtime.fixturesins
 # services
 org.apache.isis.core.runtime.persistence.services.config.ServicesFromConfiguration   # "configuration"
 
-# profile store
-org.apache.isis.core.runtime.userprofile.inmemory.InMemoryUserProfileStoreInstaller # "in-memory"
-
 # reflector decorators
 org.apache.isis.core.runtime.i18n.resourcebundle.ResourceBasedI18nDecoratorInstaller  # "resource-i18n"
 org.apache.isis.core.runtime.help.file.FileBasedHelpDecoratorInstaller                # "help-file"
@@ -40,6 +37,9 @@ org.apache.isis.defaults.progmodel.JavaR
 # objectstore
 org.apache.isis.defaults.objectstore.InMemoryPersistenceMechanismInstaller # "in-memory"
 
+# profile store
+org.apache.isis.core.defaults.userprofile.InMemoryUserProfileStoreInstaller # "in-memory"
+
 
 
 ############################################################
@@ -80,24 +80,30 @@ org.apache.isis.alternatives.remoting.tr
 
 
 ############################################################
-# ALTERNATIVES: OBJECT STORES & PROFILE STORES
+# ALTERNATIVES: OBJECT STORES
 ############################################################
 
 # xml 
 org.apache.isis.alternatives.objectstore.xml.XmlPersistenceMechanismInstaller   # "xml"
-org.apache.isis.alternatives.profilestore.xml.XmlUserProfileStoreLoaderInstaller # "xml"
 
 # sql
 org.apache.isis.alternatives.objectstore.sql.SqlPersistorInstaller
 
-# nosql
-org.apache.isis.alternatives.objectstore.nosql.mongo.MongoPersistorMechanismInstaller   # Mongo DB
+# nosql (todo: will need to split up over multiple JARs)
+org.apache.isis.alternatives.objectstore.nosql.mongo.MongoPersistorMechanismInstaller   # "mongo"
 org.apache.isis.alternatives.objectstore.nosql.file.FileServerPersistorMechanismInstaller   # "file"
 
 
+############################################################
+# ALTERNATIVES: PROFILE STORES
+############################################################
+
+# xml 
+org.apache.isis.alternatives.profilestore.xml.XmlUserProfileStoreLoaderInstaller # "xml"
+
 
 ############################################################
-# VIEWERS
+# VIEWERS (excluding those for remoting)
 ############################################################
 
 # dnd
@@ -106,6 +112,8 @@ org.apache.isis.viewer.dnd.DndViewerInst
 # html
 org.apache.isis.viewer.html.HtmlViewerInstaller  # "html"  (runs within embedded web server)
 
+# restful
+org.apache.isis.viewer.restful.viewer.embedded.RestfulViewerInstaller  # "restful"  (runs within embedded web server)
 
 
 



Mime
View raw message