/** * This returns the label text for the adapted class. * <!-- begin-user-doc * --> * <!-- end-user-doc --> * * @generated NOT * @param object the object to be described * @return the description of the given object */ @Override public String getText(Object object) { if (object instanceof CreateDeleteOperation) { CreateDeleteOperation op = (CreateDeleteOperation) object; EObject modelElement = op.getModelElement(); int childrenCount = ModelUtil.getAllContainedModelElements(modelElement, false).size(); String description; StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append(modelElement.eClass().getName()); stringBuilder.append(getModelElementName(op.getModelElementId())); String elementClassAndName = stringBuilder.toString(); if (op.isDelete()) { description = "Deleted " + elementClassAndName; } else { description = "Created " + elementClassAndName; } if (childrenCount > 0) { description += " including " + childrenCount + " sibling(s)"; } EList<ReferenceOperation> subOperations = op.getSubOperations(); int subOperationCount = subOperations.size(); if (op.isDelete() && subOperationCount > 0) { ReferenceOperation referenceOperation = subOperations.get(subOperationCount - 1); if (referenceOperation.getContainmentType().equals(ContainmentType.CONTAINMENT)) { description += " from its parent " + getModelElementClassAndName(referenceOperation.getModelElementId()); } } return description; } return super.getText(object); }
/** * @see * org.eclipse.emf.emfstore.server.model.versioning.operations.provider.AbstractOperationItemProvider#getChildren(java.lang.Object) */ @Override public Collection<?> getChildren(Object object) { if (object instanceof CreateDeleteOperation) { CreateDeleteOperation operation = (CreateDeleteOperation) object; ArrayList<Object> ret = new ArrayList<Object>(); ret.add(operation.getModelElementId()); List<ReferenceOperation> subOps = operation.getSubOperations(); if (subOps.size() > 0) { OperationGroup operationGroup = OperationsFactory.eINSTANCE.createOperationGroup(); if (operation.isDelete()) { operationGroup.setName("Deleted Cross-References"); } else { operationGroup.setName("Created Cross-References"); } operationGroup.getOperations().addAll(subOps); ret.add(operationGroup); } return ret; } return super.getChildren(object); }