private boolean isNewInstance(Set<String> newInstanceIds, Object instance) { for (Object id : newInstanceIds) { Entity entity = (Entity) instance; if (entity instanceof HasUuid) { String entityFullId = EntityLoadInfo.create(entity).toString(); if (entityFullId.equals(id)) { return true; } } } return false; }
protected String idof(Entity entity) { return EntityLoadInfo.create(entity).toString(); }
String ior(Entity entity) { return EntityLoadInfo.create(entity).toString(); }
@Override public String convertToDatabaseColumn(Entity softReference) { if (softReference == null) return ""; EntityLoadInfoBuilder builder = getEntityLoadInfoBuilder(); EntityLoadInfo entityLoadInfo = builder.create(softReference); return entityLoadInfo.toString(); }
@Override public String convertToString(Class parameterClass, Object paramValue) { if (paramValue == null) { return null; } else if (String.class.isAssignableFrom(parameterClass)) { return (String) paramValue; } else if (Entity.class.isAssignableFrom(parameterClass)) { return EntityLoadInfo.create((Entity) paramValue).toString(); } else { Datatype datatype = Datatypes.get(parameterClass); if (datatype != null) { return datatype.format(paramValue); } else { return String.valueOf(paramValue); } } }
private void assignUuidToNewInstances(Collection commitInstances, Collection newInstanceIds) { for (Object id : newInstanceIds) { for (Object instance : commitInstances) { Entity entity = (Entity) instance; if (entity instanceof HasUuid) { String entityFullId = EntityLoadInfo.create(entity).toString(); if (entityFullId.equals(id) && ((HasUuid) entity).getUuid() == null) { ((HasUuid) entity).setUuid(UuidProvider.createUuid()); } } } } }
public InstanceRef parseInstanceRefAndRegister(String fullId) throws InstantiationException, IllegalAccessException { EntityLoadInfo loadInfo; if (!fullId.startsWith("NEW-")) { loadInfo = EntityLoadInfo.parse(fullId); if (loadInfo == null) { throw new RuntimeException("Cannot parse id: " + fullId); } InstanceRef existingRef = instanceRefs.get(loadInfo.getMetaClass().getName() + "-" + loadInfo.getId().toString()); if (existingRef != null) { return existingRef; } } else { int idDashIndex = StringUtils.ordinalIndexOf(fullId, "-", 2); if (idDashIndex == -1) { String entityName = fullId.substring("NEW-".length()); String generatedId = generateId(entityName); fullId = fullId + "-" + generatedId; } loadInfo = EntityLoadInfo.parse(fullId); if (loadInfo == null) { throw new RuntimeException("Cannot parse id: " + fullId); } } if (loadInfo.isNewEntity()) newInstanceIds.add(loadInfo.toString()); InstanceRef result = new InstanceRef(loadInfo); instanceRefs.put(loadInfo.getMetaClass().getName() + "-" + loadInfo.getId().toString(), result); return result; }
instanceEl.addAttribute("id", EntityLoadInfo.create(entity).toString());