/** * Gets the descriptor for class. * * @param clazz the clazz * @return the descriptor for class */ @SuppressWarnings("rawtypes") public ClassDescriptor getDescriptorForClass(Class clazz) { DatabaseSession session = getServerSession(); ClassDescriptor descriptor = session.getDescriptor(clazz); if (descriptor == null) { return getJAXBDescriptorForClass(clazz); } return descriptor; }
/** * Gets the descriptor for class. * * @param clazz the clazz * @return the descriptor for class */ @SuppressWarnings("rawtypes") public ClassDescriptor getDescriptorForClass(Class clazz) { DatabaseSession session = getServerSession(); ClassDescriptor descriptor = session.getDescriptor(clazz); if (descriptor == null) { return getJAXBDescriptorForClass(clazz); } return descriptor; }
private void generateLinksForRelationships(PersistenceContext context, PersistenceWeavedRest entity) { final ClassDescriptor classDescriptor = context.getServerSession().getProject().getDescriptor(entity.getClass()); final String entityClassName = classDescriptor.getAlias(); final String entityId = IdHelper.stringifyId(entity, entityClassName, context); for (final Field field : entity.getClass().getDeclaredFields()) { if (PersistenceWeavedRest.class.isAssignableFrom(field.getType())) { final PersistenceWeavedRest obj = (PersistenceWeavedRest) callGetterForProperty(entity, field.getName()); if (obj != null) { final String fieldClassName = context.getJAXBDescriptorForClass(field.getType()).getAlias(); final String fieldId = IdHelper.stringifyId(obj, fieldClassName, context); final ItemLinks links = (new ItemLinksBuilder()) .addSelf(HrefHelper.buildEntityFieldHref(context, entityClassName, entityId, field.getName())) .addCanonical(HrefHelper.buildEntityHref(context, fieldClassName, fieldId)) .build(); obj._persistence_setLinks(links); } } } }
private void generateLinksForRelationships(PersistenceContext context, PersistenceWeavedRest entity) { final ClassDescriptor classDescriptor = context.getServerSession().getProject().getDescriptor(entity.getClass()); final String entityClassName = classDescriptor.getAlias(); final String entityId = IdHelper.stringifyId(entity, entityClassName, context); for (final Field field : entity.getClass().getDeclaredFields()) { if (PersistenceWeavedRest.class.isAssignableFrom(field.getType())) { final PersistenceWeavedRest obj = (PersistenceWeavedRest) callGetterForProperty(entity, field.getName()); if (obj != null) { final String fieldClassName = context.getJAXBDescriptorForClass(field.getType()).getAlias(); final String fieldId = IdHelper.stringifyId(obj, fieldClassName, context); final ItemLinks links = (new ItemLinksBuilder()) .addSelf(HrefHelper.buildEntityFieldHref(context, entityClassName, entityId, field.getName())) .addCanonical(HrefHelper.buildEntityHref(context, fieldClassName, fieldId)) .build(); obj._persistence_setLinks(links); } } } }
private Object populatePagedReadAllQueryItemLinks(PersistenceContext context, Object result) { // populate links for the entity ClassDescriptor descriptor = context.getJAXBDescriptorForClass(result.getClass()); if ((result instanceof PersistenceWeavedRest) && (descriptor != null)) { final PersistenceWeavedRest entity = (PersistenceWeavedRest) result; final String href = HrefHelper.buildEntityHref(context, descriptor.getAlias(), IdHelper.stringifyId(result, descriptor.getAlias(), context)); final ItemLinks itemLinks = (new ItemLinksBuilder()) .addSelf(href) .addCanonical(href) .build(); entity._persistence_setLinks(itemLinks); return entity; } return result; }
private Object populatePagedReadAllQueryItemLinks(PersistenceContext context, Object result) { // populate links for the entity ClassDescriptor descriptor = context.getJAXBDescriptorForClass(result.getClass()); if ((result instanceof PersistenceWeavedRest) && (descriptor != null)) { final PersistenceWeavedRest entity = (PersistenceWeavedRest) result; final String href = HrefHelper.buildEntityHref(context, descriptor.getAlias(), IdHelper.stringifyId(result, descriptor.getAlias(), context)); final ItemLinks itemLinks = (new ItemLinksBuilder()) .addSelf(href) .addCanonical(href) .build(); entity._persistence_setLinks(itemLinks); return entity; } return result; }
ClassDescriptor descriptor = context.getJAXBDescriptorForClass(persistenceWeavedRest.getClass()); if (persistenceWeavedRest instanceof FetchGroupTracker && JpaHelper.getDatabaseSession(context.getEmf()).doesObjectExist(persistenceWeavedRest)) { if (context.doesExist(null, persistenceWeavedRest)) {
ClassDescriptor descriptor = context.getJAXBDescriptorForClass(persistenceWeavedRest.getClass()); if (persistenceWeavedRest instanceof FetchGroupTracker && JpaHelper.getDatabaseSession(context.getEmf()).doesObjectExist(persistenceWeavedRest)) { if (context.doesExist(null, persistenceWeavedRest)) {
return entity; ClassDescriptor descriptor = getJAXBDescriptorForClass(entity.getClass()); if (entity instanceof FetchGroupTracker) { FetchGroup fetchGroup = new FetchGroup();
return entity; ClassDescriptor descriptor = getJAXBDescriptorForClass(entity.getClass()); if (entity instanceof FetchGroupTracker) { FetchGroup fetchGroup = new FetchGroup();
@SuppressWarnings("unchecked") @Override public Link marshal(Object o) throws Exception { if (o == null) { return null; } ClassDescriptor descriptor = context.getJAXBDescriptorForClass(o.getClass()); T t = (T) descriptor.getObjectBuilder().buildNewInstance(); Link link = new Link(); link.setMethod("GET"); link.setRel(ReservedWords.JPARS_REL_SELF); String id = IdHelper.stringifyId(o, descriptor.getAlias(), context); String version = context.getVersion(); if (version != null) { link.setHref(baseURI + version + "/" + context.getName() + "/entity/" + descriptor.getAlias() + "/" + id); } else { link.setHref(baseURI + context.getName() + "/entity/" + descriptor.getAlias() + "/" + id); } descriptor.getMappingForAttributeName("_persistence_href").setAttributeValueInObject(t, link); return link; }
@SuppressWarnings("unchecked") @Override public Link marshal(Object o) throws Exception { if (o == null) { return null; } ClassDescriptor descriptor = context.getJAXBDescriptorForClass(o.getClass()); T t = (T) descriptor.getObjectBuilder().buildNewInstance(); Link link = new Link(); link.setMethod("GET"); link.setRel(ReservedWords.JPARS_REL_SELF); String id = IdHelper.stringifyId(o, descriptor.getAlias(), context); String version = context.getVersion(); if (version != null) { link.setHref(baseURI + version + "/" + context.getName() + "/entity/" + descriptor.getAlias() + "/" + id); } else { link.setHref(baseURI + context.getName() + "/entity/" + descriptor.getAlias() + "/" + id); } descriptor.getMappingForAttributeName("_persistence_href").setAttributeValueInObject(t, link); return link; }