@Override public boolean execute(JPAContext context) { // reread the entity in case we had links. This should insure // we get the implicitly set foreign keys. E.g in the Northwind model // creating a new Product with a link to the Category should return // the CategoryID. EntityManager em = context.getEntityManager(); if (context.getEntity().getOEntity().getLinks() != null && !context.getEntity().getOEntity().getLinks().isEmpty()) { EntityTransaction tx = em.getTransaction(); tx.begin(); try { context.getEntityManager().refresh( context.getEntity().getJpaEntity()); tx.commit(); } finally { if (tx.isActive()) { tx.rollback(); } } } context.setResult(JPAResults .entity(context.getEntity().getJpaEntity())); return false; } }
@Override public boolean execute(JPAContext context) { EntityManager em = context.getEntityManager(); EntityType<?> jpaEntityType = context.getEntity() .getJPAEntityType(); Object jpaEntity = context.getEntity().getJpaEntity(); OEntity entity = context.getEntity().getOEntity(); em.merge(jpaEntity); JPAProducer.applyOLinks(em, jpaEntityType, entity.getLinks(), jpaEntity); return false; } }
writeEntry(writer, entity, entity.getProperties(), entity.getLinks(), baseUri, updated, ees, true); writer.endElement("entry");
for (OLink l : oe.getLinks()) { if (l instanceof ORelatedEntitiesLinkInline) { ORelatedEntitiesLinkInline ol = (ORelatedEntitiesLinkInline) l;
for (OLink l : oe.getLinks()) { if (l instanceof ORelatedEntitiesLinkInline) { ORelatedEntitiesLinkInline ol = (ORelatedEntitiesLinkInline) l;
writeEntry(writer, entity, entity.getProperties(), entity.getLinks(), baseUri, updated, ees, true); writer.endElement("entry");
public void writeRequestEntry(Writer w, Entry entry) { DateTime utc = new DateTime().withZone(DateTimeZone.UTC); String updated = InternalUtil.toString(utc); XMLWriter2 writer = XMLFactoryProvider2.getInstance().newXMLWriterFactory2().createXMLWriter(w); writer.startDocument(); writer.startElement(new QName2("entry"), atom); writer.writeNamespace("d", d); writer.writeNamespace("m", m); OEntity entity = entry.getEntity(); writeEntry(writer, null, entity.getProperties(), entity.getLinks(), null, updated, entity.getEntitySet(), false); writer.endDocument(); }
public void writeRequestEntry(Writer w, Entry entry) { DateTime utc = new DateTime().withZone(DateTimeZone.UTC); String updated = InternalUtil.toString(utc); XMLWriter2 writer = XMLFactoryProvider2.getInstance().newXMLWriterFactory2().createXMLWriter(w); writer.startDocument(); writer.startElement(new QName2("entry"), atom); writer.writeNamespace("d", d); writer.writeNamespace("m", m); OEntity entity = entry.getEntity(); writeEntry(writer, null, entity.getProperties(), entity.getLinks(), null, updated, entity.getEntitySet(), false); writer.endDocument(); }
@Override public void write(UriInfo uriInfo, Writer w, EntityResponse target) { String baseUri = uriInfo.getBaseUri().toString(); EdmEntitySet ees = target.getEntity().getEntitySet(); DateTime utc = new DateTime().withZone(DateTimeZone.UTC); String updated = InternalUtil.toString(utc); XMLWriter2 writer = XMLFactoryProvider2.getInstance().newXMLWriterFactory2().createXMLWriter(w); writer.startDocument(); writer.startElement(new QName2("entry"), atom); writer.writeNamespace("m", m); writer.writeNamespace("d", d); writer.writeAttribute("xml:base", baseUri); writeEntry(writer, target.getEntity(), target.getEntity().getProperties(), target.getEntity().getLinks(), baseUri, updated, ees, true); writer.endDocument(); }
@Override public boolean execute(JPAContext context) { EntityManager em = context.getEntityManager(); EntityType<?> jpaEntityType = context.getEntity() .getJPAEntityType(); Object jpaEntity = context.getEntity().getJpaEntity(); OEntity entity = context.getEntity().getOEntity(); JPAProducer.applyOProperties(em, jpaEntityType, entity.getProperties(), jpaEntity); JPAProducer.applyOLinks(em, jpaEntityType, entity.getLinks(), jpaEntity); return false; } }
@Override public void write(UriInfo uriInfo, Writer w, EntityResponse target) { String baseUri = uriInfo.getBaseUri().toString(); EdmEntitySet ees = target.getEntity().getEntitySet(); DateTime utc = new DateTime().withZone(DateTimeZone.UTC); String updated = InternalUtil.toString(utc); XMLWriter2 writer = XMLFactoryProvider2.getInstance().newXMLWriterFactory2().createXMLWriter(w); writer.startDocument(); writer.startElement(new QName2("entry"), atom); writer.writeNamespace("m", m); writer.writeNamespace("d", d); writer.writeAttribute("xml:base", baseUri); writeEntry(writer, target.getEntity(), target.getEntity().getProperties(), target.getEntity().getLinks(), baseUri, updated, ees, true); writer.endDocument(); }
writer.startElement("entry"); writeEntry(writer, entity, entity.getProperties(), entity.getLinks(), baseUri, updated, entity.getEntitySet(), isResponse); writer.startElement("entry"); writeEntry(writer, entity, entity.getProperties(), entity.getLinks(), baseUri, updated, entity.getEntitySet(), isResponse);
writer.startElement("entry"); writeEntry(writer, entity, entity.getProperties(), entity.getLinks(), baseUri, updated, entity.getEntitySet(), isResponse); writer.startElement("entry"); writeEntry(writer, entity, entity.getProperties(), entity.getLinks(), baseUri, updated, entity.getEntitySet(), isResponse);
static Object createNewJPAEntity( EntityManager em, EntityType<?> jpaEntityType, OEntity oEntity, boolean withLinks) { Object jpaEntity = newInstance(jpaEntityType.getJavaType()); if (jpaEntityType.getIdType().getPersistenceType() == PersistenceType.EMBEDDABLE) { EmbeddableType<?> et = (EmbeddableType<?>) jpaEntityType .getIdType(); JPAMember idMember = JPAMember.create( jpaEntityType.getId(et.getJavaType()), jpaEntity); Object idValue = newInstance(et.getJavaType()); idMember.set(idValue); } applyOProperties(em, jpaEntityType, oEntity.getProperties(), jpaEntity); if (withLinks) applyOLinks(em, jpaEntityType, oEntity.getLinks(), jpaEntity); return jpaEntity; }