incubator-isis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From danhayw...@apache.org
Subject svn commit: r1048962 [3/3] - in /incubator/isis/trunk/applib: ./ src/docbkx/guide/ src/docbkx/guide/images/ src/main/java/org/apache/isis/applib/ src/main/java/org/apache/isis/applib/annotation/ src/main/java/org/apache/isis/applib/clock/ src/main/java...
Date Tue, 14 Dec 2010 07:05:40 GMT
Modified: incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/AbstractContainedObject.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/AbstractContainedObject.java?rev=1048962&r1=1048961&r2=1048962&view=diff
==============================================================================
--- incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/AbstractContainedObject.java (original)
+++ incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/AbstractContainedObject.java Tue Dec 14 07:05:38 2010
@@ -260,19 +260,25 @@ public abstract class AbstractContainedO
     // }}
     
     // {{ Injected: Container
+    /**
+	 * @uml.property  name="container"
+	 * @uml.associationEnd  
+	 */
     private DomainObjectContainer container;
 
     /**
-     * This field is not persisted, nor displayed to the user.
-     */
+	 * This field is not persisted, nor displayed to the user.
+	 * @uml.property  name="container"
+	 */
     @Hidden
     protected DomainObjectContainer getContainer() {
         return this.container;
     }
 
     /**
-     * Injected by the application container itself.
-     */
+	 * Injected by the application container itself.
+	 * @uml.property  name="container"
+	 */
     public final void setContainer(final DomainObjectContainer container) {
         this.container = container;
     }

