use of com.revolsys.swing.map.layer.AbstractLayer in project com.revolsys.open by revolsys.
the class RecordStoreConnectionTrees method addLayer.
private static void addLayer(final RecordDefinitionImpl recordDefinition) {
final PathName typePath = recordDefinition.getPathName();
final RecordStore recordStore = recordDefinition.getRecordStore();
final Map<String, Object> connection = recordStore.getConnectionProperties();
final Map<String, Object> layerConfig = new LinkedHashMap<>();
MapObjectFactory.setType(layerConfig, "recordStoreLayer");
layerConfig.put("name", recordDefinition.getName());
layerConfig.put("connection", connection);
layerConfig.put("typePath", typePath);
layerConfig.put("showTableView", AbstractLayer.isShowNewLayerTableView());
final LinkedList<String> path = new LinkedList<>();
{
BaseTreeNode node = BaseTree.getMenuNode();
node = node.getParent();
while (node != null) {
final Object nodeValue = node.getUserObject();
String nodeName = node.getName();
if (node instanceof PathTreeNode) {
nodeName = FileUtil.getBaseName(nodeName);
}
if (nodeValue instanceof RecordStoreSchemaElement) {
path.addFirst(nodeName);
node = node.getParent();
} else {
path.addFirst(nodeName);
node = null;
}
}
}
final AbstractLayer layer = new RecordStoreLayer(layerConfig);
LayerGroup layerGroup = Project.get();
for (final String name : path) {
try {
layerGroup = layerGroup.addLayerGroup(name);
} catch (final IllegalArgumentException e) {
int i = 1;
while (layerGroup.hasLayerWithSameName(null, name + i)) {
i++;
}
layerGroup = layerGroup.addLayerGroup(name + i);
}
}
layerGroup.addLayer(layer);
}
use of com.revolsys.swing.map.layer.AbstractLayer in project com.revolsys.open by revolsys.
the class LayerTreeNode method addChild.
@Override
public int addChild(final int index, final Object child) {
if (child instanceof LayerRenderer<?>) {
final LayerRenderer<?> childRenderer = (LayerRenderer<?>) child;
final AbstractLayer layer = getLayer();
return layer.addRenderer(childRenderer, index);
} else {
return -1;
}
}
use of com.revolsys.swing.map.layer.AbstractLayer in project com.revolsys.open by revolsys.
the class LayerTreeNode method addChild.
@Override
public int addChild(final Object child) {
if (child instanceof LayerRenderer<?>) {
final LayerRenderer<?> childRenderer = (LayerRenderer<?>) child;
final AbstractLayer layer = getLayer();
return layer.addRenderer(childRenderer);
} else {
return -1;
}
}
Aggregations