/** * Converts {@link ObjectAdapter} to {@link OidStringifier stringified} * {@link Oid}. */ @Override public String convertToString(final Object object, final Locale locale) { final ObjectAdapter adapter = (ObjectAdapter) object; final Oid oid = adapter.getOid(); if (oid == null) { // values don't have an Oid return null; } return getOidStringifier().enString(oid); }
private static Oid oidFor(final PageParameters pageParameters, final OidStringifier oidStringifier) { return oidStringifier.deString(PageParameterNames.OBJECT_OID.getFrom(pageParameters)); }
private static void addActionParamContextIfPossible(final ObjectAction noAction, final OidStringifier oidStringifier, final ObjectAdapter contextAdapter, final PageParameters pageParameters) { if (contextAdapter == null) { return; } int i = 0; for (final ObjectActionParameter actionParam : noAction.getParameters()) { if (ActionParams.compatibleWith(contextAdapter, actionParam)) { final String oidStr = oidStringifier.enString(contextAdapter.getOid()); final String oidKeyValue = "" + i + "=" + oidStr; PageParameterNames.ACTION_PARAM_CONTEXT.addTo(pageParameters, oidKeyValue); return; } i++; } }
/** * Converts {@link OidStringifier stringified} {@link Oid} to * {@link ObjectAdapterMemento}. */ @Override public Object convertToObject(final String value, final Locale locale) { if (StringUtils.isEmpty(value)) { return null; } final Oid oid = getOidStringifier().deString(value); final ObjectAdapter adapter = getAdapterManager().getAdapterFor(oid); return ObjectAdapterMemento.createOrNull(adapter); }
/** * Converts {@link ObjectAdapterMemento} to {@link OidStringifier * stringified} {@link Oid}. */ @Override public String convertToString(final Object object, final Locale locale) { if (object == null) { return null; } 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 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); }
/** * Converts {@link OidStringifier stringified} {@link Oid} to * {@link ObjectAdapter}. */ @Override public Object convertToObject(final String value, final Locale locale) { final Oid oid = getOidStringifier().deString(value); return getAdapterManager().getAdapterFor(oid); }
/** * Factory method for creating {@link PageParameters} to represent an * entity. */ public static PageParameters createPageParameters(final ObjectAdapter adapter, final OidStringifier oidStringifier) { final PageParameters pageParameters = new PageParameters(); final Boolean persistent = adapter.isPersistent(); PageParameterNames.OBJECT_PERSISTENT.addTo(pageParameters, persistent.toString()); if (persistent) { final String oidStr = oidStringifier.enString(adapter.getOid()); final ObjectSpecification noSpec = adapter.getSpecification(); PageParameterNames.OBJECT_OID.addTo(pageParameters, oidStr); PageParameterNames.OBJECT_SPEC.addTo(pageParameters, noSpec.getFullIdentifier()); } else { // don't do anything; instead the page should be redirected back to // an EntityPage so that the underlying EntityModel that contains // the // memento for the transient ObjectAdapter can be accessed. } return pageParameters; }
public EntityModel(final PageParameters pageParameters, final OidStringifier oidStringifier) { this(ObjectAdapterMemento.createPersistent(oidStringifier.deString(PageParameterNames.OBJECT_OID.getFrom(pageParameters)), SpecMemento.representing(PageParameterNames.OBJECT_SPEC.getFrom(pageParameters)))); }
encodedOid = Long.toString(((SerialOid) oid).getSerialNo(), 16); } else { encodedOid = IsisContext.getPersistenceSession().getOidGenerator().getOidStringifier().enString(oid);
private boolean setContextArgumentIfPossible(final PageParameters pageParameters, final OidStringifier oidStringifier) { final String paramContext = PageParameterNames.ACTION_PARAM_CONTEXT.getFrom(pageParameters); if (paramContext == null) { return false; } final ObjectAction action = actionMemento.getAction(); final int parameterCount = action.getParameterCount(); final Map.Entry<Integer, String> mapEntry = parse(paramContext); Oid oid; final int paramNum = mapEntry.getKey(); if (paramNum >= parameterCount) { return false; } try { oid = oidStringifier.deString(mapEntry.getValue()); } catch (final Exception e) { return false; } final ObjectAdapter argumentAdapter = getAdapterManager().getAdapterFor(oid); if (argumentAdapter == null) { return false; } final ObjectActionParameter actionParam = action.getParameters().get(paramNum); final ActionParameterMemento apm = new ActionParameterMemento(actionParam); final ScalarModel argumentModel = getArgumentModel(apm); argumentModel.setObject(argumentAdapter); return true; }
public void enstringOid(final OidStringifier mockOidStringifier, final Oid mockOid, final String returns) { context.checking(new Expectations() { { allowing(mockOidStringifier).enString(mockOid); will(returnValue(returns)); } }); }
loadObject = IsisContext.getPersistenceSession().loadObject(oid, spec); } else { oid = IsisContext.getPersistenceSession().getOidGenerator().getOidStringifier().deString(oidData); loadObject = IsisContext.getPersistenceSession().loadObject(oid, spec);