Search in sources :

Example 6 with RecordStore

use of com.revolsys.record.schema.RecordStore in project com.revolsys.open by revolsys.

the class RecordStoreLayer method newPropertiesTabGeneralPanelSource.

@Override
protected ValueField newPropertiesTabGeneralPanelSource(final BasePanel parent) {
    final ValueField panel = super.newPropertiesTabGeneralPanelSource(parent);
    final Map<String, String> connectionProperties = getProperty("connection");
    String connectionName = null;
    String url = null;
    String user = null;
    if (isExists()) {
        final RecordStore recordStore = getRecordStore();
        url = recordStore.getUrl();
        user = recordStore.getUsername();
    }
    if (connectionProperties != null) {
        connectionName = connectionProperties.get("name");
        if (!isExists()) {
            url = connectionProperties.get("url");
            user = connectionProperties.get("user");
        }
    }
    if (connectionName != null) {
        SwingUtil.addLabelledReadOnlyTextField(panel, "Record Store Name", connectionName);
    }
    if (url != null) {
        SwingUtil.addLabelledReadOnlyTextField(panel, "Record Store URL", url);
    }
    if (user != null) {
        SwingUtil.addLabelledReadOnlyTextField(panel, "Record Store Username", user);
    }
    SwingUtil.addLabelledReadOnlyTextField(panel, "Type Path", this.typePath);
    GroupLayouts.makeColumns(panel, 2, true);
    return panel;
}
Also used : RecordStore(com.revolsys.record.schema.RecordStore) ValueField(com.revolsys.swing.component.ValueField)

Example 7 with RecordStore

use of com.revolsys.record.schema.RecordStore in project com.revolsys.open by revolsys.

the class RecordStoreLayer method refreshDo.

@Override
protected void refreshDo() {
    synchronized (getSync()) {
        if (this.loadingWorker != null) {
            this.loadingWorker.cancel(true);
        }
        this.loadedBoundingBox = BoundingBox.empty();
        this.loadingBoundingBox = this.loadedBoundingBox;
        super.refreshDo();
    }
    final RecordStore recordStore = getRecordStore();
    final PathName pathName = getPathName();
    final CodeTable codeTable = recordStore.getCodeTable(pathName);
    if (codeTable != null) {
        codeTable.refresh();
    }
    if (hasIdField()) {
        final List<Identifier> identifiers = new ArrayList<>();
        synchronized (getSync()) {
            identifiers.addAll(this.recordsByIdentifier.keySet());
        }
        if (!identifiers.isEmpty()) {
            identifiers.sort(Identifier.comparator());
            final RecordDefinition recordDefinition = recordStore.getRecordDefinition(pathName);
            final List<FieldDefinition> idFields = recordDefinition.getIdFields();
            final int idFieldCount = idFields.size();
            if (idFieldCount == 1) {
                final FieldDefinition idField = idFields.get(0);
                final int pageSize = 999;
                final int identifierCount = identifiers.size();
                for (int i = 0; i < identifiers.size(); i += pageSize) {
                    final List<Identifier> queryIdentifiers = identifiers.subList(i, Math.min(identifierCount, i + pageSize));
                    final In in = Q.in(idField, queryIdentifiers);
                    final Query query = new Query(recordDefinition, in);
                    updateCachedRecords(recordStore, query);
                }
            } else if (!idFields.isEmpty()) {
                for (final Identifier identifier : identifiers) {
                    final Query query = new Query(recordDefinition, Q.equalId(idFields, identifier));
                    updateCachedRecords(recordStore, query);
                }
            }
        }
    }
}
Also used : CodeTable(com.revolsys.record.code.CodeTable) Identifier(com.revolsys.identifier.Identifier) Query(com.revolsys.record.query.Query) In(com.revolsys.record.query.In) RecordStore(com.revolsys.record.schema.RecordStore) FieldDefinition(com.revolsys.record.schema.FieldDefinition) ArrayList(java.util.ArrayList) PathName(com.revolsys.io.PathName) RecordDefinition(com.revolsys.record.schema.RecordDefinition)

Example 8 with RecordStore

