@Override public Collection<ConfigurationNode> visitDataChannelDescriptor( DataChannelDescriptor descriptor) { Collection<ConfigurationNode> nodes = new ArrayList<>(); nodes.add(descriptor); for (DataMap map : descriptor.getDataMaps()) { nodes.add(map); } return nodes; }
public ArrayList<Embeddable> getEmbeddablesInCurrentDataDomain() { DataChannelDescriptor dataChannelDescriptor = (DataChannelDescriptor) getProject().getRootNode(); Collection<DataMap> maps = dataChannelDescriptor.getDataMaps(); Iterator<DataMap> it = maps.iterator(); ArrayList<Embeddable> embs = new ArrayList<>(); while (it.hasNext()) { embs.addAll(it.next().getEmbeddables()); } return embs; }
@Override public Entity fetchEntity() { Iterator<DataMap> it = builder.getDataDomain().getDataMaps().iterator(); while(it.hasNext()){ DataMap dm = (DataMap)it.next(); if(dm.getObjEntity(entityName)!=null){ return dm.getObjEntity(entityName); } } return null; }
@Override public Entity fetchEntity() { Iterator<DataMap> it = builder.getDataDomain().getDataMaps().iterator(); while(it.hasNext()){ DataMap dm = (DataMap)it.next(); if(dm.getDbEntity(entityName)!=null){ return dm.getDbEntity(entityName); } } return null; }
private ConfigurationNode getConfigNode(DataChannelDescriptor dataChannel, String objectName) { if (dataChannel.getName().equals(objectName)) { return dataChannel; } for (DataNodeDescriptor dataNode : dataChannel.getNodeDescriptors()) { if (dataNode.getName().equals(objectName)) { return dataNode; } } for (DataMap dataMap : dataChannel.getDataMaps()) { if (dataMap.getName().equals(objectName)) { return dataMap; } } return null; }
/** * Creates a single common EntityResolver for all project DataMaps, setting * it as a namespace for all of them. This is needed for resolving cross-map * relationships. */ protected void attachToNamespace(DataChannelDescriptor channelDescriptor) { EntityResolver entityResolver = new EntityResolver(channelDescriptor.getDataMaps()); for (DataMap map : entityResolver.getDataMaps()) { map.setNamespace(entityResolver); } }
public void updateEntityResolver() { Collection<DataMap> dataMaps = ((DataChannelDescriptor) project.getRootNode()).getDataMaps(); entityResolver.setDataMaps(dataMaps); for (DataMap dataMap : dataMaps) { dataMap.setNamespace(entityResolver); } }
public static Collection<ObjRelationship> findObjRelationshipsForDbRelationship(ProjectController mediator, DbRelationship relationship) { DataChannelDescriptor domain = (DataChannelDescriptor) mediator.getProject().getRootNode(); List<ObjRelationship> objRelationships = new ArrayList<>(); if (domain != null) { for (DataMap map : domain.getDataMaps()) { for (ObjEntity entity : map.getObjEntities()) { for (ObjRelationship objRelationship : entity.getRelationships()) { if (objRelationship.getDbRelationships().contains(relationship)) { objRelationships.add(objRelationship); } } } } } return objRelationships; }
private DataNodeDescriptor createDefaultNodeDescriptor(DataDomain dataDomain) { DataChannelDescriptor channelDescriptor = new DataChannelDescriptor(); DataNodeDescriptor defaultDescriptor = new DataNodeDescriptor(createSyntheticDataNodeName(dataDomain)); channelDescriptor.getNodeDescriptors().add(defaultDescriptor); for (DataMap map : dataDomain.getDataMaps()) { channelDescriptor.getDataMaps().add(map); defaultDescriptor.getDataMapNames().add(map.getName()); } defaultDescriptor.setDataChannelDescriptor(channelDescriptor); return defaultDescriptor; }
@Override public void redo() throws CannotRedoException { for (DataMap dataMap : ((DataChannelDescriptor) mediator.getProject().getRootNode()).getDataMaps()) { if (!linkedDataMaps.contains(dataMap.getName())) { dataNodeDescriptor.getDataMapNames().add(dataMap.getName()); mediator.fireDataNodeEvent(new DataNodeEvent(this, dataNodeDescriptor)); } } }
public ValidationResult visitDataChannelDescriptor(DataChannelDescriptor channelDescriptor) { dataChannelValidator.validate(channelDescriptor, validationResult); for (DataNodeDescriptor node : channelDescriptor.getNodeDescriptors()) { visitDataNodeDescriptor(node); } for (DataMap map : channelDescriptor.getDataMaps()) { visitDataMap(map); } return validationResult; }
private List<SearchResultEntry> search(String searchStr) { Pattern pattern = Pattern.compile(searchStr, Pattern.CASE_INSENSITIVE); List<SearchResultEntry> result = new ArrayList<>(); for (DataMap dataMap : ((DataChannelDescriptor) getProjectController().getProject().getRootNode()).getDataMaps()) { searchInQueryDescriptors(pattern, result, dataMap); searchInEmbeddables(pattern, result, dataMap); searchInDbEntities(pattern, result, dataMap); searchInObjEntities(pattern, result, dataMap); searchInProcedures(pattern, result, dataMap); } Collections.sort(result); return result; }
public void initComboBoxes() { List<String> embeddableNames = new ArrayList<>(); List<String> typeNames = new ArrayList<>(); for (DataMap dataMap : ((DataChannelDescriptor) mediator.getProject().getRootNode()).getDataMaps()) { for (Embeddable emb : dataMap.getEmbeddables()) { embeddableNames.add(emb.getClassName()); } } String[] registeredTypes = ModelerUtil.getRegisteredTypeNames(); Collections.addAll(typeNames, registeredTypes); typeNames.addAll(embeddableNames); TableColumn typeColumn = table.getColumnModel().getColumn(ObjAttributeTableModel.OBJ_ATTRIBUTE_TYPE); JComboBox javaTypesCombo = Application.getWidgetFactory().createComboBox(typeNames.toArray(), false); AutoCompletion.enable(javaTypesCombo, false, true); typeColumn.setCellEditor(Application.getWidgetFactory().createCellEditor(javaTypesCombo)); }
private void removeShadowAttributes(Project project) { DataChannelDescriptor rootNode = (DataChannelDescriptor) project.getRootNode(); for (DataMap dataMap : rootNode.getDataMaps()) { // if objEntity has super entity, then checks it // for duplicated attributes for (ObjEntity objEntity : dataMap.getObjEntities()) { ObjEntity superEntity = objEntity.getSuperEntity(); if (superEntity != null) { removeShadowAttributes(objEntity, superEntity); } } } }
public void addDataMap(Object src, DataMap map, boolean makeCurrent) { map.setDataChannelDescriptor(currentState.domain); // new map was added.. link it to domain (and node if possible) currentState.domain.getDataMaps().add(map); if (currentState.node != null && !currentState.node.getDataMapNames().contains(map.getName())) { currentState.node.getDataMapNames().add(map.getName()); fireDataNodeEvent(new DataNodeEvent(this, currentState.node)); } fireDataMapEvent(new DataMapEvent(src, map, MapEvent.ADD)); if (makeCurrent) { fireDataMapDisplayEvent(new DataMapDisplayEvent(src, map, currentState.domain, currentState.node)); } }
public void performAction(ActionEvent e) { Collection<DataMap> dataMaps; DataMap dataMap = getProjectController().getCurrentDataMap(); if (dataMap != null) { dataMaps = new ArrayList<>(); dataMaps.add(dataMap); } else { Project project = getProjectController().getProject(); dataMaps = ((DataChannelDescriptor) project.getRootNode()).getDataMaps(); } new DBGeneratorOptions(getProjectController(), "Generate DB Schema: Options", dataMaps) .startupAction(); } }
@Override protected boolean isIsolated(DataChannelDescriptor domain, Entity entity) { if (!super.isIsolated(domain, entity)) { return false; } if (((ObjEntity) entity).getSuperEntity() != null) { return false; } // TODO: andrus 05/30/2010 - reindexing all DataMaps every time may be VERY slow // on large projects EntityResolver resolver = new EntityResolver(((DataChannelDescriptor) mediator .getProject() .getRootNode()).getDataMaps()); EntityInheritanceTree inheritanceTree = resolver.lookupInheritanceTree(entity .getName()); return inheritanceTree == null || inheritanceTree.getChildren().isEmpty(); }
public void performAction(ActionEvent e) { Collection<DataMap> dataMaps; Project project = getProjectController().getProject(); dataMaps = ((DataChannelDescriptor) project.getRootNode()).getDataMaps(); new CodeGeneratorController(getApplication().getFrameController(), dataMaps).startup(); } }
public DefaultMutableTreeNode visitDataChannelDescriptor( DataChannelDescriptor channelDescriptor) { pushNode(channelDescriptor); for (DataMap map : sort(channelDescriptor.getDataMaps())) { map.acceptVisitor(this); } for (DataNodeDescriptor node : sort(channelDescriptor.getNodeDescriptors())) { node.acceptVisitor(this); } return popNode(); }
public void removeDataMap(DataMap map) { ProjectController mediator = getProjectController(); DataChannelDescriptor domain = (DataChannelDescriptor) mediator.getProject().getRootNode(); DataMapEvent e = new DataMapEvent(Application.getFrame(), map, MapEvent.REMOVE); e.setDomain((DataChannelDescriptor) mediator.getProject().getRootNode()); domain.getDataMaps().remove(map); if (map.getConfigurationSource() != null) { URL mapURL = map.getConfigurationSource().getURL(); Collection<URL> unusedResources = getCurrentProject().getUnusedResources(); unusedResources.add(mapURL); } for (DataNodeDescriptor node : domain.getNodeDescriptors()) { if (node.getDataMapNames().contains(map.getName())) { removeDataMapFromDataNode(node, map); } } mediator.fireDataMapEvent(e); }