Modified: incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/AbstractService.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/AbstractService.java?rev=1048962&r1=1048961&r2=1048962&view=diff
==============================================================================
--- incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/AbstractService.java (original)
+++ incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/AbstractService.java Tue Dec 14 07:05:38 2010
@@ -23,7 +23,7 @@ package org.apache.isis.applib;
 public abstract class AbstractService extends AbstractContainedObject {
 
     public String getId() {
-        return getClass().getName();
+        return getClassName();
     }
 
     protected String getClassName() {

Modified: incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/DomainObjectContainer.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/DomainObjectContainer.java?rev=1048962&r1=1048961&r2=1048962&view=diff
==============================================================================
--- incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/DomainObjectContainer.java (original)
+++ incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/DomainObjectContainer.java Tue Dec 14 07:05:38 2010
@@ -28,12 +28,11 @@ import org.apache.isis.applib.security.U
 
 
 /**
- * Represents a container that the domain objects work within. It provides access to the persistence mechanism
- * and user interface.
+ * Represents a container that the domain objects work within. It provides access to the persistence mechanism and user interface.
  */
 public interface DomainObjectContainer {
 
-	//////////////////////////////////////////////////////////////////
+    //////////////////////////////////////////////////////////////////
 	// resolve, objectChanged
 	//////////////////////////////////////////////////////////////////
 
@@ -188,7 +187,7 @@ public interface DomainObjectContainer {
 
     /**
      * Warn the user about a situation with the specified message. The container should guarantee to display
-     * this warning to the user.
+     * this warning to the user, and will typically require acknowledgement.
      * 
      * @see #raiseError(String)
      * @see #informUser(String)
@@ -197,7 +196,8 @@ public interface DomainObjectContainer {
 
     /**
      * Notify the user of an application error with the specified message. Note this will probably be
-     * displayed in an alarming fashion, so is only suitable for errors
+     * displayed in an alarming fashion, so is only suitable for errors.  The user will typically
+     * be required to perform additional steps after the error (eg to inform the helpdesk).
      * 
      * @see #warnUser(String)
      * @see #informUser(String)
@@ -228,8 +228,10 @@ public interface DomainObjectContainer {
     //////////////////////////////////////////////////////////////////
 
     /**
-     * Get the details about the current user.
-     */
+	 * Get the details about the current user.
+	 * @uml.property  name="user"
+	 * @uml.associationEnd  
+	 */
     UserMemento getUser();
 
     

Modified: incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/annotation/Hidden.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/annotation/Hidden.java?rev=1048962&r1=1048961&r2=1048962&view=diff
==============================================================================
--- incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/annotation/Hidden.java (original)
+++ incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/annotation/Hidden.java Tue Dec 14 07:05:38 2010
@@ -31,7 +31,7 @@ import java.lang.annotation.Target;
  * Indicates that a property, collection or action is to be hidden from the user.
  * 
  * <p>
- * For a repository action, is equivalent to {@link NotContributed} and also {@link NotInRepositoryMenu}.
+ * For a repository action, is equivalent to {@link NotContributed} and also {@link NotInServiceMenu}.
  */
 @Inherited
 @Target( { ElementType.METHOD })

Modified: incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/annotation/NotContributed.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/annotation/NotContributed.java?rev=1048962&r1=1048961&r2=1048962&view=diff
==============================================================================
--- incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/annotation/NotContributed.java (original)
+++ incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/annotation/NotContributed.java Tue Dec 14 07:05:38 2010
@@ -31,7 +31,7 @@ import java.lang.annotation.Target;
  * Indicates the a (repository) action should be not be contributed.
  * 
  * <p>
- * It may still be appear in the repository menu (unless it has been annotated as {@link NotInRepositoryMenu}).
+ * It may still be appear in the repository menu (unless it has been annotated as {@link NotInServiceMenu}).
  * If {@link Hidden}, then also implies that the menu should not be contributed.
  * 
  * <p>

Copied: incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/annotation/NotInServiceMenu.java (from r1044273, incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/annotation/NotInRepositoryMenu.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/annotation/NotInServiceMenu.java?p2=incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/annotation/NotInServiceMenu.java&p1=incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/annotation/NotInRepositoryMenu.java&r1=1044273&r2=1048962&rev=1048962&view=diff
==============================================================================
--- incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/annotation/NotInRepositoryMenu.java (original)
+++ incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/annotation/NotInServiceMenu.java Tue Dec 14 07:05:38 2010
@@ -28,11 +28,11 @@ import java.lang.annotation.Target;
 
 
 /**
- * Indicates the a (repository) action should be not be displayed in the repository menu.
+ * Indicates the a (service) action should be not be displayed in the service menu.
  * 
  * <p>
  * It may still be contributed (unless it has been annotated as {@link NotContributed}).
- * If {@link Hidden}, then also implies that the menu should not appear in the repository menu.
+ * If {@link Hidden}, then also implies that the menu should not appear in the service menu.
  * 
  * <p>
  * Has no meanings for actions on regular entities.
@@ -40,5 +40,5 @@ import java.lang.annotation.Target;
 @Inherited
 @Target( { ElementType.METHOD })
 @Retention(RetentionPolicy.RUNTIME)
-public @interface NotInRepositoryMenu {}
+public @interface NotInServiceMenu {}
 

Modified: incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/clock/Clock.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/clock/Clock.java?rev=1048962&r1=1048961&r2=1048962&view=diff
==============================================================================
--- incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/clock/Clock.java (original)
+++ incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/clock/Clock.java Tue Dec 14 07:05:38 2010
@@ -21,6 +21,7 @@
 package org.apache.isis.applib.clock;
 
 import java.util.Calendar;
+import java.util.Date;
 
 import org.apache.isis.applib.ApplicationException;
 import org.apache.isis.applib.fixtures.FixtureClock;
@@ -69,14 +70,31 @@ public abstract class Clock {
 		return instance != null;
 	}
 
+	/**
+	 * The time as the number of millseconds since the epoch.
+	 * 
+	 * @see Date#getTime()
+	 */
     public static long getTime() {
         return getInstance().time();
     }
 
+    /**
+     * Convenience method returning the current {@link #getTime() time}
+     * according to this Clock as a mutable {@link Calendar}.
+     */
     public static Calendar getTimeAsCalendar() {
         return getInstance().timeAsCalendar();
     }
 
+    /**
+     * Convenience method returning the current {@link #getTime() time}
+     * according to this Clock as a (nominally im)mutable {@link Date}.
+     */
+    public static Date getTimeAsDate() {
+        return new Date(getTime());
+    }
+
 	private static void ensureReplaceable() {
 		if (!isReplaceable && instance != null) {
             throw new ApplicationException("Clock already set up");

Modified: incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/events/package-info.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/events/package-info.java?rev=1048962&r1=1048961&r2=1048962&view=diff
==============================================================================
--- incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/events/package-info.java (original)
+++ incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/events/package-info.java Tue Dec 14 07:05:38 2010
@@ -24,8 +24,8 @@
  * <p>
  * The applib does not provide any means of listening to these events directly, and typically
  * domain objects would not be interested in them either.  However, they can be subscribed to
- * using the headlessviewer (which effectively provides a drop-in replacement for the
- * {@link org.apache.isis.applib.DomainObjectContainer} that implements the <tt>HeadlessViewer</tt>
+ * using the wrapper progmodel (which effectively provides a drop-in replacement for the
+ * {@link org.apache.isis.applib.DomainObjectContainer} that implements the <tt>WrapperFactory</tt>
  * interface).  
  */
 package org.apache.isis.applib.events;
\ No newline at end of file

Modified: incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/fixtures/AbstractFixture.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/fixtures/AbstractFixture.java?rev=1048962&r1=1048961&r2=1048962&view=diff
==============================================================================
--- incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/fixtures/AbstractFixture.java (original)
+++ incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/fixtures/AbstractFixture.java Tue Dec 14 07:05:38 2010
@@ -20,14 +20,12 @@
 
 package org.apache.isis.applib.fixtures;
 
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.isis.applib.AbstractContainedObject;
-import org.apache.isis.applib.clock.Clock;
-import org.apache.isis.applib.switchuser.SwitchUserService;
-import org.apache.isis.applib.switchuser.SwitchUserServiceAware;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.apache.isis.applib.fixtures.switchuser.SwitchUserService;
+import org.apache.isis.applib.fixtures.switchuser.SwitchUserServiceAware;
 
 
 /**
@@ -46,46 +44,41 @@ import org.apache.isis.applib.switchuser
  * </ul>
  * 
  * <p>
- * To automatically logon for the demo/test, use 
+ * To automatically logon for the demo/test, use {@link LogonFixture}. 
  */
-public abstract class AbstractFixture extends AbstractContainedObject implements InstallableFixture, CompositeFixture, SwitchUserServiceAware {
+public abstract class AbstractFixture extends BaseFixture implements CompositeFixture, SwitchUserServiceAware {
 	
     private final List<Object> fixtures = new ArrayList<Object>();
-    
-    // is initialized in constructor
-	private FixtureClock clock = null;
-	private final FixtureType fixtureType;
+
+    /////////////////////////////////////////////////////////////////
+    // Constructor
+    /////////////////////////////////////////////////////////////////
 
 	/**
-	 * Assumed to be {@link FixtureType#OBJECT_STORE data} fixture.
+	 * Assumed to be {@link FixtureType#DOMAIN_OBJECTS data} fixture.
 	 */
     public AbstractFixture() {
-    	this(FixtureType.OBJECT_STORE);
+    	this(FixtureType.DOMAIN_OBJECTS);
     }
 
     public AbstractFixture(final FixtureType fixtureType) {
-    	this.fixtureType = fixtureType;
-    	try {
-    		clock = FixtureClock.initialize();
-    	} catch(IllegalStateException ex) {
-    		clock = null;
-    		System.err.println(ex.getMessage());
-    		System.err.println("calls to change date or time will be ignored");
-    	}
+    	super(fixtureType);
     }
 
-    /**
-     * As specified in constructor.
-     */
-    public FixtureType getType() {
-		return fixtureType;
-	}
-    
+    /////////////////////////////////////////////////////////////////
+    // install() hook (for non-composites)
+    /////////////////////////////////////////////////////////////////
+
     /**
      * Most subclasses will override this method, but composite fixtures
      * should instead call {@link #addFixture(Object)} in their constructor.
      */
+    @Override
     public void install() {}
+
+    /////////////////////////////////////////////////////////////////
+    // CompositeFixture impl
+    /////////////////////////////////////////////////////////////////
 
     /**
      * Allows the fixture to act as a composite (call within constructor).
@@ -97,28 +90,21 @@ public abstract class AbstractFixture ex
     /**
      * Returns an array of any fixtures that have been {@link #addFixture(Object) added}.
      */
+    @Override
     public List<Object> getFixtures() {
         return Collections.unmodifiableList(fixtures);
     }
 
-
-
-    // {{ Clock
-    /**
-     * The {@link Clock} singleton, downcast to {@link FixtureClock}.
-     * 
-     * <p>
-     * Will return <tt>null</tt> if {@link FixtureClock} could not be {@link FixtureClock#initialize() initialized}.
-     */
-    public FixtureClock getFixtureClock() {
-        return clock;
-    }
-
+
+    /////////////////////////////////////////////////////////////////
+    // Date and time
+    /////////////////////////////////////////////////////////////////
+    
     /**
      * Will print warning message and do nothing if {@link FixtureClock} could not be {@link FixtureClock#initialize() initialized}.
      */
     public void earlierDate(final int years, final int months, final int days) {
-    	if (clockNotSetup("earlierDate")) return;
+    	if (shouldIgnoreCallBecauseNoClockSetup("earlierDate()")) return;
         clock.addDate(-years, -months, -days);
     }
 
@@ -126,7 +112,7 @@ public abstract class AbstractFixture ex
      * Will print warning message and do nothing if {@link FixtureClock} could not be {@link FixtureClock#initialize() initialized}.
      */
 	public void earlierTime(final int hours, final int minutes) {
-    	if (clockNotSetup("earlierDate")) return;
+    	if (shouldIgnoreCallBecauseNoClockSetup("earlierTime()")) return;
         clock.addTime(-hours, -minutes);
     }
 
@@ -134,7 +120,7 @@ public abstract class AbstractFixture ex
      * Will print warning message and do nothing if {@link FixtureClock} could not be {@link FixtureClock#initialize() initialized}.
      */
     public void laterDate(final int years, final int months, final int days) {
-    	if (clockNotSetup("laterDate")) return;
+    	if (shouldIgnoreCallBecauseNoClockSetup("laterDate()")) return;
         clock.addDate(years, months, days);
     }
 
@@ -142,44 +128,10 @@ public abstract class AbstractFixture ex
      * Will print warning message and do nothing if {@link FixtureClock} could not be {@link FixtureClock#initialize() initialized}.
      */
     public void laterTime(final int hours, final int minutes) {
-    	if (clockNotSetup("laterTime")) return;
+    	if (shouldIgnoreCallBecauseNoClockSetup("laterTime()")) return;
         clock.addTime(hours, minutes);
     }
 
-    /**
-     * Will print warning message and do nothing if {@link FixtureClock} could not be {@link FixtureClock#initialize() initialized}.
-     */
-    public void resetClock() {
-    	if (clockNotSetup("laterTime")) return;
-        clock.reset();
-    }
-
-    /**
-     * Will print warning message and do nothing if {@link FixtureClock} could not be {@link FixtureClock#initialize() initialized}.
-     */
-    public void setDate(final int year, final int month, final int day) {
-    	if (clockNotSetup("setDate")) return;
-        clock.setDate(year, month, day);
-    }
-
-    /**
-     * Will print warning message and do nothing if {@link FixtureClock} could not be {@link FixtureClock#initialize() initialized}.
-     */
-    public void setTime(final int hour, final int minute) {
-    	if (clockNotSetup("setTime")) return;
-        clock.setTime(hour, minute);
-    }
-
-    private boolean clockNotSetup(String methodName) {
-    	if (clock == null) {
-    		System.err.println("clock not set, call to " + methodName + " ignored");
-    		return true;
-    	}
-		return false;
-	}
-    // }}
-
-    
     // {{ User
     protected void switchUser(final String username, final String... roles) {
         switchUserService.switchUser(username, roles);
@@ -189,6 +141,7 @@ public abstract class AbstractFixture ex
 
     // {{ Injected: SwitchUserService
 	private SwitchUserService switchUserService;
+    @Override
     public void setService(final SwitchUserService fixtureService) {
         this.switchUserService = fixtureService;
     }

Added: incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/fixtures/BaseFixture.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/fixtures/BaseFixture.java?rev=1048962&view=auto
==============================================================================
--- incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/fixtures/BaseFixture.java (added)
+++ incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/fixtures/BaseFixture.java Tue Dec 14 07:05:38 2010
@@ -0,0 +1,83 @@
+package org.apache.isis.applib.fixtures;
+
+import org.apache.isis.applib.AbstractContainedObject;
+import org.apache.isis.applib.clock.Clock;
+
+abstract class BaseFixture extends AbstractContainedObject implements InstallableFixture  {
+
+    private final FixtureType fixtureType;
+    FixtureClock clock = null;
+
+    public BaseFixture(FixtureType fixtureType) {
+        this.fixtureType = fixtureType;
+        try {
+            clock = FixtureClock.initialize();
+        } catch(IllegalStateException ex) {
+            clock = null;
+            System.err.println(ex.getMessage());
+            System.err.println("calls to change date or time will be ignored");
+        }
+    }
+
+    ///////////////////////////////////////////////////
+    // FixtureType
+    ///////////////////////////////////////////////////
+    
+    /**
+     * As specified in constructor.
+     */
+    @Override
+    public final FixtureType getType() {
+        return fixtureType;
+    }
+
+
+    ///////////////////////////////////////////////////
+    // FixtureClock
+    ///////////////////////////////////////////////////
+
+    /**
+     * Will print warning message and do nothing if {@link FixtureClock} could not be {@link FixtureClock#initialize() initialized}.
+     */
+    public void setDate(final int year, final int month, final int day) {
+        if (shouldIgnoreCallBecauseNoClockSetup("setDate()")) return;
+        clock.setDate(year, month, day);
+    }
+
+    /**
+     * Will print warning message and do nothing if {@link FixtureClock} could not be {@link FixtureClock#initialize() initialized}.
+     */
+    public void setTime(final int hour, final int minute) {
+        if (shouldIgnoreCallBecauseNoClockSetup("setTime()")) return;
+        clock.setTime(hour, minute);
+    }
+
+
+    /**
+     * The {@link Clock} singleton, downcast to {@link FixtureClock}.
+     * 
+     * <p>
+     * Will return <tt>null</tt> if {@link FixtureClock} could not be {@link FixtureClock#initialize() initialized}.
+     */
+    public FixtureClock getFixtureClock() {
+        return clock;
+    }
+
+    /**
+     * Will print warning message and do nothing if {@link FixtureClock} could not be {@link FixtureClock#initialize() initialized}.
+     */
+    public void resetClock() {
+    	if (shouldIgnoreCallBecauseNoClockSetup("resetClock()")) return;
+        clock.reset();
+    }
+
+    boolean shouldIgnoreCallBecauseNoClockSetup(String methodName) {
+    	if (clock == null) {
+    		System.err.println("clock not set, call to " + methodName + " ignored");
+    		return true;
+    	}
+    	return false;
+    }
+    // }}
+
+}
\ No newline at end of file

Modified: incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/fixtures/DateFixture.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/fixtures/DateFixture.java?rev=1048962&r1=1048961&r2=1048962&view=diff
==============================================================================
--- incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/fixtures/DateFixture.java (original)
+++ incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/fixtures/DateFixture.java Tue Dec 14 07:05:38 2010
@@ -33,9 +33,10 @@ package org.apache.isis.applib.fixtures;
  * 
  * @see SwitchUserFixture
  */
-public class DateFixture extends AbstractFixture {
+public class DateFixture extends BaseFixture {
 
-    public DateFixture(final int year, final int month, final int day, final int hour, final int minutes) {
+    public DateFixture(final int year, final int month, final int day, final int hour, final int minutes) {
+        super(FixtureType.OTHER);
         this.year = year;
         this.month = month;
         this.day = day;
@@ -46,6 +47,7 @@ public class DateFixture extends Abstrac
     public DateFixture(final int year, final int month, final int day) {
         this(year, month, day, 0, 0);
     }
+
 
     private final int year;
 
@@ -72,11 +74,12 @@ public class DateFixture extends Abstrac
     public int getMinute() {
         return minute;
     }
-
-    @Override
+
+    
+    @Override
     public void install() {
         setDate(year, month, day);
         setTime(hour, minute);
-    }
-
+    }
+
 }

Modified: incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/fixtures/FixtureType.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/fixtures/FixtureType.java?rev=1048962&r1=1048961&r2=1048962&view=diff
==============================================================================
--- incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/fixtures/FixtureType.java (original)
+++ incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/fixtures/FixtureType.java Tue Dec 14 07:05:38 2010
@@ -37,7 +37,7 @@ public enum FixtureType {
 	 * want data fixtures run (except possibly for the very first time booted to
 	 * initially seed them). 
 	 */
-	OBJECT_STORE,
+	DOMAIN_OBJECTS,
 	/**
 	 * Analogous to {@link FixtureType#DATA}, but for fixtures (in particular, the
 	 * {@link PerspectiveFixture}) that are used to setup {@link Profile}s and their
@@ -45,7 +45,7 @@ public enum FixtureType {
 	 * 
 	 * @see UserProfileService
 	 */
-	USER_PROFILE,
+	USER_PROFILES,
 	/**
 	 * A fixture that neither installs data into the object store nor perspectives
 	 * into the {@link UserProfileService}.

Modified: incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/fixtures/LogonFixture.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/fixtures/LogonFixture.java?rev=1048962&r1=1048961&r2=1048962&view=diff
==============================================================================
--- incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/fixtures/LogonFixture.java (original)
+++ incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/fixtures/LogonFixture.java Tue Dec 14 07:05:38 2010
@@ -20,10 +20,10 @@
 
 package org.apache.isis.applib.fixtures;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
+import java.util.List;
+
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Lists;
 
 
 /**
@@ -44,21 +44,16 @@ import java.util.List;
 public class LogonFixture implements InstallableFixture {
 
 
-	@SuppressWarnings("unchecked")
-	private static List<String> asList(final String... roles) {
-		return roles != null ? Arrays.asList(roles) : Collections.EMPTY_LIST;
-	}
-
     private final String username;
-    private final List<String> roles = new ArrayList<String>();
+    private final List<String> roles;
     
     public LogonFixture(final String username, final String... roles) {
-        this(username, asList(roles));
+        this(username, Lists.newArrayList(roles));
     }
 
     public LogonFixture(final String username, final List<String> roles) {
         this.username = username;
-        this.roles.addAll(roles);
+        this.roles = ImmutableList.copyOf(roles);
     }
 
     public String getUsername() {
@@ -66,14 +61,16 @@ public class LogonFixture implements Ins
     }
 
     public List<String> getRoles() {
-        return Collections.unmodifiableList(roles);
+        return roles;
     }
 
+    @Override
     public final void install() {
         // does nothing; see comments above.
     }
 
-	public FixtureType getType() {
+	@Override
+    public FixtureType getType() {
 		return FixtureType.OTHER;
 	}
 

Modified: incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/fixtures/SwitchUserFixture.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/fixtures/SwitchUserFixture.java?rev=1048962&r1=1048961&r2=1048962&view=diff
==============================================================================
--- incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/fixtures/SwitchUserFixture.java (original)
+++ incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/fixtures/SwitchUserFixture.java Tue Dec 14 07:05:38 2010
@@ -19,6 +19,14 @@
 
 
 package org.apache.isis.applib.fixtures;
+
+import java.util.List;
+
+import org.apache.isis.applib.fixtures.switchuser.SwitchUserService;
+import org.apache.isis.applib.fixtures.switchuser.SwitchUserServiceAware;
+
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Lists;
 
 /**
  * Sole purpose is to switch the current user while object fixtures are being installed.
@@ -34,50 +42,38 @@ package org.apache.isis.applib.fixtures;
  * @see DateFixture
  * @see LogonFixture
  */
-public class SwitchUserFixture extends AbstractFixture {
-
-    public SwitchUserFixture(final int year, final int month, final int day, final int hour, final int minutes) {
-        this.year = year;
-        this.month = month;
-        this.day = day;
-        this.hour = hour;
-        this.minute = minutes;
-    }
-
-    public SwitchUserFixture(final int year, final int month, final int day) {
-        this(year, month, day, 0, 0);
-    }
-
-    private final int year;
-
-    public int getYear() {
-        return year;
-    }
-    private final int month;
-
-    public int getMonth() {
-        return month;
-    }
-    private final int day;
-
-    public int getDay() {
-        return day;
-    }
-    private final int hour;
-
-    public int getHour() {
-        return hour;
-    }
-    private final int minute;
-
-    public int getMinute() {
-        return minute;
+public class SwitchUserFixture extends BaseFixture implements SwitchUserServiceAware {
+
+    private final String username;
+    private final List<String> roles;
+    private SwitchUserService switchUserService;
+
+    public SwitchUserFixture(final String username, final String... roles) {
+    	this(username, Lists.newArrayList(roles));
+    }
+
+    public SwitchUserFixture(final String username, final List<String> roles) {
+        super(FixtureType.OTHER);
+        this.username = username;
+        this.roles = ImmutableList.copyOf(roles);
+    }
+
+    public String getUsername() {
+        return username;
+    }
+    
+    public List<String> getRoles() {
+        return roles;
     }
 
     @Override
-    public void install() {
-        setDate(year, month, day);
-        setTime(hour, minute);
-    }
+    public void install() {
+        switchUserService.switchUser(username, roles.toArray(new String[]{}));
+    }
+
+    @Override
+    public void setService(SwitchUserService switchUserService) {
+        this.switchUserService = switchUserService;
+    }
 
 }

Modified: incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/fixtures/UserProfileFixture.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/fixtures/UserProfileFixture.java?rev=1048962&r1=1048961&r2=1048962&view=diff
==============================================================================
--- incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/fixtures/UserProfileFixture.java (original)
+++ incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/fixtures/UserProfileFixture.java Tue Dec 14 07:05:38 2010
@@ -20,22 +20,24 @@
 
 package org.apache.isis.applib.fixtures;
 
+import org.apache.isis.applib.fixtures.userprofile.UserProfileService;
+import org.apache.isis.applib.fixtures.userprofile.UserProfileServiceAware;
 import org.apache.isis.applib.profiles.Profile;
-import org.apache.isis.applib.profiles.ProfileService;
-import org.apache.isis.applib.profiles.ProfileServiceAware;
 
-public abstract class UserProfileFixture extends AbstractFixture implements ProfileServiceAware {
+public abstract class UserProfileFixture extends BaseFixture implements UserProfileServiceAware {
 	
-    private ProfileService profileService;
+    private UserProfileService profileService;
 
     public UserProfileFixture() {
-		super(FixtureType.USER_PROFILE);
+		super(FixtureType.USER_PROFILES);
 	}
     
-    public void setService(ProfileService profileService) {
+    @Override
+    public void setService(UserProfileService profileService) {
         this.profileService = profileService;
     }
 
+    @Override
     public final void install() {
         installProfiles();
     }

Copied: incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/fixtures/switchuser/SwitchUserService.java (from r1044273, incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/switchuser/SwitchUserService.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/fixtures/switchuser/SwitchUserService.java?p2=incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/fixtures/switchuser/SwitchUserService.java&p1=incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/switchuser/SwitchUserService.java&r1=1044273&r2=1048962&rev=1048962&view=diff
==============================================================================
--- incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/switchuser/SwitchUserService.java (original)
+++ incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/fixtures/switchuser/SwitchUserService.java Tue Dec 14 07:05:38 2010
@@ -18,10 +18,12 @@
  */
 
 
-package org.apache.isis.applib.switchuser;
+package org.apache.isis.applib.fixtures.switchuser;
+
+import java.util.List;
 
 import org.apache.isis.applib.fixtures.AbstractFixture;
-import org.apache.isis.applib.profiles.ProfileService;
+import org.apache.isis.applib.fixtures.userprofile.UserProfileService;
 
 
 /**
@@ -31,7 +33,7 @@ import org.apache.isis.applib.profiles.P
  * <p>
  * A suitable implementation is injected into {@link AbstractFixture} when installed.
  * 
- * @see ProfileService
+ * @see UserProfileService
  */
 public interface SwitchUserService {
 
@@ -39,5 +41,11 @@ public interface SwitchUserService {
      * Switches the current user with the list of specified roles.
      */
     void switchUser(String username, String... roles);
+
+    /**
+     * Switches the current user with the list of specified roles.
+     */
+    void switchUser(String username, List<String> roles);
+
 }
 

Copied: incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/fixtures/switchuser/SwitchUserServiceAware.java (from r1044273, incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/switchuser/SwitchUserServiceAware.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/fixtures/switchuser/SwitchUserServiceAware.java?p2=incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/fixtures/switchuser/SwitchUserServiceAware.java&p1=incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/switchuser/SwitchUserServiceAware.java&r1=1044273&r2=1048962&rev=1048962&view=diff
==============================================================================
--- incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/switchuser/SwitchUserServiceAware.java (original)
+++ incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/fixtures/switchuser/SwitchUserServiceAware.java Tue Dec 14 07:05:38 2010
@@ -18,7 +18,7 @@
  */
 
 
-package org.apache.isis.applib.switchuser;
+package org.apache.isis.applib.fixtures.switchuser;
 
 import org.apache.isis.applib.fixtures.AbstractFixture;
 

Copied: incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/fixtures/userprofile/UserProfileService.java (from r1044273, incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/profiles/ProfileService.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/fixtures/userprofile/UserProfileService.java?p2=incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/fixtures/userprofile/UserProfileService.java&p1=incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/profiles/ProfileService.java&r1=1044273&r2=1048962&rev=1048962&view=diff
==============================================================================
--- incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/profiles/ProfileService.java (original)
+++ incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/fixtures/userprofile/UserProfileService.java Tue Dec 14 07:05:38 2010
@@ -18,10 +18,12 @@
  */
 
 
-package org.apache.isis.applib.profiles;
+package org.apache.isis.applib.fixtures.userprofile;
 
 import org.apache.isis.applib.fixtures.UserProfileFixture;
-import org.apache.isis.applib.switchuser.SwitchUserService;
+import org.apache.isis.applib.fixtures.switchuser.SwitchUserService;
+import org.apache.isis.applib.profiles.Perspective;
+import org.apache.isis.applib.profiles.Profile;
 
 
 /**
@@ -33,7 +35,7 @@ import org.apache.isis.applib.switchuser
  * 
  * @see SwitchUserService
  */
-public interface ProfileService {
+public interface UserProfileService {
 
     Profile newUserProfile();
 

Copied: incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/fixtures/userprofile/UserProfileServiceAware.java (from r1044273, incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/profiles/ProfileServiceAware.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/fixtures/userprofile/UserProfileServiceAware.java?p2=incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/fixtures/userprofile/UserProfileServiceAware.java&p1=incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/profiles/ProfileServiceAware.java&r1=1044273&r2=1048962&rev=1048962&view=diff
==============================================================================
--- incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/profiles/ProfileServiceAware.java (original)
+++ incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/fixtures/userprofile/UserProfileServiceAware.java Tue Dec 14 07:05:38 2010
@@ -18,7 +18,7 @@
  */
 
 
-package org.apache.isis.applib.profiles;
+package org.apache.isis.applib.fixtures.userprofile;
 
 import org.apache.isis.applib.fixtures.UserProfileFixture;
 
@@ -28,7 +28,7 @@ import org.apache.isis.applib.fixtures.U
  * <p>
  * If using perspectives then subclass from {@link UserProfileFixture}.
  */
-public interface ProfileServiceAware {
+public interface UserProfileServiceAware {
 
-	public void setService(ProfileService perspectiveInstaller);
+	public void setService(UserProfileService perspectiveInstaller);
 }

Modified: incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/profiles/Perspective.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/profiles/Perspective.java?rev=1048962&r1=1048961&r2=1048962&view=diff
==============================================================================
--- incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/profiles/Perspective.java (original)
+++ incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/profiles/Perspective.java Tue Dec 14 07:05:38 2010
@@ -20,12 +20,37 @@
 
 package org.apache.isis.applib.profiles;
 
+import org.apache.isis.applib.fixtures.UserProfileFixture;
 
 
 
+
+/**
+ * Domain object representing a particular perspective on the services or
+ * objects available to a logged-in user.
+ * 
+ * <p>
+ * The word "perspective" is used here in a similar sense to the Eclipse IDE,
+ * meaning a configuration of objects.  You might also think of it as 
+ * the user's desktop (though that metaphor only makes sense with the DnD
+ * viewer).
+ * 
+ * <p>
+ * Note that this type is an interface, not a class.  The actual implementation
+ * is provided by the framework itself.
+ * 
+ * <p>
+ * {@link Perspective}s go together with {@link Profile}s: a {@link Profile}
+ * is a container of multiple {@link Perspective}s.  As such, 
+ * {@link Perspective}s can be created from {@link Profile}s; {@link Profile}s
+ * themselves are created using the {@link UserProfileFixture} can be
+ * used.  Thereafter the @{link Profile} and its {@link Perspective}s are 
+ * stored in a <tt>profilestore</tt> (analogous to an object store). 
+ */
 public interface Perspective {
 
-    Object addToServices(Class<?> serviceClass);
+    void addToServices(Class<?> serviceClass);
+    void removeFromServices(Class<?> serviceClass);
 
     void addToServices(Class<?>... serviceClasses);
     void removeFromServices(Class<?>... serviceClasses);

Modified: incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/profiles/Profile.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/profiles/Profile.java?rev=1048962&r1=1048961&r2=1048962&view=diff
==============================================================================
--- incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/profiles/Profile.java (original)
+++ incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/profiles/Profile.java Tue Dec 14 07:05:38 2010
@@ -20,7 +20,25 @@
 
 package org.apache.isis.applib.profiles;
 
+import org.apache.isis.applib.fixtures.UserProfileFixture;
 
+
+/**
+ * Domain object representing a collection of options or preferences for a
+ * user, along with a set of {@link Perspective}s for that user.
+ * 
+ * <p>
+ * Note that this type is an interface, not a class.  The actual implementation
+ * is provided by the framework itself.
+ * 
+ * <p>
+ * {@link Perspective}s go together with {@link Profile}s: a {@link Profile}
+ * is a container of multiple {@link Perspective}s.  As such, 
+ * {@link Perspective}s can be created from {@link Profile}s; {@link Profile}s
+ * themselves are created using the {@link UserProfileFixture} can be
+ * used.  Thereafter the @{link Profile} and its {@link Perspective}s are 
+ * stored in a <tt>profilestore</tt> (analogous to an object store). 
+ */
 public interface Profile {
 
     void addToOptions(String name, String value);
@@ -30,7 +48,4 @@ public interface Profile {
     void addToPerspectives(Perspective perspective);
 
     Perspective getPerspective(String name);
-
-}
-
-
+}
\ No newline at end of file

Copied: incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/query/QueryBuiltInAbstract.java (from r1044273, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/query/QueryBuiltInAbstract.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/query/QueryBuiltInAbstract.java?p2=incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/query/QueryBuiltInAbstract.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/query/QueryBuiltInAbstract.java&r1=1044273&r2=1048962&rev=1048962&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/query/QueryBuiltInAbstract.java (original)
+++ incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/query/QueryBuiltInAbstract.java Tue Dec 14 07:05:38 2010
@@ -18,25 +18,21 @@
  */
 
 
-package org.apache.isis.core.metamodel.services.container.query;
+package org.apache.isis.applib.query;
 
-import java.io.Serializable;
-
-import org.apache.isis.applib.DomainObjectContainer;
-import org.apache.isis.applib.query.Query;
-import org.apache.isis.applib.query.QueryAbstract;
-import org.apache.isis.core.metamodel.runtimecontext.RuntimeContext;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
+import java.io.Serializable;
+
+import org.apache.isis.applib.DomainObjectContainer;
 
 /**
  * Although (through this class) the subclasses implements {@link Query} and
  * thus are meant to be {@link Serializable}, this isn't actually required
  * of the built-in queries because they are all converted into corresponding
- *  <tt>PersistenceQuery</tt> in the runtime for remoting purposes.
+ * <tt>PersistenceQuery</tt> in the runtime for remoting purposes.
  *  
  * <p>
  * The principle reason for this is to reduce the size of the API from the
- * {@link DomainObjectContainer} to {@link RuntimeContext}, as well as possibly
+ * {@link DomainObjectContainer} to <tt>RuntimeContext</tt>, as well as possibly
  * to the embedded viewer's <tt>EmbeddedContext</tt>.  It also means that the
  * requirements for writing an object store are more easily expressed: support
  * the three built-in queries, plus any others.
@@ -56,9 +52,4 @@ public abstract class QueryBuiltInAbstra
 	public QueryBuiltInAbstract(final String typeName) {
 		super(typeName);
 	}
-
-	public QueryBuiltInAbstract(final ObjectSpecification noSpec) {
-		super(noSpec.getFullName());
-	}
-
 }

Copied: incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/query/QueryFindAllInstances.java (from r1044273, incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/query/QueryFindAllInstances.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/query/QueryFindAllInstances.java?p2=incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/query/QueryFindAllInstances.java&p1=incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/query/QueryFindAllInstances.java&r1=1044273&r2=1048962&rev=1048962&view=diff
==============================================================================
--- incubator/isis/trunk/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/container/query/QueryFindAllInstances.java (original)
+++ incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/query/QueryFindAllInstances.java Tue Dec 14 07:05:38 2010
@@ -18,12 +18,10 @@
  */
 
 
-package org.apache.isis.core.metamodel.services.container.query;
+package org.apache.isis.applib.query;
 
-import java.io.Serializable;
-
-import org.apache.isis.applib.query.Query;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
+import java.io.Serializable;
+
 
 /**
  * Although implements {@link Query} and thus is intended to be (and indeed is) {@link Serializable},
@@ -44,11 +42,8 @@ public class QueryFindAllInstances<T> ex
 		super(typeName);
 	}
 
-	public QueryFindAllInstances(final ObjectSpecification noSpec) {
-		super(noSpec);
-	}
-
-	public String getDescription() {
+	@Override
+    public String getDescription() {
 		return getResultTypeName() + " (all instances)";
 	}
 

Modified: incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/value/Color.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/value/Color.java?rev=1048962&r1=1048961&r2=1048962&view=diff
==============================================================================
--- incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/value/Color.java (original)
+++ incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/value/Color.java Tue Dec 14 07:05:38 2010
@@ -20,7 +20,7 @@
 
 package org.apache.isis.applib.value;
 
-import org.apache.isis.applib.annotation.Facets;
+import org.apache.isis.applib.annotation.Value;
 
 
 /**
@@ -30,11 +30,8 @@ import org.apache.isis.applib.annotation
  * <p>
  * Where there is no basic colors (RGB all equal 0) then you get black; where each color is at maximum (RGB
  * all equal 255) you get white.
- *
- * <p>
- * TODO: currently this value type still uses <tt>@Facets</tt> rather than <tt>@Value</tt>.
  */
-@Facets(facetFactoryNames = { "org.apache.isis.metamodel.value.ColorValueTypeFacetFactory" })
+@Value(semanticsProviderName="org.apache.isis.core.progmodel.facets.value.ColorValueSemanticsProvider")
 public class Color extends Magnitude<Color> {
 
     private static final long serialVersionUID = 1L;
@@ -58,7 +55,7 @@ public class Color extends Magnitude<Col
      */
     @Override
     public boolean isEqualTo(final Color number) {
-        return ((Color) number).color == color;
+        return (number).color == color;
     }
 
     /**
@@ -66,7 +63,7 @@ public class Color extends Magnitude<Col
      */
     @Override
     public boolean isLessThan(final Color value) {
-        return color < ((Color) value).color;
+        return color < (value).color;
     }
 
     public String title() {
@@ -104,6 +101,7 @@ public class Color extends Magnitude<Col
     }
 
 
+    @Override
     public String toString() {
         return "Color: #" + Integer.toHexString(color).toUpperCase();
     }

Modified: incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/value/Date.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/value/Date.java?rev=1048962&r1=1048961&r2=1048962&view=diff
==============================================================================
--- incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/value/Date.java (original)
+++ incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/value/Date.java Tue Dec 14 07:05:38 2010
@@ -40,7 +40,7 @@ import org.apache.isis.applib.clock.Cloc
  * <li>withinPreviousDatePeriod(int days, int months, int years)</li>
  * </ul>
  */
-@Value(semanticsProviderName = "org.apache.isis.core.metamodel.value.DateValueSemanticsProvider")
+@Value(semanticsProviderName = "org.apache.isis.core.progmodel.facets.value.DateValueSemanticsProvider")
 public class Date extends Magnitude<Date> {
     private static final long serialVersionUID = 1L;
     private static final TimeZone UTC_TIME_ZONE;

Modified: incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/value/DateTime.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/value/DateTime.java?rev=1048962&r1=1048961&r2=1048962&view=diff
==============================================================================
--- incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/value/DateTime.java (original)
+++ incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/value/DateTime.java Tue Dec 14 07:05:38 2010
@@ -28,7 +28,7 @@ import org.apache.isis.applib.clock.Cloc
 /**
  * Value object representing a date and time value.
  */
-@Value(semanticsProviderName = "org.apache.isis.core.metamodel.value.DateTimeValueSemanticsProvider")
+@Value(semanticsProviderName = "org.apache.isis.core.progmodel.facets.value.DateTimeValueSemanticsProvider")
 public class DateTime extends Magnitude<DateTime> {
 
     private static final long serialVersionUID = 1L;

Modified: incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/value/Image.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/value/Image.java?rev=1048962&r1=1048961&r2=1048962&view=diff
==============================================================================
--- incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/value/Image.java (original)
+++ incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/value/Image.java Tue Dec 14 07:05:38 2010
@@ -26,7 +26,7 @@ import org.apache.isis.applib.annotation
 /**
  * Represents an image.
  */
-@Value(semanticsProviderName = "org.apache.isis.core.metamodel.value.ImageValueSemanticsProvider")
+@Value(semanticsProviderName = "org.apache.isis.core.progmodel.facets.value.ImageValueSemanticsProvider")
 public class Image implements Serializable {
     private static final long serialVersionUID = 1L;
     private final int[][] image;

Modified: incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/value/Money.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/value/Money.java?rev=1048962&r1=1048961&r2=1048962&view=diff
==============================================================================
--- incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/value/Money.java (original)
+++ incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/value/Money.java Tue Dec 14 07:05:38 2010
@@ -23,7 +23,7 @@ import java.math.BigDecimal;
 
 import org.apache.isis.applib.annotation.Value;
 
-@Value(semanticsProviderName = "org.apache.isis.core.metamodel.value.MoneyValueSemanticsProvider")
+@Value(semanticsProviderName = "org.apache.isis.core.progmodel.facets.value.MoneyValueSemanticsProvider")
 public class Money extends Magnitude<Money> {
 
     private static final long serialVersionUID = 1L;

Modified: incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/value/Password.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/value/Password.java?rev=1048962&r1=1048961&r2=1048962&view=diff
==============================================================================
--- incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/value/Password.java (original)
+++ incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/value/Password.java Tue Dec 14 07:05:38 2010
@@ -23,7 +23,7 @@ import java.io.Serializable;
 
 import org.apache.isis.applib.annotation.Value;
 
-@Value(semanticsProviderName = "org.apache.isis.core.metamodel.value.PasswordValueSemanticsProvider")
+@Value(semanticsProviderName = "org.apache.isis.core.progmodel.facets.value.PasswordValueSemanticsProvider")
 public class Password implements Serializable {
     private static final long serialVersionUID = 1L;
     private static final String STARS = "********************";

Modified: incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/value/Percentage.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/value/Percentage.java?rev=1048962&r1=1048961&r2=1048962&view=diff
==============================================================================
--- incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/value/Percentage.java (original)
+++ incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/value/Percentage.java Tue Dec 14 07:05:38 2010
@@ -21,7 +21,7 @@ package org.apache.isis.applib.value;
 
 import org.apache.isis.applib.annotation.Value;
 
-@Value(semanticsProviderName = "org.apache.isis.core.metamodel.value.PercentageValueSemanticsProvider")
+@Value(semanticsProviderName = "org.apache.isis.core.progmodel.facets.value.PercentageValueSemanticsProvider")
 public class Percentage extends Magnitude<Percentage> {
 
     private static final long serialVersionUID = 1L;

Modified: incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/value/Time.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/value/Time.java?rev=1048962&r1=1048961&r2=1048962&view=diff
==============================================================================
--- incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/value/Time.java (original)
+++ incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/value/Time.java Tue Dec 14 07:05:38 2010
@@ -41,7 +41,7 @@ import org.apache.isis.applib.clock.Cloc
  * this.minutes >= d.minutes + minutes</li>
  * </ul>
  */
-@Value(semanticsProviderName = "org.apache.isis.core.metamodel.value.TimeValueSemanticsProvider")
+@Value(semanticsProviderName = "org.apache.isis.core.progmodel.facets.value.TimeValueSemanticsProvider")
 public class Time extends Magnitude<Time> {
 
     private static final long serialVersionUID = 1L;

Modified: incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/value/TimeStamp.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/value/TimeStamp.java?rev=1048962&r1=1048961&r2=1048962&view=diff
==============================================================================
--- incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/value/TimeStamp.java (original)
+++ incubator/isis/trunk/applib/src/main/java/org/apache/isis/applib/value/TimeStamp.java Tue Dec 14 07:05:38 2010
@@ -28,7 +28,7 @@ import org.apache.isis.applib.clock.Cloc
  * 
  * @see DateTime
  */
-@Value(semanticsProviderName = "org.apache.isis.core.metamodel.value.TimeStampValueSemanticsProvider")
+@Value(semanticsProviderName = "org.apache.isis.core.progmodel.facets.value.TimeStampValueSemanticsProvider")
 public class TimeStamp extends Magnitude<TimeStamp> {
 
     private static final long serialVersionUID = 1L;

Added: incubator/isis/trunk/applib/src/main/resources/org/apache/isis/applib/AbstractContainedObject-hierarchy.ucd
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/resources/org/apache/isis/applib/AbstractContainedObject-hierarchy.ucd?rev=1048962&view=auto
==============================================================================
--- incubator/isis/trunk/applib/src/main/resources/org/apache/isis/applib/AbstractContainedObject-hierarchy.ucd (added)
+++ incubator/isis/trunk/applib/src/main/resources/org/apache/isis/applib/AbstractContainedObject-hierarchy.ucd Tue Dec 14 07:05:38 2010
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<editmodel:ClassDiagramEditModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:editmodel="editmodel.xmi" xmlns:options="options.xmi" name="AbstractContainedObject-hierarchy" size="843,745" id="org.apache.isis.applib" metadata="uml2-1.0" initialized="true" tag="1000" key="32303037303533312D31303030206170706C69622F64616E">
+  <children xsi:type="editmodel:InterfaceEditModel" targetConnections="//@children.5/@sourceConnections.0" name="DomainObjectContainer" location="555,43" size="194,43" id="org.apache.isis.applib/DomainObjectContainer" runTimeClassModel="commit(),firstMatch(Lorg.apache.isis.applib.query.Query;),warnUser(Ljava.lang.String;),isPersistent(Ljava.lang.Object;),newInstance(Ljava.lang.Class;Ljava.lang.Object;),removeIfNotAlready(Ljava.lang.Object;),raiseError(Ljava.lang.String;),uniqueMatch(Ljava.lang.Class;Lorg.apache.isis.applib.Filter;),isValid(Ljava.lang.Object;),allMatches(Ljava.lang.Class;Ljava.lang.String;),allInstances(Ljava.lang.Class;),informUser(Ljava.lang.String;),objectChanged(Ljava.lang.Object;),persistIfNotAlready(Ljava.lang.Object;),uniqueMatch(Ljava.lang.Class;Ljava.lang.String;),remove(Ljava.lang.Object;),resolve(Ljava.lang.Object;),allMatches(Lorg.apache.isis.applib.query.Query;),validate(Ljava.lang.Object;),firstMatch(Ljava.lang.Class;Lorg.apache.isis.applib.Filt
 er;),firstMatch(Ljava.lang.Class;LT;),uniqueMatch(Ljava.lang.Class;LT;),newTransientInstance(Ljava.lang.Class;),resolve(Ljava.lang.Object;Ljava.lang.Object;),flush(),allMatches(Ljava.lang.Class;LT;),getPropertyNames(),allMatches(Ljava.lang.Class;Lorg.apache.isis.applib.Filter;),getProperty(Ljava.lang.String;Ljava.lang.String;),persist(Ljava.lang.Object;),firstMatch(Ljava.lang.Class;Ljava.lang.String;),getProperty(Ljava.lang.String;),newPersistentInstance(Ljava.lang.Class;),uniqueMatch(Lorg.apache.isis.applib.query.Query;)">
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:ClassEditModel" name="AbstractDomainObject" location="50,129" size="183,29" id="org.apache.isis.applib/AbstractDomainObject">
+    <children xsi:type="editmodel:CompartmentEditModel"/>
+    <children xsi:type="editmodel:CompartmentEditModel"/>
+    <children xsi:type="editmodel:CompartmentEditModel"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" targetConnections="//@children.2/@sourceConnections.0 //@children.4/@sourceConnections.0" autoLocated="true" id="org.apache.isis.applib/AbstractContainedObject&lt;-org.apache.isis.applib/AbstractDomainObject" source="//@children.1" target="//@children.5" targetEnd="//@children.1/@sourceConnections.0/@children.1" sourceEnd="//@children.1/@sourceConnections.0/@children.0" connectionRouterKind="GeneralizationManhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="91,0" anchorKind="FixedAtEdge" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel" location="99,29" anchorKind="FixedAtEdge"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:ClassEditModel" name="AbstractFixture" location="434,129" size="138,43" id="org.apache.isis.applib.fixtures/AbstractFixture" runTimeClassModel="laterDate(III),earlierTime(II),setService(Lorg.apache.isis.applib.fixtures.switchuser.SwitchUserService;),getType(),earlierDate(III),laterTime(II),fixtures,getFixtures(),setTime(II),getFixtureClock(),AbstractFixture(Lorg.apache.isis.applib.fixtures.FixtureType;),setDate(III),install(),AbstractFixture(),resetClock()">
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" autoLocated="true" id="org.apache.isis.applib/AbstractContainedObject&lt;-org.apache.isis.applib.fixtures/AbstractFixture" source="//@children.2" target="//@children.1/@sourceConnections.0" targetEnd="//@children.2/@sourceConnections.0/@children.1" sourceEnd="//@children.2/@sourceConnections.0/@children.0" connectionRouterKind="GeneralizationManhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="67,0" anchorKind="FixedAtEdge" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:ClassEditModel" name="AbstractFactoryAndRepository" location="232,195" size="232,29" id="org.apache.isis.applib/AbstractFactoryAndRepository">
+    <children xsi:type="editmodel:CompartmentEditModel"/>
+    <children xsi:type="editmodel:CompartmentEditModel"/>
+    <children xsi:type="editmodel:CompartmentEditModel"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" autoLocated="true" id="org.apache.isis.applib/AbstractService&lt;-org.apache.isis.applib/AbstractFactoryAndRepository" source="//@children.3" target="//@children.4" targetEnd="//@children.3/@sourceConnections.0/@children.1" sourceEnd="//@children.3/@sourceConnections.0/@children.0" connectionRouterKind="Manual">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="101,0" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel" location="70,29"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:ClassEditModel" targetConnections="//@children.3/@sourceConnections.0" name="AbstractService" location="263,129" size="141,29" id="org.apache.isis.applib/AbstractService" runTimeClassModel="">
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" autoLocated="true" id="org.apache.isis.applib/AbstractContainedObject&lt;-org.apache.isis.applib/AbstractService" source="//@children.4" target="//@children.1/@sourceConnections.0" targetEnd="//@children.4/@sourceConnections.0/@children.1" sourceEnd="//@children.4/@sourceConnections.0/@children.0" connectionRouterKind="GeneralizationManhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="70,0" anchorKind="FixedAtEdge" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:ClassEditModel" targetConnections="//@children.1/@sourceConnections.0" name="AbstractContainedObject" location="227,50" size="199,29" id="org.apache.isis.applib/AbstractContainedObject">
+    <children xsi:type="editmodel:CompartmentEditModel"/>
+    <children xsi:type="editmodel:CompartmentEditModel"/>
+    <children xsi:type="editmodel:CompartmentEditModel"/>
+    <sourceConnections xsi:type="editmodel:AssociationEditModel" autoLocated="true" id="org.apache.isis.applib/DomainObjectContainer@container+org.apache.isis.applib/AbstractContainedObject@" source="//@children.5" target="//@children.0" targetEnd="//@children.5/@sourceConnections.0/@children.2" label="//@children.5/@sourceConnections.0/@children.0" sourceEnd="//@children.5/@sourceConnections.0/@children.1" connectionRouterKind="Manhattan">
+      <children xsi:type="editmodel:WireLabelEditModel" size="0,14" anchorKind="MiddlePart"/>
+      <children xsi:type="editmodel:AssociationEndEditModel" location="199,14" id="org.apache.isis.applib/DomainObjectContainer@container+org.apache.isis.applib/AbstractContainedObject@|org.apache.isis.applib/AbstractContainedObject#" attachSource="true" roleLabel="//@children.5/@sourceConnections.0/@children.1/@children.0">
+        <children xsi:type="editmodel:LabelEditModel" location="433,43" size="0,14" anchorKind="FirstPart"/>
+      </children>
+      <children xsi:type="editmodel:AssociationEndEditModel" name="container" location="0,21" id="org.apache.isis.applib/DomainObjectContainer@container+org.apache.isis.applib/AbstractContainedObject@|org.apache.isis.applib/DomainObjectContainer#container" multiplicityLabel="//@children.5/@sourceConnections.0/@children.2/@children.1" roleLabel="//@children.5/@sourceConnections.0/@children.2/@children.0" navigable="true">
+        <children xsi:type="editmodel:LabelEditModel" name=" - container" location="493,43" size="55,14" anchorKind="LastPart"/>
+        <children xsi:type="editmodel:LabelEditModel" name="0..1" location="530,71" size="18,14" anchorKind="LastPart"/>
+      </children>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <diagramOptions xsi:type="options:ClassDiagramOptions" properties="wireOptions=1;Product=eUML2" autoName="false"/>
+  <boardSetting snapToGeometry="true" gridEnabled="true" gridSpacing="15,15" gridOrigin="0,0" rulerUnit="pixel" gridVisibility="false">
+    <leftRuler/>
+    <topRuler/>
+  </boardSetting>
+  <classDiagramPreferences xsi:type="editmodel:UMLClassDiagramPreference" showPopupBars="true" showConnectionHandles="true" attributeSorter="Natural" methodSorter="Natural" showClassStereotype="true" showPackageStereotype="true" showDependencyStereotype="true" showInterfaceStereotype="true" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+</editmodel:ClassDiagramEditModel>

Added: incubator/isis/trunk/applib/src/main/resources/org/apache/isis/applib/fixtures/Fixtures.ucd
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/applib/src/main/resources/org/apache/isis/applib/fixtures/Fixtures.ucd?rev=1048962&view=auto
==============================================================================
--- incubator/isis/trunk/applib/src/main/resources/org/apache/isis/applib/fixtures/Fixtures.ucd (added)
+++ incubator/isis/trunk/applib/src/main/resources/org/apache/isis/applib/fixtures/Fixtures.ucd Tue Dec 14 07:05:38 2010
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<editmodel:ClassDiagramEditModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:editmodel="editmodel.xmi" xmlns:options="options.xmi" name="Fixtures" size="1218,592" id="org.apache.isis.applib.fixtures" metadata="uml2-1.0" initialized="true" tag="1000" key="32303037303533312D31303030206170706C69622F64616E">
+  <children xsi:type="editmodel:EnumerationEditModel" name="FixtureType" location="465,18" size="134,107" id="org.apache.isis.applib.fixtures/FixtureType" runTimeClassModel="OTHER%,DOMAIN_OBJECTS%,USER_PROFILES%">
+    <children xsi:type="editmodel:CompartmentEditModel" size="111,54">
+      <children xsi:type="editmodel:EnumerationLiteralEditModel" name="USER_PROFILES" id="org.apache.isis.applib.fixtures/FixtureType#USER_PROFILES%"/>
+      <children xsi:type="editmodel:EnumerationLiteralEditModel" name="OTHER" id="org.apache.isis.applib.fixtures/FixtureType#OTHER%"/>
+      <children xsi:type="editmodel:EnumerationLiteralEditModel" name="DOMAIN_OBJECTS" id="org.apache.isis.applib.fixtures/FixtureType#DOMAIN_OBJECTS%"/>
+    </children>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:ClassEditModel" targetConnections="//@children.6/@sourceConnections.0" name="BaseFixture" location="312,143" size="118,29" id="org.apache.isis.applib.fixtures/BaseFixture" runTimeClassModel="">
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" targetConnections="//@children.2/@sourceConnections.0" autoLocated="true" id="org.apache.isis.applib.fixtures/InstallableFixture&lt;-org.apache.isis.applib.fixtures/BaseFixture" source="//@children.1" target="//@children.3" targetEnd="//@children.1/@sourceConnections.0/@children.1" sourceEnd="//@children.1/@sourceConnections.0/@children.0" connectionRouterKind="GeneralizationManhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="59,0" anchorKind="FixedAtEdge" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel" location="76,43" anchorKind="FixedAtEdge"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:ClassEditModel" name="LogonFixture" location="50,143" size="127,29" id="org.apache.isis.applib.fixtures/LogonFixture" runTimeClassModel="getRoles(),username,getType(),getUsername(),roles,install(),LogonFixture(Ljava.lang.String;[Ljava.lang.String;),LogonFixture(Ljava.lang.String;Ljava.util.List;),toString()">
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" autoLocated="true" id="org.apache.isis.applib.fixtures/InstallableFixture&lt;-org.apache.isis.applib.fixtures/LogonFixture" source="//@children.2" target="//@children.1/@sourceConnections.0" targetEnd="//@children.2/@sourceConnections.0/@children.1" sourceEnd="//@children.2/@sourceConnections.0/@children.0" connectionRouterKind="GeneralizationManhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="63,0" anchorKind="FixedAtEdge" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel" location="76,43" anchorKind="FixedAtEdge"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:InterfaceEditModel" targetConnections="//@children.1/@sourceConnections.0" name="InstallableFixture" location="165,50" size="153,43" id="org.apache.isis.applib.fixtures/InstallableFixture" runTimeClassModel="getType(),install()">
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:ClassEditModel" name="UserProfileFixture" location="196,274" size="157,29" id="org.apache.isis.applib.fixtures/UserProfileFixture" runTimeClassModel="setService(Lorg.apache.isis.applib.fixtures.userprofile.UserProfileService;),UserProfileFixture(),install()">
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" autoLocated="true" id="org.apache.isis.applib.fixtures/BaseFixture&lt;-org.apache.isis.applib.fixtures/UserProfileFixture" source="//@children.4" target="//@children.6/@sourceConnections.0" targetEnd="//@children.4/@sourceConnections.0/@children.1" sourceEnd="//@children.4/@sourceConnections.0/@children.0" connectionRouterKind="GeneralizationManhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="78,0" anchorKind="FixedAtEdge" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:InterfaceEditModel" targetConnections="//@children.6/@sourceConnections.1" name="CompositeFixture" location="570,171" size="154,43" id="org.apache.isis.applib.fixtures/CompositeFixture" runTimeClassModel="getFixtures()">
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:ClassEditModel" name="AbstractFixture" location="563,274" size="138,29" id="org.apache.isis.applib.fixtures/AbstractFixture" runTimeClassModel="fixtures,laterDate(III),getFixtures(),setService(Lorg.apache.isis.applib.fixtures.switchuser.SwitchUserService;),earlierTime(II),AbstractFixture(Lorg.apache.isis.applib.fixtures.FixtureType;),laterTime(II),earlierDate(III),install(),AbstractFixture()">
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" targetConnections="//@children.8/@sourceConnections.0 //@children.4/@sourceConnections.0 //@children.7/@sourceConnections.0" autoLocated="true" id="org.apache.isis.applib.fixtures/BaseFixture&lt;-org.apache.isis.applib.fixtures/AbstractFixture" source="//@children.6" target="//@children.1" targetEnd="//@children.6/@sourceConnections.0/@children.1" sourceEnd="//@children.6/@sourceConnections.0/@children.0" connectionRouterKind="GeneralizationManhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="69,0" anchorKind="FixedAtEdge" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel" location="59,29" anchorKind="FixedAtEdge"/>
+    </sourceConnections>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" id="org.apache.isis.applib.fixtures/CompositeFixture&lt;-org.apache.isis.applib.fixtures/AbstractFixture" source="//@children.6" target="//@children.5" targetEnd="//@children.6/@sourceConnections.1/@children.1" sourceEnd="//@children.6/@sourceConnections.1/@children.0" connectionRouterKind="Manual">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="85,0" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel" location="77,42"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:ClassEditModel" name="SwitchUserFixture" location="383,274" size="158,29" id="org.apache.isis.applib.fixtures/SwitchUserFixture" runTimeClassModel="getRoles(),username,setService(Lorg.apache.isis.applib.fixtures.switchuser.SwitchUserService;),getUsername(),roles,install(),SwitchUserFixture(Ljava.lang.String;[Ljava.lang.String;)">
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" autoLocated="true" id="org.apache.isis.applib.fixtures/BaseFixture&lt;-org.apache.isis.applib.fixtures/SwitchUserFixture" source="//@children.7" target="//@children.6/@sourceConnections.0" targetEnd="//@children.7/@sourceConnections.0/@children.1" sourceEnd="//@children.7/@sourceConnections.0/@children.0" connectionRouterKind="GeneralizationManhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="79,0" anchorKind="FixedAtEdge" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel" location="20,14"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <children xsi:type="editmodel:ClassEditModel" name="DateFixture" location="50,274" size="116,29" id="org.apache.isis.applib.fixtures/DateFixture" runTimeClassModel="getDay(),getMonth(),hour,minute,getHour(),getYear(),month,year,install(),day,DateFixture(IIIII),getMinute(),DateFixture(III)">
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <children xsi:type="editmodel:CompartmentEditModel" size="0,0"/>
+    <sourceConnections xsi:type="editmodel:GeneralizationEditModel" autoLocated="true" id="org.apache.isis.applib.fixtures/BaseFixture&lt;-org.apache.isis.applib.fixtures/DateFixture" source="//@children.8" target="//@children.6/@sourceConnections.0" targetEnd="//@children.8/@sourceConnections.0/@children.1" sourceEnd="//@children.8/@sourceConnections.0/@children.0" connectionRouterKind="GeneralizationManhattan">
+      <children xsi:type="editmodel:AssociationEndEditModel" location="58,0" anchorKind="FixedAtEdge" attachSource="true"/>
+      <children xsi:type="editmodel:AssociationEndEditModel"/>
+    </sourceConnections>
+    <classifierPreferences xsi:type="editmodel:UMLClassDiagramClassifierPreference" showStereotype="true" attributeSorter="Natural" methodSorter="Natural" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+  </children>
+  <diagramOptions xsi:type="options:ClassDiagramOptions" properties="wireOptions=1;Product=eUML2" autoName="false"/>
+  <boardSetting snapToGeometry="true" gridEnabled="true" gridSpacing="15,15" gridOrigin="0,0" rulerUnit="pixel" gridVisibility="false">
+    <leftRuler/>
+    <topRuler/>
+  </boardSetting>
+  <classDiagramPreferences xsi:type="editmodel:UMLClassDiagramPreference" showPopupBars="true" showConnectionHandles="true" attributeSorter="Natural" methodSorter="Natural" showClassStereotype="true" showPackageStereotype="true" showDependencyStereotype="true" showInterfaceStereotype="true" innerClassSorter="Natural" showPublicAttributes="true" showPackageAttributes="true" showStaticAttributes="true" showPublicMethods="true" showPackageMethods="true" showStaticMethods="true" showPublicInnerClasses="true" showPackageInnerClasses="true" showStaticInnerClasses="true" packageIndication="3" showAttributeProperty="true"/>
+</editmodel:ClassDiagramEditModel>



Mime
View raw message