@Override public Target getTarget() { final ExecutedFacet facet = getFacet(ExecutedFacet.class); final Where executeWhere = facet.value(); if (executeWhere == Where.LOCALLY) { return Target.LOCAL; } else if (executeWhere == Where.REMOTELY) { return Target.REMOTE; } else if (executeWhere == Where.DEFAULT) { return Target.DEFAULT; } else { throw new UnknownTypeException(executeWhere); } }
private List<ObjectAction> asObjectActions(final OrderSet orderSet) { if (orderSet == null) { return null; } final List<ObjectAction> actions = Lists.newArrayList(); for (final Object element : orderSet) { if (element instanceof FacetedMethod) { final FacetedMethod facetedMethod = (FacetedMethod) element; if (facetedMethod.getFeatureType().isAction()) { actions.add(createAction(facetedMethod)); } } else if (element instanceof OrderSet) { final OrderSet set = ((OrderSet) element); actions.add(createObjectActionSet(set)); } else { throw new UnknownTypeException(element); } } return actions; }
public static ObjectAdapter createAdapter(final Class<?> type, final Object object, final AdapterManager adapterManager, final SpecificationLoader specificationLoader) { final ObjectSpecification specification = specificationLoader.loadSpecification(type); if (specification.isNotCollection()) { return adapterManager.adapterFor(object); } else { throw new UnknownTypeException("not an object, is this a collection?"); } }
private ObjectAdapter deserializeObject(final Data data, final KnownObjectsRequest knownObjects) { if (data instanceof NullData) { return null; } else if (data instanceof ObjectData) { final ObjectData objectData = (ObjectData) data; return deserializeObjectFromObjectData(objectData, knownObjects); } else if (data instanceof IdentityData) { final IdentityData identityData = (IdentityData) data; return deserializeObjectFromIdentityData(identityData, knownObjects); } else if (data instanceof EncodableObjectData) { final EncodableObjectData encodableObjectData = (EncodableObjectData) data; return deserializeObjectFromEncodableObjectData(encodableObjectData); } else { throw new UnknownTypeException(data); } }
private List<ObjectAssociation> asAssociations(final OrderSet orderSet) { if (orderSet == null) { return null; } final List<ObjectAssociation> associations = Lists.newArrayList(); for (final Object element : orderSet) { if (element instanceof FacetedMethod) { final FacetedMethod facetMethod = (FacetedMethod) element; if (facetMethod.getFeatureType().isCollection()) { associations.add(createCollection(facetMethod)); } else if (facetMethod.getFeatureType().isProperty()) { associations.add(createProperty(facetMethod)); } } else if (element instanceof OrderSet) { // Not supported at present } else { throw new UnknownTypeException(element); } } return associations; }
private ObjectAdapter createAdapter(final Class<?> type, final Object object) { final ObjectSpecification specification = getSpecificationLookup().loadSpecification(type); if (specification.isNotCollection()) { return getAdapterMap().adapterFor(object); } else { throw new UnknownTypeException("not an object, is this a collection?"); } }
private String showSelectionList(final Request request, final ObjectAdapter collection, final ObjectAdapter selectedItem, final boolean allowNotSet, final String type) { final String field = request.getRequiredProperty(FIELD); final CollectionFacet facet = collection.getSpecification().getFacet(CollectionFacet.class); if (facet.size(collection) == 1 && !allowNotSet) { return onlyItem(request, field, collection, facet); } else if (type.equals("radio")) { return radioButtonList(request, field, allowNotSet, collection, selectedItem, facet); } else if (type.equals("list")) { final String size = request.getOptionalProperty("size", "5"); return dropdownList(request, field, allowNotSet, collection, selectedItem, size, facet); } else if (type.equals("dropdown")) { return dropdownList(request, field, allowNotSet, collection, selectedItem, null, facet); } else { throw new UnknownTypeException(type); } }
protected ObjectAdapter createAdapter(final Class<?> type, final Object object) { final ObjectSpecification specification = getSpecificationLookup().loadSpecification(type); if (specification.isNotCollection()) { return getAdapterMap().adapterFor(object); } else { throw new UnknownTypeException("not an object, is this a collection?"); } }
/** * Build lazily by {@link #getParameters()}. * * <p> * Although this is lazily loaded, the method is also <tt>synchronized</tt> * so there shouldn't be any thread race conditions. */ @Override public synchronized List<ObjectActionParameter> getParameters() { if (this.parameters == null) { final int parameterCount = getParameterCount(); final List<ObjectActionParameter> parameters = Lists.newArrayList(); final List<FacetedMethodParameter> paramPeers = getFacetedMethod().getParameters(); for (int i = 0; i < parameterCount; i++) { final TypedHolder paramPeer = paramPeers.get(i); final ObjectSpecification specification = ObjectMemberAbstract.getSpecification(getSpecificationLookup(), paramPeer.getType()); if (specification.isParseable()) { parameters.add(new ObjectActionParameterParseable(i, this, paramPeer)); } else if (specification.isNotCollection()) { parameters.add(new OneToOneActionParameterImpl(i, this, paramPeer)); } else if (specification.isCollection()) { throw new UnknownTypeException("collections not supported as parameters: " + getIdentifier()); } else { throw new UnknownTypeException(specification); } } this.parameters = parameters; } return parameters; }
private final Data createParameter(final String type, final ObjectAdapter adapter, final KnownObjectsRequest knownObjects) { if (adapter == null) { return dataFactory.createNullData(type); } if (!adapter.getSpecification().isNotCollection()) { throw new UnknownTypeException(adapter.getSpecification()); } if (adapter.getSpecification().isEncodeable()) { return serializer.serializeEncodeable(adapter); } else { return encode(adapter, clientSideActionParameterGraphDepth, knownObjects); } }
private ObjectAdapter[] decodeParameters(final AuthenticationSession session, final Data[] parameterData, final KnownObjectsRequest knownObjects) { final ObjectAdapter[] parameters = new ObjectAdapter[parameterData.length]; for (int i = 0; i < parameters.length; i++) { final Data data = parameterData[i]; if (data instanceof NullData) { continue; } if (data instanceof IdentityData) { parameters[i] = getPersistentObjectAdapter(session, (IdentityData) data); } else if (data instanceof ObjectData) { parameters[i] = encoderDecoder.decode(data, knownObjects); } else if (data instanceof EncodableObjectData) { final ObjectSpecification valueSpecification = getSpecificationLoader().loadSpecification(data.getType()); final String valueData = ((EncodableObjectData) data).getEncodedObjectData(); final ObjectAdapter value = restoreLeafObject(valueData, valueSpecification); /* * ObjectAdapter value = * IsisContext.getObjectLoader().createValueInstance * (valueSpecification); * value.restoreFromEncodedString(valueData); */ parameters[i] = value; } else { throw new UnknownTypeException(data); } } return parameters; }
/** * Called server-side only: * <ul> * <li>by {@link ServerFacadeImpl#executeServerAction(ExecuteServerActionRequest)} * </ul> */ @Override public ExecuteServerActionResponse encodeServerActionResult(final ObjectAdapter result, final ObjectData[] updatesData, final ReferenceData[] disposedData, final ObjectData persistedTargetData, final ObjectData[] persistedParametersData, final String[] messages, final String[] warnings) { Data resultData; if (result == null) { resultData = dataFactory.createNullData(""); } else if (result.getSpecification().isCollection()) { resultData = serializer.serializeCollection(result, serverSideRetrievedObjectGraphDepth, new KnownObjectsRequest()); } else if (result.getSpecification().isNotCollection()) { resultData = encodeCompletePersistentGraph(result); } else { throw new UnknownTypeException(result); } return new ExecuteServerActionResponse(resultData, updatesData, disposedData, persistedTargetData, persistedParametersData, messages, warnings); }
parameterChoicesAdapters[i] = new ObjectAdapter[0]; } else { throw new UnknownTypeException(paramSpec);
private void createFieldData(final ObjectAdapter object, final ObjectData data, final ObjectAssociation field) { Object fieldData; if (field.isOneToManyAssociation()) { final ObjectAdapter coll = field.get(object); fieldData = createCollectionData(coll); } else if (field.getSpecification().isEncodeable()) { final EncodableFacet facet = field.getSpecification().getFacet(EncodableFacet.class); final ObjectAdapter value = field.get(object); fieldData = facet.toEncodedString(value); } else if (field.isOneToOneAssociation()) { final ObjectAdapter ref = ((OneToOneAssociation) field).get(object); fieldData = createReferenceData(ref); } else { throw new UnknownTypeException(field); } data.addField(field.getId(), fieldData); }
private void createAssociationData(final ObjectAdapter adapter, final ObjectData data, final ObjectAssociation objectAssoc) { Object assocData; if (objectAssoc.isOneToManyAssociation()) { final ObjectAdapter collAdapter = objectAssoc.get(adapter, InteractionInitiatedBy.FRAMEWORK); assocData = createCollectionData(collAdapter); } else if (objectAssoc.getSpecification().isEncodeable()) { final EncodableFacet facet = objectAssoc.getSpecification().getFacet(EncodableFacet.class); final ObjectAdapter value = objectAssoc.get(adapter, InteractionInitiatedBy.FRAMEWORK); assocData = facet.toEncodedString(value); } else if (objectAssoc.isOneToOneAssociation()) { final ObjectAdapter referencedAdapter = objectAssoc.get(adapter, InteractionInitiatedBy.FRAMEWORK); assocData = createReferenceData(referencedAdapter); } else { throw new UnknownTypeException(objectAssoc); } data.addField(objectAssoc.getId(), assocData); }
private static String createField(final InputField field) { if (field.isHidden()) { if (field.getType() == InputField.REFERENCE) { return createObjectField(field, "hidden"); } else { return ""; } } else { if (field.getType() == InputField.HTML) { return "<span class=\"value\">" + field.getHtml() + "</span>"; } else if (field.getOptionsText() != null) { return createOptions(field); } else if (field.getType() == InputField.REFERENCE) { return createObjectField(field, "text"); } else if (field.getType() == InputField.CHECKBOX) { return createCheckbox(field); } else if (field.getType() == InputField.PASSWORD) { return createPasswordField(field); } else if (field.getType() == InputField.TEXT) { if (field.getHeight() > 1) { return createTextArea(field); } else { return createTextField(field); } } else { throw new UnknownTypeException(field.toString()); } } }
throw new UnknownTypeException(fields[i]);