@SuppressWarnings("unchecked") @Override public <O> GraphicalRepresentation<O> retrieveGraphicalRepresentation(O aDrawable) { if (aDrawable instanceof PatternRole) { PatternRole patternRole = (PatternRole) aDrawable; if (patternRole instanceof ShapePatternRole) { EditionPatternPreviewShapeGR returned = shapesGR.get(patternRole); if (returned == null || returned.isDeleted()) { returned = buildGraphicalRepresentationForShape((ShapePatternRole) patternRole); shapesGR.put(patternRole, returned); return (GraphicalRepresentation<O>) returned; } return (GraphicalRepresentation<O>) returned; } else if (patternRole instanceof ConnectorPatternRole) { EditionPatternPreviewConnectorGR returned = connectorsGR.get(patternRole); if (returned == null || returned.isDeleted()) { returned = buildGraphicalRepresentationForConnector((ConnectorPatternRole) patternRole); connectorsGR.put(patternRole, returned); return (GraphicalRepresentation<O>) returned; } return (GraphicalRepresentation<O>) returned; } } else if (aDrawable instanceof ConnectorFromArtifact) { ConnectorFromArtifact connector = (ConnectorFromArtifact) aDrawable; return (GraphicalRepresentation<O>) connector.getGraphicalRepresentation(); } else if (aDrawable instanceof ConnectorToArtifact) { ConnectorToArtifact connector = (ConnectorToArtifact) aDrawable; return (GraphicalRepresentation<O>) connector.getGraphicalRepresentation(); } logger.warning("Cannot build GraphicalRepresentation for " + aDrawable); return null; }
private EditionPatternPreviewShapeGR buildGraphicalRepresentationForShape( ShapePatternRole patternRole) { // System.out.println("Build new EditionPatternPreviewShapeGR for shape " + // patternRole.getPatternRoleName()); patternRole.addObserver(this); if (patternRole.getGraphicalRepresentation() instanceof ShapeGraphicalRepresentation) { EditionPatternPreviewShapeGR graphicalRepresentation = new EditionPatternPreviewShapeGR(patternRole, this); ((ShapeGraphicalRepresentation<?>) patternRole.getGraphicalRepresentation()) .setValidated(false); graphicalRepresentation.setsWith( (GraphicalRepresentation<?>) patternRole.getGraphicalRepresentation(), GraphicalRepresentation.Parameters.text); patternRole._setGraphicalRepresentationNoNotification(graphicalRepresentation); return graphicalRepresentation; } EditionPatternPreviewShapeGR graphicalRepresentation = new EditionPatternPreviewShapeGR(patternRole, this); patternRole._setGraphicalRepresentationNoNotification(graphicalRepresentation); return graphicalRepresentation; }