Search in sources :

Example 1 with RecordStoreConnectionRegistry

use of com.revolsys.record.io.RecordStoreConnectionRegistry in project com.revolsys.open by revolsys.

the class ProjectFrame method setConnectionRegistries.

private void setConnectionRegistries() {
    final String connectionRegistryName = this.project.getConnectionRegistryName();
    final RecordStoreConnectionManager recordStoreConnectionManager = RecordStoreConnectionManager.get();
    recordStoreConnectionManager.removeConnectionRegistry(connectionRegistryName);
    final RecordStoreConnectionRegistry recordStores = this.project.getRecordStores();
    recordStoreConnectionManager.addConnectionRegistry(recordStores);
    final FileConnectionManager fileConnectionManager = FileConnectionManager.get();
    fileConnectionManager.removeConnectionRegistry(connectionRegistryName);
    final FolderConnectionRegistry folderConnections = this.project.getFolderConnections();
    fileConnectionManager.addConnectionRegistry(folderConnections);
    final WebServiceConnectionManager webServiceConnectionManager = WebServiceConnectionManager.get();
    webServiceConnectionManager.removeConnectionRegistry(connectionRegistryName);
    final WebServiceConnectionRegistry webServices = this.project.getWebServices();
    webServiceConnectionManager.addConnectionRegistry(webServices);
}
Also used : RecordStoreConnectionManager(com.revolsys.record.io.RecordStoreConnectionManager) FolderConnectionRegistry(com.revolsys.io.file.FolderConnectionRegistry) FileConnectionManager(com.revolsys.io.file.FileConnectionManager) WebServiceConnectionManager(com.revolsys.webservice.WebServiceConnectionManager) WebServiceConnectionRegistry(com.revolsys.webservice.WebServiceConnectionRegistry) RecordStoreConnectionRegistry(com.revolsys.record.io.RecordStoreConnectionRegistry)

Example 2 with RecordStoreConnectionRegistry

use of com.revolsys.record.io.RecordStoreConnectionRegistry in project com.revolsys.open by revolsys.

the class Project method readProject.

public void readProject(final Project rootProject, final Resource resource) {
    this.resource = resource;
    if (this.resource.exists()) {
        String name;
        try (final BaseCloseable booleanValueCloseable = eventsDisabled()) {
            final RecordStoreConnectionRegistry oldRecordStoreConnections = RecordStoreConnectionRegistry.getForThread();
            try {
                final boolean readOnly = isReadOnly();
                final Resource folderConnectionsDirectory = this.resource.newChildResource("Folder Connections");
                this.folderConnections.clear(folderConnectionsDirectory, readOnly);
                final Resource recordStoresDirectory = this.resource.newChildResource("Record Stores");
                this.recordStores.clear(recordStoresDirectory, readOnly);
                final Resource webServicesDirectory = this.resource.newChildResource("Web Services");
                this.webServices.clear(webServicesDirectory, readOnly);
                if (rootProject == null) {
                    RecordStoreConnectionRegistry.setForThread(this.recordStores);
                } else {
                    final WebServiceConnectionRegistry rootWebServices = rootProject.getWebServices();
                    importConnections("Web Service", this, this.webServices, rootWebServices);
                    final RecordStoreConnectionRegistry rootRecordStores = rootProject.getRecordStores();
                    rootProject.importConnections("Record Store", this, this.recordStores, rootRecordStores);
                    final FolderConnectionRegistry rootFolderConnections = rootProject.getFolderConnections();
                    rootProject.importConnections("Folder Connection", this, this.folderConnections, rootFolderConnections);
                }
                final Resource layersDir = this.resource.newChildResource("Layers");
                final boolean hasLayers = layersDir.exists();
                if (hasLayers) {
                    readProperties(layersDir);
                }
                if (hasLayers) {
                    readLayers(rootProject, layersDir);
                }
                readBaseMapsLayers(rootProject, this.resource);
            } finally {
                RecordStoreConnectionRegistry.setForThread(oldRecordStoreConnections);
            }
            name = getName();
            setName(null);
        }
        setName(name);
    }
}
Also used : BaseCloseable(com.revolsys.io.BaseCloseable) FolderConnectionRegistry(com.revolsys.io.file.FolderConnectionRegistry) WebServiceConnectionRegistry(com.revolsys.webservice.WebServiceConnectionRegistry) PathResource(com.revolsys.spring.resource.PathResource) Resource(com.revolsys.spring.resource.Resource) RecordStoreConnectionRegistry(com.revolsys.record.io.RecordStoreConnectionRegistry)

Example 3 with RecordStoreConnectionRegistry

use of com.revolsys.record.io.RecordStoreConnectionRegistry in project com.revolsys.open by revolsys.

the class RecordStoreConnectionForm method addHandlers.

