public static Marshaller createMarshaller(PersistenceContext context, MediaType mediaType) throws JAXBException { Marshaller marshaller = context.getJAXBContext().createMarshaller(); marshaller.setProperty(MarshallerProperties.MEDIA_TYPE, mediaType.toString()); marshaller.setProperty(MarshallerProperties.JSON_INCLUDE_ROOT, false); marshaller.setAdapter(new LinkAdapter(context.getBaseURI().toString(), context)); marshaller.setListener(new Marshaller.Listener() { @Override public void beforeMarshal(Object source) { if (source instanceof DynamicEntity) { DynamicEntityImpl sourceImpl = (DynamicEntityImpl) source; PropertyChangeListener listener = sourceImpl._persistence_getPropertyChangeListener(); sourceImpl._persistence_setPropertyChangeListener(null); ((DynamicEntity) source).set("self", source); sourceImpl._persistence_setPropertyChangeListener(listener); } } }); return marshaller; }
public static Marshaller createMarshaller(PersistenceContext context, MediaType mediaType) throws JAXBException { Marshaller marshaller = context.getJAXBContext().createMarshaller(); marshaller.setProperty(MarshallerProperties.MEDIA_TYPE, mediaType.toString()); marshaller.setProperty(MarshallerProperties.JSON_INCLUDE_ROOT, false); marshaller.setAdapter(new LinkAdapter(context.getBaseURI().toString(), context)); marshaller.setListener(new Marshaller.Listener() { @Override public void beforeMarshal(Object source) { if (source instanceof DynamicEntity) { DynamicEntityImpl sourceImpl = (DynamicEntityImpl) source; PropertyChangeListener listener = sourceImpl._persistence_getPropertyChangeListener(); sourceImpl._persistence_setPropertyChangeListener(null); ((DynamicEntity) source).set("self", source); sourceImpl._persistence_setPropertyChangeListener(listener); } } }); return marshaller; }
/** * Gets the jAXB descriptor for class. * * @param clazz the clazz * @return the jAXB descriptor for class */ @SuppressWarnings("rawtypes") public ClassDescriptor getJAXBDescriptorForClass(Class clazz) { ClassDescriptor descriptor = null; for (Object ajaxBSession : getJAXBContext().getXMLContext().getSessions()) { descriptor = ((Session) ajaxBSession).getClassDescriptor(clazz); if (descriptor != null) { break; } } return descriptor; }
/** * Gets the jAXB descriptor for class. * * @param clazz the clazz * @return the jAXB descriptor for class */ @SuppressWarnings("rawtypes") public ClassDescriptor getJAXBDescriptorForClass(Class clazz) { ClassDescriptor descriptor = null; for (Object ajaxBSession : getJAXBContext().getXMLContext().getSessions()) { descriptor = ((Session) ajaxBSession).getClassDescriptor(clazz); if (descriptor != null) { break; } } return descriptor; }
writer.close(); } else { if ((this.context != null && this.context.getJAXBContext() != null && this.result != null) && (this.mediaType.equals(MediaType.APPLICATION_JSON_TYPE) || this.mediaType.equals(MediaType.APPLICATION_XML_TYPE))) { try {
writer.close(); } else { if ((this.context != null && this.context.getJAXBContext() != null && this.result != null) && (this.mediaType.equals(MediaType.APPLICATION_JSON_TYPE) || this.mediaType.equals(MediaType.APPLICATION_XML_TYPE))) { try {
/** * Builds object graph for specified object using given filter. * * @param object the object to build object graph for. Mandatory. * @param filter the filter (included or excluded fields) to use. Optional. * @return constructed object graph. */ public ObjectGraph createObjectGraph(Object object, FieldsFilter filter) { final Node root = new Node(); if (PersistenceWeavedRest.class.isAssignableFrom(object.getClass())) { createNodeForEntity(object, root); } else if (object instanceof SingleResultQueryResult) { root.addAttributeNode("links"); final SingleResultQueryResult singleResultQueryResult = (SingleResultQueryResult)object; processFieldsList(root.addSubNode("fields"), singleResultQueryResult.getFields()); } else if (object instanceof ReadAllQueryResultCollection) { createNodeForPageableCollection((PageableCollection) object, root); } else { return null; } ObjectGraph objectGraph = context.getJAXBContext().createObjectGraph(object.getClass()); fillObjectGraphFromNode(objectGraph, root, filter); return objectGraph; }
Unmarshaller unmarshaller = getJAXBContext().createUnmarshaller(); unmarshaller.setProperty(UnmarshallerProperties.JSON_INCLUDE_ROOT, Boolean.FALSE); unmarshaller.setProperty(UnmarshallerProperties.MEDIA_TYPE, acceptedMediaType.toString());
/** * Builds object graph for specified object using given filter. * * @param object the object to build object graph for. Mandatory. * @param filter the filter (included or excluded fields) to use. Optional. * @return constructed object graph. */ public ObjectGraph createObjectGraph(Object object, FieldsFilter filter) { final Node root = new Node(); if (PersistenceWeavedRest.class.isAssignableFrom(object.getClass())) { createNodeForEntity(object, root); } else if (object instanceof SingleResultQueryResult) { root.addAttributeNode("links"); final SingleResultQueryResult singleResultQueryResult = (SingleResultQueryResult)object; processFieldsList(root.addSubNode("fields"), singleResultQueryResult.getFields()); } else if (object instanceof ReadAllQueryResultCollection) { createNodeForPageableCollection((PageableCollection) object, root); } else { return null; } ObjectGraph objectGraph = context.getJAXBContext().createObjectGraph(object.getClass()); fillObjectGraphFromNode(objectGraph, root, filter); return objectGraph; }
Unmarshaller unmarshaller = getJAXBContext().createUnmarshaller(); unmarshaller.setProperty(UnmarshallerProperties.JSON_INCLUDE_ROOT, Boolean.FALSE); unmarshaller.setProperty(UnmarshallerProperties.MEDIA_TYPE, acceptedMediaType.toString());
final Marshaller marshaller = getJAXBContext().createMarshaller(); marshaller.setProperty(MarshallerProperties.MEDIA_TYPE, mediaType.toString()); marshaller.setProperty(MarshallerProperties.JSON_INCLUDE_ROOT, false);
final Marshaller marshaller = getJAXBContext().createMarshaller(); marshaller.setProperty(MarshallerProperties.MEDIA_TYPE, mediaType.toString()); marshaller.setProperty(MarshallerProperties.JSON_INCLUDE_ROOT, false);
/** * Lookup the descriptor for the given entity name. * This method will look first in the EntityManagerFactory wrapped by this persistence context * and return that descriptor. If one does not exist, it search the JAXBContext and return * a descriptor from there. * @param entityName * @return */ public ClassDescriptor getDescriptor(String entityName) { DatabaseSession session = getServerSession(); ClassDescriptor descriptor = session.getDescriptorForAlias(entityName); if (descriptor == null) { for (Object ajaxBSession : getJAXBContext().getXMLContext().getSessions()) { descriptor = ((Session) ajaxBSession).getClassDescriptorForAlias(entityName); if (descriptor != null) { break; } } } return descriptor; }
/** * Lookup the descriptor for the given entity name. * This method will look first in the EntityManagerFactory wrapped by this persistence context * and return that descriptor. If one does not exist, it search the JAXBContext and return * a descriptor from there. * @param entityName * @return */ public ClassDescriptor getDescriptor(String entityName) { DatabaseSession session = getServerSession(); ClassDescriptor descriptor = session.getDescriptorForAlias(entityName); if (descriptor == null) { for (Object ajaxBSession : getJAXBContext().getXMLContext().getSessions()) { descriptor = ((Session) ajaxBSession).getClassDescriptorForAlias(entityName); if (descriptor != null) { break; } } } return descriptor; }