public boolean isCellEditable(int row, int col) { if (col == SOURCE) { return relationship.getSourceEntity() != null && editable; } else if (col == TARGET) { return relationship.getTargetEntity() != null && editable; } return false; }
@Override public void redo() throws CannotRedoException { ProjectUtil.setRelationshipName(relationship.getSourceEntity(), relationship, newName); }
@Override public void undo() throws CannotUndoException { ProjectUtil.setRelationshipName(relationship.getSourceEntity(), relationship, oldName); }
public String dbRelationshipIdentifier(DbRelationship rel) { if (null == rel.getSourceEntity()) { return "<[null source entity]." + rel.getName() + ">"; } return "<" + rel.getSourceEntity().getName() + "." + rel.getName() + ">"; } }
private String toString(DbRelationship relationship) { if (relationship.getSourceEntity() == null) { return "[null source entity]." + relationship.getName(); } return relationship.getSourceEntity().getName() + "." + relationship.getName(); }
public DbJoinTableModel( DbRelationship relationship, ProjectController mediator, Object src) { super(mediator, src, new ArrayList<>(relationship.getJoins())); this.relationship = relationship; this.source = relationship.getSourceEntity(); this.target = relationship.getTargetEntity(); }
private void appendJoins(StringBuffer queryBuf, int index) { DbRelationship rel = (DbRelationship) dbRelList.get(index); String srcAlias = aliasForTable((DbEntity) rel.getSourceEntity()); String targetAlias = (String) aliasLookup.get(rel); boolean andFlag = false; List joins = rel.getJoins(); int len = joins.size(); for (int i = 0; i < len; i++) { DbJoin join = (DbJoin) joins.get(i); if (andFlag) { queryBuf.append(" AND "); } else { andFlag = true; } queryBuf.append(srcAlias).append('.').append(join.getSourceName()).append( " = ").append(targetAlias).append('.').append(join.getTargetName()); } }
/** * Returns DbAttribute on on the left side of the join. */ public DbAttribute getSource() { if (sourceName == null) { return null; } DbRelationship r = getNonNullRelationship(); DbEntity entity = r.getSourceEntity(); if (entity == null) { return null; } return entity.getAttribute(sourceName); }
private boolean validateAndSetRelationship(DbRelationship relationship) { this.relationship = relationship; this.reverseRelationship = relationship.getReverseRelationship(); // sanity check if (relationship.getSourceEntity() == null) { throw new CayenneRuntimeException("Null source entity: %s", relationship); } if (relationship.getSourceEntity().getDataMap() == null) { throw new CayenneRuntimeException("Null DataMap: %s", relationship.getSourceEntity()); } // warn if no target entity if (relationship.getTargetEntity() == null) { JOptionPane.showMessageDialog( this, "Please select target DbEntity first", "Select target", JOptionPane.INFORMATION_MESSAGE); return false; } return true; }
private DbEntity getOriginalSourceDbEntity(DbRelationship relationship) { return getOriginalDictionary().getByName(relationship.getSourceEntity().getName().toUpperCase()); }
protected void firePropertyDidChange() { RelationshipEvent event = new RelationshipEvent(this, this, this .getSourceEntity()); EventManager.getDefaultManager().postEvent(event, PROPERTY_DID_CHANGE); }
public String getColumnName(int column) { if (column == SOURCE) return relationship.getSourceEntity().getName(); else if (column == TARGET) return relationship.getTargetEntity().getName(); else return ""; }
@Override public String getTokenValue() { if (!this.isEmpty()) { return relationship.getSourceEntity().getName() + "->" + relationship.getTargetEntityName(); } else { return "Skip. No sql representation."; } }
@Override public String getTokenValue() { if(relationship.isToMany()) { return "Skip. No sql representation."; } return relationship.getSourceEntity().getName() + "->" + relationship.getTargetEntityName(); } }
/** * Returns true if one of relationship joins uses a given attribute as a source. */ public static boolean containsSourceAttribute( DbRelationship relationship, DbAttribute attribute) { if (attribute.getEntity() != relationship.getSourceEntity()) { return false; } for (DbJoin join : relationship.getJoins()) { if (join.getSource() == attribute) { return true; } } return false; }
public static String getTokenValue(DbRelationship rel) { String attributes = ""; if (rel.getJoins().size() == 1) { attributes = rel.getJoins().get(0).getTargetName(); } else { for (DbJoin dbJoin : rel.getJoins()) { attributes += dbJoin.getTargetName() + COMMA_SEPARATOR; } if(attributes.isEmpty()) { attributes = "{}"; } else { attributes = "{" + attributes.substring(0, attributes.length() - COMMA_SEPARATOR_LENGTH) + "}"; } } return rel.getName() + " " + rel.getSourceEntity().getName() + "->" + rel.getTargetEntityName() + "." + attributes; }
private void prependReversedPath(LinkedList<String> finalPath, DbRelationship relationship) { DbRelationship revNextDBR = relationship.getReverseRelationship(); if (revNextDBR == null) { throw new CayenneRuntimeException("Unable to find reverse DbRelationship for %s.%s." , relationship.getSourceEntity().getName(), relationship.getName()); } finalPath.addFirst(revNextDBR.getName()); }
private void prependReversedPath(LinkedList finalPath, DbRelationship relationship) { DbRelationship revNextDBR = relationship.getReverseRelationship(); if (revNextDBR == null) { throw new CayenneRuntimeException( "Unable to find reverse DbRelationship for " + relationship.getSourceEntity().getName() + Entity.PATH_SEPARATOR + relationship.getName() + "."); } finalPath.addFirst(revNextDBR.getName()); }
protected static void remove(ModelMergeDelegate mergerContext, DbRelationship rel, boolean reverse) { if (rel == null) { return; } if (reverse) { remove(mergerContext, rel.getReverseRelationship(), false); } DbEntity dbEntity = rel.getSourceEntity(); for (ObjEntity objEntity : dbEntity.mappedObjEntities()) { remove(mergerContext, objEntity.getRelationshipForDbRelationship(rel), true); } rel.getSourceEntity().removeRelationship(rel.getName()); mergerContext.dbRelationshipRemoved(rel); }
private void handleNameUpdate(DbRelationship relationship, String userInputName) { if(Util.nullSafeEquals(relationship.getName(), userInputName)) { return; } String sourceEntityName = NameBuilder .builder(relationship, relationship.getSourceEntity()) .baseName(userInputName) .name(); if (Util.nullSafeEquals(sourceEntityName, relationship.getName())) { return; } String oldName = relationship.getName(); relationship.setName(sourceEntityName); undo.addNameUndo(relationship, oldName, sourceEntityName); getMediator().fireDbRelationshipEvent( new RelationshipEvent(this, relationship, relationship.getSourceEntity(), oldName)); }