Search in sources :

Example 1 with MetadataColumnExt

use of org.talend.designer.neo4j.ui.editor.MetadataColumnExt in project tbd-studio-se by Talend.

the class Neo4jManager method convert.

public void convert(Neo4jComponent externalNode, IMetadataTable outputMetaTable) {
    List<IMetadataColumn> exts = new ArrayList<IMetadataColumn>();
    for (IMetadataColumn column : outputMetaTable.getListColumns()) {
        if (column instanceof MetadataColumnExt) {
            exts.add(column.clone());
        } else if (column instanceof MetadataColumn) {
            MetadataColumnExt ext = new MetadataColumnExt((MetadataColumn) column);
            ext.setData(new Neo4jData());
            List<Map<String, Object>> mapValues = getNeo4jComponent().getOriginalValuesList();
            for (Map<String, Object> mapValue : mapValues) {
                if (ext.getLabel().equals(mapValue.get(Neo4jComponent.SCHEMA_COLUMN))) {
                    ext.getData().setAutoIndexed(Boolean.valueOf((String) mapValue.get(Neo4jComponent.AUTO_INDEXED)));
                }
            }
            mapValues = getNeo4jComponent().getOriginalIndexesList();
            for (Map<String, Object> mapValue : mapValues) {
                if (ext.getLabel().equals(mapValue.get(Neo4jComponent.SCHEMA_COLUMN))) {
                    Index index = new Index();
                    index.setName((String) mapValue.get(Neo4jComponent.INDEX_NAME));
                    index.setKey((String) mapValue.get(Neo4jComponent.KEY));
                    index.setUnique(Boolean.valueOf((String) mapValue.get(Neo4jComponent.UNIQUE)));
                    index.setValue((String) mapValue.get(Neo4jComponent.VALUE));
                    ext.getData().getIndexes().add(index);
                }
            }
            mapValues = getNeo4jComponent().getOriginalRelationshipsList();
            for (Map<String, Object> mapValue : mapValues) {
                if (ext.getLabel().equals(mapValue.get(Neo4jComponent.SCHEMA_COLUMN))) {
                    Relationship relationship = new Relationship();
                    Index index = new Index();
                    index.setName((String) mapValue.get(Neo4jComponent.INDEX_NAME));
                    index.setKey((String) mapValue.get(Neo4jComponent.KEY));
                    index.setValue((String) mapValue.get(Neo4jComponent.VALUE));
                    relationship.setIndex(index);
                    relationship.setType((String) mapValue.get(Neo4jComponent.TYPE));
                    relationship.setDirection(Direction.getFromName((String) mapValue.get(Neo4jComponent.DIRECTION)));
                    ext.getData().getRelationships().add(relationship);
                }
            }
            exts.add(ext);
        }
    }
    outputMetaTable.setListColumns(exts);
}
Also used : IMetadataColumn(org.talend.core.model.metadata.IMetadataColumn) MetadataColumn(org.talend.core.model.metadata.MetadataColumn) Relationship(org.talend.designer.neo4j.data.Relationship) ArrayList(java.util.ArrayList) ArrayList(java.util.ArrayList) List(java.util.List) Index(org.talend.designer.neo4j.data.Index) IMetadataColumn(org.talend.core.model.metadata.IMetadataColumn) Map(java.util.Map) Neo4jData(org.talend.designer.neo4j.data.Neo4jData) MetadataColumnExt(org.talend.designer.neo4j.ui.editor.MetadataColumnExt)

Example 2 with MetadataColumnExt

use of org.talend.designer.neo4j.ui.editor.MetadataColumnExt in project tbd-studio-se by Talend.

the class UIManager method getNewValuesList.

private List<Map<String, Object>> getNewValuesList() {
    List<Map<String, Object>> map = new ArrayList<Map<String, Object>>();
    MetadataTable table = (MetadataTable) neo4jManager.getNeo4jComponent().getMetadataList().get(0);
    neo4jManager.convert(neo4jManager.getNeo4jComponent(), table);
    for (IMetadataColumn col : table.getListColumns()) {
        MetadataColumnExt ext = (MetadataColumnExt) col;
        Map<String, Object> value = new HashMap<String, Object>();
        value.put(Neo4jComponent.SCHEMA_COLUMN, ext.getLabel());
        value.put(Neo4jComponent.AUTO_INDEXED, String.valueOf(ext.getData().isAutoIndexed()));
        value.put(Neo4jComponent.INDEX_NAMES, ext.getData().inlineIndexNames());
        map.add(value);
    }
    return map;
}
Also used : HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) MetadataTable(org.talend.core.model.metadata.MetadataTable) IMetadataColumn(org.talend.core.model.metadata.IMetadataColumn) HashMap(java.util.HashMap) Map(java.util.Map) MetadataColumnExt(org.talend.designer.neo4j.ui.editor.MetadataColumnExt)

