You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2012/03/24 15:01:52 UTC
svn commit: r1304796 [16/16] - in /incubator/isis/trunk/framework:
applib/src/main/java/org/apache/isis/applib/
applib/src/test/java/org/apache/isis/applib/
core/commons/src/main/java/org/apache/isis/core/commons/config/
core/commons/src/main/java/org/...
Modified: incubator/isis/trunk/framework/viewer/scimpi/scimpi-dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/context/DefaultOidObjectMapping.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/scimpi/scimpi-dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/context/DefaultOidObjectMapping.java?rev=1304796&r1=1304795&r2=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/scimpi/scimpi-dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/context/DefaultOidObjectMapping.java (original)
+++ incubator/isis/trunk/framework/viewer/scimpi/scimpi-dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/context/DefaultOidObjectMapping.java Sat Mar 24 14:01:35 2012
@@ -26,6 +26,8 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import com.google.common.collect.Lists;
+
import org.apache.log4j.Logger;
import org.json.JSONArray;
import org.json.JSONException;
@@ -33,23 +35,20 @@ import org.json.JSONObject;
import org.apache.isis.core.commons.debug.DebugBuilder;
import org.apache.isis.core.commons.exceptions.IsisException;
-import org.apache.isis.core.commons.factory.InstanceUtil;
-import org.apache.isis.core.commons.lang.ClassUtil;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.adapter.oid.AggregatedOid;
import org.apache.isis.core.metamodel.adapter.oid.Oid;
+import org.apache.isis.core.metamodel.adapter.oid.RootOid;
import org.apache.isis.core.metamodel.adapter.oid.stringable.OidStringifier;
-import org.apache.isis.core.metamodel.adapter.oid.stringable.directly.DirectlyStringableOidWithSpecification;
-import org.apache.isis.core.metamodel.adapter.oid.stringable.directly.OidWithSpecification;
import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
import org.apache.isis.core.metamodel.facets.object.encodeable.EncodableFacet;
+import org.apache.isis.core.metamodel.facets.object.objecttype.ObjectTypeFacet;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification.CreationMode;
import org.apache.isis.core.metamodel.spec.SpecificationLoader;
import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
-import org.apache.isis.runtimes.dflt.runtime.persistence.oidgenerator.simple.SerialOid;
+import org.apache.isis.runtimes.dflt.runtime.persistence.oidgenerator.serial.RootOidDefault;
import org.apache.isis.runtimes.dflt.runtime.system.context.IsisContext;
import org.apache.isis.runtimes.dflt.runtime.system.persistence.AdapterManager;
import org.apache.isis.runtimes.dflt.runtime.system.persistence.PersistenceSession;
@@ -69,7 +68,7 @@ public class DefaultOidObjectMapping imp
}
protected void append(final DebugBuilder debug, final Map<String, TransientObjectMapping> transients, final String type) {
- final Iterator<String> ids = new HashSet(transients.keySet()).iterator();
+ final Iterator<String> ids = new HashSet<String>(transients.keySet()).iterator();
if (ids.hasNext()) {
debug.appendTitle("Transient objects (" + type + ")");
while (ids.hasNext()) {
@@ -87,9 +86,10 @@ public class DefaultOidObjectMapping imp
public void clear() {
requestTransients.clear();
- final List<String> remove = new ArrayList<String>();
+ final List<String> remove = Lists.newArrayList();
for (final String id : sessionTransients.keySet()) {
- if (!sessionTransients.get(id).getOid().isTransient()) {
+ final Oid oid = sessionTransients.get(id).getOid();
+ if (!oid.isTransient()) {
remove.add(id);
sessionTransients.put(id, null);
}
@@ -140,7 +140,7 @@ public class DefaultOidObjectMapping imp
}
data.put(fieldName, collection);
} else {
- if (fieldValue.isTransient() || fieldValue.isAggregated()) {
+ if (fieldValue.isTransient() || fieldValue.isParented()) {
final JSONObject saveData = encodeTransientData(fieldValue, savedObject);
if (saveData == null) {
data.put(fieldName, mapObject(fieldValue, Scope.INTERACTION));
@@ -161,32 +161,29 @@ public class DefaultOidObjectMapping imp
final Oid oid = adapter.getOid();
data.put("_oidType", oid.getClass().getName());
- if(oid instanceof OidWithSpecification) {
- OidWithSpecification ows = (OidWithSpecification) oid;
- data.put("_class", ows.getClassName());
+ if(oid instanceof RootOid) {
+ RootOid ows = (RootOid) oid;
+ data.put("_objectType", ows.getObjectType());
data.put("_id", enString(ows)); // can be used to recreate
return data;
}
// original behaviour, deals with SerialOid and also enhanced to handles if the parentOid is an OWS
final ObjectSpecification objectSpec = adapter.getSpecification();
- data.put("_class", objectSpec.getFullIdentifier());
+ data.put("_objectType", objectSpec.getObjectType());
- String encodedOid;
- if (oid instanceof AggregatedOid) {
- final AggregatedOid aoid = (AggregatedOid) oid;
- final Oid parentOid = aoid.getParentOid();
- final String aggregatedId = aoid.getId();
-
- encodedOid = enString(parentOid, aggregatedId);
- } else if (oid instanceof SerialOid) {
- encodedOid = Long.toString(((SerialOid) oid).getSerialNo(), 16);
- } else {
+ if (!(oid instanceof AggregatedOid)) {
throw new ScimpiException("Unsupported OID type " + oid);
- }
-
+ }
+
+ final AggregatedOid aoid = (AggregatedOid) oid;
+ final Oid parentOid = aoid.getParentOid();
+ final String aggregatedId = aoid.getLocalId();
+
+ String encodedOid = enString(parentOid, aggregatedId);
data.put("_id", encodedOid);
return data;
+
}
@Override
@@ -204,18 +201,19 @@ public class DefaultOidObjectMapping imp
}
String encodedOid;
- if(oid instanceof OidWithSpecification) {
- OidWithSpecification ows = (OidWithSpecification) oid;
+ if(oid instanceof RootOid) {
+ RootOid ows = (RootOid) oid;
encodedOid = enString(ows);
} else if (oid instanceof AggregatedOid) {
final AggregatedOid aoid = (AggregatedOid) oid;
- final String aggregatedId = aoid.getId();
+ final String aggregatedId = aoid.getLocalId();
final Oid parentOid = aoid.getParentOid();
adapter = getAdapterManager().getAdapterFor(parentOid);
encodedOid = enString(parentOid, aggregatedId);
- } else if (oid instanceof SerialOid) {
- encodedOid = Long.toString(((SerialOid) oid).getSerialNo(), 16);
+ } else if (oid instanceof RootOidDefault) {
+ final RootOidDefault rootOidDefault = (RootOidDefault) oid;
+ encodedOid = rootOidDefault.getIdentifier();
} else {
throw new ScimpiException("Unsupported OID type " + oid);
}
@@ -261,8 +259,8 @@ public class DefaultOidObjectMapping imp
ObjectAdapter adapter = getAdapter(jsonObject);
- final String clsName = jsonObject.getString("_class");
- final ObjectSpecification specification = getSpecification(clsName);
+ final String objectType = jsonObject.getString("_objectType");
+ final ObjectSpecification specification = getSpecificationLoader().lookupByObjectType(objectType);
for (final ObjectAssociation association : specification.getAssociations()) {
final String fieldName = association.getId();
@@ -310,40 +308,39 @@ public class DefaultOidObjectMapping imp
}
private ObjectAdapter getAdapter(final JSONObject jsonObject) throws JSONException {
- final String cls = jsonObject.getString("_class");
+
+ final String objectType = jsonObject.getString("_objectType");
+ final ObjectSpecification objectSpec = getSpecificationLoader().lookupByObjectType(objectType);
+
final String id = jsonObject.getString("_id");
- final String oidTypeStr = jsonObject.getString("_oidType");
- final Class<?> oidType = InstanceUtil.loadClass(oidTypeStr);
- ObjectAdapter adapter;
- final ObjectSpecification objectSpec = getSpecification(cls);
if (objectSpec.isAggregated() && !objectSpec.isCollection()) {
final String[] split = id.split("@");
final String parentOidStr = split[0];
- final String aggregatedId = split[1];
+ final String aggregatedLocalId = split[1];
- Oid parentOid;
- if(OidWithSpecification.class.isAssignableFrom(oidType)) {
+ RootOid parentOid;
+ if(RootOid.class.isAssignableFrom(oidType)) {
parentOid = getOidStringifier().deString(parentOidStr);
- } else if (SerialOid.class.isAssignableFrom(oidType)) {
- parentOid = SerialOid.createTransient(Long.parseLong(parentOidStr, 16));
+ } else if (RootOidDefault.class.isAssignableFrom(oidType)) {
+ parentOid = RootOidDefault.createTransient(objectType, parentOidStr);
} else {
+ // REVIEW: for now, don't support holding references to aggregates whose parent is also an aggregate
throw new ScimpiException("Unsupported OID type " + oidType);
}
- final AggregatedOid oid = new AggregatedOid(parentOid, aggregatedId);
- adapter = getPersistenceSession().recreateAdapter(oid, objectSpec);
+ final AggregatedOid oid = new AggregatedOid(parentOid, aggregatedLocalId);
+ return getPersistenceSession().recreateAdapter(oid, objectSpec);
} else {
- adapter = mappedObject("T" + cls + "@" + id);
+ return mappedObject("T" + objectType + "@" + id); // yuk!
}
- return adapter;
}
@Override
public ObjectAdapter mappedObject(final String id) {
final char type = id.charAt(0);
final String[] split = id.split("@");
- final String cls = split[0].substring(1);
+ final String objectType = split[0].substring(1);
final String oidData = split[1];
final String aggregatedId = split.length > 2?split[2]:null;
@@ -352,8 +349,7 @@ public class DefaultOidObjectMapping imp
oidType = getPersistenceSession().getServices().get(0).getOid().getClass();
}
- final ObjectSpecification spec = getSpecificationLoader().loadSpecification(cls);
-
+ final ObjectSpecification spec = getSpecificationLoader().lookupByObjectType(objectType);
if ((type == 'T')) {
TransientObjectMapping mapping = sessionTransients.get(id);
@@ -362,9 +358,10 @@ public class DefaultOidObjectMapping imp
}
if (mapping == null) {
- final Object pojo = spec.createObject(CreationMode.NO_INITIALIZE);
+ final Object pojo = spec.createObject();
- Oid oid = deString(oidData, State.TRANSIENT);
+ // create as a (transient) root adapter
+ Oid oid = deString(objectType, oidData, State.TRANSIENT);
return getPersistenceSession().recreateAdapter(oid, pojo);
}
@@ -378,13 +375,13 @@ public class DefaultOidObjectMapping imp
LOG.debug("decoding " + oidData);
if (aggregatedId != null) {
- final Oid parentOid = deString(oidData, State.PERSISTENT);
+ final RootOid parentOid = deString(objectType, oidData, State.PERSISTENT);
Oid oid = new AggregatedOid(parentOid, aggregatedId);
getPersistenceSession().loadObject(parentOid, spec);
return getAdapterManager().getAdapterFor(oid);
}
- Oid oid = deString(oidData, State.PERSISTENT);
+ Oid oid = deString(objectType, oidData, State.PERSISTENT);
return getPersistenceSession().loadObject(oid, spec);
} catch (final SecurityException e) {
@@ -415,23 +412,16 @@ public class DefaultOidObjectMapping imp
enum State { TRANSIENT, PERSISTENT }
- private Oid deString(final String oidData, State stateHint) {
- if(OidWithSpecification.class.isAssignableFrom(oidType)) {
+ private RootOid deString(String objectType, final String oidData, State stateHint) {
+ if(RootOid.class.isAssignableFrom(oidType)) {
return getOidStringifier().deString(oidData);
- } else if (SerialOid.class.isAssignableFrom(oidType)) {
- final long value = Long.valueOf(oidData, 16).longValue();
- if(stateHint == State.TRANSIENT) {
- return SerialOid.createTransient(value);
- } else {
- return SerialOid.createPersistent(value);
- }
} else {
throw new ScimpiException("Unsupported OID type " + oidType);
}
}
- private String enString(OidWithSpecification ows) {
+ private String enString(RootOid ows) {
return getOidStringifier().enString(ows);
}
@@ -441,22 +431,18 @@ public class DefaultOidObjectMapping imp
private String enString(final Oid oid) {
final String parentOidStr;
- if(oid instanceof OidWithSpecification) {
- OidWithSpecification ows = (OidWithSpecification) oid;
+ if(oid instanceof RootOid) {
+ RootOid ows = (RootOid) oid;
parentOidStr = enString(ows);
- } else if (oid instanceof SerialOid) {
- final SerialOid parentSerialOid = (SerialOid) oid;
- parentOidStr = Long.toString(parentSerialOid.getSerialNo(), 16);
+ } else if (oid instanceof RootOidDefault) {
+ final RootOidDefault parentSerialOid = (RootOidDefault) oid;
+ parentOidStr = parentSerialOid.getIdentifier();
} else {
throw new ScimpiException("Unsupported OID type " + oid);
}
return parentOidStr;
}
- private ObjectSpecification getSpecification(final String cls) {
- return getSpecificationLoader().loadSpecification(cls);
- }
-
///////////////////////////////////////
// from context
@@ -478,6 +464,4 @@ public class DefaultOidObjectMapping imp
return getPersistenceSession().getAdapterManager();
}
-
-
}
Modified: incubator/isis/trunk/framework/viewer/scimpi/scimpi-dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/context/IndirectObjectMapping.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/scimpi/scimpi-dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/context/IndirectObjectMapping.java?rev=1304796&r1=1304795&r2=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/scimpi/scimpi-dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/context/IndirectObjectMapping.java (original)
+++ incubator/isis/trunk/framework/viewer/scimpi/scimpi-dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/context/IndirectObjectMapping.java Sat Mar 24 14:01:35 2012
@@ -101,7 +101,7 @@ public class IndirectObjectMapping imple
private void appendMappings(final DebugBuilder debug, final Scope scope) {
debug.appendTitle("Objects for " + scope);
final Map<String, Mapping> map = scopedMappings.get(scope);
- final Iterator<String> ids = new TreeSet(map.keySet()).iterator();
+ final Iterator<String> ids = new TreeSet<String>(map.keySet()).iterator();
if (!ids.hasNext()) {
debug.appendln("None", "");
}
Modified: incubator/isis/trunk/framework/viewer/scimpi/scimpi-dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/context/RequestContext.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/scimpi/scimpi-dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/context/RequestContext.java?rev=1304796&r1=1304795&r2=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/scimpi/scimpi-dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/context/RequestContext.java (original)
+++ incubator/isis/trunk/framework/viewer/scimpi/scimpi-dispatcher/src/main/java/org/apache/isis/viewer/scimpi/dispatcher/context/RequestContext.java Sat Mar 24 14:01:35 2012
@@ -38,6 +38,8 @@ import org.apache.isis.core.commons.debu
import org.apache.isis.core.commons.factory.InstanceUtil;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.adapter.oid.AggregatedOid;
+import org.apache.isis.core.metamodel.adapter.oid.Oid;
+import org.apache.isis.core.metamodel.adapter.oid.RootOid;
import org.apache.isis.core.metamodel.adapter.version.Version;
import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
@@ -193,7 +195,7 @@ public abstract class RequestContext {
if (parentObject instanceof ObjectAdapter) {
IsisContext.getPersistenceSession().resolveImmediately(parentObject);
}
-
+
final AggregatedOid aggregatedOid = new AggregatedOid(parentObject.getOid(), idParts[2]);
ObjectAdapter aggregatedAdapter = null;
Copied: incubator/isis/trunk/framework/viewer/wicket/wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/isis/PersistenceSessionProvider.java (from r1301918, incubator/isis/trunk/framework/viewer/wicket/wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/nof/PersistenceSessionAccessor.java)
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/isis/PersistenceSessionProvider.java?p2=incubator/isis/trunk/framework/viewer/wicket/wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/isis/PersistenceSessionProvider.java&p1=incubator/isis/trunk/framework/viewer/wicket/wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/nof/PersistenceSessionAccessor.java&r1=1301918&r2=1304796&rev=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/nof/PersistenceSessionAccessor.java (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/isis/PersistenceSessionProvider.java Sat Mar 24 14:01:35 2012
@@ -17,11 +17,11 @@
* under the License.
*/
-package org.apache.isis.viewer.wicket.model.nof;
+package org.apache.isis.viewer.wicket.model.isis;
import org.apache.isis.runtimes.dflt.runtime.system.persistence.PersistenceSession;
-public interface PersistenceSessionAccessor {
+public interface PersistenceSessionProvider {
PersistenceSession getPersistenceSession();
}
Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java?rev=1304796&r1=1304795&r2=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/ActionModel.java Sat Mar 24 14:01:35 2012
@@ -33,6 +33,7 @@ import org.apache.wicket.markup.html.lin
import org.apache.isis.applib.Identifier;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.adapter.oid.Oid;
+import org.apache.isis.core.metamodel.adapter.oid.RootOid;
import org.apache.isis.core.metamodel.adapter.oid.stringable.OidStringifier;
import org.apache.isis.core.metamodel.consent.Consent;
import org.apache.isis.core.metamodel.spec.ActionType;
@@ -148,7 +149,7 @@ public class ActionModel extends ModelAb
int i = 0;
for (final ObjectActionParameter actionParam : noAction.getParameters()) {
if (ActionParams.compatibleWith(contextAdapter, actionParam)) {
- final String oidStr = oidStringifier.enString(contextAdapter.getOid());
+ final String oidStr = oidStringifier.enString((RootOid)contextAdapter.getOid());
final String oidKeyValue = "" + i + "=" + oidStr;
PageParameterNames.ACTION_PARAM_CONTEXT.addTo(pageParameters, oidKeyValue);
return;
Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java?rev=1304796&r1=1304795&r2=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java Sat Mar 24 14:01:35 2012
@@ -27,6 +27,7 @@ import com.google.common.collect.Maps;
import org.apache.wicket.PageParameters;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
+import org.apache.isis.core.metamodel.adapter.oid.RootOid;
import org.apache.isis.core.metamodel.adapter.oid.stringable.OidStringifier;
import org.apache.isis.core.metamodel.consent.Consent;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
@@ -63,7 +64,7 @@ public class EntityModel extends ModelAb
PageParameterNames.OBJECT_PERSISTENT.addTo(pageParameters, persistent.toString());
if (persistent) {
- final String oidStr = oidStringifier.enString(adapter.getOid());
+ final String oidStr = oidStringifier.enString((RootOid) adapter.getOid());
final ObjectSpecification noSpec = adapter.getSpecification();
PageParameterNames.OBJECT_OID.addTo(pageParameters, oidStr);
Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java?rev=1304796&r1=1304795&r2=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-model/src/main/java/org/apache/isis/viewer/wicket/model/models/ScalarModel.java Sat Mar 24 14:01:35 2012
@@ -26,6 +26,7 @@ import java.util.List;
import org.apache.wicket.Session;
import org.apache.isis.core.commons.authentication.AuthenticationSession;
+import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.consent.Consent;
import org.apache.isis.core.metamodel.facetapi.Facet;
@@ -38,7 +39,6 @@ import org.apache.isis.core.metamodel.sp
import org.apache.isis.viewer.wicket.model.mementos.ActionParameterMemento;
import org.apache.isis.viewer.wicket.model.mementos.ObjectAdapterMemento;
import org.apache.isis.viewer.wicket.model.mementos.PropertyMemento;
-import org.apache.isis.viewer.wicket.model.nof.AuthenticationSessionAccessor;
import org.apache.isis.viewer.wicket.model.util.ClassLoaders;
/**
@@ -390,7 +390,7 @@ public class ScalarModel extends EntityM
* testing.
*/
protected AuthenticationSession getAuthenticationSession() {
- return ((AuthenticationSessionAccessor) Session.get()).getAuthenticationSession();
+ return ((AuthenticationSessionProvider) Session.get()).getAuthenticationSession();
}
public boolean isRequired() {
Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/ComponentFactoryAbstract.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/ComponentFactoryAbstract.java?rev=1304796&r1=1304795&r2=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/ComponentFactoryAbstract.java (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/ComponentFactoryAbstract.java Sat Mar 24 14:01:35 2012
@@ -23,13 +23,13 @@ import org.apache.wicket.Component;
import org.apache.wicket.model.IModel;
import org.apache.isis.core.metamodel.spec.SpecificationLoader;
+import org.apache.isis.core.metamodel.spec.SpecificationLoaderProvider;
import org.apache.isis.runtimes.dflt.runtime.system.context.IsisContext;
-import org.apache.isis.viewer.wicket.model.nof.SpecificationLoaderAccessor;
/**
* Adapter implementation for {@link ComponentFactory}.
*/
-public abstract class ComponentFactoryAbstract implements ComponentFactory, SpecificationLoaderAccessor {
+public abstract class ComponentFactoryAbstract implements ComponentFactory, SpecificationLoaderProvider {
private static final long serialVersionUID = 1L;
Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionPanel.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionPanel.java?rev=1304796&r1=1304795&r2=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionPanel.java (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/actions/ActionPanel.java Sat Mar 24 14:01:35 2012
@@ -26,12 +26,12 @@ import org.apache.isis.core.metamodel.ad
import org.apache.isis.core.metamodel.facets.object.value.ValueFacet;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.viewer.wicket.model.common.SelectionHandler;
+import org.apache.isis.viewer.wicket.model.isis.PersistenceSessionProvider;
import org.apache.isis.viewer.wicket.model.models.ActionExecutor;
import org.apache.isis.viewer.wicket.model.models.ActionModel;
import org.apache.isis.viewer.wicket.model.models.EntityCollectionModel;
import org.apache.isis.viewer.wicket.model.models.EntityModel;
import org.apache.isis.viewer.wicket.model.models.ValueModel;
-import org.apache.isis.viewer.wicket.model.nof.PersistenceSessionAccessor;
import org.apache.isis.viewer.wicket.ui.ComponentType;
import org.apache.isis.viewer.wicket.ui.pages.entity.EntityPage;
import org.apache.isis.viewer.wicket.ui.panels.PanelAbstract;
@@ -115,7 +115,7 @@ public class ActionPanel extends PanelAb
addResultsAccordingToSingleResultsMode(panel, actualAdapter);
}
- private ObjectAdapter determineActualAdapter(final ObjectAdapter resultAdapter, final PersistenceSessionAccessor psa) {
+ private ObjectAdapter determineActualAdapter(final ObjectAdapter resultAdapter, final PersistenceSessionProvider psa) {
ObjectAdapter actualAdapter;
if (resultAdapter.getSpecification().isNotCollection()) {
actualAdapter = resultAdapter;
@@ -147,7 +147,7 @@ public class ActionPanel extends PanelAb
}
}
- private ObjectAdapter adapterFor(final Object pojo, final PersistenceSessionAccessor psa) {
+ private ObjectAdapter adapterFor(final Object pojo, final PersistenceSessionProvider psa) {
return psa.getPersistenceSession().getAdapterManager().adapterFor(pojo);
}
},
Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/CssMenuItem.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/CssMenuItem.java?rev=1304796&r1=1304795&r2=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/CssMenuItem.java (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/cssmenu/CssMenuItem.java Sat Mar 24 14:01:35 2012
@@ -38,12 +38,12 @@ import org.apache.wicket.markup.html.lin
import org.apache.wicket.model.Model;
import org.apache.isis.core.commons.authentication.AuthenticationSession;
+import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
import org.apache.isis.core.commons.ensure.Ensure;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.consent.Consent;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
import org.apache.isis.viewer.wicket.model.mementos.ObjectAdapterMemento;
-import org.apache.isis.viewer.wicket.model.nof.AuthenticationSessionAccessor;
import org.apache.isis.viewer.wicket.ui.components.widgets.cssmenu.CssMenuLinkFactory.LinkAndLabel;
import org.apache.isis.viewer.wicket.ui.pages.PageAbstract;
import org.apache.isis.viewer.wicket.ui.util.Components;
@@ -271,7 +271,7 @@ public class CssMenuItem implements Seri
// //////////////////////////////////////////////////////////////
protected AuthenticationSession getAuthenticationSession() {
- return ((AuthenticationSessionAccessor) Application.get()).getAuthenticationSession();
+ return ((AuthenticationSessionProvider) Application.get()).getAuthenticationSession();
}
}
\ No newline at end of file
Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/dropdownchoices/DropDownChoicesForObjectAdapterMementos.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/dropdownchoices/DropDownChoicesForObjectAdapterMementos.java?rev=1304796&r1=1304795&r2=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/dropdownchoices/DropDownChoicesForObjectAdapterMementos.java (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/dropdownchoices/DropDownChoicesForObjectAdapterMementos.java Sat Mar 24 14:01:35 2012
@@ -26,6 +26,7 @@ import org.apache.wicket.markup.html.for
import org.apache.wicket.model.IModel;
import org.apache.isis.core.metamodel.adapter.oid.Oid;
+import org.apache.isis.core.metamodel.adapter.oid.RootOid;
import org.apache.isis.core.metamodel.adapter.oid.stringable.OidStringifier;
import org.apache.isis.runtimes.dflt.runtime.system.context.IsisContext;
import org.apache.isis.runtimes.dflt.runtime.system.persistence.PersistenceSession;
@@ -45,7 +46,7 @@ public class DropDownChoicesForObjectAda
@Override
public String getIdValue(final ObjectAdapterMemento nom, final int index) {
final Oid oid = nom.getObjectAdapter().getOid();
- return getOidStringifier().enString(oid);
+ return getOidStringifier().enString((RootOid) oid);
}
protected OidStringifier getOidStringifier() {
Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/formcomponent/FormComponentPanelAbstract.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/formcomponent/FormComponentPanelAbstract.java?rev=1304796&r1=1304795&r2=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/formcomponent/FormComponentPanelAbstract.java (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/components/widgets/formcomponent/FormComponentPanelAbstract.java Sat Mar 24 14:01:35 2012
@@ -29,12 +29,13 @@ import org.apache.wicket.markup.html.for
import org.apache.wicket.model.IModel;
import org.apache.isis.core.commons.authentication.AuthenticationSession;
+import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
+import org.apache.isis.core.commons.authentication.AuthenticationSessionProviderAware;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.adapter.oid.stringable.OidStringifier;
import org.apache.isis.runtimes.dflt.runtime.system.context.IsisContext;
import org.apache.isis.runtimes.dflt.runtime.system.persistence.PersistenceSession;
-import org.apache.isis.viewer.wicket.model.nof.AuthenticationSessionAccessor;
-import org.apache.isis.viewer.wicket.model.nof.PersistenceSessionAccessor;
+import org.apache.isis.viewer.wicket.model.isis.PersistenceSessionProvider;
import org.apache.isis.viewer.wicket.ui.ComponentType;
import org.apache.isis.viewer.wicket.ui.app.imagecache.ImageCache;
import org.apache.isis.viewer.wicket.ui.app.imagecache.ImageCacheAccessor;
@@ -49,7 +50,7 @@ import org.apache.isis.viewer.wicket.ui.
* Wicket {@link FormComponentPanel}, providing the ability to build up the
* panel using other {@link ComponentType}s.
*/
-public abstract class FormComponentPanelAbstract<T> extends FormComponentPanel<T> implements PersistenceSessionAccessor, AuthenticationSessionAccessor {
+public abstract class FormComponentPanelAbstract<T> extends FormComponentPanel<T> implements PersistenceSessionProvider, AuthenticationSessionProvider {
private static final long serialVersionUID = 1L;
@@ -140,7 +141,7 @@ public abstract class FormComponentPanel
*/
@Override
public AuthenticationSession getAuthenticationSession() {
- return ((AuthenticationSessionAccessor) Session.get()).getAuthenticationSession();
+ return ((AuthenticationSessionProvider) Session.get()).getAuthenticationSession();
}
// ///////////////////////////////////////////////////////////////////
@@ -160,4 +161,17 @@ public abstract class FormComponentPanel
return getPersistenceSession().getOidGenerator().getOidStringifier();
}
+
+ // /////////////////////////////////////////////////
+ // *Provider impl.
+ // /////////////////////////////////////////////////
+
+ @Override
+ public void injectInto(final Object candidate) {
+ if (AuthenticationSessionProviderAware.class.isAssignableFrom(candidate.getClass())) {
+ final AuthenticationSessionProviderAware cast = AuthenticationSessionProviderAware.class.cast(candidate);
+ cast.setAuthenticationSessionProvider(this);
+ }
+ }
+
}
Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/FormAbstract.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/FormAbstract.java?rev=1304796&r1=1304795&r2=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/FormAbstract.java (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/FormAbstract.java Sat Mar 24 14:01:35 2012
@@ -28,18 +28,19 @@ import org.apache.wicket.markup.html.for
import org.apache.wicket.model.IModel;
import org.apache.isis.core.commons.authentication.AuthenticationSession;
+import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
+import org.apache.isis.core.commons.authentication.AuthenticationSessionProviderAware;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.adapter.oid.stringable.OidStringifier;
import org.apache.isis.runtimes.dflt.runtime.system.context.IsisContext;
import org.apache.isis.runtimes.dflt.runtime.system.persistence.PersistenceSession;
-import org.apache.isis.viewer.wicket.model.nof.AuthenticationSessionAccessor;
-import org.apache.isis.viewer.wicket.model.nof.PersistenceSessionAccessor;
+import org.apache.isis.viewer.wicket.model.isis.PersistenceSessionProvider;
import org.apache.isis.viewer.wicket.ui.app.registry.ComponentFactoryRegistry;
import org.apache.isis.viewer.wicket.ui.app.registry.ComponentFactoryRegistryAccessor;
import org.apache.isis.viewer.wicket.ui.pages.PageClassRegistry;
import org.apache.isis.viewer.wicket.ui.pages.PageClassRegistryAccessor;
-public abstract class FormAbstract<T> extends Form<T> implements IHeaderContributor, ComponentFactoryRegistryAccessor, PageClassRegistryAccessor, AuthenticationSessionAccessor, PersistenceSessionAccessor {
+public abstract class FormAbstract<T> extends Form<T> implements IHeaderContributor, ComponentFactoryRegistryAccessor, PageClassRegistryAccessor, AuthenticationSessionProvider, PersistenceSessionProvider {
private static final long serialVersionUID = 1L;
@@ -113,4 +114,16 @@ public abstract class FormAbstract<T> ex
return getPersistenceSession().getOidGenerator().getOidStringifier();
}
+ // /////////////////////////////////////////////////
+ // *Provider impl.
+ // /////////////////////////////////////////////////
+
+ @Override
+ public void injectInto(final Object candidate) {
+ if (AuthenticationSessionProviderAware.class.isAssignableFrom(candidate.getClass())) {
+ final AuthenticationSessionProviderAware cast = AuthenticationSessionProviderAware.class.cast(candidate);
+ cast.setAuthenticationSessionProvider(this);
+ }
+ }
+
}
Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PanelAbstract.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PanelAbstract.java?rev=1304796&r1=1304795&r2=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PanelAbstract.java (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/main/java/org/apache/isis/viewer/wicket/ui/panels/PanelAbstract.java Sat Mar 24 14:01:35 2012
@@ -32,12 +32,13 @@ import org.apache.wicket.markup.html.pan
import org.apache.wicket.model.IModel;
import org.apache.isis.core.commons.authentication.AuthenticationSession;
+import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
+import org.apache.isis.core.commons.authentication.AuthenticationSessionProviderAware;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.adapter.oid.stringable.OidStringifier;
import org.apache.isis.runtimes.dflt.runtime.system.context.IsisContext;
import org.apache.isis.runtimes.dflt.runtime.system.persistence.PersistenceSession;
-import org.apache.isis.viewer.wicket.model.nof.AuthenticationSessionAccessor;
-import org.apache.isis.viewer.wicket.model.nof.PersistenceSessionAccessor;
+import org.apache.isis.viewer.wicket.model.isis.PersistenceSessionProvider;
import org.apache.isis.viewer.wicket.ui.ComponentType;
import org.apache.isis.viewer.wicket.ui.app.registry.ComponentFactoryRegistry;
import org.apache.isis.viewer.wicket.ui.util.Components;
@@ -45,7 +46,7 @@ import org.apache.isis.viewer.wicket.ui.
/**
* Convenience adapter for {@link Panel}s built up using {@link ComponentType}s.
*/
-public abstract class PanelAbstract<T extends IModel<?>> extends Panel implements IHeaderContributor, PersistenceSessionAccessor, AuthenticationSessionAccessor {
+public abstract class PanelAbstract<T extends IModel<?>> extends Panel implements IHeaderContributor, PersistenceSessionProvider, AuthenticationSessionProvider {
private static final long serialVersionUID = 1L;
@@ -143,7 +144,7 @@ public abstract class PanelAbstract<T ex
*/
@Override
public AuthenticationSession getAuthenticationSession() {
- final AuthenticationSessionAccessor asa = (AuthenticationSessionAccessor) Session.get();
+ final AuthenticationSessionProvider asa = (AuthenticationSessionProvider) Session.get();
return asa.getAuthenticationSession();
}
@@ -181,4 +182,18 @@ public abstract class PanelAbstract<T ex
this.componentFactoryRegistry = componentFactoryRegistry;
}
+
+ // /////////////////////////////////////////////////
+ // *Provider impl.
+ // /////////////////////////////////////////////////
+
+ @Override
+ public void injectInto(final Object candidate) {
+ if (AuthenticationSessionProviderAware.class.isAssignableFrom(candidate.getClass())) {
+ final AuthenticationSessionProviderAware cast = AuthenticationSessionProviderAware.class.cast(candidate);
+ cast.setAuthenticationSessionProvider(this);
+ }
+ }
+
+
}
Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/test/java/org/apache/isis/viewer/wicket/ui/fixtures/SystemFixtures.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/test/java/org/apache/isis/viewer/wicket/ui/fixtures/SystemFixtures.java?rev=1304796&r1=1304795&r2=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/test/java/org/apache/isis/viewer/wicket/ui/fixtures/SystemFixtures.java (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-ui/src/test/java/org/apache/isis/viewer/wicket/ui/fixtures/SystemFixtures.java Sat Mar 24 14:01:35 2012
@@ -23,7 +23,7 @@ import org.apache.wicket.markup.html.lin
import org.jmock.Expectations;
import org.jmock.Mockery;
-import org.apache.isis.core.metamodel.adapter.oid.Oid;
+import org.apache.isis.core.metamodel.adapter.oid.RootOid;
import org.apache.isis.core.metamodel.adapter.oid.stringable.OidStringifier;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
import org.apache.isis.viewer.wicket.model.mementos.ObjectAdapterMemento;
@@ -37,7 +37,7 @@ public final class SystemFixtures {
this.context = context;
}
- public void enstringOid(final OidStringifier mockOidStringifier, final Oid mockOid, final String returns) {
+ public void enstringOid(final OidStringifier mockOidStringifier, final RootOid mockOid, final String returns) {
context.checking(new Expectations() {
{
allowing(mockOidStringifier).enString(mockOid);
Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java?rev=1304796&r1=1304795&r2=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketApplication.java Sat Mar 24 14:01:35 2012
@@ -43,6 +43,8 @@ import org.apache.wicket.protocol.http.W
import org.apache.wicket.util.convert.ConverterLocator;
import org.apache.isis.core.commons.authentication.AuthenticationSession;
+import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
+import org.apache.isis.core.commons.authentication.AuthenticationSessionProviderAware;
import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
import org.apache.isis.core.commons.config.IsisConfigurationBuilderResourceStreams;
import org.apache.isis.core.commons.resource.ResourceStreamSource;
@@ -55,7 +57,6 @@ import org.apache.isis.runtimes.dflt.run
import org.apache.isis.runtimes.dflt.runtime.system.IsisSystem;
import org.apache.isis.runtimes.dflt.runtime.system.context.IsisContext;
import org.apache.isis.viewer.wicket.model.mementos.ObjectAdapterMemento;
-import org.apache.isis.viewer.wicket.model.nof.AuthenticationSessionAccessor;
import org.apache.isis.viewer.wicket.ui.ComponentFactory;
import org.apache.isis.viewer.wicket.ui.app.cssrenderer.ApplicationCssRenderer;
import org.apache.isis.viewer.wicket.ui.app.imagecache.ImageCache;
@@ -114,7 +115,7 @@ import org.apache.isis.viewer.wicket.vie
* changed.)</li>
* </ul>
*/
-public class IsisWicketApplication extends AuthenticatedWebApplication implements ComponentFactoryRegistryAccessor, PageClassRegistryAccessor, ImageCacheAccessor, ApplicationCssRenderer, AuthenticationSessionAccessor {
+public class IsisWicketApplication extends AuthenticatedWebApplication implements ComponentFactoryRegistryAccessor, PageClassRegistryAccessor, ImageCacheAccessor, ApplicationCssRenderer, AuthenticationSessionProvider {
private static final long serialVersionUID = 1L;
@@ -352,4 +353,17 @@ public class IsisWicketApplication exten
return IsisContext.getAuthenticationSession();
}
+
+ // /////////////////////////////////////////////////
+ // *Provider impl.
+ // /////////////////////////////////////////////////
+
+ @Override
+ public void injectInto(final Object candidate) {
+ if (AuthenticationSessionProviderAware.class.isAssignableFrom(candidate.getClass())) {
+ final AuthenticationSessionProviderAware cast = AuthenticationSessionProviderAware.class.cast(candidate);
+ cast.setAuthenticationSessionProvider(this);
+ }
+ }
+
}
Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketUnsecuredApplication.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketUnsecuredApplication.java?rev=1304796&r1=1304795&r2=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketUnsecuredApplication.java (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/IsisWicketUnsecuredApplication.java Sat Mar 24 14:01:35 2012
@@ -40,6 +40,8 @@ import org.apache.wicket.protocol.http.W
import org.apache.wicket.util.convert.ConverterLocator;
import org.apache.isis.core.commons.authentication.AuthenticationSession;
+import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
+import org.apache.isis.core.commons.authentication.AuthenticationSessionProviderAware;
import org.apache.isis.core.commons.config.IsisConfiguration;
import org.apache.isis.core.commons.config.IsisConfigurationBuilder;
import org.apache.isis.core.commons.config.IsisConfigurationBuilderResourceStreams;
@@ -57,7 +59,6 @@ import org.apache.isis.runtimes.dflt.run
import org.apache.isis.runtimes.dflt.runtime.system.IsisSystem;
import org.apache.isis.runtimes.dflt.runtime.system.context.IsisContext;
import org.apache.isis.viewer.wicket.model.mementos.ObjectAdapterMemento;
-import org.apache.isis.viewer.wicket.model.nof.AuthenticationSessionAccessor;
import org.apache.isis.viewer.wicket.ui.app.cssrenderer.ApplicationCssRenderer;
import org.apache.isis.viewer.wicket.ui.app.imagecache.ImageCache;
import org.apache.isis.viewer.wicket.ui.app.imagecache.ImageCacheAccessor;
@@ -74,7 +75,7 @@ import org.apache.isis.viewer.wicket.vie
import org.apache.isis.viewer.wicket.viewer.integration.wicket.ConverterForObjectAdapterMemento;
import org.apache.isis.viewer.wicket.viewer.integration.wicket.WebRequestCycleForIsis;
-public class IsisWicketUnsecuredApplication extends WebApplication implements ComponentFactoryRegistryAccessor, PageClassRegistryAccessor, ImageCacheAccessor, ApplicationCssRenderer, AuthenticationSessionAccessor {
+public class IsisWicketUnsecuredApplication extends WebApplication implements ComponentFactoryRegistryAccessor, PageClassRegistryAccessor, ImageCacheAccessor, ApplicationCssRenderer, AuthenticationSessionProvider {
private static final long serialVersionUID = 1L;
@@ -326,4 +327,17 @@ public class IsisWicketUnsecuredApplicat
return IsisContext.getAuthenticationSession();
}
+
+ // /////////////////////////////////////////////////
+ // *Provider impl.
+ // /////////////////////////////////////////////////
+
+ @Override
+ public void injectInto(final Object candidate) {
+ if (AuthenticationSessionProviderAware.class.isAssignableFrom(candidate.getClass())) {
+ final AuthenticationSessionProviderAware cast = AuthenticationSessionProviderAware.class.cast(candidate);
+ cast.setAuthenticationSessionProvider(this);
+ }
+ }
+
}
Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/AuthenticatedWebSessionForIsis.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/AuthenticatedWebSessionForIsis.java?rev=1304796&r1=1304795&r2=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/AuthenticatedWebSessionForIsis.java (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/AuthenticatedWebSessionForIsis.java Sat Mar 24 14:01:35 2012
@@ -33,12 +33,13 @@ import org.apache.wicket.authorization.s
import org.apache.wicket.protocol.http.request.WebClientInfo;
import org.apache.isis.core.commons.authentication.AuthenticationSession;
+import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
+import org.apache.isis.core.commons.authentication.AuthenticationSessionProviderAware;
import org.apache.isis.core.commons.ensure.Ensure;
import org.apache.isis.core.runtime.authentication.AuthenticationManager;
import org.apache.isis.core.runtime.authentication.AuthenticationRequest;
import org.apache.isis.core.runtime.authentication.AuthenticationRequestPassword;
import org.apache.isis.runtimes.dflt.runtime.system.context.IsisContext;
-import org.apache.isis.viewer.wicket.model.nof.AuthenticationSessionAccessor;
/**
* Viewer-specific implementation of {@link AuthenticatedWebSession}, which
@@ -46,7 +47,7 @@ import org.apache.isis.viewer.wicket.mod
* also tracks threadusage (so that multiple concurrent requests are all
* associated with the same session).
*/
-public class AuthenticatedWebSessionForIsis extends AuthenticatedWebSession implements AuthenticationSessionAccessor {
+public class AuthenticatedWebSessionForIsis extends AuthenticatedWebSession implements AuthenticationSessionProvider {
private static final long serialVersionUID = 1L;
@@ -130,4 +131,17 @@ public class AuthenticatedWebSessionForI
return IsisContext.getAuthenticationManager();
}
+ // /////////////////////////////////////////////////
+ // *Provider impl.
+ // /////////////////////////////////////////////////
+
+ @Override
+ public void injectInto(final Object candidate) {
+ if (AuthenticationSessionProviderAware.class.isAssignableFrom(candidate.getClass())) {
+ final AuthenticationSessionProviderAware cast = AuthenticationSessionProviderAware.class.cast(candidate);
+ cast.setAuthenticationSessionProvider(this);
+ }
+ }
+
+
}
Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/ConverterForObjectAdapter.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/ConverterForObjectAdapter.java?rev=1304796&r1=1304795&r2=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/ConverterForObjectAdapter.java (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/ConverterForObjectAdapter.java Sat Mar 24 14:01:35 2012
@@ -25,6 +25,7 @@ import org.apache.wicket.util.convert.IC
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.adapter.oid.Oid;
+import org.apache.isis.core.metamodel.adapter.oid.RootOid;
import org.apache.isis.core.metamodel.adapter.oid.stringable.OidStringifier;
import org.apache.isis.runtimes.dflt.runtime.system.context.IsisContext;
import org.apache.isis.runtimes.dflt.runtime.system.persistence.AdapterManager;
@@ -60,7 +61,7 @@ public class ConverterForObjectAdapter i
// values don't have an Oid
return null;
}
- return getOidStringifier().enString(oid);
+ return getOidStringifier().enString((RootOid) oid);
}
protected AdapterManager getAdapterManager() {
Modified: incubator/isis/trunk/framework/viewer/wicket/wicket-viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/ConverterForObjectAdapterMemento.java
URL: http://svn.apache.org/viewvc/incubator/isis/trunk/framework/viewer/wicket/wicket-viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/ConverterForObjectAdapterMemento.java?rev=1304796&r1=1304795&r2=1304796&view=diff
==============================================================================
--- incubator/isis/trunk/framework/viewer/wicket/wicket-viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/ConverterForObjectAdapterMemento.java (original)
+++ incubator/isis/trunk/framework/viewer/wicket/wicket-viewer/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/ConverterForObjectAdapterMemento.java Sat Mar 24 14:01:35 2012
@@ -26,6 +26,7 @@ import org.apache.wicket.util.convert.IC
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.adapter.oid.Oid;
+import org.apache.isis.core.metamodel.adapter.oid.RootOid;
import org.apache.isis.core.metamodel.adapter.oid.stringable.OidStringifier;
import org.apache.isis.runtimes.dflt.runtime.system.context.IsisContext;
import org.apache.isis.runtimes.dflt.runtime.system.persistence.AdapterManager;
@@ -57,7 +58,7 @@ public class ConverterForObjectAdapterMe
/**
* Converts {@link ObjectAdapterMemento} to {@link OidStringifier
- * stringified} {@link Oid}.
+ * stringified} {@link RootOid}.
*/
@Override
public String convertToString(final Object object, final Locale locale) {
@@ -67,13 +68,11 @@ public class ConverterForObjectAdapterMe
final ObjectAdapterMemento memento = (ObjectAdapterMemento) object;
final Oid oid = memento.getObjectAdapter().getOid();
if (oid == null) {
- // values don't have an Oid, but we don't support 'em
+ // values don't have an Oid...
+ // REVIEW: is this right?
return memento.toString();
-
- // throw new IllegalStateException(
- // "cannot convert memento to OBJECT_OID; memento's adapter is a value so has no OBJECT_OID");
}
- return getOidStringifier().enString(oid);
+ return getOidStringifier().enString((RootOid) oid);
}
protected AdapterManager getAdapterManager() {