diff --git a/services/database/interactivespaces-sandbox-service-database-orientdb/README.md b/services/database/interactivespaces-sandbox-service-database-orientdb/README.md new file mode 100644 index 0000000..e1dc4bf --- /dev/null +++ b/services/database/interactivespaces-sandbox-service-database-orientdb/README.md @@ -0,0 +1,27 @@ +Installing OrientDB +=================== + + +Master +------ + +Rename `orientdb-core-2.0.10.jar` into `com.orientechnologies.orientdb-core-2.0.10.jar` +and copy to +`master/master/repository/interactivespaces/resources/bundles/` + +Controller +---------- + +### Jars + +Copy the following jars to `controller/bootstrap/`: +* concurrentlinkedhashmap-lru-1.4.1.jar +* orientdb-client-2.0.10.jar +* orientdb-enterprise-2.0.10.jar +* orientdb-server-2.0.10.jar +* snappy-java-1.1.0.1.jar + +### Ext file +Create a file named `orientdb.ext` in `controller/config/environment/` with the following content: + + `package:sun.misc` \ No newline at end of file diff --git a/services/database/interactivespaces-sandbox-service-database-orientdb/project.xml b/services/database/interactivespaces-sandbox-service-database-orientdb/project.xml index 3cb9002..0e42b2f 100644 --- a/services/database/interactivespaces-sandbox-service-database-orientdb/project.xml +++ b/services/database/interactivespaces-sandbox-service-database-orientdb/project.xml @@ -17,6 +17,6 @@ - + diff --git a/services/database/interactivespaces-sandbox-service-database-orientdb/src/main/java/interactivespaces/sandbox/service/database/document/orientdb/BasicOrientDbDocumentDatabaseEndpoint.java b/services/database/interactivespaces-sandbox-service-database-orientdb/src/main/java/interactivespaces/sandbox/service/database/document/orientdb/BasicOrientDbDocumentDatabaseEndpoint.java index 7639d01..e8d3b33 100644 --- a/services/database/interactivespaces-sandbox-service-database-orientdb/src/main/java/interactivespaces/sandbox/service/database/document/orientdb/BasicOrientDbDocumentDatabaseEndpoint.java +++ b/services/database/interactivespaces-sandbox-service-database-orientdb/src/main/java/interactivespaces/sandbox/service/database/document/orientdb/BasicOrientDbDocumentDatabaseEndpoint.java @@ -20,6 +20,8 @@ import com.google.common.collect.Lists; +import com.orientechnologies.orient.core.db.ODatabase; +import com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx; import org.apache.commons.logging.Log; import java.util.Collection; diff --git a/services/database/interactivespaces-sandbox-service-database-orientdb/src/main/java/interactivespaces/sandbox/service/database/document/orientdb/BasicOrientDbDocumentDatabaseService.java b/services/database/interactivespaces-sandbox-service-database-orientdb/src/main/java/interactivespaces/sandbox/service/database/document/orientdb/BasicOrientDbDocumentDatabaseService.java index de36a7e..74479b3 100644 --- a/services/database/interactivespaces-sandbox-service-database-orientdb/src/main/java/interactivespaces/sandbox/service/database/document/orientdb/BasicOrientDbDocumentDatabaseService.java +++ b/services/database/interactivespaces-sandbox-service-database-orientdb/src/main/java/interactivespaces/sandbox/service/database/document/orientdb/BasicOrientDbDocumentDatabaseService.java @@ -16,16 +16,27 @@ package interactivespaces.sandbox.service.database.document.orientdb; -import static com.google.common.base.Preconditions.checkArgument; import static com.google.common.base.Preconditions.checkState; import com.google.common.collect.ImmutableList; +import interactivespaces.InteractiveSpacesException; +import interactivespaces.service.BaseSupportedService; + +import com.orientechnologies.orient.core.db.ODatabaseRecordThreadLocal; +import com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx; +import com.orientechnologies.orient.server.OServer; +import com.orientechnologies.orient.server.OServerMain; +import com.orientechnologies.orient.server.config.OServerConfiguration; +import com.orientechnologies.orient.server.config.OServerEntryConfiguration; +import com.orientechnologies.orient.server.config.OServerNetworkConfiguration; +import com.orientechnologies.orient.server.config.OServerNetworkListenerConfiguration; +import com.orientechnologies.orient.server.config.OServerNetworkProtocolConfiguration; +import com.orientechnologies.orient.server.config.OServerUserConfiguration; import org.apache.commons.logging.Log; import java.io.File; import java.util.concurrent.atomic.AtomicBoolean; -import java.util.regex.Pattern; /** * @author Keith M. Hughes @@ -55,7 +66,7 @@ public class BasicOrientDbDocumentDatabaseService extends BaseSupportedService { /** * Range of ports to which the server tries to bind. */ - public static final String PORT_RANGE = "2424-2424"; + public static final String PORT_RANGE = "2424-2500"; /** * Username of a server user. @@ -114,12 +125,6 @@ public class BasicOrientDbDocumentDatabaseService extends BaseSupportedService { */ private final AtomicBoolean active = new AtomicBoolean(); - /** - * Pattern for allowed db names. It is more restrictive than is required, yet it is simple - * and allows for more flexibility in implementation. - */ - private final Pattern allowedDbName = Pattern.compile("[A-Za-z0-9_-]+"); - /** * OrientDB server starter/stopper. */ @@ -155,7 +160,6 @@ public void shutdown() { */ public OrientDbDocumentDatabaseEndpoint getOrientDbDocumentDatabaseEndpoint( String databaseName, Log log) { - checkArgument(allowedDbName.matcher(databaseName).matches()); String databaseUrl = DATABASE_URL_PROTOCOL_PLOCAL + getSpaceEnvironment().getFilesystem().getDataDirectory(getName()).getAbsolutePath() + File.separator + databaseName; diff --git a/services/database/interactivespaces-sandbox-service-database-orientdb/src/main/java/interactivespaces/sandbox/service/database/document/orientdb/OrientDbDocumentDatabaseEndpoint.java b/services/database/interactivespaces-sandbox-service-database-orientdb/src/main/java/interactivespaces/sandbox/service/database/document/orientdb/OrientDbDocumentDatabaseEndpoint.java index 3ea0f01..fd3793d 100644 --- a/services/database/interactivespaces-sandbox-service-database-orientdb/src/main/java/interactivespaces/sandbox/service/database/document/orientdb/OrientDbDocumentDatabaseEndpoint.java +++ b/services/database/interactivespaces-sandbox-service-database-orientdb/src/main/java/interactivespaces/sandbox/service/database/document/orientdb/OrientDbDocumentDatabaseEndpoint.java @@ -17,6 +17,10 @@ package interactivespaces.sandbox.service.database.document.orientdb; +import interactivespaces.util.resource.ManagedResource; + +import com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx; + /** * Endpoint for an OrientDB document database. */