private static String[] convertJpaCascadeToStrings(List<CascadeType> cascadeTypes) { if (cascadeTypes == null) { return null; } String[] result = new String[cascadeTypes.size()]; int i = 0; for (CascadeType ct : cascadeTypes) { result[i++] = ct.name(); } return result; }
private static String[] convertJpaCascadeToStrings(List<CascadeType> cascadeTypes) { if (cascadeTypes == null) { return null; } String[] result = new String[cascadeTypes.size()]; int i = 0; for (CascadeType ct : cascadeTypes) { result[i++] = ct.name(); } return result; }
/** * INTERNAL: * WIP: Probably should make cascade types into its own object eventually. */ public ArrayList<String> getCascadeTypes(CascadeType[] cascadeTypes) { ArrayList<String> cTypes = new ArrayList<String>(); for (CascadeType cascadeType : cascadeTypes) { cTypes.add(cascadeType.name()); } return cTypes; }
/** * INTERNAL: * Set the cascade type on a mapping. */ protected void setCascadeType(String type, ForeignReferenceMapping mapping) { if (type.equals(MetadataConstants.CASCADE_ALL) || type.equals(CascadeType.ALL.name())) { mapping.setCascadeAll(true); } else if (type.equals(MetadataConstants.CASCADE_MERGE) || type.equals(CascadeType.MERGE.name())) { mapping.setCascadeMerge(true); } else if (type.equals(MetadataConstants.CASCADE_PERSIST) || type.equals(CascadeType.PERSIST.name())) { mapping.setCascadePersist(true); } else if (type.equals(MetadataConstants.CASCADE_REFRESH) || type.equals(CascadeType.REFRESH.name())) { mapping.setCascadeRefresh(true); } else if (type.equals(MetadataConstants.CASCADE_REMOVE) || type.equals(CascadeType.REMOVE.name())) { mapping.setCascadeRemove(true); } } }
/** * INTERNAL: */ protected void processCascadeTypes(ForeignReferenceMapping mapping) { for (String cascadeType : getCascadeTypes()) { setCascadeType(cascadeType, mapping); } // Apply the persistence unit default cascade-persist if necessary. if (m_descriptor.isCascadePersist() && ! mapping.isCascadePersist()) { setCascadeType(CascadeType.PERSIST.name(), mapping); } }
public static String jpaCascade(PackageImportAdder importAdder, CascadeGetter... cascadeGetters) { if (cascadeGetters == null) { return ""; } // we look for the first non empty conf. // not that it could be a NONE conf => user does not want any cascade. for (CascadeGetter cascadeGetter : cascadeGetters) { if (cascadeGetter != null) { List<Cascade> cascadeConf = cascadeGetter.getCascades(); if (cascadeConf != null && cascadeConf.size() > 0) { List<CascadeType> cascades = convertJpaCascade(cascadeConf); // we could have removed the NONE element, so we check for emptiness. if (!cascades.isEmpty()) { for (CascadeType ct : cascades) { importAdder.addImport("static javax.persistence.CascadeType." + ct.name()); } AttributeBuilder ab = new AttributeBuilder(); ab.add("cascade", convertJpaCascadeToStrings(cascades)); return ab.getAttributes(); } else { return ""; // there was 1 element: NONE => user does not want anything, we bail out. } } } } return ""; }
private Element toXml(Element parentEl) { Element el = parentEl.addElement(type.xml, XMLNS); el.addAttribute("name", field.getName()); el.addAttribute("target-entity", targetEntity); el.addAttribute("fetch", type.getFetch(field)); String mappedBy = type.getMappedBy(field); if (!StringUtils.isEmpty(mappedBy)) el.addAttribute("mapped-by", mappedBy); CascadeType[] cascadeTypes = type.getCascade(field); if (cascadeTypes != null && cascadeTypes.length > 0) { Element cascadeTypeEl = el.addElement("cascade", XMLNS); for (CascadeType cascadeType : cascadeTypes) { cascadeTypeEl.addElement("cascade-" + cascadeType.name().toLowerCase()); } } // either new JoinColumnHandler(field.getAnnotation(JoinColumn.class)).toXml(el); // or new OrderByHandler(field.getAnnotation(OrderBy.class)).toXml(el); new JoinTableHandler(field.getAnnotation(JoinTable.class)).toXml(el); return el; } }
public static String jpaCascade(PackageImportAdder importAdder, CascadeGetter... cascadeGetters) { if (cascadeGetters == null) { return ""; } // we look for the first non empty conf. // not that it could be a NONE conf => user does not want any cascade. for (CascadeGetter cascadeGetter : cascadeGetters) { if (cascadeGetter != null) { List<Cascade> cascadeConf = cascadeGetter.getCascades(); if (cascadeConf != null && cascadeConf.size() > 0) { List<CascadeType> cascades = convertJpaCascade(cascadeConf); // we could have removed the NONE element, so we check for emptiness. if (!cascades.isEmpty()) { for (CascadeType ct : cascades) { importAdder.addImport("static javax.persistence.CascadeType." + ct.name()); } AttributeBuilder ab = new AttributeBuilder(); ab.add("cascade", convertJpaCascadeToStrings(cascades)); return ab.getAttributes(); } else { return ""; // there was 1 element: NONE => user does not want anything, we bail out. } } } } return ""; }