Example 3 with MetadataColumnExt

use of org.talend.designer.neo4j.ui.editor.MetadataColumnExt in project tbd-studio-se by Talend.

the class UIManager method getNewIndexesList.

private List<Map<String, Object>> getNewIndexesList() {
    List<Map<String, Object>> map = new ArrayList<Map<String, Object>>();
    MetadataTable table = (MetadataTable) neo4jManager.getNeo4jComponent().getMetadataList().get(0);
    neo4jManager.convert(neo4jManager.getNeo4jComponent(), table);
    for (IMetadataColumn col : table.getListColumns()) {
        MetadataColumnExt ext = (MetadataColumnExt) col;
        for (Index index : ext.getData().getIndexes()) {
            Map<String, Object> value = new HashMap<String, Object>();
            value.put(Neo4jComponent.SCHEMA_COLUMN, ext.getLabel());
            value.put(Neo4jComponent.INDEX_NAME, index.getName());
            value.put(Neo4jComponent.KEY, index.getKey());
            value.put(Neo4jComponent.VALUE, index.getValue());
            value.put(Neo4jComponent.UNIQUE, String.valueOf(index.isUnique()));
            map.add(value);
        }
    }
    return map;
}
Also used : HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) MetadataTable(org.talend.core.model.metadata.MetadataTable) Index(org.talend.designer.neo4j.data.Index) IMetadataColumn(org.talend.core.model.metadata.IMetadataColumn) HashMap(java.util.HashMap) Map(java.util.Map) MetadataColumnExt(org.talend.designer.neo4j.ui.editor.MetadataColumnExt)

Example 4 with MetadataColumnExt

use of org.talend.designer.neo4j.ui.editor.MetadataColumnExt in project tbd-studio-se by Talend.

the class UIManager method getNewRelationShipsList.

private List<Map<String, Object>> getNewRelationShipsList() {
    List<Map<String, Object>> map = new ArrayList<Map<String, Object>>();
    MetadataTable table = (MetadataTable) neo4jManager.getNeo4jComponent().getMetadataList().get(0);
    neo4jManager.convert(neo4jManager.getNeo4jComponent(), table);
    for (IMetadataColumn col : table.getListColumns()) {
        MetadataColumnExt ext = (MetadataColumnExt) col;
        for (Relationship relationship : ext.getData().getRelationships()) {
            Map<String, Object> value = new HashMap<String, Object>();
            value.put(Neo4jComponent.SCHEMA_COLUMN, ext.getLabel());
            value.put(Neo4jComponent.TYPE, relationship.getType());
            value.put(Neo4jComponent.DIRECTION, relationship.getDirection().getName());
            value.put(Neo4jComponent.INDEX_NAME, relationship.getIndex().getName());
            value.put(Neo4jComponent.KEY, relationship.getIndex().getKey());
            value.put(Neo4jComponent.VALUE, relationship.getIndex().getValue());
            map.add(value);
        }
    }
    return map;
}
Also used : HashMap(java.util.HashMap) Relationship(org.talend.designer.neo4j.data.Relationship) ArrayList(java.util.ArrayList) MetadataTable(org.talend.core.model.metadata.MetadataTable) IMetadataColumn(org.talend.core.model.metadata.IMetadataColumn) HashMap(java.util.HashMap) Map(java.util.Map) MetadataColumnExt(org.talend.designer.neo4j.ui.editor.MetadataColumnExt)

Aggregations

ArrayList (java.util.ArrayList)4 Map (java.util.Map)4 IMetadataColumn (org.talend.core.model.metadata.IMetadataColumn)4 MetadataColumnExt (org.talend.designer.neo4j.ui.editor.MetadataColumnExt)4 HashMap (java.util.HashMap)3 MetadataTable (org.talend.core.model.metadata.MetadataTable)3 Index (org.talend.designer.neo4j.data.Index)2 Relationship (org.talend.designer.neo4j.data.Relationship)2 List (java.util.List)1 MetadataColumn (org.talend.core.model.metadata.MetadataColumn)1 Neo4jData (org.talend.designer.neo4j.data.Neo4jData)1