use of com.revolsys.io.file.FolderConnectionRegistry 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);
}
use of com.revolsys.io.file.FolderConnectionRegistry in project com.revolsys.open by revolsys.
the class FileUtil method getFile.
public static File getFile(URI uri) {
final String scheme = uri.getScheme();
if ("folderconnection".equalsIgnoreCase(scheme)) {
final String authority = uri.getAuthority();
final String connectionName = UrlUtil.percentDecode(authority);
final String path = uri.getPath();
File file = null;
for (final FolderConnectionRegistry registry : FileConnectionManager.get().getConnectionRegistries()) {
final FolderConnection connection = registry.getConnection(connectionName);
if (connection != null) {
final File directory = connection.getFile();
file = new File(directory, path);
if (file.exists()) {
return getFile(file);
}
}
}
return file;
} else if ("file".equalsIgnoreCase(scheme)) {
try {
uri = new URI(scheme, uri.getPath(), null);
} catch (final URISyntaxException e) {
}
return getFile(new File(uri));
} else {
throw new IllegalArgumentException("file URL expected: " + uri);
}
}
use of com.revolsys.io.file.FolderConnectionRegistry 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);
}
}
use of com.revolsys.io.file.FolderConnectionRegistry in project com.revolsys.open by revolsys.
the class PathTreeNode method actionAddFolderConnection.
private void actionAddFolderConnection() {
if (isDirectory()) {
final Path path = getPath();
final String fileName = getName();
final ValueField panel = new ValueField();
panel.setTitle("Add Folder Connection");
Borders.titled(panel, "Folder Connection");
SwingUtil.addLabel(panel, "Folder");
final JLabel fileLabel = new JLabel(path.toString());
panel.add(fileLabel);
SwingUtil.addLabel(panel, "Name");
final TextField nameField = new TextField(20);
panel.add(nameField);
nameField.setText(fileName);
SwingUtil.addLabel(panel, "Folder Connections");
final List<FolderConnectionRegistry> registries = new ArrayList<>();
for (final FolderConnectionRegistry registry : FileConnectionManager.get().getVisibleConnectionRegistries()) {
if (!registry.isReadOnly()) {
registries.add(registry);
}
}
final ComboBox<FolderConnectionRegistry> registryField = ComboBox.newComboBox("registry", new Vector<>(registries));
panel.add(registryField);
GroupLayouts.makeColumns(panel, 2, true);
panel.showDialog();
if (panel.isSaved()) {
final FolderConnectionRegistry registry = registryField.getSelectedItem();
String connectionName = nameField.getText();
if (!Property.hasValue(connectionName)) {
connectionName = fileName;
}
registry.addConnection(connectionName, path);
}
}
}
Aggregations