use of org.apache.cayenne.map.EmbeddableAttribute in project cayenne by apache.
the class NameBuilderTest method testName_EmbeddableContext.
@Test
public void testName_EmbeddableContext() {
Embeddable embeddable = new Embeddable();
EmbeddableAttribute ea0 = new EmbeddableAttribute();
ea0.setName(NameBuilder.builder(ea0).in(embeddable).name());
assertEquals("untitledAttr", ea0.getName());
embeddable.addAttribute(ea0);
EmbeddableAttribute ea1 = new EmbeddableAttribute();
ea1.setName(NameBuilder.builder(ea1).in(embeddable).name());
assertEquals("untitledAttr1", ea1.getName());
embeddable.addAttribute(ea1);
}
use of org.apache.cayenne.map.EmbeddableAttribute in project cayenne by apache.
the class ObjAttributeValidator method validateEmbeddable.
private void validateEmbeddable(EmbeddedAttribute attribute, ValidationResult validationResult) {
Embeddable embeddable = attribute.getEmbeddable();
if (embeddable == null) {
String msg = attribute.getType() == null ? "EmbeddedAttribute '%s' has no Embeddable" : "EmbeddedAttribute '%s' has incorrect Embeddable";
addFailure(validationResult, attribute, msg, attribute.getName());
return;
}
Map<String, String> attrOverrides = attribute.getAttributeOverrides();
for (EmbeddableAttribute embeddableAttribute : embeddable.getAttributes()) {
String dbAttributeName;
if (!attrOverrides.isEmpty() && attrOverrides.containsKey(embeddableAttribute.getName())) {
dbAttributeName = attrOverrides.get(embeddableAttribute.getName());
} else {
dbAttributeName = embeddableAttribute.getDbAttributeName();
}
if (Util.isEmptyString(dbAttributeName)) {
addFailure(validationResult, attribute, "EmbeddedAttribute '%s' has no DbAttribute mapping", attribute.getName());
} else if (attribute.getEntity().getDbEntity().getAttribute(dbAttributeName) == null) {
addFailure(validationResult, attribute, "EmbeddedAttribute '%s' has incorrect DbAttribute mapping", attribute.getName());
}
}
}
use of org.apache.cayenne.map.EmbeddableAttribute in project cayenne by apache.
the class ObjAttributeInfoDialog method getCurrentOverrideAttribute.
public Map<String, String> getCurrentOverrideAttribute() {
Map<String, String> currentEmbeddableOverrite = new HashMap<>();
Collection<EmbeddableAttribute> embList = embeddableModel.getEmbeddableList();
Embeddable emb = stringToEmbeddables.get(attributeSaved.getType());
for (EmbeddableAttribute e : embList) {
if ((emb.getAttribute(e.getName()).getDbAttributeName() == null && e.getDbAttributeName() != null) || (emb.getAttribute(e.getName()).getDbAttributeName() != null && !emb.getAttribute(e.getName()).getDbAttributeName().equals(e.getDbAttributeName()))) {
currentEmbeddableOverrite.put(e.getName(), e.getDbAttributeName());
}
}
return currentEmbeddableOverrite;
}
use of org.apache.cayenne.map.EmbeddableAttribute in project cayenne by apache.
the class BoxCellRenderer method setComboBoxes.
public void setComboBoxes(Collection<String> nameAttr, int column) {
int count = getRowCount();
for (int i = 0; i < count; i++) {
EmbeddableAttribute embAt = getEmbeddableAttribute(i);
if (!nameAttr.contains(embAt.getDbAttributeName()) && embAt.getDbAttributeName() != null) {
Collection<String> attributeComboForRow = new ArrayList<String>();
attributeComboForRow.addAll(nameAttr);
attributeComboForRow.add(embAt.getDbAttributeName());
JComboBox comboBoxForRow = Application.getWidgetFactory().createComboBox(attributeComboForRow, true);
cellEditor.setEditorAt(new Integer(i), new DefaultCellEditor(comboBoxForRow));
BoxCellRenderer renderer = new BoxCellRenderer();
renderer.setNotActiveColumn(attributeComboForRow.size() - 1);
comboBoxForRow.setRenderer(renderer);
}
}
table.getColumnModel().getColumn(column).setCellEditor(cellEditor);
}
use of org.apache.cayenne.map.EmbeddableAttribute in project cayenne by apache.
the class PasteUndoableEdit method undo.
@Override
public void undo() throws CannotUndoException {
RemoveAttributeAction rAttributeAction = actionManager.getAction(RemoveAttributeAction.class);
RemoveAction rAction = actionManager.getAction(RemoveAction.class);
RemoveRelationshipAction rRelationShipAction = actionManager.getAction(RemoveRelationshipAction.class);
RemoveCallbackMethodAction rCallbackMethodAction = actionManager.getAction(RemoveCallbackMethodAction.class);
RemoveProcedureParameterAction rProcedureParamAction = actionManager.getAction(RemoveProcedureParameterAction.class);
if (content instanceof DataMap) {
if (where instanceof DataChannelDescriptor) {
rAction.removeDataMap((DataMap) content);
} else if (where instanceof DataNodeDescriptor) {
rAction.removeDataMapFromDataNode((DataNodeDescriptor) where, (DataMap) content);
}
} else if (where instanceof DataMap) {
if (content instanceof DbEntity) {
rAction.removeDbEntity(map, (DbEntity) content);
} else if (content instanceof ObjEntity) {
rAction.removeObjEntity(map, (ObjEntity) content);
} else if (content instanceof Embeddable) {
rAction.removeEmbeddable(map, (Embeddable) content);
} else if (content instanceof QueryDescriptor) {
rAction.removeQuery(map, (QueryDescriptor) content);
} else if (content instanceof Procedure) {
rAction.removeProcedure(map, (Procedure) content);
}
} else if (where instanceof DbEntity) {
if (content instanceof DbEntity) {
rAction.removeDbEntity(map, (DbEntity) content);
} else if (content instanceof DbAttribute) {
rAttributeAction.removeDbAttributes(map, (DbEntity) where, new DbAttribute[] { (DbAttribute) content });
} else if (content instanceof DbRelationship) {
rRelationShipAction.removeDbRelationships((DbEntity) where, new DbRelationship[] { (DbRelationship) content });
}
} else if (where instanceof ObjEntity) {
if (content instanceof ObjEntity) {
rAction.removeObjEntity(map, (ObjEntity) content);
} else if (content instanceof ObjAttribute) {
rAttributeAction.removeObjAttributes((ObjEntity) where, new ObjAttribute[] { (ObjAttribute) content });
} else if (content instanceof ObjRelationship) {
rRelationShipAction.removeObjRelationships((ObjEntity) where, new ObjRelationship[] { (ObjRelationship) content });
} else if (content instanceof ObjCallbackMethod) {
ObjCallbackMethod[] methods = new ObjCallbackMethod[] { (ObjCallbackMethod) content };
for (ObjCallbackMethod callbackMethod : methods) {
rCallbackMethodAction.removeCallbackMethod(methods[0].getCallbackType(), callbackMethod.getName());
}
}
} else if (where instanceof Procedure) {
final Procedure procedure = (Procedure) where;
if (content instanceof ProcedureParameter) {
rProcedureParamAction.removeProcedureParameters(procedure, new ProcedureParameter[] { (ProcedureParameter) content });
}
} else if (where instanceof Embeddable) {
if (content instanceof Embeddable) {
rAction.removeEmbeddable(map, (Embeddable) content);
} else if (content instanceof EmbeddableAttribute) {
rAttributeAction.removeEmbeddableAttributes((Embeddable) where, new EmbeddableAttribute[] { (EmbeddableAttribute) content });
}
}
}
Aggregations