use of com.revolsys.record.schema.RecordStore 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);
}
Also used : RecordStoreLayer(com.revolsys.swing.map.layer.record.RecordStoreLayer) AbstractLayer(com.revolsys.swing.map.layer.AbstractLayer) LayerGroup(com.revolsys.swing.map.layer.LayerGroup) LinkedList(java.util.LinkedList) LinkedHashMap(java.util.LinkedHashMap) PathTreeNode(com.revolsys.swing.tree.node.file.PathTreeNode) RecordStore(com.revolsys.record.schema.RecordStore) BaseTreeNode(com.revolsys.swing.tree.BaseTreeNode) PathName(com.revolsys.io.PathName) RecordStoreSchemaElement(com.revolsys.record.schema.RecordStoreSchemaElement)

Example 9 with RecordStore

use of com.revolsys.record.schema.RecordStore in project com.revolsys.open by revolsys.

the class PathRecordStoreTreeNode method loadChildrenDo.

@Override
protected List<BaseTreeNode> loadChildrenDo() {
    final RecordStore recordStore = getRecordStore();
    if (recordStore != null) {
        final RecordStoreSchema schema = recordStore.getRootSchema();
        if (schema != null) {
            schema.refresh();
            final List<BaseTreeNode> children = new ArrayList<>();
            for (final RecordStoreSchemaElement element : schema.getElements()) {
                final BaseTreeNode node = BaseTreeNode.newTreeNode(element);
                children.add(node);
            }
            return children;
        }
    }
    return Collections.emptyList();
}
Also used : RecordStoreSchema(com.revolsys.record.schema.RecordStoreSchema) RecordStore(com.revolsys.record.schema.RecordStore) ArrayList(java.util.ArrayList) BaseTreeNode(com.revolsys.swing.tree.BaseTreeNode) RecordStoreSchemaElement(com.revolsys.record.schema.RecordStoreSchemaElement)

Example 10 with RecordStore

use of com.revolsys.record.schema.RecordStore in project com.revolsys.open by revolsys.

the class RecordHtmlUiBuilder method newDataTableMap.

protected Map<String, Object> newDataTableMap(final HttpServletRequest request, final String pageName, final Query query) {
    final String search = request.getParameter("search[value]");
    final List<String> fieldNames = new ArrayList<>();
    final List<KeySerializer> serializers = getSerializers(pageName, "list");
    final Or or = new Or();
    for (int i = 0; ; i++) {
        final String name = request.getParameter("columns[" + i + "][name]");
        if (Property.hasValue(name)) {
            final KeySerializer serializer = serializers.get(i);
            final String fieldName = serializer.getSortFieldName();
            fieldNames.add(fieldName);
            if (Property.hasValue(search)) {
                if (HttpServletUtils.getBooleanParameter(request, "columns[" + i + "][searchable]")) {
                    or.or(Q.iLike("T." + fieldName, search));
                }
            }
        } else {
            break;
        }
    }
    if (!or.isEmpty()) {
        query.and(or);
    }
    final Map<String, Boolean> orderBy = getDataTableSortOrder(fieldNames, request);
    query.setOrderBy(orderBy);
    final RecordStore recordStore = getRecordStore();
    return newDataTableMap(request, recordStore, query, pageName);
}
Also used : Or(com.revolsys.record.query.Or) RecordStore(com.revolsys.record.schema.RecordStore) ArrayList(java.util.ArrayList) KeySerializer(com.revolsys.ui.html.serializer.key.KeySerializer)

Aggregations

RecordStore (com.revolsys.record.schema.RecordStore)25 RecordDefinition (com.revolsys.record.schema.RecordDefinition)11 Identifier (com.revolsys.identifier.Identifier)5 Transaction (com.revolsys.transaction.Transaction)4 ArrayList (java.util.ArrayList)4 PathName (com.revolsys.io.PathName)3 Record (com.revolsys.record.Record)3 RecordReader (com.revolsys.record.io.RecordReader)3 Query (com.revolsys.record.query.Query)3 HashMap (java.util.HashMap)3 BaseCloseable (com.revolsys.io.BaseCloseable)2 CodeTable (com.revolsys.record.code.CodeTable)2 Condition (com.revolsys.record.query.Condition)2 AbstractRecordStore (com.revolsys.record.schema.AbstractRecordStore)2 RecordStoreSchemaElement (com.revolsys.record.schema.RecordStoreSchemaElement)2 BaseTreeNode (com.revolsys.swing.tree.BaseTreeNode)2 Map (java.util.Map)2 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)2 MapEx (com.revolsys.collection.map.MapEx)1 JdbcRecordStore (com.revolsys.jdbc.io.JdbcRecordStore)1