public static void addHandlers() {
    RecordStoreConnectionManager.setInvalidRecordStoreFunction((connection, exception) -> {
        return Invoke.andWait(() -> {
            final RecordStoreConnectionRegistry registry = connection.getRegistry();
            final RecordStoreConnectionForm form = new RecordStoreConnectionForm(registry, connection, exception);
            return form.showDialog();
        });
    });
    RecordStoreConnectionManager.setMissingRecordStoreFunction((name) -> {
        final RecordStoreConnectionRegistry registry = RecordStoreConnectionManager.get().getUserConnectionRegistry();
        Invoke.andWait(() -> {
            final RecordStoreConnectionForm form = new RecordStoreConnectionForm(registry, name);
            form.showDialog();
        });
        final RecordStoreConnection connection = registry.getConnection(name);
        if (connection == null) {
            return null;
        } else {
            return connection.getRecordStore();
        }
    });
}
Also used : RecordStoreConnection(com.revolsys.record.io.RecordStoreConnection) RecordStoreConnectionRegistry(com.revolsys.record.io.RecordStoreConnectionRegistry)

Example 4 with RecordStoreConnectionRegistry

use of com.revolsys.record.io.RecordStoreConnectionRegistry in project com.revolsys.open by revolsys.

the class PathRecordStoreTreeNode method addRecordStoreConnection.

public void addRecordStoreConnection() {
    final Path path = getPath();
    final String fileName = Paths.getBaseName(path);
    final ValueField panel = new ValueField();
    panel.setTitle("Add Record Store Connection");
    Borders.titled(panel, "Record Store Connection");
    SwingUtil.addLabel(panel, "File");
    final JLabel fileLabel = new JLabel(Paths.toPathString(path));
    panel.add(fileLabel);
    SwingUtil.addLabel(panel, "Name");
    final TextField nameField = new TextField(20);
    panel.add(nameField);
    nameField.setText(fileName);
    SwingUtil.addLabel(panel, "Record Store Connections");
    final List<RecordStoreConnectionRegistry> registries = new ArrayList<>();
    for (final RecordStoreConnectionRegistry registry : RecordStoreConnectionManager.get().getVisibleConnectionRegistries()) {
        if (!registry.isReadOnly()) {
            registries.add(registry);
        }
    }
    final ComboBox<RecordStoreConnectionRegistry> registryField = ComboBox.newComboBox("registry", registries);
    panel.add(registryField);
    GroupLayouts.makeColumns(panel, 2, true);
    panel.showDialog();
    if (panel.isSaved()) {
        final RecordStoreConnectionRegistry registry = registryField.getSelectedItem();
        String connectionName = nameField.getText();
        if (!Property.hasValue(connectionName)) {
            connectionName = fileName;
        }
        final String baseConnectionName = connectionName;
        int i = 0;
        while (registry.getConnection(connectionName) != null) {
            connectionName = baseConnectionName + i;
            i++;
        }
        final Map<String, Object> connection = getRecordStoreConnectionMap();
        final Map<String, Object> config = new HashMap<>();
        config.put("name", connectionName);
        config.put("connection", connection);
        registry.newConnection(config);
    }
}
Also used : Path(java.nio.file.Path) HashMap(java.util.HashMap) ArrayList(java.util.ArrayList) JLabel(javax.swing.JLabel) RecordStoreConnectionRegistry(com.revolsys.record.io.RecordStoreConnectionRegistry) TextField(com.revolsys.swing.field.TextField) ValueField(com.revolsys.swing.component.ValueField)

Example 5 with RecordStoreConnectionRegistry

use of com.revolsys.record.io.RecordStoreConnectionRegistry in project com.revolsys.open by revolsys.

the class RecordStoreConnectionTrees method editConnection.

private static void editConnection(final RecordStoreConnection connection) {
    final RecordStoreConnectionRegistry registry = connection.getRegistry();
    final RecordStoreConnectionForm form = new RecordStoreConnectionForm(registry, connection);
    form.showDialog();
}
Also used : RecordStoreConnectionForm(com.revolsys.swing.map.form.RecordStoreConnectionForm) RecordStoreConnectionRegistry(com.revolsys.record.io.RecordStoreConnectionRegistry)

Aggregations

RecordStoreConnectionRegistry (com.revolsys.record.io.RecordStoreConnectionRegistry)5 FolderConnectionRegistry (com.revolsys.io.file.FolderConnectionRegistry)2 WebServiceConnectionRegistry (com.revolsys.webservice.WebServiceConnectionRegistry)2 BaseCloseable (com.revolsys.io.BaseCloseable)1 FileConnectionManager (com.revolsys.io.file.FileConnectionManager)1 RecordStoreConnection (com.revolsys.record.io.RecordStoreConnection)1 RecordStoreConnectionManager (com.revolsys.record.io.RecordStoreConnectionManager)1 PathResource (com.revolsys.spring.resource.PathResource)1 Resource (com.revolsys.spring.resource.Resource)1 ValueField (com.revolsys.swing.component.ValueField)1 TextField (com.revolsys.swing.field.TextField)1 RecordStoreConnectionForm (com.revolsys.swing.map.form.RecordStoreConnectionForm)1 WebServiceConnectionManager (com.revolsys.webservice.WebServiceConnectionManager)1 Path (java.nio.file.Path)1 ArrayList (java.util.ArrayList)1 HashMap (java.util.HashMap)1 JLabel (javax.swing.JLabel)1