private void populateCollection(NakedObject collection, CollectionData state, ResolveState targetState) { NakedObject[] initData = new NakedObject[state.elements.length]; int i = 0; for (Data elementData : state.elements) { initData[i++] = recreateReference(elementData); } CollectionFacet facet = collection.getSpecification().getFacet(CollectionFacet.class); facet.init(collection, initData); }
facet.init(collection, initData); return collection;
facet.init(collection, initData); return collection;
private void setUpCollectionFieldForNoContents( final ObjectData parentData, final NakedObject adapter, final NakedObjectAssociation field) { final NakedObject collection = field.get(adapter); if (collection.getResolveState() == ResolveState.GHOST) { return; } if (LOG.isDebugEnabled()) { LOG.debug("No data for collection: " + field.getId()); } Version adapterVersion = adapter.getVersion(); Version parentVersion = parentData.getVersion(); if (adapterVersion.different(parentVersion)) { if (LOG.isDebugEnabled()) { LOG.debug("clearing collection as versions differ: " + adapter.getVersion() + " " + parentData.getVersion()); } final CollectionFacet facet = CollectionFacetUtils.getCollectionFacetFromSpec(collection); facet.init(collection, new NakedObject[0]); collection.changeState(ResolveState.GHOST); } }
private void setUpCollectionFieldForNoContents( final ObjectData parentData, final NakedObject adapter, final NakedObjectAssociation field) { final NakedObject collection = field.get(adapter); if (collection.getResolveState() == ResolveState.GHOST) { return; } if (LOG.isDebugEnabled()) { LOG.debug("No data for collection: " + field.getId()); } Version adapterVersion = adapter.getVersion(); Version parentVersion = parentData.getVersion(); if (adapterVersion.different(parentVersion)) { if (LOG.isDebugEnabled()) { LOG.debug("clearing collection as versions differ: " + adapter.getVersion() + " " + parentData.getVersion()); } final CollectionFacet facet = CollectionFacetUtils.getCollectionFacetFromSpec(collection); facet.init(collection, new NakedObject[0]); collection.changeState(ResolveState.GHOST); } }
private void setUpCollectionFieldForEntireContents( final NakedObject adapter, final NakedObjectAssociation field, final CollectionData collectionContentData, final KnownObjectsRequest knownObjects) { final int size = collectionContentData.getElements().length; final NakedObject[] elements = new NakedObject[size]; for (int j = 0; j < elements.length; j++) { elements[j] = deserializeObject(collectionContentData.getElements()[j], knownObjects); if (LOG.isDebugEnabled()) { LOG.debug("adding element to " + field.getId() + ": " + elements[j]); } } final NakedObject col = field.get(adapter); final ResolveState initialState = col.getResolveState(); final ResolveState state = nextState(initialState, collectionContentData.hasAllElements()); if (state != null) { PersistorUtil.start(col, state); final NakedObject collection = ((OneToManyAssociation) field).get(adapter); final CollectionFacet facet = CollectionFacetUtils.getCollectionFacetFromSpec(collection); facet.init(collection, elements); PersistorUtil.end(col); } else { LOG.warn("not initialising collection " + col + " due to current state " + initialState); } }
private void setUpCollectionFieldForEntireContents( final NakedObject adapter, final NakedObjectAssociation field, final CollectionData collectionContentData, final KnownObjectsRequest knownObjects) { final int size = collectionContentData.getElements().length; final NakedObject[] elements = new NakedObject[size]; for (int j = 0; j < elements.length; j++) { elements[j] = deserializeObject(collectionContentData.getElements()[j], knownObjects); if (LOG.isDebugEnabled()) { LOG.debug("adding element to " + field.getId() + ": " + elements[j]); } } final NakedObject col = field.get(adapter); final ResolveState initialState = col.getResolveState(); final ResolveState state = nextState(initialState, collectionContentData.hasAllElements()); if (state != null) { PersistorUtil.start(col, state); final NakedObject collection = ((OneToManyAssociation) field).get(adapter); final CollectionFacet facet = CollectionFacetUtils.getCollectionFacetFromSpec(collection); facet.init(collection, elements); PersistorUtil.end(col); } else { LOG.warn("not initialising collection " + col + " due to current state " + initialState); } }
private void initObjectSetupCollection(final NakedObject object, final ObjectData data, final NakedObjectAssociation field) { /* * The internal collection is already a part of the object, and therefore cannot be recreated, but its * oid must be set */ final ReferenceVector refs = (ReferenceVector) data.get(field.getId()); final NakedObject collection = field.get(object); PersistorUtil.start(collection, ResolveState.RESOLVING); final int size = refs == null ? 0 : refs.size(); final NakedObject[] elements = new NakedObject[size]; for (int j = 0; j < size; j++) { final SerialOid elementOid = refs.elementAt(j); NakedObject adapter; adapter = getAdapterManager().getAdapterFor(elementOid); if (adapter == null) { adapter = getObject(elementOid, null); } elements[j] = adapter; } final CollectionFacet facet = CollectionFacetUtils.getCollectionFacetFromSpec(collection); facet.init(collection, elements); PersistorUtil.end(collection); }