/** @generated */ protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException { EForeignKey newElement = EConstraintsFactory.eINSTANCE.createForeignKey(); EBaseTable owner = (EBaseTable) getElementToEdit(); owner.getConstraints().add(newElement); doConfigure(newElement, monitor, info); ((CreateElementRequest) getRequest()).setNewElement(newElement); return CommandResult.newOKCommandResult(newElement); }
private void setPrimaryKey(EColumn owner, boolean newValue) { boolean oldValue = isPrimaryKey(owner); if (oldValue == newValue) return; EBaseTable baseTable = (EBaseTable) owner.getTable(); EPrimaryKey pk = baseTable.getPrimaryKey(); if (newValue) { if (pk == null) { pk = EConstraintsFactory.eINSTANCE.createPrimaryKey(); baseTable.getConstraints().add(pk); } if (!pk.getMembers().contains(owner)) pk.getMembers().add(owner); } else if (pk != null) { if (pk.getMembers().contains(owner)) pk.getMembers().remove(owner); } }