static String deriveLogicalMemberId(final Bookmark bookmark, final String memberId) { String objectType = bookmark.getObjectType(); int hashAt = memberId.lastIndexOf("#"); String localMemberId = hashAt >= 0 && hashAt < memberId.length() ? memberId.substring(hashAt + 1) : memberId; return objectType + "#" + localMemberId; }
@Action( domainEvent = ActionDomainEvent.class, semantics = SemanticsOf.SAFE, restrictTo = RestrictTo.PROTOTYPING ) @ActionLayout( contributed = Contributed.AS_ACTION, cssClassFa = "fa-external-link", position = ActionLayout.Position.PANEL_DROPDOWN ) @MemberOrder(name = "datanucleusIdLong", sequence = "750.1") public java.net.URL act() throws MalformedURLException { Bookmark bookmark = bookmarkService2.bookmarkFor(object); return new java.net.URL(String.format( "http:///restful/objects/%s/%s", bookmark.getObjectType(), bookmark.getIdentifier())); }
/** * Subclasses should optionally override in order to set the type-safe equivalent. */ @Programmatic public void setPolymorphicReference(final P polymorphicReference) { final Bookmark bookmark = bookmarkService.bookmarkFor(polymorphicReference); setPolymorphicObjectType(bookmark.getObjectType()); setPolymorphicIdentifier(bookmark.getIdentifier()); }
private static OidDto asOidDto(final Bookmark reference) { OidDto argValue; if (reference != null) { argValue = new OidDto(); argValue.setObjectType(reference.getObjectType()); argValue.setObjectState(bookmarkObjectStateOf(reference)); argValue.setObjectIdentifier(reference.getIdentifier()); } else { argValue = null; } return argValue; }
public OidDto toOidDto() { final OidDto oidDto = new OidDto(); oidDto.setType(getObjectType()); oidDto.setId(getIdentifier()); // persistent is assumed if not specified... final BookmarkObjectState bookmarkState = getObjectState().toBookmarkState(); oidDto.setObjectState(bookmarkState != BookmarkObjectState.PERSISTENT ? bookmarkState : null); return oidDto; }