Skip to content

Commit 45bec6b

Browse files
committed
external-postgres-endpoints: Added a Database::ensureDefault method to prevent certain operations on external databases.
1 parent 728f8d1 commit 45bec6b

File tree

5 files changed

+10
-0
lines changed

5 files changed

+10
-0
lines changed

stack-clients/src/main/java/com/cmclinnovations/stack/clients/core/datasets/CityDB.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ protected void setPreviousFile(Path previousFilePath) {
6464
@Override
6565
void loadInternal(Dataset parent) {
6666
Database database = parent.getDatabase();
67+
database.ensureDefault();
6768
String databaseName = database.getDatabaseName();
6869

6970
super.loadInternal(parent);

stack-clients/src/main/java/com/cmclinnovations/stack/clients/core/datasets/DatasetLoader.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,7 @@ private List<ServiceDescription> getServiceDescriptions(String datasetName) {
209209
private void configurePostgres(Dataset dataset, List<DataSubset> dataSubsets) {
210210
if (dataset.usesPostGIS()) {
211211
Database database = dataset.getDatabase();
212+
database.ensureDefault();
212213
String databaseName = database.getDatabaseName();
213214
PostGISClient postGISClient = PostGISClient.getInstance();
214215
postGISClient.createDatabase(databaseName);

stack-clients/src/main/java/com/cmclinnovations/stack/clients/core/datasets/DatasetRemover.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ public void removeDataset(Dataset dataset) {
4141
serviceManager.removeService(StackClient.getStackName(), ontopServiceName);
4242

4343
Database database = dataset.getDatabase();
44+
database.ensureDefault();
4445
GeoServerClient geoServerClient = GeoServerClient.getInstance();
4546
String workspaceName = dataset.getWorkspaceName();
4647
// Ensure GeoServer workspace is removed

stack-clients/src/main/java/com/cmclinnovations/stack/clients/core/datasets/PostgresDataSubset.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ public boolean usesPostGIS() {
5151
@Override
5252
void loadInternal(Dataset parent) {
5353
Database database = parent.getDatabase();
54+
database.ensureDefault();
5455
String databaseName = database.getDatabaseName();
5556
Optional<Path> subdirectory = this.getSubdirectory();
5657
if (subdirectory.isPresent()) {

stack-clients/src/main/java/com/cmclinnovations/stack/clients/postgis/Database.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,4 +51,10 @@ public String toString() {
5151
return databaseName;
5252
}
5353

54+
public void ensureDefault() {
55+
if (EndpointNames.POSTGIS != getEndpointName()) {
56+
throw new IllegalStateException("This class/method does not support non-default Postgres databases.");
57+
}
58+
}
59+
5460
}

0 commit comments

Comments
 (0)