mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-09-20 12:45:35 +00:00
Merge branch 'master' into permission-vertical
# Conflicts: # java/com.sap.sailing.domain.persistence/META-INF/MANIFEST.MF # java/com.sap.sailing.domain.racelogtrackingadapter/META-INF/MANIFEST.MF # java/com.sap.sailing.domain.swisstimingadapter.persistence/META-INF/MANIFEST.MF # java/com.sap.sailing.domain.swisstimingadapter.persistence/src/com/sap/sailing/domain/swisstimingadapter/persistence/impl/SwissTimingAdapterPersistenceImpl.java # java/com.sap.sailing.domain.swisstimingadapter.test/META-INF/MANIFEST.MF # java/com.sap.sailing.domain.tractracadapter.persistence/META-INF/MANIFEST.MF # java/com.sap.sailing.domain.tractracadapter.persistence/src/com/sap/sailing/domain/tractracadapter/persistence/impl/MongoObjectFactoryImpl.java # java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/DataMiningServiceImpl.java # java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/server/SailingServiceImpl.java # java/com.sap.sailing.polars.datamining/META-INF/MANIFEST.MF # java/com.sap.sailing.server.gateway.test/src/com/sap/sailing/server/gateway/test/jaxrs/AbstractJaxRsApiTest.java # java/com.sap.sailing.server.interface/src/com/sap/sailing/server/interfaces/RacingEventService.java # java/com.sap.sailing.server.replication.test/META-INF/MANIFEST.MF # java/com.sap.sailing.server.replication.test/src/com/sap/sailing/server/replication/test/TrackRaceReplicationTest.java # java/com.sap.sailing.server.test/src/com/sap/sailing/server/test/TaggingServiceTest.java # java/com.sap.sailing.server.testsupport/META-INF/MANIFEST.MF # java/com.sap.sailing.server/META-INF/MANIFEST.MF # java/com.sap.sailing.server/src/com/sap/sailing/server/impl/Activator.java # java/com.sap.sailing.server/src/com/sap/sailing/server/impl/RacingEventServiceImpl.java # java/com.sap.sailing.server/src/com/sap/sailing/server/tagging/TaggingServiceImpl.java # java/com.sap.sse.mail.replication.testsupport/src/com/sap/sse/mail/replication/testsupport/AbstractMailServiceReplicationTest.java # java/com.sap.sse.security.test/META-INF/MANIFEST.MF # java/com.sap.sse.security.test/src/com/sap/sse/security/jaxrs/api/SecurityResourceTest.java # java/com.sap.sse.security.test/src/com/sap/sse/security/test/UserStoreWithPersistenceTest.java # java/com.sap.sse.security.userstore.mongodb/META-INF/MANIFEST.MF # java/com.sap.sse.security.userstore.mongodb/src/com/sap/sse/security/userstore/mongodb/MongoObjectFactory.java # java/com.sap.sse.security.userstore.mongodb/src/com/sap/sse/security/userstore/mongodb/impl/DomainObjectFactoryImpl.java # java/com.sap.sse.security.userstore.mongodb/src/com/sap/sse/security/userstore/mongodb/impl/MongoObjectFactoryImpl.java # java/com.sap.sse.security/src/com/sap/sse/security/impl/SecurityServiceImpl.java
This commit is contained in:
@@ -18,9 +18,9 @@ Require-Bundle: org.apache.servicemix.bundles.aws-java-sdk;bundle-version="1.9.8
|
||||
com.fasterxml.jackson.core.jackson-annotations,
|
||||
com.sap.sse.common,
|
||||
com.sap.sse.mongodb,
|
||||
com.sap.sse.replication,
|
||||
com.sap.sse.replication.interfaces,
|
||||
com.sap.sse.operationaltransformation,
|
||||
com.sap.sse,
|
||||
org.apache.commons.io,
|
||||
org.mongodb.mongo-java-driver;bundle-version="2.13.0"
|
||||
org.eclipse.orbit.mongodb;bundle-version="3.2.2"
|
||||
Automatic-Module-Name: com.sap.sse.filestorage
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@ package com.sap.sse.filestorage;
|
||||
import com.sap.sse.common.NoCorrespondingServiceRegisteredException;
|
||||
import com.sap.sse.filestorage.impl.ReplicableFileStorageManagementService;
|
||||
import com.sap.sse.filestorage.operations.FileStorageServiceOperation;
|
||||
import com.sap.sse.replication.impl.ReplicableWithObjectInputStream;
|
||||
import com.sap.sse.replication.ReplicableWithObjectInputStream;
|
||||
|
||||
/**
|
||||
* OSGi service for managing {@link FileStorageService FileStorageServices}.
|
||||
|
||||
+1
-1
@@ -25,8 +25,8 @@ import com.sap.sse.filestorage.FileStorageServicePropertyStore;
|
||||
import com.sap.sse.filestorage.FileStorageServiceResolver;
|
||||
import com.sap.sse.replication.OperationExecutionListener;
|
||||
import com.sap.sse.replication.OperationWithResult;
|
||||
import com.sap.sse.replication.OperationWithResultWithIdWrapper;
|
||||
import com.sap.sse.replication.ReplicationMasterDescriptor;
|
||||
import com.sap.sse.replication.impl.OperationWithResultWithIdWrapper;
|
||||
|
||||
/**
|
||||
* Implements {@link ServiceTrackerCustomizer} so that all {@link FileStorageServices} announced in the registry can
|
||||
|
||||
+25
-26
@@ -4,11 +4,12 @@ import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import com.mongodb.BasicDBObject;
|
||||
import com.mongodb.BasicDBObjectBuilder;
|
||||
import com.mongodb.DBCollection;
|
||||
import com.mongodb.DBCursor;
|
||||
import com.mongodb.DBObject;
|
||||
import org.bson.Document;
|
||||
|
||||
import com.mongodb.client.FindIterable;
|
||||
import com.mongodb.client.MongoCollection;
|
||||
import com.mongodb.client.model.IndexOptions;
|
||||
import com.mongodb.client.model.UpdateOptions;
|
||||
import com.sap.sse.filestorage.FileStorageServicePropertyStore;
|
||||
import com.sap.sse.mongodb.MongoDBService;
|
||||
|
||||
@@ -16,8 +17,8 @@ public class MongoFileStorageServicePropertyStoreImpl implements FileStorageServ
|
||||
private static final Logger logger = Logger.getLogger(MongoFileStorageServicePropertyStoreImpl.class.getName());
|
||||
public static final String PROPERTIES_COLLECTION_NAME = "FileStorageServiceProperties";
|
||||
public static final String ACTIVE_SERVICE_COLLECTION_NAME = "ActiveFileStorageService";
|
||||
private final DBCollection propertiesCollection;
|
||||
private final DBCollection activeServiceCollection;
|
||||
private final MongoCollection<Document> propertiesCollection;
|
||||
private final MongoCollection<Document> activeServiceCollection;
|
||||
|
||||
private static enum FieldNames {
|
||||
SERVICE_NAME, PROPERTY_NAME, PROPERTY_VALUE;
|
||||
@@ -25,26 +26,25 @@ public class MongoFileStorageServicePropertyStoreImpl implements FileStorageServ
|
||||
|
||||
public MongoFileStorageServicePropertyStoreImpl(MongoDBService dbService) {
|
||||
propertiesCollection = dbService.getDB().getCollection(PROPERTIES_COLLECTION_NAME);
|
||||
DBObject index = new BasicDBObjectBuilder().add(FieldNames.SERVICE_NAME.name(), 1)
|
||||
.add(FieldNames.PROPERTY_NAME.name(), 1).get();
|
||||
Document index = new Document().append(FieldNames.SERVICE_NAME.name(), 1)
|
||||
.append(FieldNames.PROPERTY_NAME.name(), 1);
|
||||
try {
|
||||
propertiesCollection.createIndex(index, "unique service name/property name combination", true);
|
||||
propertiesCollection.createIndex(index, new IndexOptions().name("unique service name/property name combination").unique(true));
|
||||
} catch (Exception e) {
|
||||
logger.info("Problem creating index, probably due to index format change; dropping indexes and creating again...");
|
||||
// could be that the index was created with different properties; need to remove and create again:
|
||||
propertiesCollection.dropIndexes();
|
||||
propertiesCollection.createIndex(index, "unique service name/property name combination", true);
|
||||
propertiesCollection.createIndex(index, new IndexOptions().name("unique service name/property name combination").unique(true));
|
||||
}
|
||||
activeServiceCollection = dbService.getDB().getCollection(ACTIVE_SERVICE_COLLECTION_NAME);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, String> readAllProperties(String serviceName) {
|
||||
DBObject query = new BasicDBObject(FieldNames.SERVICE_NAME.name(), serviceName);
|
||||
DBCursor cursor = propertiesCollection.find(query);
|
||||
Document query = new Document(FieldNames.SERVICE_NAME.name(), serviceName);
|
||||
FindIterable<Document> cursor = propertiesCollection.find(query);
|
||||
Map<String, String> properties = new HashMap<>();
|
||||
|
||||
for (DBObject property : cursor) {
|
||||
for (Document property : cursor) {
|
||||
String name = (String) property.get(FieldNames.PROPERTY_NAME.name());
|
||||
String value = (String) property.get(FieldNames.PROPERTY_VALUE.name());
|
||||
properties.put(name, value);
|
||||
@@ -54,17 +54,17 @@ public class MongoFileStorageServicePropertyStoreImpl implements FileStorageServ
|
||||
|
||||
@Override
|
||||
public void writeProperty(String serviceName, String propertyName, String propertyValue) {
|
||||
DBObject obj = new BasicDBObjectBuilder().add(FieldNames.SERVICE_NAME.name(), serviceName)
|
||||
.add(FieldNames.PROPERTY_NAME.name(), propertyName)
|
||||
.add(FieldNames.PROPERTY_VALUE.name(), propertyValue).get();
|
||||
DBObject query = new BasicDBObjectBuilder().add(FieldNames.SERVICE_NAME.name(), serviceName)
|
||||
.add(FieldNames.PROPERTY_NAME.name(), propertyName).get();
|
||||
propertiesCollection.update(query, obj, /*upsert*/ true, /*multi*/ false);
|
||||
Document obj = new Document().append(FieldNames.SERVICE_NAME.name(), serviceName)
|
||||
.append(FieldNames.PROPERTY_NAME.name(), propertyName)
|
||||
.append(FieldNames.PROPERTY_VALUE.name(), propertyValue);
|
||||
Document query = new Document().append(FieldNames.SERVICE_NAME.name(), serviceName)
|
||||
.append(FieldNames.PROPERTY_NAME.name(), propertyName);
|
||||
propertiesCollection.replaceOne(query, obj, new UpdateOptions().upsert(true));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String readActiveServiceName() {
|
||||
DBObject obj = activeServiceCollection.findOne();
|
||||
Document obj = activeServiceCollection.find().first();
|
||||
if (obj == null) {
|
||||
return null;
|
||||
}
|
||||
@@ -73,9 +73,8 @@ public class MongoFileStorageServicePropertyStoreImpl implements FileStorageServ
|
||||
|
||||
@Override
|
||||
public void writeActiveService(String serviceName) {
|
||||
DBObject obj = new BasicDBObjectBuilder().add(FieldNames.SERVICE_NAME.name(), serviceName).get();
|
||||
DBObject query = new BasicDBObject();
|
||||
activeServiceCollection.update(query, obj, /*upsert*/ true, /*multi*/ false);
|
||||
Document obj = new Document(FieldNames.SERVICE_NAME.name(), serviceName);
|
||||
Document query = new Document();
|
||||
activeServiceCollection.replaceOne(query, obj, new UpdateOptions().upsert(true));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user