/** * Constructor * * @param theResource * The loaded resource itself */ public BaseResourceReferenceDt(IResource theResource) { myResource = theResource; setReference(theResource.getId()); }
@Override public void applyTo(IBaseResource theResouce) { if (theResouce == null) { throw new NullPointerException("theResource can not be null"); } else if (theResouce instanceof IResource) { ((IResource) theResouce).setId(new IdDt(getValue())); } else if (theResouce instanceof IAnyResource) { ((IAnyResource) theResouce).setId(getValue()); } else { throw new IllegalArgumentException("Unknown resource class type, does not implement IResource or extend Resource"); } }
@Override public InstantDt get(IResource theResource) { return getInstantFromMetadataOrNullIfNone(theResource.getResourceMetadata(), UPDATED); }
IResource next = (IResource) nextBaseRes; Set<String> containedIds = new HashSet<String>(); for (IResource nextContained : next.getContained().getContainedResources()) { if (nextContained.getId().isEmpty() == false) { containedIds.add(nextContained.getId().getValue()); IResource nextRes = (IResource) nextRef.getResource(); if (nextRes != null) { if (nextRes.getId().hasIdPart()) { if (containedIds.contains(nextRes.getId().getValue())) { IdDt id = nextRes.getId(); if (id.hasResourceType() == false) { String resName = myContext.getResourceDefinition(nextRes).getName(); if (next.getId().hasBaseUrl()) { entry.setFullUrl(next.getId().getValue());
oldIds.put(next, next.getId()); ((IResource) newRes).getResourceMetadata().put(ResourceMetadataKeyEnum.PREVIOUS_ID, oldId);
if ("Subscription".equals(next.getResource().getResourceName()) || "DataElement".equals(next.getResource().getResourceName()) || "OperationOutcome".equals(next.getResource().getResourceName()) || "OperationDefinition".equals(next.getResource().getResourceName())) { ourLog.info("Skipping " + next.getResource().getResourceName() + " example"); iterator.remove(); } else { IdDt resourceId = new IdDt(next.getResource().getResourceName() + "/EX" + next.getResource().getId().getIdPart()); if (!fullIds.add(resourceId.toUnqualifiedVersionless().getValue())) { ourLog.info("Discarding duplicate resource: " + resourceId.getValue()); next.getResource().setId(resourceId); } else { ourLog.info("Discarding resource with not explicit ID"); for (Iterator<Entry> iterator = bundle.getEntry().iterator(); iterator.hasNext(); ) { Entry next = iterator.next(); if (next.getResource().getId().getIdPart() != null) { String nextId = next.getResource().getId().getValue(); next.getRequest().setMethod(HTTPVerbEnum.PUT); next.getRequest().setUrl(nextId);
if (res != null) { nextResourceId = res.getId(); res.setId(nextResourceId); res.setId((String) null); DaoMethodOutcome outcome; outcome = resourceDao.create(res, nextReqEntry.getRequest().getIfNoneExist(), false, theUpdateTime, theRequestDetails); res.setId(new IdDt(parts.getResourceType(), parts.getResourceId())); outcome = resourceDao.update(res, null, false, theRequestDetails); } else { res.setId((String) null); outcome = resourceDao.update(res, parts.getResourceType() + '?' + parts.getParams(), false, theRequestDetails); Date deletedTimestampOrNull = deletedInstantOrNull != null ? deletedInstantOrNull.getValue() : null; if (theUpdatedEntities.contains(nextOutcome.getEntity())) { updateInternal(theRequestDetails, nextResource, true, false, nextOutcome.getEntity(), nextResource.getIdElement(), nextOutcome.getPreviousResource()); } else if (!theNonUpdatedEntities.contains(nextOutcome.getEntity())) { updateEntity(theRequestDetails, nextResource, nextOutcome.getEntity(), deletedTimestampOrNull, true, false, theUpdateTime, false, true);
if (theResource instanceof IResource) { IResource resource = (IResource) theResource; List<XMLEvent> xmlEvents = XmlUtil.parse(resource.getText().getDiv().getValue()); if (xmlEvents != null) { for (XMLEvent next : xmlEvents) {
String resourceType = resource.getResourceName(); if (myAuditableResources.containsKey(resourceType)) { log.debug("Found auditable resource of type: " + resourceType); if (auditableResource.isAuditable()) { ObjectElement object = new ObjectElement(); object.setReference(new ResourceReferenceDt(resource.getId())); object.setLifecycle(lifecycle); object.setQuery(query);
for (IResource nextContained : next.getContained().getContainedResources()) { if (nextContained.getId().isEmpty() == false) { containedIds.add(nextContained.getId().getValue()); if (nextRes.getId().hasIdPart()) { if (containedIds.contains(nextRes.getId().getValue())) { IdDt id = nextRes.getId(); if (id.hasResourceType() == false) { String resName = myContext.getResourceDefinition(nextRes).getName();
InstantDt updated = (InstantDt) resource.getResourceMetadata().get(ResourceMetadataKeyEnum.UPDATED); IdDt resourceId = resource.getId(); String versionIdPart = resourceId.getVersionIdPart(); if (isBlank(versionIdPart)) {
if (res != null) { nextResourceId = res.getId(); res.setId(nextResourceId); res.setId((String) null); DaoMethodOutcome outcome; outcome = resourceDao.create(res, nextReqEntry.getRequest().getIfNoneExist(), false, theUpdateTime, theRequestDetails); res.setId(new IdDt(parts.getResourceType(), parts.getResourceId())); outcome = resourceDao.update(res, null, false, theRequestDetails); } else { res.setId((String) null); outcome = resourceDao.update(res, parts.getResourceType() + '?' + parts.getParams(), false, theRequestDetails); Date deletedTimestampOrNull = deletedInstantOrNull != null ? deletedInstantOrNull.getValue() : null; if (theUpdatedEntities.contains(nextOutcome.getEntity())) { updateInternal(theRequestDetails, nextResource, true, false, nextOutcome.getEntity(), nextResource.getIdElement(), nextOutcome.getPreviousResource()); } else if (!theNonUpdatedEntities.contains(nextOutcome.getEntity())) { updateEntity(theRequestDetails, nextResource, nextOutcome.getEntity(), deletedTimestampOrNull, true, false, theUpdateTime, false, true);
((IResource) input).getText().getDiv().setValueAsString((String) null); ((IResource) input).getText().getStatus().setValueAsString((String) null); if (input instanceof Bundle) { for (Entry nextEntry : ((Bundle) input).getEntry()) { if (nextEntry.getResource() != null) { nextEntry.getResource().getText().getDiv().setValueAsString((String) null); nextEntry.getResource().getText().getStatus().setValueAsString((String) null);
private void containResourcesForEncoding(ContainedResources theContained, IBaseResource theResource, IBaseResource theTarget) { List<? extends IResource> containedResources = ((IResource) theTarget).getContained().getContainedResources(); for (IResource next : containedResources) { String nextId = next.getId().getValue(); if (StringUtils.isNotBlank(nextId)) { if (!nextId.startsWith("#")) {
private void populateBundleEntryFullUrl(IResource next, Entry entry) { if (next.getId().hasBaseUrl()) { entry.setFullUrl(next.getId().toVersionless().getValue()); } else { if (isNotBlank(myBase) && next.getId().hasIdPart()) { IdDt id = next.getId().toVersionless(); id = id.withServerBase(myBase, myContext.getResourceDefinition(next).getName()); entry.setFullUrl(id.getValue()); } } }
InstantDt updated = (InstantDt) resource.getResourceMetadata().get(ResourceMetadataKeyEnum.UPDATED); IdDt resourceId = resource.getId(); String versionIdPart = resourceId.getVersionIdPart(); if (isBlank(versionIdPart)) {
@Override public String get(IResource theResource) { return getStringFromMetadataOrNullIfNone(theResource.getResourceMetadata(), VERSION); }
INarrative narr; if (theResource instanceof IResource) { narr = ((IResource) theResource).getText(); } else if (theResource instanceof IDomainResource) { narr = ((IDomainResource) theResource).getText();
@Override public List<IBaseResource> toListOfResources() { ArrayList<IBaseResource> retVal = new ArrayList<IBaseResource>(); for (Entry next : myBundle.getEntry()) { if (next.getResource() != null) { retVal.add(next.getResource()); } else if (next.getResponse().getLocationElement().isEmpty() == false) { IdDt id = new IdDt(next.getResponse().getLocation()); String resourceType = id.getResourceType(); if (isNotBlank(resourceType)) { IResource res = (IResource) myContext.getResourceDefinition(resourceType).newInstance(); res.setId(id); retVal.add(res); } } } return retVal; }
for (IResource nextContained : next.getContained().getContainedResources()) { if (nextContained.getId().isEmpty() == false) { containedIds.add(nextContained.getId().getValue()); if (nextRes.getId().hasIdPart()) { if (containedIds.contains(nextRes.getId().getValue())) { IdDt id = nextRes.getId(); if (id.hasResourceType() == false) { String resName = myContext.getResourceDefinition(nextRes).getName();