Package org.apache.isis.runtimes.dflt.remoting.common.data.common

Examples of org.apache.isis.runtimes.dflt.remoting.common.data.common.ObjectData


        final TestProxyAdapter object = new TestProxyAdapter();
        object.setupOid(new TestProxyOid(5));
        object.setupResolveState(ResolveState.GHOST);

        final IdentityData identityData = new DummyReferenceData();
        final ObjectData objectData = new DummyObjectData();
        final ResolveObjectRequest request = new ResolveObjectRequest(session, identityData);

        mockery.checking(new Expectations() {
            {
                // encoder used to create identity data for target object
View Full Code Here


        final boolean withCompleteData = resolveState == ResolveState.TRANSIENT || resolveState == ResolveState.RESOLVED;

        final String type = adapter.getSpecification().getFullIdentifier();
        final Oid oid = adapter.getOid();
        final ObjectData data = this.dataFactory.createObjectData(type, oid, withCompleteData, adapter.getVersion());
        if (isTransient) {
            knownObjects.put(adapter, data);
        }

        final ObjectAssociation[] fields = fieldOrderCache.getFields(adapter.getSpecification());
        final Data[] fieldContent = new Data[fields.length];
        PersistorUtil.start(adapter, adapter.getResolveState().serializeFrom());
        for (int i = 0; i < fields.length; i++) {
            if (fields[i].isNotPersisted()) {
                continue;
            }
            final ObjectAdapter field = fields[i].get(adapter);

            if (fields[i].getSpecification().isEncodeable()) {
                if (field == null) {
                    fieldContent[i] = this.dataFactory.createNullData(fields[i].getSpecification().getFullIdentifier());
                } else {
                    fieldContent[i] = serializeEncodeable(field);
                }

            } else if (fields[i].isOneToManyAssociation()) {
                fieldContent[i] = serializeCollection(field, graphDepth - 1, knownObjects);

            } else if (fields[i].isOneToOneAssociation()) {
                if (field == null) {
                    fieldContent[i] = !withCompleteData ? null : this.dataFactory.createNullData(fields[i].getSpecification().getFullIdentifier());
                } else {
                    fieldContent[i] = serializeObject2(field, graphDepth - 1, knownObjects);
                }

            } else {
                throw new UnknownTypeException(fields[i]);
            }
        }
        PersistorUtil.end(adapter);
        data.setFieldContent(fieldContent);
        return data;
    }
View Full Code Here

        // TODO remove the fudge - needed as collections are part of parents, hence parent object gets set as
        // resolving (is not a ghost) yet it has no version number
        // return createObjectData(oid, type, fieldContent, resolveState.isResolved(),
        // !resolveState.isGhost(), object.getVersion());
        final ObjectData data =
            dataFactory.createObjectData(type, oid, resolveState.isResolved(), adapter.getVersion());
        data.setFieldContent(fieldContent);
        return data;
        // return createObjectData(oid, type, fieldContent, resolveState.isResolved(), object.getVersion());
    }
View Full Code Here

        final Oid oid = request.getOid();

        log("get object " + oid);
        final GetObjectResponse response = decorated.getObject(request);
        final ObjectData data = response.getObjectData();
        log(" <-- data: " + data);
        return response;
    }
View Full Code Here

    public void testExecuteWhereObjectChanged() {

        final ExecuteServerActionResponse results = null;
        mockery.checking(new Expectations() {
            {
                final ObjectData changedObjectData = new DummyObjectData();
                one(mockEncoder).encodeForUpdate(adapter);
                will(returnValue(changedObjectData));

                one(mockEncoder).encodeServerActionResult(with(equalTo(adapter)), with(equalTo(new ObjectData[] { changedObjectData })), with(equalTo(new ReferenceData[0])), with(nullValue(ObjectData.class)), with(equalTo(new ObjectData[0])), with(equalTo(new String[0])),
                        with(equalTo(new String[0])));
View Full Code Here

    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) {
View Full Code Here

            if (fieldData[i] == null) {
                continue;
            }
            if (fields[i].isOneToOneAssociation()) {
                final ObjectAdapter field = ((OneToOneAssociation) fields[i]).get(adapter);
                final ObjectData fieldContent = (ObjectData) adapterData.getFieldContent()[i];
                if (field != null) {
                    madePersistent(field, fieldContent);
                }
            } else if (fields[i].isOneToManyAssociation()) {
                final CollectionData collectionData = (CollectionData) adapterData.getFieldContent()[i];
                final ObjectAdapter collectionAdapter = fields[i].get(adapter);
                if (!collectionAdapter.isPersistent()) {
                    collectionAdapter.changeState(ResolveState.RESOLVED);
                }
                final CollectionFacet facet = CollectionFacetUtils.getCollectionFacetFromSpec(collectionAdapter);
                final Enumeration elements = facet.elements(collectionAdapter);
                for (int j = 0; j < collectionData.getElements().length; j++) {
                    final ObjectAdapter element = (ObjectAdapter) elements.nextElement();
                    if (collectionData.getElements()[j] instanceof ObjectData) {
                        final ObjectData elementData = (ObjectData) collectionData.getElements()[j];
                        madePersistent(element, elementData);
                    }
                }
            }
        }
View Full Code Here

    private Map<String, ObjectAdapter> decode(final Map<String, ObjectData> argumentDatasByParameterName) {
        final Map<String, ObjectAdapter> argumentAdaptersByParameterName = new HashMap<String, ObjectAdapter>();
        for (final Map.Entry<String, ObjectData> entry : argumentDatasByParameterName.entrySet()) {
            final String parameterName = entry.getKey();
            final ObjectData data = entry.getValue();
            argumentAdaptersByParameterName.put(parameterName, decodeObject(data));
        }
        return argumentAdaptersByParameterName;
    }
View Full Code Here

            throw new IsisRemoteException("Could not find method " + actionIdentifier);
        }

        final ObjectAdapter resultAdapter = action.execute(targetAdapter, parameters);

        ObjectData persistedTargetData;
        if (targetData == null) {
            persistedTargetData = null;
        } else if (targetData instanceof ObjectData) {
            persistedTargetData = encoderDecoder.encodeMadePersistentGraph((ObjectData) targetData, targetAdapter);
        } else {
View Full Code Here

        final IdentityData target = request.getTarget();

        log("resolve immediately" + dump(target));
        final ResolveObjectResponse response = decorated.resolveImmediately(request);
        final ObjectData objectData = response.getObjectData();
        log("  <-- data: " + dump(objectData));
        return response;
    }
View Full Code Here

TOP

Related Classes of org.apache.isis.runtimes.dflt.remoting.common.data.common.ObjectData

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.