From 58020e4d625d5e96fae0f78259e2b8e8c8ccf4fe Mon Sep 17 00:00:00 2001 From: Sijie Date: Tue, 6 Feb 2024 13:44:42 -0800 Subject: [PATCH 01/48] test Mongo v3 and v7 --- .github/workflows/test.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1b26b691..28dbfa5f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -56,6 +56,12 @@ jobs: minio: '2019-05-23T00-29-34Z' wired_tiger: 'false' ant_test: 'test_quick_coverage' + # Mongo7 setup + - java: '11' + mongo: 'mongodb-linux-x86_64-ubuntu2204-7.0.4' + minio: '2019-05-23T00-29-34Z' + wired_tiger: 'false' + ant_test: 'test_quick_coverage' steps: - uses: actions/checkout@v3 From 4b59fd45c7cc19d66f6b63272ca303c8d9949e3a Mon Sep 17 00:00:00 2001 From: Sijie Date: Fri, 16 Feb 2024 14:33:17 -0800 Subject: [PATCH 02/48] update build file, classpath file, and Mongo in main --- .classpath | 7 +++++-- build.xml | 7 +++++-- .../typedobj/db/test/MongoTypeStorageTest.java | 5 +++-- .../typedobj/db/test/TypeRegisteringTest.java | 5 +++-- .../kbase/workspace/kbase/InitWorkspaceServer.java | 14 ++++++++------ src/us/kbase/workspace/kbase/SchemaUpdaterCLI.java | 2 +- 6 files changed, 25 insertions(+), 15 deletions(-) diff --git a/.classpath b/.classpath index 1acd7683..7a0894eb 100644 --- a/.classpath +++ b/.classpath @@ -85,7 +85,10 @@ - + + + + @@ -105,6 +108,6 @@ - + diff --git a/build.xml b/build.xml index 37b8e521..463c0a75 100644 --- a/build.xml +++ b/build.xml @@ -24,7 +24,7 @@ - + @@ -62,7 +62,10 @@ - + + + + diff --git a/src/us/kbase/typedobj/db/test/MongoTypeStorageTest.java b/src/us/kbase/typedobj/db/test/MongoTypeStorageTest.java index 384abea4..e3a5afb0 100644 --- a/src/us/kbase/typedobj/db/test/MongoTypeStorageTest.java +++ b/src/us/kbase/typedobj/db/test/MongoTypeStorageTest.java @@ -12,7 +12,8 @@ import org.junit.BeforeClass; import org.junit.Test; -import com.mongodb.MongoClient; +import com.mongodb.client.MongoClient; +import com.mongodb.client.MongoClients; import com.mongodb.client.MongoDatabase; import us.kbase.common.test.TestCommon; @@ -43,7 +44,7 @@ public static void setUp() throws Exception { MONGO.getServerPort()); @SuppressWarnings("resource") - final MongoClient mc = new MongoClient("localhost:" + MONGO.getServerPort()); + final MongoClient mc = MongoClients.create("mongodb://localhost:" + MONGO.getServerPort()); MONGO_DB = mc.getDatabase("test_" + MongoTypeStorageTest.class.getSimpleName()); } diff --git a/src/us/kbase/typedobj/db/test/TypeRegisteringTest.java b/src/us/kbase/typedobj/db/test/TypeRegisteringTest.java index d51513fc..a71f7cd7 100644 --- a/src/us/kbase/typedobj/db/test/TypeRegisteringTest.java +++ b/src/us/kbase/typedobj/db/test/TypeRegisteringTest.java @@ -33,7 +33,8 @@ import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameters; -import com.mongodb.MongoClient; +import com.mongodb.client.MongoClient; +import com.mongodb.client.MongoClients; import com.mongodb.client.MongoDatabase; import us.kbase.common.test.TestCommon; @@ -144,7 +145,7 @@ public static MongoDatabase createMongoDbConnection() throws Exception { mongo.getTempDir()); } @SuppressWarnings("resource") - final MongoClient mcli = new MongoClient("localhost:" + mongo.getServerPort()); + final MongoClient mcli = MongoClients.create("mongodb://localhost:" + mongo.getServerPort()); final MongoDatabase mdb = mcli.getDatabase("TypeRegisteringTest"); TestCommon.destroyDB(mdb); return mdb; diff --git a/src/us/kbase/workspace/kbase/InitWorkspaceServer.java b/src/us/kbase/workspace/kbase/InitWorkspaceServer.java index 8c69fb9b..dae1b392 100644 --- a/src/us/kbase/workspace/kbase/InitWorkspaceServer.java +++ b/src/us/kbase/workspace/kbase/InitWorkspaceServer.java @@ -22,11 +22,11 @@ import org.apache.http.impl.conn.PoolingHttpClientConnectionManager; import org.slf4j.LoggerFactory; -import com.mongodb.MongoClient; -import com.mongodb.MongoClientOptions; import com.mongodb.MongoCredential; import com.mongodb.MongoException; import com.mongodb.ServerAddress; +import com.mongodb.MongoClientSettings; +import com.mongodb.client.MongoClient; import com.mongodb.client.MongoDatabase; import us.kbase.abstracthandle.AbstractHandleClient; @@ -411,16 +411,18 @@ private static SampleIdHandlerFactory getSampleIdHandlerFactory( public static MongoClient buildMongo(final KBaseWorkspaceConfig c, final String dbName) throws WorkspaceInitException { //TODO ZLATER MONGO handle shards & replica sets - final MongoClientOptions opts = MongoClientOptions.builder() - .retryWrites(c.getMongoRetryWrites()).build(); + final MongoClientSettings.Builder mongoBuilder = MongoClientSettings.builder() + .retryWrites(c.getMongoRetryWrites()) + .applyToClusterSettings(builder -> builder.hosts( + Arrays.asList(new ServerAddress(c.getMongoHost())))); try { if (c.getMongoUser() != null) { final MongoCredential creds = MongoCredential.createCredential( c.getMongoUser(), dbName, c.getMongoPassword().toCharArray()); // unclear if and when it's safe to clear the password - return new MongoClient(new ServerAddress(c.getHost()), creds, opts); + return MongoClients.create(mongoBuilder.credential(creds).build()); } else { - return new MongoClient(new ServerAddress(c.getHost()), opts); + return MongoClients.create(mongoBuilder.build()); } } catch (MongoException e) { LoggerFactory.getLogger(InitWorkspaceServer.class).error( diff --git a/src/us/kbase/workspace/kbase/SchemaUpdaterCLI.java b/src/us/kbase/workspace/kbase/SchemaUpdaterCLI.java index e3357305..0453d85b 100644 --- a/src/us/kbase/workspace/kbase/SchemaUpdaterCLI.java +++ b/src/us/kbase/workspace/kbase/SchemaUpdaterCLI.java @@ -9,7 +9,7 @@ import org.slf4j.LoggerFactory; -import com.mongodb.MongoClient; +import com.mongodb.client.MongoClient; import com.mongodb.client.MongoDatabase; import ch.qos.logback.classic.Level; From e1a3897e3fb1ed9fbeaf2c1bcc449365b92b0d39 Mon Sep 17 00:00:00 2001 From: Sijie Date: Fri, 16 Feb 2024 14:49:48 -0800 Subject: [PATCH 03/48] fix test.workspace --- .../workspace/WorkspaceIntegrationWithGridFSTest.java | 9 +++++---- .../kbase/workspace/test/workspace/WorkspaceTester.java | 7 ++++--- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/us/kbase/workspace/test/workspace/WorkspaceIntegrationWithGridFSTest.java b/src/us/kbase/workspace/test/workspace/WorkspaceIntegrationWithGridFSTest.java index 14a753df..ffbb3681 100644 --- a/src/us/kbase/workspace/test/workspace/WorkspaceIntegrationWithGridFSTest.java +++ b/src/us/kbase/workspace/test/workspace/WorkspaceIntegrationWithGridFSTest.java @@ -32,7 +32,8 @@ import org.junit.Test; import org.slf4j.LoggerFactory; -import com.mongodb.MongoClient; +import com.mongodb.client.MongoClient; +import com.mongodb.client.MongoClients; import com.mongodb.client.MongoDatabase; import ch.qos.logback.classic.Level; @@ -114,7 +115,7 @@ public static void setUpClass() throws Exception { System.out.println("Started test mongo instance at localhost: " + MONGO.getServerPort()); @SuppressWarnings("resource") - final MongoClient mcli = new MongoClient("localhost:" + MONGO.getServerPort()); + final MongoClient mcli = MongoClients.create("mongodb://localhost:" + MONGO.getServerPort()); WSDB = mcli.getDatabase(WSDB_NAME); TYPEDB = mcli.getDatabase(TYPEDB_NAME); TestCommon.destroyDB(WSDB); @@ -145,8 +146,8 @@ public static void tearDownClass() throws Exception { @Before public void clearDB() throws Exception { - try (final MongoClient mongoClient = new MongoClient( - "localhost:" + MONGO.getServerPort())) { + try (final MongoClient mongoClient = MongoClients.create( + "mongodb://localhost:" + MONGO.getServerPort())) { TestCommon.destroyDB(mongoClient.getDatabase(WSDB_NAME)); } } diff --git a/src/us/kbase/workspace/test/workspace/WorkspaceTester.java b/src/us/kbase/workspace/test/workspace/WorkspaceTester.java index 24dc34f6..1e4e6e3f 100644 --- a/src/us/kbase/workspace/test/workspace/WorkspaceTester.java +++ b/src/us/kbase/workspace/test/workspace/WorkspaceTester.java @@ -99,7 +99,8 @@ import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.collect.ImmutableMap; -import com.mongodb.MongoClient; +import com.mongodb.client.MongoClient; +import com.mongodb.client.MongoClients; import com.mongodb.client.MongoDatabase; @RunWith(Parameterized.class) @@ -173,7 +174,7 @@ public static void tearDownClass() throws Exception { @Before public void clearDB() throws Exception { - try (final MongoClient cli = new MongoClient("localhost:" + mongo.getServerPort())) { + try (final MongoClient cli = MongoClients.create("mongodb://localhost:" + mongo.getServerPort())) { TestCommon.destroyDB(cli.getDatabase(DB_WS_NAME)); } ws.setConfig(DynamicConfigUpdate.getDefault()); @@ -204,7 +205,7 @@ public WorkspaceTester( } if (!CONFIGS.containsKey(config)) { @SuppressWarnings("resource") - final MongoClient mcli = new MongoClient("localhost:" + mongo.getServerPort()); + final MongoClient mcli = MongoClients.create("mongodb://localhost:" + mongo.getServerPort()); final MongoDatabase wsdb = mcli.getDatabase(DB_WS_NAME); final MongoDatabase tdb = mcli.getDatabase(DB_TYPE_NAME); TestCommon.destroyDB(wsdb); From 8a08e64719ba94b3f1aa2bfcaf3297bc0b623b4f Mon Sep 17 00:00:00 2001 From: Sijie Date: Fri, 16 Feb 2024 15:17:44 -0800 Subject: [PATCH 04/48] fix test.kbase --- src/us/kbase/workspace/test/kbase/JSONRPCLayerTester.java | 6 ++++-- src/us/kbase/workspace/test/kbase/LoggingTest.java | 5 +++-- .../workspace/test/kbase/SampleServiceIntegrationTest.java | 6 ++++-- src/us/kbase/workspace/test/kbase/SchemaUpdaterCLITest.java | 2 +- src/us/kbase/workspace/test/kbase/TypeDelegationTest.java | 6 ++++-- 5 files changed, 16 insertions(+), 9 deletions(-) diff --git a/src/us/kbase/workspace/test/kbase/JSONRPCLayerTester.java b/src/us/kbase/workspace/test/kbase/JSONRPCLayerTester.java index 53bab68a..67ef7567 100644 --- a/src/us/kbase/workspace/test/kbase/JSONRPCLayerTester.java +++ b/src/us/kbase/workspace/test/kbase/JSONRPCLayerTester.java @@ -87,7 +87,9 @@ import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; -import com.mongodb.MongoClient; + +import com.mongodb.client.MongoClient; +import com.mongodb.client.MongoClients; import com.mongodb.client.MongoDatabase; /* @@ -538,7 +540,7 @@ public static void tearDownClass() throws Exception { @Before public void clearDB() throws Exception { - try (final MongoClient mcli = new MongoClient("localhost:" + mongo.getServerPort())) { + try (final MongoClient mcli = MongoClients.create("mongodb://localhost:" + mongo.getServerPort())) { for (final String name: list(DB_WS_NAME_1, DB_WS_NAME_2, DB_WS_NAME_AUTH2_ADMINS)) { final MongoDatabase wsdb = mcli.getDatabase(name); TestCommon.destroyDB(wsdb); diff --git a/src/us/kbase/workspace/test/kbase/LoggingTest.java b/src/us/kbase/workspace/test/kbase/LoggingTest.java index 2ef05335..bd6d45bf 100644 --- a/src/us/kbase/workspace/test/kbase/LoggingTest.java +++ b/src/us/kbase/workspace/test/kbase/LoggingTest.java @@ -52,7 +52,8 @@ import us.kbase.workspace.database.DynamicConfig; import us.kbase.workspace.test.WorkspaceServerThread; -import com.mongodb.MongoClient; +import com.mongodb.client.MongoClient; +import com.mongodb.client.MongoClients; import com.mongodb.client.MongoDatabase; /** Tests application logging only - not the standard logging that comes with @@ -221,7 +222,7 @@ public static void tearDownClass() throws Exception { @Before public void clearDB() throws Exception { logout.reset(); - try (final MongoClient mcli = new MongoClient("localhost:" + mongo.getServerPort())) { + try (final MongoClient mcli = MongoClients.create("mongodb://localhost:" + mongo.getServerPort())) { final MongoDatabase wsdb = mcli.getDatabase(DB_WS_NAME); TestCommon.destroyDB(wsdb); wsdb.getCollection("dyncfg").insertOne( diff --git a/src/us/kbase/workspace/test/kbase/SampleServiceIntegrationTest.java b/src/us/kbase/workspace/test/kbase/SampleServiceIntegrationTest.java index c64337cc..5569cfbf 100644 --- a/src/us/kbase/workspace/test/kbase/SampleServiceIntegrationTest.java +++ b/src/us/kbase/workspace/test/kbase/SampleServiceIntegrationTest.java @@ -30,7 +30,9 @@ import com.arangodb.model.CollectionCreateOptions; import com.github.zafarkhaja.semver.Version; import com.google.common.collect.ImmutableMap; -import com.mongodb.MongoClient; + +import com.mongodb.client.MongoClient; +import com.mongodb.client.MongoClients; import com.mongodb.client.MongoDatabase; import us.kbase.auth.AuthToken; @@ -310,7 +312,7 @@ public static void tearDownClass() throws Exception { @Before public void clearDB() throws Exception { - try (final MongoClient cli = new MongoClient("localhost:" + MONGO.getServerPort())) { + try (final MongoClient cli = MongoClients.create("mongodb://localhost:" + MONGO.getServerPort())) { final MongoDatabase db = cli.getDatabase(WS_DB); TestCommon.destroyDB(db); db.getCollection("dyncfg").insertOne( diff --git a/src/us/kbase/workspace/test/kbase/SchemaUpdaterCLITest.java b/src/us/kbase/workspace/test/kbase/SchemaUpdaterCLITest.java index ea402a5e..7c94f5d3 100644 --- a/src/us/kbase/workspace/test/kbase/SchemaUpdaterCLITest.java +++ b/src/us/kbase/workspace/test/kbase/SchemaUpdaterCLITest.java @@ -27,7 +27,7 @@ import org.mockito.invocation.InvocationOnMock; import org.mockito.stubbing.Answer; -import com.mongodb.MongoClient; +import com.mongodb.client.MongoClient; import com.mongodb.client.MongoDatabase; import us.kbase.common.test.MapBuilder; diff --git a/src/us/kbase/workspace/test/kbase/TypeDelegationTest.java b/src/us/kbase/workspace/test/kbase/TypeDelegationTest.java index a1950a58..8ef1ab72 100644 --- a/src/us/kbase/workspace/test/kbase/TypeDelegationTest.java +++ b/src/us/kbase/workspace/test/kbase/TypeDelegationTest.java @@ -22,7 +22,9 @@ import org.junit.Test; import com.google.common.collect.ImmutableMap; -import com.mongodb.MongoClient; + +import com.mongodb.client.MongoClient; +import com.mongodb.client.MongoClients; import com.mongodb.client.MongoDatabase; import us.kbase.auth.AuthToken; @@ -252,7 +254,7 @@ public static void tearDownClass() throws Exception { @Before public void clearDB() throws Exception { // since we're testing types, we nuke the type database as well as the workspace db - try (final MongoClient mcli = new MongoClient("localhost:" + MONGO.getServerPort())) { + try (final MongoClient mcli = MongoClients.create("mongodb://localhost:" + MONGO.getServerPort())) { for (final String name: list( DB_NAME_WS, DB_NAME_WS_TYPES, DB_NAME_WS_REMOTE, DB_NAME_WS_REMOTE_TYPES)) { final MongoDatabase wsdb = mcli.getDatabase(name); From d4a42384b025a3ebbafe756acb7d819c6686439b Mon Sep 17 00:00:00 2001 From: Sijie Date: Fri, 16 Feb 2024 15:47:41 -0800 Subject: [PATCH 05/48] fix test.database.mongo --- .../workspace/test/database/mongo/GridFSBlobStoreTest.java | 6 ++++-- .../workspace/test/database/mongo/MongoInternalsTest.java | 7 ++++--- .../workspace/test/database/mongo/MongoStartUpTest.java | 6 +++--- .../test/database/mongo/MongoWorkspaceDBTest.java | 6 ++++-- .../test/database/mongo/S3BlobStoreIntegrationTest.java | 6 +++--- .../workspace/test/database/mongo/SchemaUpdaterTest.java | 5 +++-- 6 files changed, 21 insertions(+), 15 deletions(-) diff --git a/src/us/kbase/workspace/test/database/mongo/GridFSBlobStoreTest.java b/src/us/kbase/workspace/test/database/mongo/GridFSBlobStoreTest.java index 8b960273..4a0f308c 100644 --- a/src/us/kbase/workspace/test/database/mongo/GridFSBlobStoreTest.java +++ b/src/us/kbase/workspace/test/database/mongo/GridFSBlobStoreTest.java @@ -24,7 +24,9 @@ import com.github.zafarkhaja.semver.Version; import com.google.common.collect.ImmutableMap; -import com.mongodb.MongoClient; + +import com.mongodb.client.MongoClient; +import com.mongodb.client.MongoClients; import com.mongodb.client.MongoDatabase; import com.mongodb.client.gridfs.GridFSBucket; import com.mongodb.client.gridfs.GridFSBuckets; @@ -58,7 +60,7 @@ public static void setUpClass() throws Exception { mongo.getTempDir()); TestCommon.stfuLoggers(); @SuppressWarnings("resource") - final MongoClient mongoClient = new MongoClient("localhost:" + mongo.getServerPort()); + final MongoClient mongoClient = MongoClients.create("mongodb://localhost:" + mongo.getServerPort()); final MongoDatabase db = mongoClient.getDatabase("GridFSBackendTest"); gfs = GridFSBuckets.create(db); gfsb = new GridFSBlobStore(db); diff --git a/src/us/kbase/workspace/test/database/mongo/MongoInternalsTest.java b/src/us/kbase/workspace/test/database/mongo/MongoInternalsTest.java index 6e92b71b..d2fe6af5 100644 --- a/src/us/kbase/workspace/test/database/mongo/MongoInternalsTest.java +++ b/src/us/kbase/workspace/test/database/mongo/MongoInternalsTest.java @@ -85,7 +85,9 @@ import us.kbase.workspace.test.workspace.WorkspaceTester; import com.google.common.collect.ImmutableMap; -import com.mongodb.MongoClient; + +import com.mongodb.client.MongoClient; +import com.mongodb.client.MongoClients; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; @@ -125,8 +127,7 @@ public static void setUpClass() throws Exception { System.out.println("Using mongo temp dir " + mongo.getTempDir()); TestCommon.stfuLoggers(); - String mongohost = "localhost:" + mongo.getServerPort(); - mongoClient = new MongoClient(mongohost); + mongoClient = MongoClients.create("mongodb://localhost:" + mongo.getServerPort()); db = mongoClient.getDatabase("MongoInternalsTest"); final MongoDatabase tdb = mongoClient.getDatabase("MongoInternalsTest_types"); TestCommon.destroyDB(db); diff --git a/src/us/kbase/workspace/test/database/mongo/MongoStartUpTest.java b/src/us/kbase/workspace/test/database/mongo/MongoStartUpTest.java index 39c99ca5..f47b9e03 100644 --- a/src/us/kbase/workspace/test/database/mongo/MongoStartUpTest.java +++ b/src/us/kbase/workspace/test/database/mongo/MongoStartUpTest.java @@ -23,7 +23,8 @@ import org.junit.BeforeClass; import org.junit.Test; -import com.mongodb.MongoClient; +import com.mongodb.client.MongoClient; +import com.mongodb.client.MongoClients; import com.mongodb.client.MongoCursor; import com.mongodb.client.MongoDatabase; @@ -65,8 +66,7 @@ public static void setUpClass() throws Exception { TestCommon.useWiredTigerEngine()); System.out.println("Using mongo temp dir " + mongo.getTempDir()); TestCommon.stfuLoggers(); - String mongohost = "localhost:" + mongo.getServerPort(); - mongoClient = new MongoClient(mongohost); + mongoClient = MongoClients.create("mongodb://localhost:" + mongo.getServerPort()); final MongoDatabase mdb = mongoClient.getDatabase("MongoStartUpTest"); db = mongoClient.getDatabase("MongoStartUpTest"); diff --git a/src/us/kbase/workspace/test/database/mongo/MongoWorkspaceDBTest.java b/src/us/kbase/workspace/test/database/mongo/MongoWorkspaceDBTest.java index 91998822..c0242c69 100644 --- a/src/us/kbase/workspace/test/database/mongo/MongoWorkspaceDBTest.java +++ b/src/us/kbase/workspace/test/database/mongo/MongoWorkspaceDBTest.java @@ -38,7 +38,9 @@ import org.junit.Test; import com.google.common.collect.ImmutableMap; -import com.mongodb.MongoClient; + +import com.mongodb.client.MongoClient; +import com.mongodb.client.MongoClients; import com.mongodb.client.MongoDatabase; import us.kbase.common.service.UObject; @@ -116,7 +118,7 @@ public static void setup() throws Exception { MONGO.getServerPort()); @SuppressWarnings("resource") - final MongoClient mc = new MongoClient("localhost:" + MONGO.getServerPort()); + final MongoClient mc = MongoClients.create("mongodb://localhost:" + MONGO.getServerPort()); MONGO_DB = mc.getDatabase("test_" + MongoWorkspaceDBTest.class.getSimpleName()); } diff --git a/src/us/kbase/workspace/test/database/mongo/S3BlobStoreIntegrationTest.java b/src/us/kbase/workspace/test/database/mongo/S3BlobStoreIntegrationTest.java index 61ed84ae..53dfb6b1 100644 --- a/src/us/kbase/workspace/test/database/mongo/S3BlobStoreIntegrationTest.java +++ b/src/us/kbase/workspace/test/database/mongo/S3BlobStoreIntegrationTest.java @@ -17,7 +17,8 @@ import org.junit.BeforeClass; import org.junit.Test; -import com.mongodb.MongoClient; +import com.mongodb.client.MongoClient; +import com.mongodb.client.MongoClients; import com.mongodb.client.MongoDatabase; import software.amazon.awssdk.regions.Region; @@ -67,9 +68,8 @@ public static void setUpClass() throws Exception { System.out.println("Using Mongo temp dir " + mongoCon.getTempDir()); System.out.println("Started mongo server at localhost:" + mongoCon.getServerPort()); - String mongohost = "localhost:" + mongoCon.getServerPort(); @SuppressWarnings("resource") - MongoClient mongoClient = new MongoClient(mongohost); + MongoClient mongoClient = MongoClients.create("mongodb://localhost:" + mongo.getServerPort()); mongo = mongoClient.getDatabase("MinioBackendTest"); minio = new MinioController( diff --git a/src/us/kbase/workspace/test/database/mongo/SchemaUpdaterTest.java b/src/us/kbase/workspace/test/database/mongo/SchemaUpdaterTest.java index e758c7ff..3d84d984 100644 --- a/src/us/kbase/workspace/test/database/mongo/SchemaUpdaterTest.java +++ b/src/us/kbase/workspace/test/database/mongo/SchemaUpdaterTest.java @@ -23,7 +23,8 @@ import org.junit.BeforeClass; import org.junit.Test; -import com.mongodb.MongoClient; +import com.mongodb.client.MongoClient; +import com.mongodb.client.MongoClients; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; @@ -72,7 +73,7 @@ public static void setup() throws Exception { System.out.println("Started test mongo instance at localhost:" + MONGO.getServerPort()); - MC = new MongoClient("localhost:" + MONGO.getServerPort()); + MC = MongoClients.create("mongodb://localhost:" + MONGO.getServerPort()); setUpTestDB(); } From bdb88edd20e3eb582264eff94112c75561f705ff Mon Sep 17 00:00:00 2001 From: Sijie Date: Fri, 16 Feb 2024 16:30:59 -0800 Subject: [PATCH 06/48] fix compile issue --- src/us/kbase/workspace/kbase/InitWorkspaceServer.java | 3 ++- .../test/database/mongo/S3BlobStoreIntegrationTest.java | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/us/kbase/workspace/kbase/InitWorkspaceServer.java b/src/us/kbase/workspace/kbase/InitWorkspaceServer.java index dae1b392..6d4f66cd 100644 --- a/src/us/kbase/workspace/kbase/InitWorkspaceServer.java +++ b/src/us/kbase/workspace/kbase/InitWorkspaceServer.java @@ -27,6 +27,7 @@ import com.mongodb.ServerAddress; import com.mongodb.MongoClientSettings; import com.mongodb.client.MongoClient; +import com.mongodb.client.MongoClients; import com.mongodb.client.MongoDatabase; import us.kbase.abstracthandle.AbstractHandleClient; @@ -414,7 +415,7 @@ public static MongoClient buildMongo(final KBaseWorkspaceConfig c, final String final MongoClientSettings.Builder mongoBuilder = MongoClientSettings.builder() .retryWrites(c.getMongoRetryWrites()) .applyToClusterSettings(builder -> builder.hosts( - Arrays.asList(new ServerAddress(c.getMongoHost())))); + Arrays.asList(new ServerAddress(c.getHost())))); try { if (c.getMongoUser() != null) { final MongoCredential creds = MongoCredential.createCredential( diff --git a/src/us/kbase/workspace/test/database/mongo/S3BlobStoreIntegrationTest.java b/src/us/kbase/workspace/test/database/mongo/S3BlobStoreIntegrationTest.java index 53dfb6b1..8c3a3c1f 100644 --- a/src/us/kbase/workspace/test/database/mongo/S3BlobStoreIntegrationTest.java +++ b/src/us/kbase/workspace/test/database/mongo/S3BlobStoreIntegrationTest.java @@ -69,7 +69,7 @@ public static void setUpClass() throws Exception { System.out.println("Started mongo server at localhost:" + mongoCon.getServerPort()); @SuppressWarnings("resource") - MongoClient mongoClient = MongoClients.create("mongodb://localhost:" + mongo.getServerPort()); + MongoClient mongoClient = MongoClients.create("mongodb://localhost:" + mongoCon.getServerPort()); mongo = mongoClient.getDatabase("MinioBackendTest"); minio = new MinioController( From 412bc7a9f54f7cd5681a2f68ede7c456c19120c2 Mon Sep 17 00:00:00 2001 From: Sijie Date: Fri, 16 Feb 2024 16:47:58 -0800 Subject: [PATCH 07/48] remove HandleServiceController main function --- .../handle/HandleServiceController.java | 33 ------------------- 1 file changed, 33 deletions(-) diff --git a/src/us/kbase/workspace/test/controllers/handle/HandleServiceController.java b/src/us/kbase/workspace/test/controllers/handle/HandleServiceController.java index 1e348def..61ee378c 100644 --- a/src/us/kbase/workspace/test/controllers/handle/HandleServiceController.java +++ b/src/us/kbase/workspace/test/controllers/handle/HandleServiceController.java @@ -19,7 +19,6 @@ import us.kbase.auth.AuthToken; import us.kbase.common.test.controllers.mongo.MongoController; -import us.kbase.common.test.controllers.shock.ShockController; /** Q&D Utility to run the Handle Service for the purposes of testing from Java. @@ -137,36 +136,4 @@ public void destroy(final boolean deleteTempFiles, final boolean dumpLogToStdOut FileUtils.deleteDirectory(tempDir.toFile()); } } - - public static void main(String[] args) throws Exception { - MongoController monc = new MongoController( - "/kb/runtime/bin/mongod", - Paths.get("workspacetesttemp"), false); - ShockController sc = new ShockController( - "/kb/deployment/bin/shock-server", - "0.9.6", - Paths.get("workspacetesttemp"), - System.getProperty("test.user1"), - "localhost:" + monc.getServerPort(), - "shockdb", "foo", "foo", new URL("http://foo.com")); - HandleServiceController hsc = new HandleServiceController( - monc, - "http://localhost:" + sc.getServerPort(), - null, //this will break the hm, need a token - Paths.get("workspacetesttemp"), - new URL("http://foo.com"), - "KBASE_ADMIN", - "/kb/deployment/lib", - "handle_controller_test_handle_db"); - System.out.println("handlesrv: " + hsc.getHandleServerPort()); - System.out.println(hsc.getTempDir()); - Scanner reader = new Scanner(System.in); - System.out.println("any char to shut down"); - //get user input for a - reader.next(); - hsc.destroy(false); - sc.destroy(false); - monc.destroy(false); - reader.close(); - } } From c26599fbb0673f380a3e7c7ba9ca14ea6a6a6e64 Mon Sep 17 00:00:00 2001 From: Sijie Date: Fri, 16 Feb 2024 17:07:23 -0800 Subject: [PATCH 08/48] rm unused libraries and upgrade kbase common to 0.2.0 on clientside --- build.xml | 2 +- .../test/controllers/handle/HandleServiceController.java | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/build.xml b/build.xml index 463c0a75..24d71022 100644 --- a/build.xml +++ b/build.xml @@ -39,7 +39,7 @@ - + diff --git a/src/us/kbase/workspace/test/controllers/handle/HandleServiceController.java b/src/us/kbase/workspace/test/controllers/handle/HandleServiceController.java index 61ee378c..e38d1000 100644 --- a/src/us/kbase/workspace/test/controllers/handle/HandleServiceController.java +++ b/src/us/kbase/workspace/test/controllers/handle/HandleServiceController.java @@ -9,10 +9,8 @@ import java.net.URL; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.LinkedList; import java.util.Map; -import java.util.Scanner; import org.apache.commons.io.FileUtils; import org.ini4j.Ini; import org.ini4j.Profile.Section; From 58f2b252336b132d87920ef63cceb810244af22f Mon Sep 17 00:00:00 2001 From: Sijie Date: Fri, 16 Feb 2024 18:30:13 -0800 Subject: [PATCH 09/48] fix MongoStartUpTest.java --- .../test/database/mongo/MongoStartUpTest.java | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/src/us/kbase/workspace/test/database/mongo/MongoStartUpTest.java b/src/us/kbase/workspace/test/database/mongo/MongoStartUpTest.java index f47b9e03..d20f6dfa 100644 --- a/src/us/kbase/workspace/test/database/mongo/MongoStartUpTest.java +++ b/src/us/kbase/workspace/test/database/mongo/MongoStartUpTest.java @@ -297,9 +297,18 @@ private void createIndexes(final String dbname) throws Exception { method.invoke(null, wsdb); } - private Set getIndexes(final MongoDatabase db, final String collection) { + private Set getIndexes(final MongoDatabase db, final String collectionName) { final Set indexes = new HashSet<>(); - db.getCollection(collection).listIndexes().forEach((Consumer) indexes::add); + for (Document index: db.getCollection(collectionName).listIndexes()) { + // In MongoDB 4.4, the listIndexes and the mongo shell helper method db.collection.getIndexes() + // no longer returns the namespace ns field in the index specification documents. + index.remove("ns"); + // some versions of Mongo return ints, some longs. Convert all to longs. + if (index.containsKey("expireAfterSeconds")) { + index.put("expireAfterSeconds", ((Number) index.get("expireAfterSeconds")).longValue()); + } + indexes.add(index); + } return indexes; } @@ -313,18 +322,15 @@ public void indexesConfig() throws Exception { new Document("v", INDEX_VER) .append("unique", true) .append("key", new Document("config", 1)) - .append("name", "config_1") - .append("ns", "MongoStartUpTest.config"), + .append("name", "config_1"), new Document("v", INDEX_VER) .append("key", new Document("_id", 1)) .append("name", "_id_") - .append("ns", "MongoStartUpTest.config") ); assertThat("incorrect indexes", getIndexes(db, "config"), is(expectedIndexes)); final MongoDatabase wsdb = mongoClient.getDatabase("indexesConfig"); createIndexes("indexesConfig"); - setNamespace(expectedIndexes, "indexesConfig.config"); assertThat("incorrect indexes", getIndexes(wsdb, "config"), is(expectedIndexes)); } @@ -334,18 +340,14 @@ public void indexesDynamicConfig() throws Exception { new Document("v", INDEX_VER) .append("unique", true) .append("key", new Document("key", 1)) - .append("name", "key_1") - .append("ns", "MongoStartUpTest.dyncfg"), + .append("name", "key_1"), new Document("v", INDEX_VER) .append("key", new Document("_id", 1)) .append("name", "_id_") - .append("ns", "MongoStartUpTest.dyncfg") ); assertThat("incorrect indexes", getIndexes(db, "dyncfg"), is(expectedIndexes)); final MongoDatabase wsdb = mongoClient.getDatabase("indexesDynConfig"); - createIndexes("indexesDynConfig"); - setNamespace(expectedIndexes, "indexesDynConfig.dyncfg"); assertThat("incorrect indexes", getIndexes(wsdb, "dyncfg"), is(expectedIndexes)); } From 33f1559ec9575ce240c5d582333205b687e2f63c Mon Sep 17 00:00:00 2001 From: Sijie Date: Fri, 16 Feb 2024 18:45:58 -0800 Subject: [PATCH 10/48] fix all failed tests in MongoStartUpTest.java --- .../test/database/mongo/MongoStartUpTest.java | 113 ++++++------------ 1 file changed, 39 insertions(+), 74 deletions(-) diff --git a/src/us/kbase/workspace/test/database/mongo/MongoStartUpTest.java b/src/us/kbase/workspace/test/database/mongo/MongoStartUpTest.java index d20f6dfa..71e647e4 100644 --- a/src/us/kbase/workspace/test/database/mongo/MongoStartUpTest.java +++ b/src/us/kbase/workspace/test/database/mongo/MongoStartUpTest.java @@ -297,10 +297,10 @@ private void createIndexes(final String dbname) throws Exception { method.invoke(null, wsdb); } - private Set getIndexes(final MongoDatabase db, final String collectionName) { + private Set getAndNormalizeIndexes(final MongoDatabase db, final String collectionName) { final Set indexes = new HashSet<>(); for (Document index: db.getCollection(collectionName).listIndexes()) { - // In MongoDB 4.4, the listIndexes and the mongo shell helper method db.collection.getIndexes() + // In MongoDB 4.4, the listIndexes and the mongo shell helper method db.collection.getAndNormalizeIndexes() // no longer returns the namespace ns field in the index specification documents. index.remove("ns"); // some versions of Mongo return ints, some longs. Convert all to longs. @@ -312,10 +312,6 @@ private Set getIndexes(final MongoDatabase db, final String collection return indexes; } - private void setNamespace(final Set toBeModified, final String namespace) { - toBeModified.forEach(d -> d.append("ns", namespace)); - } - @Test public void indexesConfig() throws Exception { final Set expectedIndexes = set( @@ -327,11 +323,11 @@ public void indexesConfig() throws Exception { .append("key", new Document("_id", 1)) .append("name", "_id_") ); - assertThat("incorrect indexes", getIndexes(db, "config"), is(expectedIndexes)); + assertThat("incorrect indexes", getAndNormalizeIndexes(db, "config"), is(expectedIndexes)); final MongoDatabase wsdb = mongoClient.getDatabase("indexesConfig"); createIndexes("indexesConfig"); - assertThat("incorrect indexes", getIndexes(wsdb, "config"), is(expectedIndexes)); + assertThat("incorrect indexes", getAndNormalizeIndexes(wsdb, "config"), is(expectedIndexes)); } @Test @@ -345,10 +341,11 @@ public void indexesDynamicConfig() throws Exception { .append("key", new Document("_id", 1)) .append("name", "_id_") ); - assertThat("incorrect indexes", getIndexes(db, "dyncfg"), is(expectedIndexes)); + assertThat("incorrect indexes", getAndNormalizeIndexes(db, "dyncfg"), is(expectedIndexes)); final MongoDatabase wsdb = mongoClient.getDatabase("indexesDynConfig"); - assertThat("incorrect indexes", getIndexes(wsdb, "dyncfg"), is(expectedIndexes)); + createIndexes("indexesDynConfig"); + assertThat("incorrect indexes", getAndNormalizeIndexes(wsdb, "dyncfg"), is(expectedIndexes)); } @Test @@ -357,34 +354,28 @@ public void indexesWorkspaces() throws Exception { new Document("v", INDEX_VER) .append("unique", true) .append("key", new Document("ws", 1)) - .append("name", "ws_1") - .append("ns", "MongoStartUpTest.workspaces"), + .append("name", "ws_1"), new Document("v", INDEX_VER) .append("unique", true) .append("sparse", true) .append("key", new Document("name", 1)) - .append("name", "name_1") - .append("ns", "MongoStartUpTest.workspaces"), + .append("name", "name_1"), new Document("v", INDEX_VER) .append("key", new Document("owner", 1)) - .append("name", "owner_1") - .append("ns", "MongoStartUpTest.workspaces"), + .append("name", "owner_1"), new Document("v", INDEX_VER) .append("sparse", true) .append("key", new Document("meta", 1)) - .append("name", "meta_1") - .append("ns", "MongoStartUpTest.workspaces"), + .append("name", "meta_1"), new Document("v", INDEX_VER) .append("key", new Document("_id", 1)) .append("name", "_id_") - .append("ns", "MongoStartUpTest.workspaces") ); - assertThat("incorrect indexes", getIndexes(db, "workspaces"), is(expectedIndexes)); + assertThat("incorrect indexes", getAndNormalizeIndexes(db, "workspaces"), is(expectedIndexes)); final MongoDatabase wsdb = mongoClient.getDatabase("indexesWorkspaces"); createIndexes("indexesWorkspaces"); - setNamespace(expectedIndexes, "indexesWorkspaces.workspaces"); - assertThat("incorrect indexes", getIndexes(wsdb, "workspaces"), is(expectedIndexes)); + assertThat("incorrect indexes", getAndNormalizeIndexes(wsdb, "workspaces"), is(expectedIndexes)); } @Test @@ -393,23 +384,19 @@ public void indexesWorkspaceACLs() throws Exception { new Document("v", INDEX_VER) .append("unique", true) .append("key", new Document("id", 1).append("user", 1).append("perm", 1)) - .append("name", "id_1_user_1_perm_1") - .append("ns", "MongoStartUpTest.workspaceACLs"), + .append("name", "id_1_user_1_perm_1"), new Document("v", INDEX_VER) .append("key", new Document("user", 1).append("perm", 1).append("id", 1)) - .append("name", "user_1_perm_1_id_1") - .append("ns", "MongoStartUpTest.workspaceACLs"), + .append("name", "user_1_perm_1_id_1"), new Document("v", INDEX_VER) .append("key", new Document("_id", 1)) .append("name", "_id_") - .append("ns", "MongoStartUpTest.workspaceACLs") ); - assertThat("incorrect indexes", getIndexes(db, "workspaceACLs"), is(expectedIndexes)); + assertThat("incorrect indexes", getAndNormalizeIndexes(db, "workspaceACLs"), is(expectedIndexes)); final MongoDatabase wsdb = mongoClient.getDatabase("indexesWorkspaceACLs"); createIndexes("indexesWorkspaceACLs"); - setNamespace(expectedIndexes, "indexesWorkspaceACLs.workspaceACLs"); - assertThat("incorrect indexes", getIndexes(wsdb, "workspaceACLs"), is(expectedIndexes)); + assertThat("incorrect indexes", getAndNormalizeIndexes(wsdb, "workspaceACLs"), is(expectedIndexes)); } @Test @@ -418,32 +405,26 @@ public void indexesWorkspaceObjects() throws Exception { new Document("v", INDEX_VER) .append("unique", true) .append("key", new Document("ws", 1).append("name", 1)) - .append("name", "ws_1_name_1") - .append("ns", "MongoStartUpTest.workspaceObjects"), + .append("name", "ws_1_name_1"), new Document("v", INDEX_VER) .append("unique", true) .append("key", new Document("ws", 1).append("id", 1)) - .append("name", "ws_1_id_1") - .append("ns", "MongoStartUpTest.workspaceObjects"), + .append("name", "ws_1_id_1"), new Document("v", INDEX_VER) .append("key", new Document("moddate", 1)) - .append("name", "moddate_1") - .append("ns", "MongoStartUpTest.workspaceObjects"), + .append("name", "moddate_1"), new Document("v", INDEX_VER) .append("key", new Document("del", 1).append("refcnt", 1)) - .append("name", "del_1_refcnt_1") - .append("ns", "MongoStartUpTest.workspaceObjects"), + .append("name", "del_1_refcnt_1"), new Document("v", INDEX_VER) .append("key", new Document("_id", 1)) .append("name", "_id_") - .append("ns", "MongoStartUpTest.workspaceObjects") ); - assertThat("incorrect indexes", getIndexes(db, "workspaceObjects"), is(expectedIndexes)); + assertThat("incorrect indexes", getAndNormalizeIndexes(db, "workspaceObjects"), is(expectedIndexes)); final MongoDatabase wsdb = mongoClient.getDatabase("indexesWorkspaceObjects"); createIndexes("indexesWorkspaceObjects"); - setNamespace(expectedIndexes, "indexesWorkspaceObjects.workspaceObjects"); - assertThat("incorrect indexes", getIndexes(wsdb, "workspaceObjects"), is(expectedIndexes)); + assertThat("incorrect indexes", getAndNormalizeIndexes(wsdb, "workspaceObjects"), is(expectedIndexes)); } @Test @@ -452,68 +433,55 @@ public void indexesWorkspaceObjectVersions() throws Exception { new Document("v", INDEX_VER) .append("unique", true) .append("key", new Document("ws", 1).append("id", 1).append("ver", 1)) - .append("name", "ws_1_id_1_ver_1") - .append("ns", "MongoStartUpTest.workspaceObjVersions"), + .append("name", "ws_1_id_1_ver_1"), new Document("v", INDEX_VER) .append("unique", true) .append("key", new Document("ws", 1).append("id", 1).append("ver", -1)) - .append("name", "ws_1_id_1_ver_-1") - .append("ns", "MongoStartUpTest.workspaceObjVersions"), + .append("name", "ws_1_id_1_ver_-1"), new Document("v", INDEX_VER) .append("key", new Document("tyname", 1) .append("tymaj", 1).append("tymin", 1) .append("ws", 1).append("id", 1).append("ver", -1)) - .append("name", "tyname_1_tymaj_1_tymin_1_ws_1_id_1_ver_-1") - .append("ns", "MongoStartUpTest.workspaceObjVersions"), + .append("name", "tyname_1_tymaj_1_tymin_1_ws_1_id_1_ver_-1"), new Document("v", INDEX_VER) .append("key", new Document("tyname", 1).append("tymaj", 1) .append("ws", 1).append("id", 1).append("ver", -1)) - .append("name", "tyname_1_tymaj_1_ws_1_id_1_ver_-1") - .append("ns", "MongoStartUpTest.workspaceObjVersions"), + .append("name", "tyname_1_tymaj_1_ws_1_id_1_ver_-1"), new Document("v", INDEX_VER) .append("key", new Document("tyname", 1) .append("ws", 1).append("id", 1).append("ver", -1)) - .append("name", "tyname_1_ws_1_id_1_ver_-1") - .append("ns", "MongoStartUpTest.workspaceObjVersions"), + .append("name", "tyname_1_ws_1_id_1_ver_-1"), new Document("v", INDEX_VER) .append("key", new Document("provenance", 1)) - .append("name", "provenance_1") - .append("ns", "MongoStartUpTest.workspaceObjVersions"), + .append("name", "provenance_1"), new Document("v", INDEX_VER) .append("key", new Document("savedby", 1)) - .append("name", "savedby_1") - .append("ns", "MongoStartUpTest.workspaceObjVersions"), + .append("name", "savedby_1"), new Document("v", INDEX_VER) .append("sparse", true) .append("key", new Document("provrefs", 1)) - .append("name", "provrefs_1") - .append("ns", "MongoStartUpTest.workspaceObjVersions"), + .append("name", "provrefs_1"), new Document("v", INDEX_VER) .append("sparse", true) .append("key", new Document("refs", 1)) - .append("name", "refs_1") - .append("ns", "MongoStartUpTest.workspaceObjVersions"), + .append("name", "refs_1"), new Document("v", INDEX_VER) .append("key", new Document("savedate", 1)) - .append("name", "savedate_1") - .append("ns", "MongoStartUpTest.workspaceObjVersions"), + .append("name", "savedate_1"), new Document("v", INDEX_VER) .append("sparse", true) .append("key", new Document("meta", 1)) - .append("name", "meta_1") - .append("ns", "MongoStartUpTest.workspaceObjVersions"), + .append("name", "meta_1"), new Document("v", INDEX_VER) .append("key", new Document("_id", 1)) .append("name", "_id_") - .append("ns", "MongoStartUpTest.workspaceObjVersions") ); - assertThat("incorrect indexes", getIndexes(db, "workspaceObjVersions"), + assertThat("incorrect indexes", getAndNormalizeIndexes(db, "workspaceObjVersions"), is(expectedIndexes)); final MongoDatabase wsdb = mongoClient.getDatabase("indexesWorkspaceObjectVersions"); createIndexes("indexesWorkspaceObjectVersions"); - setNamespace(expectedIndexes, "indexesWorkspaceObjectVersions.workspaceObjVersions"); - assertThat("incorrect indexes", getIndexes(wsdb, "workspaceObjVersions"), + assertThat("incorrect indexes", getAndNormalizeIndexes(wsdb, "workspaceObjVersions"), is(expectedIndexes)); } @@ -523,19 +491,16 @@ public void indexesAdmins() throws Exception { new Document("v", INDEX_VER) .append("unique", true) .append("key", new Document("user", 1)) - .append("name", "user_1") - .append("ns", "MongoStartUpTest.admins"), + .append("name", "user_1"), new Document("v", INDEX_VER) .append("key", new Document("_id", 1)) .append("name", "_id_") - .append("ns", "MongoStartUpTest.admins") ); - assertThat("incorrect indexes", getIndexes(db, "admins"), is(expectedIndexes)); + assertThat("incorrect indexes", getAndNormalizeIndexes(db, "admins"), is(expectedIndexes)); final MongoDatabase wsdb = mongoClient.getDatabase("indexesAdmins"); createIndexes("indexesAdmins"); - setNamespace(expectedIndexes, "indexesAdmins.admins"); - assertThat("incorrect indexes", getIndexes(wsdb, "admins"), is(expectedIndexes)); + assertThat("incorrect indexes", getAndNormalizeIndexes(wsdb, "admins"), is(expectedIndexes)); } } From 850d0850822e6914d8476c911bbbc28a8b69d671 Mon Sep 17 00:00:00 2001 From: Sijie Date: Tue, 20 Feb 2024 10:06:35 -0800 Subject: [PATCH 11/48] fix SchemaUpdaterTest --- .../workspace/test/WorkspaceMongoIndex.java | 25 +++++++++++++++++++ .../test/database/mongo/MongoStartUpTest.java | 16 +----------- .../database/mongo/SchemaUpdaterTest.java | 12 +++------ 3 files changed, 30 insertions(+), 23 deletions(-) create mode 100644 src/us/kbase/workspace/test/WorkspaceMongoIndex.java diff --git a/src/us/kbase/workspace/test/WorkspaceMongoIndex.java b/src/us/kbase/workspace/test/WorkspaceMongoIndex.java new file mode 100644 index 00000000..28b50321 --- /dev/null +++ b/src/us/kbase/workspace/test/WorkspaceMongoIndex.java @@ -0,0 +1,25 @@ +package us.kbase.workspace.test; + +import com.mongodb.client.MongoDatabase; +import org.bson.Document; + +import java.util.HashSet; +import java.util.Set; + +public class WorkspaceMongoIndex { + + public static Set getAndNormalizeIndexes(final MongoDatabase db, final String collectionName) { + final Set indexes = new HashSet<>(); + for (Document index: db.getCollection(collectionName).listIndexes()) { + // In MongoDB 4.4, the listIndexes and the mongo shell helper method db.collection.getAndNormalizeIndexes() + // no longer returns the namespace ns field in the index specification documents. + index.remove("ns"); + // some versions of Mongo return ints, some longs. Convert all to longs. + if (index.containsKey("expireAfterSeconds")) { + index.put("expireAfterSeconds", ((Number) index.get("expireAfterSeconds")).longValue()); + } + indexes.add(index); + } + return indexes; + } +} diff --git a/src/us/kbase/workspace/test/database/mongo/MongoStartUpTest.java b/src/us/kbase/workspace/test/database/mongo/MongoStartUpTest.java index 71e647e4..eb038694 100644 --- a/src/us/kbase/workspace/test/database/mongo/MongoStartUpTest.java +++ b/src/us/kbase/workspace/test/database/mongo/MongoStartUpTest.java @@ -5,6 +5,7 @@ import static org.junit.Assert.fail; import static us.kbase.common.test.TestCommon.assertExceptionCorrect; import static us.kbase.common.test.TestCommon.set; +import static us.kbase.workspace.test.WorkspaceMongoIndex.getAndNormalizeIndexes; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; @@ -297,21 +298,6 @@ private void createIndexes(final String dbname) throws Exception { method.invoke(null, wsdb); } - private Set getAndNormalizeIndexes(final MongoDatabase db, final String collectionName) { - final Set indexes = new HashSet<>(); - for (Document index: db.getCollection(collectionName).listIndexes()) { - // In MongoDB 4.4, the listIndexes and the mongo shell helper method db.collection.getAndNormalizeIndexes() - // no longer returns the namespace ns field in the index specification documents. - index.remove("ns"); - // some versions of Mongo return ints, some longs. Convert all to longs. - if (index.containsKey("expireAfterSeconds")) { - index.put("expireAfterSeconds", ((Number) index.get("expireAfterSeconds")).longValue()); - } - indexes.add(index); - } - return indexes; - } - @Test public void indexesConfig() throws Exception { final Set expectedIndexes = set( diff --git a/src/us/kbase/workspace/test/database/mongo/SchemaUpdaterTest.java b/src/us/kbase/workspace/test/database/mongo/SchemaUpdaterTest.java index 3d84d984..5fec5968 100644 --- a/src/us/kbase/workspace/test/database/mongo/SchemaUpdaterTest.java +++ b/src/us/kbase/workspace/test/database/mongo/SchemaUpdaterTest.java @@ -5,6 +5,7 @@ import static org.junit.Assert.fail; import static org.mockito.Mockito.when; import static us.kbase.workspace.test.WorkspaceTestCommon.basicProv; +import static us.kbase.workspace.test.WorkspaceMongoIndex.getAndNormalizeIndexes; import java.nio.file.Paths; import java.time.Instant; @@ -256,23 +257,18 @@ private void assertIndexesCreated(final MongoDatabase db, final boolean oldTypeI * MongoWorkspaceDB method is already thoroughly tested elsewhere we just check a single * index. */ - final String ns = db.getName() + "." + COL_WS_VER; final Document currentIndex = new Document("v", 2) .append("key", new Document("tyname", 1) .append("tymaj", 1).append("tymin", 1) .append("ws", 1).append("id", 1).append("ver", -1)) - .append("name", "tyname_1_tymaj_1_tymin_1_ws_1_id_1_ver_-1") - .append("ns", ns); - final Set indexes = new HashSet<>(); - db.getCollection("workspaceObjVersions").listIndexes() - .forEach((Consumer) indexes::add); + .append("name", "tyname_1_tymaj_1_tymin_1_ws_1_id_1_ver_-1"); + final Set indexes = getAndNormalizeIndexes(db, "workspaceObjVersions"); assertThat("incorrect current index", indexes.contains(currentIndex), is(true)); if (oldTypeIndex) { final Document typeIndex = new Document("v", 2) .append("key", new Document("type", 1).append("chksum", 1)) - .append("name", "type_1_chksum_1") - .append("ns", ns); + .append("name", "type_1_chksum_1"); assertThat("incorrect old index", indexes.contains(typeIndex), is(true)); } } From 6a837c7c7321a7235cb1e8fdc27a734112bf2cc7 Mon Sep 17 00:00:00 2001 From: Sijie Date: Tue, 20 Feb 2024 11:10:42 -0800 Subject: [PATCH 12/48] fix HandleAndBytestreamIntegrationTest.java --- .../test/kbase/HandleAndBytestreamIntegrationTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/us/kbase/workspace/test/kbase/HandleAndBytestreamIntegrationTest.java b/src/us/kbase/workspace/test/kbase/HandleAndBytestreamIntegrationTest.java index 02298bda..6b7f2be7 100644 --- a/src/us/kbase/workspace/test/kbase/HandleAndBytestreamIntegrationTest.java +++ b/src/us/kbase/workspace/test/kbase/HandleAndBytestreamIntegrationTest.java @@ -147,7 +147,7 @@ public static void setUpClass() throws Exception { final String dbname = HandleAndBytestreamIntegrationTest.class.getSimpleName() + "Auth"; AUTH = new AuthController( TestCommon.getJarsDir(), - "localhost:" + MONGO.getServerPort(), + "mongodb://localhost:" + MONGO.getServerPort(), dbname, Paths.get(TestCommon.getTempDir())); final URL authURL = new URL("http://localhost:" + AUTH.getServerPort() + "/testmode"); From 8ff6f83bc7d0f93482d26c07f196953366a47805 Mon Sep 17 00:00:00 2001 From: Sijie Date: Tue, 20 Feb 2024 11:28:27 -0800 Subject: [PATCH 13/48] revert back --- .../test/kbase/HandleAndBytestreamIntegrationTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/us/kbase/workspace/test/kbase/HandleAndBytestreamIntegrationTest.java b/src/us/kbase/workspace/test/kbase/HandleAndBytestreamIntegrationTest.java index 6b7f2be7..02298bda 100644 --- a/src/us/kbase/workspace/test/kbase/HandleAndBytestreamIntegrationTest.java +++ b/src/us/kbase/workspace/test/kbase/HandleAndBytestreamIntegrationTest.java @@ -147,7 +147,7 @@ public static void setUpClass() throws Exception { final String dbname = HandleAndBytestreamIntegrationTest.class.getSimpleName() + "Auth"; AUTH = new AuthController( TestCommon.getJarsDir(), - "mongodb://localhost:" + MONGO.getServerPort(), + "localhost:" + MONGO.getServerPort(), dbname, Paths.get(TestCommon.getTempDir())); final URL authURL = new URL("http://localhost:" + AUTH.getServerPort() + "/testmode"); From 642ed48f8565fe7b99f3a1f55ca01f72e02e7877 Mon Sep 17 00:00:00 2001 From: Sijie Date: Tue, 20 Feb 2024 15:48:38 -0800 Subject: [PATCH 14/48] test kbase_auth2test_0.6.1 jar --- .classpath | 2 +- .github/workflows/test.yml | 2 +- build.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.classpath b/.classpath index 7a0894eb..1c988706 100644 --- a/.classpath +++ b/.classpath @@ -52,7 +52,7 @@ - + diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 28dbfa5f..8c3fcfc4 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -91,7 +91,7 @@ jobs: cd .. # set up jars - git clone https://github.com/kbase/jars + git clone -b dev-kbase_auth2test_0.6.1 https://github.com/kbase/jars export JARSDIR=$(pwd)/jars/lib/jars/ # set up arango diff --git a/build.xml b/build.xml index 24d71022..c02f3f7e 100644 --- a/build.xml +++ b/build.xml @@ -104,7 +104,7 @@ - + From 7ccbc50ce7e364c8035d24ca8e265005805a5aa6 Mon Sep 17 00:00:00 2001 From: Sijie Date: Wed, 21 Feb 2024 09:57:26 -0800 Subject: [PATCH 15/48] update controller --- .classpath | 2 +- build.xml | 2 +- .../test/kbase/HandleAndBytestreamIntegrationTest.java | 1 - src/us/kbase/workspace/test/kbase/JSONRPCLayerTester.java | 1 - src/us/kbase/workspace/test/kbase/LoggingTest.java | 1 - .../workspace/test/kbase/SampleServiceIntegrationTest.java | 1 - src/us/kbase/workspace/test/kbase/TypeDelegationTest.java | 1 - 7 files changed, 2 insertions(+), 7 deletions(-) diff --git a/.classpath b/.classpath index 1c988706..e800d861 100644 --- a/.classpath +++ b/.classpath @@ -52,7 +52,7 @@ - + diff --git a/build.xml b/build.xml index c02f3f7e..75ae7264 100644 --- a/build.xml +++ b/build.xml @@ -104,7 +104,7 @@ - + diff --git a/src/us/kbase/workspace/test/kbase/HandleAndBytestreamIntegrationTest.java b/src/us/kbase/workspace/test/kbase/HandleAndBytestreamIntegrationTest.java index 02298bda..3a201eb3 100644 --- a/src/us/kbase/workspace/test/kbase/HandleAndBytestreamIntegrationTest.java +++ b/src/us/kbase/workspace/test/kbase/HandleAndBytestreamIntegrationTest.java @@ -146,7 +146,6 @@ public static void setUpClass() throws Exception { // set up auth final String dbname = HandleAndBytestreamIntegrationTest.class.getSimpleName() + "Auth"; AUTH = new AuthController( - TestCommon.getJarsDir(), "localhost:" + MONGO.getServerPort(), dbname, Paths.get(TestCommon.getTempDir())); diff --git a/src/us/kbase/workspace/test/kbase/JSONRPCLayerTester.java b/src/us/kbase/workspace/test/kbase/JSONRPCLayerTester.java index 67ef7567..c6c0ef84 100644 --- a/src/us/kbase/workspace/test/kbase/JSONRPCLayerTester.java +++ b/src/us/kbase/workspace/test/kbase/JSONRPCLayerTester.java @@ -188,7 +188,6 @@ public static void setUpClass() throws Exception { // set up auth final String dbname = JSONRPCLayerTester.class.getSimpleName() + "Auth"; authc = new AuthController( - TestCommon.getJarsDir(), "localhost:" + mongo.getServerPort(), dbname, Paths.get(TestCommon.getTempDir())); diff --git a/src/us/kbase/workspace/test/kbase/LoggingTest.java b/src/us/kbase/workspace/test/kbase/LoggingTest.java index bd6d45bf..fe5bbaa3 100644 --- a/src/us/kbase/workspace/test/kbase/LoggingTest.java +++ b/src/us/kbase/workspace/test/kbase/LoggingTest.java @@ -101,7 +101,6 @@ public static void setUpClass() throws Exception { // set up auth final String dbname = LoggingTest.class.getSimpleName() + "Auth"; authc = new AuthController( - TestCommon.getJarsDir(), "localhost:" + mongo.getServerPort(), dbname, Paths.get(TestCommon.getTempDir())); diff --git a/src/us/kbase/workspace/test/kbase/SampleServiceIntegrationTest.java b/src/us/kbase/workspace/test/kbase/SampleServiceIntegrationTest.java index 5569cfbf..aa3f27ea 100644 --- a/src/us/kbase/workspace/test/kbase/SampleServiceIntegrationTest.java +++ b/src/us/kbase/workspace/test/kbase/SampleServiceIntegrationTest.java @@ -125,7 +125,6 @@ public static void setUpClass() throws Exception { // set up auth final String dbname = SampleServiceIntegrationTest.class.getSimpleName() + "Auth"; AUTH = new AuthController( - TestCommon.getJarsDir(), "localhost:" + MONGO.getServerPort(), dbname, Paths.get(TestCommon.getTempDir())); diff --git a/src/us/kbase/workspace/test/kbase/TypeDelegationTest.java b/src/us/kbase/workspace/test/kbase/TypeDelegationTest.java index 8ef1ab72..4f38b53e 100644 --- a/src/us/kbase/workspace/test/kbase/TypeDelegationTest.java +++ b/src/us/kbase/workspace/test/kbase/TypeDelegationTest.java @@ -149,7 +149,6 @@ public static void setUp() throws Exception { mongohost, MONGO.getTempDir())); AUTHC = new AuthController( - TestCommon.getJarsDir(), mongohost, CLS + "Auth", Paths.get(TestCommon.getTempDir())); From 6ccee2e7da2cd1b55b5a09e6d969459ca6f518a9 Mon Sep 17 00:00:00 2001 From: Sijie Date: Wed, 21 Feb 2024 10:15:16 -0800 Subject: [PATCH 16/48] update docker file --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 3c6a15f2..2b9ff3dc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,7 +4,7 @@ COPY . /tmp/workspace_deluxe WORKDIR /tmp RUN apt-get update -y && \ apt-get install -y ant git ca-certificates python3-sphinx && \ - git clone https://github.com/kbase/jars && \ + git clone -b dev-kbase_auth2test_0.6.1 https://github.com/kbase/jars && \ cd workspace_deluxe && \ make docker_deps From 640953d37a909e1ba8c802a0b24574028afc5a3b Mon Sep 17 00:00:00 2001 From: Sijie Date: Wed, 21 Feb 2024 17:58:41 -0800 Subject: [PATCH 17/48] rename fat auth2 jar && clean up --- .classpath | 2 +- .github/workflows/test.yml | 2 +- Dockerfile | 2 +- build.xml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.classpath b/.classpath index e800d861..1e8fddb8 100644 --- a/.classpath +++ b/.classpath @@ -52,7 +52,7 @@ - + diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 8c3fcfc4..28dbfa5f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -91,7 +91,7 @@ jobs: cd .. # set up jars - git clone -b dev-kbase_auth2test_0.6.1 https://github.com/kbase/jars + git clone https://github.com/kbase/jars export JARSDIR=$(pwd)/jars/lib/jars/ # set up arango diff --git a/Dockerfile b/Dockerfile index 2b9ff3dc..3c6a15f2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,7 +4,7 @@ COPY . /tmp/workspace_deluxe WORKDIR /tmp RUN apt-get update -y && \ apt-get install -y ant git ca-certificates python3-sphinx && \ - git clone -b dev-kbase_auth2test_0.6.1 https://github.com/kbase/jars && \ + git clone https://github.com/kbase/jars && \ cd workspace_deluxe && \ make docker_deps diff --git a/build.xml b/build.xml index 75ae7264..c713ac80 100644 --- a/build.xml +++ b/build.xml @@ -104,7 +104,7 @@ - + From 11521dcbcb7c658cb15aa6a1ea5417b12c655f38 Mon Sep 17 00:00:00 2001 From: Sijie Date: Thu, 22 Feb 2024 15:24:07 -0800 Subject: [PATCH 18/48] update test.yml, build.xml, and WorkspaceMongoIndex.java --- .github/workflows/test.yml | 8 +------- build.xml | 3 ++- src/us/kbase/workspace/test/WorkspaceMongoIndex.java | 4 ++-- 3 files changed, 5 insertions(+), 10 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 28dbfa5f..aab241b1 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -46,7 +46,7 @@ jobs: matrix: include: - java: '11' - mongo: 'mongodb-linux-x86_64-3.6.23' + mongo: 'mongodb-linux-x86_64-ubuntu2204-7.0.4' minio: '2019-05-23T00-29-34Z' wired_tiger: 'true' ant_test: 'test_quick_coverage' @@ -56,12 +56,6 @@ jobs: minio: '2019-05-23T00-29-34Z' wired_tiger: 'false' ant_test: 'test_quick_coverage' - # Mongo7 setup - - java: '11' - mongo: 'mongodb-linux-x86_64-ubuntu2204-7.0.4' - minio: '2019-05-23T00-29-34Z' - wired_tiger: 'false' - ant_test: 'test_quick_coverage' steps: - uses: actions/checkout@v3 diff --git a/build.xml b/build.xml index c713ac80..5b3af13f 100644 --- a/build.xml +++ b/build.xml @@ -104,7 +104,6 @@ - @@ -112,6 +111,8 @@ + + diff --git a/src/us/kbase/workspace/test/WorkspaceMongoIndex.java b/src/us/kbase/workspace/test/WorkspaceMongoIndex.java index 28b50321..78959c14 100644 --- a/src/us/kbase/workspace/test/WorkspaceMongoIndex.java +++ b/src/us/kbase/workspace/test/WorkspaceMongoIndex.java @@ -10,8 +10,8 @@ public class WorkspaceMongoIndex { public static Set getAndNormalizeIndexes(final MongoDatabase db, final String collectionName) { final Set indexes = new HashSet<>(); - for (Document index: db.getCollection(collectionName).listIndexes()) { - // In MongoDB 4.4, the listIndexes and the mongo shell helper method db.collection.getAndNormalizeIndexes() + for (final Document index: db.getCollection(collectionName).listIndexes()) { + // In MongoDB 4.4, the listIndexes and the mongo shell helper method db.collection.getIndexes() // no longer returns the namespace ns field in the index specification documents. index.remove("ns"); // some versions of Mongo return ints, some longs. Convert all to longs. From 58fb9e56c4f82381edb53d10183f693d6bd57e25 Mon Sep 17 00:00:00 2001 From: Sijie Date: Thu, 22 Feb 2024 16:23:26 -0800 Subject: [PATCH 19/48] add release notes & a version bump to 0.14.3 --- docsource/conf.py | 2 +- docsource/releasenotes.rst | 8 ++++++++ scripts/workspace_container_test.py | 2 +- src/us/kbase/workspace/test/kbase/JSONRPCLayerTest.java | 2 +- .../kbase/workspace/test/kbase/SchemaUpdaterCLITest.java | 2 +- src/us/kbase/workspace/version/WorkspaceVersion.java | 2 +- 6 files changed, 13 insertions(+), 5 deletions(-) diff --git a/docsource/conf.py b/docsource/conf.py index d2076633..62b8d108 100644 --- a/docsource/conf.py +++ b/docsource/conf.py @@ -52,7 +52,7 @@ # The short X.Y version. version = '0.14' # The full version, including alpha/beta/rc tags. -release = '0.14.2' +release = '0.14.3' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/docsource/releasenotes.rst b/docsource/releasenotes.rst index 5dc51ea7..6d67c630 100644 --- a/docsource/releasenotes.rst +++ b/docsource/releasenotes.rst @@ -3,6 +3,14 @@ Workspace service release notes =============================== +VERSION: 0.14.3 (Released 2/22/2024) +------------------------------------ + +UPDATES: + +* The MongoDB clients have been updated to the most recent version and the service tested against Mongo 7. + + VERSION: 0.14.2 (Released 11/9/2023) ------------------------------------ diff --git a/scripts/workspace_container_test.py b/scripts/workspace_container_test.py index fb3d53be..f2b45847 100644 --- a/scripts/workspace_container_test.py +++ b/scripts/workspace_container_test.py @@ -16,7 +16,7 @@ """ -WORKSPACE_VERSION = "0.14.2" +WORKSPACE_VERSION = "0.14.3" AUTH_URL = "http://localhost:8080" WS_URL = "http://localhost:7058" diff --git a/src/us/kbase/workspace/test/kbase/JSONRPCLayerTest.java b/src/us/kbase/workspace/test/kbase/JSONRPCLayerTest.java index b2226d64..a47c90fc 100644 --- a/src/us/kbase/workspace/test/kbase/JSONRPCLayerTest.java +++ b/src/us/kbase/workspace/test/kbase/JSONRPCLayerTest.java @@ -101,7 +101,7 @@ */ public class JSONRPCLayerTest extends JSONRPCLayerTester { - private static final String VER = "0.14.2"; + private static final String VER = "0.14.3"; @Test public void ver() throws Exception { diff --git a/src/us/kbase/workspace/test/kbase/SchemaUpdaterCLITest.java b/src/us/kbase/workspace/test/kbase/SchemaUpdaterCLITest.java index 7c94f5d3..e84f67df 100644 --- a/src/us/kbase/workspace/test/kbase/SchemaUpdaterCLITest.java +++ b/src/us/kbase/workspace/test/kbase/SchemaUpdaterCLITest.java @@ -41,7 +41,7 @@ public class SchemaUpdaterCLITest { - private static final String VERSION = "0.14.2"; + private static final String VERSION = "0.14.3"; private static final List HELP = list( "Usage: update_workspace_database_schema [-chosV] ", diff --git a/src/us/kbase/workspace/version/WorkspaceVersion.java b/src/us/kbase/workspace/version/WorkspaceVersion.java index f21f4096..2d7947e4 100644 --- a/src/us/kbase/workspace/version/WorkspaceVersion.java +++ b/src/us/kbase/workspace/version/WorkspaceVersion.java @@ -6,6 +6,6 @@ public class WorkspaceVersion { private WorkspaceVersion() {}; /** The version. */ - public static final String VERSION = "0.14.2"; + public static final String VERSION = "0.14.3"; } From 399910a77831708be5cef24e5edfeb6945498f04 Mon Sep 17 00:00:00 2001 From: Gavin Date: Wed, 20 Mar 2024 19:13:28 -0700 Subject: [PATCH 20/48] Fix workspace container tests Tests pass locally but consistently fail on Github Actions. * Downgraded ubuntu runner / kernel * Made the tests themselves ensure that the services are available rather than checking a possibly fragile log line. Also moved them to a test directory rather than scripts. Also also slightly modified the Docker file so slow steps are cached before copying in code, which busts the cache. --- .github/workflows/test.yml | 4 +- Dockerfile | 12 +-- scripts/run_tests.sh | 54 ------------- scripts/workspace_container_test.py | 76 ------------------ test/README.md | 2 + test/run_tests.sh | 23 ++++++ test/workspace_container_test.py | 116 ++++++++++++++++++++++++++++ 7 files changed, 150 insertions(+), 137 deletions(-) delete mode 100644 scripts/run_tests.sh delete mode 100644 scripts/workspace_container_test.py create mode 100644 test/README.md create mode 100644 test/run_tests.sh create mode 100644 test/workspace_container_test.py diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index aab241b1..ca6fd710 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -19,7 +19,7 @@ on: jobs: workspace_container_tests: - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v3 @@ -37,7 +37,7 @@ jobs: - name: Run tests shell: bash run: | - sh scripts/run_tests.sh + sh test/run_tests.sh workspace_deluxe_tests: runs-on: ubuntu-latest diff --git a/Dockerfile b/Dockerfile index 3c6a15f2..27a655ea 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,11 +1,13 @@ FROM eclipse-temurin:11-jdk as build -COPY . /tmp/workspace_deluxe WORKDIR /tmp -RUN apt-get update -y && \ - apt-get install -y ant git ca-certificates python3-sphinx && \ - git clone https://github.com/kbase/jars && \ - cd workspace_deluxe && \ +RUN apt update -y && \ + apt install -y ant git ca-certificates python3-sphinx && \ + git clone https://github.com/kbase/jars + +COPY . /tmp/workspace_deluxe + +RUN cd workspace_deluxe && \ make docker_deps # updated/slimmed down version of what's in kbase/kb_jre diff --git a/scripts/run_tests.sh b/scripts/run_tests.sh deleted file mode 100644 index 19c20b59..00000000 --- a/scripts/run_tests.sh +++ /dev/null @@ -1,54 +0,0 @@ -#!/usr/bin/env bash -# -# Script to run the python workspace_container_test.py locally or on GitHub Actions. -# Builds and mounts auth2, workspace, and mongo docker containers, and then calls -# the python script. -# -# See .github/workflows/test.yml for GitHub Actions implementation. - -# build images -docker compose build -build_exit_code=$? -if [ $build_exit_code -ne 0 ]; then - echo "Error: docker compose build failed with exit code $build_exit_code" - exit $build_exit_code -fi - -# bring up the containers -docker compose up -d -compose_up_exit_code=$? -if [ $compose_up_exit_code -ne 0 ]; then - echo "Error: docker-compose up command failed with exit code $compose_up_exit_code." - exit $compose_up_exit_code -fi - -max_retries=50 -counter=0 -exit_code=666 - -# limit the number of retries of the script -while [ $counter -lt $max_retries ]; do - # wait for the workspace container to start up - # logs should stop being generated and the last line of the logs should be something like - # INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 3811 ms - if docker logs -n 5 "workspace_deluxe-workspace-1" 2>&1 | grep -q -F -m 1 'org.apache.catalina.startup.Catalina.start Server startup in' > /dev/null; then - # get the path to the 'scripts' directory and add it to the python execution path - current_dir="$( dirname -- "$( readlink -f -- "$0"; )"; )" - PYTHONPATH="$current_dir":$PYTHONPATH python -m pytest scripts/workspace_container_test.py - exit_code=$? - break - fi - echo "Waiting for the workspace to be ready..." - counter=$(( counter + 1)) - sleep 5 -done - -if [ $counter -eq $max_retries ]; then - echo "Workspace server start up not detected after $max_retries retries. " - echo "Last 20 lines of workspace container logs:" - docker logs -n 20 "workspace_deluxe-workspace-1" - exit_code=1 -fi - -docker compose down -exit $exit_code diff --git a/scripts/workspace_container_test.py b/scripts/workspace_container_test.py deleted file mode 100644 index f2b45847..00000000 --- a/scripts/workspace_container_test.py +++ /dev/null @@ -1,76 +0,0 @@ -from lib.biokbase.workspace.client import Workspace -import pytest -import requests -import json - -""" workspace_container_test.py - -Very simple tests to ensure that local workspace and auth2 servers are functioning correctly. -Requires the python libraries `pytest` and `requests` to be installed. - -Assumes that the workspace and auth2 are running locally on ports 8080 and 7058 respectively. - -Use the wrapper shell script, `run_tests.sh`, to create the necessary set up and run the tests: - -sh scripts/run_tests.sh - -""" - -WORKSPACE_VERSION = "0.14.3" - -AUTH_URL = "http://localhost:8080" -WS_URL = "http://localhost:7058" -USER_NAME = "some_dull_user" -WS_NAME = "my_cool_new_workspace" - -def test_create_user_create_workspace() -> None: - """create a user and then create a workspace for that user""" - user_token = create_auth2_user_token() - get_ws_version(user_token) - create_read_workspace(user_token) - -def create_auth2_user_token() -> str: - """create a user and generate a token for that user""" - # create a new user - user_json = json.dumps({"user": USER_NAME, "display": "Blah blah"}) - response = requests.post( - AUTH_URL + "/testmode/api/V2/testmodeonly/user", - data=user_json, - headers={"content-type":"application/json"} - ) - assert response.status_code == 200 - user_data = response.json() - assert 'created' in user_data - - # create the token - token_json = json.dumps({ "user": USER_NAME, "type": "Login" }) - response = requests.post( - AUTH_URL + "/testmode/api/V2/testmodeonly/token", - data=token_json, - headers={"content-type":"application/json"} - ) - assert response.status_code == 200 - token_data = response.json() - assert 'created' in token_data - assert 'token' in token_data - return token_data["token"] - -def get_ws_version(token: str) -> None: - """get the current workspace version""" - ws = Workspace(WS_URL, token=token) - assert ws.ver() == WORKSPACE_VERSION - -def create_read_workspace(token: str) -> None: - """create a new workspace and then get the workspace information""" - ws = Workspace(WS_URL, token=token) - new_ws = ws.create_workspace({'workspace': WS_NAME}) - assert new_ws[1] == WS_NAME - assert new_ws[2] == USER_NAME - assert ws.get_workspace_info({ "id": new_ws[0] }) == new_ws - -def test_get_docs() -> None: - """check that the workspace documentation can be accessed""" - response = requests.get(WS_URL + "/docs/") - assert response.status_code == 200 - assert response.text.find("KBase Workspace Service Manual") != -1 - assert response.text.find("KBase Workspace " + WORKSPACE_VERSION + " documentation") != -1 diff --git a/test/README.md b/test/README.md new file mode 100644 index 00000000..ad44c76c --- /dev/null +++ b/test/README.md @@ -0,0 +1,2 @@ +This directory contains tests not part of the standard java suite. Currently it has a very small +test suite that runs against the workspace in a docker container. \ No newline at end of file diff --git a/test/run_tests.sh b/test/run_tests.sh new file mode 100644 index 00000000..af873e9f --- /dev/null +++ b/test/run_tests.sh @@ -0,0 +1,23 @@ +#!/usr/bin/env bash +# +# Script to run the python workspace_container_test.py locally or on GitHub Actions. +# Builds and mounts auth2, workspace, and mongo docker containers, and then calls +# the python script. +# +# See .github/workflows/test.yml for GitHub Actions implementation. + +# build and start the containers +docker compose up -d --build +compose_up_exit_code=$? +if [ $compose_up_exit_code -ne 0 ]; then + echo "Error: docker-compose up -d --build command failed with exit code $compose_up_exit_code." + exit $compose_up_exit_code +fi + +# get the path to the current directory and add it to the python execution path +current_dir="$( dirname -- "$( readlink -f -- "$0"; )"; )" +PYTHONPATH="$current_dir":$PYTHONPATH python -m pytest test/workspace_container_test.py +exit_code=$? + +docker compose down +exit $exit_code diff --git a/test/workspace_container_test.py b/test/workspace_container_test.py new file mode 100644 index 00000000..d53a15ca --- /dev/null +++ b/test/workspace_container_test.py @@ -0,0 +1,116 @@ +from lib.biokbase.workspace.client import Workspace +import pytest +import requests +import json +import time + +""" workspace_container_test.py + +Very simple tests to ensure that local workspace and auth2 servers are functioning correctly. +Requires the python libraries `pytest` and `requests` to be installed. + +Assumes that the workspace and auth2 are running locally on ports 8080 and 7058 respectively. + +Use the wrapper shell script, `run_tests.sh`, to create the necessary set up and run the tests: + +sh scripts/run_tests.sh + +""" + +WORKSPACE_VERSION = "0.14.3" + +AUTH_URL = "http://localhost:8080" +WS_URL = "http://localhost:7058" +USER_NAME = "some_dull_user" +WS_NAME = "my_cool_new_workspace" +WAIT_TIMES = [1, 2, 5, 10, 30] + + +@pytest.fixture(scope="module") +def ready(): + wait_for_auth() + wait_for_ws() + + yield + +def wait_for_auth(): + print("waiting for auth service...") + for t in WAIT_TIMES: + try: + res = requests.get(AUTH_URL) + res.raise_for_status() + return + except Exception as e: + print(f"Failed to connect to auth, waiting {t} sec and trying again:\n\t{e}") + time.sleep(t) + raise Exception(f"Couldn't connect to the auth after {len(WAIT_TIMES)} attempts") + + +def wait_for_ws(): + print("waiting for workspace service...") + ws = Workspace(WS_URL) + for t in WAIT_TIMES: + try: + ws.ver() + return + except Exception as e: + print(f"Failed to connect to workspace, waiting {t} sec and trying again:\n\t{e}") + time.sleep(t) + raise Exception(f"Couldn't connect to the workspace after {len(WAIT_TIMES)} attempts") + + +def test_create_user_create_workspace(ready): + """create a user and then create a workspace for that user""" + token = create_auth2_user_token() + get_ws_version(token) + create_read_workspace(token) + + +def create_auth2_user_token() -> str: + """create a user and generate a token for that user""" + # create a new user + user_json = json.dumps({"user": USER_NAME, "display": "Blah blah"}) + response = requests.post( + AUTH_URL + "/testmode/api/V2/testmodeonly/user", + data=user_json, + headers={"content-type":"application/json"} + ) + assert response.status_code == 200 + user_data = response.json() + assert 'created' in user_data + + # create the toke + token_json = json.dumps({ "user": USER_NAME, "type": "Login" }) + response = requests.post( + AUTH_URL + "/testmode/api/V2/testmodeonly/token", + data=token_json, + headers={"content-type":"application/json"} + ) + assert response.status_code == 200 + token_data = response.json() + assert 'created' in token_data + assert 'token' in token_data + return token_data["token"] + + +def get_ws_version(token: str) -> None: + """get the current workspace version""" + ws = Workspace(WS_URL, token=token) + assert ws.ver() == WORKSPACE_VERSION + + +def create_read_workspace(token: str) -> None: + """create a new workspace and then get the workspace information""" + ws = Workspace(WS_URL, token=token) + new_ws = ws.create_workspace({'workspace': WS_NAME}) + assert new_ws[1] == WS_NAME + assert new_ws[2] == USER_NAME + assert ws.get_workspace_info({ "id": new_ws[0] }) == new_ws + + +def test_get_docs(ready) -> None: + """check that the workspace documentation can be accessed""" + response = requests.get(WS_URL + "/docs/") + assert response.status_code == 200 + assert response.text.find("KBase Workspace Service Manual") != -1 + assert response.text.find("KBase Workspace " + WORKSPACE_VERSION + " documentation") != -1 From c4bf84b3a8aa8c3fc5ff65b0bff38de4038d3181 Mon Sep 17 00:00:00 2001 From: Gavin Date: Wed, 6 Mar 2024 17:08:36 -0800 Subject: [PATCH 21/48] Gradle pt 1: tests + coverage --- .classpath | 4 +- .codecov.yml | 1 - .gitattributes | 6 + .github/workflows/test.yml | 11 +- build.gradle | 247 ++++++++++++++++++ docsource/releasenotes.rst | 5 +- gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 59821 bytes gradle/wrapper/gradle-wrapper.properties | 5 + gradlew | 234 +++++++++++++++++ server_scripts/README.md | 4 + settings.gradle | 11 + src/us/kbase/common/test/TestCommon.java | 6 - .../typedobj/core/NullJsonGenerator.java | 1 + src/us/kbase/typedobj/db/KidlUtil.java | 27 -- .../db/test/MongoTypeStorageTest.java | 1 - .../typedobj/db/test/TypeRegisteringTest.java | 1 - .../kbase/workspace/database/Workspace.java | 2 +- .../workspace/database/WorkspaceDatabase.java | 2 +- .../database/mongo/MongoWorkspaceDB.java | 2 +- .../AdministrationCommandSetInstaller.java | 2 +- .../database/mongo/GridFSBlobStoreTest.java | 1 - .../database/mongo/MongoWorkspaceDBTest.java | 1 - .../mongo/S3BlobStoreIntegrationTest.java | 1 - .../database/mongo/SchemaUpdaterTest.java | 1 - .../WorkspaceIntegrationWithGridFSTest.java | 1 - .../test/workspace/WorkspaceTester.java | 1 - test.cfg.example | 4 - 27 files changed, 520 insertions(+), 62 deletions(-) create mode 100644 .gitattributes create mode 100644 build.gradle create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100755 gradlew create mode 100644 server_scripts/README.md create mode 100644 settings.gradle diff --git a/.classpath b/.classpath index 1e8fddb8..115baaf1 100644 --- a/.classpath +++ b/.classpath @@ -1,8 +1,6 @@ - - @@ -52,7 +50,6 @@ - @@ -109,5 +106,6 @@ + diff --git a/.codecov.yml b/.codecov.yml index 42c0d62b..b75b4f7a 100644 --- a/.codecov.yml +++ b/.codecov.yml @@ -26,5 +26,4 @@ comment: require_changes: no ignore: - - "build" - "deployment" diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..00a51aff --- /dev/null +++ b/.gitattributes @@ -0,0 +1,6 @@ +# +# https://help.github.com/articles/dealing-with-line-endings/ +# +# These are explicitly windows files and should use crlf +*.bat text eol=crlf + diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ca6fd710..aa35adfd 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -49,13 +49,13 @@ jobs: mongo: 'mongodb-linux-x86_64-ubuntu2204-7.0.4' minio: '2019-05-23T00-29-34Z' wired_tiger: 'true' - ant_test: 'test_quick_coverage' + gradle_test: 'testQuick' # the current production setup - java: '11' mongo: 'mongodb-linux-x86_64-3.6.13' minio: '2019-05-23T00-29-34Z' wired_tiger: 'false' - ant_test: 'test_quick_coverage' + gradle_test: 'testQuick' steps: - uses: actions/checkout@v3 @@ -84,10 +84,6 @@ jobs: # move to parent dir of homedir to install binaries etc cd .. - # set up jars - git clone https://github.com/kbase/jars - export JARSDIR=$(pwd)/jars/lib/jars/ - # set up arango export ARANGODB_VER=3.9.1 export ARANGODB_V=39 @@ -153,8 +149,7 @@ jobs: - name: Run tests shell: bash run: | - ant javadoc - ant ${{matrix.ant_test}} + ./gradlew ${{matrix.gradle_test}} - name: Upload coverage to Codecov uses: codecov/codecov-action@v3 diff --git a/build.gradle b/build.gradle new file mode 100644 index 00000000..656fcf5d --- /dev/null +++ b/build.gradle @@ -0,0 +1,247 @@ +/* + * This file was generated by the Gradle 'init' task. + */ + +// TODO TEST switch to Kotlin DSL which is now the default and apparently better +// TODO TEST avoid early configuration, see +// https://docs.gradle.org/current/userguide/task_configuration_avoidance.html +// need to avoid withType as well apparently? + +plugins { + id 'java' + id 'war' + id 'jacoco' + id 'org.ajoberstar.grgit' version '4.1.1' + id 'com.github.johnrengelman.shadow' version '8.1.1' +} + +// TODO NOW test shadow jar works in groups - remove JNA - commit 2 +// TODO NOW get docserver working in WAR and test in docker-compose <- edit to start test server - commit 3 +// TODO NOW client jar - commit 4 +// TODO NOW client jar javadoc - needs java_common source - commit 4 +// TODO NOW schema updater script - commit 5 +// TODO NOW sdk-compile all, java, and docs - commit 6 +// TODO NOW handle the git commit the same way as auth does - commit 7 +// TODO NOW delete build.xml, , and Makefile - commit 8 +// TODO NOW run tests from Eclipse w/o specifying classpath manually & remove sourceSets & claspath - commit 9 + +repositories { + mavenCentral() +} +compileJava { + options.release = 11 +} + +tasks.withType(Test) { + /* + * TODO TEST Figure out why tests fail without this and remove. Might have something to do + * with the stfuLoggers() call in many of the tests, might kill logging for tests that + * require it + * Although it seems to make Mongo start up correctly as well which is odd + */ + forkEvery = 1 + /* + * TODO TEST split tests into mongo wrapper tests & all other tests (incl. integration). + * Set up GHA to run the non-mongo tests with a single version of mongo and run the + * mongo tests with matrixed mongo versions. Combine coverage at the end somehow + */ + systemProperty "test.cfg", "./test.cfg" + maxHeapSize = "3G" + testLogging { + exceptionFormat = 'full' + showStandardStreams = true + } + filter { + // gradle thinks that classes annotated with @RunWith are tests + excludeTestsMatching "*Tester" + } +} + +tasks.withType(JacocoReport) { + reports { + xml.required = true + csv.required = true + } +} + +test { + finalizedBy jacocoTestReport +} + +task testQuick(type: Test) { + // for Gradle 9.0 compatibility + testClassesDirs = testing.suites.test.sources.output.classesDirs + classpath = testing.suites.test.sources.runtimeClasspath + + filter { + excludeTestsMatching "*LongTest" + } + finalizedBy "jacocoTestQuickReport" // must be a string, see TODOs at head of file +} + +task jacocoTestQuickReport(type: JacocoReport, dependsOn: testQuick) { + executionData(testQuick) +} + +// Custom java project layout +sourceSets { + main { + java { + srcDirs = ["src"] + exclude '**/test/**' + } + } + test { + java { + srcDirs = ["src"] + include '**/test/**' + } + resources { + srcDirs = ["src"] + include "**/*.properties" + include '**/*.spec' + include '**/*instance.*' + include '**/*.instance*' + include '**/*.html' + include '**/*.css' + include '**/*.gif' + include '**/*.js' + include '**/*.png' + include '**/*.txt' + include '**/*.weirdsuffix' + } + } +} + +javadoc { + options { + links "https://docs.oracle.com/en/java/javase/11/docs/api/" + links "https://www.javadoc.io/doc/com.fasterxml.jackson.core/jackson-core/2.9.9/" + links "https://www.javadoc.io/doc/com.fasterxml.jackson.core/jackson-databind/2.9.9/" + } +} + +war { + webXml = file('war/web.xml') +} + +configurations { + // can't directly access testImplementation, so extend and access + testimpl.extendsFrom testImplementation +} + +def fromURL = { url, name -> + File file = new File("$buildDir/download/${name}.jar") + file.parentFile.mkdirs() + if (!file.exists()) { + new URL(url).withInputStream { downloadStream -> + file.withOutputStream { fileOut -> + fileOut << downloadStream + } + } + } + files(file.absolutePath) +} + +dependencies { + + // ### General application dependencies ### + + implementation fromURL( + 'https://github.com/kbase/jars/raw/master/lib/jars/kbase/auth/kbase-auth-0.4.4.jar', + 'kbase-auth-0.4.4' + ) + implementation fromURL( + 'https://github.com/kbase/jars/raw/master/lib/jars/kbase/kidl/kbase-kidl-parser-1409261812-7863aef.jar', + 'kbase-kidl-parser-1409261812-7863aef' + ) + implementation 'com.fasterxml.jackson.core:jackson-annotations:2.9.9' + implementation 'com.fasterxml.jackson.core:jackson-core:2.9.9' + implementation 'com.fasterxml.jackson.core:jackson-databind:2.9.9' + implementation 'org.ini4j:ini4j:0.5.2' + implementation 'commons-io:commons-io:2.4' + implementation 'org.apache.commons:commons-lang3:3.1' + implementation 'commons-codec:commons-codec:1.8' + implementation 'info.picocli:picocli:4.6.1' + implementation 'org.mongodb:mongodb-driver-core:4.11.1' + implementation 'org.mongodb:mongodb-driver-sync:4.11.1' + implementation 'org.mongodb:bson-record-codec:4.11.1' + implementation 'org.mongodb:bson:4.11.1' + implementation 'org.slf4j:slf4j-api:1.7.30' + implementation 'ch.qos.logback:logback-classic:1.1.2' + implementation 'com.google.guava:guava:14.0.1' + implementation 'com.github.ben-manes.caffeine:caffeine:2.9.3' + implementation 'org.apache.kafka:kafka-clients:2.1.0' + implementation fromURL( + 'https://github.com/kbase/jars/raw/master/lib/jars/kbase/handle/AbstractHandleClient-1.0.0.jar', + 'AbstractHandleClient-1.0.0' + ) + implementation fromURL( + 'https://github.com/kbase/jars/raw/master/lib/jars/kbase/sample/SampleServiceClient-0.1.1.jar', + 'SampleServiceClient-0.1.1' + ) + + // ### Server dependencies, specifically for java_common JsonServerServlet ### + + implementation fromURL( + 'https://github.com/kbase/jars/raw/master/lib/jars/kbase/common/kbase-common-0.2.0.jar', + 'kbase-common-0.2.0' + ) + // joda-time is required for kbase-common and syslog4j + implementation 'joda-time:joda-time:2.2' + // this is OOOOOOLD. But that probably means updating java_common + implementation 'org.eclipse.jetty.aggregate:jetty-all:7.0.0.v20091005' + implementation 'javax.servlet:servlet-api:2.5' + implementation 'javax.annotation:javax.annotation-api:1.3.2' + // Syslog4j 0.9.46 doesn't appear to be available on Maven. It apparently lives in + // a JetBrains artifact server, but that's too much trouble and there's only one version there + // anyway. + // https://mvnrepository.com/artifact/org.jetbrains/syslog4j/0.9.46 + // Need to rework the java common logger to not use syslog4j at all since it's abandonware + // and has a ton of CVEs, even in the newer versions. + implementation fromURL( + 'https://github.com/kbase/jars/raw/master/lib/jars/syslog4j/syslog4j-0.9.46.jar', + 'syslog4j-0.9.46' + ) + // needed for syslog4j + implementation 'net.java.dev.jna:jna:3.4.0' + + // ### Blobstore / Shock client and dependencies ### + + implementation fromURL( + 'https://github.com/kbase/jars/raw/master/lib/jars/kbase/shock/shock-client-0.1.0.jar', + 'shock-client-0.1.0' + ) + implementation 'org.apache.httpcomponents:httpclient:4.5.9' + implementation 'org.apache.httpcomponents:httpmime:4.5.8' + + // ### Amazon S3 ### + + implementation('software.amazon.awssdk:s3:2.17.214') { + exclude module: 'apache-client' + exclude module: 'netty-nio-client' + } + implementation 'software.amazon.awssdk:url-connection-client:2.17.214' + + // ### Test ### + + testImplementation 'junit:junit:4.12' + testImplementation 'org.hamcrest:hamcrest-core:1.3' + testImplementation 'com.github.zafarkhaja:java-semver:0.9.0' + testImplementation 'nl.jqno.equalsverifier:equalsverifier:3.1.10' + testImplementation 'com.arangodb:arangodb-java-driver:6.7.2' + testImplementation 'org.mockito:mockito-core:3.0.0' + + testImplementation 'commons-lang:commons-lang:2.4' + testImplementation fromURL( + 'https://github.com/kbase/jars/raw/master/lib/jars/kbase/auth2/kbase-auth2-test-shadow-all-0.7.0.jar', + 'kbase-auth2-test-shadow-all-0.7.0' + ) +} + +task showTestClassPath { + doLast { + configurations.testimpl.each { println it } + } +} + diff --git a/docsource/releasenotes.rst b/docsource/releasenotes.rst index 6d67c630..9e1afb90 100644 --- a/docsource/releasenotes.rst +++ b/docsource/releasenotes.rst @@ -8,7 +8,10 @@ VERSION: 0.14.3 (Released 2/22/2024) UPDATES: -* The MongoDB clients have been updated to the most recent version and the service tested against Mongo 7. +* The MongoDB clients have been updated to the most recent version and the service tested + against Mongo 7. +* Gradle has replaced Ant as the build tool. As a consequence, all the built artifacts are now + located in the build directory, including the ``update_workspace_database_schema`` script. VERSION: 0.14.2 (Released 11/9/2023) diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..41d9927a4d4fb3f96a785543079b8df6723c946b GIT binary patch literal 59821 zcma&NV|1p`(k7gaZQHhOJ9%QKV?D8LCmq{1JGRYE(y=?XJw0>InKkE~^UnAEs2gk5 zUVGPCwX3dOb!}xiFmPB95NK!+5D<~S0s;d1zn&lrfAn7 zC?Nb-LFlib|DTEqB8oDS5&$(u1<5;wsY!V`2F7^=IR@I9so5q~=3i_(hqqG<9SbL8Q(LqDrz+aNtGYWGJ2;p*{a-^;C>BfGzkz_@fPsK8{pTT~_VzB$E`P@> z7+V1WF2+tSW=`ZRj3&0m&d#x_lfXq`bb-Y-SC-O{dkN2EVM7@!n|{s+2=xSEMtW7( zz~A!cBpDMpQu{FP=y;sO4Le}Z)I$wuFwpugEY3vEGfVAHGqZ-<{vaMv-5_^uO%a{n zE_Zw46^M|0*dZ`;t%^3C19hr=8FvVdDp1>SY>KvG!UfD`O_@weQH~;~W=fXK_!Yc> z`EY^PDJ&C&7LC;CgQJeXH2 zjfM}2(1i5Syj)Jj4EaRyiIl#@&lC5xD{8hS4Wko7>J)6AYPC-(ROpVE-;|Z&u(o=X z2j!*>XJ|>Lo+8T?PQm;SH_St1wxQPz)b)Z^C(KDEN$|-6{A>P7r4J1R-=R7|FX*@! zmA{Ja?XE;AvisJy6;cr9Q5ovphdXR{gE_7EF`ji;n|RokAJ30Zo5;|v!xtJr+}qbW zY!NI6_Wk#6pWFX~t$rAUWi?bAOv-oL6N#1>C~S|7_e4 zF}b9(&a*gHk+4@J26&xpiWYf2HN>P;4p|TD4f586umA2t@cO1=Fx+qd@1Ae#Le>{-?m!PnbuF->g3u)7(n^llJfVI%Q2rMvetfV5 z6g|sGf}pV)3_`$QiKQnqQ<&ghOWz4_{`rA1+7*M0X{y(+?$|{n zs;FEW>YzUWg{sO*+D2l6&qd+$JJP_1Tm;To<@ZE%5iug8vCN3yH{!6u5Hm=#3HJ6J zmS(4nG@PI^7l6AW+cWAo9sFmE`VRcM`sP7X$^vQY(NBqBYU8B|n-PrZdNv8?K?kUTT3|IE`-A8V*eEM2=u*kDhhKsmVPWGns z8QvBk=BPjvu!QLtlF0qW(k+4i+?H&L*qf262G#fks9}D5-L{yiaD10~a;-j!p!>5K zl@Lh+(9D{ePo_S4F&QXv|q_yT`GIPEWNHDD8KEcF*2DdZD;=J6u z|8ICSoT~5Wd!>g%2ovFh`!lTZhAwpIbtchDc{$N%<~e$E<7GWsD42UdJh1fD($89f2on`W`9XZJmr*7lRjAA8K0!(t8-u>2H*xn5cy1EG{J;w;Q-H8Yyx+WW(qoZZM7p(KQx^2-yI6Sw?k<=lVOVwYn zY*eDm%~=|`c{tUupZ^oNwIr!o9T;H3Fr|>NE#By8SvHb&#;cyBmY1LwdXqZwi;qn8 zK+&z{{95(SOPXAl%EdJ3jC5yV^|^}nOT@M0)|$iOcq8G{#*OH7=DlfOb; z#tRO#tcrc*yQB5!{l5AF3(U4>e}nEvkoE_XCX=a3&A6Atwnr&`r&f2d%lDr8f?hBB zr1dKNypE$CFbT9I?n){q<1zHmY>C=5>9_phi79pLJG)f=#dKdQ7We8emMjwR*qIMF zE_P-T*$hX#FUa%bjv4Vm=;oxxv`B*`weqUn}K=^TXjJG=UxdFMSj-QV6fu~;- z|IsUq`#|73M%Yn;VHJUbt<0UHRzbaF{X@76=8*-IRx~bYgSf*H(t?KH=?D@wk*E{| z2@U%jKlmf~C^YxD=|&H?(g~R9-jzEb^y|N5d`p#2-@?BUcHys({pUz4Zto7XwKq2X zSB~|KQGgv_Mh@M!*{nl~2~VV_te&E7K39|WYH zCxfd|v_4!h$Ps2@atm+gj14Ru)DhivY&(e_`eA)!O1>nkGq|F-#-6oo5|XKEfF4hR z%{U%ar7Z8~B!foCd_VRHr;Z1c0Et~y8>ZyVVo9>LLi(qb^bxVkbq-Jq9IF7!FT`(- zTMrf6I*|SIznJLRtlP)_7tQ>J`Um>@pP=TSfaPB(bto$G1C zx#z0$=zNpP-~R);kM4O)9Mqn@5Myv5MmmXOJln312kq#_94)bpSd%fcEo7cD#&|<` zrcal$(1Xv(nDEquG#`{&9Ci~W)-zd_HbH-@2F6+|a4v}P!w!Q*h$#Zu+EcZeY>u&?hn#DCfC zVuye5@Ygr+T)0O2R1*Hvlt>%rez)P2wS}N-i{~IQItGZkp&aeY^;>^m7JT|O^{`78 z$KaK0quwcajja;LU%N|{`2o&QH@u%jtH+j!haGj;*ZCR*`UgOXWE>qpXqHc?g&vA& zt-?_g8k%ZS|D;()0Lf!>7KzTSo-8hUh%OA~i76HKRLudaNiwo*E9HxmzN4y>YpZNO zUE%Q|H_R_UmX=*f=2g=xyP)l-DP}kB@PX|(Ye$NOGN{h+fI6HVw`~Cd0cKqO;s6aiYLy7sl~%gs`~XaL z^KrZ9QeRA{O*#iNmB7_P!=*^pZiJ5O@iE&X2UmUCPz!)`2G3)5;H?d~3#P|)O(OQ_ zua+ZzwWGkWflk4j^Lb=x56M75_p9M*Q50#(+!aT01y80x#rs9##!;b-BH?2Fu&vx} za%4!~GAEDsB54X9wCF~juV@aU}fp_(a<`Ig0Pip8IjpRe#BR?-niYcz@jI+QY zBU9!8dAfq@%p;FX)X=E7?B=qJJNXlJ&7FBsz;4&|*z{^kEE!XbA)(G_O6I9GVzMAF z8)+Un(6od`W7O!!M=0Z)AJuNyN8q>jNaOdC-zAZ31$Iq%{c_SYZe+(~_R`a@ zOFiE*&*o5XG;~UjsuW*ja-0}}rJdd@^VnQD!z2O~+k-OSF%?hqcFPa4e{mV1UOY#J zTf!PM=KMNAzbf(+|AL%K~$ahX0Ol zbAxKu3;v#P{Qia{_WzHl`!@!8c#62XSegM{tW1nu?Ee{sQq(t{0TSq67YfG;KrZ$n z*$S-+R2G?aa*6kRiTvVxqgUhJ{ASSgtepG3hb<3hlM|r>Hr~v_DQ>|Nc%&)r0A9go z&F3Ao!PWKVq~aWOzLQIy&R*xo>}{UTr}?`)KS&2$3NR@a+>+hqK*6r6Uu-H};ZG^| zfq_Vl%YE1*uGwtJ>H*Y(Q9E6kOfLJRlrDNv`N;jnag&f<4#UErM0ECf$8DASxMFF& zK=mZgu)xBz6lXJ~WZR7OYw;4&?v3Kk-QTs;v1r%XhgzSWVf|`Sre2XGdJb}l1!a~z zP92YjnfI7OnF@4~g*LF>G9IZ5c+tifpcm6#m)+BmnZ1kz+pM8iUhwag`_gqr(bnpy zl-noA2L@2+?*7`ZO{P7&UL~ahldjl`r3=HIdo~Hq#d+&Q;)LHZ4&5zuDNug@9-uk; z<2&m#0Um`s=B}_}9s&70Tv_~Va@WJ$n~s`7tVxi^s&_nPI0`QX=JnItlOu*Tn;T@> zXsVNAHd&K?*u~a@u8MWX17VaWuE0=6B93P2IQ{S$-WmT+Yp!9eA>@n~=s>?uDQ4*X zC(SxlKap@0R^z1p9C(VKM>nX8-|84nvIQJ-;9ei0qs{}X>?f%&E#%-)Bpv_p;s4R+ z;PMpG5*rvN&l;i{^~&wKnEhT!S!LQ>udPzta#Hc9)S8EUHK=%x+z@iq!O{)*XM}aI zBJE)vokFFXTeG<2Pq}5Na+kKnu?Ch|YoxdPb&Z{07nq!yzj0=xjzZj@3XvwLF0}Pa zn;x^HW504NNfLY~w!}5>`z=e{nzGB>t4ntE>R}r7*hJF3OoEx}&6LvZz4``m{AZxC zz6V+^73YbuY>6i9ulu)2`ozP(XBY5n$!kiAE_Vf4}Ih)tlOjgF3HW|DF+q-jI_0p%6Voc^e;g28* z;Sr4X{n(X7eEnACWRGNsHqQ_OfWhAHwnSQ87@PvPcpa!xr9`9+{QRn;bh^jgO8q@v zLekO@-cdc&eOKsvXs-eMCH8Y{*~3Iy!+CANy+(WXYS&6XB$&1+tB?!qcL@@) zS7XQ|5=o1fr8yM7r1AyAD~c@Mo`^i~hjx{N17%pDX?j@2bdBEbxY}YZxz!h#)q^1x zpc_RnoC3`V?L|G2R1QbR6pI{Am?yW?4Gy`G-xBYfebXvZ=(nTD7u?OEw>;vQICdPJBmi~;xhVV zisVvnE!bxI5|@IIlDRolo_^tc1{m)XTbIX^<{TQfsUA1Wv(KjJED^nj`r!JjEA%MaEGqPB z9YVt~ol3%e`PaqjZt&-)Fl^NeGmZ)nbL;92cOeLM2H*r-zA@d->H5T_8_;Jut0Q_G zBM2((-VHy2&eNkztIpHk&1H3M3@&wvvU9+$RO%fSEa_d5-qZ!<`-5?L9lQ1@AEpo* z3}Zz~R6&^i9KfRM8WGc6fTFD%PGdruE}`X$tP_*A)_7(uI5{k|LYc-WY*%GJ6JMmw zNBT%^E#IhekpA(i zcB$!EB}#>{^=G%rQ~2;gbObT9PQ{~aVx_W6?(j@)S$&Ja1s}aLT%A*mP}NiG5G93- z_DaRGP77PzLv0s32{UFm##C2LsU!w{vHdKTM1X)}W%OyZ&{3d^2Zu-zw?fT=+zi*q z^fu6CXQ!i?=ljsqSUzw>g#PMk>(^#ejrYp(C)7+@Z1=Mw$Rw!l8c9}+$Uz;9NUO(kCd#A1DX4Lbis0k; z?~pO(;@I6Ajp}PL;&`3+;OVkr3A^dQ(j?`by@A!qQam@_5(w6fG>PvhO`#P(y~2ue zW1BH_GqUY&>PggMhhi@8kAY;XWmj>y1M@c`0v+l~l0&~Kd8ZSg5#46wTLPo*Aom-5 z>qRXyWl}Yda=e@hJ%`x=?I42(B0lRiR~w>n6p8SHN~B6Y>W(MOxLpv>aB)E<1oEcw z%X;#DJpeDaD;CJRLX%u!t23F|cv0ZaE183LXxMq*uWn)cD_ zp!@i5zsmcxb!5uhp^@>U;K>$B|8U@3$65CmhuLlZ2(lF#hHq-<<+7ZN9m3-hFAPgA zKi;jMBa*59ficc#TRbH_l`2r>z(Bm_XEY}rAwyp~c8L>{A<0@Q)j*uXns^q5z~>KI z)43=nMhcU1ZaF;CaBo>hl6;@(2#9yXZ7_BwS4u>gN%SBS<;j{{+p}tbD8y_DFu1#0 zx)h&?`_`=ti_6L>VDH3>PPAc@?wg=Omdoip5j-2{$T;E9m)o2noyFW$5dXb{9CZ?c z);zf3U526r3Fl+{82!z)aHkZV6GM@%OKJB5mS~JcDjieFaVn}}M5rtPnHQVw0Stn- zEHs_gqfT8(0b-5ZCk1%1{QQaY3%b>wU z7lyE?lYGuPmB6jnMI6s$1uxN{Tf_n7H~nKu+h7=%60WK-C&kEIq_d4`wU(*~rJsW< zo^D$-(b0~uNVgC+$J3MUK)(>6*k?92mLgpod{Pd?{os+yHr&t+9ZgM*9;dCQBzE!V zk6e6)9U6Bq$^_`E1xd}d;5O8^6?@bK>QB&7l{vAy^P6FOEO^l7wK4K=lLA45gQ3$X z=$N{GR1{cxO)j;ZxKI*1kZIT9p>%FhoFbRK;M(m&bL?SaN zzkZS9xMf={o@gpG%wE857u@9dq>UKvbaM1SNtMA9EFOp7$BjJQVkIm$wU?-yOOs{i z1^(E(WwZZG{_#aIzfpGc@g5-AtK^?Q&vY#CtVpfLbW?g0{BEX4Vlk(`AO1{-D@31J zce}#=$?Gq+FZG-SD^z)-;wQg9`qEO}Dvo+S9*PUB*JcU)@S;UVIpN7rOqXmEIerWo zP_lk!@RQvyds&zF$Rt>N#_=!?5{XI`Dbo0<@>fIVgcU*9Y+ z)}K(Y&fdgve3ruT{WCNs$XtParmvV;rjr&R(V&_#?ob1LzO0RW3?8_kSw)bjom#0; zeNllfz(HlOJw012B}rgCUF5o|Xp#HLC~of%lg+!pr(g^n;wCX@Yk~SQOss!j9f(KL zDiI1h#k{po=Irl)8N*KU*6*n)A8&i9Wf#7;HUR^5*6+Bzh;I*1cICa|`&`e{pgrdc zs}ita0AXb$c6{tu&hxmT0faMG0GFc)unG8tssRJd%&?^62!_h_kn^HU_kBgp$bSew zqu)M3jTn;)tipv9Wt4Ll#1bmO2n?^)t^ZPxjveoOuK89$oy4(8Ujw{nd*Rs*<+xFi z{k*9v%sl?wS{aBSMMWdazhs0#gX9Has=pi?DhG&_0|cIyRG7c`OBiVG6W#JjYf7-n zIQU*Jc+SYnI8oG^Q8So9SP_-w;Y00$p5+LZ{l+81>v7|qa#Cn->312n=YQd$PaVz8 zL*s?ZU*t-RxoR~4I7e^c!8TA4g>w@R5F4JnEWJpy>|m5la2b#F4d*uoz!m=i1;`L` zB(f>1fAd~;*wf%GEbE8`EA>IO9o6TdgbIC%+en!}(C5PGYqS0{pa?PD)5?ds=j9{w za9^@WBXMZ|D&(yfc~)tnrDd#*;u;0?8=lh4%b-lFPR3ItwVJp};HMdEw#SXg>f-zU zEiaj5H=jzRSy(sWVd%hnLZE{SUj~$xk&TfheSch#23)YTcjrB+IVe0jJqsdz__n{- zC~7L`DG}-Dgrinzf7Jr)e&^tdQ}8v7F+~eF*<`~Vph=MIB|YxNEtLo1jXt#9#UG5` zQ$OSk`u!US+Z!=>dGL>%i#uV<5*F?pivBH@@1idFrzVAzttp5~>Y?D0LV;8Yv`wAa{hewVjlhhBM z_mJhU9yWz9Jexg@G~dq6EW5^nDXe(sU^5{}qbd0*yW2Xq6G37f8{{X&Z>G~dUGDFu zgmsDDZZ5ZmtiBw58CERFPrEG>*)*`_B75!MDsOoK`T1aJ4GZ1avI?Z3OX|Hg?P(xy zSPgO$alKZuXd=pHP6UZy0G>#BFm(np+dekv0l6gd=36FijlT8^kI5; zw?Z*FPsibF2d9T$_L@uX9iw*>y_w9HSh8c=Rm}f>%W+8OS=Hj_wsH-^actull3c@!z@R4NQ4qpytnwMaY z)>!;FUeY?h2N9tD(othc7Q=(dF zZAX&Y1ac1~0n(z}!9{J2kPPnru1?qteJPvA2m!@3Zh%+f1VQt~@leK^$&ZudOpS!+ zw#L0usf!?Df1tB?9=zPZ@q2sG!A#9 zKZL`2cs%|Jf}wG=_rJkwh|5Idb;&}z)JQuMVCZSH9kkG%zvQO01wBN)c4Q`*xnto3 zi7TscilQ>t_SLij{@Fepen*a(`upw#RJAx|JYYXvP1v8f)dTHv9pc3ZUwx!0tOH?c z^Hn=gfjUyo!;+3vZhxNE?LJgP`qYJ`J)umMXT@b z{nU(a^xFfofcxfHN-!Jn*{Dp5NZ&i9#9r{)s^lUFCzs5LQL9~HgxvmU#W|iNs0<3O z%Y2FEgvts4t({%lfX1uJ$w{JwfpV|HsO{ZDl2|Q$-Q?UJd`@SLBsMKGjFFrJ(s?t^ z2Llf`deAe@YaGJf)k2e&ryg*m8R|pcjct@rOXa=64#V9!sp=6tC#~QvYh&M~zmJ;% zr*A}V)Ka^3JE!1pcF5G}b&jdrt;bM^+J;G^#R08x@{|ZWy|547&L|k6)HLG|sN<~o z?y`%kbfRN_vc}pwS!Zr}*q6DG7;be0qmxn)eOcD%s3Wk`=@GM>U3ojhAW&WRppi0e zudTj{ufwO~H7izZJmLJD3uPHtjAJvo6H=)&SJ_2%qRRECN#HEU_RGa(Pefk*HIvOH zW7{=Tt(Q(LZ6&WX_Z9vpen}jqge|wCCaLYpiw@f_%9+-!l{kYi&gT@Cj#D*&rz1%e z@*b1W13bN8^j7IpAi$>`_0c!aVzLe*01DY-AcvwE;kW}=Z{3RJLR|O~^iOS(dNEnL zJJ?Dv^ab++s2v!4Oa_WFDLc4fMspglkh;+vzg)4;LS{%CR*>VwyP4>1Tly+!fA-k? z6$bg!*>wKtg!qGO6GQ=cAmM_RC&hKg$~(m2LdP{{*M+*OVf07P$OHp*4SSj9H;)1p z^b1_4p4@C;8G7cBCB6XC{i@vTB3#55iRBZiml^jc4sYnepCKUD+~k}TiuA;HWC6V3 zV{L5uUAU9CdoU+qsFszEwp;@d^!6XnX~KI|!o|=r?qhs`(-Y{GfO4^d6?8BC0xonf zKtZc1C@dNu$~+p#m%JW*J7alfz^$x`U~)1{c7svkIgQ3~RK2LZ5;2TAx=H<4AjC8{ z;)}8OfkZy7pSzVsdX|wzLe=SLg$W1+`Isf=o&}npxWdVR(i8Rr{uzE516a@28VhVr zVgZ3L&X(Q}J0R2{V(}bbNwCDD5K)<5h9CLM*~!xmGTl{Mq$@;~+|U*O#nc^oHnFOy z9Kz%AS*=iTBY_bSZAAY6wXCI?EaE>8^}WF@|}O@I#i69ljjWQPBJVk zQ_rt#J56_wGXiyItvAShJpLEMtW_)V5JZAuK#BAp6bV3K;IkS zK0AL(3ia99!vUPL#j>?<>mA~Q!mC@F-9I$9Z!96ZCSJO8FDz1SP3gF~m`1c#y!efq8QN}eHd+BHwtm%M5586jlU8&e!CmOC z^N_{YV$1`II$~cTxt*dV{-yp61nUuX5z?N8GNBuZZR}Uy_Y3_~@Y3db#~-&0TX644OuG^D3w_`?Yci{gTaPWST8`LdE)HK5OYv>a=6B%R zw|}>ngvSTE1rh`#1Rey0?LXTq;bCIy>TKm^CTV4BCSqdpx1pzC3^ca*S3fUBbKMzF z6X%OSdtt50)yJw*V_HE`hnBA)1yVN3Ruq3l@lY;%Bu+Q&hYLf_Z@fCUVQY-h4M3)- zE_G|moU)Ne0TMjhg?tscN7#ME6!Rb+y#Kd&-`!9gZ06o3I-VX1d4b1O=bpRG-tDK0 zSEa9y46s7QI%LmhbU3P`RO?w#FDM(}k8T`&>OCU3xD=s5N7}w$GntXF;?jdVfg5w9OR8VPxp5{uw zD+_;Gb}@7Vo_d3UV7PS65%_pBUeEwX_Hwfe2e6Qmyq$%0i8Ewn%F7i%=CNEV)Qg`r|&+$ zP6^Vl(MmgvFq`Zb715wYD>a#si;o+b4j^VuhuN>+sNOq6Qc~Y;Y=T&!Q4>(&^>Z6* zwliz!_16EDLTT;v$@W(s7s0s zi*%p>q#t)`S4j=Ox_IcjcllyT38C4hr&mlr6qX-c;qVa~k$MG;UqdnzKX0wo0Xe-_)b zrHu1&21O$y5828UIHI@N;}J@-9cpxob}zqO#!U%Q*ybZ?BH#~^fOT_|8&xAs_rX24 z^nqn{UWqR?MlY~klh)#Rz-*%&e~9agOg*fIN`P&v!@gcO25Mec23}PhzImkdwVT|@ zFR9dYYmf&HiUF4xO9@t#u=uTBS@k*97Z!&hu@|xQnQDkLd!*N`!0JN7{EUoH%OD85 z@aQ2(w-N)1_M{;FV)C#(a4p!ofIA3XG(XZ2E#%j_(=`IWlJAHWkYM2&(+yY|^2TB0 z>wfC-+I}`)LFOJ%KeBb1?eNxGKeq?AI_eBE!M~$wYR~bB)J3=WvVlT8ZlF2EzIFZt zkaeyj#vmBTGkIL9mM3cEz@Yf>j=82+KgvJ-u_{bBOxE5zoRNQW3+Ahx+eMGem|8xo zL3ORKxY_R{k=f~M5oi-Z>5fgqjEtzC&xJEDQ@`<)*Gh3UsftBJno-y5Je^!D?Im{j za*I>RQ=IvU@5WKsIr?kC$DT+2bgR>8rOf3mtXeMVB~sm%X7W5`s=Tp>FR544tuQ>9qLt|aUSv^io&z93luW$_OYE^sf8DB?gx z4&k;dHMWph>Z{iuhhFJr+PCZ#SiZ9e5xM$A#0yPtVC>yk&_b9I676n|oAH?VeTe*1 z@tDK}QM-%J^3Ns6=_vh*I8hE?+=6n9nUU`}EX|;Mkr?6@NXy8&B0i6h?7%D=%M*Er zivG61Wk7e=v;<%t*G+HKBqz{;0Biv7F+WxGirONRxJij zon5~(a`UR%uUzfEma99QGbIxD(d}~oa|exU5Y27#4k@N|=hE%Y?Y3H%rcT zHmNO#ZJ7nPHRG#y-(-FSzaZ2S{`itkdYY^ZUvyw<7yMBkNG+>$Rfm{iN!gz7eASN9-B3g%LIEyRev|3)kSl;JL zX7MaUL_@~4ot3$woD0UA49)wUeu7#lj77M4ar8+myvO$B5LZS$!-ZXw3w;l#0anYz zDc_RQ0Ome}_i+o~H=CkzEa&r~M$1GC!-~WBiHiDq9Sdg{m|G?o7g`R%f(Zvby5q4; z=cvn`M>RFO%i_S@h3^#3wImmWI4}2x4skPNL9Am{c!WxR_spQX3+;fo!y(&~Palyjt~Xo0uy6d%sX&I`e>zv6CRSm)rc^w!;Y6iVBb3x@Y=`hl9jft zXm5vilB4IhImY5b->x{!MIdCermpyLbsalx8;hIUia%*+WEo4<2yZ6`OyG1Wp%1s$ zh<|KrHMv~XJ9dC8&EXJ`t3ETz>a|zLMx|MyJE54RU(@?K&p2d#x?eJC*WKO9^d17# zdTTKx-Os3k%^=58Sz|J28aCJ}X2-?YV3T7ee?*FoDLOC214J4|^*EX`?cy%+7Kb3(@0@!Q?p zk>>6dWjF~y(eyRPqjXqDOT`4^Qv-%G#Zb2G?&LS-EmO|ixxt79JZlMgd^~j)7XYQ; z62rGGXA=gLfgy{M-%1gR87hbhxq-fL)GSfEAm{yLQP!~m-{4i_jG*JsvUdqAkoc#q6Yd&>=;4udAh#?xa2L z7mFvCjz(hN7eV&cyFb%(U*30H@bQ8-b7mkm!=wh2|;+_4vo=tyHPQ0hL=NR`jbsSiBWtG ztMPPBgHj(JTK#0VcP36Z`?P|AN~ybm=jNbU=^3dK=|rLE+40>w+MWQW%4gJ`>K!^- zx4kM*XZLd(E4WsolMCRsdvTGC=37FofIyCZCj{v3{wqy4OXX-dZl@g`Dv>p2`l|H^ zS_@(8)7gA62{Qfft>vx71stILMuyV4uKb7BbCstG@|e*KWl{P1$=1xg(7E8MRRCWQ1g)>|QPAZot~|FYz_J0T+r zTWTB3AatKyUsTXR7{Uu) z$1J5SSqoJWt(@@L5a)#Q6bj$KvuC->J-q1!nYS6K5&e7vNdtj- zj9;qwbODLgIcObqNRGs1l{8>&7W?BbDd!87=@YD75B2ep?IY|gE~t)$`?XJ45MG@2 zz|H}f?qtEb_p^Xs$4{?nA=Qko3Lc~WrAS`M%9N60FKqL7XI+v_5H-UDiCbRm`fEmv z$pMVH*#@wQqml~MZe+)e4Ts3Gl^!Z0W3y$;|9hI?9(iw29b7en0>Kt2pjFXk@!@-g zTb4}Kw!@u|V!wzk0|qM*zj$*-*}e*ZXs#Y<6E_!BR}3^YtjI_byo{F+w9H9?f%mnBh(uE~!Um7)tgp2Ye;XYdVD95qt1I-fc@X zXHM)BfJ?^g(s3K|{N8B^hamrWAW|zis$`6|iA>M-`0f+vq(FLWgC&KnBDsM)_ez1# zPCTfN8{s^K`_bum2i5SWOn)B7JB0tzH5blC?|x;N{|@ch(8Uy-O{B2)OsfB$q0@FR z27m3YkcVi$KL;;4I*S;Z#6VfZcZFn!D2Npv5pio)sz-`_H*#}ROd7*y4i(y(YlH<4 zh4MmqBe^QV_$)VvzWgMXFy`M(vzyR2u!xx&%&{^*AcVLrGa8J9ycbynjKR~G6zC0e zlEU>zt7yQtMhz>XMnz>ewXS#{Bulz$6HETn?qD5v3td>`qGD;Y8&RmkvN=24=^6Q@DYY zxMt}uh2cSToMkkIWo1_Lp^FOn$+47JXJ*#q=JaeiIBUHEw#IiXz8cStEsw{UYCA5v_%cF@#m^Y!=+qttuH4u}r6gMvO4EAvjBURtLf& z6k!C|OU@hv_!*qear3KJ?VzVXDKqvKRtugefa7^^MSWl0fXXZR$Xb!b6`eY4A1#pk zAVoZvb_4dZ{f~M8fk3o?{xno^znH1t;;E6K#9?erW~7cs%EV|h^K>@&3Im}c7nm%Y zbLozFrwM&tSNp|46)OhP%MJ(5PydzR>8)X%i3!^L%3HCoCF#Y0#9vPI5l&MK*_ z6G8Y>$`~c)VvQle_4L_AewDGh@!bKkJeEs_NTz(yilnM!t}7jz>fmJb89jQo6~)%% z@GNIJ@AShd&K%UdQ5vR#yT<-goR+D@Tg;PuvcZ*2AzSWN&wW$Xc+~vW)pww~O|6hL zBxX?hOyA~S;3rAEfI&jmMT4f!-eVm%n^KF_QT=>!A<5tgXgi~VNBXqsFI(iI$Tu3x0L{<_-%|HMG4Cn?Xs zq~fvBhu;SDOCD7K5(l&i7Py-;Czx5byV*3y%#-Of9rtz?M_owXc2}$OIY~)EZ&2?r zLQ(onz~I7U!w?B%LtfDz)*X=CscqH!UE=mO?d&oYvtj|(u)^yomS;Cd>Men|#2yuD zg&tf(*iSHyo;^A03p&_j*QXay9d}qZ0CgU@rnFNDIT5xLhC5_tlugv()+w%`7;ICf z>;<#L4m@{1}Og76*e zHWFm~;n@B1GqO8s%=qu)+^MR|jp(ULUOi~v;wE8SB6^mK@adSb=o+A_>Itjn13AF& zDZe+wUF9G!JFv|dpj1#d+}BO~s*QTe3381TxA%Q>P*J#z%( z5*8N^QWxgF73^cTKkkvgvIzf*cLEyyKw)Wf{#$n{uS#(rAA~>TS#!asqQ2m_izXe3 z7$Oh=rR;sdmVx3G)s}eImsb<@r2~5?vcw*Q4LU~FFh!y4r*>~S7slAE6)W3Up2OHr z2R)+O<0kKo<3+5vB}v!lB*`%}gFldc+79iahqEx#&Im@NCQU$@PyCZbcTt?K{;o@4 z312O9GB)?X&wAB}*-NEU zn@6`)G`FhT8O^=Cz3y+XtbwO{5+{4-&?z!esFts-C zypwgI^4#tZ74KC+_IW|E@kMI=1pSJkvg$9G3Va(!reMnJ$kcMiZ=30dTJ%(Ws>eUf z;|l--TFDqL!PZbLc_O(XP0QornpP;!)hdT#Ts7tZ9fcQeH&rhP_1L|Z_ha#JOroe^qcsLi`+AoBWHPM7}gD z+mHuPXd14M?nkp|nu9G8hPk;3=JXE-a204Fg!BK|$MX`k-qPeD$2OOqvF;C(l8wm13?>i(pz7kRyYm zM$IEzf`$}B%ezr!$(UO#uWExn%nTCTIZzq&8@i8sP#6r8 z*QMUzZV(LEWZb)wbmf|Li;UpiP;PlTQ(X4zreD`|`RG!7_wc6J^MFD!A=#K*ze>Jg z?9v?p(M=fg_VB0+c?!M$L>5FIfD(KD5ku*djwCp+5GVIs9^=}kM2RFsxx0_5DE%BF zykxwjWvs=rbi4xKIt!z$&v(`msFrl4n>a%NO_4`iSyb!UiAE&mDa+apc zPe)#!ToRW~rqi2e1bdO1RLN5*uUM@{S`KLJhhY-@TvC&5D(c?a(2$mW-&N%h5IfEM zdFI6`6KJiJQIHvFiG-34^BtO3%*$(-Ht_JU*(KddiUYoM{coadlG&LVvke&*p>Cac z^BPy2Zteiq1@ulw0e)e*ot7@A$RJui0$l^{lsCt%R;$){>zuRv9#w@;m=#d%%TJmm zC#%eFOoy$V)|3*d<OC1iP+4R7D z8FE$E8l2Y?(o-i6wG=BKBh0-I?i3WF%hqdD7VCd;vpk|LFP!Et8$@voH>l>U8BY`Q zC*G;&y6|!p=7`G$*+hxCv!@^#+QD3m>^azyZoLS^;o_|plQaj-wx^ zRV&$HcY~p)2|Zqp0SYU?W3zV87s6JP-@D~$t0 zvd;-YL~JWc*8mtHz_s(cXus#XYJc5zdC=&!4MeZ;N3TQ>^I|Pd=HPjVP*j^45rs(n zzB{U4-44=oQ4rNN6@>qYVMH4|GmMIz#z@3UW-1_y#eNa+Q%(41oJ5i(DzvMO^%|?L z^r_+MZtw0DZ0=BT-@?hUtA)Ijk~Kh-N8?~X5%KnRH7cb!?Yrd8gtiEo!v{sGrQk{X zvV>h{8-DqTyuAxIE(hb}jMVtga$;FIrrKm>ye5t%M;p!jcH1(Bbux>4D#MVhgZGd> z=c=nVb%^9T?iDgM&9G(mV5xShc-lBLi*6RShenDqB%`-2;I*;IHg6>#ovKQ$M}dDb z<$USN%LMqa5_5DR7g7@(oAoQ%!~<1KSQr$rmS{UFQJs5&qBhgTEM_Y7|0Wv?fbP`z z)`8~=v;B)+>Jh`V*|$dTxKe`HTBkho^-!!K#@i{9FLn-XqX&fQcGsEAXp)BV7(`Lk zC{4&+Pe-0&<)C0kAa(MTnb|L;ZB5i|b#L1o;J)+?SV8T*U9$Vxhy}dm3%!A}SK9l_6(#5(e*>8|;4gNKk7o_%m_ zEaS=Z(ewk}hBJ>v`jtR=$pm_Wq3d&DU+6`BACU4%qdhH1o^m8hT2&j<4Z8!v=rMCk z-I*?48{2H*&+r<{2?wp$kh@L@=rj8c`EaS~J>W?)trc?zP&4bsNagS4yafuDoXpi5`!{BVqJ1$ZC3`pf$`LIZ(`0&Ik+!_Xa=NJW`R2 zd#Ntgwz`JVwC4A61$FZ&kP)-{T|rGO59`h#1enAa`cWxRR8bKVvvN6jBzAYePrc&5 z+*zr3en|LYB2>qJp479rEALk5d*X-dfKn6|kuNm;2-U2+P3_rma!nWjZQ-y*q3JS? zBE}zE-!1ZBR~G%v!$l#dZ*$UV4$7q}xct}=on+Ba8{b>Y9h*f-GW0D0o#vJ0%ALg( ztG2+AjWlG#d;myA(i&dh8Gp?y9HD@`CTaDAy?c&0unZ%*LbLIg4;m{Kc?)ws3^>M+ zt5>R)%KIJV*MRUg{0$#nW=Lj{#8?dD$yhjBOrAeR#4$H_Dc(eyA4dNjZEz1Xk+Bqt zB&pPl+?R{w8GPv%VI`x`IFOj320F1=cV4aq0(*()Tx!VVxCjua;)t}gTr=b?zY+U! zkb}xjXZ?hMJN{Hjw?w&?gz8Ow`htX z@}WG*_4<%ff8(!S6bf3)p+8h2!Rory>@aob$gY#fYJ=LiW0`+~l7GI%EX_=8 z{(;0&lJ%9)M9{;wty=XvHbIx|-$g4HFij`J$-z~`mW)*IK^MWVN+*>uTNqaDmi!M8 zurj6DGd)g1g(f`A-K^v)3KSOEoZXImXT06apJum-dO_%oR)z6Bam-QC&CNWh7kLOE zcxLdVjYLNO2V?IXWa-ys30Jbxw(Xm?U1{4kDs9`gZQHh8X{*w9=H&Zz&-6RL?uq#R zxN+k~JaL|gdsdvY_u6}}MHC?a@ElFeipA1Lud#M~)pp2SnG#K{a@tSpvXM;A8gz9> zRVDV5T1%%!LsNRDOw~LIuiAiKcj<%7WpgjP7G6mMU1#pFo6a-1>0I5ZdhxnkMX&#L z=Vm}?SDlb_LArobqpnU!WLQE*yVGWgs^4RRy4rrJwoUUWoA~ZJUx$mK>J6}7{CyC4 zv=8W)kKl7TmAnM%m;anEDPv5tzT{A{ON9#FPYF6c=QIc*OrPp96tiY&^Qs+#A1H>Y z<{XtWt2eDwuqM zQ_BI#UIP;2-olOL4LsZ`vTPv-eILtuB7oWosoSefWdM}BcP>iH^HmimR`G`|+9waCO z&M375o@;_My(qYvPNz;N8FBZaoaw3$b#x`yTBJLc8iIP z--la{bzK>YPP|@Mke!{Km{vT8Z4|#An*f=EmL34?!GJfHaDS#41j~8c5KGKmj!GTh&QIH+DjEI*BdbSS2~6VTt}t zhAwNQNT6%c{G`If3?|~Fp7iwee(LaUS)X9@I29cIb61} z$@YBq4hSplr&liE@ye!y&7+7n$fb+8nS~co#^n@oCjCwuKD61x$5|0ShDxhQES5MP z(gH|FO-s6#$++AxnkQR!3YMgKcF)!&aqr^a3^{gAVT`(tY9@tqgY7@ z>>ul3LYy`R({OY7*^Mf}UgJl(N7yyo$ag;RIpYHa_^HKx?DD`%Vf1D0s^ zjk#OCM5oSzuEz(7X`5u~C-Y~n4B}_3*`5B&8tEdND@&h;H{R`o%IFpIJ4~Kw!kUjehGT8W!CD7?d8sg_$KKp%@*dW)#fI1#R<}kvzBVpaog_2&W%c_jJfP` z6)wE+$3+Hdn^4G}(ymPyasc1<*a7s2yL%=3LgtZLXGuA^jdM^{`KDb%%}lr|ONDsl zy~~jEuK|XJ2y<`R{^F)Gx7DJVMvpT>gF<4O%$cbsJqK1;v@GKXm*9l3*~8^_xj*Gs z=Z#2VQ6`H@^~#5Pv##@CddHfm;lbxiQnqy7AYEH(35pTg^;u&J2xs-F#jGLuDw2%z z`a>=0sVMM+oKx4%OnC9zWdbpq*#5^yM;og*EQKpv`^n~-mO_vj=EgFxYnga(7jO?G z`^C87B4-jfB_RgN2FP|IrjOi;W9AM1qS}9W@&1a9Us>PKFQ9~YE!I~wTbl!m3$Th? z)~GjFxmhyyGxN}t*G#1^KGVXm#o(K0xJyverPe}mS=QgJ$#D}emQDw+dHyPu^&Uv> z4O=3gK*HLFZPBY|!VGq60Of6QrAdj`nj1h!$?&a;Hgaj{oo{l0P3TzpJK_q_eW8Ng zP6QF}1{V;xlolCs?pGegPoCSxx@bshb#3ng4Fkp4!7B0=&+1%187izf@}tvsjZ6{m z4;K>sR5rm97HJrJ`w}Y`-MZN$Wv2N%X4KW(N$v2@R1RkRJH2q1Ozs0H`@ zd5)X-{!{<+4Nyd=hQ8Wm3CCd}ujm*a?L79ztfT7@&(?B|!pU5&%9Rl!`i;suAg0+A zxb&UYpo-z}u6CLIndtH~C|yz&!OV_I*L;H#C7ie_5uB1fNRyH*<^d=ww=gxvE%P$p zRHKI{^{nQlB9nLhp9yj-so1is{4^`{Xd>Jl&;dX;J)#- z=fmE5GiV?-&3kcjM1+XG7&tSq;q9Oi4NUuRrIpoyp*Fn&nVNFdUuGQ_g)g>VzXGdneB7`;!aTUE$t* z5iH+8XPxrYl)vFo~+vmcU-2) zq!6R(T0SsoDnB>Mmvr^k*{34_BAK+I=DAGu){p)(ndZqOFT%%^_y;X(w3q-L``N<6 zw9=M zoQ8Lyp>L_j$T20UUUCzYn2-xdN}{e@$8-3vLDN?GbfJ>7*qky{n!wC#1NcYQr~d51 zy;H!am=EI#*S&TCuP{FA3CO)b0AAiN*tLnDbvKwxtMw-l;G2T@EGH)YU?-B`+Y=!$ zypvDn@5V1Tr~y~U0s$ee2+CL3xm_BmxD3w}d_Pd@S%ft#v~_j;6sC6cy%E|dJy@wj z`+(YSh2CrXMxI;yVy*=O@DE2~i5$>nuzZ$wYHs$y`TAtB-ck4fQ!B8a;M=CxY^Nf{ z+UQhn0jopOzvbl(uZZ1R-(IFaprC$9hYK~b=57@ zAJ8*pH%|Tjotzu5(oxZyCQ{5MAw+6L4)NI!9H&XM$Eui-DIoDa@GpNI=I4}m>Hr^r zZjT?xDOea}7cq+TP#wK1p3}sbMK{BV%(h`?R#zNGIP+7u@dV5#zyMau+w}VC1uQ@p zrFUjrJAx6+9%pMhv(IOT52}Dq{B9njh_R`>&j&5Sbub&r*hf4es)_^FTYdDX$8NRk zMi=%I`)hN@N9>X&Gu2RmjKVsUbU>TRUM`gwd?CrL*0zxu-g#uNNnnicYw=kZ{7Vz3 zULaFQ)H=7%Lm5|Z#k?<{ux{o4T{v-e zTLj?F(_qp{FXUzOfJxEyKO15Nr!LQYHF&^jMMBs z`P-}WCyUYIv>K`~)oP$Z85zZr4gw>%aug1V1A)1H(r!8l&5J?ia1x_}Wh)FXTxZUE zs=kI}Ix2cK%Bi_Hc4?mF^m`sr6m8M(n?E+k7Tm^Gn}Kf= zfnqoyVU^*yLypz?s+-XV5(*oOBwn-uhwco5b(@B(hD|vtT8y7#W{>RomA_KchB&Cd zcFNAD9mmqR<341sq+j+2Ra}N5-3wx5IZqg6Wmi6CNO#pLvYPGNER}Q8+PjvIJ42|n zc5r@T*p)R^U=d{cT2AszQcC6SkWiE|hdK)m{7ul^mU+ED1R8G#)#X}A9JSP_ubF5p z8Xxcl;jlGjPwow^p+-f_-a~S;$lztguPE6SceeUCfmRo=Qg zKHTY*O_ z;pXl@z&7hniVYVbGgp+Nj#XP^Aln2T!D*{(Td8h{8Dc?C)KFfjPybiC`Va?Rf)X>y z;5?B{bAhPtbmOMUsAy2Y0RNDQ3K`v`gq)#ns_C&ec-)6cq)d^{5938T`Sr@|7nLl; zcyewuiSUh7Z}q8iIJ@$)L3)m)(D|MbJm_h&tj^;iNk%7K-YR}+J|S?KR|29K?z-$c z<+C4uA43yfSWBv*%z=-0lI{ev`C6JxJ};A5N;lmoR(g{4cjCEn33 z-ef#x^uc%cM-f^_+*dzE?U;5EtEe;&8EOK^K}xITa?GH`tz2F9N$O5;)`Uof4~l+t z#n_M(KkcVP*yMYlk_~5h89o zlf#^qjYG8Wovx+f%x7M7_>@r7xaXa2uXb?_*=QOEe_>ErS(v5-i)mrT3&^`Oqr4c9 zDjP_6T&NQMD`{l#K&sHTm@;}ed_sQ88X3y`ON<=$<8Qq{dOPA&WAc2>EQ+U8%>yWR zK%(whl8tB;{C)yRw|@Gn4%RhT=bbpgMZ6erACc>l5^p)9tR`(2W-D*?Ph6;2=Fr|G- zdF^R&aCqyxqWy#P7#G8>+aUG`pP*ow93N=A?pA=aW0^^+?~#zRWcf_zlKL8q8-80n zqGUm=S8+%4_LA7qrV4Eq{FHm9#9X15%ld`@UKyR7uc1X*>Ebr0+2yCye6b?i=r{MPoqnTnYnq z^?HWgl+G&@OcVx4$(y;{m^TkB5Tnhx2O%yPI=r*4H2f_6Gfyasq&PN^W{#)_Gu7e= zVHBQ8R5W6j;N6P3O(jsRU;hkmLG(Xs_8=F&xh@`*|l{~0OjUVlgm z7opltSHg7Mb%mYamGs*v1-#iW^QMT**f+Nq*AzIvFT~Ur3KTD26OhIw1WQsL(6nGg znHUo-4e15cXBIiyqN};5ydNYJ6zznECVVR44%(P0oW!yQ!YH)FPY?^k{IrtrLo7Zo`?sg%%oMP9E^+H@JLXicr zi?eoI?LODRPcMLl90MH32rf8btf69)ZE~&4d%(&D{C45egC6bF-XQ;6QKkbmqW>_H z{86XDZvjiN2wr&ZPfi;^SM6W+IP0);50m>qBhzx+docpBkkiY@2bSvtPVj~E`CfEu zhQG5G>~J@dni5M5Jmv7GD&@%UR`k3ru-W$$onI259jM&nZ)*d3QFF?Mu?{`+nVzkx z=R*_VH=;yeU?9TzQ3dP)q;P)4sAo&k;{*Eky1+Z!10J<(cJC3zY9>bP=znA=<-0RR zMnt#<9^X7BQ0wKVBV{}oaV=?JA=>R0$az^XE%4WZcA^Em>`m_obQyKbmf-GA;!S-z zK5+y5{xbkdA?2NgZ0MQYF-cfOwV0?3Tzh8tcBE{u%Uy?Ky4^tn^>X}p>4&S(L7amF zpWEio8VBNeZ=l!%RY>oVGOtZh7<>v3?`NcHlYDPUBRzgg z0OXEivCkw<>F(>1x@Zk=IbSOn+frQ^+jI*&qdtf4bbydk-jgVmLAd?5ImK+Sigh?X zgaGUlbf^b-MH2@QbqCawa$H1Vb+uhu{zUG9268pa{5>O&Vq8__Xk5LXDaR1z$g;s~;+Ae82wq#l;wo08tX(9uUX6NJWq1vZLh3QbP$# zL`udY|Qp*4ER`_;$%)2 zmcJLj|FD`(;ts0bD{}Ghq6UAVpEm#>j`S$wHi0-D_|)bEZ}#6) zIiqH7Co;TB`<6KrZi1SF9=lO+>-_3=Hm%Rr7|Zu-EzWLSF{9d(H1v*|UZDWiiqX3} zmx~oQ6%9~$=KjPV_ejzz7aPSvTo+3@-a(OCCoF_u#2dHY&I?`nk zQ@t8#epxAv@t=RUM09u?qnPr6=Y5Pj;^4=7GJ`2)Oq~H)2V)M1sC^S;w?hOB|0zXT zQdf8$)jslO>Q}(4RQ$DPUF#QUJm-k9ysZFEGi9xN*_KqCs9Ng(&<;XONBDe1Joku? z*W!lx(i&gvfXZ4U(AE@)c0FI2UqrFLOO$&Yic|`L;Vyy-kcm49hJ^Mj^H9uY8Fdm2 z?=U1U_5GE_JT;Tx$2#I3rAAs(q@oebIK=19a$N?HNQ4jw0ljtyGJ#D}z3^^Y=hf^Bb--297h6LQxi0-`TB|QY2QPg92TAq$cEQdWE ze)ltSTVMYe0K4wte6;^tE+^>|a>Hit_3QDlFo!3Jd`GQYTwlR#{<^MzG zK!vW&))~RTKq4u29bc<+VOcg7fdorq-kwHaaCQe6tLB{|gW1_W_KtgOD0^$^|`V4C# z*D_S9Dt_DIxpjk3my5cBFdiYaq||#0&0&%_LEN}BOxkb3v*d$4L|S|z z!cZZmfe~_Y`46v=zul=aixZTQCOzb(jx>8&a%S%!(;x{M2!*$od2!Pwfs>RZ-a%GOZdO88rS)ZW~{$656GgW)$Q=@!x;&Nn~!K)lr4gF*%qVO=hlodHA@2)keS2 zC}7O=_64#g&=zY?(zhzFO3)f5=+`dpuyM!Q)zS&otpYB@hhn$lm*iK2DRt+#1n|L%zjM}nB*$uAY^2JIw zV_P)*HCVq%F))^)iaZD#R9n^{sAxBZ?Yvi1SVc*`;8|F2X%bz^+s=yS&AXjysDny)YaU5RMotF-tt~FndTK ziRve_5b!``^ZRLG_ks}y_ye0PKyKQSsQCJuK5()b2ThnKPFU?An4;dK>)T^4J+XjD zEUsW~H?Q&l%K4<1f5^?|?lyCQe(O3?!~OU{_Wxs#|Ff8?a_WPQUKvP7?>1()Cy6oLeA zjEF^d#$6Wb${opCc^%%DjOjll%N2=GeS6D-w=Ap$Ux2+0v#s#Z&s6K*)_h{KFfgKjzO17@p1nKcC4NIgt+3t}&}F z@cV; zZ1r#~?R@ZdSwbFNV(fFl2lWI(Zf#nxa<6f!nBZD>*K)nI&Fun@ngq@Ge!N$O< zySt*mY&0moUXNPe~Fg=%gIu)tJ;asscQ!-AujR@VJBRoNZNk;z4hs4T>Ud!y=1NwGs-k zlTNeBOe}=)Epw=}+dfX;kZ32h$t&7q%Xqdt-&tlYEWc>>c3(hVylsG{Ybh_M8>Cz0ZT_6B|3!_(RwEJus9{;u-mq zW|!`{BCtnao4;kCT8cr@yeV~#rf76=%QQs(J{>Mj?>aISwp3{^BjBO zLV>XSRK+o=oVDBnbv?Y@iK)MiFSl{5HLN@k%SQZ}yhPiu_2jrnI?Kk?HtCv>wN$OM zSe#}2@He9bDZ27hX_fZey=64#SNU#1~=icK`D>a;V-&Km>V6ZdVNj7d2 z-NmAoOQm_aIZ2lXpJhlUeJ95eZt~4_S zIfrDs)S$4UjyxKSaTi#9KGs2P zfSD>(y~r+bU4*#|r`q+be_dopJzKK5JNJ#rR978ikHyJKD>SD@^Bk$~D0*U38Y*IpYcH>aaMdZq|YzQ-Ixd(_KZK!+VL@MWGl zG!k=<%Y-KeqK%``uhx}0#X^@wS+mX@6Ul@90#nmYaKh}?uw>U;GS4fn3|X%AcV@iY z8v+ePk)HxSQ7ZYDtlYj#zJ?5uJ8CeCg3efmc#|a%2=u>+vrGGRg$S@^mk~0f;mIu! zWMA13H1<@hSOVE*o0S5D8y=}RiL#jQpUq42D}vW$z*)VB*FB%C?wl%(3>ANaY)bO@ zW$VFutemwy5Q*&*9HJ603;mJJkB$qp6yxNOY0o_4*y?2`qbN{m&*l{)YMG_QHXXa2 z+hTmlA;=mYwg{Bfusl zyF&}ib2J;#q5tN^e)D62fWW*Lv;Rnb3GO-JVtYG0CgR4jGujFo$Waw zSNLhc{>P~>{KVZE1Vl1!z)|HFuN@J7{`xIp_)6>*5Z27BHg6QIgqLqDJTmKDM+ON* zK0Fh=EG`q13l z+m--9UH0{ZGQ%j=OLO8G2WM*tgfY}bV~>3Grcrpehjj z6Xe<$gNJyD8td3EhkHjpKk}7?k55Tu7?#;5`Qcm~ki;BeOlNr+#PK{kjV>qfE?1No zMA07}b>}Dv!uaS8Hym0TgzxBxh$*RX+Fab6Gm02!mr6u}f$_G4C|^GSXJMniy^b`G z74OC=83m0G7L_dS99qv3a0BU({t$zHQsB-RI_jn1^uK9ka_%aQuE2+~J2o!7`735Z zb?+sTe}Gd??VEkz|KAPMfj(1b{om89p5GIJ^#Aics_6DD%WnNGWAW`I<7jT|Af|8g zZA0^)`p8i#oBvX2|I&`HC8Pn&0>jRuMF4i0s=}2NYLmgkZb=0w9tvpnGiU-gTUQhJ zR6o4W6ZWONuBZAiN77#7;TR1^RKE(>>OL>YU`Yy_;5oj<*}ac99DI(qGCtn6`949f ziMpY4k>$aVfffm{dNH=-=rMg|u?&GIToq-u;@1-W&B2(UOhC-O2N5_px&cF-C^tWp zXvChm9@GXEcxd;+Q6}u;TKy}$JF$B`Ty?|Y3tP$N@Rtoy(*05Wj-Ks32|2y2ZM>bM zi8v8E1os!yorR!FSeP)QxtjIKh=F1ElfR8U7StE#Ika;h{q?b?Q+>%78z^>gTU5+> zxQ$a^rECmETF@Jl8fg>MApu>btHGJ*Q99(tMqsZcG+dZ6Yikx7@V09jWCiQH&nnAv zY)4iR$Ro223F+c3Q%KPyP9^iyzZsP%R%-i^MKxmXQHnW6#6n7%VD{gG$E;7*g86G< zu$h=RN_L2(YHO3@`B<^L(q@^W_0#U%mLC9Q^XEo3LTp*~(I%?P_klu-c~WJxY1zTI z^PqntLIEmdtK~E-v8yc&%U+jVxW5VuA{VMA4Ru1sk#*Srj0Pk#tZuXxkS=5H9?8eb z)t38?JNdP@#xb*yn=<*_pK9^lx%;&yH6XkD6-JXgdddZty8@Mfr9UpGE!I<37ZHUe z_Rd+LKsNH^O)+NW8Ni-V%`@J_QGKA9ZCAMSnsN>Ych9VW zCE7R_1FVy}r@MlkbxZ*TRIGXu`ema##OkqCM9{wkWQJg^%3H${!vUT&vv2250jAWN zw=h)C!b2s`QbWhBMSIYmWqZ_~ReRW;)U#@C&ThctSd_V!=HA=kdGO-Hl57an|M1XC?~3f0{7pyjWY}0mChU z2Fj2(B*r(UpCKm-#(2(ZJD#Y|Or*Vc5VyLpJ8gO1;fCm@EM~{DqpJS5FaZ5%|ALw) zyumBl!i@T57I4ITCFmdbxhaOYud}i!0YkdiNRaQ%5$T5>*HRBhyB~<%-5nj*b8=i= z(8g(LA50%0Zi_eQe}Xypk|bt5e6X{aI^jU2*c?!p*$bGk=?t z+17R){lx~Z{!B34Zip~|A;8l@%*Gc}kT|kC0*Ny$&fI3@%M! zqk_zvN}7bM`x@jqFOtaxI?*^Im5ix@=`QEv;__i;Tek-&7kGm6yP17QANVL>*d0B=4>i^;HKb$k8?DYFMr38IX4azK zBbwjF%$>PqXhJh=*7{zH5=+gi$!nc%SqFZlwRm zmpctOjZh3bwt!Oc>qVJhWQf>`HTwMH2ibK^eE*j!&Z`-bs8=A`Yvnb^?p;5+U=Fb8 z@h>j_3hhazd$y^Z-bt%3%E3vica%nYnLxW+4+?w{%|M_=w^04U{a6^22>M_?{@mXP zS|Qjcn4&F%WN7Z?u&I3fU(UQVw4msFehxR*80dSb=a&UG4zDQp&?r2UGPy@G?0FbY zVUQ?uU9-c;f9z06$O5FO1TOn|P{pLcDGP?rfdt`&uw|(Pm@$n+A?)8 zP$nG(VG&aRU*(_5z#{+yVnntu`6tEq>%9~n^*ao}`F6ph_@6_8|AfAXtFfWee_14` zKKURYV}4}=UJmxv7{RSz5QlwZtzbYQs0;t3?kx*7S%nf-aY&lJ@h?-BAn%~0&&@j) zQd_6TUOLXErJ`A3vE?DJIbLE;s~s%eVt(%fMzUq^UfZV9c?YuhO&6pwKt>j(=2CkgTNEq7&c zfeGN+%5DS@b9HO>zsoRXv@}(EiA|t5LPi}*R3?(-=iASADny<{D0WiQG>*-BSROk4vI6%$R>q64J&v-T+(D<_(b!LD z9GL;DV;;N3!pZYg23mcg81tx>7)=e%f|i{6Mx0GczVpc}{}Mg(W_^=Wh0Rp+xXgX` z@hw|5=Je&nz^Xa>>vclstYt;8c2PY)87Ap;z&S&`yRN>yQVV#K{4&diVR7Rm;S{6m z6<+;jwbm`==`JuC6--u6W7A@o4&ZpJV%5+H)}toy0afF*!)AaG5=pz_i9}@OG%?$O z2cec6#@=%xE3K8;^ps<2{t4SnqH+#607gAHP-G4^+PBiC1s>MXf&bQ|Pa;WBIiErV z?3VFpR9JFl9(W$7p3#xe(Bd?Z93Uu~jHJFo7U3K_x4Ej-=N#=a@f;kPV$>;hiN9i9 z<6elJl?bLI$o=|d6jlihA4~bG;Fm2eEnlGxZL`#H%Cdes>uJfMJ4>@1SGGeQ81DwxGxy7L5 zm05Ik*WpSgZvHh@Wpv|2i|Y#FG?Y$hbRM5ZF0Z7FB3cY0+ei#km9mDSPI}^!<<`vr zuv$SPg2vU{wa)6&QMY)h1hbbxvR2cc_6WcWR`SH& z&KuUQcgu}!iW2Wqvp~|&&LSec9>t(UR_|f$;f-fC&tSO-^-eE0B~Frttnf+XN(#T) z^PsuFV#(pE#6ztaI8(;ywN%CtZh?w&;_)w_s@{JiA-SMjf&pQk+Bw<}f@Q8-xCQMwfaf zMgHsAPU=>>Kw~uDFS(IVRN{$ak(SV(hrO!UqhJ?l{lNnA1>U24!=>|q_p404Xd>M# z7?lh^C&-IfeIr`Dri9If+bc%oU0?|Rh8)%BND5;_9@9tuM)h5Kcw6}$Ca7H_n)nOf0pd`boCXItb`o11 zb`)@}l6I_h>n+;`g+b^RkYs7;voBz&Gv6FLmyvY|2pS)z#P;t8k;lS>49a$XeVDc4 z(tx2Pe3N%Gd(!wM`E7WRBZy)~vh_vRGt&esDa0NCua)rH#_39*H0!gIXpd>~{rGx+ zJKAeXAZ-z5n=mMVqlM5Km;b;B&KSJlScD8n?2t}kS4Wf9@MjIZSJ2R?&=zQn zs_`=+5J$47&mP4s{Y{TU=~O_LzSrXvEP6W?^pz<#Y*6Fxg@$yUGp31d(h+4x>xpb< zH+R639oDST6F*0iH<9NHC^Ep*8D4-%p2^n-kD6YEI<6GYta6-I;V^ZH3n5}syTD=P z3b6z=jBsdP=FlXcUe@I|%=tY4J_2j!EVNEzph_42iO3yfir|Dh>nFl&Lu9!;`!zJB zCis9?_(%DI?$CA(00pkzw^Up`O;>AnPc(uE$C^a9868t$m?5Q)CR%!crI$YZpiYK6m= z!jv}82He`QKF;10{9@roL2Q7CF)OeY{~dBp>J~X#c-Z~{YLAxNmn~kWQW|2u!Yq00 zl5LKbzl39sVCTpm9eDW_T>Z{x@s6#RH|P zA~_lYas7B@SqI`N=>x50Vj@S)QxouKC(f6Aj zz}7e5e*5n?j@GO;mCYEo^Jp_*BmLt3!N)(T>f#L$XHQWzZEVlJo(>qH@7;c%fy zS-jm^Adju9Sm8rOKTxfTU^!&bg2R!7C_-t+#mKb_K?0R72%26ASF;JWA_prJ8_SVW zOSC7C&CpSrgfXRp8r)QK34g<~!1|poTS7F;)NseFsbwO$YfzEeG3oo!qe#iSxQ2S# z1=Fxc9J;2)pCab-9o-m8%BLjf(*mk#JJX3k9}S7Oq)dV0jG)SOMbw7V^Z<5Q0Cy$< z^U0QUVd4(96W03OA1j|x%{sd&BRqIERDb6W{u1p1{J(a;fd6lnWzjeS`d?L3-0#o7 z{Qv&L7!Tm`9|}u=|IbwS_jgH(_V@o`S*R(-XC$O)DVwF~B&5c~m!zl14ydT6sK+Ly zn+}2hQ4RTC^8YvrQ~vk$f9u=pTN{5H_yTOcza9SVE&nt_{`ZC8zkmFji=UyD`G4~f zUfSTR=Kju>6u+y&|Bylb*W&^P|8fvEbQH3+w*DrKq|9xMzq2OiZyM=;(?>~4+O|jn zC_Et05oc>e%}w4ye2Fm%RIR??VvofwZS-}BL@X=_4jdHp}FlMhW_IW?Zh`4$z*Wr!IzQHa3^?1|);~VaWmsIcmc6 zJs{k0YW}OpkfdoTtr4?9F6IX6$!>hhA+^y_y@vvA_Gr7u8T+i-< zDX(~W5W{8mfbbM-en&U%{mINU#Q8GA`byo)iLF7rMVU#wXXY`a3ji3m{4;x53216i z`zA8ap?>_}`tQj7-%$K78uR}R$|@C2)qgop$}o=g(jOv0ishl!E(R73N=i0~%S)6+ z1xFP7|H0yt3Z_Re*_#C2m3_X{=zi1C&3CM7e?9-Y5lCtAlA%RFG9PDD=Quw1dfYnZ zdUL)#+m`hKx@PT`r;mIx_RQ6Txbti+&;xQorP;$H=R2r)gPMO9>l+!p*Mt04VH$$M zSLwJ81IFjQ5N!S#;MyBD^IS`2n04kuYbZ2~4%3%tp0jn^**BZQ05ELp zY%yntZ=52s6U5Y93Aao)v~M3y?6h7mZcVGp63pK*d&!TRjW99rUU;@s#3kYB76Bs$|LRwkH>L!0Xe zE=dz1o}phhnOVYZFsajQsRA^}IYZnk9Wehvo>gHPA=TPI?2A`plIm8=F1%QiHx*Zn zi)*Y@)$aXW0v1J|#+R2=$ysooHZ&NoA|Wa}htd`=Eud!(HD7JlT8ug|yeBZmpry(W z)pS>^1$N#nuo3PnK*>Thmaxz4pLcY?PP2r3AlhJ7jw(TI8V#c}>Ym;$iPaw+83L+* z!_QWpYs{UWYcl0u z(&(bT0Q*S_uUX9$jC;Vk%oUXw=A-1I+!c18ij1CiUlP@pfP9}CHAVm{!P6AEJ(7Dn z?}u#}g`Q?`*|*_0Rrnu8{l4PP?yCI28qC~&zlwgLH2AkfQt1?B#3AOQjW&10%@@)Q zDG?`6$8?Nz(-sChL8mRs#3z^uOA>~G=ZIG*mgUibWmgd{a|Tn4nkRK9O^37E(()Q% zPR0#M4e2Q-)>}RSt1^UOCGuv?dn|IT3#oW_$S(YR+jxAzxCD_L25p_dt|^>g+6Kgj zJhC8n)@wY;Y7JI6?wjU$MQU|_Gw*FIC)x~^Eq1k41BjLmr}U>6#_wxP0-2Ka?uK14u5M-lAFSX$K1K{WH!M1&q}((MWWUp#Uhl#n_yT5dFs4X`>vmM& z*1!p0lACUVqp&sZG1GWATvZEENs^0_7Ymwem~PlFN3hTHVBv(sDuP;+8iH07a)s(# z%a7+p1QM)YkS7>kbo${k2N1&*%jFP*7UABJ2d||c!eSXWM*<4(_uD7;1XFDod@cT$ zP>IC%^fbC${^QrUXy$f)yBwY^g@}}kngZKa1US!lAa+D=G4wklukaY8AEW%GL zh40pnuv*6D>9`_e14@wWD^o#JvxYVG-~P)+<)0fW zP()DuJN?O*3+Ab!CP-tGr8S4;JN-Ye^9D%(%8d{vb_pK#S1z)nZzE^ezD&%L6nYbZ z*62>?u)xQe(Akd=e?vZbyb5)MMNS?RheZDHU?HK<9;PBHdC~r{MvF__%T)-9ifM#cR#2~BjVJYbA>xbPyl9yNX zX)iFVvv-lfm`d?tbfh^j*A|nw)RszyD<#e>llO8X zou=q3$1|M@Ob;F|o4H0554`&y9T&QTa3{yn=w0BLN~l;XhoslF-$4KGNUdRe?-lcV zS4_WmftU*XpP}*wFM^oKT!D%_$HMT#V*j;9weoOq0mjbl1271$F)`Q(C z76*PAw3_TE{vntIkd=|(zw)j^!@j ^tV@s0U~V+mu)vv`xgL$Z9NQLnuRdZ;95D|1)!0Aybwv}XCE#xz1k?ZC zxAU)v@!$Sm*?)t2mWrkevNFbILU9&znoek=d7jn*k+~ptQ)6z`h6e4B&g?Q;IK+aH z)X(BH`n2DOS1#{AJD-a?uL)@Vl+`B=6X3gF(BCm>Q(9+?IMX%?CqgpsvK+b_de%Q> zj-GtHKf!t@p2;Gu*~#}kF@Q2HMevg~?0{^cPxCRh!gdg7MXsS}BLtG_a0IY0G1DVm z2F&O-$Dzzc#M~iN`!j38gAn`6*~h~AP=s_gy2-#LMFoNZ0<3q+=q)a|4}ur7F#><%j1lnr=F42Mbti zi-LYs85K{%NP8wE1*r4Mm+ZuZ8qjovmB;f##!E*M{*A(4^~vg!bblYi1M@7tq^L8- zH7tf_70iWXqcSQgENGdEjvLiSLicUi3l0H*sx=K!!HLxDg^K|s1G}6Tam|KBV>%YeU)Q>zxQe;ddnDTWJZ~^g-kNeycQ?u242mZs`i8cP)9qW`cwqk)Jf?Re0=SD=2z;Gafh(^X-=WJ$i7Z9$Pao56bTwb+?p>L3bi9 zP|qi@;H^1iT+qnNHBp~X>dd=Us6v#FPDTQLb9KTk%z{&OWmkx3uY(c6JYyK3w|z#Q zMY%FPv%ZNg#w^NaW6lZBU+}Znwc|KF(+X0RO~Q6*O{T-P*fi@5cPGLnzWMSyoOPe3 z(J;R#q}3?z5Ve%crTPZQFLTW81cNY-finw!LH9wr$(C)p_@v?(y#b-R^Pv!}_#7t+A?pHEUMY zoQZIwSETTKeS!W{H$lyB1^!jn4gTD{_mgG?#l1Hx2h^HrpCXo95f3utP-b&%w80F} zXFs@Jp$lbIL64@gc?k*gJ;OForPaapOH7zNMB60FdNP<*9<@hEXJk9Rt=XhHR-5_$Ck-R?+1py&J3Y9^sBBZuj?GwSzua;C@9)@JZpaI zE?x6{H8@j9P06%K_m%9#nnp0Li;QAt{jf-7X%Pd2jHoI4As-9!UR=h6Rjc z!3{UPWiSeLG&>1V5RlM@;5HhQW_&-wL2?%k@dvRS<+@B6Yaj*NG>qE5L*w~1ATP$D zmWu6(OE=*EHqy{($~U4zjxAwpPn42_%bdH9dMphiUU|) z*+V@lHaf%*GcXP079>vy5na3h^>X=n;xc;VFx)`AJEk zYZFlS#Nc-GIHc}j06;cOU@ zAD7Egkw<2a8TOcfO9jCp4U4oI*`|jpbqMWo(={gG3BjuM3QTGDG`%y|xithFck}0J zG}N#LyhCr$IYP`#;}tdm-7^9=72+CBfBsOZ0lI=LC_a%U@(t3J_I1t(UdiJ^@NubM zvvA0mGvTC%{fj53M^|Ywv$KbW;n8B-x{9}Z!K6v-tw&Xe_D2{7tX?eVk$sA*0826( zuGz!K7$O#;K;1w<38Tjegl)PmRso`fc&>fAT5s z7hzQe-_`lx`}2=c)jz6;yn(~F6#M@z_7@Z(@GWbIAo6A2&;aFf&>CVHpqoPh5#~=G zav`rZ3mSL2qwNL+Pg>aQv;%V&41e|YU$!fQ9Ksle!XZERpjAowHtX zi#0lnw{(zmk&}t`iFEMmx-y7FWaE*vA{Hh&>ieZg{5u0-3@a8BY)Z47E`j-H$dadu zIP|PXw1gjO@%aSz*O{GqZs_{ke|&S6hV{-dPkl*V|3U4LpqhG0eVdqfeNX28hrafI zE13WOsRE|o?24#`gQJs@v*EwL{@3>Ffa;knvI4@VEG2I>t-L(KRS0ShZ9N!bwXa}e zI0}@2#PwFA&Y9o}>6(ZaSaz>kw{U=@;d{|dYJ~lyjh~@bBL>n}#@KjvXUOhrZ`DbnAtf5bz3LD@0RpmAyC-4cgu<7rZo&C3~A_jA*0)v|Ctcdu} zt@c7nQ6hSDC@76c4hI&*v|5A0Mj4eQ4kVb0$5j^*$@psB zdouR@B?l6E%a-9%i(*YWUAhxTQ(b@z&Z#jmIb9`8bZ3Um3UW!@w4%t0#nxsc;*YrG z@x$D9Yj3EiA(-@|IIzi@!E$N)j?gedGJpW!7wr*7zKZwIFa>j|cy<(1`VV_GzWN=1 zc%OO)o*RRobvTZE<9n1s$#V+~5u8ZwmDaysD^&^cxynksn!_ypmx)Mg^8$jXu5lMo zK3K_8GJh#+7HA1rO2AM8cK(#sXd2e?%3h2D9GD7!hxOEKJZK&T`ZS0e*c9c36Y-6yz2D0>Kvqy(EuiQtUQH^~M*HY!$e z20PGLb2Xq{3Ceg^sn+99K6w)TkprP)YyNU(+^PGU8}4&Vdw*u;(`Bw!Um76gL_aMT z>*82nmA8Tp;~hwi0d3S{vCwD};P(%AVaBr=yJ zqB?DktZ#)_VFh_X69lAHQw(ZNE~ZRo2fZOIP;N6fD)J*3u^YGdgwO(HnI4pb$H#9) zizJ<>qI*a6{+z=j+SibowDLKYI*Je2Y>~=*fL@i*f&8**s~4l&B&}$~nwhtbOTr=G zFx>{y6)dpJPqv={_@*!q0=jgw3^j`qi@!wiWiT_$1`SPUgaG&9z9u9=m5C8`GpMaM zyMRSv2llS4F}L?233!)f?mvcYIZ~U z7mPng^=p)@Z*Fp9owSYA`Fe4OjLiJ`rdM`-U(&z1B1`S`ufK_#T@_BvenxDQU`deH$X5eMVO=;I4EJjh6?kkG2oc6AYF6|(t)L0$ukG}Zn=c+R`Oq;nC)W^ z{ek!A?!nCsfd_5>d&ozG%OJmhmnCOtARwOq&p!FzWl7M))YjqK8|;6sOAc$w2%k|E z`^~kpT!j+Y1lvE0B)mc$Ez_4Rq~df#vC-FmW;n#7E)>@kMA6K30!MdiC19qYFnxQ* z?BKegU_6T37%s`~Gi2^ewVbciy-m5%1P3$88r^`xN-+VdhhyUj4Kzg2 zlKZ|FLUHiJCZL8&<=e=F2A!j@3D@_VN%z?J;uw9MquL`V*f^kYTrpoWZ6iFq00uO+ zD~Zwrs!e4cqGedAtYxZ76Bq3Ur>-h(m1~@{x@^*YExmS*vw9!Suxjlaxyk9P#xaZK z)|opA2v#h=O*T42z>Mub2O3Okd3GL86KZM2zlfbS z{Vps`OO&3efvt->OOSpMx~i7J@GsRtoOfQ%vo&jZ6^?7VhBMbPUo-V^Znt%-4k{I# z8&X)=KY{3lXlQg4^FH^{jw0%t#2%skLNMJ}hvvyd>?_AO#MtdvH;M^Y?OUWU6BdMX zJ(h;PM9mlo@i)lWX&#E@d4h zj4Z0Czj{+ipPeW$Qtz_A52HA<4$F9Qe4CiNQSNE2Q-d1OPObk4?7-&`={{yod5Iy3kB=PK3%0oYSr`Gca120>CHbC#SqE*ivL2R(YmI1A|nAT?JmK*2qj_3p#?0h)$#ixdmP?UejCg9%AS2 z8I(=_QP(a(s)re5bu-kcNQc-&2{QZ%KE*`NBx|v%K2?bK@Ihz_e<5Y(o(gQ-h+s&+ zjpV>uj~?rfJ!UW5Mop~ro^|FP3Z`@B6A=@f{Wn78cm`)3&VJ!QE+P9&$;3SDNH>hI z_88;?|LHr%1kTX0t*xzG-6BU=LRpJFZucRBQ<^zy?O5iH$t>o}C}Fc+kM1EZu$hm% zTTFKrJkXmCylFgrA;QAA(fX5Sia5TNo z?=Ujz7$Q?P%kM$RKqRQisOexvV&L+bolR%`u`k;~!o(HqgzV9I6w9|g*5SVZN6+kT9H$-3@%h%k7BBnB zPn+wmPYNG)V2Jv`&$LoI*6d0EO^&Nh`E* z&1V^!!Szd`8_uf%OK?fuj~! z%p9QLJ?V*T^)72<6p1ONqpmD?Wm((40>W?rhjCDOz?#Ei^sXRt|GM3ULLnoa8cABQ zA)gCqJ%Q5J%D&nJqypG-OX1`JLT+d`R^|0KtfGQU+jw79la&$GHTjKF>*8BI z0}l6TC@XB6`>7<&{6WX2kX4k+0SaI`$I8{{mMHB}tVo*(&H2SmZLmW* z+P8N>(r}tR?f!O)?)df>HIu>$U~e~tflVmwk*+B1;TuqJ+q_^`jwGwCbCgSevBqj$ z<`Fj*izeO)_~fq%wZ0Jfvi6<3v{Afz;l5C^C7!i^(W>%5!R=Ic7nm(0gJ~9NOvHyA zqWH2-6w^YmOy(DY{VrN6ErvZREuUMko@lVbdLDq*{A+_%F>!@6Z)X9kR1VI1+Ler+ zLUPtth=u~23=CqZoAbQ`uGE_91kR(8Ie$mq1p`q|ilkJ`Y-ob_=Nl(RF=o7k{47*I)F%_XMBz9uwRH8q1o$TkV@8Pwl zzi`^7i;K6Ak7o58a_D-V0AWp;H8pSjbEs$4BxoJkkC6UF@QNL)0$NU;Wv0*5 z0Ld;6tm7eR%u=`hnUb)gjHbE2cP?qpo3f4w%5qM0J*W_Kl6&z4YKX?iD@=McR!gTyhpGGYj!ljQm@2GL^J70`q~4CzPv@sz`s80FgiuxjAZ zLq61rHv1O>>w1qOEbVBwGu4%LGS!!muKHJ#JjfT>g`aSn>83Af<9gM3XBdY)Yql|{ zUds}u*;5wuus)D>HmexkC?;R&*Z`yB4;k;4T*(823M&52{pOd1yXvPJ3PPK{Zs>6w zztXy*HSH0scZHn7qIsZ8y-zftJ*uIW;%&-Ka0ExdpijI&xInDg-Bv-Q#Islcbz+R! zq|xz?3}G5W@*7jSd`Hv9q^5N*yN=4?Lh=LXS^5KJC=j|AJ5Y(f_fC-c4YQNtvAvn|(uP9@5Co{dL z?7|=jqTzD8>(6Wr&(XYUEzT~-VVErf@|KeFpKjh=v51iDYN_`Kg&XLOIG;ZI8*U$@ zKig{dy?1H}UbW%3jp@7EVSD>6c%#abQ^YfcO(`)*HuvNc|j( zyUbYozBR15$nNU$0ZAE%ivo4viW?@EprUZr6oX=4Sc!-WvrpJdF`3SwopKPyX~F>L zJ>N>v=_plttTSUq6bYu({&rkq)d94m5n~Sk_MO*gY*tlkPFd2m=Pi>MK)ObVV@Sgs zmXMNMvvcAuz+<$GLR2!j4w&;{)HEkxl{$B^*)lUKIn&p5_huD6+%WDoH4`p}9mkw$ zXCPw6Y7tc%rn$o_vy>%UNBC`0@+Ih-#T05AT)ooKt?94^ROI5;6m2pIM@@tdT=&WP z{u09xEVdD}{(3v}8AYUyT82;LV%P%TaJa%f)c36?=90z>Dzk5mF2}Gs0jYCmufihid8(VFcZWs8#59;JCn{!tHu5kSBbm zL`F{COgE01gg-qcP2Lt~M9}mALg@i?TZp&i9ZM^G<3`WSDh}+Ceb3Q!QecJ|N;Xrs z{wH{D8wQ2+mEfBX#M8)-32+~q4MRVr1UaSPtw}`iwx@x=1Xv-?UT{t}w}W(J&WKAC zrZ%hssvf*T!rs}}#atryn?LB=>0U%PLwA9IQZt$$UYrSw`7++}WR7tfE~*Qg)vRrM zT;(1>Zzka?wIIz8vfrG86oc^rjM@P7^i8D~b(S23AoKYj9HBC(6kq9g`1gN@|9^xO z{~h zbxGMHqGZ@eJ17bgES?HQnwp|G#7I>@p~o2zxWkgZUYSUeB*KT{1Q z*J3xZdWt`eBsA}7(bAHNcMPZf_BZC(WUR5B8wUQa=UV^e21>|yp+uop;$+#JwXD!> zunhJVCIKgaol0AM_AwJNl}_k&q|uD?aTE@{Q*&hxZ=k_>jcwp}KwG6mb5J*pV@K+- zj*`r0WuEU_8O=m&1!|rj9FG7ad<2px63;Gl z9lJrXx$~mPnuiqIH&n$jSt*ReG}1_?r4x&iV#3e_z+B4QbhHwdjiGu^J3vcazPi`| zaty}NFSWe=TDry*a*4XB)F;KDI$5i9!!(5p@5ra4*iW;FlGFV0P;OZXF!HCQ!oLm1 zsK+rY-FnJ?+yTBd0}{*Y6su|hul)wJ>RNQ{eau*;wWM{vWM`d0dTC-}Vwx6@cd#P? zx$Qyk^2*+_ZnMC}q0)+hE-q)PKoox#;pc%DNJ&D5+if6X4j~p$A7-s&AjDkSEV)aM z(<3UOw*&f)+^5F0Mpzw3zB1ZHl*B?C~Cx) zuNg*>5RM9F5{EpU@a2E7hAE`m<89wbQ2Lz&?Egu-^sglNXG5Q;{9n(%&*kEb0vApd zRHrY@22=pkFN81%x)~acZeu`yvK zovAVJNykgxqkEr^hZksHkpxm>2I8FTu2%+XLs@?ym0n;;A~X>i32{g6NOB@o4lk8{ zB}7Z2MNAJi>9u=y%s4QUXaNdt@SlAZr54!S6^ETWoik6gw=k-itu_}Yl_M9!l+Rbv z(S&WD`{_|SE@@(|Wp7bq1Zq}mc4JAG?mr2WN~6}~u`7M_F@J9`sr0frzxfuqSF~mA z$m$(TWAuCIE99yLSwi%R)8geQhs;6VBlRhJb(4Cx zu)QIF%_W9+21xI45U>JknBRaZ9nYkgAcK6~E|Zxo!B&z9zQhjsi^fgwZI%K@rYbMq znWBXg1uCZ+ljGJrsW7@x3h2 z;kn!J!bwCeOrBx;oPkZ}FeP%wExyf4=XMp)N8*lct~SyfK~4^-75EZFpHYO5AnuRM z!>u?>Vj3+j=uiHc<=cD~JWRphDSwxFaINB42-{@ZJTWe85>-RcQ&U%?wK)vjz z5u5fJYkck##j(bP7W0*RdW#BmAIK`D3=(U~?b`cJ&U2jHj}?w6 z_4BM)#EoJ6)2?pcR4AqBd)qAUn@RtNQq})FIQoBK4ie+GB(Vih2D|Ds>RJo2zE~C- z7mI)7p)5(-O6JRh6a@VZ5~piVC+Xv=O-)=0eTMSJsRE^c1@bPQWlr}E31VqO-%739 zdcmE{`1m;5LH8w|7euK>>>U#Iod8l1yivC>;YWsg=z#07E%cU9x1yw#3l6AcIm%79 zGi^zH6rM#CZMow(S(8dcOq#5$kbHnQV6s?MRsU3et!!YK5H?OV9vf2qy-UHCn>}2d zTwI(A_fzmmCtE@10yAGgU7R&|Fl$unZJ_^0BgCEDE6(B*SzfkapE9#0N6adc>}dtH zJ#nt^F~@JMJg4=Pv}OdUHyPt-<<9Z&c0@H@^4U?KwZM&6q0XjXc$>K3c&3iXLD9_%(?)?2kmZ=Ykb;)M`Tw=%_d=e@9eheGG zk0<`4so}r={C{zr|6+_1mA_=a56(XyJq||g6Es1E6%fPg#l{r+vk9;)r6VB7D84nu zE0Z1EIxH{Y@}hT+|#$0xn+CdMy6Uhh80eK~nfMEIpM z`|G1v!USmx81nY8XkhEOSWto}pc#{Ut#`Pqb}9j$FpzkQ7`0<-@5D_!mrLah98Mpr zz(R7;ZcaR-$aKqUaO!j z=7QT;Bu0cvYBi+LDfE_WZ`e@YaE_8CCxoRc?Y_!Xjnz~Gl|aYjN2&NtT5v4#q3od2 zkCQZHe#bn(5P#J**Fj4Py%SaaAKJsmV6}F_6Z7V&n6QAu8UQ#9{gkq+tB=VF_Q6~^ zf(hXvhJ#tC(eYm6g|I>;55Lq-;yY*COpTp4?J}hGQ42MIVI9CgEC{3hYw#CZfFKVG zgD(steIg8veyqX%pYMoulq zMUmbj8I`t>mC`!kZ@A>@PYXy*@NprM@e}W2Q+s?XIRM-U1FHVLM~c60(yz1<46-*j zW*FjTnBh$EzI|B|MRU11^McTPIGVJrzozlv$1nah_|t4~u}Ht^S1@V8r@IXAkN;lH z_s|WHlN90k4X}*#neR5bX%}?;G`X!1#U~@X6bbhgDYKJK17~oFF0&-UB#()c$&V<0 z7o~Pfye$P@$)Lj%T;axz+G1L_YQ*#(qO zQND$QTz(~8EF1c3<%;>dAiD$>8j@7WS$G_+ktE|Z?Cx<}HJb=!aChR&4z ziD&FwsiZ)wxS4k6KTLn>d~!DJ^78yb>?Trmx;GLHrbCBy|Bip<@sWdAfP0I~;(Ybr zoc-@j?wA!$ zIP0m3;LZy+>dl#&Ymws@7|{i1+OFLYf@+8+)w}n?mHUBCqg2=-Hb_sBb?=q))N7Ej zDIL9%@xQFOA!(EQmchHiDN%Omrr;WvlPIN5gW;u#ByV)x2aiOd2smy&;vA2+V!u|D zc~K(OVI8} z0t|e0OQ7h23e01O;%SJ}Q#yeDh`|jZR7j-mL(T4E;{w^}2hzmf_6PF|`gWVj{I?^2T3MBK>{?nMXed4kgNox2DP!jvP9v`;pa6AV)OD zDt*Vd-x7s{-;E?E5}3p-V;Y#dB-@c5vTWfS7<=>E+tN$ME`Z7K$px@!%{5{uV`cH80|IzU! zDs9=$%75P^QKCRQ`mW7$q9U?mU@vrFMvx)NNDrI(uk>xwO;^($EUvqVev#{W&GdtR z0ew;Iwa}(-5D28zABlC{WnN{heSY5Eq5Fc=TN^9X#R}0z53!xP85#@;2E=&oNYHyo z46~#Sf!1M1X!rh}ioe`>G2SkPH{5nCoP`GT@}rH;-LP1Q7U_ypw4+lwsqiBql80aA zJE<(88yw$`xzNiSnU(hsyJqHGac<}{Av)x9lQ=&py9djsh0uc}6QkmKN3{P!TEy;P zzLDVQj4>+0r<9B0owxBt5Uz`!M_VSS|{(?`_e+qD9b=vZHoo6>?u;!IP zM7sqoyP>kWY|=v06gkhaGRUrO8n@zE?Yh8$om@8%=1}*!2wdIWsbrCg@;6HfF?TEN z+B_xtSvT6H3in#8e~jvD7eE|LTQhO_>3b823&O_l$R$CFvP@3~)L7;_A}JpgN@ax{ z2d9Ra)~Yh%75wsmHK8e87yAn-ZMiLo6#=<&PgdFsJw1bby-j&3%&4=9dQFltFR(VB z@=6XmyNN4yr^^o$ON8d{PQ=!OX17^CrdM~7D-;ZrC!||<+FEOxI_WI3 zCA<35va%4v>gcEX-@h8esj=a4szW7x z{0g$hwoWRQG$yK{@3mqd-jYiVofJE!Wok1*nV7Gm&Ssq#hFuvj1sRyHg(6PFA5U*Q z8Rx>-blOs=lb`qa{zFy&n4xY;sd$fE+<3EI##W$P9M{B3c3Si9gw^jlPU-JqD~Cye z;wr=XkV7BSv#6}DrsXWFJ3eUNrc%7{=^sP>rp)BWKA9<}^R9g!0q7yWlh;gr_TEOD|#BmGq<@IV;ue zg+D2}cjpp+dPf&Q(36sFU&K8}hA85U61faW&{lB`9HUl-WWCG|<1XANN3JVAkRYvr5U z4q6;!G*MTdSUt*Mi=z_y3B1A9j-@aK{lNvxK%p23>M&=KTCgR!Ee8c?DAO2_R?Bkaqr6^BSP!8dHXxj%N1l+V$_%vzHjq zvu7p@%Nl6;>y*S}M!B=pz=aqUV#`;h%M0rUHfcog>kv3UZAEB*g7Er@t6CF8kHDmK zTjO@rejA^ULqn!`LwrEwOVmHx^;g|5PHm#B6~YD=gjJ!043F+&#_;D*mz%Q60=L9O zve|$gU&~As5^uz@2-BfQ!bW)Khn}G+Wyjw-19qI#oB(RSNydn0t~;tAmK!P-d{b-@ z@E5|cdgOS#!>%#Rj6ynkMvaW@37E>@hJP^82zk8VXx|3mR^JCcWdA|t{0nPmYFOxN z55#^-rlqobcr==<)bi?E?SPymF*a5oDDeSdO0gx?#KMoOd&G(2O@*W)HgX6y_aa6i zMCl^~`{@UR`nMQE`>n_{_aY5nA}vqU8mt8H`oa=g0SyiLd~BxAj2~l$zRSDHxvDs; zI4>+M$W`HbJ|g&P+$!U7-PHX4RAcR0szJ*(e-417=bO2q{492SWrqDK+L3#ChUHtz z*@MP)e^%@>_&#Yk^1|tv@j4%3T)diEXATx4K*hcO`sY$jk#jN5WD<=C3nvuVs zRh||qDHnc~;Kf59zr0;c7VkVSUPD%NnnJC_l3F^#f_rDu8l}l8qcAz0FFa)EAt32I zUy_JLIhU_J^l~FRH&6-iv zSpG2PRqzDdMWft>Zc(c)#tb%wgmWN%>IOPmZi-noqS!^Ft zb81pRcQi`X#UhWK70hy4tGW1mz|+vI8c*h@fFGJtW3r>qV>1Z0r|L>7I3un^gcep$ zAAWfZHRvB|E*kktY$qQP_$YG60C z@X~tTQjB3%@`uz!qxtxF+LE!+=nrS^07hn`EgAp!h|r03h7B!$#OZW#ACD+M;-5J!W+{h z|6I;5cNnE(Y863%1(oH}_FTW})8zYb$7czPg~Szk1+_NTm6SJ0MS_|oSz%e(S~P-& zSFp;!k?uFayytV$8HPwuyELSXOs^27XvK-DOx-Dl!P|28DK6iX>p#Yb%3`A&CG0X2 zS43FjN%IB}q(!hC$fG}yl1y9W&W&I@KTg6@K^kpH8=yFuP+vI^+59|3%Zqnb5lTDAykf9S#X`3N(X^SpdMyWQGOQRjhiwlj!0W-yD<3aEj^ z&X%=?`6lCy~?`&WSWt?U~EKFcCG_RJ(Qp7j=$I%H8t)Z@6Vj zA#>1f@EYiS8MRHZphpMA_5`znM=pzUpBPO)pXGYpQ6gkine{ z6u_o!P@Q+NKJ}k!_X7u|qfpAyIJb$_#3@wJ<1SE2Edkfk9C!0t%}8Yio09^F`YGzp zaJHGk*-ffsn85@)%4@`;Fv^8q(-Wk7r=Q8pT&hD`5(f?M{gfzGbbwh8(}G#|#fDuk z7v1W)5H9wkorE0ZZjL0Q1=NRGY>zwgfm81DdoaVwNH;or{{e zSyybt)m<=zXoA^RALYG-2touH|L*BLvmm9cdMmn+KGopyR@4*=&0 z&4g|FLoreZOhRmh=)R0bg~T2(8V_q7~42-zvb)+y959OAv!V$u(O z3)%Es0M@CRFmG{5sovIq4%8Ahjk#*5w{+)+MWQoJI_r$HxL5km1#6(e@{lK3Udc~n z0@g`g$s?VrnQJ$!oPnb?IHh-1qA`Rz$)Ai<6w$-MJW-gKNvOhL+XMbE7&mFt`x1KY z>k4(!KbbpZ`>`K@1J<(#vVbjx@Z@(6Q}MF#Mnbr-f55)vXj=^j+#)=s+ThMaV~E`B z8V=|W_fZWDwiso8tNMTNse)RNBGi=gVwgg%bOg8>mbRN%7^Um-7oj4=6`$|(K7!+t^90a{$1 z8Z>}<#!bm%ZEFQ{X(yBZMc>lCz0f1I2w9SquGh<9<=AO&g6BZte6hn>Qmvv;Rt)*c zJfTr2=~EnGD8P$v3R|&1RCl&7)b+`=QGapiPbLg_pxm`+HZurtFZ;wZ=`Vk*do~$wBxoW&=j0OTbQ=Q%S8XJ%~qoa3Ea|au5 zo}_(P;=!y z-AjFrERh%8la!z6Fn@lR?^E~H12D? z8#ht=1F;7@o4$Q8GDj;sSC%Jfn01xgL&%F2wG1|5ikb^qHv&9hT8w83+yv&BQXOQy zMVJSBL(Ky~p)gU3#%|blG?I zR9rP^zUbs7rOA0X52Ao=GRt@C&zlyjNLv-}9?*x{y(`509qhCV*B47f2hLrGl^<@S zuRGR!KwHei?!CM10pBKpDIoBNyRuO*>3FU?HjipIE#B~y3FSfOsMfj~F9PNr*H?0o zHyYB^G(YyNh{SxcE(Y-`x5jFMKb~HO*m+R%rq|ic4fzJ#USpTm;X7K+E%xsT_3VHK ze?*uc4-FsILUH;kL>_okY(w`VU*8+l>o>JmiU#?2^`>arnsl#)*R&nf_%>A+qwl%o z{l(u)M?DK1^mf260_oteV3#E_>6Y4!_hhVDM8AI6MM2V*^_M^sQ0dmHu11fy^kOqX zqzps-c5efIKWG`=Es(9&S@K@)ZjA{lj3ea7_MBPk(|hBFRjHVMN!sNUkrB;(cTP)T97M$ z0Dtc&UXSec<+q?y>5=)}S~{Z@ua;1xt@=T5I7{`Z=z_X*no8s>mY;>BvEXK%b`a6(DTS6t&b!vf_z#HM{Uoy z_5fiB(zpkF{})ruka$iX*~pq1ZxD?q68dIoIZSVls9kFGsTwvr4{T_LidcWtt$u{k zJlW7moRaH6+A5hW&;;2O#$oKyEN8kx z`LmG)Wfq4ykh+q{I3|RfVpkR&QH_x;t41UwxzRFXt^E2B$domKT@|nNW`EHwyj>&< zJatrLQ=_3X%vd%nHh^z@vIk(<5%IRAa&Hjzw`TSyVMLV^L$N5Kk_i3ey6byDt)F^U zuM+Ub4*8+XZpnnPUSBgu^ijLtQD>}K;eDpe1bNOh=fvIfk`&B61+S8ND<(KC%>y&? z>opCnY*r5M+!UrWKxv0_QvTlJc>X#AaI^xoaRXL}t5Ej_Z$y*|w*$6D+A?Lw-CO-$ zitm^{2Ct82-<0IW)0KMNvJHgBrdsIR0v~=H?n6^}l{D``Me90`^o|q!olsF?UX3YS zq^6Vu>Ijm>>PaZI8G@<^NGw{Cx&%|PwYrfwR!gX_%AR=L3BFsf8LxI|K^J}deh0Zd zV?$3r--FEX`#INxsOG6_=!v)DI>0q|BxT)z-G6kzA01M?rba+G_mwNMQD1mbVbNTW zmBi*{s_v_Ft9m2Avg!^78(QFu&n6mbRJ2bAv!b;%yo{g*9l2)>tsZJOOp}U~8VUH`}$8p_}t*XIOehezolNa-a2x0BS})Y9}& z*TPgua{Ewn-=wVrmJUeU39EKx+%w%=ixQWKDLpwaNJs65#6o7Ln7~~X+p_o2BR1g~ zVCfxLzxA{HlWAI6^H;`juI=&r1jQrUv_q0Z1Ja-tjdktrrP>GOC*#p?*xfQU5MqjM zsBe!9lh(u8)w$e@Z|>aUHI5o;MGw*|Myiz3-f0;pHg~Q#%*Kx8MxH%AluVXjG2C$) zWL-K63@Q`#y9_k_+}eR(x4~dp7oV-ek0H>Igy8p#i4GN{>#v=pFYUQT(g&b$OeTy- zX_#FDgNF8XyfGY6R!>inYn8IR2RDa&O!(6NIHrC0H+Qpam1bNa=(`SRKjixBTtm&e z`j9porEci!zdlg1RI0Jw#b(_Tb@RQK1Zxr_%7SUeH6=TrXt3J@js`4iDD0=I zoHhK~I7^W8^Rcp~Yaf>2wVe|Hh1bXa_A{oZ9eG$he;_xYvTbTD#moBy zY57-f2Ef1TP^lBi&p5_s7WGG9|0T}dlfxOxXvScJO1Cnq`c`~{Dp;{;l<-KkCDE+p zmexJkd}zCgE{eF=)K``-qC~IT6GcRog_)!X?fK^F8UDz$(zFUrwuR$qro5>qqn>+Z z%<5>;_*3pZ8QM|yv9CAtrAx;($>4l^_$_-L*&?(77!-=zvnCVW&kUcZMb6;2!83si z518Y%R*A3JZ8Is|kUCMu`!vxDgaWjs7^0j(iTaS4HhQ)ldR=r)_7vYFUr%THE}cPF z{0H45FJ5MQW^+W>P+eEX2kLp3zzFe*-pFVAdDZRybv?H|>`9f$AKVjFWJ=wegO7hO zOIYCtd?Vj{EYLT*^gl35|HbMX|NAEUf2ra9dy1=O;figB>La=~eA^#>O6n4?EMugV zbbt{Dbfef5l^(;}5kZ@!XaWwF8z0vUr6r|+QN*|WpF z^*osUHzOnE$lHuWYO$G7>}Y)bY0^9UY4eDV`E{s+{}Z$O$2*lMEYl zTA`ki(<0(Yrm~}15V-E^e2W6`*`%ydED-3G@$UFm6$ZtLx z+av`BhsHcAWqdxPWfu2*%{}|Sptax4_=NpDMeWy$* zZM6__s`enB$~0aT1BU^2k`J9F%+n+lL_|8JklWOCVYt*0%o*j4w1CsB_H^tVpYT_LLyKuyk=CV6~1M<7~^FylL*+AIFf3h>J=x$ygY-BG}4LJ z8XxYPY!v7dO3PVwEoY=`)6krokmR^|Mg5ztX_^#QR}ibr^X-|_St#rtv3gukh0(#A=};NPlNz57ZDFJ9hf#NP50zS)+Fo=StX)i@ zWS?W}i6LjB>kAB~lupAPyIjFb)izFgRq*iS*(Jt509jNr3r72{Gj`5DGoj;J&k5G@Rm!dJ($ox>SbxR)fc zz|Phug;~A7!p@?|mMva@rWuf2fSDK_ZxN3vVmlYz>rrf?LpiNs)^z!y{As@`55JC~ zS*GD3#N-ptY!2<613UelAJ;M4EEI$dm)`8#n$|o{ce^dlyoUY3bsy2hgnj-;ovubb zg2h1rZA6Ot}K_cpYBpIuF&CyK~5R0Wv;kG|3A^8K3nk{rw$Be8u@aos#qvKQKJyVU$cX6biw&Ep#+q7upFX z%qo&`WZ){<%zh@BTl{MO@v9#;t+cb7so0Uz49Fmo1e4>y!vUyIHadguZS0T7-x#_drMXz*16*c zymR0u^`ZQpXN}2ofegbpSedL%F9aypdQcrzjzPlBW0j zMlPzC&ePZ@Cq!?d%9oQNEg0`rHALm8l#lUdXMVEqDvb(AID~H(?H9z!e9G98fG@IzhajKr)3{L_Clu1(Bwg`RM!-(MOuZi zbeDsj9I3(~EITsE=3Z)a|l_rn8W92U0DB70gF7YYfO0j!)h?QobY1lSR>0 z_TVw@$eP~3k8r9;%g%RlZzCJ2%f}DvY`rsZ$;ak&^~-`i%B%+O!pnADeVyV!dHj|} zzOj#q4eRx9Q8c2Z7vy9L&fGLj+3_?fp}+8o`Xpwyi(81H|7P8#65%FIS*lOi={o&v z4NV$xu7az4Nb50dRGZv<tdZCx4Ek<_o3!mAT} zL5l*|K3Qr-)W8paaG z&R6{ped_4e2cy}ejD0!dt{*PaC*^L@eB%(1Fmc%Y#4)~!jF#lCGfj#E??4LG-T;!M z>Uha}f;W>ib_ZL-I7-v9KZQls^G!-JmL^w;=^}?!RXK;m4$#MwI2AH-l7M2-0 zVMK8k^+4+>2S0k^N_40EDa#`7c;2!&3-o6MHsnBfRnq@>E@)=hDulVq-g5SQWDWbt zj6H5?QS2gRZ^Zvbs~cW|8jagJV|;^zqC0e=D1oUsQPJ3MCb+eRGw(XgIY9y8v_tXq z9$(xWntWpx_Uronmvho{JfyYdV{L1N$^s^|-Nj`Ll`lUsiWTjm&8fadUGMXreJGw$ zQ**m+Tj|(XG}DyUKY~2?&9&n6SJ@9VKa9Hcayv{ar^pNr0WHy zP$bQv&8O!vd;GoT!pLwod-42qB^`m!b7nP@YTX}^+1hzA$}LSLh}Ln|?`%8xGMazw z8WT!LoYJ-Aq3=2p6ZSP~uMgSSWv3f`&-I06tU}WhZsA^6nr&r17hjQIZE>^pk=yZ% z06}dfR$85MjWJPq)T?OO(RxoaF+E#4{Z7)i9}Xsb;Nf+dzig61HO;@JX1Lf9)R5j9)Oi6vPL{H z&UQ9ln=$Q8jnh6-t;`hKM6pHftdd?$=1Aq16jty4-TF~`Gx=C&R242uxP{Y@Q~%O3 z*(16@x+vJsbW@^3tzY=-5MHi#(kB};CU%Ep`mVY1j$MAPpYJBB3x$ue`%t}wZ-@CG z(lBv36{2HMjxT)2$n%(UtHo{iW9>4HX4>)%k8QNnzIQYXrm-^M%#Qk%9odbUrZDz1YPdY`2Z4w~p!5tb^m(mUfk}kZ9+EsmenQ)5iwiaulcy zCJ#2o4Dz?@%)aAKfVXYMF;3t@aqNh2tBBlBkCdj`F31b=h93y(46zQ-YK@+zX5qM9 z&=KkN&3@Ptp*>UD$^q-WpG|9O)HBXz{D>p!`a36aPKkgz7uxEo0J>-o+4HHVD9!Hn z${LD0d{tuGsW*wvZoHc8mJroAs(3!FK@~<}Pz1+vY|Gw}Lwfxp{4DhgiQ_SSlV)E| zZWZxYZLu2EB1=g_y@(ieCQC_1?WNA0J0*}eMZfxCCs>oL;?kHdfMcKB+A)Qull$v( z2x6(38utR^-(?DG>d1GyU()8>ih3ud0@r&I$`ZSS<*1n6(76=OmP>r_JuNCdS|-8U zxGKXL1)Lc2kWY@`_kVBt^%7t9FyLVYX(g%a6>j=yURS1!V<9ieT$$5R+yT!I>}jI5 z?fem|T=Jq;BfZmsvqz_Ud*m5;&xE66*o*S22vf-L+MosmUPPA}~wy`kntf8rIeP-m;;{`xe}9E~G7J!PYoVH_$q~NzQab?F8vWUja5BJ!T5%5IpyqI#Dkps0B;gQ*z?c#N>spFw|wRE$gY?y4wQbJ zku2sVLh({KQz6e0yo+X!rV#8n8<;bHWd{ZLL_(*9Oi)&*`LBdGWz>h zx+p`Wi00u#V$f=CcMmEmgFjw+KnbK3`mbaKfoCsB{;Q^oJgj*LWnd_(dk9Kcssbj` z?*g8l`%{*LuY!Ls*|Tm`1Gv-tRparW8q4AK(5pfJFY5>@qO( zcY>pt*na>LlB^&O@YBDnWLE$x7>pMdSmb-?qMh79eB+Wa{)$%}^kX@Z3g>fytppz! zl%>pMD(Yw+5=!UgYHLD69JiJ;YhiGeEyZM$Au{ff;i zCBbNQfO{d!b7z^F732XX&qhEsJA1UZtJjJEIPyDq+F`LeAUU_4`%2aTX#3NG3%W8u zC!7OvlB?QJ4s2#Ok^_8SKcu&pBd}L?vLRT8Kow#xARt`5&Cg=ygYuz>>c z4)+Vv$;<$l=is&E{k&4Lf-Lzq#BHuWc;wDfm4Fbd5Sr!40s{UpKT$kzmUi{V0t1yp zPOf%H8ynE$x@dQ_!+ISaI}#%72UcYm7~|D*(Fp8xiFAj$CmQ4oH3C+Q8W=Y_9Sp|B z+k<%5=y{eW=YvTivV(*KvC?qxo)xqcEU9(Te=?ITts~;xA0Jph-vpd4@Zw#?r2!`? zB3#XtIY^wxrpjJv&(7Xjvm>$TIg2ZC&+^j(gT0R|&4cb)=92-2Hti1`& z=+M;*O%_j3>9zW|3h{0Tfh5i)Fa;clGNJpPRcUmgErzC{B+zACiPHbff3SmsCZ&X; zp=tgI=zW-t(5sXFL8;ITHw0?5FL3+*z5F-KcLN130l=jAU6%F=DClRPrzO|zY+HD`zlZ-)JT}X?2g!o zxg4Ld-mx6&*-N0-MQ(z+zJo8c`B39gf{-h2vqH<=^T&o1Dgd>4BnVht+JwLcrjJl1 zsP!8`>3-rSls07q2i1hScM&x0lQyBbk(U=#3hI7Bkh*kj6H*&^p+J?OMiT_3*vw5R zEl&p|QQHZq6f~TlAeDGy(^BC0vUK?V&#ezC0*#R-h}_8Cw8-*${mVfHssathC8%VA zUE^Qd!;Rvym%|f@?-!sEj|73Vg8!$$zj_QBZAOraF5HCFKl=(Ac|_p%-P;6z<2WSf zz(9jF2x7ZR{w+p)ETCW06PVt0YnZ>gW9^sr&~`%a_7j-Ful~*4=o|&TM@k@Px2z>^ t{*Ed16F~3V5p+(suF-++X8+nHtT~NSfJ>UC3v)>lEpV}<+rIR_{{yMcG_L>v literal 0 HcmV?d00001 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 00000000..17655d0e --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew new file mode 100755 index 00000000..1b6c7873 --- /dev/null +++ b/gradlew @@ -0,0 +1,234 @@ +#!/bin/sh + +# +# Copyright © 2015-2021 the original authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# +############################################################################## + +# Attempt to set APP_HOME + +# Resolve links: $0 may be a link +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit + +APP_NAME="Gradle" +APP_BASE_NAME=${0##*/} + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + +# Collect all arguments for the java command; +# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of +# shell script including quotes and variable substitutions, so put them in +# double quotes to make sure that they get re-expanded; and +# * put everything else in single quotes, so that it's not re-expanded. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/server_scripts/README.md b/server_scripts/README.md new file mode 100644 index 00000000..6c7181b3 --- /dev/null +++ b/server_scripts/README.md @@ -0,0 +1,4 @@ +These scripts are deprecated in favor of a tomcat based deployment via Dockerfile. + +TODO: Redo the dockerfile with a clean install of an updated Tomcat installation +TODO: Redo server startup instructions in the docs cleanly, step by step \ No newline at end of file diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 00000000..957ae4c2 --- /dev/null +++ b/settings.gradle @@ -0,0 +1,11 @@ +/* + * This file was generated by the Gradle 'init' task. + * + * The settings file is used to specify which projects to include in your build. + * + * Detailed information about configuring a multi-project build in Gradle can be found + * in the user manual at https://docs.gradle.org/7.4.2/userguide/multi_project_builds.html + * This project uses @Incubating APIs which are subject to change. + */ + +rootProject.name = 'workspace_deluxe' diff --git a/src/us/kbase/common/test/TestCommon.java b/src/us/kbase/common/test/TestCommon.java index 85e7fc6d..e89b4f05 100644 --- a/src/us/kbase/common/test/TestCommon.java +++ b/src/us/kbase/common/test/TestCommon.java @@ -50,8 +50,6 @@ public class TestCommon { public static final String ARANGOEXE = "test.arango.exe"; public static final String ARANGOJS = "test.arango.js"; - public static final String JARS_PATH = "test.jars.dir"; - public static final String TEST_TEMP_DIR = "test.temp.dir"; public static final String KEEP_TEMP_DIR = "test.temp.dir.keep"; @@ -167,10 +165,6 @@ public static Path getSampleServiceDir() { return Paths.get(getTestProperty(SAMPLE_SERVICE_DIR)); } - public static Path getJarsDir() { - return Paths.get(getTestProperty(JARS_PATH)); - } - public static boolean getDeleteTempFiles() { return !"true".equals(getTestProperty(KEEP_TEMP_DIR)); } diff --git a/src/us/kbase/typedobj/core/NullJsonGenerator.java b/src/us/kbase/typedobj/core/NullJsonGenerator.java index 37c45470..ecc57981 100644 --- a/src/us/kbase/typedobj/core/NullJsonGenerator.java +++ b/src/us/kbase/typedobj/core/NullJsonGenerator.java @@ -240,6 +240,7 @@ public int getFeatureMask() { } @Override + @Deprecated public JsonGenerator setFeatureMask(int values) { return null; } diff --git a/src/us/kbase/typedobj/db/KidlUtil.java b/src/us/kbase/typedobj/db/KidlUtil.java index 02bfc00a..d90b675c 100644 --- a/src/us/kbase/typedobj/db/KidlUtil.java +++ b/src/us/kbase/typedobj/db/KidlUtil.java @@ -1,8 +1,5 @@ package us.kbase.typedobj.db; -import static org.hamcrest.CoreMatchers.is; -import static org.junit.Assert.assertThat; - import java.io.BufferedReader; import java.io.IOException; import java.io.StringReader; @@ -37,30 +34,6 @@ public static boolean compareJson(Map parse1, Map parse2, String hea return ok; } - public static boolean compareJsonSchemas(Map> schemas1, - Map> schemas2, String header) throws IOException, - JsonParseException, JsonMappingException, JsonGenerationException, - Exception { - boolean ok = true; - assertThat(schemas1.keySet(), is(schemas2.keySet())); - for (String moduleName : schemas1.keySet()) { - assertThat(schemas1.get(moduleName).keySet(), is(schemas2.get(moduleName).keySet())); - for (Map.Entry entry : schemas1.get(moduleName).entrySet()) { - String schema1 = rewriteJson(entry.getValue()); - String schema2 = rewriteJson(schemas2.get(moduleName).get(entry.getKey())); - if (!schema1.equals(schema2)) { - ok = false; - System.out.println(header + " (" + moduleName + "." + entry.getKey() + "):"); - System.out.println("--------------------------------------------------------"); - showDiff(schema1, schema2); - System.out.println(); - System.out.println("*"); - } - } - } - return ok; - } - private static void showDiff(String origText, String newText) throws Exception { List origLn = getLines(origText); List newLn = getLines(newText); diff --git a/src/us/kbase/typedobj/db/test/MongoTypeStorageTest.java b/src/us/kbase/typedobj/db/test/MongoTypeStorageTest.java index e3a5afb0..930fd45c 100644 --- a/src/us/kbase/typedobj/db/test/MongoTypeStorageTest.java +++ b/src/us/kbase/typedobj/db/test/MongoTypeStorageTest.java @@ -43,7 +43,6 @@ public static void setUp() throws Exception { System.out.println("Started test mongo instance at localhost:" + MONGO.getServerPort()); - @SuppressWarnings("resource") final MongoClient mc = MongoClients.create("mongodb://localhost:" + MONGO.getServerPort()); MONGO_DB = mc.getDatabase("test_" + MongoTypeStorageTest.class.getSimpleName()); } diff --git a/src/us/kbase/typedobj/db/test/TypeRegisteringTest.java b/src/us/kbase/typedobj/db/test/TypeRegisteringTest.java index a71f7cd7..2a89162f 100644 --- a/src/us/kbase/typedobj/db/test/TypeRegisteringTest.java +++ b/src/us/kbase/typedobj/db/test/TypeRegisteringTest.java @@ -144,7 +144,6 @@ public static MongoDatabase createMongoDbConnection() throws Exception { System.out.println("Using mongo temp dir " + mongo.getTempDir()); } - @SuppressWarnings("resource") final MongoClient mcli = MongoClients.create("mongodb://localhost:" + mongo.getServerPort()); final MongoDatabase mdb = mcli.getDatabase("TypeRegisteringTest"); TestCommon.destroyDB(mdb); diff --git a/src/us/kbase/workspace/database/Workspace.java b/src/us/kbase/workspace/database/Workspace.java index a0b843f2..f2513dcc 100644 --- a/src/us/kbase/workspace/database/Workspace.java +++ b/src/us/kbase/workspace/database/Workspace.java @@ -1244,7 +1244,7 @@ public List> getReferencingObjects( return ret; } - /** @deprecated */ + @Deprecated public List getReferencingObjectCounts( final WorkspaceUser user, final List loi) throws WorkspaceCommunicationException, InaccessibleObjectException, diff --git a/src/us/kbase/workspace/database/WorkspaceDatabase.java b/src/us/kbase/workspace/database/WorkspaceDatabase.java index 53fc2a09..9f2873c0 100644 --- a/src/us/kbase/workspace/database/WorkspaceDatabase.java +++ b/src/us/kbase/workspace/database/WorkspaceDatabase.java @@ -442,7 +442,7 @@ Map getObjectIncomingReferences( Set objs) throws NoSuchObjectException, WorkspaceCommunicationException; - /** @deprecated */ + @Deprecated Map getReferencingObjectCounts( Set objects) throws WorkspaceCommunicationException, NoSuchObjectException; diff --git a/src/us/kbase/workspace/database/mongo/MongoWorkspaceDB.java b/src/us/kbase/workspace/database/mongo/MongoWorkspaceDB.java index 9aba5ad0..8f5b6f9b 100644 --- a/src/us/kbase/workspace/database/mongo/MongoWorkspaceDB.java +++ b/src/us/kbase/workspace/database/mongo/MongoWorkspaceDB.java @@ -2734,8 +2734,8 @@ public Map> getReferencingObjects( private static final Set FLDS_REF_CNT = newHashSet( Fields.OBJ_ID, Fields.OBJ_NAME, Fields.OBJ_DEL, Fields.OBJ_VCNT, Fields.OBJ_REFCOUNTS); - /** @deprecated */ @Override + @Deprecated public Map getReferencingObjectCounts( final Set objects) throws WorkspaceCommunicationException, NoSuchObjectException { diff --git a/src/us/kbase/workspace/kbase/admin/AdministrationCommandSetInstaller.java b/src/us/kbase/workspace/kbase/admin/AdministrationCommandSetInstaller.java index 7b263325..07722c58 100644 --- a/src/us/kbase/workspace/kbase/admin/AdministrationCommandSetInstaller.java +++ b/src/us/kbase/workspace/kbase/admin/AdministrationCommandSetInstaller.java @@ -11,7 +11,7 @@ import java.util.Optional; import java.util.stream.Collectors; -import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/src/us/kbase/workspace/test/database/mongo/GridFSBlobStoreTest.java b/src/us/kbase/workspace/test/database/mongo/GridFSBlobStoreTest.java index 4a0f308c..e98e112f 100644 --- a/src/us/kbase/workspace/test/database/mongo/GridFSBlobStoreTest.java +++ b/src/us/kbase/workspace/test/database/mongo/GridFSBlobStoreTest.java @@ -59,7 +59,6 @@ public static void setUpClass() throws Exception { System.out.println("Using Mongo temp dir " + mongo.getTempDir()); TestCommon.stfuLoggers(); - @SuppressWarnings("resource") final MongoClient mongoClient = MongoClients.create("mongodb://localhost:" + mongo.getServerPort()); final MongoDatabase db = mongoClient.getDatabase("GridFSBackendTest"); gfs = GridFSBuckets.create(db); diff --git a/src/us/kbase/workspace/test/database/mongo/MongoWorkspaceDBTest.java b/src/us/kbase/workspace/test/database/mongo/MongoWorkspaceDBTest.java index c0242c69..602e7366 100644 --- a/src/us/kbase/workspace/test/database/mongo/MongoWorkspaceDBTest.java +++ b/src/us/kbase/workspace/test/database/mongo/MongoWorkspaceDBTest.java @@ -117,7 +117,6 @@ public static void setup() throws Exception { System.out.println("Started test mongo instance at localhost:" + MONGO.getServerPort()); - @SuppressWarnings("resource") final MongoClient mc = MongoClients.create("mongodb://localhost:" + MONGO.getServerPort()); MONGO_DB = mc.getDatabase("test_" + MongoWorkspaceDBTest.class.getSimpleName()); diff --git a/src/us/kbase/workspace/test/database/mongo/S3BlobStoreIntegrationTest.java b/src/us/kbase/workspace/test/database/mongo/S3BlobStoreIntegrationTest.java index 8c3a3c1f..250d80d5 100644 --- a/src/us/kbase/workspace/test/database/mongo/S3BlobStoreIntegrationTest.java +++ b/src/us/kbase/workspace/test/database/mongo/S3BlobStoreIntegrationTest.java @@ -68,7 +68,6 @@ public static void setUpClass() throws Exception { System.out.println("Using Mongo temp dir " + mongoCon.getTempDir()); System.out.println("Started mongo server at localhost:" + mongoCon.getServerPort()); - @SuppressWarnings("resource") MongoClient mongoClient = MongoClients.create("mongodb://localhost:" + mongoCon.getServerPort()); mongo = mongoClient.getDatabase("MinioBackendTest"); diff --git a/src/us/kbase/workspace/test/database/mongo/SchemaUpdaterTest.java b/src/us/kbase/workspace/test/database/mongo/SchemaUpdaterTest.java index 5fec5968..40298e6e 100644 --- a/src/us/kbase/workspace/test/database/mongo/SchemaUpdaterTest.java +++ b/src/us/kbase/workspace/test/database/mongo/SchemaUpdaterTest.java @@ -12,7 +12,6 @@ import java.util.Arrays; import java.util.Collections; import java.util.Date; -import java.util.HashSet; import java.util.LinkedList; import java.util.List; import java.util.Set; diff --git a/src/us/kbase/workspace/test/workspace/WorkspaceIntegrationWithGridFSTest.java b/src/us/kbase/workspace/test/workspace/WorkspaceIntegrationWithGridFSTest.java index ffbb3681..5a28058c 100644 --- a/src/us/kbase/workspace/test/workspace/WorkspaceIntegrationWithGridFSTest.java +++ b/src/us/kbase/workspace/test/workspace/WorkspaceIntegrationWithGridFSTest.java @@ -114,7 +114,6 @@ public static void setUpClass() throws Exception { System.out.println("Using Mongo temp dir " + MONGO.getTempDir()); System.out.println("Started test mongo instance at localhost: " + MONGO.getServerPort()); - @SuppressWarnings("resource") final MongoClient mcli = MongoClients.create("mongodb://localhost:" + MONGO.getServerPort()); WSDB = mcli.getDatabase(WSDB_NAME); TYPEDB = mcli.getDatabase(TYPEDB_NAME); diff --git a/src/us/kbase/workspace/test/workspace/WorkspaceTester.java b/src/us/kbase/workspace/test/workspace/WorkspaceTester.java index 1e4e6e3f..d933fae5 100644 --- a/src/us/kbase/workspace/test/workspace/WorkspaceTester.java +++ b/src/us/kbase/workspace/test/workspace/WorkspaceTester.java @@ -204,7 +204,6 @@ public WorkspaceTester( mongo.getServerPort()); } if (!CONFIGS.containsKey(config)) { - @SuppressWarnings("resource") final MongoClient mcli = MongoClients.create("mongodb://localhost:" + mongo.getServerPort()); final MongoDatabase wsdb = mcli.getDatabase(DB_WS_NAME); final MongoDatabase tdb = mcli.getDatabase(DB_TYPE_NAME); diff --git a/test.cfg.example b/test.cfg.example index a66c1312..ea4f09a6 100644 --- a/test.cfg.example +++ b/test.cfg.example @@ -2,10 +2,6 @@ [Workspacetest] -# The path to the jars dir inside the jars repo, e.g. -# [path to jars repo]/lib/jars -test.jars.dir = - # Minio exe file location test.minio.exe = minio From b871872f3503d79f2a12acd4602b62eb4b712c5f Mon Sep 17 00:00:00 2001 From: Gavin Date: Mon, 25 Mar 2024 18:18:18 -0700 Subject: [PATCH 22/48] Remove test.yml cruft --- .github/workflows/test.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index aa35adfd..5d3c48e6 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -138,7 +138,6 @@ jobs: sed -i "s#^test.mongo.exe.*#test.mongo.exe=$MONGOD#" test.cfg sed -i "s#^test.minio.exe.*#test.minio.exe=$MINIO#" test.cfg sed -i "s#^test.mongo.useWiredTiger.*#test.mongo.useWiredTiger=${{matrix.wired_tiger}}#" test.cfg - sed -i "s#^test.jars.dir.*#test.jars.dir=$JARSDIR#" test.cfg sed -i "s#^test.blobstore.exe.*#test.blobstore.exe=$BLOBEXE#" test.cfg sed -i "s#^test.handleservice.dir.*#test.handleservice.dir=$HSDIR#" test.cfg sed -i "s#^test.sampleservice.dir.*#test.sampleservice.dir=$SAMPLE_DIR#" test.cfg From c5f3d8915318be259abdde2b4877c7c41beeb5d0 Mon Sep 17 00:00:00 2001 From: Gavin Date: Mon, 25 Mar 2024 20:20:20 -0700 Subject: [PATCH 23/48] Fix quick test coverage --- build.gradle | 1 + 1 file changed, 1 insertion(+) diff --git a/build.gradle b/build.gradle index 656fcf5d..0765939c 100644 --- a/build.gradle +++ b/build.gradle @@ -80,6 +80,7 @@ task testQuick(type: Test) { } task jacocoTestQuickReport(type: JacocoReport, dependsOn: testQuick) { + sourceSets sourceSets.main executionData(testQuick) } From 6fdb23b857e6d001df29982acd3fdf3d758a3210 Mon Sep 17 00:00:00 2001 From: Gavin Date: Thu, 28 Mar 2024 09:40:44 -0700 Subject: [PATCH 24/48] Alphabetize deps & update syslog4j comment --- build.gradle | 69 +++++++++++++++++++++++++--------------------------- 1 file changed, 33 insertions(+), 36 deletions(-) diff --git a/build.gradle b/build.gradle index 0765939c..bb720a04 100644 --- a/build.gradle +++ b/build.gradle @@ -148,6 +148,10 @@ dependencies { // ### General application dependencies ### + implementation fromURL( + 'https://github.com/kbase/jars/raw/master/lib/jars/kbase/handle/AbstractHandleClient-1.0.0.jar', + 'AbstractHandleClient-1.0.0' + ) implementation fromURL( 'https://github.com/kbase/jars/raw/master/lib/jars/kbase/auth/kbase-auth-0.4.4.jar', 'kbase-auth-0.4.4' @@ -156,31 +160,27 @@ dependencies { 'https://github.com/kbase/jars/raw/master/lib/jars/kbase/kidl/kbase-kidl-parser-1409261812-7863aef.jar', 'kbase-kidl-parser-1409261812-7863aef' ) + implementation fromURL( + 'https://github.com/kbase/jars/raw/master/lib/jars/kbase/sample/SampleServiceClient-0.1.1.jar', + 'SampleServiceClient-0.1.1' + ) + implementation 'ch.qos.logback:logback-classic:1.1.2' + implementation 'com.google.guava:guava:14.0.1' + implementation 'com.github.ben-manes.caffeine:caffeine:2.9.3' + implementation 'commons-codec:commons-codec:1.8' + implementation 'commons-io:commons-io:2.4' implementation 'com.fasterxml.jackson.core:jackson-annotations:2.9.9' implementation 'com.fasterxml.jackson.core:jackson-core:2.9.9' implementation 'com.fasterxml.jackson.core:jackson-databind:2.9.9' - implementation 'org.ini4j:ini4j:0.5.2' - implementation 'commons-io:commons-io:2.4' - implementation 'org.apache.commons:commons-lang3:3.1' - implementation 'commons-codec:commons-codec:1.8' implementation 'info.picocli:picocli:4.6.1' + implementation 'org.apache.commons:commons-lang3:3.1' + implementation 'org.apache.kafka:kafka-clients:2.1.0' + implementation 'org.ini4j:ini4j:0.5.2' + implementation 'org.mongodb:bson:4.11.1' + implementation 'org.mongodb:bson-record-codec:4.11.1' implementation 'org.mongodb:mongodb-driver-core:4.11.1' implementation 'org.mongodb:mongodb-driver-sync:4.11.1' - implementation 'org.mongodb:bson-record-codec:4.11.1' - implementation 'org.mongodb:bson:4.11.1' implementation 'org.slf4j:slf4j-api:1.7.30' - implementation 'ch.qos.logback:logback-classic:1.1.2' - implementation 'com.google.guava:guava:14.0.1' - implementation 'com.github.ben-manes.caffeine:caffeine:2.9.3' - implementation 'org.apache.kafka:kafka-clients:2.1.0' - implementation fromURL( - 'https://github.com/kbase/jars/raw/master/lib/jars/kbase/handle/AbstractHandleClient-1.0.0.jar', - 'AbstractHandleClient-1.0.0' - ) - implementation fromURL( - 'https://github.com/kbase/jars/raw/master/lib/jars/kbase/sample/SampleServiceClient-0.1.1.jar', - 'SampleServiceClient-0.1.1' - ) // ### Server dependencies, specifically for java_common JsonServerServlet ### @@ -188,24 +188,21 @@ dependencies { 'https://github.com/kbase/jars/raw/master/lib/jars/kbase/common/kbase-common-0.2.0.jar', 'kbase-common-0.2.0' ) - // joda-time is required for kbase-common and syslog4j - implementation 'joda-time:joda-time:2.2' - // this is OOOOOOLD. But that probably means updating java_common - implementation 'org.eclipse.jetty.aggregate:jetty-all:7.0.0.v20091005' - implementation 'javax.servlet:servlet-api:2.5' - implementation 'javax.annotation:javax.annotation-api:1.3.2' - // Syslog4j 0.9.46 doesn't appear to be available on Maven. It apparently lives in - // a JetBrains artifact server, but that's too much trouble and there's only one version there - // anyway. - // https://mvnrepository.com/artifact/org.jetbrains/syslog4j/0.9.46 + // Pull from jars repo vs a maven repository to avoid the JNA dependency // Need to rework the java common logger to not use syslog4j at all since it's abandonware // and has a ton of CVEs, even in the newer versions. implementation fromURL( 'https://github.com/kbase/jars/raw/master/lib/jars/syslog4j/syslog4j-0.9.46.jar', 'syslog4j-0.9.46' ) + implementation 'javax.annotation:javax.annotation-api:1.3.2' + implementation 'javax.servlet:servlet-api:2.5' + // joda-time is required for kbase-common and syslog4j + implementation 'joda-time:joda-time:2.2' // needed for syslog4j implementation 'net.java.dev.jna:jna:3.4.0' + // this is OOOOOOLD. But that probably means updating java_common + implementation 'org.eclipse.jetty.aggregate:jetty-all:7.0.0.v20091005' // ### Blobstore / Shock client and dependencies ### @@ -226,18 +223,18 @@ dependencies { // ### Test ### - testImplementation 'junit:junit:4.12' - testImplementation 'org.hamcrest:hamcrest-core:1.3' - testImplementation 'com.github.zafarkhaja:java-semver:0.9.0' - testImplementation 'nl.jqno.equalsverifier:equalsverifier:3.1.10' - testImplementation 'com.arangodb:arangodb-java-driver:6.7.2' - testImplementation 'org.mockito:mockito-core:3.0.0' - - testImplementation 'commons-lang:commons-lang:2.4' testImplementation fromURL( 'https://github.com/kbase/jars/raw/master/lib/jars/kbase/auth2/kbase-auth2-test-shadow-all-0.7.0.jar', 'kbase-auth2-test-shadow-all-0.7.0' ) + testImplementation 'com.arangodb:arangodb-java-driver:6.7.2' + testImplementation 'com.github.zafarkhaja:java-semver:0.9.0' + testImplementation 'org.hamcrest:hamcrest-core:1.3' + testImplementation 'commons-lang:commons-lang:2.4' + testImplementation 'junit:junit:4.12' + testImplementation 'nl.jqno.equalsverifier:equalsverifier:3.1.10' + testImplementation 'org.mockito:mockito-core:3.0.0' + } task showTestClassPath { From 23a265746cfacb74ed90fc8e01ff3c1769130d86 Mon Sep 17 00:00:00 2001 From: Gavin Date: Thu, 21 Mar 2024 15:24:13 -0700 Subject: [PATCH 25/48] Remove JNA JNA doesn't work in a shadow jar, which we'll need for workspace test rigs in other repos --- build.gradle | 2 - docsource/conf.py | 4 +- docsource/releasenotes.rst | 6 +- .../kbase/workspace/docserver/DocServer.java | 59 +++++++++++-------- .../test/kbase/JSONRPCLayerTest.java | 2 +- .../test/kbase/SchemaUpdaterCLITest.java | 2 +- .../workspace/version/WorkspaceVersion.java | 2 +- test/workspace_container_test.py | 2 +- 8 files changed, 47 insertions(+), 32 deletions(-) diff --git a/build.gradle b/build.gradle index bb720a04..e007da3d 100644 --- a/build.gradle +++ b/build.gradle @@ -199,8 +199,6 @@ dependencies { implementation 'javax.servlet:servlet-api:2.5' // joda-time is required for kbase-common and syslog4j implementation 'joda-time:joda-time:2.2' - // needed for syslog4j - implementation 'net.java.dev.jna:jna:3.4.0' // this is OOOOOOLD. But that probably means updating java_common implementation 'org.eclipse.jetty.aggregate:jetty-all:7.0.0.v20091005' diff --git a/docsource/conf.py b/docsource/conf.py index 62b8d108..d7f6497c 100644 --- a/docsource/conf.py +++ b/docsource/conf.py @@ -50,9 +50,9 @@ # built documents. # # The short X.Y version. -version = '0.14' +version = '0.15' # The full version, including alpha/beta/rc tags. -release = '0.14.3' +release = '0.15.0' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/docsource/releasenotes.rst b/docsource/releasenotes.rst index 9e1afb90..4f5c3434 100644 --- a/docsource/releasenotes.rst +++ b/docsource/releasenotes.rst @@ -3,9 +3,13 @@ Workspace service release notes =============================== -VERSION: 0.14.3 (Released 2/22/2024) +VERSION: 0.15.0 (Released TBD) ------------------------------------ +BACKWARDS INCOMPATIBILIES: + +* The Docserver now logs to standard out in the same way as the workspace server. + UPDATES: * The MongoDB clients have been updated to the most recent version and the service tested diff --git a/src/us/kbase/workspace/docserver/DocServer.java b/src/us/kbase/workspace/docserver/DocServer.java index 0570c008..ae8bed97 100644 --- a/src/us/kbase/workspace/docserver/DocServer.java +++ b/src/us/kbase/workspace/docserver/DocServer.java @@ -15,6 +15,7 @@ import org.eclipse.jetty.server.Server; import org.eclipse.jetty.servlet.ServletContextHandler; import org.eclipse.jetty.servlet.ServletHolder; +import org.productivity.java.syslog4j.SyslogIF; import com.google.common.io.Files; @@ -34,10 +35,11 @@ public class DocServer extends HttpServlet { /** * The name of the service that this document server is serving documents * for. This name will be used to find the appropriate section of the - * KBase deploy.cfg configuration file if the name is not specified in the - * environment. + * KBase deploy.cfg configuration file. */ - public static final String DEFAULT_COMPANION_SERVICE_NAME = "Workspace"; + public static final String COMPANION_SERVICE_NAME = "Workspace"; + // TODO CONFIG configure directly vs going through JsonSererServlet + /** * The name of this document server, used for logging purposes. */ @@ -56,10 +58,8 @@ public class DocServer extends HttpServlet { private static final FileNameMap FILE_NAME_MAP = URLConnection.getFileNameMap(); - private static final String DONT_TRUST_X_IP_HEADERS = - "dont_trust_x_ip_headers"; - private static final String DONT_TRUST_X_IP_HEADERS2 = - "dont-trust-x-ip-headers"; + private static final String DONT_TRUST_X_IP_HEADERS = "dont_trust_x_ip_headers"; + private static final String DONT_TRUST_X_IP_HEADERS2 = "dont-trust-x-ip-headers"; private static final String STRING_TRUE = "true"; private final String docsLoc; @@ -83,18 +83,13 @@ public class DocServer extends HttpServlet { public DocServer() { //TODO JERSEY switch to a jersey endpoint when that's available, ditch logger, etc. Pretty big rewrite/simplification super(); - /* really should try and get the companion service name from the env - * here, but not worth the effort - */ - JsonServerSyslog templogger = new JsonServerSyslog( - DEFAULT_COMPANION_SERVICE_NAME, JsonServerServlet.KB_DEP, - JsonServerSyslog.LOG_LEVEL_INFO, false); - if (sysLogOut != null) { - templogger.changeOutput(sysLogOut); - } - // getConfig() gets the service name from the env if it exists + JsonServerSyslog.setStaticUseSyslog(false); + final JsonServerSyslog templogger = getLogger(COMPANION_SERVICE_NAME, sysLogOut); + + // getConfig() gets the service name from the env if it exists which is bad + // since the Workspace doesn't. Need to redo configuration handling at some point final Map config = JsonServerServlet.getConfig( - DEFAULT_COMPANION_SERVICE_NAME, templogger); + COMPANION_SERVICE_NAME, templogger); String serverName = config.get(CFG_SERVICE_NAME); if (serverName == null || serverName.isEmpty()) { @@ -110,16 +105,34 @@ public DocServer() { docsLoc = dlog; } } - logger = new JsonServerSyslog(serverName, JsonServerServlet.KB_DEP, - JsonServerSyslog.LOG_LEVEL_INFO, false); - if (sysLogOut != null) { - logger.changeOutput(sysLogOut); - } + logger = getLogger(serverName, sysLogOut); this.trustX_IPHeaders = !STRING_TRUE.equals(config.get(DONT_TRUST_X_IP_HEADERS)) && !STRING_TRUE.equals(config.get(DONT_TRUST_X_IP_HEADERS2)); } + private JsonServerSyslog getLogger( + final String serverName, + final SyslogOutput output) { + final JsonServerSyslog logger = new JsonServerSyslog( + serverName, JsonServerServlet.KB_DEP, JsonServerSyslog.LOG_LEVEL_INFO, false); + if (output == null) { + logger.changeOutput(new SyslogOutput() { + // this is manually tested + @Override + public void logToSystem( + final SyslogIF log, + final int level, + final String message) { + System.out.println(message); + } + }); + } else { + logger.changeOutput(output); + } + return logger; + } + @Override protected void doOptions( final HttpServletRequest request, diff --git a/src/us/kbase/workspace/test/kbase/JSONRPCLayerTest.java b/src/us/kbase/workspace/test/kbase/JSONRPCLayerTest.java index a47c90fc..da0e3f91 100644 --- a/src/us/kbase/workspace/test/kbase/JSONRPCLayerTest.java +++ b/src/us/kbase/workspace/test/kbase/JSONRPCLayerTest.java @@ -101,7 +101,7 @@ */ public class JSONRPCLayerTest extends JSONRPCLayerTester { - private static final String VER = "0.14.3"; + private static final String VER = "0.15.0"; @Test public void ver() throws Exception { diff --git a/src/us/kbase/workspace/test/kbase/SchemaUpdaterCLITest.java b/src/us/kbase/workspace/test/kbase/SchemaUpdaterCLITest.java index e84f67df..8e633b75 100644 --- a/src/us/kbase/workspace/test/kbase/SchemaUpdaterCLITest.java +++ b/src/us/kbase/workspace/test/kbase/SchemaUpdaterCLITest.java @@ -41,7 +41,7 @@ public class SchemaUpdaterCLITest { - private static final String VERSION = "0.14.3"; + private static final String VERSION = "0.15.0"; private static final List HELP = list( "Usage: update_workspace_database_schema [-chosV] ", diff --git a/src/us/kbase/workspace/version/WorkspaceVersion.java b/src/us/kbase/workspace/version/WorkspaceVersion.java index 2d7947e4..d855c990 100644 --- a/src/us/kbase/workspace/version/WorkspaceVersion.java +++ b/src/us/kbase/workspace/version/WorkspaceVersion.java @@ -6,6 +6,6 @@ public class WorkspaceVersion { private WorkspaceVersion() {}; /** The version. */ - public static final String VERSION = "0.14.3"; + public static final String VERSION = "0.15.0"; } diff --git a/test/workspace_container_test.py b/test/workspace_container_test.py index d53a15ca..84ef7f9e 100644 --- a/test/workspace_container_test.py +++ b/test/workspace_container_test.py @@ -17,7 +17,7 @@ """ -WORKSPACE_VERSION = "0.14.3" +WORKSPACE_VERSION = "0.15.0" AUTH_URL = "http://localhost:8080" WS_URL = "http://localhost:7058" From cb4f1a863cf9c746e7c7933cbbd8bc5642385ec2 Mon Sep 17 00:00:00 2001 From: Gavin Date: Sun, 24 Mar 2024 19:07:53 -0700 Subject: [PATCH 26/48] Build docs --- build.gradle | 62 +++++++++++++++++---- docshtml/Workspace.html | 2 +- lib/Bio/KBase/workspace/Client.pm | 2 +- lib/biokbase/workspace/client.py | 2 +- src/us/kbase/workspace/GetObjectOutput.java | 2 +- src/us/kbase/workspace/WorkspaceServer.java | 2 +- workspace.spec | 2 +- 7 files changed, 58 insertions(+), 16 deletions(-) diff --git a/build.gradle b/build.gradle index e007da3d..d00a8a2c 100644 --- a/build.gradle +++ b/build.gradle @@ -15,7 +15,9 @@ plugins { id 'com.github.johnrengelman.shadow' version '8.1.1' } -// TODO NOW test shadow jar works in groups - remove JNA - commit 2 +var buildDocsDir = "$buildDir/docs/otherdoc/" + +// TODO NOW test shadow jar works in groups - need test controller - commit 2 // TODO NOW get docserver working in WAR and test in docker-compose <- edit to start test server - commit 3 // TODO NOW client jar - commit 4 // TODO NOW client jar javadoc - needs java_common source - commit 4 @@ -32,6 +34,54 @@ compileJava { options.release = 11 } +javadoc { + /* We don't actually need the full javadoc for anything, so just hijack this task for + * building the client javadocs. If we ever need the full javadocs make a new task for the + * client java docs + */ + /* TODO DOCS currently java-common and auth links don't work. ROI for fixing them is low. + * Ideally, in the future make github actions publish docs on release and ref them + * here. + * https://github.com/marketplace/actions/deploy-publish-javadoc + * https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-gradle-registry + */ + /* TODO DOCS the current sdk documenation looks like invalid html to javadoc + * need to go through and remove + * also some spots with < / > that need to be wrapped with {@code } in internal code + */ + failOnError = false + options { + links "https://docs.oracle.com/en/java/javase/11/docs/api/" + links "https://www.javadoc.io/doc/com.fasterxml.jackson.core/jackson-core/2.9.9/" + links "https://www.javadoc.io/doc/com.fasterxml.jackson.core/jackson-databind/2.9.9/" + } + include "**/workspace/*.java" + exclude "**/workspace/WorkspaceServer.java" + include "**/common/service/Tuple*.java" +} + +task buildDocs { + // ideally we'd add the inputs and outputs spec but that's too much work for too little gain + dependsOn javadoc + doLast { + // need to make sure we remove any docs that no longer exist in the source + delete "$buildDocsDir" + copy { + from "$rootDir/workspace.spec" into "$buildDocsDir" + } + copy { + from "$rootDir/docshtml/" into "$buildDocsDir" include "*" + } + exec { + commandLine "pod2html", "--infile=$rootDir/lib/Bio/KBase/workspace/Client.pm", "--outfile=$buildDocsDir/workspace_perl.html" + } + exec { + commandLine "sphinx-build", "$rootDir/docsource/", "$buildDocsDir" + } + delete fileTree(".").matching { include "pod2htm*.tmp" } + } +} + tasks.withType(Test) { /* * TODO TEST Figure out why tests fail without this and remove. Might have something to do @@ -114,14 +164,6 @@ sourceSets { } } -javadoc { - options { - links "https://docs.oracle.com/en/java/javase/11/docs/api/" - links "https://www.javadoc.io/doc/com.fasterxml.jackson.core/jackson-core/2.9.9/" - links "https://www.javadoc.io/doc/com.fasterxml.jackson.core/jackson-databind/2.9.9/" - } -} - war { webXml = file('war/web.xml') } @@ -189,7 +231,7 @@ dependencies { 'kbase-common-0.2.0' ) // Pull from jars repo vs a maven repository to avoid the JNA dependency - // Need to rework the java common logger to not use syslog4j at all since it's abandonware + // TODO DEPS Need to rework the java common logger to not use syslog4j at all since it's abandonware // and has a ton of CVEs, even in the newer versions. implementation fromURL( 'https://github.com/kbase/jars/raw/master/lib/jars/syslog4j/syslog4j-0.9.46.jar', diff --git a/docshtml/Workspace.html b/docshtml/Workspace.html index d66311df..ec64532b 100644 --- a/docshtml/Workspace.html +++ b/docshtml/Workspace.html @@ -1 +1 @@ -Workspace
/*
*The Workspace Service (WSS) is primarily a language independent remote storage
*and retrieval system for KBase typed objects (TO) defined with the KBase
*Interface Description Language (KIDL). It has the following primary features:
*- Immutable storage of TOs with
*- user defined metadata
*- data provenance
*- Versioning of TOs
*- Referencing from TO to TO
*- Typechecking of all saved objects against a KIDL specification
*- Collecting typed objects into a workspace
*- Sharing workspaces with specific KBase users or the world
*- Freezing and publishing workspaces
*/
moduleWorkspace{

/*
*A boolean. 0 = false, other = true.
*/
typedefintboolean;

/*
*The unique, permanent numerical ID of a workspace.
*/
typedefintws_id;

/*
*A string used as a name for a workspace.
*Any string consisting of alphanumeric characters and "_", ".", or "-"
*that is not an integer is acceptable. The name may optionally be
*prefixed with the workspace owner's user name and a colon, e.g.
*kbasetest:my_workspace.
*/
typedefstringws_name;

/*
*Represents the permissions a user or users have to a workspace:
*
*'a' - administrator. All operations allowed.
*'w' - read/write.
*'r' - read.
*'n' - no permissions.
*/
typedefstringpermission;

/*
*Login name of a KBase user account.
*/
typedefstringusername;

/*
*A time in the format YYYY-MM-DDThh:mm:ssZ, where Z is either the
*character Z (representing the UTC timezone) or the difference
*in time to UTC in the format +/-HHMM, eg:
*2012-12-17T23:24:06-0500 (EST time)
*2013-04-03T08:56:32+0000 (UTC time)
*2013-04-03T08:56:32Z (UTC time)
*/
typedefstringtimestamp;

/*
*A Unix epoch (the time since 00:00:00 1/1/1970 UTC) in milliseconds.
*/
typedefintepoch;

/*
*A type string.
*Specifies the type and its version in a single string in the format
*[module].[typename]-[major].[minor]:
*
*module - a string. The module name of the typespec containing the type.
*typename - a string. The name of the type as assigned by the typedef
*statement.
*major - an integer. The major version of the type. A change in the
*major version implies the type has changed in a non-backwards
*compatible way.
*minor - an integer. The minor version of the type. A change in the
*minor version implies that the type has changed in a way that is
*backwards compatible with previous type definitions.
*
*In many cases, the major and minor versions are optional, and if not
*provided the most recent version will be used.
*
*Example: MyModule.MyType-3.1
*/
typedefstringtype_string;

/*
*An id type (e.g. from a typespec @id annotation: @id [idtype])
*/
typedefstringid_type;

/*
*An id extracted from an object.
*/
typedefstringextracted_id;

/*
*User provided metadata about an object.
*Arbitrary key-value pairs provided by the user.
*/
typedefmapping<string,string>usermeta;

/*
*The lock status of a workspace.
*One of 'unlocked', 'locked', or 'published'.
*/
typedefstringlock_status;

/*
*A workspace identifier.
*
*Select a workspace by one, and only one, of the numerical id or name.
*ws_id id - the numerical ID of the workspace.
*ws_name workspace - the name of the workspace.
*/
typedefstructure{
ws_nameworkspace;
}
WorkspaceIdentity;

/*
*Meta data associated with a workspace. Provided for backwards
*compatibility. To be replaced by workspace_info.
*
*ws_name id - name of the workspace
*username owner - name of the user who owns (who created) this workspace
*timestamp moddate - date when the workspace was last modified
*int objects - the approximate number of objects currently stored in
*the workspace.
*permission user_permission - permissions for the currently logged in
*user for the workspace
*permission global_permission - default permissions for the workspace
*for all KBase users
*ws_id num_id - numerical ID of the workspace
*
*@deprecatedWorkspace.workspace_info
*/
typedeftuple<ws_nameid,usernameowner,timestampmoddate,intobjects,permissionuser_permission,permissionglobal_permission,ws_idnum_id>workspace_metadata;

/*
*Information about a workspace.
*
*ws_id id - the numerical ID of the workspace.
*ws_name workspace - name of the workspace.
*username owner - name of the user who owns (e.g. created) this workspace.
*timestamp moddate - date when the workspace was last modified.
*int max_objid - the maximum object ID appearing in this workspace.
*Since cloning a workspace preserves object IDs, this number may be
*greater than the number of objects in a newly cloned workspace.
*permission user_permission - permissions for the authenticated user of
*this workspace.
*permission globalread - whether this workspace is globally readable.
*lock_status lockstat - the status of the workspace lock.
*usermeta metadata - arbitrary user-supplied metadata about
*the workspace.
*/
typedeftuple<ws_idid,ws_nameworkspace,usernameowner,timestampmoddate,intmax_objid,permissionuser_permission,permissionglobalread,lock_statuslockstat,usermetametadata>workspace_info;

/*
*The unique, permanent numerical ID of an object.
*/
typedefintobj_id;

/*
*A string used as a name for an object.
*Any string consisting of alphanumeric characters and the characters
*|._- that is not an integer is acceptable.
*/
typedefstringobj_name;

/*
*An object version.
*The version of the object, starting at 1.
*/
typedefintobj_ver;

/*
*A string that uniquely identifies an object in the workspace service.
*
*The format is [ws_name or id]/[obj_name or id]/[obj_ver].
*For example, MyFirstWorkspace/MyFirstObject/3 would identify the third version
*of an object called MyFirstObject in the workspace called
*MyFirstWorkspace. 42/Panic/1 would identify the first version of
*the object name Panic in workspace with id 42. Towel/1/6 would
*identify the 6th version of the object with id 1 in the Towel
*workspace.If the version number is omitted, the latest version of
*the object is assumed.
*/
typedefstringobj_ref;

/*
*An object identifier.
*
*Select an object by either:
*One, and only one, of the numerical id or name of the workspace.
*ws_id wsid - the numerical ID of the workspace.
*ws_name workspace - the name of the workspace.
*AND
*One, and only one, of the numerical id or name of the object.
*obj_id objid- the numerical ID of the object.
*obj_name name - name of the object.
*OPTIONALLY
*obj_ver ver - the version of the object.
*OR an object reference string:
*obj_ref ref - an object reference string.
*/
typedefstructure{
ws_nameworkspace;
ws_idwsid;
obj_idobjid;
}
ObjectIdentity;

/*
*A chain of objects with references to one another.
*
*An object reference chain consists of a list of objects where the nth
*object possesses a reference, either in the object itself or in the
*object provenance, to the n+1th object.
*/
typedeflist<ObjectIdentity>ref_chain;

/*
*A chain of objects with references to one another as a string.
*
*A single string that is semantically identical to ref_chain above.
*Represents a path from one workspace object to another through an
*arbitrarily number of intermediate objects where each object has a
*dependency or provenance reference to the next object. Each entry is
*an obj_ref as defined earlier. Entries are separated by semicolons.
*Whitespace is ignored.
*
*Examples:
*3/5/6; kbaseuser:myworkspace/myobject; 5/myobject/2
*aworkspace/6
*/
typedefstringref_string;

/*
*A path into an object.
*Identify a sub portion of an object by providing the path, delimited by
*a slash (/), to that portion of the object. Thus the path may not have
*slashes in the structure or mapping keys. Examples:
*/foo/bar/3 - specifies the bar key of the foo mapping and the 3rd
*entry of the array if bar maps to an array or the value mapped to
*the string "3" if bar maps to a map.
*/foo/bar/[*]/baz - specifies the baz field of all the objects in the
*list mapped by the bar key in the map foo.
*/foo/asterisk/baz - specifies the baz field of all the objects in the
*values of the foo mapping. Swap 'asterisk' for * in the path.
*In case you need to use '/' or '~' in path items use JSON Pointer
*notation defined here: http://tools.ietf.org/html/rfc6901
*/
typedefstringobject_path;

/*
*DEPRECATED
*
*An object subset identifier.
*
*Select a subset of an object by:
*EITHER
*One, and only one, of the numerical id or name of the workspace.
*ws_id wsid - the numerical ID of the workspace.
*ws_name workspace - name of the workspace.
*AND
*One, and only one, of the numerical id or name of the object.
*obj_id objid- the numerical ID of the object.
*obj_name name - name of the object.
*OPTIONALLY
*obj_ver ver - the version of the object.
*OR an object reference string:
*obj_ref ref - an object reference string.
*AND a subset specification:
*list<object_path> included - the portions of the object to include
*in the object subset.
*boolean strict_maps - if true, throw an exception if the subset
*specification traverses a non-existant map key (default false)
*boolean strict_arrays - if true, throw an exception if the subset
*specification exceeds the size of an array (default true)
*
*@deprecatedWorkspace.ObjectSpecification
*/
typedefstructure{
ws_nameworkspace;
ws_idwsid;
obj_idobjid;
list<object_path>included;
booleanstrict_maps;
booleanstrict_arrays;
}
SubObjectIdentity;

/*
*An Object Specification (OS). Inherits from ObjectIdentity (OI).
*Specifies which object, and which parts of that object, to retrieve
*from the Workspace Service.
*
*The fields wsid, workspace, objid, name, and ver are identical to
*the OI fields.
*
*The ref field's behavior is extended from OI. It maintains its
*previous behavior, but now also can act as a reference string. See
*reference following below for more information.
*
*REFERENCE FOLLOWING:
*
*Reference following guarantees that a user that has access to an
*object can always see a) objects that are referenced inside the object
*and b) objects that are referenced in the object's provenance. This
*ensures that the user has visibility into the entire provenance of the
*object and the object's object dependencies (e.g. references).
*
*The user must have at least read access to the object specified in this
*SO, but need not have access to any further objects in the reference
*chain, and those objects may be deleted.
*
*Optional reference following fields:
*Note that only one of the following fields may be specified.
*
*ref_chain obj_path - a path to the desired object from the object
*specified in this OS. In other words, the object specified in this
*OS is assumed to be accessible to the user, and the objects in
*the object path represent a chain of references to the desired
*object at the end of the object path. If the references are all
*valid, the desired object will be returned.
*- OR -
*list<obj_ref> obj_ref_path - shorthand for the obj_path.
*- OR -
*ref_chain to_obj_path - identical to obj_path, except that the path
*is TO the object specified in this OS, rather than from the object.
*In other words the object specified by wsid/objid/ref etc. is the
*end of the path, and to_obj_path is the rest of the path. The user
*must have access to the first object in the to_obj_path.
*- OR -
*list<obj_ref> to_obj_ref_path - shorthand for the to_obj_path.
*- OR -
*ref_string ref - A string representing a reference path from
*one object to another. Unlike the previous reference following
*options, the ref_string represents the ENTIRE path from the source
*object to the target object. As with the OI object, the ref field
*may contain a single reference.
*- OR -
*boolean find_refence_path - This is the last, slowest, and most expensive resort
*for getting a referenced object - do not use this method unless the
*path to the object is unavailable by any other means. Setting the
*find_refence_path parameter to true means that the workspace service will
*search through the object reference graph from the object specified
*in this OS to find an object that 1) the user can access, and 2)
*has an unbroken reference path to the target object. If the search
*succeeds, the object will be returned as normal. Note that the search
*will automatically fail after a certain (but much larger than necessary
*for the vast majority of cases) number of objects are traversed.
*
*
*OBJECT SUBSETS:
*
*When selecting a subset of an array in an object, the returned
*array is compressed to the size of the subset, but the ordering of
*the array is maintained. For example, if the array stored at the
*'feature' key of a Genome object has 4000 entries, and the object paths
*provided are:
*/feature/7
*/feature/3015
*/feature/700
*The returned feature array will be of length three and the entries will
*consist, in order, of the 7th, 700th, and 3015th entries of the
*original array.
*
*Optional object subset fields:
*list<object_path> included - the portions of the object to include
*in the object subset.
*boolean strict_maps - if true, throw an exception if the subset
*specification traverses a non-existent map key (default false)
*boolean strict_arrays - if true, throw an exception if the subset
*specification exceeds the size of an array (default true)
*/
typedefstructure{
ws_nameworkspace;
ws_idwsid;
obj_idobjid;
ref_chainobj_path;
list<obj_ref>obj_ref_path;
ref_chainto_obj_path;
list<obj_ref>to_obj_ref_path;
booleanfind_reference_path;
list<object_path>included;
booleanstrict_maps;
booleanstrict_arrays;
}
ObjectSpecification;

/*
*Meta data associated with an object stored in a workspace. Provided for
*backwards compatibility.
*
*obj_name id - name of the object.
*type_string type - type of the object.
*timestamp moddate - date when the object was saved
*obj_ver instance - the version of the object
*string command - Deprecated. Always returns the empty string.
*username lastmodifier - name of the user who last saved the object,
*including copying the object
*username owner - Deprecated. Same as lastmodifier.
*ws_name workspace - name of the workspace in which the object is
*stored
*string ref - Deprecated. Always returns the empty string.
*string chsum - the md5 checksum of the object.
*usermeta metadata - arbitrary user-supplied metadata about
*the object.
*obj_id objid - the numerical id of the object.
*
*@deprecatedobject_info
*/
typedeftuple<obj_nameid,type_stringtype,timestampmoddate,intinstance,stringcommand,usernamelastmodifier,usernameowner,ws_nameworkspace,stringref,stringchsum,usermetametadata,obj_idobjid>object_metadata;

/*
*Information about an object, including user provided metadata.
*
*obj_id objid - the numerical id of the object.
*obj_name name - the name of the object.
*type_string type - the type of the object.
*timestamp save_date - the save date of the object.
*obj_ver ver - the version of the object.
*username saved_by - the user that saved or copied the object.
*ws_id wsid - the workspace containing the object.
*ws_name workspace - the workspace containing the object.
*string chsum - the md5 checksum of the object.
*int size - the size of the object in bytes.
*usermeta meta - arbitrary user-supplied metadata about
*the object.
*/
typedeftuple<obj_idobjid,obj_namename,type_stringtype,timestampsave_date,intversion,usernamesaved_by,ws_idwsid,ws_nameworkspace,stringchsum,intsize,usermetameta>object_info;

/*
*Information about an object as a struct rather than a tuple.
*This allows adding fields in a backward compatible way in the future.
*Includes more fields than object_info.
*
*obj_id objid - the numerical id of the object.
*obj_name name - the name of the object.
*type_string type - the type of the object.
*timestamp save_date - the save date of the object.
*obj_ver ver - the version of the object.
*username saved_by - the user that saved or copied the object.
*ws_id wsid - the workspace containing the object.
*ws_name workspace - the workspace containing the object.
*string chsum - the md5 checksum of the object.
*int size - the size of the object in bytes.
*usermeta meta - arbitrary user-supplied metadata about the object.
*usermeta adminmeta - service administrator metadata set on an object. Unlike most
*other object fields, admin metadata is mutable.
*list<obj_ref> path - the path to the object.
*/
typedefstructure{
obj_idobjid;
timestampsave_date;
intversion;
usernamesaved_by;
ws_idwsid;
ws_nameworkspace;
stringchsum;
intsize;
usermetaadminmeta;
list<obj_ref>path;
}
ObjectInfo;

/*
*An external data unit. A piece of data from a source outside the
*Workspace.
*
*On input, only one of the resource_release_date or
*resource_release_epoch may be supplied. Both are supplied on output.
*
*All fields are optional, but at least one field must be present.
*
*string resource_name - the name of the resource, for example JGI.
*string resource_url - the url of the resource, for example
*http://genome.jgi.doe.gov
*string resource_version - version of the resource
*timestamp resource_release_date - the release date of the resource
*epoch resource_release_epoch - the release date of the resource
*string data_url - the url of the data, for example
*http://genome.jgi.doe.gov/pages/dynamicOrganismDownload.jsf?
*organism=BlaspURHD0036
*string data_id - the id of the data, for example
*7625.2.79179.AGTTCC.adnq.fastq.gz
*string description - a free text description of the data.
*/
typedefstructure{
stringresource_name;
stringresource_url;
stringresource_version;
timestampresource_release_date;
epochresource_release_epoch;
stringdata_url;
stringdata_id;
stringdescription;
}
ExternalDataUnit;

/*
*Information about a subaction that is invoked by a provenance action.
*
*A provenance action (PA) may invoke subactions (SA), e.g. calling a
*separate piece of code, a service, or a script. In most cases these
*calls are the same from PA to PA and so do not need to be listed in
*the provenance since providing information about the PA alone provides
*reproducibility.
*
*In some cases, however, SAs may change over time, such that invoking
*the same PA with the same parameters may produce different results.
*For example, if a PA calls a remote server, that server may be updated
*between a PA invoked on day T and another PA invoked on day T+1.
*
*The SubAction structure allows for specifying information about SAs
*that may dynamically change from PA invocation to PA invocation.
*
*All fields are optional but at least one field must be present.
*
*string name - the name of the SA.
*string ver - the version of SA.
*string code_url - a url pointing to the SA's codebase.
*string commit - a version control commit ID for the SA.
*string endpoint_url - a url pointing to the access point for the SA -
*a server url, for instance.
*/
typedefstructure{
stringname;
stringver;
stringcode_url;
stringcommit;
stringendpoint_url;
}
SubAction;

/*
*A provenance action.
*
*A provenance action (PA) is an action taken while transforming one data
*object to another. There may be several PAs taken in series. A PA is
*typically running a script, running an api command, etc. All of the
*following fields are optional, but more information provided equates to
*better data provenance.
*
*If a provenance action has no fields defined at all, it is silently dropped from
*the list.
*
*resolved_ws_objects should never be set by the user; it is set by the
*workspace service when returning data.
*
*On input, only one of the time or epoch may be supplied. Both are
*supplied on output.
*
*The maximum size of the entire provenance object, including all actions,
*is 1MB.
*
*timestamp time - the time the action was started
*epoch epoch - the time the action was started.
*string caller - the name or id of the invoker of this provenance
*action. In most cases, this will be the same for all PAs.
*string service - the name of the service that performed this action.
*string service_ver - the version of the service that performed this action.
*string method - the method of the service that performed this action.
*list<UnspecifiedObject> method_params - the parameters of the method
*that performed this action. If an object in the parameters is a
*workspace object, also put the object reference in the
*input_ws_object list.
*string script - the name of the script that performed this action.
*string script_ver - the version of the script that performed this action.
*string script_command_line - the command line provided to the script
*that performed this action. If workspace objects were provided in
*the command line, also put the object reference in the
*input_ws_object list.
*list<ref_string> input_ws_objects - the workspace objects that
*were used as input to this action; typically these will also be
*present as parts of the method_params or the script_command_line
*arguments. A reference path into the object graph may be supplied.
*list<obj_ref> resolved_ws_objects - the workspace objects ids from
*input_ws_objects resolved to permanent workspace object references
*by the workspace service.
*list<string> intermediate_incoming - if the previous action produced
*output that 1) was not stored in a referrable way, and 2) is
*used as input for this action, provide it with an arbitrary and
*unique ID here, in the order of the input arguments to this action.
*These IDs can be used in the method_params argument.
*list<string> intermediate_outgoing - if this action produced output
*that 1) was not stored in a referrable way, and 2) is
*used as input for the next action, provide it with an arbitrary and
*unique ID here, in the order of the output values from this action.
*These IDs can be used in the intermediate_incoming argument in the
*next action.
*list<ExternalDataUnit> external_data - data external to the workspace
*that was either imported to the workspace or used to create a
*workspace object.
*list<SubAction> subactions - the subactions taken as a part of this
*action.
*mapping<string, string> custom - user definable custom provenance
*fields and their values.
*string description - a free text description of this action.
*/
typedefstructure{
epochepoch;
stringcaller;
stringservice;
stringservice_ver;
stringmethod;
list<UnspecifiedObject>method_params;
stringscript;
stringscript_ver;
stringscript_command_line;
list<ref_string>input_ws_objects;
list<obj_ref>resolved_ws_objects;
list<string>intermediate_incoming;
list<string>intermediate_outgoing;
list<ExternalDataUnit>external_data;
list<SubAction>subactions;
mapping<string,string>custom;
stringdescription;
}
ProvenanceAction;

/*
*Returns the version of the workspace service.
*/
funcdefver()returns(stringver)authenticationnone;

/*
*Input parameters for the "create_workspace" function.
*
*Required arguments:
*ws_name workspace - name of the workspace to be created.
*
*Optional arguments:
*permission globalread - 'r' to set the new workspace globally readable,
*default 'n'.
*string description - A free-text description of the new workspace, 1000
*characters max. Longer strings will be mercilessly and brutally
*truncated.
*usermeta meta - arbitrary user-supplied metadata for the workspace.
*/
typedefstructure{
ws_nameworkspace;
permissionglobalread;
stringdescription;
}
CreateWorkspaceParams;

/*
*Creates a new workspace.
*/
funcdefcreate_workspace(CreateWorkspaceParamsparams)returns(workspace_infoinfo)authenticationrequired;

/*
*Input parameters for the "alter_workspace_metadata" function.
*
*Required arguments:
*WorkspaceIdentity wsi - the workspace to be altered
*
*One or both of the following arguments are required:
*usermeta new - metadata to assign to the workspace. Duplicate keys will
*be overwritten.
*list<string> remove - these keys will be removed from the workspace
*metadata key/value pairs.
*/
typedefstructure{
list<string>remove;
}
AlterWorkspaceMetadataParams;

/*
*Change the metadata associated with a workspace.
*/
funcdefalter_workspace_metadata(AlterWorkspaceMetadataParamsparams)returns()authenticationrequired;

/*
*Input parameters for the "clone_workspace" function.
*
*Note that deleted objects are not cloned, although hidden objects are
*and remain hidden in the new workspace.
*
*Required arguments:
*WorkspaceIdentity wsi - the workspace to be cloned.
*ws_name workspace - name of the workspace to be cloned into. This must
*be a non-existant workspace name.
*
*Optional arguments:
*permission globalread - 'r' to set the new workspace globally readable,
*default 'n'.
*string description - A free-text description of the new workspace, 1000
*characters max. Longer strings will be mercilessly and brutally
*truncated.
*usermeta meta - arbitrary user-supplied metadata for the workspace.
*list<ObjectIdentity> exclude - exclude the specified objects from the
*cloned workspace. Either an object ID or a object name must be
*specified in each ObjectIdentity - any supplied reference strings,
*workspace names or IDs, and versions are ignored.
*/
typedefstructure{
ws_nameworkspace;
permissionglobalread;
stringdescription;
list<ObjectIdentity>exclude;
}
CloneWorkspaceParams;

/*
*Clones a workspace.
*/
funcdefclone_workspace(CloneWorkspaceParamsparams)returns(workspace_infoinfo)authenticationrequired;

/*
*Lock a workspace, preventing further changes.
*
*WARNING: Locking a workspace is permanent. A workspace, once locked,
*cannot be unlocked.
*
*The only changes allowed for a locked workspace are changing user
*based permissions or making a private workspace globally readable,
*thus permanently publishing the workspace. A locked, globally readable
*workspace cannot be made private.
*/
funcdeflock_workspace(WorkspaceIdentitywsi)returns(workspace_infoinfo)authenticationrequired;

/*
*DEPRECATED
*
*Input parameters for the "get_workspacemeta" function. Provided for
*backwards compatibility.
*
*One, and only one of:
*ws_name workspace - name of the workspace.
*ws_id id - the numerical ID of the workspace.
*
*Optional arguments:
*string auth - the authentication token of the KBase account accessing
*the workspace. Overrides the client provided authorization
*credentials if they exist.
*
*@deprecatedWorkspace.WorkspaceIdentity
*/
typedefstructure{
ws_nameworkspace;
stringauth;
}
get_workspacemeta_params;

/*
*Retrieves the metadata associated with the specified workspace.
*Provided for backwards compatibility.
*@deprecatedWorkspace.get_workspace_info
*/
funcdefget_workspacemeta(get_workspacemeta_paramsparams)returns(workspace_metadatametadata)authenticationoptional;

/*
*Get information associated with a workspace.
*/
funcdefget_workspace_info(WorkspaceIdentitywsi)returns(workspace_infoinfo)authenticationoptional;

/*
*Get a workspace's description.
*/
funcdefget_workspace_description(WorkspaceIdentitywsi)returns(stringdescription)authenticationoptional;

/*
*Input parameters for the "set_permissions" function.
*
*One, and only one, of the following is required:
*ws_id id - the numerical ID of the workspace.
*ws_name workspace - the name of the workspace.
*
*Required arguments:
*permission new_permission - the permission to assign to the users.
*list<username> users - the users whose permissions will be altered.
*/
typedefstructure{
ws_nameworkspace;
permissionnew_permission;
list<username>users;
}
SetPermissionsParams;

/*
*Set permissions for a workspace.
*/
funcdefset_permissions(SetPermissionsParamsparams)returns()authenticationrequired;

/*
*Input parameters for the "set_global_permission" function.
*
*One, and only one, of the following is required:
*ws_id id - the numerical ID of the workspace.
*ws_name workspace - the name of the workspace.
*
*Required arguments:
*permission new_permission - the permission to assign to all users,
*either 'n' or 'r'. 'r' means that all users will be able to read
*the workspace; otherwise users must have specific permission to
*access the workspace.
*/
typedefstructure{
ws_nameworkspace;
permissionnew_permission;
}
SetGlobalPermissionsParams;

/*
*Set the global permission for a workspace.
*/
funcdefset_global_permission(SetGlobalPermissionsParamsparams)returns()authenticationrequired;

/*
*Input parameters for the "set_workspace_description" function.
*
*One, and only one, of the following is required:
*ws_id id - the numerical ID of the workspace.
*ws_name workspace - the name of the workspace.
*
*Optional arguments:
*string description - A free-text description of the workspace, 1000
*characters max. Longer strings will be mercilessly and brutally
*truncated. If omitted, the description is set to null.
*/
typedefstructure{
ws_nameworkspace;
stringdescription;
}
SetWorkspaceDescriptionParams;

/*
*Set the description for a workspace.
*/
funcdefset_workspace_description(SetWorkspaceDescriptionParamsparams)returns()authenticationrequired;

/*
*Input parameters for the "get_permissions_mass" function.
*workspaces - the workspaces for which to return the permissions,
*maximum 1000.
*/
typedefstructure{
list<WorkspaceIdentity>workspaces;
}
GetPermissionsMassParams;

/*
*A set of workspace permissions.
*perms - the list of permissions for each requested workspace
*/
typedefstructure{
list<mapping<username,permission>>perms;
}
WorkspacePermissions;

/*
*Get permissions for multiple workspaces.
*/
funcdefget_permissions_mass(GetPermissionsMassParamsmass)returns(WorkspacePermissionsperms)authenticationoptional;

/*
*Get permissions for a workspace.
*@deprecatedget_permissions_mass
*/
funcdefget_permissions(WorkspaceIdentitywsi)returns(mapping<username,permission>perms)authenticationoptional;

/*
*Input parameters for the "save_object" function. Provided for backwards
*compatibility.
*
*Required arguments:
*type_string type - type of the object to be saved
*ws_name workspace - name of the workspace where the object is to be
*saved
*obj_name id - name behind which the object will be saved in the
*workspace
*UnspecifiedObject data - data to be saved in the workspace
*
*Optional arguments:
*usermeta metadata - arbitrary user-supplied metadata for the object,
*not to exceed 16kb; if the object type specifies automatic
*metadata extraction with the 'meta ws' annotation, and your
*metadata name conflicts, then your metadata will be silently
*overwritten.
*string auth - the authentication token of the KBase account accessing
*the workspace. Overrides the client provided authorization
*credentials if they exist.
*
*@deprecated
*/
typedefstructure{
UnspecifiedObjectdata;
ws_nameworkspace;
mapping<string,string>metadata;
stringauth;
}
save_object_params;

/*
*Saves the input object data and metadata into the selected workspace,
*returning the object_metadata of the saved object. Provided
*for backwards compatibility.
*
*@deprecatedWorkspace.save_objects
*/
funcdefsave_object(save_object_paramsparams)returns(object_metadatametadata)authenticationoptional;

/*
*An object and associated data required for saving.
*
*Required arguments:
*type_string type - the type of the object. Omit the version information
*to use the latest version.
*UnspecifiedObject data - the object data.
*One, and only one, of:
*obj_name name - the name of the object.
*obj_id objid - the id of the object to save over.
*
*
*Optional arguments:
*usermeta meta - arbitrary user-supplied metadata for the object,
*not to exceed 16kb; if the object type specifies automatic
*metadata extraction with the 'meta ws' annotation, and your
*metadata name conflicts, then your metadata will be silently
*overwritten.
*list<ProvenanceAction> provenance - provenance data for the object.
*boolean hidden - true if this object should not be listed when listing
*workspace objects.
*/
typedefstructure{
UnspecifiedObjectdata;
obj_idobjid;
list<ProvenanceAction>provenance;
booleanhidden;
}
ObjectSaveData;

/*
*Input parameters for the "save_objects" function.
*
*One, and only one, of the following is required:
*ws_id id - the numerical ID of the workspace.
*ws_name workspace - the name of the workspace.
*
*Required arguments:
*list<ObjectSaveData> objects - the objects to save.
*/
typedefstructure{
ws_nameworkspace;
list<ObjectSaveData>objects;
}
SaveObjectsParams;

/*
*Save objects to the workspace. Saving over a deleted object undeletes
*it.
*/
funcdefsave_objects(SaveObjectsParamsparams)returns(list<object_info>info)authenticationrequired;

/*
*Input parameters for the "get_object" function. Provided for backwards
*compatibility.
*
*Required arguments:
*ws_name workspace - Name of the workspace containing the object to be
*retrieved
*obj_name id - Name of the object to be retrieved
*
*Optional arguments:
*int instance - Version of the object to be retrieved, enabling
*retrieval of any previous version of an object
*string auth - the authentication token of the KBase account accessing
*the object. Overrides the client provided authorization
*credentials if they exist.
*
*@deprecatedWorkspace.ObjectIdentity
*/
typedefstructure{
ws_nameworkspace;
intinstance;
stringauth;
}
get_object_params;

/*
*Output generated by the "get_object" function. Provided for backwards
*compatibility.
*
*UnspecifiedObject data - The object's data.
*object_metadata metadata - Metadata for object retrieved/
*
*@deprecatedWorkspaces.ObjectData
*/
typedefstructure{
UnspecifiedObjectdata;
}
get_object_output;

/*
*Retrieves the specified object from the specified workspace.
*Both the object data and metadata are returned.
*Provided for backwards compatibility.
*
*@deprecatedWorkspace.get_objects
*/
funcdefget_object(get_object_paramsparams)returns(get_object_outputoutput)authenticationoptional;

/*
*DEPRECATED
*
*The provenance and supplemental info for an object.
*
*object_info info - information about the object.
*list<ProvenanceAction> provenance - the object's provenance.
*username creator - the user that first saved the object to the
*workspace.
*ws_id orig_wsid - the id of the workspace in which this object was
*originally saved. Missing for objects saved prior to version
*0.4.1.
*timestamp created - the date the object was first saved to the
*workspace.
*epoch epoch - the date the object was first saved to the
*workspace.
*list<obj_ref> - the references contained within the object.
*obj_ref copied - the reference of the source object if this object is
*a copy and the copy source exists and is accessible.
*null otherwise.
*boolean copy_source_inaccessible - true if the object was copied from
*another object, but that object is no longer accessible to the
*user. False otherwise.
*mapping<id_type, list<extracted_id>> extracted_ids - any ids extracted
*from the object.
*string handle_error - if an error occurs while setting ACLs on
*embedded external IDs, it will be reported here. If not for historical reasons the
*parameter would be called "external_id_error".
*string handle_stacktrace - the stacktrace for handle_error. As above, the parameter
*should be called "external_id_stacktrace".
*
*@deprecated
*/
typedefstructure{
list<ProvenanceAction>provenance;
usernamecreator;
ws_idorig_wsid;
timestampcreated;
epochepoch;
list<obj_ref>refs;
obj_refcopied;
booleancopy_source_inaccessible;
mapping<id_type,list<extracted_id>>extracted_ids;
stringhandle_error;
stringhandle_stacktrace;
}
ObjectProvenanceInfo;

/*
*DEPRECATED
*Get object provenance from the workspace.
*
*@deprecatedWorkspace.get_objects2
*/
funcdefget_object_provenance(list<ObjectIdentity>object_ids)returns(list<ObjectProvenanceInfo>data)authenticationoptional;

/*
*The data and supplemental info for an object.
*
*UnspecifiedObject data - the object's data or subset data.
*object_info info - information about the object.
*ObjectInfo infostruct - information about the object as a structure rather than a tuple.
*list<obj_ref> path - the path to the object through the object reference graph. All the
*references in the path are absolute.
*list<ProvenanceAction> provenance - the object's provenance.
*username creator - the user that first saved the object to the workspace.
*ws_id orig_wsid - the id of the workspace in which this object was
*originally saved. Missing for objects saved prior to version
*0.4.1.
*timestamp created - the date the object was first saved to the
*workspace.
*epoch epoch - the date the object was first saved to the
*workspace.
*list<obj_ref> refs - the references contained within the object.
*obj_ref copied - the reference of the source object if this object is
*a copy and the copy source exists and is accessible.
*null otherwise.
*boolean copy_source_inaccessible - true if the object was copied from
*another object, but that object is no longer accessible to the
*user. False otherwise.
*mapping<id_type, list<extracted_id>> extracted_ids - any ids extracted
*from the object.
*string handle_error - if an error occurs while setting ACLs on
*embedded external IDs, it will be reported here. If not for historical reasons the
*parameter would be called "external_id_error".
*string handle_stacktrace - the stacktrace for handle_error. As above, the parameter
*should be called "external_id_stacktrace".
*/
typedefstructure{
UnspecifiedObjectdata;
ObjectInfoinfostruct;
list<obj_ref>path;
list<ProvenanceAction>provenance;
usernamecreator;
ws_idorig_wsid;
timestampcreated;
epochepoch;
list<obj_ref>refs;
obj_refcopied;
booleancopy_source_inaccessible;
mapping<id_type,list<extracted_id>>extracted_ids;
stringhandle_error;
stringhandle_stacktrace;
}
ObjectData;

/*
*DEPRECATED
*Get objects from the workspace.
*@deprecatedWorkspace.get_objects2
*/
funcdefget_objects(list<ObjectIdentity>object_ids)returns(list<ObjectData>data)authenticationoptional;

/*
*Input parameters for the get_objects2 function.
*
*Required parameters:
*list<ObjectSpecification> objects - the list of object specifications
*for the objects to return (via reference chain and as a subset if
*specified).
*
*Optional parameters:
*boolean ignoreErrors - Don't throw an exception if an object cannot
*be accessed; return null for that object's information instead.
*Default false.
*boolean infostruct - return the object information as a structure rather than a tuple.
*Default false. If true, ObjectData.path will be null as it is provided in
*the ObjectInfo data.
*boolean no_data - return the provenance, references, and
*object_info for this object without the object data. Default false.
*boolean skip_external_system_updates - if the objects contain any external IDs, don't
*contact external systems to perform any updates for those IDs (often ACL updates,
*e.g. for handle / blobstore / sample IDs). In some cases this can speed up fetching the
*data. Default false.
*boolean batch_external_system_updates - if the objects contain any external IDs,
*send all external system updates in a batch to each external system when possible
*rather than object by object. This can potentially speed up the updates, but the
*drawback is that if the external update fails for any object, all the objects that
*required updates for that system will be marked as having a failed update.
*Has no effect if skip_external_system_updates is true. Default false.
*/
typedefstructure{
list<ObjectSpecification>objects;
booleanignoreErrors;
booleaninfostruct;
booleanno_data;
booleanskip_external_system_updates;
booleanbatch_external_system_updates;
}
GetObjects2Params;

/*
*Results from the get_objects2 function.
*
*list<ObjectData> data - the returned objects.
*/
typedefstructure{
list<ObjectData>data;
}
GetObjects2Results;

/*
*Get objects from the workspace.
*/
funcdefget_objects2(GetObjects2Paramsparams)returns(GetObjects2Resultsresults)authenticationoptional;

/*
*DEPRECATED
*Get portions of objects from the workspace.
*
*When selecting a subset of an array in an object, the returned
*array is compressed to the size of the subset, but the ordering of
*the array is maintained. For example, if the array stored at the
*'feature' key of a Genome object has 4000 entries, and the object paths
*provided are:
*/feature/7
*/feature/3015
*/feature/700
*The returned feature array will be of length three and the entries will
*consist, in order, of the 7th, 700th, and 3015th entries of the
*original array.
*@deprecatedWorkspace.get_objects2
*/
funcdefget_object_subset(list<SubObjectIdentity>sub_object_ids)returns(list<ObjectData>data)authenticationoptional;

/*
*Get an object's history. The version argument of the ObjectIdentity is
*ignored.
*/
funcdefget_object_history(ObjectIdentityobject)returns(list<object_info>history)authenticationoptional;

/*
*List objects that reference one or more specified objects. References
*in the deleted state are not returned.
*/
funcdeflist_referencing_objects(list<ObjectIdentity>object_ids)returns(list<list<object_info>>referrers)authenticationoptional;

/*
*DEPRECATED
*
*List the number of times objects have been referenced.
*
*This count includes both provenance and object-to-object references
*and, unlike list_referencing_objects, includes objects that are
*inaccessible to the user.
*
*@deprecated
*/
funcdeflist_referencing_object_counts(list<ObjectIdentity>object_ids)returns(list<int>counts)authenticationoptional;

/*
*DEPRECATED
*
*Get objects by references from other objects.
*
*NOTE: In the vast majority of cases, this method is not necessary and
*get_objects should be used instead.
*
*get_referenced_objects guarantees that a user that has access to an
*object can always see a) objects that are referenced inside the object
*and b) objects that are referenced in the object's provenance. This
*ensures that the user has visibility into the entire provenance of the
*object and the object's object dependencies (e.g. references).
*
*The user must have at least read access to the first object in each
*reference chain, but need not have access to any further objects in
*the chain, and those objects may be deleted.
*
*@deprecatedWorkspace.get_objects2
*/
funcdefget_referenced_objects(list<ref_chain>ref_chains)returns(list<ObjectData>data)authenticationoptional;

/*
*Input parameters for the "list_workspaces" function. Provided for
*backwards compatibility.
*
*Optional parameters:
*string auth - the authentication token of the KBase account accessing
*the list of workspaces. Overrides the client provided authorization
*credentials if they exist.
*boolean excludeGlobal - if excludeGlobal is true exclude world
*readable workspaces. Defaults to false.
*
*@deprecatedWorkspace.ListWorkspaceInfoParams
*/
typedefstructure{
stringauth;
booleanexcludeGlobal;
}
list_workspaces_params;

/*
*Lists the metadata of all workspaces a user has access to. Provided for
*backwards compatibility - to be replaced by the functionality of
*list_workspace_info
*
*@deprecatedWorkspace.list_workspace_info
*/
funcdeflist_workspaces(list_workspaces_paramsparams)returns(list<workspace_metadata>workspaces)authenticationoptional;

/*
*Input parameters for the "list_workspace_info" function.
*
*Only one of each timestamp/epoch pair may be supplied.
*
*Optional parameters:
*permission perm - filter workspaces by minimum permission level. 'None'
*and 'readable' are ignored.
*list<username> owners - filter workspaces by owner.
*usermeta meta - filter workspaces by the user supplied metadata. NOTE:
*only one key/value pair is supported at this time. A full map
*is provided as input for the possibility for expansion in the
*future.
*timestamp after - only return workspaces that were modified after this
*date.
*timestamp before - only return workspaces that were modified before
*this date.
*epoch after_epoch - only return workspaces that were modified after
*this date.
*epoch before_epoch - only return workspaces that were modified before
*this date.
*boolean excludeGlobal - if excludeGlobal is true exclude world
*readable workspaces. Defaults to false.
*boolean showDeleted - show deleted workspaces that are owned by the
*user.
*boolean showOnlyDeleted - only show deleted workspaces that are owned
*by the user.
*/
typedefstructure{
list<username>owners;
timestampafter;
timestampbefore;
epochafter_epoch;
epochbefore_epoch;
booleanexcludeGlobal;
booleanshowDeleted;
booleanshowOnlyDeleted;
}
ListWorkspaceInfoParams;

/*
*List workspaces viewable by the user.
*/
funcdeflist_workspace_info(ListWorkspaceInfoParamsparams)returns(list<workspace_info>wsinfo)authenticationoptional;

/*
*Input parameters for the "list_workspace_ids" function.
*
*Optional parameters:
*permission perm - filter workspaces by minimum permission level. 'None'
*and 'readable' are ignored.
*boolean onlyGlobal - if onlyGlobal is true only include world readable
*workspaces. Defaults to false. If true, excludeGlobal is ignored.
*boolean excludeGlobal - if excludeGlobal is true exclude world
*readable workspaces. Defaults to true.
*/
typedefstructure{
booleanexcludeGlobal;
booleanonlyGlobal;
}
ListWorkspaceIDsParams;

/*
*Results of the "list_workspace_ids" function.
*
*list<int> workspaces - the workspaces to which the user has explicit
*access.
*list<int> pub - the workspaces to which the user has access because
*they're globally readable.
*/
typedefstructure{
list<int>workspaces;
list<int>pub;
}
ListWorkspaceIDsResults;

/*
*List workspace IDs to which the user has access.
*
*This function returns a subset of the information in the
*list_workspace_info method and should be substantially faster.
*/
funcdeflist_workspace_ids(ListWorkspaceIDsParamsparams)returns(ListWorkspaceIDsResultsresults)authenticationoptional;

/*
*Input parameters for the "list_workspace_objects" function. Provided
*for backwards compatibility.
*
*Required arguments:
*ws_name workspace - Name of the workspace for which objects should be
*listed
*
*Optional arguments:
*type_string type - type of the objects to be listed. Here, omitting
*version information will find any objects that match the provided
*type - e.g. Foo.Bar-0 will match Foo.Bar-0.X where X is any
*existing version.
*boolean showDeletedObject - show objects that have been deleted
*string auth - the authentication token of the KBase account requesting
*access. Overrides the client provided authorization credentials if
*they exist.
*
*@deprecatedWorkspace.ListObjectsParams
*/
typedefstructure{
ws_nameworkspace;
booleanshowDeletedObject;
stringauth;
}
list_workspace_objects_params;

/*
*Lists the metadata of all objects in the specified workspace with the
*specified type (or with any type). Provided for backwards compatibility.
*
*@deprecatedWorkspace.list_objects
*/
funcdeflist_workspace_objects(list_workspace_objects_paramsparams)returns(list<object_metadata>objects)authenticationoptional;

/*
*Parameters for the 'list_objects' function.
*
*At least one, and no more than 10000, workspaces must be specified in one of the
*two following parameters. It is strongly recommended that the list is restricted to
*the workspaces of interest, or the results may be very large:
*list<ws_id> ids - the numerical IDs of the workspaces of interest.
*list<ws_name> workspaces - the names of the workspaces of interest.
*
*Only one of each timestamp/epoch pair may be supplied.
*
*Optional arguments:
*type_string type - type of the objects to be listed. Here, omitting
*version information will find any objects that match the provided
*type - e.g. Foo.Bar-0 will match Foo.Bar-0.X where X is any
*existing version.
*permission perm - DEPRECATED, no longer useful. Filter on minimum permission by providing
*only workspaces with the desired permission levels in the input list(s).
*list<username> savedby - filter objects by the user that saved or
*copied the object.
*usermeta meta - filter objects by the user supplied metadata. NOTE:
*only one key/value pair is supported at this time. A full map
*is provided as input for the possibility for expansion in the
*future.
*timestamp after - only return objects that were created after this
*date.
*timestamp before - only return objects that were created before this
*date.
*epoch after_epoch - only return objects that were created after this
*date.
*epoch before_epoch - only return objects that were created before this
*date.
*string startafter - a reference-like string that determines where the
*list of objects will begin. It takes the form X/Y/Z, where X is
*the workspace ID, Y the object ID, and Z the version. The version
*may be omitted, and the object ID omitted if the version is also
*omitted. After a '/' separator either an integer or no characters
*at all, including whitespace, may occur. Whitespace strings are
*ignored. If startafter is provided, after, before,
*after_epoch, before_epoch, savedby, meta, minObjectID, and
*maxObjectID may not be provided. Only objects that are ordered
*after the reference, exclusive, will be included in the
*result, and the resulting list will be sorted by reference.
*obj_id minObjectID - only return objects with an object id greater or
*equal to this value.
*obj_id maxObjectID - only return objects with an object id less than or
*equal to this value.
*boolean showDeleted - show deleted objects in workspaces to which the
*user has write access.
*boolean showOnlyDeleted - only show deleted objects in workspaces to
*which the user has write access.
*boolean showHidden - show hidden objects.
*boolean showAllVersions - show all versions of each object that match
*the filters rather than only the most recent version.
*boolean includeMetadata - include the user provided metadata in the
*returned object_info. If false (0 or null), the default, the
*metadata will be null.
*boolean excludeGlobal - DEPRECATED, no longer useful. Filter on global workspaces by
*excluding them from the input workspace list(s).
*int limit - limit the output to X objects. Default and maximum value
*is 10000. Limit values < 1 are treated as 10000, the default.
*/
typedefstructure{
list<ws_name>workspaces;
list<ws_id>ids;
list<username>savedby;
timestampafter;
timestampbefore;
epochafter_epoch;
epochbefore_epoch;
stringstartafter;
obj_idminObjectID;
obj_idmaxObjectID;
booleanshowDeleted;
booleanshowOnlyDeleted;
booleanshowHidden;
booleanshowAllVersions;
booleanincludeMetadata;
booleanexcludeGlobal;
intlimit;
}
ListObjectsParams;

/*
*List objects in one or more workspaces.
*/
funcdeflist_objects(ListObjectsParamsparams)returns(list<object_info>objinfo)authenticationoptional;

/*
*Input parameters for the "get_objectmeta" function.
*
*Required arguments:
*ws_name workspace - name of the workspace containing the object for
*which metadata is to be retrieved
*obj_name id - name of the object for which metadata is to be retrieved
*
*Optional arguments:
*int instance - Version of the object for which metadata is to be
*retrieved, enabling retrieval of any previous version of an object
*string auth - the authentication token of the KBase account requesting
*access. Overrides the client provided authorization credentials if
*they exist.
*
*@deprecatedWorkspace.ObjectIdentity
*/
typedefstructure{
ws_nameworkspace;
intinstance;
stringauth;
}
get_objectmeta_params;

/*
*Retrieves the metadata for a specified object from the specified
*workspace. Provides access to metadata for all versions of the object
*via the instance parameter. Provided for backwards compatibility.
*
*@deprecatedWorkspace.get_object_info3
*/
funcdefget_objectmeta(get_objectmeta_paramsparams)returns(object_metadatametadata)authenticationoptional;

/*
*Get information about objects from the workspace.
*
*Set includeMetadata true to include the user specified metadata.
*Otherwise the metadata in the object_info will be null.
*
*This method will be replaced by the behavior of get_object_info_new
*in the future.
*
*@deprecatedWorkspace.get_object_info3
*/
funcdefget_object_info(list<ObjectIdentity>object_ids,booleanincludeMetadata)returns(list<object_info>info)authenticationoptional;

/*
*Input parameters for the "get_object_info_new" function.
*
*Required arguments:
*list<ObjectSpecification> objects - the objects for which the
*information should be fetched. Subsetting related parameters are
*ignored.
*
*Optional arguments:
*boolean includeMetadata - include the object metadata in the returned
*information. Default false.
*boolean ignoreErrors - Don't throw an exception if an object cannot
*be accessed; return null for that object's information instead.
*Default false.
*
*@deprecatedWorkspace.GetObjectInfo3Params
*/
typedefstructure{
list<ObjectSpecification>objects;
booleanincludeMetadata;
booleanignoreErrors;
}
GetObjectInfoNewParams;

/*
*Get information about objects from the workspace.
*
*@deprecatedWorkspace.get_object_info3
*/
funcdefget_object_info_new(GetObjectInfoNewParamsparams)returns(list<object_info>info)authenticationoptional;

/*
*Input parameters for the "get_object_info3" function.
*
*Required arguments:
*list<ObjectSpecification> objects - the objects for which the
*information should be fetched. Subsetting related parameters are
*ignored.
*
*Optional arguments:
*boolean infostruct - return information about the object as a structure rather than a tuple.
*Default false. If true, infos and paths will be null.
*boolean includeMetadata - include the user and admin metadata in the returned
*information. Default false.
*boolean ignoreErrors - Don't throw an exception if an object cannot
*be accessed; return null for that object's information and path instead.
*Default false.
*/
typedefstructure{
list<ObjectSpecification>objects;
booleaninfostruct;
booleanincludeMetadata;
booleanignoreErrors;
}
GetObjectInfo3Params;

/*
*Output from the get_object_info3 function.
*
*list<object_info> infos - the object_info data for each object.
*list<list<obj_ref> paths - the path to the object through the object reference graph for
*each object. All the references in the path are absolute.
*list<ObjectInfo> infostructs - the ObjectInfo data for each object.
*/
typedefstructure{
list<object_info>infos;
list<list<obj_ref>>paths;
list<ObjectInfo>infostructs;
}
GetObjectInfo3Results;

funcdefget_object_info3(GetObjectInfo3Paramsparams)returns(GetObjectInfo3Resultsresults)authenticationoptional;

/*
*Input parameters for the 'rename_workspace' function.
*
*Required arguments:
*WorkspaceIdentity wsi - the workspace to rename.
*ws_name new_name - the new name for the workspace.
*/
typedefstructure{
ws_namenew_name;
}
RenameWorkspaceParams;

/*
*Rename a workspace.
*/
funcdefrename_workspace(RenameWorkspaceParamsparams)returns(workspace_inforenamed)authenticationrequired;

/*
*Input parameters for the 'rename_object' function.
*
*Required arguments:
*ObjectIdentity obj - the object to rename.
*obj_name new_name - the new name for the object.
*/
typedefstructure{
obj_namenew_name;
}
RenameObjectParams;

/*
*Rename an object. User meta data is always returned as null.
*/
funcdefrename_object(RenameObjectParamsparams)returns(object_inforenamed)authenticationrequired;

/*
*Input parameters for the 'copy_object' function.
*
*If the 'from' ObjectIdentity includes no version and the object is
*copied to a new name, the entire version history of the object is
*copied. In all other cases only the version specified, or the latest
*version if no version is specified, is copied.
*
*The version from the 'to' ObjectIdentity is always ignored.
*
*Required arguments:
*ObjectIdentity from - the object to copy.
*ObjectIdentity to - where to copy the object.
*/
typedefstructure{}CopyObjectParams;

/*
*Copy an object. Returns the object_info for the newest version.
*/
funcdefcopy_object(CopyObjectParamsparams)returns(object_infocopied)authenticationrequired;

/*
*Revert an object.
*
*The object specified in the ObjectIdentity is reverted to the version
*specified in the ObjectIdentity.
*/
funcdefrevert_object(ObjectIdentityobject)returns(object_inforeverted)authenticationrequired;

/*
*Input parameters for the get_names_by_prefix function.
*
*Required arguments:
*list<WorkspaceIdentity> workspaces - the workspaces to search.
*string prefix - the prefix of the object names to return.
*
*Optional arguments:
*boolean includeHidden - include names of hidden objects in the results.
*Default false.
*/
typedefstructure{
list<WorkspaceIdentity>workspaces;
stringprefix;
booleanincludeHidden;
}
GetNamesByPrefixParams;

/*
*Results object for the get_names_by_prefix function.
*
*list<list<obj_name>> names - the names matching the provided prefix,
*listed in order of the input workspaces.
*/
typedefstructure{
list<list<obj_name>>names;
}
GetNamesByPrefixResults;

/*
*Get object names matching a prefix. At most 1000 names are returned.
*No particular ordering is guaranteed, nor is which names will be
*returned if more than 1000 are found.
*
*This function is intended for use as an autocomplete helper function.
*/
funcdefget_names_by_prefix(GetNamesByPrefixParamsparams)returns(GetNamesByPrefixResultsres)authenticationoptional;

/*
*Hide objects. All versions of an object are hidden, regardless of
*the version specified in the ObjectIdentity. Hidden objects do not
*appear in the list_objects method.
*/
funcdefhide_objects(list<ObjectIdentity>object_ids)returns()authenticationrequired;

/*
*Unhide objects. All versions of an object are unhidden, regardless
*of the version specified in the ObjectIdentity.
*/
funcdefunhide_objects(list<ObjectIdentity>object_ids)returns()authenticationrequired;

/*
*Delete objects. All versions of an object are deleted, regardless of
*the version specified in the ObjectIdentity.
*/
funcdefdelete_objects(list<ObjectIdentity>object_ids)returns()authenticationrequired;

/*
*Undelete objects. All versions of an object are undeleted, regardless
*of the version specified in the ObjectIdentity. If an object is not
*deleted, no error is thrown.
*/
funcdefundelete_objects(list<ObjectIdentity>object_ids)returns()authenticationrequired;

/*
*Delete a workspace. All objects contained in the workspace are deleted.
*/
funcdefdelete_workspace(WorkspaceIdentitywsi)returns()authenticationrequired;

/*
*A type specification (typespec) file in the KBase Interface Description
*Language (KIDL).
*/
typedefstringtypespec;

/*
*A module name defined in a KIDL typespec.
*/
typedefstringmodulename;

/*
*A type definition name in a KIDL typespec.
*/
typedefstringtypename;

/*
*A version of a type.
*Specifies the version of the type in a single string in the format
*[major].[minor]:
*
*major - an integer. The major version of the type. A change in the
*major version implies the type has changed in a non-backwards
*compatible way.
*minor - an integer. The minor version of the type. A change in the
*minor version implies that the type has changed in a way that is
*backwards compatible with previous type definitions.
*/
typedefstringtypever;

/*
*A function string for referencing a funcdef.
*Specifies the function and its version in a single string in the format
*[modulename].[funcname]-[major].[minor]:
*
*modulename - a string. The name of the module containing the function.
*funcname - a string. The name of the function as assigned by the funcdef
*statement.
*major - an integer. The major version of the function. A change in the
*major version implies the function has changed in a non-backwards
*compatible way.
*minor - an integer. The minor version of the function. A change in the
*minor version implies that the function has changed in a way that is
*backwards compatible with previous function definitions.
*
*In many cases, the major and minor versions are optional, and if not
*provided the most recent version will be used.
*
*Example: MyModule.MyFunc-3.1
*/
typedefstringfunc_string;

/*
*The version of a typespec file.
*/
typedefintspec_version;

/*
*The JSON Schema (v4) representation of a type definition.
*/
typedefstringjsonschema;

/*
*Request ownership of a module name. A Workspace administrator
*must approve the request.
*/
funcdefrequest_module_ownership(modulenamemod)returns()authenticationrequired;

/*
*Parameters for the register_typespec function.
*
*Required arguments:
*One of:
*typespec spec - the new typespec to register.
*modulename mod - the module to recompile with updated options (see below).
*
*Optional arguments:
*boolean dryrun - Return, but do not save, the results of compiling the
*spec. Default true. Set to false for making permanent changes.
*list<typename> new_types - types in the spec to make available in the
*workspace service. When compiling a spec for the first time, if
*this argument is empty no types will be made available. Previously
*available types remain so upon recompilation of a spec or
*compilation of a new spec.
*list<typename> remove_types - no longer make these types available in
*the workspace service for the new version of the spec. This does
*not remove versions of types previously compiled.
*mapping<modulename, spec_version> dependencies - By default, the
*latest released versions of spec dependencies will be included when
*compiling a spec. Specific versions can be specified here.
*spec_version prev_ver - the id of the previous version of the typespec.
*An error will be thrown if this is set and prev_ver is not the
*most recent version of the typespec. This prevents overwriting of
*changes made since retrieving a spec and compiling an edited spec.
*This argument is ignored if a modulename is passed.
*/
typedefstructure{
list<typename>new_types;
list<typename>remove_types;
mapping<modulename,spec_version>dependencies;
booleandryrun;
spec_versionprev_ver;
}
RegisterTypespecParams;

/*
*Register a new typespec or recompile a previously registered typespec
*with new options.
*See the documentation of RegisterTypespecParams for more details.
*Also see the release_types function.
*/
funcdefregister_typespec(RegisterTypespecParamsparams)returns(mapping<type_string,jsonschema>)authenticationrequired;

/*
*Parameters for the register_typespec_copy function.
*
*Required arguments:
*string external_workspace_url - the URL of the workspace server from
*which to copy a typespec.
*modulename mod - the name of the module in the workspace server
*
*Optional arguments:
*spec_version version - the version of the module in the workspace
*server
*/
typedefstructure{
stringexternal_workspace_url;
spec_versionversion;
}
RegisterTypespecCopyParams;

/*
*Register a copy of new typespec or refresh an existing typespec which is
*loaded from another workspace for synchronization. Method returns new
*version of module in current workspace.
*
*Also see the release_types function.
*/
funcdefregister_typespec_copy(RegisterTypespecCopyParamsparams)returns(spec_versionnew_local_version)authenticationrequired;

/*
*Release a module for general use of its types.
*
*Releases the most recent version of a module. Releasing a module does
*two things to the module's types:
*1) If a type's major version is 0, it is changed to 1. A major
*version of 0 implies that the type is in development and may have
*backwards incompatible changes from minor version to minor version.
*Once a type is released, backwards incompatible changes always
*cause a major version increment.
*2) This version of the type becomes the default version, and if a
*specific version is not supplied in a function call, this version
*will be used. This means that newer, unreleased versions of the
*type may be skipped.
*/
funcdefrelease_module(modulenamemod)returns(list<type_string>types)authenticationrequired;

/*
*Parameters for the list_modules() function.
*
*Optional arguments:
*username owner - only list modules owned by this user.
*/
typedefstructure{
usernameowner;
}
ListModulesParams;

/*
*List typespec modules.
*/
funcdeflist_modules(ListModulesParamsparams)returns(list<modulename>modules)authenticationnone;

/*
*Parameters for the list_module_versions function.
*
*Required arguments:
*One of:
*modulename mod - returns all versions of the module.
*type_string type - returns all versions of the module associated with
*the type.
*/
typedefstructure{}ListModuleVersionsParams;

/*
*A set of versions from a module.
*
*modulename mod - the name of the module.
*list<spec_version> - a set or subset of versions associated with the
*module.
*list<spec_version> - a set or subset of released versions associated
*with the module.
*/
typedefstructure{
list<spec_version>vers;
list<spec_version>released_vers;
}
ModuleVersions;

/*
*List typespec module versions.
*/
funcdeflist_module_versions(ListModuleVersionsParamsparams)returns(ModuleVersionsvers)authenticationoptional;

/*
*Parameters for the get_module_info function.
*
*Required arguments:
*modulename mod - the name of the module to retrieve.
*
*Optional arguments:
*spec_version ver - the version of the module to retrieve. Defaults to
*the latest version.
*/
typedefstructure{}GetModuleInfoParams;

/*
*Information about a module.
*
*list<username> owners - the owners of the module.
*spec_version ver - the version of the module.
*typespec spec - the typespec.
*string description - the description of the module from the typespec.
*mapping<type_string, jsonschema> types - the types associated with this
*module and their JSON schema.
*mapping<modulename, spec_version> included_spec_version - names of
*included modules associated with their versions.
*string chsum - the md5 checksum of the object.
*list<func_string> functions - list of names of functions registered in spec.
*boolean is_released - shows if this version of module was released (and
*hence can be seen by others).
*/
typedefstructure{
list<username>owners;
stringdescription;
mapping<type_string,jsonschema>types;
mapping<modulename,spec_version>included_spec_version;
stringchsum;
list<func_string>functions;
booleanis_released;
}
ModuleInfo;

funcdefget_module_info(GetModuleInfoParamsparams)returns(ModuleInfoinfo)authenticationoptional;

/*
*Get JSON schema for a type.
*/
funcdefget_jsonschema(type_stringtype)returns(jsonschemaschema)authenticationoptional;

/*
*Translation from types qualified with MD5 to their semantic versions
*/
funcdeftranslate_from_MD5_types(list<type_string>md5_types)returns(mapping<type_string,list<type_string>>sem_types)authenticationnone;

/*
*Translation from types qualified with semantic versions to their MD5'ed versions
*/
funcdeftranslate_to_MD5_types(list<type_string>sem_types)returns(mapping<type_string,type_string>md5_types)authenticationoptional;

/*
*Information about a type
*
*type_string type_def - resolved type definition id.
*string description - the description of the type from spec file.
*string spec_def - reconstruction of type definition from spec file.
*jsonschema json_schema - JSON schema of this type.
*string parsing_structure - json document describing parsing structure of type
*in spec file including involved sub-types.
*list<spec_version> module_vers - versions of spec-files containing
*given type version.
*list<spec_version> released_module_vers - versions of released spec-files
*containing given type version.
*list<type_string> type_vers - all versions of type with given type name.
*list<type_string> released_type_vers - all released versions of type with
*given type name.
*list<func_string> using_func_defs - list of functions (with versions)
*referring to this type version.
*list<type_string> using_type_defs - list of types (with versions)
*referring to this type version.
*list<type_string> used_type_defs - list of types (with versions)
*referred from this type version.
*/
typedefstructure{
type_stringtype_def;
stringdescription;
stringspec_def;
jsonschemajson_schema;
stringparsing_structure;
list<spec_version>module_vers;
list<spec_version>released_module_vers;
list<type_string>type_vers;
list<type_string>released_type_vers;
list<func_string>using_func_defs;
list<type_string>using_type_defs;
list<type_string>used_type_defs;
}
TypeInfo;

funcdefget_type_info(type_stringtype)returns(TypeInfoinfo)authenticationoptional;

funcdefget_all_type_info(modulenamemod)returns(list<TypeInfo>)authenticationoptional;

/*
*DEPRECATED
*@deprecated
*/
typedefstructure{
func_stringfunc_def;
stringdescription;
stringspec_def;
stringparsing_structure;
list<spec_version>module_vers;
list<spec_version>released_module_vers;
list<func_string>func_vers;
list<func_string>released_func_vers;
list<type_string>used_type_defs;
}
FuncInfo;

/*
*@deprecated
*/
funcdefget_func_info(func_stringfunc)returns(FuncInfoinfo)authenticationoptional;

/*
*@deprecated
*/
funcdefget_all_func_info(modulenamemod)returns(list<FuncInfo>info)authenticationoptional;

/*
*Parameters for the grant_module_ownership function.
*
*Required arguments:
*modulename mod - the module to modify.
*username new_owner - the user to add to the module's list of
*owners.
*
*Optional arguments:
*boolean with_grant_option - true to allow the user to add owners
*to the module.
*/
typedefstructure{
usernamenew_owner;
booleanwith_grant_option;
}
GrantModuleOwnershipParams;

/*
*Grant ownership of a module. You must have grant ability on the
*module.
*/
funcdefgrant_module_ownership(GrantModuleOwnershipParamsparams)returns()authenticationrequired;

/*
*Parameters for the remove_module_ownership function.
*
*Required arguments:
*modulename mod - the module to modify.
*username old_owner - the user to remove from the module's list of
*owners.
*/
typedefstructure{
usernameold_owner;
}
RemoveModuleOwnershipParams;

/*
*Remove ownership from a current owner. You must have the grant ability
*on the module.
*/
funcdefremove_module_ownership(RemoveModuleOwnershipParamsparams)returns()authenticationrequired;

/*
*Parameters for list_all_types function.
*
*Optional arguments:
*boolean with_empty_modules - include empty module names, optional flag,
*default value is false.
*/
typedefstructure{
booleanwith_empty_modules;
}
ListAllTypesParams;

/*
*List all released types with released version from all modules. Return
*mapping from module name to mapping from type name to released type
*version.
*/
funcdeflist_all_types(ListAllTypesParamsparams)returns(mapping<modulename,mapping<typename,typever>>)authenticationoptional;

/*
*The results of the get_admin_role call.
*
*adminrole - the users's administration role, one of `none`, `read`, or `full`.
*/
typedefstructure{
stringadminrole;
}
GetAdminRoleResults;

/*
*Get the administrative role for the current user.
*/
funcdefget_admin_role()returns(GetAdminRoleResultsresults)authenticationrequired;

/*
*An object metadata update specification.
*
*Required arguments:
*ObjectIdentity oi - the object to be altered
*
*One or both of the following arguments are required:
*usermeta new - metadata to assign to the workspace. Duplicate keys will
*be overwritten.
*list<string> remove - these keys will be removed from the workspace
*metadata key/value pairs.
*/
typedefstructure{
list<string>remove;
}
ObjectMetadataUpdate;

/*
*Input parameters for the alter_admin_object_metadata method.
*
*updates - the metadata updates to apply to the objects. If the same object is specified
*twice in the list, the update order is unspecified. At most 1000 updates are allowed
*in one call.
*/
typedefstructure{
list<ObjectMetadataUpdate>updates;
}
AlterAdminObjectMetadataParams;

/*
*Update admin metadata for an object. The user must have full workspace service
*administration privileges.
*/
funcdefalter_admin_object_metadata(AlterAdminObjectMetadataParamsparams)returns()authenticationrequired;

/*
*The administration interface.
*/
funcdefadminister(UnspecifiedObjectcommand)returns(UnspecifiedObjectresponse)authenticationrequired;
};

Function Index

Type Index

\ No newline at end of file +Workspace
/*
*The Workspace Service (WSS) is primarily a language independent remote storage
*and retrieval system for KBase typed objects (TO) defined with the KBase
*Interface Description Language (KIDL). It has the following primary features:
*- Immutable storage of TOs with
*- user defined metadata
*- data provenance
*- Versioning of TOs
*- Referencing from TO to TO
*- Typechecking of all saved objects against a KIDL specification
*- Collecting typed objects into a workspace
*- Sharing workspaces with specific KBase users or the world
*- Freezing and publishing workspaces
*/
moduleWorkspace{

/*
*A boolean. 0 = false, other = true.
*/
typedefintboolean;

/*
*The unique, permanent numerical ID of a workspace.
*/
typedefintws_id;

/*
*A string used as a name for a workspace.
*Any string consisting of alphanumeric characters and "_", ".", or "-"
*that is not an integer is acceptable. The name may optionally be
*prefixed with the workspace owner's user name and a colon, e.g.
*kbasetest:my_workspace.
*/
typedefstringws_name;

/*
*Represents the permissions a user or users have to a workspace:
*
*'a' - administrator. All operations allowed.
*'w' - read/write.
*'r' - read.
*'n' - no permissions.
*/
typedefstringpermission;

/*
*Login name of a KBase user account.
*/
typedefstringusername;

/*
*A time in the format YYYY-MM-DDThh:mm:ssZ, where Z is either the
*character Z (representing the UTC timezone) or the difference
*in time to UTC in the format +/-HHMM, eg:
*2012-12-17T23:24:06-0500 (EST time)
*2013-04-03T08:56:32+0000 (UTC time)
*2013-04-03T08:56:32Z (UTC time)
*/
typedefstringtimestamp;

/*
*A Unix epoch (the time since 00:00:00 1/1/1970 UTC) in milliseconds.
*/
typedefintepoch;

/*
*A type string.
*Specifies the type and its version in a single string in the format
*[module].[typename]-[major].[minor]:
*
*module - a string. The module name of the typespec containing the type.
*typename - a string. The name of the type as assigned by the typedef
*statement.
*major - an integer. The major version of the type. A change in the
*major version implies the type has changed in a non-backwards
*compatible way.
*minor - an integer. The minor version of the type. A change in the
*minor version implies that the type has changed in a way that is
*backwards compatible with previous type definitions.
*
*In many cases, the major and minor versions are optional, and if not
*provided the most recent version will be used.
*
*Example: MyModule.MyType-3.1
*/
typedefstringtype_string;

/*
*An id type (e.g. from a typespec @id annotation: @id [idtype])
*/
typedefstringid_type;

/*
*An id extracted from an object.
*/
typedefstringextracted_id;

/*
*User provided metadata about an object.
*Arbitrary key-value pairs provided by the user.
*/
typedefmapping<string,string>usermeta;

/*
*The lock status of a workspace.
*One of 'unlocked', 'locked', or 'published'.
*/
typedefstringlock_status;

/*
*A workspace identifier.
*
*Select a workspace by one, and only one, of the numerical id or name.
*ws_id id - the numerical ID of the workspace.
*ws_name workspace - the name of the workspace.
*/
typedefstructure{
ws_nameworkspace;
}
WorkspaceIdentity;

/*
*Meta data associated with a workspace. Provided for backwards
*compatibility. To be replaced by workspace_info.
*
*ws_name id - name of the workspace
*username owner - name of the user who owns (who created) this workspace
*timestamp moddate - date when the workspace was last modified
*int objects - the approximate number of objects currently stored in
*the workspace.
*permission user_permission - permissions for the currently logged in
*user for the workspace
*permission global_permission - default permissions for the workspace
*for all KBase users
*ws_id num_id - numerical ID of the workspace
*
*@deprecatedWorkspace.workspace_info
*/
typedeftuple<ws_nameid,usernameowner,timestampmoddate,intobjects,permissionuser_permission,permissionglobal_permission,ws_idnum_id>workspace_metadata;

/*
*Information about a workspace.
*
*ws_id id - the numerical ID of the workspace.
*ws_name workspace - name of the workspace.
*username owner - name of the user who owns (e.g. created) this workspace.
*timestamp moddate - date when the workspace was last modified.
*int max_objid - the maximum object ID appearing in this workspace.
*Since cloning a workspace preserves object IDs, this number may be
*greater than the number of objects in a newly cloned workspace.
*permission user_permission - permissions for the authenticated user of
*this workspace.
*permission globalread - whether this workspace is globally readable.
*lock_status lockstat - the status of the workspace lock.
*usermeta metadata - arbitrary user-supplied metadata about
*the workspace.
*/
typedeftuple<ws_idid,ws_nameworkspace,usernameowner,timestampmoddate,intmax_objid,permissionuser_permission,permissionglobalread,lock_statuslockstat,usermetametadata>workspace_info;

/*
*The unique, permanent numerical ID of an object.
*/
typedefintobj_id;

/*
*A string used as a name for an object.
*Any string consisting of alphanumeric characters and the characters
*|._- that is not an integer is acceptable.
*/
typedefstringobj_name;

/*
*An object version.
*The version of the object, starting at 1.
*/
typedefintobj_ver;

/*
*A string that uniquely identifies an object in the workspace service.
*
*The format is [ws_name or id]/[obj_name or id]/[obj_ver].
*For example, MyFirstWorkspace/MyFirstObject/3 would identify the third version
*of an object called MyFirstObject in the workspace called
*MyFirstWorkspace. 42/Panic/1 would identify the first version of
*the object name Panic in workspace with id 42. Towel/1/6 would
*identify the 6th version of the object with id 1 in the Towel
*workspace.If the version number is omitted, the latest version of
*the object is assumed.
*/
typedefstringobj_ref;

/*
*An object identifier.
*
*Select an object by either:
*One, and only one, of the numerical id or name of the workspace.
*ws_id wsid - the numerical ID of the workspace.
*ws_name workspace - the name of the workspace.
*AND
*One, and only one, of the numerical id or name of the object.
*obj_id objid- the numerical ID of the object.
*obj_name name - name of the object.
*OPTIONALLY
*obj_ver ver - the version of the object.
*OR an object reference string:
*obj_ref ref - an object reference string.
*/
typedefstructure{
ws_nameworkspace;
ws_idwsid;
obj_idobjid;
}
ObjectIdentity;

/*
*A chain of objects with references to one another.
*
*An object reference chain consists of a list of objects where the nth
*object possesses a reference, either in the object itself or in the
*object provenance, to the n+1th object.
*/
typedeflist<ObjectIdentity>ref_chain;

/*
*A chain of objects with references to one another as a string.
*
*A single string that is semantically identical to ref_chain above.
*Represents a path from one workspace object to another through an
*arbitrarily number of intermediate objects where each object has a
*dependency or provenance reference to the next object. Each entry is
*an obj_ref as defined earlier. Entries are separated by semicolons.
*Whitespace is ignored.
*
*Examples:
*3/5/6; kbaseuser:myworkspace/myobject; 5/myobject/2
*aworkspace/6
*/
typedefstringref_string;

/*
*A path into an object.
*Identify a sub portion of an object by providing the path, delimited by
*a slash (/), to that portion of the object. Thus the path may not have
*slashes in the structure or mapping keys. Examples:
*/foo/bar/3 - specifies the bar key of the foo mapping and the 3rd
*entry of the array if bar maps to an array or the value mapped to
*the string "3" if bar maps to a map.
*/foo/bar/[*]/baz - specifies the baz field of all the objects in the
*list mapped by the bar key in the map foo.
*/foo/asterisk/baz - specifies the baz field of all the objects in the
*values of the foo mapping. Swap 'asterisk' for * in the path.
*In case you need to use '/' or '~' in path items use JSON Pointer
*notation defined here: http://tools.ietf.org/html/rfc6901
*/
typedefstringobject_path;

/*
*DEPRECATED
*
*An object subset identifier.
*
*Select a subset of an object by:
*EITHER
*One, and only one, of the numerical id or name of the workspace.
*ws_id wsid - the numerical ID of the workspace.
*ws_name workspace - name of the workspace.
*AND
*One, and only one, of the numerical id or name of the object.
*obj_id objid- the numerical ID of the object.
*obj_name name - name of the object.
*OPTIONALLY
*obj_ver ver - the version of the object.
*OR an object reference string:
*obj_ref ref - an object reference string.
*AND a subset specification:
*list<object_path> included - the portions of the object to include
*in the object subset.
*boolean strict_maps - if true, throw an exception if the subset
*specification traverses a non-existant map key (default false)
*boolean strict_arrays - if true, throw an exception if the subset
*specification exceeds the size of an array (default true)
*
*@deprecatedWorkspace.ObjectSpecification
*/
typedefstructure{
ws_nameworkspace;
ws_idwsid;
obj_idobjid;
list<object_path>included;
booleanstrict_maps;
booleanstrict_arrays;
}
SubObjectIdentity;

/*
*An Object Specification (OS). Inherits from ObjectIdentity (OI).
*Specifies which object, and which parts of that object, to retrieve
*from the Workspace Service.
*
*The fields wsid, workspace, objid, name, and ver are identical to
*the OI fields.
*
*The ref field's behavior is extended from OI. It maintains its
*previous behavior, but now also can act as a reference string. See
*reference following below for more information.
*
*REFERENCE FOLLOWING:
*
*Reference following guarantees that a user that has access to an
*object can always see a) objects that are referenced inside the object
*and b) objects that are referenced in the object's provenance. This
*ensures that the user has visibility into the entire provenance of the
*object and the object's object dependencies (e.g. references).
*
*The user must have at least read access to the object specified in this
*SO, but need not have access to any further objects in the reference
*chain, and those objects may be deleted.
*
*Optional reference following fields:
*Note that only one of the following fields may be specified.
*
*ref_chain obj_path - a path to the desired object from the object
*specified in this OS. In other words, the object specified in this
*OS is assumed to be accessible to the user, and the objects in
*the object path represent a chain of references to the desired
*object at the end of the object path. If the references are all
*valid, the desired object will be returned.
*- OR -
*list<obj_ref> obj_ref_path - shorthand for the obj_path.
*- OR -
*ref_chain to_obj_path - identical to obj_path, except that the path
*is TO the object specified in this OS, rather than from the object.
*In other words the object specified by wsid/objid/ref etc. is the
*end of the path, and to_obj_path is the rest of the path. The user
*must have access to the first object in the to_obj_path.
*- OR -
*list<obj_ref> to_obj_ref_path - shorthand for the to_obj_path.
*- OR -
*ref_string ref - A string representing a reference path from
*one object to another. Unlike the previous reference following
*options, the ref_string represents the ENTIRE path from the source
*object to the target object. As with the OI object, the ref field
*may contain a single reference.
*- OR -
*boolean find_refence_path - This is the last, slowest, and most expensive resort
*for getting a referenced object - do not use this method unless the
*path to the object is unavailable by any other means. Setting the
*find_refence_path parameter to true means that the workspace service will
*search through the object reference graph from the object specified
*in this OS to find an object that 1) the user can access, and 2)
*has an unbroken reference path to the target object. If the search
*succeeds, the object will be returned as normal. Note that the search
*will automatically fail after a certain (but much larger than necessary
*for the vast majority of cases) number of objects are traversed.
*
*
*OBJECT SUBSETS:
*
*When selecting a subset of an array in an object, the returned
*array is compressed to the size of the subset, but the ordering of
*the array is maintained. For example, if the array stored at the
*'feature' key of a Genome object has 4000 entries, and the object paths
*provided are:
*/feature/7
*/feature/3015
*/feature/700
*The returned feature array will be of length three and the entries will
*consist, in order, of the 7th, 700th, and 3015th entries of the
*original array.
*
*Optional object subset fields:
*list<object_path> included - the portions of the object to include
*in the object subset.
*boolean strict_maps - if true, throw an exception if the subset
*specification traverses a non-existent map key (default false)
*boolean strict_arrays - if true, throw an exception if the subset
*specification exceeds the size of an array (default true)
*/
typedefstructure{
ws_nameworkspace;
ws_idwsid;
obj_idobjid;
ref_chainobj_path;
list<obj_ref>obj_ref_path;
ref_chainto_obj_path;
list<obj_ref>to_obj_ref_path;
booleanfind_reference_path;
list<object_path>included;
booleanstrict_maps;
booleanstrict_arrays;
}
ObjectSpecification;

/*
*Meta data associated with an object stored in a workspace. Provided for
*backwards compatibility.
*
*obj_name id - name of the object.
*type_string type - type of the object.
*timestamp moddate - date when the object was saved
*obj_ver instance - the version of the object
*string command - Deprecated. Always returns the empty string.
*username lastmodifier - name of the user who last saved the object,
*including copying the object
*username owner - Deprecated. Same as lastmodifier.
*ws_name workspace - name of the workspace in which the object is
*stored
*string ref - Deprecated. Always returns the empty string.
*string chsum - the md5 checksum of the object.
*usermeta metadata - arbitrary user-supplied metadata about
*the object.
*obj_id objid - the numerical id of the object.
*
*@deprecatedobject_info
*/
typedeftuple<obj_nameid,type_stringtype,timestampmoddate,intinstance,stringcommand,usernamelastmodifier,usernameowner,ws_nameworkspace,stringref,stringchsum,usermetametadata,obj_idobjid>object_metadata;

/*
*Information about an object, including user provided metadata.
*
*obj_id objid - the numerical id of the object.
*obj_name name - the name of the object.
*type_string type - the type of the object.
*timestamp save_date - the save date of the object.
*obj_ver ver - the version of the object.
*username saved_by - the user that saved or copied the object.
*ws_id wsid - the workspace containing the object.
*ws_name workspace - the workspace containing the object.
*string chsum - the md5 checksum of the object.
*int size - the size of the object in bytes.
*usermeta meta - arbitrary user-supplied metadata about
*the object.
*/
typedeftuple<obj_idobjid,obj_namename,type_stringtype,timestampsave_date,intversion,usernamesaved_by,ws_idwsid,ws_nameworkspace,stringchsum,intsize,usermetameta>object_info;

/*
*Information about an object as a struct rather than a tuple.
*This allows adding fields in a backward compatible way in the future.
*Includes more fields than object_info.
*
*obj_id objid - the numerical id of the object.
*obj_name name - the name of the object.
*type_string type - the type of the object.
*timestamp save_date - the save date of the object.
*obj_ver ver - the version of the object.
*username saved_by - the user that saved or copied the object.
*ws_id wsid - the workspace containing the object.
*ws_name workspace - the workspace containing the object.
*string chsum - the md5 checksum of the object.
*int size - the size of the object in bytes.
*usermeta meta - arbitrary user-supplied metadata about the object.
*usermeta adminmeta - service administrator metadata set on an object. Unlike most
*other object fields, admin metadata is mutable.
*list<obj_ref> path - the path to the object.
*/
typedefstructure{
obj_idobjid;
timestampsave_date;
intversion;
usernamesaved_by;
ws_idwsid;
ws_nameworkspace;
stringchsum;
intsize;
usermetaadminmeta;
list<obj_ref>path;
}
ObjectInfo;

/*
*An external data unit. A piece of data from a source outside the
*Workspace.
*
*On input, only one of the resource_release_date or
*resource_release_epoch may be supplied. Both are supplied on output.
*
*All fields are optional, but at least one field must be present.
*
*string resource_name - the name of the resource, for example JGI.
*string resource_url - the url of the resource, for example
*http://genome.jgi.doe.gov
*string resource_version - version of the resource
*timestamp resource_release_date - the release date of the resource
*epoch resource_release_epoch - the release date of the resource
*string data_url - the url of the data, for example
*http://genome.jgi.doe.gov/pages/dynamicOrganismDownload.jsf?
*organism=BlaspURHD0036
*string data_id - the id of the data, for example
*7625.2.79179.AGTTCC.adnq.fastq.gz
*string description - a free text description of the data.
*/
typedefstructure{
stringresource_name;
stringresource_url;
stringresource_version;
timestampresource_release_date;
epochresource_release_epoch;
stringdata_url;
stringdata_id;
stringdescription;
}
ExternalDataUnit;

/*
*Information about a subaction that is invoked by a provenance action.
*
*A provenance action (PA) may invoke subactions (SA), e.g. calling a
*separate piece of code, a service, or a script. In most cases these
*calls are the same from PA to PA and so do not need to be listed in
*the provenance since providing information about the PA alone provides
*reproducibility.
*
*In some cases, however, SAs may change over time, such that invoking
*the same PA with the same parameters may produce different results.
*For example, if a PA calls a remote server, that server may be updated
*between a PA invoked on day T and another PA invoked on day T+1.
*
*The SubAction structure allows for specifying information about SAs
*that may dynamically change from PA invocation to PA invocation.
*
*All fields are optional but at least one field must be present.
*
*string name - the name of the SA.
*string ver - the version of SA.
*string code_url - a url pointing to the SA's codebase.
*string commit - a version control commit ID for the SA.
*string endpoint_url - a url pointing to the access point for the SA -
*a server url, for instance.
*/
typedefstructure{
stringname;
stringver;
stringcode_url;
stringcommit;
stringendpoint_url;
}
SubAction;

/*
*A provenance action.
*
*A provenance action (PA) is an action taken while transforming one data
*object to another. There may be several PAs taken in series. A PA is
*typically running a script, running an api command, etc. All of the
*following fields are optional, but more information provided equates to
*better data provenance.
*
*If a provenance action has no fields defined at all, it is silently dropped from
*the list.
*
*resolved_ws_objects should never be set by the user; it is set by the
*workspace service when returning data.
*
*On input, only one of the time or epoch may be supplied. Both are
*supplied on output.
*
*The maximum size of the entire provenance object, including all actions,
*is 1MB.
*
*timestamp time - the time the action was started
*epoch epoch - the time the action was started.
*string caller - the name or id of the invoker of this provenance
*action. In most cases, this will be the same for all PAs.
*string service - the name of the service that performed this action.
*string service_ver - the version of the service that performed this action.
*string method - the method of the service that performed this action.
*list<UnspecifiedObject> method_params - the parameters of the method
*that performed this action. If an object in the parameters is a
*workspace object, also put the object reference in the
*input_ws_object list.
*string script - the name of the script that performed this action.
*string script_ver - the version of the script that performed this action.
*string script_command_line - the command line provided to the script
*that performed this action. If workspace objects were provided in
*the command line, also put the object reference in the
*input_ws_object list.
*list<ref_string> input_ws_objects - the workspace objects that
*were used as input to this action; typically these will also be
*present as parts of the method_params or the script_command_line
*arguments. A reference path into the object graph may be supplied.
*list<obj_ref> resolved_ws_objects - the workspace objects ids from
*input_ws_objects resolved to permanent workspace object references
*by the workspace service.
*list<string> intermediate_incoming - if the previous action produced
*output that 1) was not stored in a referrable way, and 2) is
*used as input for this action, provide it with an arbitrary and
*unique ID here, in the order of the input arguments to this action.
*These IDs can be used in the method_params argument.
*list<string> intermediate_outgoing - if this action produced output
*that 1) was not stored in a referrable way, and 2) is
*used as input for the next action, provide it with an arbitrary and
*unique ID here, in the order of the output values from this action.
*These IDs can be used in the intermediate_incoming argument in the
*next action.
*list<ExternalDataUnit> external_data - data external to the workspace
*that was either imported to the workspace or used to create a
*workspace object.
*list<SubAction> subactions - the subactions taken as a part of this
*action.
*mapping<string, string> custom - user definable custom provenance
*fields and their values.
*string description - a free text description of this action.
*/
typedefstructure{
epochepoch;
stringcaller;
stringservice;
stringservice_ver;
stringmethod;
list<UnspecifiedObject>method_params;
stringscript;
stringscript_ver;
stringscript_command_line;
list<ref_string>input_ws_objects;
list<obj_ref>resolved_ws_objects;
list<string>intermediate_incoming;
list<string>intermediate_outgoing;
list<ExternalDataUnit>external_data;
list<SubAction>subactions;
mapping<string,string>custom;
stringdescription;
}
ProvenanceAction;

/*
*Returns the version of the workspace service.
*/
funcdefver()returns(stringver)authenticationnone;

/*
*Input parameters for the "create_workspace" function.
*
*Required arguments:
*ws_name workspace - name of the workspace to be created.
*
*Optional arguments:
*permission globalread - 'r' to set the new workspace globally readable,
*default 'n'.
*string description - A free-text description of the new workspace, 1000
*characters max. Longer strings will be mercilessly and brutally
*truncated.
*usermeta meta - arbitrary user-supplied metadata for the workspace.
*/
typedefstructure{
ws_nameworkspace;
permissionglobalread;
stringdescription;
}
CreateWorkspaceParams;

/*
*Creates a new workspace.
*/
funcdefcreate_workspace(CreateWorkspaceParamsparams)returns(workspace_infoinfo)authenticationrequired;

/*
*Input parameters for the "alter_workspace_metadata" function.
*
*Required arguments:
*WorkspaceIdentity wsi - the workspace to be altered
*
*One or both of the following arguments are required:
*usermeta new - metadata to assign to the workspace. Duplicate keys will
*be overwritten.
*list<string> remove - these keys will be removed from the workspace
*metadata key/value pairs.
*/
typedefstructure{
list<string>remove;
}
AlterWorkspaceMetadataParams;

/*
*Change the metadata associated with a workspace.
*/
funcdefalter_workspace_metadata(AlterWorkspaceMetadataParamsparams)returns()authenticationrequired;

/*
*Input parameters for the "clone_workspace" function.
*
*Note that deleted objects are not cloned, although hidden objects are
*and remain hidden in the new workspace.
*
*Required arguments:
*WorkspaceIdentity wsi - the workspace to be cloned.
*ws_name workspace - name of the workspace to be cloned into. This must
*be a non-existant workspace name.
*
*Optional arguments:
*permission globalread - 'r' to set the new workspace globally readable,
*default 'n'.
*string description - A free-text description of the new workspace, 1000
*characters max. Longer strings will be mercilessly and brutally
*truncated.
*usermeta meta - arbitrary user-supplied metadata for the workspace.
*list<ObjectIdentity> exclude - exclude the specified objects from the
*cloned workspace. Either an object ID or a object name must be
*specified in each ObjectIdentity - any supplied reference strings,
*workspace names or IDs, and versions are ignored.
*/
typedefstructure{
ws_nameworkspace;
permissionglobalread;
stringdescription;
list<ObjectIdentity>exclude;
}
CloneWorkspaceParams;

/*
*Clones a workspace.
*/
funcdefclone_workspace(CloneWorkspaceParamsparams)returns(workspace_infoinfo)authenticationrequired;

/*
*Lock a workspace, preventing further changes.
*
*WARNING: Locking a workspace is permanent. A workspace, once locked,
*cannot be unlocked.
*
*The only changes allowed for a locked workspace are changing user
*based permissions or making a private workspace globally readable,
*thus permanently publishing the workspace. A locked, globally readable
*workspace cannot be made private.
*/
funcdeflock_workspace(WorkspaceIdentitywsi)returns(workspace_infoinfo)authenticationrequired;

/*
*DEPRECATED
*
*Input parameters for the "get_workspacemeta" function. Provided for
*backwards compatibility.
*
*One, and only one of:
*ws_name workspace - name of the workspace.
*ws_id id - the numerical ID of the workspace.
*
*Optional arguments:
*string auth - the authentication token of the KBase account accessing
*the workspace. Overrides the client provided authorization
*credentials if they exist.
*
*@deprecatedWorkspace.WorkspaceIdentity
*/
typedefstructure{
ws_nameworkspace;
stringauth;
}
get_workspacemeta_params;

/*
*Retrieves the metadata associated with the specified workspace.
*Provided for backwards compatibility.
*@deprecatedWorkspace.get_workspace_info
*/
funcdefget_workspacemeta(get_workspacemeta_paramsparams)returns(workspace_metadatametadata)authenticationoptional;

/*
*Get information associated with a workspace.
*/
funcdefget_workspace_info(WorkspaceIdentitywsi)returns(workspace_infoinfo)authenticationoptional;

/*
*Get a workspace's description.
*/
funcdefget_workspace_description(WorkspaceIdentitywsi)returns(stringdescription)authenticationoptional;

/*
*Input parameters for the "set_permissions" function.
*
*One, and only one, of the following is required:
*ws_id id - the numerical ID of the workspace.
*ws_name workspace - the name of the workspace.
*
*Required arguments:
*permission new_permission - the permission to assign to the users.
*list<username> users - the users whose permissions will be altered.
*/
typedefstructure{
ws_nameworkspace;
permissionnew_permission;
list<username>users;
}
SetPermissionsParams;

/*
*Set permissions for a workspace.
*/
funcdefset_permissions(SetPermissionsParamsparams)returns()authenticationrequired;

/*
*Input parameters for the "set_global_permission" function.
*
*One, and only one, of the following is required:
*ws_id id - the numerical ID of the workspace.
*ws_name workspace - the name of the workspace.
*
*Required arguments:
*permission new_permission - the permission to assign to all users,
*either 'n' or 'r'. 'r' means that all users will be able to read
*the workspace; otherwise users must have specific permission to
*access the workspace.
*/
typedefstructure{
ws_nameworkspace;
permissionnew_permission;
}
SetGlobalPermissionsParams;

/*
*Set the global permission for a workspace.
*/
funcdefset_global_permission(SetGlobalPermissionsParamsparams)returns()authenticationrequired;

/*
*Input parameters for the "set_workspace_description" function.
*
*One, and only one, of the following is required:
*ws_id id - the numerical ID of the workspace.
*ws_name workspace - the name of the workspace.
*
*Optional arguments:
*string description - A free-text description of the workspace, 1000
*characters max. Longer strings will be mercilessly and brutally
*truncated. If omitted, the description is set to null.
*/
typedefstructure{
ws_nameworkspace;
stringdescription;
}
SetWorkspaceDescriptionParams;

/*
*Set the description for a workspace.
*/
funcdefset_workspace_description(SetWorkspaceDescriptionParamsparams)returns()authenticationrequired;

/*
*Input parameters for the "get_permissions_mass" function.
*workspaces - the workspaces for which to return the permissions,
*maximum 1000.
*/
typedefstructure{
list<WorkspaceIdentity>workspaces;
}
GetPermissionsMassParams;

/*
*A set of workspace permissions.
*perms - the list of permissions for each requested workspace
*/
typedefstructure{
list<mapping<username,permission>>perms;
}
WorkspacePermissions;

/*
*Get permissions for multiple workspaces.
*/
funcdefget_permissions_mass(GetPermissionsMassParamsmass)returns(WorkspacePermissionsperms)authenticationoptional;

/*
*Get permissions for a workspace.
*@deprecatedget_permissions_mass
*/
funcdefget_permissions(WorkspaceIdentitywsi)returns(mapping<username,permission>perms)authenticationoptional;

/*
*Input parameters for the "save_object" function. Provided for backwards
*compatibility.
*
*Required arguments:
*type_string type - type of the object to be saved
*ws_name workspace - name of the workspace where the object is to be
*saved
*obj_name id - name behind which the object will be saved in the
*workspace
*UnspecifiedObject data - data to be saved in the workspace
*
*Optional arguments:
*usermeta metadata - arbitrary user-supplied metadata for the object,
*not to exceed 16kb; if the object type specifies automatic
*metadata extraction with the 'meta ws' annotation, and your
*metadata name conflicts, then your metadata will be silently
*overwritten.
*string auth - the authentication token of the KBase account accessing
*the workspace. Overrides the client provided authorization
*credentials if they exist.
*
*@deprecated
*/
typedefstructure{
UnspecifiedObjectdata;
ws_nameworkspace;
mapping<string,string>metadata;
stringauth;
}
save_object_params;

/*
*Saves the input object data and metadata into the selected workspace,
*returning the object_metadata of the saved object. Provided
*for backwards compatibility.
*
*@deprecatedWorkspace.save_objects
*/
funcdefsave_object(save_object_paramsparams)returns(object_metadatametadata)authenticationoptional;

/*
*An object and associated data required for saving.
*
*Required arguments:
*type_string type - the type of the object. Omit the version information
*to use the latest version.
*UnspecifiedObject data - the object data.
*One, and only one, of:
*obj_name name - the name of the object.
*obj_id objid - the id of the object to save over.
*
*
*Optional arguments:
*usermeta meta - arbitrary user-supplied metadata for the object,
*not to exceed 16kb; if the object type specifies automatic
*metadata extraction with the 'meta ws' annotation, and your
*metadata name conflicts, then your metadata will be silently
*overwritten.
*list<ProvenanceAction> provenance - provenance data for the object.
*boolean hidden - true if this object should not be listed when listing
*workspace objects.
*/
typedefstructure{
UnspecifiedObjectdata;
obj_idobjid;
list<ProvenanceAction>provenance;
booleanhidden;
}
ObjectSaveData;

/*
*Input parameters for the "save_objects" function.
*
*One, and only one, of the following is required:
*ws_id id - the numerical ID of the workspace.
*ws_name workspace - the name of the workspace.
*
*Required arguments:
*list<ObjectSaveData> objects - the objects to save.
*/
typedefstructure{
ws_nameworkspace;
list<ObjectSaveData>objects;
}
SaveObjectsParams;

/*
*Save objects to the workspace. Saving over a deleted object undeletes
*it.
*/
funcdefsave_objects(SaveObjectsParamsparams)returns(list<object_info>info)authenticationrequired;

/*
*Input parameters for the "get_object" function. Provided for backwards
*compatibility.
*
*Required arguments:
*ws_name workspace - Name of the workspace containing the object to be
*retrieved
*obj_name id - Name of the object to be retrieved
*
*Optional arguments:
*int instance - Version of the object to be retrieved, enabling
*retrieval of any previous version of an object
*string auth - the authentication token of the KBase account accessing
*the object. Overrides the client provided authorization
*credentials if they exist.
*
*@deprecatedWorkspace.ObjectIdentity
*/
typedefstructure{
ws_nameworkspace;
intinstance;
stringauth;
}
get_object_params;

/*
*Output generated by the "get_object" function. Provided for backwards
*compatibility.
*
*UnspecifiedObject data - The object's data.
*object_metadata metadata - Metadata for object retrieved/
*
*@deprecatedWorkspace.ObjectData
*/
typedefstructure{
UnspecifiedObjectdata;
}
get_object_output;

/*
*Retrieves the specified object from the specified workspace.
*Both the object data and metadata are returned.
*Provided for backwards compatibility.
*
*@deprecatedWorkspace.get_objects
*/
funcdefget_object(get_object_paramsparams)returns(get_object_outputoutput)authenticationoptional;

/*
*DEPRECATED
*
*The provenance and supplemental info for an object.
*
*object_info info - information about the object.
*list<ProvenanceAction> provenance - the object's provenance.
*username creator - the user that first saved the object to the
*workspace.
*ws_id orig_wsid - the id of the workspace in which this object was
*originally saved. Missing for objects saved prior to version
*0.4.1.
*timestamp created - the date the object was first saved to the
*workspace.
*epoch epoch - the date the object was first saved to the
*workspace.
*list<obj_ref> - the references contained within the object.
*obj_ref copied - the reference of the source object if this object is
*a copy and the copy source exists and is accessible.
*null otherwise.
*boolean copy_source_inaccessible - true if the object was copied from
*another object, but that object is no longer accessible to the
*user. False otherwise.
*mapping<id_type, list<extracted_id>> extracted_ids - any ids extracted
*from the object.
*string handle_error - if an error occurs while setting ACLs on
*embedded external IDs, it will be reported here. If not for historical reasons the
*parameter would be called "external_id_error".
*string handle_stacktrace - the stacktrace for handle_error. As above, the parameter
*should be called "external_id_stacktrace".
*
*@deprecated
*/
typedefstructure{
list<ProvenanceAction>provenance;
usernamecreator;
ws_idorig_wsid;
timestampcreated;
epochepoch;
list<obj_ref>refs;
obj_refcopied;
booleancopy_source_inaccessible;
mapping<id_type,list<extracted_id>>extracted_ids;
stringhandle_error;
stringhandle_stacktrace;
}
ObjectProvenanceInfo;

/*
*DEPRECATED
*Get object provenance from the workspace.
*
*@deprecatedWorkspace.get_objects2
*/
funcdefget_object_provenance(list<ObjectIdentity>object_ids)returns(list<ObjectProvenanceInfo>data)authenticationoptional;

/*
*The data and supplemental info for an object.
*
*UnspecifiedObject data - the object's data or subset data.
*object_info info - information about the object.
*ObjectInfo infostruct - information about the object as a structure rather than a tuple.
*list<obj_ref> path - the path to the object through the object reference graph. All the
*references in the path are absolute.
*list<ProvenanceAction> provenance - the object's provenance.
*username creator - the user that first saved the object to the workspace.
*ws_id orig_wsid - the id of the workspace in which this object was
*originally saved. Missing for objects saved prior to version
*0.4.1.
*timestamp created - the date the object was first saved to the
*workspace.
*epoch epoch - the date the object was first saved to the
*workspace.
*list<obj_ref> refs - the references contained within the object.
*obj_ref copied - the reference of the source object if this object is
*a copy and the copy source exists and is accessible.
*null otherwise.
*boolean copy_source_inaccessible - true if the object was copied from
*another object, but that object is no longer accessible to the
*user. False otherwise.
*mapping<id_type, list<extracted_id>> extracted_ids - any ids extracted
*from the object.
*string handle_error - if an error occurs while setting ACLs on
*embedded external IDs, it will be reported here. If not for historical reasons the
*parameter would be called "external_id_error".
*string handle_stacktrace - the stacktrace for handle_error. As above, the parameter
*should be called "external_id_stacktrace".
*/
typedefstructure{
UnspecifiedObjectdata;
ObjectInfoinfostruct;
list<obj_ref>path;
list<ProvenanceAction>provenance;
usernamecreator;
ws_idorig_wsid;
timestampcreated;
epochepoch;
list<obj_ref>refs;
obj_refcopied;
booleancopy_source_inaccessible;
mapping<id_type,list<extracted_id>>extracted_ids;
stringhandle_error;
stringhandle_stacktrace;
}
ObjectData;

/*
*DEPRECATED
*Get objects from the workspace.
*@deprecatedWorkspace.get_objects2
*/
funcdefget_objects(list<ObjectIdentity>object_ids)returns(list<ObjectData>data)authenticationoptional;

/*
*Input parameters for the get_objects2 function.
*
*Required parameters:
*list<ObjectSpecification> objects - the list of object specifications
*for the objects to return (via reference chain and as a subset if
*specified).
*
*Optional parameters:
*boolean ignoreErrors - Don't throw an exception if an object cannot
*be accessed; return null for that object's information instead.
*Default false.
*boolean infostruct - return the object information as a structure rather than a tuple.
*Default false. If true, ObjectData.path will be null as it is provided in
*the ObjectInfo data.
*boolean no_data - return the provenance, references, and
*object_info for this object without the object data. Default false.
*boolean skip_external_system_updates - if the objects contain any external IDs, don't
*contact external systems to perform any updates for those IDs (often ACL updates,
*e.g. for handle / blobstore / sample IDs). In some cases this can speed up fetching the
*data. Default false.
*boolean batch_external_system_updates - if the objects contain any external IDs,
*send all external system updates in a batch to each external system when possible
*rather than object by object. This can potentially speed up the updates, but the
*drawback is that if the external update fails for any object, all the objects that
*required updates for that system will be marked as having a failed update.
*Has no effect if skip_external_system_updates is true. Default false.
*/
typedefstructure{
list<ObjectSpecification>objects;
booleanignoreErrors;
booleaninfostruct;
booleanno_data;
booleanskip_external_system_updates;
booleanbatch_external_system_updates;
}
GetObjects2Params;

/*
*Results from the get_objects2 function.
*
*list<ObjectData> data - the returned objects.
*/
typedefstructure{
list<ObjectData>data;
}
GetObjects2Results;

/*
*Get objects from the workspace.
*/
funcdefget_objects2(GetObjects2Paramsparams)returns(GetObjects2Resultsresults)authenticationoptional;

/*
*DEPRECATED
*Get portions of objects from the workspace.
*
*When selecting a subset of an array in an object, the returned
*array is compressed to the size of the subset, but the ordering of
*the array is maintained. For example, if the array stored at the
*'feature' key of a Genome object has 4000 entries, and the object paths
*provided are:
*/feature/7
*/feature/3015
*/feature/700
*The returned feature array will be of length three and the entries will
*consist, in order, of the 7th, 700th, and 3015th entries of the
*original array.
*@deprecatedWorkspace.get_objects2
*/
funcdefget_object_subset(list<SubObjectIdentity>sub_object_ids)returns(list<ObjectData>data)authenticationoptional;

/*
*Get an object's history. The version argument of the ObjectIdentity is
*ignored.
*/
funcdefget_object_history(ObjectIdentityobject)returns(list<object_info>history)authenticationoptional;

/*
*List objects that reference one or more specified objects. References
*in the deleted state are not returned.
*/
funcdeflist_referencing_objects(list<ObjectIdentity>object_ids)returns(list<list<object_info>>referrers)authenticationoptional;

/*
*DEPRECATED
*
*List the number of times objects have been referenced.
*
*This count includes both provenance and object-to-object references
*and, unlike list_referencing_objects, includes objects that are
*inaccessible to the user.
*
*@deprecated
*/
funcdeflist_referencing_object_counts(list<ObjectIdentity>object_ids)returns(list<int>counts)authenticationoptional;

/*
*DEPRECATED
*
*Get objects by references from other objects.
*
*NOTE: In the vast majority of cases, this method is not necessary and
*get_objects should be used instead.
*
*get_referenced_objects guarantees that a user that has access to an
*object can always see a) objects that are referenced inside the object
*and b) objects that are referenced in the object's provenance. This
*ensures that the user has visibility into the entire provenance of the
*object and the object's object dependencies (e.g. references).
*
*The user must have at least read access to the first object in each
*reference chain, but need not have access to any further objects in
*the chain, and those objects may be deleted.
*
*@deprecatedWorkspace.get_objects2
*/
funcdefget_referenced_objects(list<ref_chain>ref_chains)returns(list<ObjectData>data)authenticationoptional;

/*
*Input parameters for the "list_workspaces" function. Provided for
*backwards compatibility.
*
*Optional parameters:
*string auth - the authentication token of the KBase account accessing
*the list of workspaces. Overrides the client provided authorization
*credentials if they exist.
*boolean excludeGlobal - if excludeGlobal is true exclude world
*readable workspaces. Defaults to false.
*
*@deprecatedWorkspace.ListWorkspaceInfoParams
*/
typedefstructure{
stringauth;
booleanexcludeGlobal;
}
list_workspaces_params;

/*
*Lists the metadata of all workspaces a user has access to. Provided for
*backwards compatibility - to be replaced by the functionality of
*list_workspace_info
*
*@deprecatedWorkspace.list_workspace_info
*/
funcdeflist_workspaces(list_workspaces_paramsparams)returns(list<workspace_metadata>workspaces)authenticationoptional;

/*
*Input parameters for the "list_workspace_info" function.
*
*Only one of each timestamp/epoch pair may be supplied.
*
*Optional parameters:
*permission perm - filter workspaces by minimum permission level. 'None'
*and 'readable' are ignored.
*list<username> owners - filter workspaces by owner.
*usermeta meta - filter workspaces by the user supplied metadata. NOTE:
*only one key/value pair is supported at this time. A full map
*is provided as input for the possibility for expansion in the
*future.
*timestamp after - only return workspaces that were modified after this
*date.
*timestamp before - only return workspaces that were modified before
*this date.
*epoch after_epoch - only return workspaces that were modified after
*this date.
*epoch before_epoch - only return workspaces that were modified before
*this date.
*boolean excludeGlobal - if excludeGlobal is true exclude world
*readable workspaces. Defaults to false.
*boolean showDeleted - show deleted workspaces that are owned by the
*user.
*boolean showOnlyDeleted - only show deleted workspaces that are owned
*by the user.
*/
typedefstructure{
list<username>owners;
timestampafter;
timestampbefore;
epochafter_epoch;
epochbefore_epoch;
booleanexcludeGlobal;
booleanshowDeleted;
booleanshowOnlyDeleted;
}
ListWorkspaceInfoParams;

/*
*List workspaces viewable by the user.
*/
funcdeflist_workspace_info(ListWorkspaceInfoParamsparams)returns(list<workspace_info>wsinfo)authenticationoptional;

/*
*Input parameters for the "list_workspace_ids" function.
*
*Optional parameters:
*permission perm - filter workspaces by minimum permission level. 'None'
*and 'readable' are ignored.
*boolean onlyGlobal - if onlyGlobal is true only include world readable
*workspaces. Defaults to false. If true, excludeGlobal is ignored.
*boolean excludeGlobal - if excludeGlobal is true exclude world
*readable workspaces. Defaults to true.
*/
typedefstructure{
booleanexcludeGlobal;
booleanonlyGlobal;
}
ListWorkspaceIDsParams;

/*
*Results of the "list_workspace_ids" function.
*
*list<int> workspaces - the workspaces to which the user has explicit
*access.
*list<int> pub - the workspaces to which the user has access because
*they're globally readable.
*/
typedefstructure{
list<int>workspaces;
list<int>pub;
}
ListWorkspaceIDsResults;

/*
*List workspace IDs to which the user has access.
*
*This function returns a subset of the information in the
*list_workspace_info method and should be substantially faster.
*/
funcdeflist_workspace_ids(ListWorkspaceIDsParamsparams)returns(ListWorkspaceIDsResultsresults)authenticationoptional;

/*
*Input parameters for the "list_workspace_objects" function. Provided
*for backwards compatibility.
*
*Required arguments:
*ws_name workspace - Name of the workspace for which objects should be
*listed
*
*Optional arguments:
*type_string type - type of the objects to be listed. Here, omitting
*version information will find any objects that match the provided
*type - e.g. Foo.Bar-0 will match Foo.Bar-0.X where X is any
*existing version.
*boolean showDeletedObject - show objects that have been deleted
*string auth - the authentication token of the KBase account requesting
*access. Overrides the client provided authorization credentials if
*they exist.
*
*@deprecatedWorkspace.ListObjectsParams
*/
typedefstructure{
ws_nameworkspace;
booleanshowDeletedObject;
stringauth;
}
list_workspace_objects_params;

/*
*Lists the metadata of all objects in the specified workspace with the
*specified type (or with any type). Provided for backwards compatibility.
*
*@deprecatedWorkspace.list_objects
*/
funcdeflist_workspace_objects(list_workspace_objects_paramsparams)returns(list<object_metadata>objects)authenticationoptional;

/*
*Parameters for the 'list_objects' function.
*
*At least one, and no more than 10000, workspaces must be specified in one of the
*two following parameters. It is strongly recommended that the list is restricted to
*the workspaces of interest, or the results may be very large:
*list<ws_id> ids - the numerical IDs of the workspaces of interest.
*list<ws_name> workspaces - the names of the workspaces of interest.
*
*Only one of each timestamp/epoch pair may be supplied.
*
*Optional arguments:
*type_string type - type of the objects to be listed. Here, omitting
*version information will find any objects that match the provided
*type - e.g. Foo.Bar-0 will match Foo.Bar-0.X where X is any
*existing version.
*permission perm - DEPRECATED, no longer useful. Filter on minimum permission by providing
*only workspaces with the desired permission levels in the input list(s).
*list<username> savedby - filter objects by the user that saved or
*copied the object.
*usermeta meta - filter objects by the user supplied metadata. NOTE:
*only one key/value pair is supported at this time. A full map
*is provided as input for the possibility for expansion in the
*future.
*timestamp after - only return objects that were created after this
*date.
*timestamp before - only return objects that were created before this
*date.
*epoch after_epoch - only return objects that were created after this
*date.
*epoch before_epoch - only return objects that were created before this
*date.
*string startafter - a reference-like string that determines where the
*list of objects will begin. It takes the form X/Y/Z, where X is
*the workspace ID, Y the object ID, and Z the version. The version
*may be omitted, and the object ID omitted if the version is also
*omitted. After a '/' separator either an integer or no characters
*at all, including whitespace, may occur. Whitespace strings are
*ignored. If startafter is provided, after, before,
*after_epoch, before_epoch, savedby, meta, minObjectID, and
*maxObjectID may not be provided. Only objects that are ordered
*after the reference, exclusive, will be included in the
*result, and the resulting list will be sorted by reference.
*obj_id minObjectID - only return objects with an object id greater or
*equal to this value.
*obj_id maxObjectID - only return objects with an object id less than or
*equal to this value.
*boolean showDeleted - show deleted objects in workspaces to which the
*user has write access.
*boolean showOnlyDeleted - only show deleted objects in workspaces to
*which the user has write access.
*boolean showHidden - show hidden objects.
*boolean showAllVersions - show all versions of each object that match
*the filters rather than only the most recent version.
*boolean includeMetadata - include the user provided metadata in the
*returned object_info. If false (0 or null), the default, the
*metadata will be null.
*boolean excludeGlobal - DEPRECATED, no longer useful. Filter on global workspaces by
*excluding them from the input workspace list(s).
*int limit - limit the output to X objects. Default and maximum value
*is 10000. Limit values < 1 are treated as 10000, the default.
*/
typedefstructure{
list<ws_name>workspaces;
list<ws_id>ids;
list<username>savedby;
timestampafter;
timestampbefore;
epochafter_epoch;
epochbefore_epoch;
stringstartafter;
obj_idminObjectID;
obj_idmaxObjectID;
booleanshowDeleted;
booleanshowOnlyDeleted;
booleanshowHidden;
booleanshowAllVersions;
booleanincludeMetadata;
booleanexcludeGlobal;
intlimit;
}
ListObjectsParams;

/*
*List objects in one or more workspaces.
*/
funcdeflist_objects(ListObjectsParamsparams)returns(list<object_info>objinfo)authenticationoptional;

/*
*Input parameters for the "get_objectmeta" function.
*
*Required arguments:
*ws_name workspace - name of the workspace containing the object for
*which metadata is to be retrieved
*obj_name id - name of the object for which metadata is to be retrieved
*
*Optional arguments:
*int instance - Version of the object for which metadata is to be
*retrieved, enabling retrieval of any previous version of an object
*string auth - the authentication token of the KBase account requesting
*access. Overrides the client provided authorization credentials if
*they exist.
*
*@deprecatedWorkspace.ObjectIdentity
*/
typedefstructure{
ws_nameworkspace;
intinstance;
stringauth;
}
get_objectmeta_params;

/*
*Retrieves the metadata for a specified object from the specified
*workspace. Provides access to metadata for all versions of the object
*via the instance parameter. Provided for backwards compatibility.
*
*@deprecatedWorkspace.get_object_info3
*/
funcdefget_objectmeta(get_objectmeta_paramsparams)returns(object_metadatametadata)authenticationoptional;

/*
*Get information about objects from the workspace.
*
*Set includeMetadata true to include the user specified metadata.
*Otherwise the metadata in the object_info will be null.
*
*This method will be replaced by the behavior of get_object_info_new
*in the future.
*
*@deprecatedWorkspace.get_object_info3
*/
funcdefget_object_info(list<ObjectIdentity>object_ids,booleanincludeMetadata)returns(list<object_info>info)authenticationoptional;

/*
*Input parameters for the "get_object_info_new" function.
*
*Required arguments:
*list<ObjectSpecification> objects - the objects for which the
*information should be fetched. Subsetting related parameters are
*ignored.
*
*Optional arguments:
*boolean includeMetadata - include the object metadata in the returned
*information. Default false.
*boolean ignoreErrors - Don't throw an exception if an object cannot
*be accessed; return null for that object's information instead.
*Default false.
*
*@deprecatedWorkspace.GetObjectInfo3Params
*/
typedefstructure{
list<ObjectSpecification>objects;
booleanincludeMetadata;
booleanignoreErrors;
}
GetObjectInfoNewParams;

/*
*Get information about objects from the workspace.
*
*@deprecatedWorkspace.get_object_info3
*/
funcdefget_object_info_new(GetObjectInfoNewParamsparams)returns(list<object_info>info)authenticationoptional;

/*
*Input parameters for the "get_object_info3" function.
*
*Required arguments:
*list<ObjectSpecification> objects - the objects for which the
*information should be fetched. Subsetting related parameters are
*ignored.
*
*Optional arguments:
*boolean infostruct - return information about the object as a structure rather than a tuple.
*Default false. If true, infos and paths will be null.
*boolean includeMetadata - include the user and admin metadata in the returned
*information. Default false.
*boolean ignoreErrors - Don't throw an exception if an object cannot
*be accessed; return null for that object's information and path instead.
*Default false.
*/
typedefstructure{
list<ObjectSpecification>objects;
booleaninfostruct;
booleanincludeMetadata;
booleanignoreErrors;
}
GetObjectInfo3Params;

/*
*Output from the get_object_info3 function.
*
*list<object_info> infos - the object_info data for each object.
*list<list<obj_ref> paths - the path to the object through the object reference graph for
*each object. All the references in the path are absolute.
*list<ObjectInfo> infostructs - the ObjectInfo data for each object.
*/
typedefstructure{
list<object_info>infos;
list<list<obj_ref>>paths;
list<ObjectInfo>infostructs;
}
GetObjectInfo3Results;

funcdefget_object_info3(GetObjectInfo3Paramsparams)returns(GetObjectInfo3Resultsresults)authenticationoptional;

/*
*Input parameters for the 'rename_workspace' function.
*
*Required arguments:
*WorkspaceIdentity wsi - the workspace to rename.
*ws_name new_name - the new name for the workspace.
*/
typedefstructure{
ws_namenew_name;
}
RenameWorkspaceParams;

/*
*Rename a workspace.
*/
funcdefrename_workspace(RenameWorkspaceParamsparams)returns(workspace_inforenamed)authenticationrequired;

/*
*Input parameters for the 'rename_object' function.
*
*Required arguments:
*ObjectIdentity obj - the object to rename.
*obj_name new_name - the new name for the object.
*/
typedefstructure{
obj_namenew_name;
}
RenameObjectParams;

/*
*Rename an object. User meta data is always returned as null.
*/
funcdefrename_object(RenameObjectParamsparams)returns(object_inforenamed)authenticationrequired;

/*
*Input parameters for the 'copy_object' function.
*
*If the 'from' ObjectIdentity includes no version and the object is
*copied to a new name, the entire version history of the object is
*copied. In all other cases only the version specified, or the latest
*version if no version is specified, is copied.
*
*The version from the 'to' ObjectIdentity is always ignored.
*
*Required arguments:
*ObjectIdentity from - the object to copy.
*ObjectIdentity to - where to copy the object.
*/
typedefstructure{}CopyObjectParams;

/*
*Copy an object. Returns the object_info for the newest version.
*/
funcdefcopy_object(CopyObjectParamsparams)returns(object_infocopied)authenticationrequired;

/*
*Revert an object.
*
*The object specified in the ObjectIdentity is reverted to the version
*specified in the ObjectIdentity.
*/
funcdefrevert_object(ObjectIdentityobject)returns(object_inforeverted)authenticationrequired;

/*
*Input parameters for the get_names_by_prefix function.
*
*Required arguments:
*list<WorkspaceIdentity> workspaces - the workspaces to search.
*string prefix - the prefix of the object names to return.
*
*Optional arguments:
*boolean includeHidden - include names of hidden objects in the results.
*Default false.
*/
typedefstructure{
list<WorkspaceIdentity>workspaces;
stringprefix;
booleanincludeHidden;
}
GetNamesByPrefixParams;

/*
*Results object for the get_names_by_prefix function.
*
*list<list<obj_name>> names - the names matching the provided prefix,
*listed in order of the input workspaces.
*/
typedefstructure{
list<list<obj_name>>names;
}
GetNamesByPrefixResults;

/*
*Get object names matching a prefix. At most 1000 names are returned.
*No particular ordering is guaranteed, nor is which names will be
*returned if more than 1000 are found.
*
*This function is intended for use as an autocomplete helper function.
*/
funcdefget_names_by_prefix(GetNamesByPrefixParamsparams)returns(GetNamesByPrefixResultsres)authenticationoptional;

/*
*Hide objects. All versions of an object are hidden, regardless of
*the version specified in the ObjectIdentity. Hidden objects do not
*appear in the list_objects method.
*/
funcdefhide_objects(list<ObjectIdentity>object_ids)returns()authenticationrequired;

/*
*Unhide objects. All versions of an object are unhidden, regardless
*of the version specified in the ObjectIdentity.
*/
funcdefunhide_objects(list<ObjectIdentity>object_ids)returns()authenticationrequired;

/*
*Delete objects. All versions of an object are deleted, regardless of
*the version specified in the ObjectIdentity.
*/
funcdefdelete_objects(list<ObjectIdentity>object_ids)returns()authenticationrequired;

/*
*Undelete objects. All versions of an object are undeleted, regardless
*of the version specified in the ObjectIdentity. If an object is not
*deleted, no error is thrown.
*/
funcdefundelete_objects(list<ObjectIdentity>object_ids)returns()authenticationrequired;

/*
*Delete a workspace. All objects contained in the workspace are deleted.
*/
funcdefdelete_workspace(WorkspaceIdentitywsi)returns()authenticationrequired;

/*
*A type specification (typespec) file in the KBase Interface Description
*Language (KIDL).
*/
typedefstringtypespec;

/*
*A module name defined in a KIDL typespec.
*/
typedefstringmodulename;

/*
*A type definition name in a KIDL typespec.
*/
typedefstringtypename;

/*
*A version of a type.
*Specifies the version of the type in a single string in the format
*[major].[minor]:
*
*major - an integer. The major version of the type. A change in the
*major version implies the type has changed in a non-backwards
*compatible way.
*minor - an integer. The minor version of the type. A change in the
*minor version implies that the type has changed in a way that is
*backwards compatible with previous type definitions.
*/
typedefstringtypever;

/*
*A function string for referencing a funcdef.
*Specifies the function and its version in a single string in the format
*[modulename].[funcname]-[major].[minor]:
*
*modulename - a string. The name of the module containing the function.
*funcname - a string. The name of the function as assigned by the funcdef
*statement.
*major - an integer. The major version of the function. A change in the
*major version implies the function has changed in a non-backwards
*compatible way.
*minor - an integer. The minor version of the function. A change in the
*minor version implies that the function has changed in a way that is
*backwards compatible with previous function definitions.
*
*In many cases, the major and minor versions are optional, and if not
*provided the most recent version will be used.
*
*Example: MyModule.MyFunc-3.1
*/
typedefstringfunc_string;

/*
*The version of a typespec file.
*/
typedefintspec_version;

/*
*The JSON Schema (v4) representation of a type definition.
*/
typedefstringjsonschema;

/*
*Request ownership of a module name. A Workspace administrator
*must approve the request.
*/
funcdefrequest_module_ownership(modulenamemod)returns()authenticationrequired;

/*
*Parameters for the register_typespec function.
*
*Required arguments:
*One of:
*typespec spec - the new typespec to register.
*modulename mod - the module to recompile with updated options (see below).
*
*Optional arguments:
*boolean dryrun - Return, but do not save, the results of compiling the
*spec. Default true. Set to false for making permanent changes.
*list<typename> new_types - types in the spec to make available in the
*workspace service. When compiling a spec for the first time, if
*this argument is empty no types will be made available. Previously
*available types remain so upon recompilation of a spec or
*compilation of a new spec.
*list<typename> remove_types - no longer make these types available in
*the workspace service for the new version of the spec. This does
*not remove versions of types previously compiled.
*mapping<modulename, spec_version> dependencies - By default, the
*latest released versions of spec dependencies will be included when
*compiling a spec. Specific versions can be specified here.
*spec_version prev_ver - the id of the previous version of the typespec.
*An error will be thrown if this is set and prev_ver is not the
*most recent version of the typespec. This prevents overwriting of
*changes made since retrieving a spec and compiling an edited spec.
*This argument is ignored if a modulename is passed.
*/
typedefstructure{
list<typename>new_types;
list<typename>remove_types;
mapping<modulename,spec_version>dependencies;
booleandryrun;
spec_versionprev_ver;
}
RegisterTypespecParams;

/*
*Register a new typespec or recompile a previously registered typespec
*with new options.
*See the documentation of RegisterTypespecParams for more details.
*Also see the release_types function.
*/
funcdefregister_typespec(RegisterTypespecParamsparams)returns(mapping<type_string,jsonschema>)authenticationrequired;

/*
*Parameters for the register_typespec_copy function.
*
*Required arguments:
*string external_workspace_url - the URL of the workspace server from
*which to copy a typespec.
*modulename mod - the name of the module in the workspace server
*
*Optional arguments:
*spec_version version - the version of the module in the workspace
*server
*/
typedefstructure{
stringexternal_workspace_url;
spec_versionversion;
}
RegisterTypespecCopyParams;

/*
*Register a copy of new typespec or refresh an existing typespec which is
*loaded from another workspace for synchronization. Method returns new
*version of module in current workspace.
*
*Also see the release_types function.
*/
funcdefregister_typespec_copy(RegisterTypespecCopyParamsparams)returns(spec_versionnew_local_version)authenticationrequired;

/*
*Release a module for general use of its types.
*
*Releases the most recent version of a module. Releasing a module does
*two things to the module's types:
*1) If a type's major version is 0, it is changed to 1. A major
*version of 0 implies that the type is in development and may have
*backwards incompatible changes from minor version to minor version.
*Once a type is released, backwards incompatible changes always
*cause a major version increment.
*2) This version of the type becomes the default version, and if a
*specific version is not supplied in a function call, this version
*will be used. This means that newer, unreleased versions of the
*type may be skipped.
*/
funcdefrelease_module(modulenamemod)returns(list<type_string>types)authenticationrequired;

/*
*Parameters for the list_modules() function.
*
*Optional arguments:
*username owner - only list modules owned by this user.
*/
typedefstructure{
usernameowner;
}
ListModulesParams;

/*
*List typespec modules.
*/
funcdeflist_modules(ListModulesParamsparams)returns(list<modulename>modules)authenticationnone;

/*
*Parameters for the list_module_versions function.
*
*Required arguments:
*One of:
*modulename mod - returns all versions of the module.
*type_string type - returns all versions of the module associated with
*the type.
*/
typedefstructure{}ListModuleVersionsParams;

/*
*A set of versions from a module.
*
*modulename mod - the name of the module.
*list<spec_version> - a set or subset of versions associated with the
*module.
*list<spec_version> - a set or subset of released versions associated
*with the module.
*/
typedefstructure{
list<spec_version>vers;
list<spec_version>released_vers;
}
ModuleVersions;

/*
*List typespec module versions.
*/
funcdeflist_module_versions(ListModuleVersionsParamsparams)returns(ModuleVersionsvers)authenticationoptional;

/*
*Parameters for the get_module_info function.
*
*Required arguments:
*modulename mod - the name of the module to retrieve.
*
*Optional arguments:
*spec_version ver - the version of the module to retrieve. Defaults to
*the latest version.
*/
typedefstructure{}GetModuleInfoParams;

/*
*Information about a module.
*
*list<username> owners - the owners of the module.
*spec_version ver - the version of the module.
*typespec spec - the typespec.
*string description - the description of the module from the typespec.
*mapping<type_string, jsonschema> types - the types associated with this
*module and their JSON schema.
*mapping<modulename, spec_version> included_spec_version - names of
*included modules associated with their versions.
*string chsum - the md5 checksum of the object.
*list<func_string> functions - list of names of functions registered in spec.
*boolean is_released - shows if this version of module was released (and
*hence can be seen by others).
*/
typedefstructure{
list<username>owners;
stringdescription;
mapping<type_string,jsonschema>types;
mapping<modulename,spec_version>included_spec_version;
stringchsum;
list<func_string>functions;
booleanis_released;
}
ModuleInfo;

funcdefget_module_info(GetModuleInfoParamsparams)returns(ModuleInfoinfo)authenticationoptional;

/*
*Get JSON schema for a type.
*/
funcdefget_jsonschema(type_stringtype)returns(jsonschemaschema)authenticationoptional;

/*
*Translation from types qualified with MD5 to their semantic versions
*/
funcdeftranslate_from_MD5_types(list<type_string>md5_types)returns(mapping<type_string,list<type_string>>sem_types)authenticationnone;

/*
*Translation from types qualified with semantic versions to their MD5'ed versions
*/
funcdeftranslate_to_MD5_types(list<type_string>sem_types)returns(mapping<type_string,type_string>md5_types)authenticationoptional;

/*
*Information about a type
*
*type_string type_def - resolved type definition id.
*string description - the description of the type from spec file.
*string spec_def - reconstruction of type definition from spec file.
*jsonschema json_schema - JSON schema of this type.
*string parsing_structure - json document describing parsing structure of type
*in spec file including involved sub-types.
*list<spec_version> module_vers - versions of spec-files containing
*given type version.
*list<spec_version> released_module_vers - versions of released spec-files
*containing given type version.
*list<type_string> type_vers - all versions of type with given type name.
*list<type_string> released_type_vers - all released versions of type with
*given type name.
*list<func_string> using_func_defs - list of functions (with versions)
*referring to this type version.
*list<type_string> using_type_defs - list of types (with versions)
*referring to this type version.
*list<type_string> used_type_defs - list of types (with versions)
*referred from this type version.
*/
typedefstructure{
type_stringtype_def;
stringdescription;
stringspec_def;
jsonschemajson_schema;
stringparsing_structure;
list<spec_version>module_vers;
list<spec_version>released_module_vers;
list<type_string>type_vers;
list<type_string>released_type_vers;
list<func_string>using_func_defs;
list<type_string>using_type_defs;
list<type_string>used_type_defs;
}
TypeInfo;

funcdefget_type_info(type_stringtype)returns(TypeInfoinfo)authenticationoptional;

funcdefget_all_type_info(modulenamemod)returns(list<TypeInfo>)authenticationoptional;

/*
*DEPRECATED
*@deprecated
*/
typedefstructure{
func_stringfunc_def;
stringdescription;
stringspec_def;
stringparsing_structure;
list<spec_version>module_vers;
list<spec_version>released_module_vers;
list<func_string>func_vers;
list<func_string>released_func_vers;
list<type_string>used_type_defs;
}
FuncInfo;

/*
*@deprecated
*/
funcdefget_func_info(func_stringfunc)returns(FuncInfoinfo)authenticationoptional;

/*
*@deprecated
*/
funcdefget_all_func_info(modulenamemod)returns(list<FuncInfo>info)authenticationoptional;

/*
*Parameters for the grant_module_ownership function.
*
*Required arguments:
*modulename mod - the module to modify.
*username new_owner - the user to add to the module's list of
*owners.
*
*Optional arguments:
*boolean with_grant_option - true to allow the user to add owners
*to the module.
*/
typedefstructure{
usernamenew_owner;
booleanwith_grant_option;
}
GrantModuleOwnershipParams;

/*
*Grant ownership of a module. You must have grant ability on the
*module.
*/
funcdefgrant_module_ownership(GrantModuleOwnershipParamsparams)returns()authenticationrequired;

/*
*Parameters for the remove_module_ownership function.
*
*Required arguments:
*modulename mod - the module to modify.
*username old_owner - the user to remove from the module's list of
*owners.
*/
typedefstructure{
usernameold_owner;
}
RemoveModuleOwnershipParams;

/*
*Remove ownership from a current owner. You must have the grant ability
*on the module.
*/
funcdefremove_module_ownership(RemoveModuleOwnershipParamsparams)returns()authenticationrequired;

/*
*Parameters for list_all_types function.
*
*Optional arguments:
*boolean with_empty_modules - include empty module names, optional flag,
*default value is false.
*/
typedefstructure{
booleanwith_empty_modules;
}
ListAllTypesParams;

/*
*List all released types with released version from all modules. Return
*mapping from module name to mapping from type name to released type
*version.
*/
funcdeflist_all_types(ListAllTypesParamsparams)returns(mapping<modulename,mapping<typename,typever>>)authenticationoptional;

/*
*The results of the get_admin_role call.
*
*adminrole - the users's administration role, one of `none`, `read`, or `full`.
*/
typedefstructure{
stringadminrole;
}
GetAdminRoleResults;

/*
*Get the administrative role for the current user.
*/
funcdefget_admin_role()returns(GetAdminRoleResultsresults)authenticationrequired;

/*
*An object metadata update specification.
*
*Required arguments:
*ObjectIdentity oi - the object to be altered
*
*One or both of the following arguments are required:
*usermeta new - metadata to assign to the workspace. Duplicate keys will
*be overwritten.
*list<string> remove - these keys will be removed from the workspace
*metadata key/value pairs.
*/
typedefstructure{
list<string>remove;
}
ObjectMetadataUpdate;

/*
*Input parameters for the alter_admin_object_metadata method.
*
*updates - the metadata updates to apply to the objects. If the same object is specified
*twice in the list, the update order is unspecified. At most 1000 updates are allowed
*in one call.
*/
typedefstructure{
list<ObjectMetadataUpdate>updates;
}
AlterAdminObjectMetadataParams;

/*
*Update admin metadata for an object. The user must have full workspace service
*administration privileges.
*/
funcdefalter_admin_object_metadata(AlterAdminObjectMetadataParamsparams)returns()authenticationrequired;

/*
*The administration interface.
*/
funcdefadminister(UnspecifiedObjectcommand)returns(UnspecifiedObjectresponse)authenticationrequired;
};

Function Index

Type Index

\ No newline at end of file diff --git a/lib/Bio/KBase/workspace/Client.pm b/lib/Bio/KBase/workspace/Client.pm index 133e004a..671f1b2c 100644 --- a/lib/Bio/KBase/workspace/Client.pm +++ b/lib/Bio/KBase/workspace/Client.pm @@ -10783,7 +10783,7 @@ compatibility. UnspecifiedObject data - The object's data. object_metadata metadata - Metadata for object retrieved/ -@deprecated Workspaces.ObjectData +@deprecated Workspace.ObjectData =item Definition diff --git a/lib/biokbase/workspace/client.py b/lib/biokbase/workspace/client.py index c5be1a5f..5522053b 100644 --- a/lib/biokbase/workspace/client.py +++ b/lib/biokbase/workspace/client.py @@ -914,7 +914,7 @@ def get_object(self, params, context=None): the "get_object" function. Provided for backwards compatibility. UnspecifiedObject data - The object's data. object_metadata metadata - Metadata for object retrieved/ @deprecated - Workspaces.ObjectData) -> structure: parameter "data" of + Workspace.ObjectData) -> structure: parameter "data" of unspecified object, parameter "metadata" of type "object_metadata" (Meta data associated with an object stored in a workspace. Provided for backwards compatibility. obj_name id - name of the diff --git a/src/us/kbase/workspace/GetObjectOutput.java b/src/us/kbase/workspace/GetObjectOutput.java index 177e3c33..06f5a032 100644 --- a/src/us/kbase/workspace/GetObjectOutput.java +++ b/src/us/kbase/workspace/GetObjectOutput.java @@ -20,7 +20,7 @@ * compatibility. * UnspecifiedObject data - The object's data. * object_metadata metadata - Metadata for object retrieved/ - * @deprecated Workspaces.ObjectData + * @deprecated Workspace.ObjectData * * */ diff --git a/src/us/kbase/workspace/WorkspaceServer.java b/src/us/kbase/workspace/WorkspaceServer.java index 317a8a8b..64c98637 100644 --- a/src/us/kbase/workspace/WorkspaceServer.java +++ b/src/us/kbase/workspace/WorkspaceServer.java @@ -102,7 +102,7 @@ public class WorkspaceServer extends JsonServerServlet { private static final long serialVersionUID = 1L; private static final String version = "0.0.1"; private static final String gitUrl = "https://github.com/mrcreosote/workspace_deluxe"; - private static final String gitCommitHash = "5154d57474407fb8e21e5bcd238c6db20666fca8"; + private static final String gitCommitHash = "8d0c78b928ca21c63ad05b0ee7dbe608065d44d1"; //BEGIN_CLASS_HEADER //TODO JAVADOC really low priority, sorry diff --git a/workspace.spec b/workspace.spec index bb2a5d44..287d9dea 100644 --- a/workspace.spec +++ b/workspace.spec @@ -980,7 +980,7 @@ module Workspace { UnspecifiedObject data - The object's data. object_metadata metadata - Metadata for object retrieved/ - @deprecated Workspaces.ObjectData + @deprecated Workspace.ObjectData */ typedef structure { UnspecifiedObject data; From 5d9b354f2df01a89d3a5ca362a5465fd304b8093 Mon Sep 17 00:00:00 2001 From: Gavin Date: Mon, 1 Apr 2024 15:04:06 -0700 Subject: [PATCH 27/48] Remove unnecessary jackson docks links The java common UObject class needs those links, but not the workspace docs --- build.gradle | 2 -- 1 file changed, 2 deletions(-) diff --git a/build.gradle b/build.gradle index d00a8a2c..fa6bca27 100644 --- a/build.gradle +++ b/build.gradle @@ -52,8 +52,6 @@ javadoc { failOnError = false options { links "https://docs.oracle.com/en/java/javase/11/docs/api/" - links "https://www.javadoc.io/doc/com.fasterxml.jackson.core/jackson-core/2.9.9/" - links "https://www.javadoc.io/doc/com.fasterxml.jackson.core/jackson-databind/2.9.9/" } include "**/workspace/*.java" exclude "**/workspace/WorkspaceServer.java" From 9903fd210467d29b0539e2602b1f69bf6e7e8fd9 Mon Sep 17 00:00:00 2001 From: Gavin Date: Mon, 25 Mar 2024 13:01:10 -0700 Subject: [PATCH 28/48] Build shadow jar Next step is to port the workspace controller from groups to use the shadow jar in a similar manner to auth, negating the need for the jars repo or a jars list --- build.gradle | 42 ++++++++++++++++++++++++++++++++++-------- 1 file changed, 34 insertions(+), 8 deletions(-) diff --git a/build.gradle b/build.gradle index fa6bca27..e7890f76 100644 --- a/build.gradle +++ b/build.gradle @@ -15,7 +15,14 @@ plugins { id 'com.github.johnrengelman.shadow' version '8.1.1' } -var buildDocsDir = "$buildDir/docs/otherdoc/" +var BUILD_DOC_ROOT = "$buildDir/docs/" +var BUILD_JAVA_DOC_DIR = "$BUILD_DOC_ROOT/javadoc" +var BUILD_OTHER_DOC_DIR = "$BUILD_DOC_ROOT/otherdoc/" +// This is where the DocServer will look for docs, if it changes it needs to change +// in deloy.cfg as well +// TODO DOCS just get rid of configuring this in the DocServer, make things hardcoded +// or pass in constructor when we subume into a Jersey style service +var IN_JAR_DOCS_DIR = "/server_docs" // TODO NOW test shadow jar works in groups - need test controller - commit 2 // TODO NOW get docserver working in WAR and test in docker-compose <- edit to start test server - commit 3 @@ -63,18 +70,18 @@ task buildDocs { dependsOn javadoc doLast { // need to make sure we remove any docs that no longer exist in the source - delete "$buildDocsDir" + delete "$BUILD_OTHER_DOC_DIR" copy { - from "$rootDir/workspace.spec" into "$buildDocsDir" + from "$rootDir/workspace.spec" into "$BUILD_OTHER_DOC_DIR" } copy { - from "$rootDir/docshtml/" into "$buildDocsDir" include "*" + from "$rootDir/docshtml/" into "$BUILD_OTHER_DOC_DIR" include "*" } exec { - commandLine "pod2html", "--infile=$rootDir/lib/Bio/KBase/workspace/Client.pm", "--outfile=$buildDocsDir/workspace_perl.html" + commandLine "pod2html", "--infile=$rootDir/lib/Bio/KBase/workspace/Client.pm", "--outfile=$BUILD_OTHER_DOC_DIR/workspace_perl.html" } exec { - commandLine "sphinx-build", "$rootDir/docsource/", "$buildDocsDir" + commandLine "sphinx-build", "$rootDir/docsource/", "$BUILD_OTHER_DOC_DIR" } delete fileTree(".").matching { include "pod2htm*.tmp" } } @@ -132,6 +139,26 @@ task jacocoTestQuickReport(type: JacocoReport, dependsOn: testQuick) { executionData(testQuick) } +shadowJar { + // Be careful when updating jars - you may want to set the duplicates strategy to WARN + // to see if any of the jars are shadowing the others when building the fat jar, which + // has been the case in the past + dependsOn buildDocs + duplicatesStrategy = DuplicatesStrategy.EXCLUDE + archiveAppendix = 'test-shadow' + from sourceSets.test.output + // we don't want to package the auth shadow jar, so no test runtime classpath + configurations = [project.configurations.runtimeClasspath] + + enableRelocation true + relocationPrefix 'us.kbase.workspace.shadow' + + mergeServiceFiles() + + from(BUILD_JAVA_DOC_DIR) { into "$IN_JAR_DOCS_DIR/javadoc" } + from(BUILD_OTHER_DOC_DIR) { into IN_JAR_DOCS_DIR } +} + // Custom java project layout sourceSets { main { @@ -267,10 +294,9 @@ dependencies { ) testImplementation 'com.arangodb:arangodb-java-driver:6.7.2' testImplementation 'com.github.zafarkhaja:java-semver:0.9.0' - testImplementation 'org.hamcrest:hamcrest-core:1.3' - testImplementation 'commons-lang:commons-lang:2.4' testImplementation 'junit:junit:4.12' testImplementation 'nl.jqno.equalsverifier:equalsverifier:3.1.10' + testImplementation 'org.hamcrest:hamcrest-core:1.3' testImplementation 'org.mockito:mockito-core:3.0.0' } From 2c17333af90b1b1c528fb3f56eef01215a613c9e Mon Sep 17 00:00:00 2001 From: Gavin Date: Mon, 25 Mar 2024 15:35:12 -0700 Subject: [PATCH 29/48] Add workspace controller Tested in groups with the shadow jar. Needed some minor test changes but passed. --- .../workspace/WorkspaceController.java | 115 ++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100644 src/us/kbase/workspace/test/controllers/workspace/WorkspaceController.java diff --git a/src/us/kbase/workspace/test/controllers/workspace/WorkspaceController.java b/src/us/kbase/workspace/test/controllers/workspace/WorkspaceController.java new file mode 100644 index 00000000..0cd2e0e7 --- /dev/null +++ b/src/us/kbase/workspace/test/controllers/workspace/WorkspaceController.java @@ -0,0 +1,115 @@ +package us.kbase.workspace.test.controllers.workspace; + +import static us.kbase.common.test.controllers.ControllerCommon.findFreePort; +import static us.kbase.common.test.controllers.ControllerCommon.makeTempDirs; + +import java.io.File; +import java.io.IOException; +import java.net.URL; +import java.nio.file.Path; +import java.util.Arrays; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; + +import org.apache.commons.io.FileUtils; +import org.ini4j.Ini; +import org.ini4j.Profile.Section; + +import us.kbase.workspace.WorkspaceServer; + + +/** Q&D Utility to run a Workspace server for the purposes of testing from + * Java. Expected to be packaged in a test jar with all dependencies. + * + * Initializes a GridFS backend and does not support handles, byte streams, or listeners. + * @author gaprice@lbl.gov + * + */ +public class WorkspaceController { + + private final static String DATA_DIR = "temp_data"; + private static final String WS_CLASS = WorkspaceServer.class.getName(); + private static final String JAR_PATH = WorkspaceServer.class.getProtectionDomain() + .getCodeSource().getLocation().getPath(); + + private final static List tempDirectories = new LinkedList(); + static { + tempDirectories.add(DATA_DIR); + } + + private final Path tempDir; + + private final Process workspace; + private final int port; + + public WorkspaceController( + final String mongoHost, + final String mongoDatabase, + final String mongoTypeDatabase, + final String adminUser, + final URL authServiceRootURL, // expected to include /testmode endpoint + final Path rootTempDir) + throws Exception { + tempDir = makeTempDirs(rootTempDir, "WorkspaceController-", tempDirectories); + port = findFreePort(); + System.out.println("Using classpath " + JAR_PATH); + + final Path deployCfg = createDeployCfg( + mongoHost, mongoDatabase, mongoTypeDatabase, authServiceRootURL, adminUser); + final List command = new LinkedList(); + command.addAll(Arrays.asList("java", "-classpath", JAR_PATH, WS_CLASS, "" + port)); + final ProcessBuilder servpb = new ProcessBuilder(command) + .redirectErrorStream(true) + .redirectOutput(tempDir.resolve("workspace.log").toFile()); + + final Map env = servpb.environment(); + env.put("KB_DEPLOYMENT_CONFIG", deployCfg.toString()); + + workspace = servpb.start(); + // TODO TEST add periodic check w/ exponential backoff + Thread.sleep(5000); + } + + private Path createDeployCfg( + final String mongoHost, + final String mongoDatabase, + final String mongoTypeDatabase, + final URL authRootURL, + final String adminUser) + throws IOException { + final File iniFile = new File(tempDir.resolve("test.cfg").toString()); + System.out.println("Created temporary workspace config file: " + + iniFile.getAbsolutePath()); + final Ini ini = new Ini(); + Section ws = ini.add("Workspace"); + ws.add("mongodb-host", mongoHost); + ws.add("mongodb-database", mongoDatabase); + ws.add("mongodb-type-database", mongoTypeDatabase); + ws.add("backend-type", "GridFS"); + ws.add("auth2-service-url", authRootURL); + ws.add("ws-admin", adminUser); + ws.add("temp-dir", tempDir.resolve("temp_data")); + ws.add("ignore-handle-service", "true"); + ini.store(iniFile); + return iniFile.toPath(); + } + + public int getServerPort() { + return port; + } + + public Path getTempDir() { + return tempDir; + } + + public void destroy(boolean deleteTempFiles) throws IOException { + if (workspace != null) { + workspace.destroy(); + } + if (tempDir != null && deleteTempFiles) { + FileUtils.deleteDirectory(tempDir.toFile()); + } + } +} + From f9a9d31772943128b5f4b35de0a925dd20ca523c Mon Sep 17 00:00:00 2001 From: Gavin Date: Wed, 10 Apr 2024 10:14:30 -0700 Subject: [PATCH 30/48] typo --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index e7890f76..b4ea4ded 100644 --- a/build.gradle +++ b/build.gradle @@ -19,7 +19,7 @@ var BUILD_DOC_ROOT = "$buildDir/docs/" var BUILD_JAVA_DOC_DIR = "$BUILD_DOC_ROOT/javadoc" var BUILD_OTHER_DOC_DIR = "$BUILD_DOC_ROOT/otherdoc/" // This is where the DocServer will look for docs, if it changes it needs to change -// in deloy.cfg as well +// in deploy.cfg as well // TODO DOCS just get rid of configuring this in the DocServer, make things hardcoded // or pass in constructor when we subume into a Jersey style service var IN_JAR_DOCS_DIR = "/server_docs" From ed37ddcc342d8e8da11a2b0a10eea10f2ea956db Mon Sep 17 00:00:00 2001 From: Gavin Date: Wed, 10 Apr 2024 10:44:08 -0700 Subject: [PATCH 31/48] Add codecov token --- .github/workflows/test.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 5d3c48e6..ae36fc24 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -153,4 +153,5 @@ jobs: - name: Upload coverage to Codecov uses: codecov/codecov-action@v3 with: + token: ${{ secrets.CODECOV_TOKEN }} fail_ci_if_error: true From 73e2f7a4b6f0ce7d3e38c610fd456f02ed3b8730 Mon Sep 17 00:00:00 2001 From: Gavin Date: Mon, 25 Mar 2024 17:44:32 -0700 Subject: [PATCH 32/48] Build docker image with gradle --- Dockerfile | 31 +++++++++++++++++++++++-------- build.gradle | 26 +++++++++++++++----------- 2 files changed, 38 insertions(+), 19 deletions(-) diff --git a/Dockerfile b/Dockerfile index 27a655ea..d84ef703 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,15 +2,27 @@ FROM eclipse-temurin:11-jdk as build WORKDIR /tmp RUN apt update -y && \ - apt install -y ant git ca-certificates python3-sphinx && \ - git clone https://github.com/kbase/jars + apt install -y git ca-certificates python3-sphinx -COPY . /tmp/workspace_deluxe +WORKDIR /tmp/workspace -RUN cd workspace_deluxe && \ - make docker_deps +# dependencies take a while to D/L, so D/L & cache before the build so code changes don't cause +# a new D/L +# can't glob *gradle because of the .gradle dir +COPY build.gradle gradlew settings.gradle /tmp/workspace/ +COPY gradle/ /tmp/workspace/gradle/ +RUN ./gradlew dependencies + +# Now build the code +COPY workspace.spec /tmp/workspace/workspace.spec +COPY deployment/ /tmp/workspace/deployment/ +COPY docshtml /tmp/workspace/docshtml/ +COPY docsource /tmp/workspace/docsource/ +COPY lib /tmp/workspace/lib/ +COPY src /tmp/workspace/src/ +COPY war /tmp/workspace/war/ +RUN ./gradlew war -# updated/slimmed down version of what's in kbase/kb_jre FROM ubuntu:18.04 # These ARGs values are passed in via the docker build command @@ -39,11 +51,11 @@ RUN mkdir -p /var/lib/apt/lists/partial && \ tar xvzf dockerize-${DOCKERIZE_VERSION}.tar.gz && \ rm dockerize-${DOCKERIZE_VERSION}.tar.gz -COPY --from=build /tmp/workspace_deluxe/deployment/ /kb/deployment/ +COPY --from=build /tmp/workspace/deployment/ /kb/deployment/ RUN /usr/bin/${TOMCAT_VERSION}-instance-create /kb/deployment/services/workspace/tomcat && \ - mv /kb/deployment/services/workspace/WorkspaceService.war /kb/deployment/services/workspace/tomcat/webapps/ROOT.war && \ rm -rf /kb/deployment/services/workspace/tomcat/webapps/ROOT +COPY --from=build /tmp/workspace/build/libs/workspace_deluxe.war /kb/deployment/services/workspace/tomcat/webapps/ROOT.war # The BUILD_DATE value seem to bust the docker cache when the timestamp changes, move to # the end @@ -54,6 +66,9 @@ LABEL org.label-schema.build-date=$BUILD_DATE \ us.kbase.vcs-branch=$BRANCH \ maintainer="KBase developers engage@kbase.us" +# TODO BUILD update to no longer use dockerize and take env vars (e.g. like Collections). +# TODO BUILD Use subsections in the ini file / switch to TOML + EXPOSE 7058 ENTRYPOINT [ "/kb/deployment/bin/dockerize" ] WORKDIR /kb/deployment/services/workspace/tomcat diff --git a/build.gradle b/build.gradle index b4ea4ded..d7b8fcc6 100644 --- a/build.gradle +++ b/build.gradle @@ -22,17 +22,16 @@ var BUILD_OTHER_DOC_DIR = "$BUILD_DOC_ROOT/otherdoc/" // in deploy.cfg as well // TODO DOCS just get rid of configuring this in the DocServer, make things hardcoded // or pass in constructor when we subume into a Jersey style service -var IN_JAR_DOCS_DIR = "/server_docs" +var IN_JAR_DOC_DIR = "/server_docs" +var IN_JAR_JAVA_DOC_DIR = "$IN_JAR_DOC_DIR/javadoc" -// TODO NOW test shadow jar works in groups - need test controller - commit 2 -// TODO NOW get docserver working in WAR and test in docker-compose <- edit to start test server - commit 3 // TODO NOW client jar - commit 4 -// TODO NOW client jar javadoc - needs java_common source - commit 4 // TODO NOW schema updater script - commit 5 // TODO NOW sdk-compile all, java, and docs - commit 6 // TODO NOW handle the git commit the same way as auth does - commit 7 -// TODO NOW delete build.xml, , and Makefile - commit 8 +// TODO NOW delete build.xml and Makefile - commit 8 // TODO NOW run tests from Eclipse w/o specifying classpath manually & remove sourceSets & claspath - commit 9 +// TODO NOW update any ant refs in docs to gradle repositories { mavenCentral() @@ -70,18 +69,20 @@ task buildDocs { dependsOn javadoc doLast { // need to make sure we remove any docs that no longer exist in the source - delete "$BUILD_OTHER_DOC_DIR" + delete BUILD_OTHER_DOC_DIR + // not needed locally, fails w/o it in docker build. *shrug* + mkdir BUILD_OTHER_DOC_DIR copy { - from "$rootDir/workspace.spec" into "$BUILD_OTHER_DOC_DIR" + from "$rootDir/workspace.spec" into BUILD_OTHER_DOC_DIR } copy { - from "$rootDir/docshtml/" into "$BUILD_OTHER_DOC_DIR" include "*" + from "$rootDir/docshtml/" into BUILD_OTHER_DOC_DIR include "*" } exec { commandLine "pod2html", "--infile=$rootDir/lib/Bio/KBase/workspace/Client.pm", "--outfile=$BUILD_OTHER_DOC_DIR/workspace_perl.html" } exec { - commandLine "sphinx-build", "$rootDir/docsource/", "$BUILD_OTHER_DOC_DIR" + commandLine "sphinx-build", "$rootDir/docsource/", BUILD_OTHER_DOC_DIR } delete fileTree(".").matching { include "pod2htm*.tmp" } } @@ -155,8 +156,8 @@ shadowJar { mergeServiceFiles() - from(BUILD_JAVA_DOC_DIR) { into "$IN_JAR_DOCS_DIR/javadoc" } - from(BUILD_OTHER_DOC_DIR) { into IN_JAR_DOCS_DIR } + from(BUILD_JAVA_DOC_DIR) { into IN_JAR_JAVA_DOC_DIR } + from(BUILD_OTHER_DOC_DIR) { into IN_JAR_DOC_DIR } } // Custom java project layout @@ -190,7 +191,10 @@ sourceSets { } war { + dependsOn buildDocs webXml = file('war/web.xml') + from(BUILD_JAVA_DOC_DIR) { into "/WEB-INF/classes/$IN_JAR_JAVA_DOC_DIR" } + from(BUILD_OTHER_DOC_DIR) { into "/WEB-INF/classes/$IN_JAR_DOC_DIR" } } configurations { From ae3922af4ac942181eaefe4efc1a5dc3999641d4 Mon Sep 17 00:00:00 2001 From: Gavin Date: Wed, 10 Apr 2024 12:00:01 -0700 Subject: [PATCH 33/48] Remove unnecessary WORKDIR line --- Dockerfile | 1 - 1 file changed, 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index d84ef703..d46802d8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,5 @@ FROM eclipse-temurin:11-jdk as build -WORKDIR /tmp RUN apt update -y && \ apt install -y git ca-certificates python3-sphinx From 40cab39752121d199309d4c215f71a76ba628d1e Mon Sep 17 00:00:00 2001 From: Gavin Date: Thu, 28 Mar 2024 14:06:15 -0700 Subject: [PATCH 34/48] Build client jar --- .github/workflows/test.yml | 2 +- build.gradle | 29 ++++++++++++++++++++--------- 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ae36fc24..bb8baaba 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -45,7 +45,7 @@ jobs: fail-fast: false matrix: include: - - java: '11' + - java: '8' # needs to be compatible so jars can be used w/ java 8 mongo: 'mongodb-linux-x86_64-ubuntu2204-7.0.4' minio: '2019-05-23T00-29-34Z' wired_tiger: 'true' diff --git a/build.gradle b/build.gradle index d7b8fcc6..39c68db8 100644 --- a/build.gradle +++ b/build.gradle @@ -25,7 +25,6 @@ var BUILD_OTHER_DOC_DIR = "$BUILD_DOC_ROOT/otherdoc/" var IN_JAR_DOC_DIR = "/server_docs" var IN_JAR_JAVA_DOC_DIR = "$IN_JAR_DOC_DIR/javadoc" -// TODO NOW client jar - commit 4 // TODO NOW schema updater script - commit 5 // TODO NOW sdk-compile all, java, and docs - commit 6 // TODO NOW handle the git commit the same way as auth does - commit 7 @@ -37,7 +36,10 @@ repositories { mavenCentral() } compileJava { - options.release = 11 + // build needs to be java 8 compatible so jars can be used in java 8 projects + // TODO BUILD remove when we no longer support java 8, use `options.release = 11` if needed + java.sourceCompatibility = JavaVersion.VERSION_1_8 + java.targetCompatibility = JavaVersion.VERSION_1_8 } javadoc { @@ -140,6 +142,15 @@ task jacocoTestQuickReport(type: JacocoReport, dependsOn: testQuick) { executionData(testQuick) } +jar { + // Much like javadoc, we hijack this task to build the client jar, since we don't need + // a service jar + include "us/kbase/workspace/*.class" + exclude "us/kbase/workspace/WorkspaceServer*.class" // exclude anonymous classes + include "us/kbase/common/service/Tuple*.class" + archiveAppendix = 'client' +} + shadowJar { // Be careful when updating jars - you may want to set the duplicates strategy to WARN // to see if any of the jars are shadowing the others when building the fat jar, which @@ -160,6 +171,13 @@ shadowJar { from(BUILD_OTHER_DOC_DIR) { into IN_JAR_DOC_DIR } } +war { + dependsOn buildDocs + webXml = file('war/web.xml') + from(BUILD_JAVA_DOC_DIR) { into "/WEB-INF/classes/$IN_JAR_JAVA_DOC_DIR" } + from(BUILD_OTHER_DOC_DIR) { into "/WEB-INF/classes/$IN_JAR_DOC_DIR" } +} + // Custom java project layout sourceSets { main { @@ -190,13 +208,6 @@ sourceSets { } } -war { - dependsOn buildDocs - webXml = file('war/web.xml') - from(BUILD_JAVA_DOC_DIR) { into "/WEB-INF/classes/$IN_JAR_JAVA_DOC_DIR" } - from(BUILD_OTHER_DOC_DIR) { into "/WEB-INF/classes/$IN_JAR_DOC_DIR" } -} - configurations { // can't directly access testImplementation, so extend and access testimpl.extendsFrom testImplementation From d6f4fcb3efaa2fdf7df8ce6062b8099f76db729f Mon Sep 17 00:00:00 2001 From: Gavin Date: Fri, 12 Apr 2024 08:59:00 -0700 Subject: [PATCH 35/48] strip() -> trim() for java 8 compatibility --- src/us/kbase/workspace/database/provenance/Common.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/us/kbase/workspace/database/provenance/Common.java b/src/us/kbase/workspace/database/provenance/Common.java index 325361e4..0a55c1f0 100644 --- a/src/us/kbase/workspace/database/provenance/Common.java +++ b/src/us/kbase/workspace/database/provenance/Common.java @@ -19,7 +19,7 @@ class Common { private Common() {} static String processString(final String input) { - return isNullOrWhitespace(input) ? null : input.strip(); + return isNullOrWhitespace(input) ? null : input.trim(); } static URL processURL(final String url, final String name) { From a4f5350e455d8418ea8187412250d5098dfac15a Mon Sep 17 00:00:00 2001 From: Gavin Date: Thu, 28 Mar 2024 14:47:36 -0700 Subject: [PATCH 36/48] Add schema updater script build Tested with -h --- build.gradle | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 39c68db8..28e7c7a5 100644 --- a/build.gradle +++ b/build.gradle @@ -25,12 +25,11 @@ var BUILD_OTHER_DOC_DIR = "$BUILD_DOC_ROOT/otherdoc/" var IN_JAR_DOC_DIR = "/server_docs" var IN_JAR_JAVA_DOC_DIR = "$IN_JAR_DOC_DIR/javadoc" -// TODO NOW schema updater script - commit 5 // TODO NOW sdk-compile all, java, and docs - commit 6 // TODO NOW handle the git commit the same way as auth does - commit 7 // TODO NOW delete build.xml and Makefile - commit 8 // TODO NOW run tests from Eclipse w/o specifying classpath manually & remove sourceSets & claspath - commit 9 -// TODO NOW update any ant refs in docs to gradle +// TODO NOW update any ant refs in docs to gradle & the update schema script build & location repositories { mavenCentral() @@ -178,6 +177,27 @@ war { from(BUILD_OTHER_DOC_DIR) { into "/WEB-INF/classes/$IN_JAR_DOC_DIR" } } +task generateUpdateSchemaScript { + dependsOn compileJava + doLast { + def dependencies = configurations.runtimeClasspath.collect { File file -> + file.absolutePath + } + + def classpath = dependencies.join(':') + + def scriptContent = """#!/bin/sh + +CLASSPATH=$classpath + +java -cp $buildDir/classes/java/main:\$CLASSPATH us.kbase.workspace.kbase.SchemaUpdaterCLI \$@ +""" + def outfile = "$buildDir/update_workspace_database_schema" + file(outfile).text = scriptContent + file(outfile).setExecutable(true) + } +} + // Custom java project layout sourceSets { main { From cceb09649c8694f3379dbe20612d634246e855be Mon Sep 17 00:00:00 2001 From: Gavin Date: Thu, 28 Mar 2024 16:43:07 -0700 Subject: [PATCH 37/48] Add kb-sdk compile tasks Also switch the default url to CI --- build.gradle | 81 ++++++++++++++++++++- lib/Bio/KBase/workspace/Client.pm | 2 +- lib/biokbase/workspace/client.py | 2 +- lib/javascript/workspace/Client.js | 2 +- src/us/kbase/workspace/WorkspaceClient.java | 2 +- 5 files changed, 82 insertions(+), 7 deletions(-) diff --git a/build.gradle b/build.gradle index 28e7c7a5..6cce29b8 100644 --- a/build.gradle +++ b/build.gradle @@ -15,6 +15,8 @@ plugins { id 'com.github.johnrengelman.shadow' version '8.1.1' } +var DEFAULT_URL = "https://ci.kbase.us/services/ws" + var BUILD_DOC_ROOT = "$buildDir/docs/" var BUILD_JAVA_DOC_DIR = "$BUILD_DOC_ROOT/javadoc" var BUILD_OTHER_DOC_DIR = "$BUILD_DOC_ROOT/otherdoc/" @@ -25,7 +27,9 @@ var BUILD_OTHER_DOC_DIR = "$BUILD_DOC_ROOT/otherdoc/" var IN_JAR_DOC_DIR = "/server_docs" var IN_JAR_JAVA_DOC_DIR = "$IN_JAR_DOC_DIR/javadoc" -// TODO NOW sdk-compile all, java, and docs - commit 6 +var LOC_WS_SPEC = "$rootDir/workspace.spec" +var LOC_DOC_HTML = "$rootDir/docshtml" + // TODO NOW handle the git commit the same way as auth does - commit 7 // TODO NOW delete build.xml and Makefile - commit 8 // TODO NOW run tests from Eclipse w/o specifying classpath manually & remove sourceSets & claspath - commit 9 @@ -74,10 +78,10 @@ task buildDocs { // not needed locally, fails w/o it in docker build. *shrug* mkdir BUILD_OTHER_DOC_DIR copy { - from "$rootDir/workspace.spec" into BUILD_OTHER_DOC_DIR + from LOC_WS_SPEC into BUILD_OTHER_DOC_DIR } copy { - from "$rootDir/docshtml/" into BUILD_OTHER_DOC_DIR include "*" + from LOC_DOC_HTML into BUILD_OTHER_DOC_DIR include "*" } exec { commandLine "pod2html", "--infile=$rootDir/lib/Bio/KBase/workspace/Client.pm", "--outfile=$BUILD_OTHER_DOC_DIR/workspace_perl.html" @@ -177,6 +181,77 @@ war { from(BUILD_OTHER_DOC_DIR) { into "/WEB-INF/classes/$IN_JAR_DOC_DIR" } } +/* SDK compile notes: + * kb-sdk starts a docker container in interactive mode. Gradle's commandLine doesn't allocate + * a tty so the command fails. + * I tried using a ProcessBuilder and + * https://docs.oracle.com/en%2Fjava%2Fjavase%2F11%2Fdocs%2Fapi%2F%2F/java.base/java/lang/ProcessBuilder.html#inheritIO() + * but that failed also with no useful output. + * + * The current solution is to precede the kb-sdk call with a script call, which either + * allocates a tty or fools kb-sdk into thinking there is one - not quite sure. + * https://man7.org/linux/man-pages/man1/script.1.html + * I tried to redirect the script log file to /dev/null with -O and --log-out but script didn't + * recognize either option, hence the delete. + * + * This is, generally speaking, a janky mess and if someone can find a better way to do this + * that'd be fantastic. + */ + + var LOC_SCRIPT_TYPESCRIPT = "$rootDir/typescript" + +// TODO GRADLE is there some way to DRY these 3 compile tasks up? Not a huge deal +task sdkCompileHTML { + // We want to check in the HTML so we don't put it in the build dir + var cmd = "kb-sdk compile --html --out $LOC_DOC_HTML $LOC_WS_SPEC" + doLast { + exec { + commandLine "script", "-qefc", cmd + } + delete LOC_SCRIPT_TYPESCRIPT + } +} + +task sdkCompileLibs { + var cmd = "kb-sdk compile " + + "--out lib " + + "--jsclname javascript/workspace/Client " + + "--plclname Bio::KBase::workspace::Client " + + "--pyclname biokbase.workspace.client " + + "--url $DEFAULT_URL " + + LOC_WS_SPEC + doLast { + exec { + commandLine "script", "-qefc", cmd + } + delete LOC_SCRIPT_TYPESCRIPT + delete "$rootDir/lib/biokbase/workspace/authclient.py" + } +} + +task sdkCompileJava { + // TODO GRADLE is there a variable for src/main/java when we move the code locations? + var cmd = "kb-sdk compile " + + "--java " + + "--javasrc $rootDir/src " + + "--javasrv " + + "--out . " + + "--url $DEFAULT_URL " + + LOC_WS_SPEC + doLast { + exec { + commandLine "script", "-qefc", cmd + } + delete LOC_SCRIPT_TYPESCRIPT + } +} + +task sdkCompile { + dependsOn sdkCompileHTML + dependsOn sdkCompileJava + dependsOn sdkCompileLibs +} + task generateUpdateSchemaScript { dependsOn compileJava doLast { diff --git a/lib/Bio/KBase/workspace/Client.pm b/lib/Bio/KBase/workspace/Client.pm index 671f1b2c..9e57b24c 100644 --- a/lib/Bio/KBase/workspace/Client.pm +++ b/lib/Bio/KBase/workspace/Client.pm @@ -48,7 +48,7 @@ sub new if (!defined($url)) { - $url = 'https://kbase.us/services/ws/'; + $url = 'https://ci.kbase.us/services/ws'; } my $self = { diff --git a/lib/biokbase/workspace/client.py b/lib/biokbase/workspace/client.py index 5522053b..d15ad017 100644 --- a/lib/biokbase/workspace/client.py +++ b/lib/biokbase/workspace/client.py @@ -25,7 +25,7 @@ def __init__( trust_all_ssl_certificates=False, auth_svc='https://ci.kbase.us/services/auth/api/legacy/KBase/Sessions/Login'): if url is None: - url = 'https://kbase.us/services/ws/' + url = 'https://ci.kbase.us/services/ws' self._service_ver = None self._client = _BaseClient( url, timeout=timeout, user_id=user_id, password=password, diff --git a/lib/javascript/workspace/Client.js b/lib/javascript/workspace/Client.js index aab26a3a..db77dfad 100644 --- a/lib/javascript/workspace/Client.js +++ b/lib/javascript/workspace/Client.js @@ -17,7 +17,7 @@ function Workspace(url, auth, auth_cb, timeout, async_job_check_time_ms, service this.service_version = service_version; if (typeof(_url) != "string" || _url.length == 0) { - _url = "https://kbase.us/services/ws/"; + _url = "https://ci.kbase.us/services/ws"; } var _auth = auth ? auth : { 'token' : '', 'user_id' : ''}; var _auth_cb = auth_cb; diff --git a/src/us/kbase/workspace/WorkspaceClient.java b/src/us/kbase/workspace/WorkspaceClient.java index dfb672bc..cd462c68 100644 --- a/src/us/kbase/workspace/WorkspaceClient.java +++ b/src/us/kbase/workspace/WorkspaceClient.java @@ -42,7 +42,7 @@ public class WorkspaceClient { private static URL DEFAULT_URL = null; static { try { - DEFAULT_URL = new URL("https://kbase.us/services/ws/"); + DEFAULT_URL = new URL("https://ci.kbase.us/services/ws"); } catch (MalformedURLException mue) { throw new RuntimeException("Compile error in client - bad url compiled"); } From 9b494eb0a3a7c180642e7e6de37cff74b7cfa78b Mon Sep 17 00:00:00 2001 From: Gavin Date: Thu, 28 Mar 2024 20:38:48 -0700 Subject: [PATCH 38/48] Add git commit to status() method & build --- Dockerfile | 2 + build.gradle | 11 +++++- src/us/kbase/workspace/WorkspaceServer.java | 2 + .../kbase/workspace/gitcommit/GitCommit.java | 38 +++++++++++++++++++ .../HandleAndBytestreamIntegrationTest.java | 32 ++++------------ .../test/kbase/JSONRPCLayerTest.java | 36 ++++++++++-------- .../kbase/SampleServiceIntegrationTest.java | 10 ++--- 7 files changed, 85 insertions(+), 46 deletions(-) create mode 100644 src/us/kbase/workspace/gitcommit/GitCommit.java diff --git a/Dockerfile b/Dockerfile index d46802d8..84b9b80e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -20,6 +20,8 @@ COPY docsource /tmp/workspace/docsource/ COPY lib /tmp/workspace/lib/ COPY src /tmp/workspace/src/ COPY war /tmp/workspace/war/ +# for the git commit +COPY .git /tmp/workspace/.git/ RUN ./gradlew war FROM ubuntu:18.04 diff --git a/build.gradle b/build.gradle index 6cce29b8..fd96d5f7 100644 --- a/build.gradle +++ b/build.gradle @@ -30,7 +30,6 @@ var IN_JAR_JAVA_DOC_DIR = "$IN_JAR_DOC_DIR/javadoc" var LOC_WS_SPEC = "$rootDir/workspace.spec" var LOC_DOC_HTML = "$rootDir/docshtml" -// TODO NOW handle the git commit the same way as auth does - commit 7 // TODO NOW delete build.xml and Makefile - commit 8 // TODO NOW run tests from Eclipse w/o specifying classpath manually & remove sourceSets & claspath - commit 9 // TODO NOW update any ant refs in docs to gradle & the update schema script build & location @@ -38,11 +37,21 @@ var LOC_DOC_HTML = "$rootDir/docshtml" repositories { mavenCentral() } + +task buildGitCommitFile { + doLast { + def commitId = grgit.head().id + // is there a variable for builddir/classes/java/main? + file("$buildDir/classes/java/main/us/kbase/workspace/gitcommit/gitcommit").text = commitId + } +} + compileJava { // build needs to be java 8 compatible so jars can be used in java 8 projects // TODO BUILD remove when we no longer support java 8, use `options.release = 11` if needed java.sourceCompatibility = JavaVersion.VERSION_1_8 java.targetCompatibility = JavaVersion.VERSION_1_8 + finalizedBy buildGitCommitFile } javadoc { diff --git a/src/us/kbase/workspace/WorkspaceServer.java b/src/us/kbase/workspace/WorkspaceServer.java index 64c98637..eb4ee4a4 100644 --- a/src/us/kbase/workspace/WorkspaceServer.java +++ b/src/us/kbase/workspace/WorkspaceServer.java @@ -70,6 +70,7 @@ import us.kbase.workspace.database.WorkspaceObjectData; import us.kbase.workspace.database.WorkspaceUser; import us.kbase.workspace.database.WorkspaceUserMetadata; +import us.kbase.workspace.gitcommit.GitCommit; import us.kbase.workspace.kbase.InitWorkspaceServer.InitReporter; import us.kbase.workspace.kbase.InitWorkspaceServer; import us.kbase.workspace.kbase.InitWorkspaceServer.WorkspaceInitResults; @@ -1766,6 +1767,7 @@ public Map status() { returnVal.put("dependencies", dstate); returnVal.put("version", VERSION); returnVal.put("git_url", GIT); + returnVal.put("git_commit", GitCommit.COMMIT); returnVal.put("freemem", Runtime.getRuntime().freeMemory()); returnVal.put("totalmem", Runtime.getRuntime().totalMemory()); returnVal.put("maxmem", Runtime.getRuntime().maxMemory()); diff --git a/src/us/kbase/workspace/gitcommit/GitCommit.java b/src/us/kbase/workspace/gitcommit/GitCommit.java new file mode 100644 index 00000000..cc030f62 --- /dev/null +++ b/src/us/kbase/workspace/gitcommit/GitCommit.java @@ -0,0 +1,38 @@ +package us.kbase.workspace.gitcommit; + +import java.io.InputStream; +import java.util.Scanner; + +/** The Git commit from which the service was built. Expects a file called "gitcommit" in the same + * directory as the class file which contains the commit hash. + * + * If the file is missing, the Git commit will be replaced with an error message. + * @author gaprice@lbl.gov + * + */ +public class GitCommit { + + // can't really test this easily since the file must be baked into the jar or war, + // just test manually + + /** The Git commit from which the service was built. */ + public static final String COMMIT; + + private static final String COMMIT_FILE_NAME = "gitcommit"; + + static { + final InputStream is = GitCommit.class.getResourceAsStream(COMMIT_FILE_NAME); + final String commit; + if (is == null) { + commit = "Missing git commit file " + COMMIT_FILE_NAME + + ", should be in " + GitCommit.class.getPackage().getName(); + } else { + final Scanner s = new Scanner(is); + s.useDelimiter("\\A"); + commit = s.hasNext() ? s.next() : ""; + s.close(); + } + COMMIT = commit.trim(); + } + +} diff --git a/src/us/kbase/workspace/test/kbase/HandleAndBytestreamIntegrationTest.java b/src/us/kbase/workspace/test/kbase/HandleAndBytestreamIntegrationTest.java index 3a201eb3..d59b783d 100644 --- a/src/us/kbase/workspace/test/kbase/HandleAndBytestreamIntegrationTest.java +++ b/src/us/kbase/workspace/test/kbase/HandleAndBytestreamIntegrationTest.java @@ -5,6 +5,7 @@ import static org.hamcrest.CoreMatchers.startsWith; import static org.junit.Assert.assertThat; import static org.junit.Assert.fail; +import static us.kbase.common.test.TestCommon.list; import static us.kbase.common.test.TestCommon.set; import static us.kbase.workspace.test.kbase.JSONRPCLayerTester.administerCommand; @@ -370,32 +371,24 @@ public static void tearDownClass() throws Exception { @Test public void status() throws Exception { + // only test the parts of the status that are relevant for the handle & blobstore services final Map st = CLIENT1.status(); //top level items - assertThat("incorrect state", st.get("state"), is((Object) "OK")); - assertThat("incorrect message", st.get("message"), is((Object) "OK")); - // should throw an error if not a valid semver - Version.valueOf((String) st.get("version")); - assertThat("incorrect git url", st.get("git_url"), - is((Object) "https://github.com/kbase/workspace_deluxe")); - checkMem(st.get("freemem"), "freemem"); - checkMem(st.get("totalmem"), "totalmem"); - checkMem(st.get("maxmem"), "maxmem"); + assertThat("incorrect state", st.get("state"), is("OK")); //deps @SuppressWarnings("unchecked") - final List> deps = - (List>) st.get("dependencies"); + final List> deps = (List>) st.get("dependencies"); assertThat("missing dependencies", deps.size(), is(4)); final Iterator> gotiter = deps.iterator(); - for (final String name: Arrays.asList( + for (final String name: list( "MongoDB", "S3", "Linked Shock for IDs", "Handle service")) { final Map g = gotiter.next(); - assertThat("incorrect name", (String) g.get("name"), is(name)); - assertThat("incorrect state", g.get("state"), is((Object) "OK")); - assertThat("incorrect message", g.get("message"), is((Object) "OK")); + assertThat("incorrect name", g.get("name"), is(name)); + assertThat("incorrect state", g.get("state"), is("OK")); + assertThat("incorrect message", g.get("message"), is("OK")); if (name.equals("S3")) { assertThat("incorrect version", g.get("version"), is("Unknown")); } else { @@ -404,15 +397,6 @@ public void status() throws Exception { } } - private void checkMem(final Object num, final String name) - throws Exception { - if (num instanceof Integer) { - assertThat("bad " + name, (Integer) num > 0, is(true)); - } else { - assertThat("bad " + name, (Long) num > 0, is(true)); - } - } - @SuppressWarnings("deprecation") @Test public void basicHandleTest() throws Exception { diff --git a/src/us/kbase/workspace/test/kbase/JSONRPCLayerTest.java b/src/us/kbase/workspace/test/kbase/JSONRPCLayerTest.java index da0e3f91..b606ba6c 100644 --- a/src/us/kbase/workspace/test/kbase/JSONRPCLayerTest.java +++ b/src/us/kbase/workspace/test/kbase/JSONRPCLayerTest.java @@ -9,6 +9,7 @@ import static org.junit.Assert.fail; import static us.kbase.common.test.TestCommon.assertExceptionCorrect; import static us.kbase.common.test.TestCommon.list; +import static us.kbase.common.test.TestCommon.set; import java.io.InputStream; import java.net.HttpURLConnection; @@ -111,35 +112,40 @@ public void ver() throws Exception { @Test public void status() throws Exception { final Map st = CLIENT1.status(); + + assertThat("incorrect status keys", st.keySet(), is(set( + "state", "message", "dependencies", "version", "git_url", "git_commit", + "freemem", "totalmem", "maxmem"))); //top level items - assertThat("incorrect state", st.get("state"), is((Object) "OK")); - assertThat("incorrect message", st.get("message"), is((Object) "OK")); + assertThat("incorrect state", st.get("state"), is("OK")); + assertThat("incorrect message", st.get("message"), is("OK")); assertThat("incorrect version", st.get("version"), is(VER)); assertThat("incorrect git url", st.get("git_url"), - is((Object) "https://github.com/kbase/workspace_deluxe")); + is("https://github.com/kbase/workspace_deluxe")); + final String gc = (String) st.get("git_commit"); + if (gc.length() == 40) { // it's a git hash, probably running from gradle + assertThat("is SHA1 hash", gc.matches("^[a-fA-F0-9]{40}$"), is(true)); + } else { // probably running from an IDE + assertThat("incorrect git commit", st.get("git_commit"), + is("Missing git commit file gitcommit, " + + "should be in us.kbase.workspace.gitcommit")); + } checkMem(st.get("freemem"), "freemem"); checkMem(st.get("totalmem"), "totalmem"); checkMem(st.get("maxmem"), "maxmem"); //deps @SuppressWarnings("unchecked") - final List> deps = - (List>) st.get("dependencies"); + final List> deps = (List>) st.get("dependencies"); assertThat("missing dependencies", deps.size(), is(2)); - final List exp = new ArrayList(); - exp.add("MongoDB"); - exp.add("GridFS"); - final Iterator expiter = exp.iterator(); final Iterator> gotiter = deps.iterator(); - while (expiter.hasNext()) { + for (final String name: list("MongoDB", "GridFS")) { final Map g = gotiter.next(); - assertThat("incorrect name", (String) g.get("name"), - is(expiter.next())); - assertThat("incorrect state", g.get("state"), is((Object) "OK")); - assertThat("incorrect message", g.get("message"), - is((Object) "OK")); + assertThat("incorrect name", g.get("name"), is(name)); + assertThat("incorrect state", g.get("state"), is("OK")); + assertThat("incorrect message", g.get("message"), is("OK")); Version.valueOf((String) g.get("version")); } } diff --git a/src/us/kbase/workspace/test/kbase/SampleServiceIntegrationTest.java b/src/us/kbase/workspace/test/kbase/SampleServiceIntegrationTest.java index aa3f27ea..0706b22a 100644 --- a/src/us/kbase/workspace/test/kbase/SampleServiceIntegrationTest.java +++ b/src/us/kbase/workspace/test/kbase/SampleServiceIntegrationTest.java @@ -4,6 +4,7 @@ import static org.junit.Assert.assertThat; import static org.junit.Assert.fail; import static us.kbase.common.test.controllers.ControllerCommon.findFreePort; +import static us.kbase.common.test.TestCommon.set; import static us.kbase.workspace.test.kbase.JSONRPCLayerTester.administerCommand; import java.io.File; @@ -13,7 +14,6 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; -import java.util.HashSet; import java.util.List; import java.util.Map; @@ -338,11 +338,9 @@ public void status() throws Exception { // only test the parts of the status that are relevant for the sample service final Map status = CLIENT1.status(); -// System.out.println(status); - - assertThat("incorrect status keys", status.keySet(), is(new HashSet<>(Arrays.asList( - "state", "message", "dependencies", "version", "git_url", "freemem", "totalmem", - "maxmem")))); + assertThat("incorrect status keys", status.keySet(), is(set( + "state", "message", "dependencies", "version", "git_url", "git_commit", + "freemem", "totalmem", "maxmem"))); assertThat("incorrect state", status.get("state"), is("OK")); From 148dbff7d17cff7b40ce755ba6fdd2af6990a07f Mon Sep 17 00:00:00 2001 From: Gavin Date: Thu, 28 Mar 2024 20:41:19 -0700 Subject: [PATCH 39/48] Delete build.xml and Makefile --- Makefile | 132 ------------------- build.gradle | 1 - build.xml | 355 --------------------------------------------------- 3 files changed, 488 deletions(-) delete mode 100644 Makefile delete mode 100644 build.xml diff --git a/Makefile b/Makefile deleted file mode 100644 index 17db74f0..00000000 --- a/Makefile +++ /dev/null @@ -1,132 +0,0 @@ -#port is now set in deploy.cfg -SERVICE = workspace -SERVICE_CAPS = Workspace -CLIENT_JAR = WorkspaceClient.jar -WAR = WorkspaceService.war -URL = https://kbase.us/services/ws/ - -#End of user defined variables -TARGET ?= /kb/deployment - -GITCOMMIT := $(shell git rev-parse --short HEAD) -#TODO use --points-at when git 1.7.10 available -TAGS := $(shell git tag --contains $(GITCOMMIT)) - -DEPLOY_RUNTIME ?= /kb/runtime -JAVA_HOME ?= $(DEPLOY_RUNTIME)/java -SERVICE_DIR ?= $(TARGET)/services/$(SERVICE) -GLASSFISH_HOME ?= $(DEPLOY_RUNTIME)/glassfish3 -SERVICE_USER ?= kbase - -ASADMIN = $(GLASSFISH_HOME)/glassfish/bin/asadmin - -ANT = ant - -# make sure our make test works -.PHONY : test - -default: build-libs build-docs - -build-libs: - @#TODO at some point make dependent on compile - checked in for now. - $(ANT) compile - -build-docs: - -rm -r docs - $(ANT) javadoc - pod2html --infile=lib/Bio/KBase/$(SERVICE)/Client.pm --outfile=docs/$(SERVICE)_perl.html - rm -f pod2htm?.tmp - sphinx-build docsource/ docs - cp $(SERVICE).spec docs/. - cp docshtml/* docs/. - -docker_deps: build-libs build-docs - $(ANT) buildwar - # cp server_scripts/glassfish_administer_service.py deployment/bin - # chmod 755 deployment/bin/glassfish_administer_service.py - mkdir -p deployment/services/workspace/ - cp dist/$(WAR) deployment/services/workspace/ - -compile: compile-typespec compile-typespec-java compile-html - -compile-html: - kb-sdk compile --html --out docshtml $(SERVICE).spec - -compile-typespec-java: - kb-sdk compile --java --javasrc src --javasrv --out . \ - --url $(URL) $(SERVICE).spec - -compile-typespec: - kb-sdk compile \ - --out lib \ - --jsclname javascript/$(SERVICE)/Client \ - --plclname Bio::KBase::$(SERVICE)::Client \ - --pyclname biokbase.$(SERVICE).client \ - --url $(URL) \ - $(SERVICE).spec - rm lib/biokbase/workspace/authclient.py - -test: test-service - -test-service: - $(ANT) test - -test-quick: - $(ANT) test_quick - -deploy: deploy-client deploy-service - -deploy-client: deploy-client-libs deploy-docs - -deploy-client-libs: - mkdir -p $(TARGET)/lib/ - cp dist/client/$(CLIENT_JAR) $(TARGET)/lib/ - cp -rv lib/* $(TARGET)/lib/ - echo $(GITCOMMIT) > $(TARGET)/lib/$(SERVICE).clientdist - echo $(TAGS) >> $(TARGET)/lib/$(SERVICE).clientdist - -deploy-docs: - mkdir -p $(SERVICE_DIR)/webroot - cp -r docs/* $(SERVICE_DIR)/webroot/. - -deploy-service: deploy-service-libs deploy-service-scripts - -deploy-service-libs: - $(ANT) buildwar - mkdir -p $(SERVICE_DIR) - cp dist/$(WAR) $(SERVICE_DIR) - echo $(GITCOMMIT) > $(SERVICE_DIR)/$(SERVICE).serverdist - echo $(TAGS) >> $(SERVICE_DIR)/$(SERVICE).serverdist - -deploy-service-scripts: - cp server_scripts/glassfish_administer_service.py $(SERVICE_DIR) - server_scripts/build_server_control_scripts.py $(SERVICE_DIR) $(WAR)\ - $(TARGET) $(JAVA_HOME) deploy.cfg $(ASADMIN) $(SERVICE_CAPS) - -deploy-upstart: - echo "# $(SERVICE) service" > /etc/init/$(SERVICE).conf - echo "# NOTE: stop $(SERVICE) does not work" >> /etc/init/$(SERVICE).conf - echo "# Use the standard stop_service script as the $(SERVICE_USER) user" >> /etc/init/$(SERVICE).conf - echo "#" >> /etc/init/$(SERVICE).conf - echo "# Make sure to set up the $(SERVICE_USER) user account" >> /etc/init/$(SERVICE).conf - echo "# shell> groupadd kbase" >> /etc/init/$(SERVICE).conf - echo "# shell> useradd -r -g $(SERVICE_USER) $(SERVICE_USER)" >> /etc/init/$(SERVICE).conf - echo "#" >> /etc/init/$(SERVICE).conf - echo "start on runlevel [23] and started shock" >> /etc/init/$(SERVICE).conf - echo "stop on runlevel [!23]" >> /etc/init/$(SERVICE).conf - echo "pre-start exec chown -R $(SERVICE_USER) $(TARGET)/services/$(SERVICE)" >> /etc/init/$(SERVICE).conf - echo "exec su kbase -c '$(TARGET)/services/$(SERVICE)/start_service'" >> /etc/init/$(SERVICE).conf - -undeploy: - -rm -rf $(SERVICE_DIR) - -rm -rfv $(TARGET)/lib/Bio/KBase/$(SERVICE) - -rm -rfv $(TARGET)/lib/biokbase/$(SERVICE) - -rm -rfv $(TARGET)/lib/javascript/$(SERVICE) - -rm -rfv $(TARGET)/lib/$(CLIENT_JAR) - -clean: - $(ANT) clean - -rm -rf docs - -rm -rf bin - -rm -rf deployment/services/workspace/* - @#TODO remove lib once files are generated on the fly diff --git a/build.gradle b/build.gradle index fd96d5f7..b610686f 100644 --- a/build.gradle +++ b/build.gradle @@ -30,7 +30,6 @@ var IN_JAR_JAVA_DOC_DIR = "$IN_JAR_DOC_DIR/javadoc" var LOC_WS_SPEC = "$rootDir/workspace.spec" var LOC_DOC_HTML = "$rootDir/docshtml" -// TODO NOW delete build.xml and Makefile - commit 8 // TODO NOW run tests from Eclipse w/o specifying classpath manually & remove sourceSets & claspath - commit 9 // TODO NOW update any ant refs in docs to gradle & the update schema script build & location diff --git a/build.xml b/build.xml deleted file mode 100644 index 5b3af13f..00000000 --- a/build.xml +++ /dev/null @@ -1,355 +0,0 @@ - - - - Build file for the Workspace Service - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #!/bin/sh -java -cp ${dist}/${jar.file}:${lib.classpath} us.kbase.workspace.kbase.SchemaUpdaterCLI $@ - - - - - - - - - - - From c3785c4b4180684e072b15d93ba43c93ce31fa62 Mon Sep 17 00:00:00 2001 From: Gavin Date: Fri, 29 Mar 2024 14:16:57 -0700 Subject: [PATCH 40/48] Move source files to Gradle default locations --- .classpath | 111 ------------------ build.gradle | 35 +----- .../kbase/common/service/ServiceChecker.java | 0 .../us/kbase/common/service/Tuple11.java | 0 .../us/kbase/common/service/Tuple12.java | 0 .../java}/us/kbase/common/service/Tuple7.java | 0 .../java}/us/kbase/common/service/Tuple9.java | 0 .../java}/us/kbase/common/utils/Counter.java | 0 .../us/kbase/common/utils/SizeUtils.java | 0 .../typedobj/core/AbsoluteTypeDefId.java | 0 .../typedobj/core/ExtractedMetadata.java | 0 .../core/IdRefTokenSequenceProvider.java | 0 .../typedobj/core/JsonDocumentLocation.java | 0 .../core/JsonPointerParseException.java | 0 .../typedobj/core/JsonTokenStreamWriter.java | 0 .../core/JsonTokenValidationException.java | 0 .../core/JsonTokenValidationListener.java | 0 .../core/JsonTokenValidationSchema.java | 0 .../typedobj/core/LocalTypeProvider.java | 0 .../java}/us/kbase/typedobj/core/MD5.java | 0 .../core/MetadataExtractionHandler.java | 0 .../typedobj/core/MetadataExtractor.java | 0 .../us/kbase/typedobj/core/MetadataNode.java | 0 .../typedobj/core/NullJsonGenerator.java | 0 .../us/kbase/typedobj/core/Restreamable.java | 0 .../typedobj/core/SubdataExtractionNode.java | 0 .../kbase/typedobj/core/SubdataExtractor.java | 0 .../kbase/typedobj/core/SubsetSelection.java | 0 .../kbase/typedobj/core/TempFileListener.java | 0 .../kbase/typedobj/core/TempFilesManager.java | 0 .../typedobj/core/TokenSequenceProvider.java | 0 .../us/kbase/typedobj/core/TypeDefId.java | 0 .../us/kbase/typedobj/core/TypeDefName.java | 0 .../us/kbase/typedobj/core/TypeProvider.java | 0 .../typedobj/core/TypedObjectValidator.java | 0 .../typedobj/core/ValidatedTypedObject.java | 0 .../us/kbase/typedobj/db/FileTypeStorage.java | 0 .../kbase/typedobj/db/FuncDetailedInfo.java | 0 .../java}/us/kbase/typedobj/db/FuncInfo.java | 0 .../java}/us/kbase/typedobj/db/KidlUtil.java | 0 .../us/kbase/typedobj/db/ModuleDefId.java | 0 .../us/kbase/typedobj/db/ModuleInfo.java | 0 .../kbase/typedobj/db/MongoTypeStorage.java | 0 .../java}/us/kbase/typedobj/db/OwnerInfo.java | 0 .../java}/us/kbase/typedobj/db/RefInfo.java | 0 .../us/kbase/typedobj/db/SemanticVersion.java | 0 .../us/kbase/typedobj/db/TypeChange.java | 0 .../kbase/typedobj/db/TypeDefinitionDB.java | 0 .../kbase/typedobj/db/TypeDetailedInfo.java | 0 .../java}/us/kbase/typedobj/db/TypeInfo.java | 0 .../us/kbase/typedobj/db/TypeStorage.java | 0 .../ExceededMaxMetadataSizeException.java | 0 .../ExceededMaxSubsetSizeException.java | 0 .../exceptions/NoSuchFuncException.java | 0 .../exceptions/NoSuchModuleException.java | 0 .../exceptions/NoSuchPrivilegeException.java | 0 .../exceptions/NoSuchTypeException.java | 0 .../exceptions/SpecParseException.java | 0 .../exceptions/TypeStorageException.java | 0 .../exceptions/TypedObjectException.java | 0 .../TypedObjectExtractionException.java | 0 .../TypedObjectSchemaException.java | 0 .../TypedObjectValidationException.java | 0 .../typedobj/idref/DefaultRemappedId.java | 0 .../us/kbase/typedobj/idref/IdReference.java | 0 .../typedobj/idref/IdReferenceHandlerSet.java | 0 .../idref/IdReferenceHandlerSetFactory.java | 0 .../IdReferenceHandlerSetFactoryBuilder.java | 0 .../IdReferencePermissionHandlerSet.java | 0 .../kbase/typedobj/idref/IdReferenceType.java | 0 .../NoSuchIdReferenceHandlerException.java | 0 .../us/kbase/typedobj/idref/RemappedId.java | 0 .../typedobj/idref/SimpleRemappedId.java | 0 .../AlterAdminObjectMetadataParams.java | 0 .../AlterWorkspaceMetadataParams.java | 0 .../kbase/workspace/CloneWorkspaceParams.java | 0 .../us/kbase/workspace/CopyObjectParams.java | 0 .../workspace/CreateWorkspaceParams.java | 0 .../us/kbase/workspace/ExternalDataUnit.java | 0 .../java}/us/kbase/workspace/FuncInfo.java | 0 .../kbase/workspace/GetAdminRoleResults.java | 0 .../kbase/workspace/GetModuleInfoParams.java | 0 .../workspace/GetNamesByPrefixParams.java | 0 .../workspace/GetNamesByPrefixResults.java | 0 .../kbase/workspace/GetObjectInfo3Params.java | 0 .../workspace/GetObjectInfo3Results.java | 0 .../workspace/GetObjectInfoNewParams.java | 0 .../us/kbase/workspace/GetObjectOutput.java | 0 .../us/kbase/workspace/GetObjectParams.java | 0 .../kbase/workspace/GetObjectmetaParams.java | 0 .../us/kbase/workspace/GetObjects2Params.java | 0 .../kbase/workspace/GetObjects2Results.java | 0 .../workspace/GetPermissionsMassParams.java | 0 .../workspace/GetWorkspacemetaParams.java | 0 .../workspace/GrantModuleOwnershipParams.java | 0 .../kbase/workspace/ListAllTypesParams.java | 0 .../workspace/ListModuleVersionsParams.java | 0 .../us/kbase/workspace/ListModulesParams.java | 0 .../us/kbase/workspace/ListObjectsParams.java | 0 .../workspace/ListWorkspaceIDsParams.java | 0 .../workspace/ListWorkspaceIDsResults.java | 0 .../workspace/ListWorkspaceInfoParams.java | 0 .../workspace/ListWorkspaceObjectsParams.java | 0 .../kbase/workspace/ListWorkspacesParams.java | 0 .../java}/us/kbase/workspace/ModuleInfo.java | 0 .../us/kbase/workspace/ModuleVersions.java | 0 .../java}/us/kbase/workspace/ObjectData.java | 0 .../us/kbase/workspace/ObjectIdentity.java | 0 .../java}/us/kbase/workspace/ObjectInfo.java | 0 .../kbase/workspace/ObjectMetadataUpdate.java | 0 .../kbase/workspace/ObjectProvenanceInfo.java | 0 .../us/kbase/workspace/ObjectSaveData.java | 0 .../kbase/workspace/ObjectSpecification.java | 0 .../us/kbase/workspace/ProvenanceAction.java | 0 .../workspace/RegisterTypespecCopyParams.java | 0 .../workspace/RegisterTypespecParams.java | 0 .../RemoveModuleOwnershipParams.java | 0 .../kbase/workspace/RenameObjectParams.java | 0 .../workspace/RenameWorkspaceParams.java | 0 .../us/kbase/workspace/SaveObjectParams.java | 0 .../us/kbase/workspace/SaveObjectsParams.java | 0 .../workspace/SetGlobalPermissionsParams.java | 0 .../kbase/workspace/SetPermissionsParams.java | 0 .../SetWorkspaceDescriptionParams.java | 0 .../java}/us/kbase/workspace/SubAction.java | 0 .../us/kbase/workspace/SubObjectIdentity.java | 0 .../java}/us/kbase/workspace/TypeInfo.java | 0 .../us/kbase/workspace/WorkspaceClient.java | 0 .../us/kbase/workspace/WorkspaceIdentity.java | 0 .../kbase/workspace/WorkspacePermissions.java | 0 .../us/kbase/workspace/WorkspaceServer.java | 0 .../us/kbase/workspace/database/AllUsers.java | 0 .../database/ByteArrayFileCacheManager.java | 0 .../kbase/workspace/database/CopyResult.java | 0 .../workspace/database/DependencyStatus.java | 0 .../workspace/database/DynamicConfig.java | 0 .../database/ListObjectsParameters.java | 0 .../workspace/database/MetadataUpdate.java | 0 .../kbase/workspace/database/ModuleInfo.java | 0 .../workspace/database/ObjectIDNoWSNoVer.java | 0 .../database/ObjectIDResolvedWS.java | 0 .../workspace/database/ObjectIdentifier.java | 0 .../database/ObjectInfoWithModDate.java | 0 .../workspace/database/ObjectInformation.java | 0 .../database/ObjectReferenceSet.java | 0 .../workspace/database/ObjectResolver.java | 0 .../kbase/workspace/database/Permission.java | 0 .../workspace/database/PermissionSet.java | 0 .../database/PermissionsCheckerFactory.java | 0 .../us/kbase/workspace/database/RefLimit.java | 0 .../kbase/workspace/database/Reference.java | 0 .../workspace/database/ResolvedObjectID.java | 0 .../database/ResolvedObjectIDNoVer.java | 0 .../database/ResolvedSaveObject.java | 0 .../database/ResolvedWorkspaceID.java | 0 .../ResourceUsageConfigurationBuilder.java | 0 .../workspace/database/TypeAndReference.java | 0 .../us/kbase/workspace/database/Types.java | 0 .../database/UncheckedUserMetadata.java | 0 .../us/kbase/workspace/database/User.java | 0 .../workspace/database/UserWorkspaceIDs.java | 0 .../us/kbase/workspace/database/Util.java | 0 .../kbase/workspace/database/Workspace.java | 0 .../workspace/database/WorkspaceDatabase.java | 0 .../database/WorkspaceIdentifier.java | 0 .../database/WorkspaceInformation.java | 0 .../database/WorkspaceObjectData.java | 0 .../database/WorkspaceSaveObject.java | 0 .../workspace/database/WorkspaceUser.java | 0 .../database/WorkspaceUserMetadata.java | 0 .../CorruptWorkspaceDBException.java | 0 .../exceptions/DeletedObjectException.java | 0 .../database/exceptions/ErrorOr.java | 0 .../database/exceptions/ErrorType.java | 0 .../InaccessibleObjectException.java | 0 .../exceptions/NoObjectDataException.java | 0 .../exceptions/NoSuchObjectException.java | 0 .../exceptions/NoSuchReferenceException.java | 0 .../exceptions/NoSuchWorkspaceException.java | 0 .../PreExistingWorkspaceException.java | 0 .../WorkspaceCommunicationException.java | 0 .../exceptions/WorkspaceDBException.java | 0 .../WorkspaceDBInitializationException.java | 0 .../workspace/database/mongo/BlobStore.java | 0 .../database/mongo/CollectionNames.java | 0 .../workspace/database/mongo/Fields.java | 0 .../database/mongo/GridFSBlobStore.java | 0 .../workspace/database/mongo/IDName.java | 0 .../database/mongo/MongoWorkspaceDB.java | 0 .../mongo/ObjectIDResolvedWSNoVer.java | 0 .../database/mongo/ObjectInfoUtils.java | 0 .../database/mongo/ObjectLister.java | 0 .../database/mongo/ObjectSavePackage.java | 0 .../database/mongo/QueryMethods.java | 0 .../workspace/database/mongo/S3BlobStore.java | 0 .../database/mongo/S3ClientWithPresign.java | 0 .../database/mongo/SchemaUpdater.java | 0 .../BlobStoreAuthorizationException.java | 0 .../BlobStoreCommunicationException.java | 0 .../mongo/exceptions/BlobStoreException.java | 0 .../mongo/exceptions/NoSuchBlobException.java | 0 .../workspace/database/provenance/Common.java | 0 .../database/provenance/ExternalData.java | 0 .../database/provenance/Provenance.java | 0 .../database/provenance/ProvenanceAction.java | 0 .../database/provenance/SubAction.java | 0 .../refsearch/ReferenceGraphSearch.java | 0 .../ReferenceGraphTopologyProvider.java | 0 .../refsearch/ReferenceProviderException.java | 0 .../ReferenceSearchFailedException.java | 0 ...nceSearchMaximumSizeExceededException.java | 0 .../refsearch/ReferenceSearchTree.java | 0 .../database/refsearch/ReferenceTreeNode.java | 0 .../kbase/workspace/docserver/DocServer.java | 0 .../WorkspaceAuthorizationException.java | 0 .../exceptions/WorkspaceException.java | 0 .../kbase/workspace/gitcommit/GitCommit.java | 0 .../us/kbase/workspace/kbase/ArgUtils.java | 0 .../us/kbase/workspace/kbase/BackendType.java | 0 .../kbase/BytestreamIdHandlerFactory.java | 0 .../kbase/DelegatingTypeProvider.java | 0 .../kbase/HandleIdHandlerFactory.java | 0 .../workspace/kbase/IdentifierUtils.java | 0 .../workspace/kbase/InitWorkspaceServer.java | 0 .../workspace/kbase/KBasePermissions.java | 0 .../workspace/kbase/KBaseWorkspaceConfig.java | 0 .../kbase/LocalTypeServerMethods.java | 0 .../kbase/SampleIdHandlerFactory.java | 0 .../workspace/kbase/SchemaUpdaterCLI.java | 0 .../us/kbase/workspace/kbase/TypeClient.java | 0 .../kbase/TypeDelegationException.java | 0 .../workspace/kbase/TypeServerMethods.java | 0 .../kbase/WorkspaceServerMethods.java | 0 .../workspace/kbase/admin/AdminCommand.java | 0 .../workspace/kbase/admin/AdminRole.java | 0 .../AdministrationCommandSetInstaller.java | 0 .../kbase/admin/AdministratorHandler.java | 0 .../admin/AdministratorHandlerException.java | 0 .../kbase/admin/DefaultAdminHandler.java | 0 .../kbase/admin/KBaseAuth2AdminHandler.java | 0 .../kbase/admin/WorkspaceAdministration.java | 0 .../ListenerInitializationException.java | 0 .../listener/WorkspaceEventListener.java | 0 .../WorkspaceEventListenerFactory.java | 0 .../workspace/listener/package-info.java | 0 .../modules/KafkaNotifierFactory.java | 0 .../kbase/workspace/modules/package-info.java | 0 .../workspace/version/WorkspaceVersion.java | 0 .../us/kbase/test/common}/MapBuilder.java | 2 +- .../us/kbase/test/common}/TestCommon.java | 3 +- .../test/service/ServiceCheckerTest.java | 2 +- .../test/typedobj}/AbsoluteTypeDefIdTest.java | 2 +- .../test/typedobj}/BasicValidationTest.java | 4 +- .../typedobj}/DetailedValidationTest.java | 4 +- .../test/typedobj}/DummyIdHandlerFactory.java | 2 +- .../typedobj}/DummyValidatedTypedObject.java | 2 +- .../test/typedobj}/IdProcessingTest.java | 4 +- .../IdRefTokenSequenceProviderTest.java | 2 +- .../us/kbase/test/typedobj}/JsonSchemas.java | 4 +- .../typedobj}/JsonTokenValidatorTester.java | 4 +- .../test/typedobj}/LocalTypeProviderTest.java | 4 +- .../typedobj}/MetadataExtractionTest.java | 4 +- .../typedobj}/ObjectExtractionByPathTest.java | 2 +- .../typedobj}/ProfileBasicValidation.java | 4 +- .../kbase/test/typedobj}/TypeDefIdTest.java | 4 +- .../us/kbase/test/typedobj}/TypeDefsTest.java | 2 +- .../test/typedobj}/TypeProviderTest.java | 4 +- .../TypedObjectValidationReportTest.java | 5 +- .../typedobj/db}/HighLoadParallelTester.java | 2 +- .../typedobj/db}/MongoTypeStorageTest.java | 4 +- .../test/typedobj/db}/TestTypeStorage.java | 2 +- .../typedobj/db}/TestTypeStorageFactory.java | 2 +- .../typedobj/db}/TypeRegisteringTest.java | 4 +- .../typedobj/db}/TypeStorageListener.java | 2 +- ...ReferenceHandlerSetFactoryBuilderTest.java | 6 +- .../IdReferencePermissionHandlerSetTest.java | 6 +- .../typedobj}/idref/IdReferenceTypeTest.java | 4 +- .../workspace}/JsonTokenStreamOCStat.java | 2 +- .../test/workspace}/LongTextForTestUsage.java | 2 +- .../test/workspace}/UpdateOptionsMatcher.java | 2 +- .../test/workspace}/WorkspaceMongoIndex.java | 2 +- .../workspace}/WorkspaceServerThread.java | 2 +- .../test/workspace}/WorkspaceTestCommon.java | 4 +- .../controllers/arango/ArangoController.java | 2 +- .../blobstore/BlobstoreController.java | 2 +- .../handle/HandleServiceController.java | 2 +- .../controllers/minio/MinioController.java | 2 +- .../sample/SampleServiceController.java | 4 +- .../workspace/WorkspaceController.java | 2 +- .../database/DependencyStatusTest.java | 2 +- .../test/workspace}/database/UtilTest.java | 6 +- .../database/mongo/GridFSBlobStoreTest.java | 6 +- .../database/mongo/MongoInternalsTest.java | 16 +-- .../database/mongo/MongoStartUpTest.java | 10 +- .../database/mongo/MongoWorkspaceDBTest.java | 16 +-- .../database/mongo/ObjectListerTest.java | 8 +- .../database/mongo/PartialMock.java | 4 +- .../mongo/S3BlobStoreIntegrationTest.java | 6 +- .../database/mongo/S3BlobStoreTest.java | 10 +- .../database/mongo/SchemaUpdaterTest.java | 8 +- .../database/provenance/ExternalDataTest.java | 11 +- .../provenance/ProvenanceActionTest.java | 12 +- .../database/provenance/ProvenanceTest.java | 8 +- .../database/provenance/SubActionTest.java | 8 +- .../workspace}/docserver/DocServerTest.java | 16 +-- .../docserver/HttpServletRequestMock.java | 2 +- .../docserver/HttpServletResponseMock.java | 2 +- .../test/workspace}/kbase/ArgUtilsTest.java | 8 +- .../kbase/BytestreamIdHandlerFactoryTest.java | 6 +- .../kbase/DelegatingTypeProviderTest.java | 8 +- .../HandleAndBytestreamIntegrationTest.java | 18 +-- .../kbase/HandleIdHandlerFactoryTest.java | 8 +- .../workspace}/kbase/IdentifierUtilsTest.java | 14 +-- .../kbase/JSONRPCLayerLongTest.java | 4 +- .../workspace}/kbase/JSONRPCLayerTest.java | 8 +- .../workspace}/kbase/JSONRPCLayerTester.java | 12 +- .../kbase/KBaseWorkspaceConfigTest.java | 8 +- .../test/workspace}/kbase/LoggingTest.java | 7 +- .../kbase/SampleIDHandlerFactoryTest.java | 4 +- .../kbase/SampleServiceIntegrationTest.java | 14 +-- .../kbase/SchemaUpdaterCLITest.java | 6 +- .../test/workspace}/kbase/TypeClientTest.java | 6 +- .../workspace}/kbase/TypeDelegationTest.java | 10 +- .../kbase/WorkspaceServerMethodsTest.java | 6 +- ...AdministrationCommandSetInstallerTest.java | 16 +-- .../kbase/admin/DefaultAdminHandlerTest.java | 6 +- .../admin/KBaseAuth2AdminHandlerTest.java | 6 +- .../admin/WorkspaceAdministrationTest.java | 10 +- .../listener/BadListenerFactory.java | 2 +- .../listener/NullListenerFactory.java | 2 +- .../modules/KafkaNotifierFactoryTest.java | 8 +- .../ByteArrayFileCacheManagerTest.java | 6 +- .../workspace/DynamicConfigTest.java | 8 +- .../workspace}/workspace/ErrorOrTest.java | 4 +- .../workspace/ListObjectParametersTest.java | 6 +- .../workspace/MetadataUpdateTest.java | 6 +- .../workspace/ObjectIDNoWSNoVerTest.java | 4 +- .../workspace/ObjectIdentifierTest.java | 20 ++-- .../workspace/ObjectInformationTest.java | 8 +- .../workspace/ObjectResolverTest.java | 6 +- .../workspace/PermissionSetTest.java | 7 +- .../PermissionsCheckerFactoryTest.java | 10 +- .../workspace}/workspace/RefLimitTest.java | 6 +- .../workspace/ReferenceGraphSearchTest.java | 4 +- .../workspace/ReferenceSearchTreeTest.java | 2 +- .../workspace}/workspace/ReferenceTest.java | 2 +- .../workspace/ReferenceTreeNodeTest.java | 2 +- .../ResolvedObjectIdentifierTest.java | 4 +- .../workspace/ResolvedWorkspaceIDTest.java | 4 +- .../TestIDReferenceHandlerFactory.java | 2 +- .../workspace/UncheckedUserMetadataTest.java | 2 +- .../workspace/UserWorkspaceIDsTest.java | 4 +- .../workspace/WorkspaceConstructorTest.java | 4 +- .../workspace/WorkspaceInformationTest.java | 4 +- .../WorkspaceIntegrationWithGridFSTest.java | 28 ++--- .../workspace/WorkspaceListenerTest.java | 8 +- .../workspace/WorkspaceLongTest.java | 9 +- .../workspace/WorkspaceObjectDataTest.java | 12 +- .../workspace}/workspace/WorkspaceTest.java | 28 ++--- .../workspace}/workspace/WorkspaceTester.java | 26 ++-- .../workspace/WorkspaceUnitTest.java | 12 +- .../workspace/WorkspaceUserMetadataTest.java | 4 +- .../backward.Annotations.2.spec.properties | 0 .../backward.Annotations.3.spec.properties | 0 .../backward.Annotations.4.spec.properties | 0 .../db}/backward.Annotations.spec.properties | 0 .../db}/backward.Expression.2.spec.properties | 0 .../db}/backward.Expression.spec.properties | 0 .../db}/backward.Regulation.2.spec.properties | 0 .../db}/backward.Regulation.3.spec.properties | 0 .../db}/backward.Regulation.4.spec.properties | 0 .../db}/backward.Regulation.spec.properties | 0 .../db}/deps.DepModule.spec.properties | 0 .../db}/deps.SomeModule.spec.properties | 0 .../typedobj/db}/descr.Descr.spec.properties | 0 .../typedobj/db}/error.Common.spec.properties | 0 .../db}/error.DoubleModule.spec.properties | 0 .../db}/error.LongFuncName.spec.properties | 0 .../db}/error.LongTypeName.spec.properties | 0 .../error.StructDuplication.spec.properties | 0 .../typedobj/db}/error.Test.spec.properties | 0 .../typedobj/db}/md5.Common.2.spec.properties | 0 .../typedobj/db}/md5.Common.3.spec.properties | 0 .../typedobj/db}/md5.Common.spec.properties | 0 .../typedobj/db}/md5.Upper.spec.properties | 0 .../db}/restrict.Common.2.spec.properties | 0 .../db}/restrict.Common.spec.properties | 0 .../db}/restrict.Middle.spec.properties | 0 .../db}/restrict.Upper.spec.properties | 0 .../db}/rollback.First.spec.properties | 0 .../db}/simple.Annotation.spec.properties | 0 .../db}/simple.Regulation.2.spec.properties | 0 .../db}/simple.Regulation.spec.properties | 0 .../db}/simple.Sequence.spec.properties | 0 .../db}/simple.Taxonomy.spec.properties | 0 .../db}/stop.Dependant.spec.properties | 0 .../db}/stop.Regulation.2.spec.properties | 0 .../db}/stop.Regulation.spec.properties | 0 .../FBA.FBAModel.invalid.instance.1 | 0 .../FBA.FBAModel.valid.instance.1 | 0 .../FBA.FBAModel.valid.instance.2 | 0 .../FBA.FBAResult.valid.instance.1 | 0 .../typedobj}/files/BasicValidation/FBA.spec | 0 .../KB.BigNumberObj.invalid.instance.1 | 0 .../KB.BigNumberObj.invalid.instance.2 | 0 .../KB.BigNumberObj.invalid.instance.3 | 0 .../KB.BigNumberObj.invalid.instance.4 | 0 .../KB.BigNumberObj.valid.instance.1 | 0 .../KB.BigNumberObj.valid.instance.2 | 0 .../KB.Genome.invalid.instance.1 | 0 .../KB.Genome.invalid.instance.2 | 0 .../KB.Genome.invalid.instance.3 | 0 .../KB.Genome.invalid.instance.4 | 0 .../KB.Genome.valid.instance.1 | 0 .../KB.Genome.valid.instance.2 | 0 .../KB.Genome.valid.instance.3 | 0 .../KB.NumberObj.invalid.instance.1 | 0 .../KB.NumberObj.invalid.instance.10 | 0 .../KB.NumberObj.invalid.instance.11 | 0 .../KB.NumberObj.invalid.instance.12 | 0 .../KB.NumberObj.invalid.instance.13 | 0 .../KB.NumberObj.invalid.instance.14 | 0 .../KB.NumberObj.invalid.instance.15 | 0 .../KB.NumberObj.invalid.instance.16 | 0 .../KB.NumberObj.invalid.instance.17 | 0 .../KB.NumberObj.invalid.instance.2 | 0 .../KB.NumberObj.invalid.instance.3 | 0 .../KB.NumberObj.invalid.instance.4 | 0 .../KB.NumberObj.invalid.instance.5 | 0 .../KB.NumberObj.invalid.instance.6 | 0 .../KB.NumberObj.invalid.instance.7 | 0 .../KB.NumberObj.invalid.instance.8 | 0 .../KB.NumberObj.invalid.instance.9 | 0 .../KB.NumberObj.valid.instance.1 | 0 .../KB.NumberObj.valid.instance.2 | 0 .../KB.NumberObj.valid.instance.3 | 0 .../KB.NumberObj.valid.instance.4 | 0 .../KB.NumberObj.valid.instance.5 | 0 .../KB.RandomObject.invalid.instance.1 | 0 .../KB.RandomObject.valid.instance.1 | 0 .../KB.RandomObject.valid.instance.2 | 0 .../KB.TupleObject.invalid.instance.1 | 0 .../KB.TupleObject.invalid.instance.2 | 0 .../KB.TupleObject.valid.instance.1 | 0 .../typedobj}/files/BasicValidation/KB.spec | 0 .../files/DetailedValidation/KB.spec | 0 .../files/DetailedValidation/instance.001 | 0 .../files/DetailedValidation/instance.002 | 0 .../files/DetailedValidation/instance.003 | 0 .../files/DetailedValidation/instance.004 | 0 .../files/DetailedValidation/instance.005 | 0 .../files/DetailedValidation/instance.006 | 0 .../files/DetailedValidation/instance.007 | 0 .../files/DetailedValidation/instance.008 | 0 .../files/DetailedValidation/instance.009 | 0 .../files/DetailedValidation/instance.010 | 0 .../files/DetailedValidation/instance.011 | 0 .../files/DetailedValidation/instance.012 | 0 .../files/DetailedValidation/instance.013 | 0 .../files/DetailedValidation/instance.014 | 0 .../files/DetailedValidation/instance.015 | 0 .../files/DetailedValidation/instance.016 | 0 .../files/DetailedValidation/instance.017 | 0 .../files/DetailedValidation/instance.018 | 0 .../files/DetailedValidation/instance.019 | 0 .../files/DetailedValidation/instance.020 | 0 .../files/DetailedValidation/instance.021 | 0 .../files/DetailedValidation/instance.022 | 0 .../files/DetailedValidation/instance.023 | 0 .../files/DetailedValidation/instance.024 | 0 .../files/DetailedValidation/instance.025 | 0 .../files/DetailedValidation/instance.026 | 0 .../files/DetailedValidation/instance.027 | 0 .../files/DetailedValidation/instance.028 | 0 .../files/DetailedValidation/instance.029 | 0 .../files/DetailedValidation/instance.030 | 0 .../files/DetailedValidation/instance.031 | 0 .../files/DetailedValidation/instance.032 | 0 .../files/DetailedValidation/instance.033 | 0 .../files/DetailedValidation/instance.034 | 0 .../files/DetailedValidation/instance.035 | 0 .../files/DetailedValidation/instance.036 | 0 .../files/DetailedValidation/instance.037 | 0 .../files/DetailedValidation/instance.038 | 0 .../files/DetailedValidation/instance.039 | 0 .../files/DetailedValidation/instance.040 | 0 .../files/DetailedValidation/instance.041 | 0 .../files/DetailedValidation/instance.042 | 0 .../files/DetailedValidation/instance.043 | 0 .../files/DetailedValidation/instance.044 | 0 .../files/DetailedValidation/instance.045 | 0 .../files/DetailedValidation/instance.046 | 0 .../files/DetailedValidation/instance.047 | 0 .../files/DetailedValidation/instance.048 | 0 .../files/DetailedValidation/instance.049 | 0 .../files/DetailedValidation/instance.050 | 0 .../files/DetailedValidation/instance.051 | 0 .../files/DetailedValidation/instance.052 | 0 .../files/DetailedValidation/instance.053 | 0 .../files/DetailedValidation/instance.054 | 0 .../files/DetailedValidation/instance.055 | 0 .../files/DetailedValidation/instance.056 | 0 .../files/DetailedValidation/instance.057 | 0 .../files/DetailedValidation/instance.058 | 0 .../files/DetailedValidation/instance.059 | 0 .../files/DetailedValidation/instance.060 | 0 .../files/DetailedValidation/instance.061 | 0 .../typedobj}/files/IdProcessing/FBA.spec | 0 .../files/IdProcessing/KB.AltIDs.instance.1 | 0 .../IdProcessing/KB.AltIDs.instance.1.ids | 0 .../IdProcessing/KB.DeepFeatureMap.instance.1 | 0 .../KB.DeepFeatureMap.instance.1.ids | 0 .../IdProcessing/KB.FeatureMap.instance.1 | 0 .../IdProcessing/KB.FeatureMap.instance.1.ids | 0 .../IdProcessing/KB.FeatureMap.instance.2 | 0 .../IdProcessing/KB.FeatureMap.instance.2.ids | 0 .../files/IdProcessing/KB.Genome.instance.1 | 0 .../IdProcessing/KB.Genome.instance.1.ids | 0 .../files/IdProcessing/KB.Genome.instance.2 | 0 .../IdProcessing/KB.Genome.instance.2.ids | 0 .../KB.NestedFeaturesKey.instance.1 | 0 .../KB.NestedFeaturesKey.instance.1.ids | 0 .../KB.NestedFeaturesList.instance.1 | 0 .../KB.NestedFeaturesList.instance.1.ids | 0 .../KB.NestedFeaturesValue.instance.1 | 0 .../KB.NestedFeaturesValue.instance.1.ids | 0 .../IdProcessing/KB.WeirdTuple.instance.1 | 0 .../IdProcessing/KB.WeirdTuple.instance.1.ids | 0 .../test/typedobj}/files/IdProcessing/KB.spec | 0 .../KB.FloatStructure.instance.1 | 0 .../KB.MappingStruct.instance.1 | 0 .../KB.MetaDataT1.instance.1 | 0 .../KB.MetaDataT2.instance.1 | 0 .../KB.MetaDataT3.instance.1 | 0 .../KB.MetaDataT4.instance.1 | 0 .../KB.MetaDataT5.instance.1 | 0 .../KB.MetaDataT6.instance.1 | 0 .../KB.MetaDataT7.instance.1 | 0 .../KB.MetaDataT8.instance.1 | 0 .../KB.MetaDataT9.instance.1 | 0 .../KB.NoExtractionData.instance.1 | 0 .../KB.SimpleStructure.instance.1 | 0 .../KB.SimpleStructure.instance.2 | 0 .../KB.SimpleStructure.instance.3 | 0 .../KB.SimpleStructure.instance.4 | 0 .../KB.SimpleStructure.instance.5 | 0 .../KB.SimpleStructure.instance.6 | 0 .../files/MetadataExtraction/KB.spec | 0 .../01.ExtractField.instance | 0 .../02.ExtractNestedField.instance | 0 .../03.ExtractFieldFail.instance | 0 .../04.ExtractFromArray.instance | 0 .../05.ExtractAllFromMap.instance | 0 .../06.ExtractAllFromList.instance | 0 .../07.ExtractArrayPosFail.instance | 0 .../08.ExtractArrayPosFail2.instance | 0 .../09.ExtractNestedField2.instance | 0 .../10.ExtractArrayElements.instance | 0 .../11.ExtractBooleansAndNull.instance | 0 .../12.ExtractNumbers.instance | 0 ....ExtractWithOptionalFieldsMissing.instance | 0 .../14.ExtractBadPathFail.instance | 0 .../15.ExtractPathEscaped.instance | 0 .../16.ExtractPathEscapedBad.instance | 0 .../17.ExtractPathEscapedBad2.instance | 0 .../us/kbase/test/typedobj}/files/t4/FBA.spec | 0 .../us/kbase/test/typedobj}/files/t4/KB.spec | 0 .../docserver/docserverTestFile.html | 0 .../kbase/test/workspace}/docserver/fake.css | 0 .../kbase/test/workspace}/docserver/fake.gif | 0 .../kbase/test/workspace}/docserver/fake.js | 0 .../kbase/test/workspace}/docserver/fake.png | 0 .../kbase/test/workspace}/docserver/fake.spec | 0 .../kbase/test/workspace}/docserver/fake.txt | 0 .../workspace}/docserver/fake.weirdsuffix | 0 .../docserver/files/docserverTestFile2.html | 0 .../workspace}/docserver/files/index.html | 0 .../test/workspace}/docserver/index.html | 0 ..._test_get_object_subset.json.gz.properties | Bin 579 files changed, 363 insertions(+), 507 deletions(-) delete mode 100644 .classpath rename src/{ => main/java}/us/kbase/common/service/ServiceChecker.java (100%) rename src/{ => main/java}/us/kbase/common/service/Tuple11.java (100%) rename src/{ => main/java}/us/kbase/common/service/Tuple12.java (100%) rename src/{ => main/java}/us/kbase/common/service/Tuple7.java (100%) rename src/{ => main/java}/us/kbase/common/service/Tuple9.java (100%) rename src/{ => main/java}/us/kbase/common/utils/Counter.java (100%) rename src/{ => main/java}/us/kbase/common/utils/SizeUtils.java (100%) rename src/{ => main/java}/us/kbase/typedobj/core/AbsoluteTypeDefId.java (100%) rename src/{ => main/java}/us/kbase/typedobj/core/ExtractedMetadata.java (100%) rename src/{ => main/java}/us/kbase/typedobj/core/IdRefTokenSequenceProvider.java (100%) rename src/{ => main/java}/us/kbase/typedobj/core/JsonDocumentLocation.java (100%) rename src/{ => main/java}/us/kbase/typedobj/core/JsonPointerParseException.java (100%) rename src/{ => main/java}/us/kbase/typedobj/core/JsonTokenStreamWriter.java (100%) rename src/{ => main/java}/us/kbase/typedobj/core/JsonTokenValidationException.java (100%) rename src/{ => main/java}/us/kbase/typedobj/core/JsonTokenValidationListener.java (100%) rename src/{ => main/java}/us/kbase/typedobj/core/JsonTokenValidationSchema.java (100%) rename src/{ => main/java}/us/kbase/typedobj/core/LocalTypeProvider.java (100%) rename src/{ => main/java}/us/kbase/typedobj/core/MD5.java (100%) rename src/{ => main/java}/us/kbase/typedobj/core/MetadataExtractionHandler.java (100%) rename src/{ => main/java}/us/kbase/typedobj/core/MetadataExtractor.java (100%) rename src/{ => main/java}/us/kbase/typedobj/core/MetadataNode.java (100%) rename src/{ => main/java}/us/kbase/typedobj/core/NullJsonGenerator.java (100%) rename src/{ => main/java}/us/kbase/typedobj/core/Restreamable.java (100%) rename src/{ => main/java}/us/kbase/typedobj/core/SubdataExtractionNode.java (100%) rename src/{ => main/java}/us/kbase/typedobj/core/SubdataExtractor.java (100%) rename src/{ => main/java}/us/kbase/typedobj/core/SubsetSelection.java (100%) rename src/{ => main/java}/us/kbase/typedobj/core/TempFileListener.java (100%) rename src/{ => main/java}/us/kbase/typedobj/core/TempFilesManager.java (100%) rename src/{ => main/java}/us/kbase/typedobj/core/TokenSequenceProvider.java (100%) rename src/{ => main/java}/us/kbase/typedobj/core/TypeDefId.java (100%) rename src/{ => main/java}/us/kbase/typedobj/core/TypeDefName.java (100%) rename src/{ => main/java}/us/kbase/typedobj/core/TypeProvider.java (100%) rename src/{ => main/java}/us/kbase/typedobj/core/TypedObjectValidator.java (100%) rename src/{ => main/java}/us/kbase/typedobj/core/ValidatedTypedObject.java (100%) rename src/{ => main/java}/us/kbase/typedobj/db/FileTypeStorage.java (100%) rename src/{ => main/java}/us/kbase/typedobj/db/FuncDetailedInfo.java (100%) rename src/{ => main/java}/us/kbase/typedobj/db/FuncInfo.java (100%) rename src/{ => main/java}/us/kbase/typedobj/db/KidlUtil.java (100%) rename src/{ => main/java}/us/kbase/typedobj/db/ModuleDefId.java (100%) rename src/{ => main/java}/us/kbase/typedobj/db/ModuleInfo.java (100%) rename src/{ => main/java}/us/kbase/typedobj/db/MongoTypeStorage.java (100%) rename src/{ => main/java}/us/kbase/typedobj/db/OwnerInfo.java (100%) rename src/{ => main/java}/us/kbase/typedobj/db/RefInfo.java (100%) rename src/{ => main/java}/us/kbase/typedobj/db/SemanticVersion.java (100%) rename src/{ => main/java}/us/kbase/typedobj/db/TypeChange.java (100%) rename src/{ => main/java}/us/kbase/typedobj/db/TypeDefinitionDB.java (100%) rename src/{ => main/java}/us/kbase/typedobj/db/TypeDetailedInfo.java (100%) rename src/{ => main/java}/us/kbase/typedobj/db/TypeInfo.java (100%) rename src/{ => main/java}/us/kbase/typedobj/db/TypeStorage.java (100%) rename src/{ => main/java}/us/kbase/typedobj/exceptions/ExceededMaxMetadataSizeException.java (100%) rename src/{ => main/java}/us/kbase/typedobj/exceptions/ExceededMaxSubsetSizeException.java (100%) rename src/{ => main/java}/us/kbase/typedobj/exceptions/NoSuchFuncException.java (100%) rename src/{ => main/java}/us/kbase/typedobj/exceptions/NoSuchModuleException.java (100%) rename src/{ => main/java}/us/kbase/typedobj/exceptions/NoSuchPrivilegeException.java (100%) rename src/{ => main/java}/us/kbase/typedobj/exceptions/NoSuchTypeException.java (100%) rename src/{ => main/java}/us/kbase/typedobj/exceptions/SpecParseException.java (100%) rename src/{ => main/java}/us/kbase/typedobj/exceptions/TypeStorageException.java (100%) rename src/{ => main/java}/us/kbase/typedobj/exceptions/TypedObjectException.java (100%) rename src/{ => main/java}/us/kbase/typedobj/exceptions/TypedObjectExtractionException.java (100%) rename src/{ => main/java}/us/kbase/typedobj/exceptions/TypedObjectSchemaException.java (100%) rename src/{ => main/java}/us/kbase/typedobj/exceptions/TypedObjectValidationException.java (100%) rename src/{ => main/java}/us/kbase/typedobj/idref/DefaultRemappedId.java (100%) rename src/{ => main/java}/us/kbase/typedobj/idref/IdReference.java (100%) rename src/{ => main/java}/us/kbase/typedobj/idref/IdReferenceHandlerSet.java (100%) rename src/{ => main/java}/us/kbase/typedobj/idref/IdReferenceHandlerSetFactory.java (100%) rename src/{ => main/java}/us/kbase/typedobj/idref/IdReferenceHandlerSetFactoryBuilder.java (100%) rename src/{ => main/java}/us/kbase/typedobj/idref/IdReferencePermissionHandlerSet.java (100%) rename src/{ => main/java}/us/kbase/typedobj/idref/IdReferenceType.java (100%) rename src/{ => main/java}/us/kbase/typedobj/idref/NoSuchIdReferenceHandlerException.java (100%) rename src/{ => main/java}/us/kbase/typedobj/idref/RemappedId.java (100%) rename src/{ => main/java}/us/kbase/typedobj/idref/SimpleRemappedId.java (100%) rename src/{ => main/java}/us/kbase/workspace/AlterAdminObjectMetadataParams.java (100%) rename src/{ => main/java}/us/kbase/workspace/AlterWorkspaceMetadataParams.java (100%) rename src/{ => main/java}/us/kbase/workspace/CloneWorkspaceParams.java (100%) rename src/{ => main/java}/us/kbase/workspace/CopyObjectParams.java (100%) rename src/{ => main/java}/us/kbase/workspace/CreateWorkspaceParams.java (100%) rename src/{ => main/java}/us/kbase/workspace/ExternalDataUnit.java (100%) rename src/{ => main/java}/us/kbase/workspace/FuncInfo.java (100%) rename src/{ => main/java}/us/kbase/workspace/GetAdminRoleResults.java (100%) rename src/{ => main/java}/us/kbase/workspace/GetModuleInfoParams.java (100%) rename src/{ => main/java}/us/kbase/workspace/GetNamesByPrefixParams.java (100%) rename src/{ => main/java}/us/kbase/workspace/GetNamesByPrefixResults.java (100%) rename src/{ => main/java}/us/kbase/workspace/GetObjectInfo3Params.java (100%) rename src/{ => main/java}/us/kbase/workspace/GetObjectInfo3Results.java (100%) rename src/{ => main/java}/us/kbase/workspace/GetObjectInfoNewParams.java (100%) rename src/{ => main/java}/us/kbase/workspace/GetObjectOutput.java (100%) rename src/{ => main/java}/us/kbase/workspace/GetObjectParams.java (100%) rename src/{ => main/java}/us/kbase/workspace/GetObjectmetaParams.java (100%) rename src/{ => main/java}/us/kbase/workspace/GetObjects2Params.java (100%) rename src/{ => main/java}/us/kbase/workspace/GetObjects2Results.java (100%) rename src/{ => main/java}/us/kbase/workspace/GetPermissionsMassParams.java (100%) rename src/{ => main/java}/us/kbase/workspace/GetWorkspacemetaParams.java (100%) rename src/{ => main/java}/us/kbase/workspace/GrantModuleOwnershipParams.java (100%) rename src/{ => main/java}/us/kbase/workspace/ListAllTypesParams.java (100%) rename src/{ => main/java}/us/kbase/workspace/ListModuleVersionsParams.java (100%) rename src/{ => main/java}/us/kbase/workspace/ListModulesParams.java (100%) rename src/{ => main/java}/us/kbase/workspace/ListObjectsParams.java (100%) rename src/{ => main/java}/us/kbase/workspace/ListWorkspaceIDsParams.java (100%) rename src/{ => main/java}/us/kbase/workspace/ListWorkspaceIDsResults.java (100%) rename src/{ => main/java}/us/kbase/workspace/ListWorkspaceInfoParams.java (100%) rename src/{ => main/java}/us/kbase/workspace/ListWorkspaceObjectsParams.java (100%) rename src/{ => main/java}/us/kbase/workspace/ListWorkspacesParams.java (100%) rename src/{ => main/java}/us/kbase/workspace/ModuleInfo.java (100%) rename src/{ => main/java}/us/kbase/workspace/ModuleVersions.java (100%) rename src/{ => main/java}/us/kbase/workspace/ObjectData.java (100%) rename src/{ => main/java}/us/kbase/workspace/ObjectIdentity.java (100%) rename src/{ => main/java}/us/kbase/workspace/ObjectInfo.java (100%) rename src/{ => main/java}/us/kbase/workspace/ObjectMetadataUpdate.java (100%) rename src/{ => main/java}/us/kbase/workspace/ObjectProvenanceInfo.java (100%) rename src/{ => main/java}/us/kbase/workspace/ObjectSaveData.java (100%) rename src/{ => main/java}/us/kbase/workspace/ObjectSpecification.java (100%) rename src/{ => main/java}/us/kbase/workspace/ProvenanceAction.java (100%) rename src/{ => main/java}/us/kbase/workspace/RegisterTypespecCopyParams.java (100%) rename src/{ => main/java}/us/kbase/workspace/RegisterTypespecParams.java (100%) rename src/{ => main/java}/us/kbase/workspace/RemoveModuleOwnershipParams.java (100%) rename src/{ => main/java}/us/kbase/workspace/RenameObjectParams.java (100%) rename src/{ => main/java}/us/kbase/workspace/RenameWorkspaceParams.java (100%) rename src/{ => main/java}/us/kbase/workspace/SaveObjectParams.java (100%) rename src/{ => main/java}/us/kbase/workspace/SaveObjectsParams.java (100%) rename src/{ => main/java}/us/kbase/workspace/SetGlobalPermissionsParams.java (100%) rename src/{ => main/java}/us/kbase/workspace/SetPermissionsParams.java (100%) rename src/{ => main/java}/us/kbase/workspace/SetWorkspaceDescriptionParams.java (100%) rename src/{ => main/java}/us/kbase/workspace/SubAction.java (100%) rename src/{ => main/java}/us/kbase/workspace/SubObjectIdentity.java (100%) rename src/{ => main/java}/us/kbase/workspace/TypeInfo.java (100%) rename src/{ => main/java}/us/kbase/workspace/WorkspaceClient.java (100%) rename src/{ => main/java}/us/kbase/workspace/WorkspaceIdentity.java (100%) rename src/{ => main/java}/us/kbase/workspace/WorkspacePermissions.java (100%) rename src/{ => main/java}/us/kbase/workspace/WorkspaceServer.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/AllUsers.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/ByteArrayFileCacheManager.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/CopyResult.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/DependencyStatus.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/DynamicConfig.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/ListObjectsParameters.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/MetadataUpdate.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/ModuleInfo.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/ObjectIDNoWSNoVer.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/ObjectIDResolvedWS.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/ObjectIdentifier.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/ObjectInfoWithModDate.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/ObjectInformation.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/ObjectReferenceSet.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/ObjectResolver.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/Permission.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/PermissionSet.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/PermissionsCheckerFactory.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/RefLimit.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/Reference.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/ResolvedObjectID.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/ResolvedObjectIDNoVer.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/ResolvedSaveObject.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/ResolvedWorkspaceID.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/ResourceUsageConfigurationBuilder.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/TypeAndReference.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/Types.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/UncheckedUserMetadata.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/User.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/UserWorkspaceIDs.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/Util.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/Workspace.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/WorkspaceDatabase.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/WorkspaceIdentifier.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/WorkspaceInformation.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/WorkspaceObjectData.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/WorkspaceSaveObject.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/WorkspaceUser.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/WorkspaceUserMetadata.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/exceptions/CorruptWorkspaceDBException.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/exceptions/DeletedObjectException.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/exceptions/ErrorOr.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/exceptions/ErrorType.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/exceptions/InaccessibleObjectException.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/exceptions/NoObjectDataException.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/exceptions/NoSuchObjectException.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/exceptions/NoSuchReferenceException.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/exceptions/NoSuchWorkspaceException.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/exceptions/PreExistingWorkspaceException.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/exceptions/WorkspaceCommunicationException.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/exceptions/WorkspaceDBException.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/exceptions/WorkspaceDBInitializationException.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/mongo/BlobStore.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/mongo/CollectionNames.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/mongo/Fields.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/mongo/GridFSBlobStore.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/mongo/IDName.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/mongo/MongoWorkspaceDB.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/mongo/ObjectIDResolvedWSNoVer.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/mongo/ObjectInfoUtils.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/mongo/ObjectLister.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/mongo/ObjectSavePackage.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/mongo/QueryMethods.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/mongo/S3BlobStore.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/mongo/S3ClientWithPresign.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/mongo/SchemaUpdater.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/mongo/exceptions/BlobStoreAuthorizationException.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/mongo/exceptions/BlobStoreCommunicationException.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/mongo/exceptions/BlobStoreException.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/mongo/exceptions/NoSuchBlobException.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/provenance/Common.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/provenance/ExternalData.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/provenance/Provenance.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/provenance/ProvenanceAction.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/provenance/SubAction.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/refsearch/ReferenceGraphSearch.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/refsearch/ReferenceGraphTopologyProvider.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/refsearch/ReferenceProviderException.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/refsearch/ReferenceSearchFailedException.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/refsearch/ReferenceSearchMaximumSizeExceededException.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/refsearch/ReferenceSearchTree.java (100%) rename src/{ => main/java}/us/kbase/workspace/database/refsearch/ReferenceTreeNode.java (100%) rename src/{ => main/java}/us/kbase/workspace/docserver/DocServer.java (100%) rename src/{ => main/java}/us/kbase/workspace/exceptions/WorkspaceAuthorizationException.java (100%) rename src/{ => main/java}/us/kbase/workspace/exceptions/WorkspaceException.java (100%) rename src/{ => main/java}/us/kbase/workspace/gitcommit/GitCommit.java (100%) rename src/{ => main/java}/us/kbase/workspace/kbase/ArgUtils.java (100%) rename src/{ => main/java}/us/kbase/workspace/kbase/BackendType.java (100%) rename src/{ => main/java}/us/kbase/workspace/kbase/BytestreamIdHandlerFactory.java (100%) rename src/{ => main/java}/us/kbase/workspace/kbase/DelegatingTypeProvider.java (100%) rename src/{ => main/java}/us/kbase/workspace/kbase/HandleIdHandlerFactory.java (100%) rename src/{ => main/java}/us/kbase/workspace/kbase/IdentifierUtils.java (100%) rename src/{ => main/java}/us/kbase/workspace/kbase/InitWorkspaceServer.java (100%) rename src/{ => main/java}/us/kbase/workspace/kbase/KBasePermissions.java (100%) rename src/{ => main/java}/us/kbase/workspace/kbase/KBaseWorkspaceConfig.java (100%) rename src/{ => main/java}/us/kbase/workspace/kbase/LocalTypeServerMethods.java (100%) rename src/{ => main/java}/us/kbase/workspace/kbase/SampleIdHandlerFactory.java (100%) rename src/{ => main/java}/us/kbase/workspace/kbase/SchemaUpdaterCLI.java (100%) rename src/{ => main/java}/us/kbase/workspace/kbase/TypeClient.java (100%) rename src/{ => main/java}/us/kbase/workspace/kbase/TypeDelegationException.java (100%) rename src/{ => main/java}/us/kbase/workspace/kbase/TypeServerMethods.java (100%) rename src/{ => main/java}/us/kbase/workspace/kbase/WorkspaceServerMethods.java (100%) rename src/{ => main/java}/us/kbase/workspace/kbase/admin/AdminCommand.java (100%) rename src/{ => main/java}/us/kbase/workspace/kbase/admin/AdminRole.java (100%) rename src/{ => main/java}/us/kbase/workspace/kbase/admin/AdministrationCommandSetInstaller.java (100%) rename src/{ => main/java}/us/kbase/workspace/kbase/admin/AdministratorHandler.java (100%) rename src/{ => main/java}/us/kbase/workspace/kbase/admin/AdministratorHandlerException.java (100%) rename src/{ => main/java}/us/kbase/workspace/kbase/admin/DefaultAdminHandler.java (100%) rename src/{ => main/java}/us/kbase/workspace/kbase/admin/KBaseAuth2AdminHandler.java (100%) rename src/{ => main/java}/us/kbase/workspace/kbase/admin/WorkspaceAdministration.java (100%) rename src/{ => main/java}/us/kbase/workspace/listener/ListenerInitializationException.java (100%) rename src/{ => main/java}/us/kbase/workspace/listener/WorkspaceEventListener.java (100%) rename src/{ => main/java}/us/kbase/workspace/listener/WorkspaceEventListenerFactory.java (100%) rename src/{ => main/java}/us/kbase/workspace/listener/package-info.java (100%) rename src/{ => main/java}/us/kbase/workspace/modules/KafkaNotifierFactory.java (100%) rename src/{ => main/java}/us/kbase/workspace/modules/package-info.java (100%) rename src/{ => main/java}/us/kbase/workspace/version/WorkspaceVersion.java (100%) rename src/{us/kbase/common/test => test/java/us/kbase/test/common}/MapBuilder.java (93%) rename src/{us/kbase/common/test => test/java/us/kbase/test/common}/TestCommon.java (99%) rename src/{us/kbase => test/java/us/kbase/test}/common/test/service/ServiceCheckerTest.java (98%) rename src/{us/kbase/typedobj/test => test/java/us/kbase/test/typedobj}/AbsoluteTypeDefIdTest.java (96%) rename src/{us/kbase/typedobj/test => test/java/us/kbase/test/typedobj}/BasicValidationTest.java (99%) rename src/{us/kbase/typedobj/test => test/java/us/kbase/test/typedobj}/DetailedValidationTest.java (99%) rename src/{us/kbase/typedobj/test => test/java/us/kbase/test/typedobj}/DummyIdHandlerFactory.java (99%) rename src/{us/kbase/typedobj/test => test/java/us/kbase/test/typedobj}/DummyValidatedTypedObject.java (98%) rename src/{us/kbase/typedobj/test => test/java/us/kbase/test/typedobj}/IdProcessingTest.java (99%) rename src/{us/kbase/typedobj/test => test/java/us/kbase/test/typedobj}/IdRefTokenSequenceProviderTest.java (99%) rename src/{us/kbase/typedobj/test => test/java/us/kbase/test/typedobj}/JsonSchemas.java (94%) rename src/{us/kbase/typedobj/test => test/java/us/kbase/test/typedobj}/JsonTokenValidatorTester.java (98%) rename src/{us/kbase/typedobj/test => test/java/us/kbase/test/typedobj}/LocalTypeProviderTest.java (96%) rename src/{us/kbase/typedobj/test => test/java/us/kbase/test/typedobj}/MetadataExtractionTest.java (99%) rename src/{us/kbase/typedobj/test => test/java/us/kbase/test/typedobj}/ObjectExtractionByPathTest.java (99%) rename src/{us/kbase/typedobj/test => test/java/us/kbase/test/typedobj}/ProfileBasicValidation.java (99%) rename src/{us/kbase/typedobj/test => test/java/us/kbase/test/typedobj}/TypeDefIdTest.java (93%) rename src/{us/kbase/typedobj/test => test/java/us/kbase/test/typedobj}/TypeDefsTest.java (99%) rename src/{us/kbase/typedobj/test => test/java/us/kbase/test/typedobj}/TypeProviderTest.java (95%) rename src/{us/kbase/typedobj/test => test/java/us/kbase/test/typedobj}/TypedObjectValidationReportTest.java (99%) rename src/{us/kbase/typedobj/db/test => test/java/us/kbase/test/typedobj/db}/HighLoadParallelTester.java (99%) rename src/{us/kbase/typedobj/db/test => test/java/us/kbase/test/typedobj/db}/MongoTypeStorageTest.java (99%) rename src/{us/kbase/typedobj/db/test => test/java/us/kbase/test/typedobj/db}/TestTypeStorage.java (91%) rename src/{us/kbase/typedobj/db/test => test/java/us/kbase/test/typedobj/db}/TestTypeStorageFactory.java (98%) rename src/{us/kbase/typedobj/db/test => test/java/us/kbase/test/typedobj/db}/TypeRegisteringTest.java (99%) rename src/{us/kbase/typedobj/db/test => test/java/us/kbase/test/typedobj/db}/TypeStorageListener.java (89%) rename src/{us/kbase/typedobj/test => test/java/us/kbase/test/typedobj}/idref/IdReferenceHandlerSetFactoryBuilderTest.java (98%) rename src/{us/kbase/typedobj/test => test/java/us/kbase/test/typedobj}/idref/IdReferencePermissionHandlerSetTest.java (98%) rename src/{us/kbase/typedobj/test => test/java/us/kbase/test/typedobj}/idref/IdReferenceTypeTest.java (96%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/JsonTokenStreamOCStat.java (97%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/LongTextForTestUsage.java (96%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/UpdateOptionsMatcher.java (96%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/WorkspaceMongoIndex.java (96%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/WorkspaceServerThread.java (92%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/WorkspaceTestCommon.java (97%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/controllers/arango/ArangoController.java (98%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/controllers/blobstore/BlobstoreController.java (98%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/controllers/handle/HandleServiceController.java (98%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/controllers/minio/MinioController.java (98%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/controllers/sample/SampleServiceController.java (98%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/controllers/workspace/WorkspaceController.java (98%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/database/DependencyStatusTest.java (97%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/database/UtilTest.java (98%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/database/mongo/GridFSBlobStoreTest.java (98%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/database/mongo/MongoInternalsTest.java (99%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/database/mongo/MongoStartUpTest.java (98%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/database/mongo/MongoWorkspaceDBTest.java (99%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/database/mongo/ObjectListerTest.java (99%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/database/mongo/PartialMock.java (97%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/database/mongo/S3BlobStoreIntegrationTest.java (98%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/database/mongo/S3BlobStoreTest.java (99%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/database/mongo/SchemaUpdaterTest.java (98%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/database/provenance/ExternalDataTest.java (98%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/database/provenance/ProvenanceActionTest.java (99%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/database/provenance/ProvenanceTest.java (97%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/database/provenance/SubActionTest.java (98%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/docserver/DocServerTest.java (97%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/docserver/HttpServletRequestMock.java (99%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/docserver/HttpServletResponseMock.java (98%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/kbase/ArgUtilsTest.java (99%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/kbase/BytestreamIdHandlerFactoryTest.java (99%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/kbase/DelegatingTypeProviderTest.java (99%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/kbase/HandleAndBytestreamIntegrationTest.java (98%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/kbase/HandleIdHandlerFactoryTest.java (98%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/kbase/IdentifierUtilsTest.java (99%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/kbase/JSONRPCLayerLongTest.java (99%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/kbase/JSONRPCLayerTest.java (99%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/kbase/JSONRPCLayerTester.java (99%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/kbase/KBaseWorkspaceConfigTest.java (99%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/kbase/LoggingTest.java (99%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/kbase/SampleIDHandlerFactoryTest.java (99%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/kbase/SampleServiceIntegrationTest.java (98%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/kbase/SchemaUpdaterCLITest.java (98%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/kbase/TypeClientTest.java (99%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/kbase/TypeDelegationTest.java (99%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/kbase/WorkspaceServerMethodsTest.java (98%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/kbase/admin/AdministrationCommandSetInstallerTest.java (99%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/kbase/admin/DefaultAdminHandlerTest.java (97%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/kbase/admin/KBaseAuth2AdminHandlerTest.java (99%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/kbase/admin/WorkspaceAdministrationTest.java (99%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/listener/BadListenerFactory.java (98%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/listener/NullListenerFactory.java (99%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/modules/KafkaNotifierFactoryTest.java (99%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/workspace/ByteArrayFileCacheManagerTest.java (99%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/workspace/DynamicConfigTest.java (98%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/workspace/ErrorOrTest.java (96%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/workspace/ListObjectParametersTest.java (99%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/workspace/MetadataUpdateTest.java (94%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/workspace/ObjectIDNoWSNoVerTest.java (98%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/workspace/ObjectIdentifierTest.java (98%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/workspace/ObjectInformationTest.java (99%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/workspace/ObjectResolverTest.java (99%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/workspace/PermissionSetTest.java (98%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/workspace/PermissionsCheckerFactoryTest.java (99%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/workspace/RefLimitTest.java (98%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/workspace/ReferenceGraphSearchTest.java (97%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/workspace/ReferenceSearchTreeTest.java (99%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/workspace/ReferenceTest.java (98%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/workspace/ReferenceTreeNodeTest.java (97%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/workspace/ResolvedObjectIdentifierTest.java (98%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/workspace/ResolvedWorkspaceIDTest.java (96%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/workspace/TestIDReferenceHandlerFactory.java (99%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/workspace/UncheckedUserMetadataTest.java (98%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/workspace/UserWorkspaceIDsTest.java (97%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/workspace/WorkspaceConstructorTest.java (98%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/workspace/WorkspaceInformationTest.java (99%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/workspace/WorkspaceIntegrationWithGridFSTest.java (97%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/workspace/WorkspaceListenerTest.java (99%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/workspace/WorkspaceLongTest.java (98%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/workspace/WorkspaceObjectDataTest.java (98%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/workspace/WorkspaceTest.java (99%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/workspace/WorkspaceTester.java (98%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/workspace/WorkspaceUnitTest.java (99%) rename src/{us/kbase/workspace/test => test/java/us/kbase/test/workspace}/workspace/WorkspaceUserMetadataTest.java (98%) rename src/{us/kbase/typedobj/db/test => test/resources/us/kbase/test/typedobj/db}/backward.Annotations.2.spec.properties (100%) rename src/{us/kbase/typedobj/db/test => test/resources/us/kbase/test/typedobj/db}/backward.Annotations.3.spec.properties (100%) rename src/{us/kbase/typedobj/db/test => test/resources/us/kbase/test/typedobj/db}/backward.Annotations.4.spec.properties (100%) rename src/{us/kbase/typedobj/db/test => test/resources/us/kbase/test/typedobj/db}/backward.Annotations.spec.properties (100%) rename src/{us/kbase/typedobj/db/test => test/resources/us/kbase/test/typedobj/db}/backward.Expression.2.spec.properties (100%) rename src/{us/kbase/typedobj/db/test => test/resources/us/kbase/test/typedobj/db}/backward.Expression.spec.properties (100%) rename src/{us/kbase/typedobj/db/test => test/resources/us/kbase/test/typedobj/db}/backward.Regulation.2.spec.properties (100%) rename src/{us/kbase/typedobj/db/test => test/resources/us/kbase/test/typedobj/db}/backward.Regulation.3.spec.properties (100%) rename src/{us/kbase/typedobj/db/test => test/resources/us/kbase/test/typedobj/db}/backward.Regulation.4.spec.properties (100%) rename src/{us/kbase/typedobj/db/test => test/resources/us/kbase/test/typedobj/db}/backward.Regulation.spec.properties (100%) rename src/{us/kbase/typedobj/db/test => test/resources/us/kbase/test/typedobj/db}/deps.DepModule.spec.properties (100%) rename src/{us/kbase/typedobj/db/test => test/resources/us/kbase/test/typedobj/db}/deps.SomeModule.spec.properties (100%) rename src/{us/kbase/typedobj/db/test => test/resources/us/kbase/test/typedobj/db}/descr.Descr.spec.properties (100%) rename src/{us/kbase/typedobj/db/test => test/resources/us/kbase/test/typedobj/db}/error.Common.spec.properties (100%) rename src/{us/kbase/typedobj/db/test => test/resources/us/kbase/test/typedobj/db}/error.DoubleModule.spec.properties (100%) rename src/{us/kbase/typedobj/db/test => test/resources/us/kbase/test/typedobj/db}/error.LongFuncName.spec.properties (100%) rename src/{us/kbase/typedobj/db/test => test/resources/us/kbase/test/typedobj/db}/error.LongTypeName.spec.properties (100%) rename src/{us/kbase/typedobj/db/test => test/resources/us/kbase/test/typedobj/db}/error.StructDuplication.spec.properties (100%) rename src/{us/kbase/typedobj/db/test => test/resources/us/kbase/test/typedobj/db}/error.Test.spec.properties (100%) rename src/{us/kbase/typedobj/db/test => test/resources/us/kbase/test/typedobj/db}/md5.Common.2.spec.properties (100%) rename src/{us/kbase/typedobj/db/test => test/resources/us/kbase/test/typedobj/db}/md5.Common.3.spec.properties (100%) rename src/{us/kbase/typedobj/db/test => test/resources/us/kbase/test/typedobj/db}/md5.Common.spec.properties (100%) rename src/{us/kbase/typedobj/db/test => test/resources/us/kbase/test/typedobj/db}/md5.Upper.spec.properties (100%) rename src/{us/kbase/typedobj/db/test => test/resources/us/kbase/test/typedobj/db}/restrict.Common.2.spec.properties (100%) rename src/{us/kbase/typedobj/db/test => test/resources/us/kbase/test/typedobj/db}/restrict.Common.spec.properties (100%) rename src/{us/kbase/typedobj/db/test => test/resources/us/kbase/test/typedobj/db}/restrict.Middle.spec.properties (100%) rename src/{us/kbase/typedobj/db/test => test/resources/us/kbase/test/typedobj/db}/restrict.Upper.spec.properties (100%) rename src/{us/kbase/typedobj/db/test => test/resources/us/kbase/test/typedobj/db}/rollback.First.spec.properties (100%) rename src/{us/kbase/typedobj/db/test => test/resources/us/kbase/test/typedobj/db}/simple.Annotation.spec.properties (100%) rename src/{us/kbase/typedobj/db/test => test/resources/us/kbase/test/typedobj/db}/simple.Regulation.2.spec.properties (100%) rename src/{us/kbase/typedobj/db/test => test/resources/us/kbase/test/typedobj/db}/simple.Regulation.spec.properties (100%) rename src/{us/kbase/typedobj/db/test => test/resources/us/kbase/test/typedobj/db}/simple.Sequence.spec.properties (100%) rename src/{us/kbase/typedobj/db/test => test/resources/us/kbase/test/typedobj/db}/simple.Taxonomy.spec.properties (100%) rename src/{us/kbase/typedobj/db/test => test/resources/us/kbase/test/typedobj/db}/stop.Dependant.spec.properties (100%) rename src/{us/kbase/typedobj/db/test => test/resources/us/kbase/test/typedobj/db}/stop.Regulation.2.spec.properties (100%) rename src/{us/kbase/typedobj/db/test => test/resources/us/kbase/test/typedobj/db}/stop.Regulation.spec.properties (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/FBA.FBAModel.invalid.instance.1 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/FBA.FBAModel.valid.instance.1 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/FBA.FBAModel.valid.instance.2 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/FBA.FBAResult.valid.instance.1 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/FBA.spec (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/KB.BigNumberObj.invalid.instance.1 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/KB.BigNumberObj.invalid.instance.2 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/KB.BigNumberObj.invalid.instance.3 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/KB.BigNumberObj.invalid.instance.4 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/KB.BigNumberObj.valid.instance.1 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/KB.BigNumberObj.valid.instance.2 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/KB.Genome.invalid.instance.1 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/KB.Genome.invalid.instance.2 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/KB.Genome.invalid.instance.3 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/KB.Genome.invalid.instance.4 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/KB.Genome.valid.instance.1 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/KB.Genome.valid.instance.2 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/KB.Genome.valid.instance.3 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/KB.NumberObj.invalid.instance.1 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/KB.NumberObj.invalid.instance.10 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/KB.NumberObj.invalid.instance.11 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/KB.NumberObj.invalid.instance.12 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/KB.NumberObj.invalid.instance.13 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/KB.NumberObj.invalid.instance.14 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/KB.NumberObj.invalid.instance.15 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/KB.NumberObj.invalid.instance.16 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/KB.NumberObj.invalid.instance.17 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/KB.NumberObj.invalid.instance.2 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/KB.NumberObj.invalid.instance.3 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/KB.NumberObj.invalid.instance.4 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/KB.NumberObj.invalid.instance.5 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/KB.NumberObj.invalid.instance.6 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/KB.NumberObj.invalid.instance.7 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/KB.NumberObj.invalid.instance.8 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/KB.NumberObj.invalid.instance.9 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/KB.NumberObj.valid.instance.1 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/KB.NumberObj.valid.instance.2 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/KB.NumberObj.valid.instance.3 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/KB.NumberObj.valid.instance.4 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/KB.NumberObj.valid.instance.5 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/KB.RandomObject.invalid.instance.1 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/KB.RandomObject.valid.instance.1 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/KB.RandomObject.valid.instance.2 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/KB.TupleObject.invalid.instance.1 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/KB.TupleObject.invalid.instance.2 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/KB.TupleObject.valid.instance.1 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/BasicValidation/KB.spec (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/KB.spec (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.001 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.002 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.003 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.004 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.005 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.006 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.007 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.008 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.009 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.010 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.011 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.012 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.013 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.014 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.015 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.016 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.017 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.018 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.019 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.020 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.021 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.022 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.023 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.024 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.025 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.026 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.027 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.028 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.029 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.030 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.031 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.032 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.033 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.034 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.035 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.036 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.037 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.038 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.039 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.040 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.041 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.042 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.043 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.044 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.045 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.046 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.047 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.048 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.049 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.050 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.051 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.052 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.053 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.054 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.055 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.056 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.057 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.058 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.059 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.060 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/DetailedValidation/instance.061 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/IdProcessing/FBA.spec (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/IdProcessing/KB.AltIDs.instance.1 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/IdProcessing/KB.AltIDs.instance.1.ids (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/IdProcessing/KB.DeepFeatureMap.instance.1 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/IdProcessing/KB.DeepFeatureMap.instance.1.ids (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/IdProcessing/KB.FeatureMap.instance.1 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/IdProcessing/KB.FeatureMap.instance.1.ids (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/IdProcessing/KB.FeatureMap.instance.2 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/IdProcessing/KB.FeatureMap.instance.2.ids (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/IdProcessing/KB.Genome.instance.1 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/IdProcessing/KB.Genome.instance.1.ids (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/IdProcessing/KB.Genome.instance.2 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/IdProcessing/KB.Genome.instance.2.ids (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/IdProcessing/KB.NestedFeaturesKey.instance.1 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/IdProcessing/KB.NestedFeaturesKey.instance.1.ids (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/IdProcessing/KB.NestedFeaturesList.instance.1 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/IdProcessing/KB.NestedFeaturesList.instance.1.ids (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/IdProcessing/KB.NestedFeaturesValue.instance.1 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/IdProcessing/KB.NestedFeaturesValue.instance.1.ids (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/IdProcessing/KB.WeirdTuple.instance.1 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/IdProcessing/KB.WeirdTuple.instance.1.ids (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/IdProcessing/KB.spec (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/MetadataExtraction/KB.FloatStructure.instance.1 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/MetadataExtraction/KB.MappingStruct.instance.1 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/MetadataExtraction/KB.MetaDataT1.instance.1 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/MetadataExtraction/KB.MetaDataT2.instance.1 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/MetadataExtraction/KB.MetaDataT3.instance.1 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/MetadataExtraction/KB.MetaDataT4.instance.1 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/MetadataExtraction/KB.MetaDataT5.instance.1 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/MetadataExtraction/KB.MetaDataT6.instance.1 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/MetadataExtraction/KB.MetaDataT7.instance.1 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/MetadataExtraction/KB.MetaDataT8.instance.1 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/MetadataExtraction/KB.MetaDataT9.instance.1 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/MetadataExtraction/KB.NoExtractionData.instance.1 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/MetadataExtraction/KB.SimpleStructure.instance.1 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/MetadataExtraction/KB.SimpleStructure.instance.2 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/MetadataExtraction/KB.SimpleStructure.instance.3 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/MetadataExtraction/KB.SimpleStructure.instance.4 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/MetadataExtraction/KB.SimpleStructure.instance.5 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/MetadataExtraction/KB.SimpleStructure.instance.6 (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/MetadataExtraction/KB.spec (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/SubdataExtraction/01.ExtractField.instance (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/SubdataExtraction/02.ExtractNestedField.instance (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/SubdataExtraction/03.ExtractFieldFail.instance (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/SubdataExtraction/04.ExtractFromArray.instance (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/SubdataExtraction/05.ExtractAllFromMap.instance (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/SubdataExtraction/06.ExtractAllFromList.instance (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/SubdataExtraction/07.ExtractArrayPosFail.instance (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/SubdataExtraction/08.ExtractArrayPosFail2.instance (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/SubdataExtraction/09.ExtractNestedField2.instance (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/SubdataExtraction/10.ExtractArrayElements.instance (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/SubdataExtraction/11.ExtractBooleansAndNull.instance (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/SubdataExtraction/12.ExtractNumbers.instance (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/SubdataExtraction/13.ExtractWithOptionalFieldsMissing.instance (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/SubdataExtraction/14.ExtractBadPathFail.instance (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/SubdataExtraction/15.ExtractPathEscaped.instance (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/SubdataExtraction/16.ExtractPathEscapedBad.instance (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/SubdataExtraction/17.ExtractPathEscapedBad2.instance (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/t4/FBA.spec (100%) rename src/{us/kbase/typedobj/test => test/resources/us/kbase/test/typedobj}/files/t4/KB.spec (100%) rename src/{us/kbase/workspace/test => test/resources/us/kbase/test/workspace}/docserver/docserverTestFile.html (100%) rename src/{us/kbase/workspace/test => test/resources/us/kbase/test/workspace}/docserver/fake.css (100%) rename src/{us/kbase/workspace/test => test/resources/us/kbase/test/workspace}/docserver/fake.gif (100%) rename src/{us/kbase/workspace/test => test/resources/us/kbase/test/workspace}/docserver/fake.js (100%) rename src/{us/kbase/workspace/test => test/resources/us/kbase/test/workspace}/docserver/fake.png (100%) rename src/{us/kbase/workspace/test => test/resources/us/kbase/test/workspace}/docserver/fake.spec (100%) rename src/{us/kbase/workspace/test => test/resources/us/kbase/test/workspace}/docserver/fake.txt (100%) rename src/{us/kbase/workspace/test => test/resources/us/kbase/test/workspace}/docserver/fake.weirdsuffix (100%) rename src/{us/kbase/workspace/test => test/resources/us/kbase/test/workspace}/docserver/files/docserverTestFile2.html (100%) rename src/{us/kbase/workspace/test => test/resources/us/kbase/test/workspace}/docserver/files/index.html (100%) rename src/{us/kbase/workspace/test => test/resources/us/kbase/test/workspace}/docserver/index.html (100%) rename src/{us/kbase/workspace/test => test/resources/us/kbase/test/workspace}/workspace/long_test_get_object_subset.json.gz.properties (100%) diff --git a/.classpath b/.classpath deleted file mode 100644 index 115baaf1..00000000 --- a/.classpath +++ /dev/null @@ -1,111 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/build.gradle b/build.gradle index b610686f..784872c3 100644 --- a/build.gradle +++ b/build.gradle @@ -30,7 +30,6 @@ var IN_JAR_JAVA_DOC_DIR = "$IN_JAR_DOC_DIR/javadoc" var LOC_WS_SPEC = "$rootDir/workspace.spec" var LOC_DOC_HTML = "$rootDir/docshtml" -// TODO NOW run tests from Eclipse w/o specifying classpath manually & remove sourceSets & claspath - commit 9 // TODO NOW update any ant refs in docs to gradle & the update schema script build & location repositories { @@ -238,10 +237,10 @@ task sdkCompileLibs { } task sdkCompileJava { - // TODO GRADLE is there a variable for src/main/java when we move the code locations? + // TODO GRADLE is there a variable for src/main/java? var cmd = "kb-sdk compile " + "--java " + - "--javasrc $rootDir/src " + + "--javasrc $rootDir/src/main/java/ " + "--javasrv " + "--out . " + "--url $DEFAULT_URL " + @@ -281,36 +280,6 @@ java -cp $buildDir/classes/java/main:\$CLASSPATH us.kbase.workspace.kbase.Schema } } -// Custom java project layout -sourceSets { - main { - java { - srcDirs = ["src"] - exclude '**/test/**' - } - } - test { - java { - srcDirs = ["src"] - include '**/test/**' - } - resources { - srcDirs = ["src"] - include "**/*.properties" - include '**/*.spec' - include '**/*instance.*' - include '**/*.instance*' - include '**/*.html' - include '**/*.css' - include '**/*.gif' - include '**/*.js' - include '**/*.png' - include '**/*.txt' - include '**/*.weirdsuffix' - } - } -} - configurations { // can't directly access testImplementation, so extend and access testimpl.extendsFrom testImplementation diff --git a/src/us/kbase/common/service/ServiceChecker.java b/src/main/java/us/kbase/common/service/ServiceChecker.java similarity index 100% rename from src/us/kbase/common/service/ServiceChecker.java rename to src/main/java/us/kbase/common/service/ServiceChecker.java diff --git a/src/us/kbase/common/service/Tuple11.java b/src/main/java/us/kbase/common/service/Tuple11.java similarity index 100% rename from src/us/kbase/common/service/Tuple11.java rename to src/main/java/us/kbase/common/service/Tuple11.java diff --git a/src/us/kbase/common/service/Tuple12.java b/src/main/java/us/kbase/common/service/Tuple12.java similarity index 100% rename from src/us/kbase/common/service/Tuple12.java rename to src/main/java/us/kbase/common/service/Tuple12.java diff --git a/src/us/kbase/common/service/Tuple7.java b/src/main/java/us/kbase/common/service/Tuple7.java similarity index 100% rename from src/us/kbase/common/service/Tuple7.java rename to src/main/java/us/kbase/common/service/Tuple7.java diff --git a/src/us/kbase/common/service/Tuple9.java b/src/main/java/us/kbase/common/service/Tuple9.java similarity index 100% rename from src/us/kbase/common/service/Tuple9.java rename to src/main/java/us/kbase/common/service/Tuple9.java diff --git a/src/us/kbase/common/utils/Counter.java b/src/main/java/us/kbase/common/utils/Counter.java similarity index 100% rename from src/us/kbase/common/utils/Counter.java rename to src/main/java/us/kbase/common/utils/Counter.java diff --git a/src/us/kbase/common/utils/SizeUtils.java b/src/main/java/us/kbase/common/utils/SizeUtils.java similarity index 100% rename from src/us/kbase/common/utils/SizeUtils.java rename to src/main/java/us/kbase/common/utils/SizeUtils.java diff --git a/src/us/kbase/typedobj/core/AbsoluteTypeDefId.java b/src/main/java/us/kbase/typedobj/core/AbsoluteTypeDefId.java similarity index 100% rename from src/us/kbase/typedobj/core/AbsoluteTypeDefId.java rename to src/main/java/us/kbase/typedobj/core/AbsoluteTypeDefId.java diff --git a/src/us/kbase/typedobj/core/ExtractedMetadata.java b/src/main/java/us/kbase/typedobj/core/ExtractedMetadata.java similarity index 100% rename from src/us/kbase/typedobj/core/ExtractedMetadata.java rename to src/main/java/us/kbase/typedobj/core/ExtractedMetadata.java diff --git a/src/us/kbase/typedobj/core/IdRefTokenSequenceProvider.java b/src/main/java/us/kbase/typedobj/core/IdRefTokenSequenceProvider.java similarity index 100% rename from src/us/kbase/typedobj/core/IdRefTokenSequenceProvider.java rename to src/main/java/us/kbase/typedobj/core/IdRefTokenSequenceProvider.java diff --git a/src/us/kbase/typedobj/core/JsonDocumentLocation.java b/src/main/java/us/kbase/typedobj/core/JsonDocumentLocation.java similarity index 100% rename from src/us/kbase/typedobj/core/JsonDocumentLocation.java rename to src/main/java/us/kbase/typedobj/core/JsonDocumentLocation.java diff --git a/src/us/kbase/typedobj/core/JsonPointerParseException.java b/src/main/java/us/kbase/typedobj/core/JsonPointerParseException.java similarity index 100% rename from src/us/kbase/typedobj/core/JsonPointerParseException.java rename to src/main/java/us/kbase/typedobj/core/JsonPointerParseException.java diff --git a/src/us/kbase/typedobj/core/JsonTokenStreamWriter.java b/src/main/java/us/kbase/typedobj/core/JsonTokenStreamWriter.java similarity index 100% rename from src/us/kbase/typedobj/core/JsonTokenStreamWriter.java rename to src/main/java/us/kbase/typedobj/core/JsonTokenStreamWriter.java diff --git a/src/us/kbase/typedobj/core/JsonTokenValidationException.java b/src/main/java/us/kbase/typedobj/core/JsonTokenValidationException.java similarity index 100% rename from src/us/kbase/typedobj/core/JsonTokenValidationException.java rename to src/main/java/us/kbase/typedobj/core/JsonTokenValidationException.java diff --git a/src/us/kbase/typedobj/core/JsonTokenValidationListener.java b/src/main/java/us/kbase/typedobj/core/JsonTokenValidationListener.java similarity index 100% rename from src/us/kbase/typedobj/core/JsonTokenValidationListener.java rename to src/main/java/us/kbase/typedobj/core/JsonTokenValidationListener.java diff --git a/src/us/kbase/typedobj/core/JsonTokenValidationSchema.java b/src/main/java/us/kbase/typedobj/core/JsonTokenValidationSchema.java similarity index 100% rename from src/us/kbase/typedobj/core/JsonTokenValidationSchema.java rename to src/main/java/us/kbase/typedobj/core/JsonTokenValidationSchema.java diff --git a/src/us/kbase/typedobj/core/LocalTypeProvider.java b/src/main/java/us/kbase/typedobj/core/LocalTypeProvider.java similarity index 100% rename from src/us/kbase/typedobj/core/LocalTypeProvider.java rename to src/main/java/us/kbase/typedobj/core/LocalTypeProvider.java diff --git a/src/us/kbase/typedobj/core/MD5.java b/src/main/java/us/kbase/typedobj/core/MD5.java similarity index 100% rename from src/us/kbase/typedobj/core/MD5.java rename to src/main/java/us/kbase/typedobj/core/MD5.java diff --git a/src/us/kbase/typedobj/core/MetadataExtractionHandler.java b/src/main/java/us/kbase/typedobj/core/MetadataExtractionHandler.java similarity index 100% rename from src/us/kbase/typedobj/core/MetadataExtractionHandler.java rename to src/main/java/us/kbase/typedobj/core/MetadataExtractionHandler.java diff --git a/src/us/kbase/typedobj/core/MetadataExtractor.java b/src/main/java/us/kbase/typedobj/core/MetadataExtractor.java similarity index 100% rename from src/us/kbase/typedobj/core/MetadataExtractor.java rename to src/main/java/us/kbase/typedobj/core/MetadataExtractor.java diff --git a/src/us/kbase/typedobj/core/MetadataNode.java b/src/main/java/us/kbase/typedobj/core/MetadataNode.java similarity index 100% rename from src/us/kbase/typedobj/core/MetadataNode.java rename to src/main/java/us/kbase/typedobj/core/MetadataNode.java diff --git a/src/us/kbase/typedobj/core/NullJsonGenerator.java b/src/main/java/us/kbase/typedobj/core/NullJsonGenerator.java similarity index 100% rename from src/us/kbase/typedobj/core/NullJsonGenerator.java rename to src/main/java/us/kbase/typedobj/core/NullJsonGenerator.java diff --git a/src/us/kbase/typedobj/core/Restreamable.java b/src/main/java/us/kbase/typedobj/core/Restreamable.java similarity index 100% rename from src/us/kbase/typedobj/core/Restreamable.java rename to src/main/java/us/kbase/typedobj/core/Restreamable.java diff --git a/src/us/kbase/typedobj/core/SubdataExtractionNode.java b/src/main/java/us/kbase/typedobj/core/SubdataExtractionNode.java similarity index 100% rename from src/us/kbase/typedobj/core/SubdataExtractionNode.java rename to src/main/java/us/kbase/typedobj/core/SubdataExtractionNode.java diff --git a/src/us/kbase/typedobj/core/SubdataExtractor.java b/src/main/java/us/kbase/typedobj/core/SubdataExtractor.java similarity index 100% rename from src/us/kbase/typedobj/core/SubdataExtractor.java rename to src/main/java/us/kbase/typedobj/core/SubdataExtractor.java diff --git a/src/us/kbase/typedobj/core/SubsetSelection.java b/src/main/java/us/kbase/typedobj/core/SubsetSelection.java similarity index 100% rename from src/us/kbase/typedobj/core/SubsetSelection.java rename to src/main/java/us/kbase/typedobj/core/SubsetSelection.java diff --git a/src/us/kbase/typedobj/core/TempFileListener.java b/src/main/java/us/kbase/typedobj/core/TempFileListener.java similarity index 100% rename from src/us/kbase/typedobj/core/TempFileListener.java rename to src/main/java/us/kbase/typedobj/core/TempFileListener.java diff --git a/src/us/kbase/typedobj/core/TempFilesManager.java b/src/main/java/us/kbase/typedobj/core/TempFilesManager.java similarity index 100% rename from src/us/kbase/typedobj/core/TempFilesManager.java rename to src/main/java/us/kbase/typedobj/core/TempFilesManager.java diff --git a/src/us/kbase/typedobj/core/TokenSequenceProvider.java b/src/main/java/us/kbase/typedobj/core/TokenSequenceProvider.java similarity index 100% rename from src/us/kbase/typedobj/core/TokenSequenceProvider.java rename to src/main/java/us/kbase/typedobj/core/TokenSequenceProvider.java diff --git a/src/us/kbase/typedobj/core/TypeDefId.java b/src/main/java/us/kbase/typedobj/core/TypeDefId.java similarity index 100% rename from src/us/kbase/typedobj/core/TypeDefId.java rename to src/main/java/us/kbase/typedobj/core/TypeDefId.java diff --git a/src/us/kbase/typedobj/core/TypeDefName.java b/src/main/java/us/kbase/typedobj/core/TypeDefName.java similarity index 100% rename from src/us/kbase/typedobj/core/TypeDefName.java rename to src/main/java/us/kbase/typedobj/core/TypeDefName.java diff --git a/src/us/kbase/typedobj/core/TypeProvider.java b/src/main/java/us/kbase/typedobj/core/TypeProvider.java similarity index 100% rename from src/us/kbase/typedobj/core/TypeProvider.java rename to src/main/java/us/kbase/typedobj/core/TypeProvider.java diff --git a/src/us/kbase/typedobj/core/TypedObjectValidator.java b/src/main/java/us/kbase/typedobj/core/TypedObjectValidator.java similarity index 100% rename from src/us/kbase/typedobj/core/TypedObjectValidator.java rename to src/main/java/us/kbase/typedobj/core/TypedObjectValidator.java diff --git a/src/us/kbase/typedobj/core/ValidatedTypedObject.java b/src/main/java/us/kbase/typedobj/core/ValidatedTypedObject.java similarity index 100% rename from src/us/kbase/typedobj/core/ValidatedTypedObject.java rename to src/main/java/us/kbase/typedobj/core/ValidatedTypedObject.java diff --git a/src/us/kbase/typedobj/db/FileTypeStorage.java b/src/main/java/us/kbase/typedobj/db/FileTypeStorage.java similarity index 100% rename from src/us/kbase/typedobj/db/FileTypeStorage.java rename to src/main/java/us/kbase/typedobj/db/FileTypeStorage.java diff --git a/src/us/kbase/typedobj/db/FuncDetailedInfo.java b/src/main/java/us/kbase/typedobj/db/FuncDetailedInfo.java similarity index 100% rename from src/us/kbase/typedobj/db/FuncDetailedInfo.java rename to src/main/java/us/kbase/typedobj/db/FuncDetailedInfo.java diff --git a/src/us/kbase/typedobj/db/FuncInfo.java b/src/main/java/us/kbase/typedobj/db/FuncInfo.java similarity index 100% rename from src/us/kbase/typedobj/db/FuncInfo.java rename to src/main/java/us/kbase/typedobj/db/FuncInfo.java diff --git a/src/us/kbase/typedobj/db/KidlUtil.java b/src/main/java/us/kbase/typedobj/db/KidlUtil.java similarity index 100% rename from src/us/kbase/typedobj/db/KidlUtil.java rename to src/main/java/us/kbase/typedobj/db/KidlUtil.java diff --git a/src/us/kbase/typedobj/db/ModuleDefId.java b/src/main/java/us/kbase/typedobj/db/ModuleDefId.java similarity index 100% rename from src/us/kbase/typedobj/db/ModuleDefId.java rename to src/main/java/us/kbase/typedobj/db/ModuleDefId.java diff --git a/src/us/kbase/typedobj/db/ModuleInfo.java b/src/main/java/us/kbase/typedobj/db/ModuleInfo.java similarity index 100% rename from src/us/kbase/typedobj/db/ModuleInfo.java rename to src/main/java/us/kbase/typedobj/db/ModuleInfo.java diff --git a/src/us/kbase/typedobj/db/MongoTypeStorage.java b/src/main/java/us/kbase/typedobj/db/MongoTypeStorage.java similarity index 100% rename from src/us/kbase/typedobj/db/MongoTypeStorage.java rename to src/main/java/us/kbase/typedobj/db/MongoTypeStorage.java diff --git a/src/us/kbase/typedobj/db/OwnerInfo.java b/src/main/java/us/kbase/typedobj/db/OwnerInfo.java similarity index 100% rename from src/us/kbase/typedobj/db/OwnerInfo.java rename to src/main/java/us/kbase/typedobj/db/OwnerInfo.java diff --git a/src/us/kbase/typedobj/db/RefInfo.java b/src/main/java/us/kbase/typedobj/db/RefInfo.java similarity index 100% rename from src/us/kbase/typedobj/db/RefInfo.java rename to src/main/java/us/kbase/typedobj/db/RefInfo.java diff --git a/src/us/kbase/typedobj/db/SemanticVersion.java b/src/main/java/us/kbase/typedobj/db/SemanticVersion.java similarity index 100% rename from src/us/kbase/typedobj/db/SemanticVersion.java rename to src/main/java/us/kbase/typedobj/db/SemanticVersion.java diff --git a/src/us/kbase/typedobj/db/TypeChange.java b/src/main/java/us/kbase/typedobj/db/TypeChange.java similarity index 100% rename from src/us/kbase/typedobj/db/TypeChange.java rename to src/main/java/us/kbase/typedobj/db/TypeChange.java diff --git a/src/us/kbase/typedobj/db/TypeDefinitionDB.java b/src/main/java/us/kbase/typedobj/db/TypeDefinitionDB.java similarity index 100% rename from src/us/kbase/typedobj/db/TypeDefinitionDB.java rename to src/main/java/us/kbase/typedobj/db/TypeDefinitionDB.java diff --git a/src/us/kbase/typedobj/db/TypeDetailedInfo.java b/src/main/java/us/kbase/typedobj/db/TypeDetailedInfo.java similarity index 100% rename from src/us/kbase/typedobj/db/TypeDetailedInfo.java rename to src/main/java/us/kbase/typedobj/db/TypeDetailedInfo.java diff --git a/src/us/kbase/typedobj/db/TypeInfo.java b/src/main/java/us/kbase/typedobj/db/TypeInfo.java similarity index 100% rename from src/us/kbase/typedobj/db/TypeInfo.java rename to src/main/java/us/kbase/typedobj/db/TypeInfo.java diff --git a/src/us/kbase/typedobj/db/TypeStorage.java b/src/main/java/us/kbase/typedobj/db/TypeStorage.java similarity index 100% rename from src/us/kbase/typedobj/db/TypeStorage.java rename to src/main/java/us/kbase/typedobj/db/TypeStorage.java diff --git a/src/us/kbase/typedobj/exceptions/ExceededMaxMetadataSizeException.java b/src/main/java/us/kbase/typedobj/exceptions/ExceededMaxMetadataSizeException.java similarity index 100% rename from src/us/kbase/typedobj/exceptions/ExceededMaxMetadataSizeException.java rename to src/main/java/us/kbase/typedobj/exceptions/ExceededMaxMetadataSizeException.java diff --git a/src/us/kbase/typedobj/exceptions/ExceededMaxSubsetSizeException.java b/src/main/java/us/kbase/typedobj/exceptions/ExceededMaxSubsetSizeException.java similarity index 100% rename from src/us/kbase/typedobj/exceptions/ExceededMaxSubsetSizeException.java rename to src/main/java/us/kbase/typedobj/exceptions/ExceededMaxSubsetSizeException.java diff --git a/src/us/kbase/typedobj/exceptions/NoSuchFuncException.java b/src/main/java/us/kbase/typedobj/exceptions/NoSuchFuncException.java similarity index 100% rename from src/us/kbase/typedobj/exceptions/NoSuchFuncException.java rename to src/main/java/us/kbase/typedobj/exceptions/NoSuchFuncException.java diff --git a/src/us/kbase/typedobj/exceptions/NoSuchModuleException.java b/src/main/java/us/kbase/typedobj/exceptions/NoSuchModuleException.java similarity index 100% rename from src/us/kbase/typedobj/exceptions/NoSuchModuleException.java rename to src/main/java/us/kbase/typedobj/exceptions/NoSuchModuleException.java diff --git a/src/us/kbase/typedobj/exceptions/NoSuchPrivilegeException.java b/src/main/java/us/kbase/typedobj/exceptions/NoSuchPrivilegeException.java similarity index 100% rename from src/us/kbase/typedobj/exceptions/NoSuchPrivilegeException.java rename to src/main/java/us/kbase/typedobj/exceptions/NoSuchPrivilegeException.java diff --git a/src/us/kbase/typedobj/exceptions/NoSuchTypeException.java b/src/main/java/us/kbase/typedobj/exceptions/NoSuchTypeException.java similarity index 100% rename from src/us/kbase/typedobj/exceptions/NoSuchTypeException.java rename to src/main/java/us/kbase/typedobj/exceptions/NoSuchTypeException.java diff --git a/src/us/kbase/typedobj/exceptions/SpecParseException.java b/src/main/java/us/kbase/typedobj/exceptions/SpecParseException.java similarity index 100% rename from src/us/kbase/typedobj/exceptions/SpecParseException.java rename to src/main/java/us/kbase/typedobj/exceptions/SpecParseException.java diff --git a/src/us/kbase/typedobj/exceptions/TypeStorageException.java b/src/main/java/us/kbase/typedobj/exceptions/TypeStorageException.java similarity index 100% rename from src/us/kbase/typedobj/exceptions/TypeStorageException.java rename to src/main/java/us/kbase/typedobj/exceptions/TypeStorageException.java diff --git a/src/us/kbase/typedobj/exceptions/TypedObjectException.java b/src/main/java/us/kbase/typedobj/exceptions/TypedObjectException.java similarity index 100% rename from src/us/kbase/typedobj/exceptions/TypedObjectException.java rename to src/main/java/us/kbase/typedobj/exceptions/TypedObjectException.java diff --git a/src/us/kbase/typedobj/exceptions/TypedObjectExtractionException.java b/src/main/java/us/kbase/typedobj/exceptions/TypedObjectExtractionException.java similarity index 100% rename from src/us/kbase/typedobj/exceptions/TypedObjectExtractionException.java rename to src/main/java/us/kbase/typedobj/exceptions/TypedObjectExtractionException.java diff --git a/src/us/kbase/typedobj/exceptions/TypedObjectSchemaException.java b/src/main/java/us/kbase/typedobj/exceptions/TypedObjectSchemaException.java similarity index 100% rename from src/us/kbase/typedobj/exceptions/TypedObjectSchemaException.java rename to src/main/java/us/kbase/typedobj/exceptions/TypedObjectSchemaException.java diff --git a/src/us/kbase/typedobj/exceptions/TypedObjectValidationException.java b/src/main/java/us/kbase/typedobj/exceptions/TypedObjectValidationException.java similarity index 100% rename from src/us/kbase/typedobj/exceptions/TypedObjectValidationException.java rename to src/main/java/us/kbase/typedobj/exceptions/TypedObjectValidationException.java diff --git a/src/us/kbase/typedobj/idref/DefaultRemappedId.java b/src/main/java/us/kbase/typedobj/idref/DefaultRemappedId.java similarity index 100% rename from src/us/kbase/typedobj/idref/DefaultRemappedId.java rename to src/main/java/us/kbase/typedobj/idref/DefaultRemappedId.java diff --git a/src/us/kbase/typedobj/idref/IdReference.java b/src/main/java/us/kbase/typedobj/idref/IdReference.java similarity index 100% rename from src/us/kbase/typedobj/idref/IdReference.java rename to src/main/java/us/kbase/typedobj/idref/IdReference.java diff --git a/src/us/kbase/typedobj/idref/IdReferenceHandlerSet.java b/src/main/java/us/kbase/typedobj/idref/IdReferenceHandlerSet.java similarity index 100% rename from src/us/kbase/typedobj/idref/IdReferenceHandlerSet.java rename to src/main/java/us/kbase/typedobj/idref/IdReferenceHandlerSet.java diff --git a/src/us/kbase/typedobj/idref/IdReferenceHandlerSetFactory.java b/src/main/java/us/kbase/typedobj/idref/IdReferenceHandlerSetFactory.java similarity index 100% rename from src/us/kbase/typedobj/idref/IdReferenceHandlerSetFactory.java rename to src/main/java/us/kbase/typedobj/idref/IdReferenceHandlerSetFactory.java diff --git a/src/us/kbase/typedobj/idref/IdReferenceHandlerSetFactoryBuilder.java b/src/main/java/us/kbase/typedobj/idref/IdReferenceHandlerSetFactoryBuilder.java similarity index 100% rename from src/us/kbase/typedobj/idref/IdReferenceHandlerSetFactoryBuilder.java rename to src/main/java/us/kbase/typedobj/idref/IdReferenceHandlerSetFactoryBuilder.java diff --git a/src/us/kbase/typedobj/idref/IdReferencePermissionHandlerSet.java b/src/main/java/us/kbase/typedobj/idref/IdReferencePermissionHandlerSet.java similarity index 100% rename from src/us/kbase/typedobj/idref/IdReferencePermissionHandlerSet.java rename to src/main/java/us/kbase/typedobj/idref/IdReferencePermissionHandlerSet.java diff --git a/src/us/kbase/typedobj/idref/IdReferenceType.java b/src/main/java/us/kbase/typedobj/idref/IdReferenceType.java similarity index 100% rename from src/us/kbase/typedobj/idref/IdReferenceType.java rename to src/main/java/us/kbase/typedobj/idref/IdReferenceType.java diff --git a/src/us/kbase/typedobj/idref/NoSuchIdReferenceHandlerException.java b/src/main/java/us/kbase/typedobj/idref/NoSuchIdReferenceHandlerException.java similarity index 100% rename from src/us/kbase/typedobj/idref/NoSuchIdReferenceHandlerException.java rename to src/main/java/us/kbase/typedobj/idref/NoSuchIdReferenceHandlerException.java diff --git a/src/us/kbase/typedobj/idref/RemappedId.java b/src/main/java/us/kbase/typedobj/idref/RemappedId.java similarity index 100% rename from src/us/kbase/typedobj/idref/RemappedId.java rename to src/main/java/us/kbase/typedobj/idref/RemappedId.java diff --git a/src/us/kbase/typedobj/idref/SimpleRemappedId.java b/src/main/java/us/kbase/typedobj/idref/SimpleRemappedId.java similarity index 100% rename from src/us/kbase/typedobj/idref/SimpleRemappedId.java rename to src/main/java/us/kbase/typedobj/idref/SimpleRemappedId.java diff --git a/src/us/kbase/workspace/AlterAdminObjectMetadataParams.java b/src/main/java/us/kbase/workspace/AlterAdminObjectMetadataParams.java similarity index 100% rename from src/us/kbase/workspace/AlterAdminObjectMetadataParams.java rename to src/main/java/us/kbase/workspace/AlterAdminObjectMetadataParams.java diff --git a/src/us/kbase/workspace/AlterWorkspaceMetadataParams.java b/src/main/java/us/kbase/workspace/AlterWorkspaceMetadataParams.java similarity index 100% rename from src/us/kbase/workspace/AlterWorkspaceMetadataParams.java rename to src/main/java/us/kbase/workspace/AlterWorkspaceMetadataParams.java diff --git a/src/us/kbase/workspace/CloneWorkspaceParams.java b/src/main/java/us/kbase/workspace/CloneWorkspaceParams.java similarity index 100% rename from src/us/kbase/workspace/CloneWorkspaceParams.java rename to src/main/java/us/kbase/workspace/CloneWorkspaceParams.java diff --git a/src/us/kbase/workspace/CopyObjectParams.java b/src/main/java/us/kbase/workspace/CopyObjectParams.java similarity index 100% rename from src/us/kbase/workspace/CopyObjectParams.java rename to src/main/java/us/kbase/workspace/CopyObjectParams.java diff --git a/src/us/kbase/workspace/CreateWorkspaceParams.java b/src/main/java/us/kbase/workspace/CreateWorkspaceParams.java similarity index 100% rename from src/us/kbase/workspace/CreateWorkspaceParams.java rename to src/main/java/us/kbase/workspace/CreateWorkspaceParams.java diff --git a/src/us/kbase/workspace/ExternalDataUnit.java b/src/main/java/us/kbase/workspace/ExternalDataUnit.java similarity index 100% rename from src/us/kbase/workspace/ExternalDataUnit.java rename to src/main/java/us/kbase/workspace/ExternalDataUnit.java diff --git a/src/us/kbase/workspace/FuncInfo.java b/src/main/java/us/kbase/workspace/FuncInfo.java similarity index 100% rename from src/us/kbase/workspace/FuncInfo.java rename to src/main/java/us/kbase/workspace/FuncInfo.java diff --git a/src/us/kbase/workspace/GetAdminRoleResults.java b/src/main/java/us/kbase/workspace/GetAdminRoleResults.java similarity index 100% rename from src/us/kbase/workspace/GetAdminRoleResults.java rename to src/main/java/us/kbase/workspace/GetAdminRoleResults.java diff --git a/src/us/kbase/workspace/GetModuleInfoParams.java b/src/main/java/us/kbase/workspace/GetModuleInfoParams.java similarity index 100% rename from src/us/kbase/workspace/GetModuleInfoParams.java rename to src/main/java/us/kbase/workspace/GetModuleInfoParams.java diff --git a/src/us/kbase/workspace/GetNamesByPrefixParams.java b/src/main/java/us/kbase/workspace/GetNamesByPrefixParams.java similarity index 100% rename from src/us/kbase/workspace/GetNamesByPrefixParams.java rename to src/main/java/us/kbase/workspace/GetNamesByPrefixParams.java diff --git a/src/us/kbase/workspace/GetNamesByPrefixResults.java b/src/main/java/us/kbase/workspace/GetNamesByPrefixResults.java similarity index 100% rename from src/us/kbase/workspace/GetNamesByPrefixResults.java rename to src/main/java/us/kbase/workspace/GetNamesByPrefixResults.java diff --git a/src/us/kbase/workspace/GetObjectInfo3Params.java b/src/main/java/us/kbase/workspace/GetObjectInfo3Params.java similarity index 100% rename from src/us/kbase/workspace/GetObjectInfo3Params.java rename to src/main/java/us/kbase/workspace/GetObjectInfo3Params.java diff --git a/src/us/kbase/workspace/GetObjectInfo3Results.java b/src/main/java/us/kbase/workspace/GetObjectInfo3Results.java similarity index 100% rename from src/us/kbase/workspace/GetObjectInfo3Results.java rename to src/main/java/us/kbase/workspace/GetObjectInfo3Results.java diff --git a/src/us/kbase/workspace/GetObjectInfoNewParams.java b/src/main/java/us/kbase/workspace/GetObjectInfoNewParams.java similarity index 100% rename from src/us/kbase/workspace/GetObjectInfoNewParams.java rename to src/main/java/us/kbase/workspace/GetObjectInfoNewParams.java diff --git a/src/us/kbase/workspace/GetObjectOutput.java b/src/main/java/us/kbase/workspace/GetObjectOutput.java similarity index 100% rename from src/us/kbase/workspace/GetObjectOutput.java rename to src/main/java/us/kbase/workspace/GetObjectOutput.java diff --git a/src/us/kbase/workspace/GetObjectParams.java b/src/main/java/us/kbase/workspace/GetObjectParams.java similarity index 100% rename from src/us/kbase/workspace/GetObjectParams.java rename to src/main/java/us/kbase/workspace/GetObjectParams.java diff --git a/src/us/kbase/workspace/GetObjectmetaParams.java b/src/main/java/us/kbase/workspace/GetObjectmetaParams.java similarity index 100% rename from src/us/kbase/workspace/GetObjectmetaParams.java rename to src/main/java/us/kbase/workspace/GetObjectmetaParams.java diff --git a/src/us/kbase/workspace/GetObjects2Params.java b/src/main/java/us/kbase/workspace/GetObjects2Params.java similarity index 100% rename from src/us/kbase/workspace/GetObjects2Params.java rename to src/main/java/us/kbase/workspace/GetObjects2Params.java diff --git a/src/us/kbase/workspace/GetObjects2Results.java b/src/main/java/us/kbase/workspace/GetObjects2Results.java similarity index 100% rename from src/us/kbase/workspace/GetObjects2Results.java rename to src/main/java/us/kbase/workspace/GetObjects2Results.java diff --git a/src/us/kbase/workspace/GetPermissionsMassParams.java b/src/main/java/us/kbase/workspace/GetPermissionsMassParams.java similarity index 100% rename from src/us/kbase/workspace/GetPermissionsMassParams.java rename to src/main/java/us/kbase/workspace/GetPermissionsMassParams.java diff --git a/src/us/kbase/workspace/GetWorkspacemetaParams.java b/src/main/java/us/kbase/workspace/GetWorkspacemetaParams.java similarity index 100% rename from src/us/kbase/workspace/GetWorkspacemetaParams.java rename to src/main/java/us/kbase/workspace/GetWorkspacemetaParams.java diff --git a/src/us/kbase/workspace/GrantModuleOwnershipParams.java b/src/main/java/us/kbase/workspace/GrantModuleOwnershipParams.java similarity index 100% rename from src/us/kbase/workspace/GrantModuleOwnershipParams.java rename to src/main/java/us/kbase/workspace/GrantModuleOwnershipParams.java diff --git a/src/us/kbase/workspace/ListAllTypesParams.java b/src/main/java/us/kbase/workspace/ListAllTypesParams.java similarity index 100% rename from src/us/kbase/workspace/ListAllTypesParams.java rename to src/main/java/us/kbase/workspace/ListAllTypesParams.java diff --git a/src/us/kbase/workspace/ListModuleVersionsParams.java b/src/main/java/us/kbase/workspace/ListModuleVersionsParams.java similarity index 100% rename from src/us/kbase/workspace/ListModuleVersionsParams.java rename to src/main/java/us/kbase/workspace/ListModuleVersionsParams.java diff --git a/src/us/kbase/workspace/ListModulesParams.java b/src/main/java/us/kbase/workspace/ListModulesParams.java similarity index 100% rename from src/us/kbase/workspace/ListModulesParams.java rename to src/main/java/us/kbase/workspace/ListModulesParams.java diff --git a/src/us/kbase/workspace/ListObjectsParams.java b/src/main/java/us/kbase/workspace/ListObjectsParams.java similarity index 100% rename from src/us/kbase/workspace/ListObjectsParams.java rename to src/main/java/us/kbase/workspace/ListObjectsParams.java diff --git a/src/us/kbase/workspace/ListWorkspaceIDsParams.java b/src/main/java/us/kbase/workspace/ListWorkspaceIDsParams.java similarity index 100% rename from src/us/kbase/workspace/ListWorkspaceIDsParams.java rename to src/main/java/us/kbase/workspace/ListWorkspaceIDsParams.java diff --git a/src/us/kbase/workspace/ListWorkspaceIDsResults.java b/src/main/java/us/kbase/workspace/ListWorkspaceIDsResults.java similarity index 100% rename from src/us/kbase/workspace/ListWorkspaceIDsResults.java rename to src/main/java/us/kbase/workspace/ListWorkspaceIDsResults.java diff --git a/src/us/kbase/workspace/ListWorkspaceInfoParams.java b/src/main/java/us/kbase/workspace/ListWorkspaceInfoParams.java similarity index 100% rename from src/us/kbase/workspace/ListWorkspaceInfoParams.java rename to src/main/java/us/kbase/workspace/ListWorkspaceInfoParams.java diff --git a/src/us/kbase/workspace/ListWorkspaceObjectsParams.java b/src/main/java/us/kbase/workspace/ListWorkspaceObjectsParams.java similarity index 100% rename from src/us/kbase/workspace/ListWorkspaceObjectsParams.java rename to src/main/java/us/kbase/workspace/ListWorkspaceObjectsParams.java diff --git a/src/us/kbase/workspace/ListWorkspacesParams.java b/src/main/java/us/kbase/workspace/ListWorkspacesParams.java similarity index 100% rename from src/us/kbase/workspace/ListWorkspacesParams.java rename to src/main/java/us/kbase/workspace/ListWorkspacesParams.java diff --git a/src/us/kbase/workspace/ModuleInfo.java b/src/main/java/us/kbase/workspace/ModuleInfo.java similarity index 100% rename from src/us/kbase/workspace/ModuleInfo.java rename to src/main/java/us/kbase/workspace/ModuleInfo.java diff --git a/src/us/kbase/workspace/ModuleVersions.java b/src/main/java/us/kbase/workspace/ModuleVersions.java similarity index 100% rename from src/us/kbase/workspace/ModuleVersions.java rename to src/main/java/us/kbase/workspace/ModuleVersions.java diff --git a/src/us/kbase/workspace/ObjectData.java b/src/main/java/us/kbase/workspace/ObjectData.java similarity index 100% rename from src/us/kbase/workspace/ObjectData.java rename to src/main/java/us/kbase/workspace/ObjectData.java diff --git a/src/us/kbase/workspace/ObjectIdentity.java b/src/main/java/us/kbase/workspace/ObjectIdentity.java similarity index 100% rename from src/us/kbase/workspace/ObjectIdentity.java rename to src/main/java/us/kbase/workspace/ObjectIdentity.java diff --git a/src/us/kbase/workspace/ObjectInfo.java b/src/main/java/us/kbase/workspace/ObjectInfo.java similarity index 100% rename from src/us/kbase/workspace/ObjectInfo.java rename to src/main/java/us/kbase/workspace/ObjectInfo.java diff --git a/src/us/kbase/workspace/ObjectMetadataUpdate.java b/src/main/java/us/kbase/workspace/ObjectMetadataUpdate.java similarity index 100% rename from src/us/kbase/workspace/ObjectMetadataUpdate.java rename to src/main/java/us/kbase/workspace/ObjectMetadataUpdate.java diff --git a/src/us/kbase/workspace/ObjectProvenanceInfo.java b/src/main/java/us/kbase/workspace/ObjectProvenanceInfo.java similarity index 100% rename from src/us/kbase/workspace/ObjectProvenanceInfo.java rename to src/main/java/us/kbase/workspace/ObjectProvenanceInfo.java diff --git a/src/us/kbase/workspace/ObjectSaveData.java b/src/main/java/us/kbase/workspace/ObjectSaveData.java similarity index 100% rename from src/us/kbase/workspace/ObjectSaveData.java rename to src/main/java/us/kbase/workspace/ObjectSaveData.java diff --git a/src/us/kbase/workspace/ObjectSpecification.java b/src/main/java/us/kbase/workspace/ObjectSpecification.java similarity index 100% rename from src/us/kbase/workspace/ObjectSpecification.java rename to src/main/java/us/kbase/workspace/ObjectSpecification.java diff --git a/src/us/kbase/workspace/ProvenanceAction.java b/src/main/java/us/kbase/workspace/ProvenanceAction.java similarity index 100% rename from src/us/kbase/workspace/ProvenanceAction.java rename to src/main/java/us/kbase/workspace/ProvenanceAction.java diff --git a/src/us/kbase/workspace/RegisterTypespecCopyParams.java b/src/main/java/us/kbase/workspace/RegisterTypespecCopyParams.java similarity index 100% rename from src/us/kbase/workspace/RegisterTypespecCopyParams.java rename to src/main/java/us/kbase/workspace/RegisterTypespecCopyParams.java diff --git a/src/us/kbase/workspace/RegisterTypespecParams.java b/src/main/java/us/kbase/workspace/RegisterTypespecParams.java similarity index 100% rename from src/us/kbase/workspace/RegisterTypespecParams.java rename to src/main/java/us/kbase/workspace/RegisterTypespecParams.java diff --git a/src/us/kbase/workspace/RemoveModuleOwnershipParams.java b/src/main/java/us/kbase/workspace/RemoveModuleOwnershipParams.java similarity index 100% rename from src/us/kbase/workspace/RemoveModuleOwnershipParams.java rename to src/main/java/us/kbase/workspace/RemoveModuleOwnershipParams.java diff --git a/src/us/kbase/workspace/RenameObjectParams.java b/src/main/java/us/kbase/workspace/RenameObjectParams.java similarity index 100% rename from src/us/kbase/workspace/RenameObjectParams.java rename to src/main/java/us/kbase/workspace/RenameObjectParams.java diff --git a/src/us/kbase/workspace/RenameWorkspaceParams.java b/src/main/java/us/kbase/workspace/RenameWorkspaceParams.java similarity index 100% rename from src/us/kbase/workspace/RenameWorkspaceParams.java rename to src/main/java/us/kbase/workspace/RenameWorkspaceParams.java diff --git a/src/us/kbase/workspace/SaveObjectParams.java b/src/main/java/us/kbase/workspace/SaveObjectParams.java similarity index 100% rename from src/us/kbase/workspace/SaveObjectParams.java rename to src/main/java/us/kbase/workspace/SaveObjectParams.java diff --git a/src/us/kbase/workspace/SaveObjectsParams.java b/src/main/java/us/kbase/workspace/SaveObjectsParams.java similarity index 100% rename from src/us/kbase/workspace/SaveObjectsParams.java rename to src/main/java/us/kbase/workspace/SaveObjectsParams.java diff --git a/src/us/kbase/workspace/SetGlobalPermissionsParams.java b/src/main/java/us/kbase/workspace/SetGlobalPermissionsParams.java similarity index 100% rename from src/us/kbase/workspace/SetGlobalPermissionsParams.java rename to src/main/java/us/kbase/workspace/SetGlobalPermissionsParams.java diff --git a/src/us/kbase/workspace/SetPermissionsParams.java b/src/main/java/us/kbase/workspace/SetPermissionsParams.java similarity index 100% rename from src/us/kbase/workspace/SetPermissionsParams.java rename to src/main/java/us/kbase/workspace/SetPermissionsParams.java diff --git a/src/us/kbase/workspace/SetWorkspaceDescriptionParams.java b/src/main/java/us/kbase/workspace/SetWorkspaceDescriptionParams.java similarity index 100% rename from src/us/kbase/workspace/SetWorkspaceDescriptionParams.java rename to src/main/java/us/kbase/workspace/SetWorkspaceDescriptionParams.java diff --git a/src/us/kbase/workspace/SubAction.java b/src/main/java/us/kbase/workspace/SubAction.java similarity index 100% rename from src/us/kbase/workspace/SubAction.java rename to src/main/java/us/kbase/workspace/SubAction.java diff --git a/src/us/kbase/workspace/SubObjectIdentity.java b/src/main/java/us/kbase/workspace/SubObjectIdentity.java similarity index 100% rename from src/us/kbase/workspace/SubObjectIdentity.java rename to src/main/java/us/kbase/workspace/SubObjectIdentity.java diff --git a/src/us/kbase/workspace/TypeInfo.java b/src/main/java/us/kbase/workspace/TypeInfo.java similarity index 100% rename from src/us/kbase/workspace/TypeInfo.java rename to src/main/java/us/kbase/workspace/TypeInfo.java diff --git a/src/us/kbase/workspace/WorkspaceClient.java b/src/main/java/us/kbase/workspace/WorkspaceClient.java similarity index 100% rename from src/us/kbase/workspace/WorkspaceClient.java rename to src/main/java/us/kbase/workspace/WorkspaceClient.java diff --git a/src/us/kbase/workspace/WorkspaceIdentity.java b/src/main/java/us/kbase/workspace/WorkspaceIdentity.java similarity index 100% rename from src/us/kbase/workspace/WorkspaceIdentity.java rename to src/main/java/us/kbase/workspace/WorkspaceIdentity.java diff --git a/src/us/kbase/workspace/WorkspacePermissions.java b/src/main/java/us/kbase/workspace/WorkspacePermissions.java similarity index 100% rename from src/us/kbase/workspace/WorkspacePermissions.java rename to src/main/java/us/kbase/workspace/WorkspacePermissions.java diff --git a/src/us/kbase/workspace/WorkspaceServer.java b/src/main/java/us/kbase/workspace/WorkspaceServer.java similarity index 100% rename from src/us/kbase/workspace/WorkspaceServer.java rename to src/main/java/us/kbase/workspace/WorkspaceServer.java diff --git a/src/us/kbase/workspace/database/AllUsers.java b/src/main/java/us/kbase/workspace/database/AllUsers.java similarity index 100% rename from src/us/kbase/workspace/database/AllUsers.java rename to src/main/java/us/kbase/workspace/database/AllUsers.java diff --git a/src/us/kbase/workspace/database/ByteArrayFileCacheManager.java b/src/main/java/us/kbase/workspace/database/ByteArrayFileCacheManager.java similarity index 100% rename from src/us/kbase/workspace/database/ByteArrayFileCacheManager.java rename to src/main/java/us/kbase/workspace/database/ByteArrayFileCacheManager.java diff --git a/src/us/kbase/workspace/database/CopyResult.java b/src/main/java/us/kbase/workspace/database/CopyResult.java similarity index 100% rename from src/us/kbase/workspace/database/CopyResult.java rename to src/main/java/us/kbase/workspace/database/CopyResult.java diff --git a/src/us/kbase/workspace/database/DependencyStatus.java b/src/main/java/us/kbase/workspace/database/DependencyStatus.java similarity index 100% rename from src/us/kbase/workspace/database/DependencyStatus.java rename to src/main/java/us/kbase/workspace/database/DependencyStatus.java diff --git a/src/us/kbase/workspace/database/DynamicConfig.java b/src/main/java/us/kbase/workspace/database/DynamicConfig.java similarity index 100% rename from src/us/kbase/workspace/database/DynamicConfig.java rename to src/main/java/us/kbase/workspace/database/DynamicConfig.java diff --git a/src/us/kbase/workspace/database/ListObjectsParameters.java b/src/main/java/us/kbase/workspace/database/ListObjectsParameters.java similarity index 100% rename from src/us/kbase/workspace/database/ListObjectsParameters.java rename to src/main/java/us/kbase/workspace/database/ListObjectsParameters.java diff --git a/src/us/kbase/workspace/database/MetadataUpdate.java b/src/main/java/us/kbase/workspace/database/MetadataUpdate.java similarity index 100% rename from src/us/kbase/workspace/database/MetadataUpdate.java rename to src/main/java/us/kbase/workspace/database/MetadataUpdate.java diff --git a/src/us/kbase/workspace/database/ModuleInfo.java b/src/main/java/us/kbase/workspace/database/ModuleInfo.java similarity index 100% rename from src/us/kbase/workspace/database/ModuleInfo.java rename to src/main/java/us/kbase/workspace/database/ModuleInfo.java diff --git a/src/us/kbase/workspace/database/ObjectIDNoWSNoVer.java b/src/main/java/us/kbase/workspace/database/ObjectIDNoWSNoVer.java similarity index 100% rename from src/us/kbase/workspace/database/ObjectIDNoWSNoVer.java rename to src/main/java/us/kbase/workspace/database/ObjectIDNoWSNoVer.java diff --git a/src/us/kbase/workspace/database/ObjectIDResolvedWS.java b/src/main/java/us/kbase/workspace/database/ObjectIDResolvedWS.java similarity index 100% rename from src/us/kbase/workspace/database/ObjectIDResolvedWS.java rename to src/main/java/us/kbase/workspace/database/ObjectIDResolvedWS.java diff --git a/src/us/kbase/workspace/database/ObjectIdentifier.java b/src/main/java/us/kbase/workspace/database/ObjectIdentifier.java similarity index 100% rename from src/us/kbase/workspace/database/ObjectIdentifier.java rename to src/main/java/us/kbase/workspace/database/ObjectIdentifier.java diff --git a/src/us/kbase/workspace/database/ObjectInfoWithModDate.java b/src/main/java/us/kbase/workspace/database/ObjectInfoWithModDate.java similarity index 100% rename from src/us/kbase/workspace/database/ObjectInfoWithModDate.java rename to src/main/java/us/kbase/workspace/database/ObjectInfoWithModDate.java diff --git a/src/us/kbase/workspace/database/ObjectInformation.java b/src/main/java/us/kbase/workspace/database/ObjectInformation.java similarity index 100% rename from src/us/kbase/workspace/database/ObjectInformation.java rename to src/main/java/us/kbase/workspace/database/ObjectInformation.java diff --git a/src/us/kbase/workspace/database/ObjectReferenceSet.java b/src/main/java/us/kbase/workspace/database/ObjectReferenceSet.java similarity index 100% rename from src/us/kbase/workspace/database/ObjectReferenceSet.java rename to src/main/java/us/kbase/workspace/database/ObjectReferenceSet.java diff --git a/src/us/kbase/workspace/database/ObjectResolver.java b/src/main/java/us/kbase/workspace/database/ObjectResolver.java similarity index 100% rename from src/us/kbase/workspace/database/ObjectResolver.java rename to src/main/java/us/kbase/workspace/database/ObjectResolver.java diff --git a/src/us/kbase/workspace/database/Permission.java b/src/main/java/us/kbase/workspace/database/Permission.java similarity index 100% rename from src/us/kbase/workspace/database/Permission.java rename to src/main/java/us/kbase/workspace/database/Permission.java diff --git a/src/us/kbase/workspace/database/PermissionSet.java b/src/main/java/us/kbase/workspace/database/PermissionSet.java similarity index 100% rename from src/us/kbase/workspace/database/PermissionSet.java rename to src/main/java/us/kbase/workspace/database/PermissionSet.java diff --git a/src/us/kbase/workspace/database/PermissionsCheckerFactory.java b/src/main/java/us/kbase/workspace/database/PermissionsCheckerFactory.java similarity index 100% rename from src/us/kbase/workspace/database/PermissionsCheckerFactory.java rename to src/main/java/us/kbase/workspace/database/PermissionsCheckerFactory.java diff --git a/src/us/kbase/workspace/database/RefLimit.java b/src/main/java/us/kbase/workspace/database/RefLimit.java similarity index 100% rename from src/us/kbase/workspace/database/RefLimit.java rename to src/main/java/us/kbase/workspace/database/RefLimit.java diff --git a/src/us/kbase/workspace/database/Reference.java b/src/main/java/us/kbase/workspace/database/Reference.java similarity index 100% rename from src/us/kbase/workspace/database/Reference.java rename to src/main/java/us/kbase/workspace/database/Reference.java diff --git a/src/us/kbase/workspace/database/ResolvedObjectID.java b/src/main/java/us/kbase/workspace/database/ResolvedObjectID.java similarity index 100% rename from src/us/kbase/workspace/database/ResolvedObjectID.java rename to src/main/java/us/kbase/workspace/database/ResolvedObjectID.java diff --git a/src/us/kbase/workspace/database/ResolvedObjectIDNoVer.java b/src/main/java/us/kbase/workspace/database/ResolvedObjectIDNoVer.java similarity index 100% rename from src/us/kbase/workspace/database/ResolvedObjectIDNoVer.java rename to src/main/java/us/kbase/workspace/database/ResolvedObjectIDNoVer.java diff --git a/src/us/kbase/workspace/database/ResolvedSaveObject.java b/src/main/java/us/kbase/workspace/database/ResolvedSaveObject.java similarity index 100% rename from src/us/kbase/workspace/database/ResolvedSaveObject.java rename to src/main/java/us/kbase/workspace/database/ResolvedSaveObject.java diff --git a/src/us/kbase/workspace/database/ResolvedWorkspaceID.java b/src/main/java/us/kbase/workspace/database/ResolvedWorkspaceID.java similarity index 100% rename from src/us/kbase/workspace/database/ResolvedWorkspaceID.java rename to src/main/java/us/kbase/workspace/database/ResolvedWorkspaceID.java diff --git a/src/us/kbase/workspace/database/ResourceUsageConfigurationBuilder.java b/src/main/java/us/kbase/workspace/database/ResourceUsageConfigurationBuilder.java similarity index 100% rename from src/us/kbase/workspace/database/ResourceUsageConfigurationBuilder.java rename to src/main/java/us/kbase/workspace/database/ResourceUsageConfigurationBuilder.java diff --git a/src/us/kbase/workspace/database/TypeAndReference.java b/src/main/java/us/kbase/workspace/database/TypeAndReference.java similarity index 100% rename from src/us/kbase/workspace/database/TypeAndReference.java rename to src/main/java/us/kbase/workspace/database/TypeAndReference.java diff --git a/src/us/kbase/workspace/database/Types.java b/src/main/java/us/kbase/workspace/database/Types.java similarity index 100% rename from src/us/kbase/workspace/database/Types.java rename to src/main/java/us/kbase/workspace/database/Types.java diff --git a/src/us/kbase/workspace/database/UncheckedUserMetadata.java b/src/main/java/us/kbase/workspace/database/UncheckedUserMetadata.java similarity index 100% rename from src/us/kbase/workspace/database/UncheckedUserMetadata.java rename to src/main/java/us/kbase/workspace/database/UncheckedUserMetadata.java diff --git a/src/us/kbase/workspace/database/User.java b/src/main/java/us/kbase/workspace/database/User.java similarity index 100% rename from src/us/kbase/workspace/database/User.java rename to src/main/java/us/kbase/workspace/database/User.java diff --git a/src/us/kbase/workspace/database/UserWorkspaceIDs.java b/src/main/java/us/kbase/workspace/database/UserWorkspaceIDs.java similarity index 100% rename from src/us/kbase/workspace/database/UserWorkspaceIDs.java rename to src/main/java/us/kbase/workspace/database/UserWorkspaceIDs.java diff --git a/src/us/kbase/workspace/database/Util.java b/src/main/java/us/kbase/workspace/database/Util.java similarity index 100% rename from src/us/kbase/workspace/database/Util.java rename to src/main/java/us/kbase/workspace/database/Util.java diff --git a/src/us/kbase/workspace/database/Workspace.java b/src/main/java/us/kbase/workspace/database/Workspace.java similarity index 100% rename from src/us/kbase/workspace/database/Workspace.java rename to src/main/java/us/kbase/workspace/database/Workspace.java diff --git a/src/us/kbase/workspace/database/WorkspaceDatabase.java b/src/main/java/us/kbase/workspace/database/WorkspaceDatabase.java similarity index 100% rename from src/us/kbase/workspace/database/WorkspaceDatabase.java rename to src/main/java/us/kbase/workspace/database/WorkspaceDatabase.java diff --git a/src/us/kbase/workspace/database/WorkspaceIdentifier.java b/src/main/java/us/kbase/workspace/database/WorkspaceIdentifier.java similarity index 100% rename from src/us/kbase/workspace/database/WorkspaceIdentifier.java rename to src/main/java/us/kbase/workspace/database/WorkspaceIdentifier.java diff --git a/src/us/kbase/workspace/database/WorkspaceInformation.java b/src/main/java/us/kbase/workspace/database/WorkspaceInformation.java similarity index 100% rename from src/us/kbase/workspace/database/WorkspaceInformation.java rename to src/main/java/us/kbase/workspace/database/WorkspaceInformation.java diff --git a/src/us/kbase/workspace/database/WorkspaceObjectData.java b/src/main/java/us/kbase/workspace/database/WorkspaceObjectData.java similarity index 100% rename from src/us/kbase/workspace/database/WorkspaceObjectData.java rename to src/main/java/us/kbase/workspace/database/WorkspaceObjectData.java diff --git a/src/us/kbase/workspace/database/WorkspaceSaveObject.java b/src/main/java/us/kbase/workspace/database/WorkspaceSaveObject.java similarity index 100% rename from src/us/kbase/workspace/database/WorkspaceSaveObject.java rename to src/main/java/us/kbase/workspace/database/WorkspaceSaveObject.java diff --git a/src/us/kbase/workspace/database/WorkspaceUser.java b/src/main/java/us/kbase/workspace/database/WorkspaceUser.java similarity index 100% rename from src/us/kbase/workspace/database/WorkspaceUser.java rename to src/main/java/us/kbase/workspace/database/WorkspaceUser.java diff --git a/src/us/kbase/workspace/database/WorkspaceUserMetadata.java b/src/main/java/us/kbase/workspace/database/WorkspaceUserMetadata.java similarity index 100% rename from src/us/kbase/workspace/database/WorkspaceUserMetadata.java rename to src/main/java/us/kbase/workspace/database/WorkspaceUserMetadata.java diff --git a/src/us/kbase/workspace/database/exceptions/CorruptWorkspaceDBException.java b/src/main/java/us/kbase/workspace/database/exceptions/CorruptWorkspaceDBException.java similarity index 100% rename from src/us/kbase/workspace/database/exceptions/CorruptWorkspaceDBException.java rename to src/main/java/us/kbase/workspace/database/exceptions/CorruptWorkspaceDBException.java diff --git a/src/us/kbase/workspace/database/exceptions/DeletedObjectException.java b/src/main/java/us/kbase/workspace/database/exceptions/DeletedObjectException.java similarity index 100% rename from src/us/kbase/workspace/database/exceptions/DeletedObjectException.java rename to src/main/java/us/kbase/workspace/database/exceptions/DeletedObjectException.java diff --git a/src/us/kbase/workspace/database/exceptions/ErrorOr.java b/src/main/java/us/kbase/workspace/database/exceptions/ErrorOr.java similarity index 100% rename from src/us/kbase/workspace/database/exceptions/ErrorOr.java rename to src/main/java/us/kbase/workspace/database/exceptions/ErrorOr.java diff --git a/src/us/kbase/workspace/database/exceptions/ErrorType.java b/src/main/java/us/kbase/workspace/database/exceptions/ErrorType.java similarity index 100% rename from src/us/kbase/workspace/database/exceptions/ErrorType.java rename to src/main/java/us/kbase/workspace/database/exceptions/ErrorType.java diff --git a/src/us/kbase/workspace/database/exceptions/InaccessibleObjectException.java b/src/main/java/us/kbase/workspace/database/exceptions/InaccessibleObjectException.java similarity index 100% rename from src/us/kbase/workspace/database/exceptions/InaccessibleObjectException.java rename to src/main/java/us/kbase/workspace/database/exceptions/InaccessibleObjectException.java diff --git a/src/us/kbase/workspace/database/exceptions/NoObjectDataException.java b/src/main/java/us/kbase/workspace/database/exceptions/NoObjectDataException.java similarity index 100% rename from src/us/kbase/workspace/database/exceptions/NoObjectDataException.java rename to src/main/java/us/kbase/workspace/database/exceptions/NoObjectDataException.java diff --git a/src/us/kbase/workspace/database/exceptions/NoSuchObjectException.java b/src/main/java/us/kbase/workspace/database/exceptions/NoSuchObjectException.java similarity index 100% rename from src/us/kbase/workspace/database/exceptions/NoSuchObjectException.java rename to src/main/java/us/kbase/workspace/database/exceptions/NoSuchObjectException.java diff --git a/src/us/kbase/workspace/database/exceptions/NoSuchReferenceException.java b/src/main/java/us/kbase/workspace/database/exceptions/NoSuchReferenceException.java similarity index 100% rename from src/us/kbase/workspace/database/exceptions/NoSuchReferenceException.java rename to src/main/java/us/kbase/workspace/database/exceptions/NoSuchReferenceException.java diff --git a/src/us/kbase/workspace/database/exceptions/NoSuchWorkspaceException.java b/src/main/java/us/kbase/workspace/database/exceptions/NoSuchWorkspaceException.java similarity index 100% rename from src/us/kbase/workspace/database/exceptions/NoSuchWorkspaceException.java rename to src/main/java/us/kbase/workspace/database/exceptions/NoSuchWorkspaceException.java diff --git a/src/us/kbase/workspace/database/exceptions/PreExistingWorkspaceException.java b/src/main/java/us/kbase/workspace/database/exceptions/PreExistingWorkspaceException.java similarity index 100% rename from src/us/kbase/workspace/database/exceptions/PreExistingWorkspaceException.java rename to src/main/java/us/kbase/workspace/database/exceptions/PreExistingWorkspaceException.java diff --git a/src/us/kbase/workspace/database/exceptions/WorkspaceCommunicationException.java b/src/main/java/us/kbase/workspace/database/exceptions/WorkspaceCommunicationException.java similarity index 100% rename from src/us/kbase/workspace/database/exceptions/WorkspaceCommunicationException.java rename to src/main/java/us/kbase/workspace/database/exceptions/WorkspaceCommunicationException.java diff --git a/src/us/kbase/workspace/database/exceptions/WorkspaceDBException.java b/src/main/java/us/kbase/workspace/database/exceptions/WorkspaceDBException.java similarity index 100% rename from src/us/kbase/workspace/database/exceptions/WorkspaceDBException.java rename to src/main/java/us/kbase/workspace/database/exceptions/WorkspaceDBException.java diff --git a/src/us/kbase/workspace/database/exceptions/WorkspaceDBInitializationException.java b/src/main/java/us/kbase/workspace/database/exceptions/WorkspaceDBInitializationException.java similarity index 100% rename from src/us/kbase/workspace/database/exceptions/WorkspaceDBInitializationException.java rename to src/main/java/us/kbase/workspace/database/exceptions/WorkspaceDBInitializationException.java diff --git a/src/us/kbase/workspace/database/mongo/BlobStore.java b/src/main/java/us/kbase/workspace/database/mongo/BlobStore.java similarity index 100% rename from src/us/kbase/workspace/database/mongo/BlobStore.java rename to src/main/java/us/kbase/workspace/database/mongo/BlobStore.java diff --git a/src/us/kbase/workspace/database/mongo/CollectionNames.java b/src/main/java/us/kbase/workspace/database/mongo/CollectionNames.java similarity index 100% rename from src/us/kbase/workspace/database/mongo/CollectionNames.java rename to src/main/java/us/kbase/workspace/database/mongo/CollectionNames.java diff --git a/src/us/kbase/workspace/database/mongo/Fields.java b/src/main/java/us/kbase/workspace/database/mongo/Fields.java similarity index 100% rename from src/us/kbase/workspace/database/mongo/Fields.java rename to src/main/java/us/kbase/workspace/database/mongo/Fields.java diff --git a/src/us/kbase/workspace/database/mongo/GridFSBlobStore.java b/src/main/java/us/kbase/workspace/database/mongo/GridFSBlobStore.java similarity index 100% rename from src/us/kbase/workspace/database/mongo/GridFSBlobStore.java rename to src/main/java/us/kbase/workspace/database/mongo/GridFSBlobStore.java diff --git a/src/us/kbase/workspace/database/mongo/IDName.java b/src/main/java/us/kbase/workspace/database/mongo/IDName.java similarity index 100% rename from src/us/kbase/workspace/database/mongo/IDName.java rename to src/main/java/us/kbase/workspace/database/mongo/IDName.java diff --git a/src/us/kbase/workspace/database/mongo/MongoWorkspaceDB.java b/src/main/java/us/kbase/workspace/database/mongo/MongoWorkspaceDB.java similarity index 100% rename from src/us/kbase/workspace/database/mongo/MongoWorkspaceDB.java rename to src/main/java/us/kbase/workspace/database/mongo/MongoWorkspaceDB.java diff --git a/src/us/kbase/workspace/database/mongo/ObjectIDResolvedWSNoVer.java b/src/main/java/us/kbase/workspace/database/mongo/ObjectIDResolvedWSNoVer.java similarity index 100% rename from src/us/kbase/workspace/database/mongo/ObjectIDResolvedWSNoVer.java rename to src/main/java/us/kbase/workspace/database/mongo/ObjectIDResolvedWSNoVer.java diff --git a/src/us/kbase/workspace/database/mongo/ObjectInfoUtils.java b/src/main/java/us/kbase/workspace/database/mongo/ObjectInfoUtils.java similarity index 100% rename from src/us/kbase/workspace/database/mongo/ObjectInfoUtils.java rename to src/main/java/us/kbase/workspace/database/mongo/ObjectInfoUtils.java diff --git a/src/us/kbase/workspace/database/mongo/ObjectLister.java b/src/main/java/us/kbase/workspace/database/mongo/ObjectLister.java similarity index 100% rename from src/us/kbase/workspace/database/mongo/ObjectLister.java rename to src/main/java/us/kbase/workspace/database/mongo/ObjectLister.java diff --git a/src/us/kbase/workspace/database/mongo/ObjectSavePackage.java b/src/main/java/us/kbase/workspace/database/mongo/ObjectSavePackage.java similarity index 100% rename from src/us/kbase/workspace/database/mongo/ObjectSavePackage.java rename to src/main/java/us/kbase/workspace/database/mongo/ObjectSavePackage.java diff --git a/src/us/kbase/workspace/database/mongo/QueryMethods.java b/src/main/java/us/kbase/workspace/database/mongo/QueryMethods.java similarity index 100% rename from src/us/kbase/workspace/database/mongo/QueryMethods.java rename to src/main/java/us/kbase/workspace/database/mongo/QueryMethods.java diff --git a/src/us/kbase/workspace/database/mongo/S3BlobStore.java b/src/main/java/us/kbase/workspace/database/mongo/S3BlobStore.java similarity index 100% rename from src/us/kbase/workspace/database/mongo/S3BlobStore.java rename to src/main/java/us/kbase/workspace/database/mongo/S3BlobStore.java diff --git a/src/us/kbase/workspace/database/mongo/S3ClientWithPresign.java b/src/main/java/us/kbase/workspace/database/mongo/S3ClientWithPresign.java similarity index 100% rename from src/us/kbase/workspace/database/mongo/S3ClientWithPresign.java rename to src/main/java/us/kbase/workspace/database/mongo/S3ClientWithPresign.java diff --git a/src/us/kbase/workspace/database/mongo/SchemaUpdater.java b/src/main/java/us/kbase/workspace/database/mongo/SchemaUpdater.java similarity index 100% rename from src/us/kbase/workspace/database/mongo/SchemaUpdater.java rename to src/main/java/us/kbase/workspace/database/mongo/SchemaUpdater.java diff --git a/src/us/kbase/workspace/database/mongo/exceptions/BlobStoreAuthorizationException.java b/src/main/java/us/kbase/workspace/database/mongo/exceptions/BlobStoreAuthorizationException.java similarity index 100% rename from src/us/kbase/workspace/database/mongo/exceptions/BlobStoreAuthorizationException.java rename to src/main/java/us/kbase/workspace/database/mongo/exceptions/BlobStoreAuthorizationException.java diff --git a/src/us/kbase/workspace/database/mongo/exceptions/BlobStoreCommunicationException.java b/src/main/java/us/kbase/workspace/database/mongo/exceptions/BlobStoreCommunicationException.java similarity index 100% rename from src/us/kbase/workspace/database/mongo/exceptions/BlobStoreCommunicationException.java rename to src/main/java/us/kbase/workspace/database/mongo/exceptions/BlobStoreCommunicationException.java diff --git a/src/us/kbase/workspace/database/mongo/exceptions/BlobStoreException.java b/src/main/java/us/kbase/workspace/database/mongo/exceptions/BlobStoreException.java similarity index 100% rename from src/us/kbase/workspace/database/mongo/exceptions/BlobStoreException.java rename to src/main/java/us/kbase/workspace/database/mongo/exceptions/BlobStoreException.java diff --git a/src/us/kbase/workspace/database/mongo/exceptions/NoSuchBlobException.java b/src/main/java/us/kbase/workspace/database/mongo/exceptions/NoSuchBlobException.java similarity index 100% rename from src/us/kbase/workspace/database/mongo/exceptions/NoSuchBlobException.java rename to src/main/java/us/kbase/workspace/database/mongo/exceptions/NoSuchBlobException.java diff --git a/src/us/kbase/workspace/database/provenance/Common.java b/src/main/java/us/kbase/workspace/database/provenance/Common.java similarity index 100% rename from src/us/kbase/workspace/database/provenance/Common.java rename to src/main/java/us/kbase/workspace/database/provenance/Common.java diff --git a/src/us/kbase/workspace/database/provenance/ExternalData.java b/src/main/java/us/kbase/workspace/database/provenance/ExternalData.java similarity index 100% rename from src/us/kbase/workspace/database/provenance/ExternalData.java rename to src/main/java/us/kbase/workspace/database/provenance/ExternalData.java diff --git a/src/us/kbase/workspace/database/provenance/Provenance.java b/src/main/java/us/kbase/workspace/database/provenance/Provenance.java similarity index 100% rename from src/us/kbase/workspace/database/provenance/Provenance.java rename to src/main/java/us/kbase/workspace/database/provenance/Provenance.java diff --git a/src/us/kbase/workspace/database/provenance/ProvenanceAction.java b/src/main/java/us/kbase/workspace/database/provenance/ProvenanceAction.java similarity index 100% rename from src/us/kbase/workspace/database/provenance/ProvenanceAction.java rename to src/main/java/us/kbase/workspace/database/provenance/ProvenanceAction.java diff --git a/src/us/kbase/workspace/database/provenance/SubAction.java b/src/main/java/us/kbase/workspace/database/provenance/SubAction.java similarity index 100% rename from src/us/kbase/workspace/database/provenance/SubAction.java rename to src/main/java/us/kbase/workspace/database/provenance/SubAction.java diff --git a/src/us/kbase/workspace/database/refsearch/ReferenceGraphSearch.java b/src/main/java/us/kbase/workspace/database/refsearch/ReferenceGraphSearch.java similarity index 100% rename from src/us/kbase/workspace/database/refsearch/ReferenceGraphSearch.java rename to src/main/java/us/kbase/workspace/database/refsearch/ReferenceGraphSearch.java diff --git a/src/us/kbase/workspace/database/refsearch/ReferenceGraphTopologyProvider.java b/src/main/java/us/kbase/workspace/database/refsearch/ReferenceGraphTopologyProvider.java similarity index 100% rename from src/us/kbase/workspace/database/refsearch/ReferenceGraphTopologyProvider.java rename to src/main/java/us/kbase/workspace/database/refsearch/ReferenceGraphTopologyProvider.java diff --git a/src/us/kbase/workspace/database/refsearch/ReferenceProviderException.java b/src/main/java/us/kbase/workspace/database/refsearch/ReferenceProviderException.java similarity index 100% rename from src/us/kbase/workspace/database/refsearch/ReferenceProviderException.java rename to src/main/java/us/kbase/workspace/database/refsearch/ReferenceProviderException.java diff --git a/src/us/kbase/workspace/database/refsearch/ReferenceSearchFailedException.java b/src/main/java/us/kbase/workspace/database/refsearch/ReferenceSearchFailedException.java similarity index 100% rename from src/us/kbase/workspace/database/refsearch/ReferenceSearchFailedException.java rename to src/main/java/us/kbase/workspace/database/refsearch/ReferenceSearchFailedException.java diff --git a/src/us/kbase/workspace/database/refsearch/ReferenceSearchMaximumSizeExceededException.java b/src/main/java/us/kbase/workspace/database/refsearch/ReferenceSearchMaximumSizeExceededException.java similarity index 100% rename from src/us/kbase/workspace/database/refsearch/ReferenceSearchMaximumSizeExceededException.java rename to src/main/java/us/kbase/workspace/database/refsearch/ReferenceSearchMaximumSizeExceededException.java diff --git a/src/us/kbase/workspace/database/refsearch/ReferenceSearchTree.java b/src/main/java/us/kbase/workspace/database/refsearch/ReferenceSearchTree.java similarity index 100% rename from src/us/kbase/workspace/database/refsearch/ReferenceSearchTree.java rename to src/main/java/us/kbase/workspace/database/refsearch/ReferenceSearchTree.java diff --git a/src/us/kbase/workspace/database/refsearch/ReferenceTreeNode.java b/src/main/java/us/kbase/workspace/database/refsearch/ReferenceTreeNode.java similarity index 100% rename from src/us/kbase/workspace/database/refsearch/ReferenceTreeNode.java rename to src/main/java/us/kbase/workspace/database/refsearch/ReferenceTreeNode.java diff --git a/src/us/kbase/workspace/docserver/DocServer.java b/src/main/java/us/kbase/workspace/docserver/DocServer.java similarity index 100% rename from src/us/kbase/workspace/docserver/DocServer.java rename to src/main/java/us/kbase/workspace/docserver/DocServer.java diff --git a/src/us/kbase/workspace/exceptions/WorkspaceAuthorizationException.java b/src/main/java/us/kbase/workspace/exceptions/WorkspaceAuthorizationException.java similarity index 100% rename from src/us/kbase/workspace/exceptions/WorkspaceAuthorizationException.java rename to src/main/java/us/kbase/workspace/exceptions/WorkspaceAuthorizationException.java diff --git a/src/us/kbase/workspace/exceptions/WorkspaceException.java b/src/main/java/us/kbase/workspace/exceptions/WorkspaceException.java similarity index 100% rename from src/us/kbase/workspace/exceptions/WorkspaceException.java rename to src/main/java/us/kbase/workspace/exceptions/WorkspaceException.java diff --git a/src/us/kbase/workspace/gitcommit/GitCommit.java b/src/main/java/us/kbase/workspace/gitcommit/GitCommit.java similarity index 100% rename from src/us/kbase/workspace/gitcommit/GitCommit.java rename to src/main/java/us/kbase/workspace/gitcommit/GitCommit.java diff --git a/src/us/kbase/workspace/kbase/ArgUtils.java b/src/main/java/us/kbase/workspace/kbase/ArgUtils.java similarity index 100% rename from src/us/kbase/workspace/kbase/ArgUtils.java rename to src/main/java/us/kbase/workspace/kbase/ArgUtils.java diff --git a/src/us/kbase/workspace/kbase/BackendType.java b/src/main/java/us/kbase/workspace/kbase/BackendType.java similarity index 100% rename from src/us/kbase/workspace/kbase/BackendType.java rename to src/main/java/us/kbase/workspace/kbase/BackendType.java diff --git a/src/us/kbase/workspace/kbase/BytestreamIdHandlerFactory.java b/src/main/java/us/kbase/workspace/kbase/BytestreamIdHandlerFactory.java similarity index 100% rename from src/us/kbase/workspace/kbase/BytestreamIdHandlerFactory.java rename to src/main/java/us/kbase/workspace/kbase/BytestreamIdHandlerFactory.java diff --git a/src/us/kbase/workspace/kbase/DelegatingTypeProvider.java b/src/main/java/us/kbase/workspace/kbase/DelegatingTypeProvider.java similarity index 100% rename from src/us/kbase/workspace/kbase/DelegatingTypeProvider.java rename to src/main/java/us/kbase/workspace/kbase/DelegatingTypeProvider.java diff --git a/src/us/kbase/workspace/kbase/HandleIdHandlerFactory.java b/src/main/java/us/kbase/workspace/kbase/HandleIdHandlerFactory.java similarity index 100% rename from src/us/kbase/workspace/kbase/HandleIdHandlerFactory.java rename to src/main/java/us/kbase/workspace/kbase/HandleIdHandlerFactory.java diff --git a/src/us/kbase/workspace/kbase/IdentifierUtils.java b/src/main/java/us/kbase/workspace/kbase/IdentifierUtils.java similarity index 100% rename from src/us/kbase/workspace/kbase/IdentifierUtils.java rename to src/main/java/us/kbase/workspace/kbase/IdentifierUtils.java diff --git a/src/us/kbase/workspace/kbase/InitWorkspaceServer.java b/src/main/java/us/kbase/workspace/kbase/InitWorkspaceServer.java similarity index 100% rename from src/us/kbase/workspace/kbase/InitWorkspaceServer.java rename to src/main/java/us/kbase/workspace/kbase/InitWorkspaceServer.java diff --git a/src/us/kbase/workspace/kbase/KBasePermissions.java b/src/main/java/us/kbase/workspace/kbase/KBasePermissions.java similarity index 100% rename from src/us/kbase/workspace/kbase/KBasePermissions.java rename to src/main/java/us/kbase/workspace/kbase/KBasePermissions.java diff --git a/src/us/kbase/workspace/kbase/KBaseWorkspaceConfig.java b/src/main/java/us/kbase/workspace/kbase/KBaseWorkspaceConfig.java similarity index 100% rename from src/us/kbase/workspace/kbase/KBaseWorkspaceConfig.java rename to src/main/java/us/kbase/workspace/kbase/KBaseWorkspaceConfig.java diff --git a/src/us/kbase/workspace/kbase/LocalTypeServerMethods.java b/src/main/java/us/kbase/workspace/kbase/LocalTypeServerMethods.java similarity index 100% rename from src/us/kbase/workspace/kbase/LocalTypeServerMethods.java rename to src/main/java/us/kbase/workspace/kbase/LocalTypeServerMethods.java diff --git a/src/us/kbase/workspace/kbase/SampleIdHandlerFactory.java b/src/main/java/us/kbase/workspace/kbase/SampleIdHandlerFactory.java similarity index 100% rename from src/us/kbase/workspace/kbase/SampleIdHandlerFactory.java rename to src/main/java/us/kbase/workspace/kbase/SampleIdHandlerFactory.java diff --git a/src/us/kbase/workspace/kbase/SchemaUpdaterCLI.java b/src/main/java/us/kbase/workspace/kbase/SchemaUpdaterCLI.java similarity index 100% rename from src/us/kbase/workspace/kbase/SchemaUpdaterCLI.java rename to src/main/java/us/kbase/workspace/kbase/SchemaUpdaterCLI.java diff --git a/src/us/kbase/workspace/kbase/TypeClient.java b/src/main/java/us/kbase/workspace/kbase/TypeClient.java similarity index 100% rename from src/us/kbase/workspace/kbase/TypeClient.java rename to src/main/java/us/kbase/workspace/kbase/TypeClient.java diff --git a/src/us/kbase/workspace/kbase/TypeDelegationException.java b/src/main/java/us/kbase/workspace/kbase/TypeDelegationException.java similarity index 100% rename from src/us/kbase/workspace/kbase/TypeDelegationException.java rename to src/main/java/us/kbase/workspace/kbase/TypeDelegationException.java diff --git a/src/us/kbase/workspace/kbase/TypeServerMethods.java b/src/main/java/us/kbase/workspace/kbase/TypeServerMethods.java similarity index 100% rename from src/us/kbase/workspace/kbase/TypeServerMethods.java rename to src/main/java/us/kbase/workspace/kbase/TypeServerMethods.java diff --git a/src/us/kbase/workspace/kbase/WorkspaceServerMethods.java b/src/main/java/us/kbase/workspace/kbase/WorkspaceServerMethods.java similarity index 100% rename from src/us/kbase/workspace/kbase/WorkspaceServerMethods.java rename to src/main/java/us/kbase/workspace/kbase/WorkspaceServerMethods.java diff --git a/src/us/kbase/workspace/kbase/admin/AdminCommand.java b/src/main/java/us/kbase/workspace/kbase/admin/AdminCommand.java similarity index 100% rename from src/us/kbase/workspace/kbase/admin/AdminCommand.java rename to src/main/java/us/kbase/workspace/kbase/admin/AdminCommand.java diff --git a/src/us/kbase/workspace/kbase/admin/AdminRole.java b/src/main/java/us/kbase/workspace/kbase/admin/AdminRole.java similarity index 100% rename from src/us/kbase/workspace/kbase/admin/AdminRole.java rename to src/main/java/us/kbase/workspace/kbase/admin/AdminRole.java diff --git a/src/us/kbase/workspace/kbase/admin/AdministrationCommandSetInstaller.java b/src/main/java/us/kbase/workspace/kbase/admin/AdministrationCommandSetInstaller.java similarity index 100% rename from src/us/kbase/workspace/kbase/admin/AdministrationCommandSetInstaller.java rename to src/main/java/us/kbase/workspace/kbase/admin/AdministrationCommandSetInstaller.java diff --git a/src/us/kbase/workspace/kbase/admin/AdministratorHandler.java b/src/main/java/us/kbase/workspace/kbase/admin/AdministratorHandler.java similarity index 100% rename from src/us/kbase/workspace/kbase/admin/AdministratorHandler.java rename to src/main/java/us/kbase/workspace/kbase/admin/AdministratorHandler.java diff --git a/src/us/kbase/workspace/kbase/admin/AdministratorHandlerException.java b/src/main/java/us/kbase/workspace/kbase/admin/AdministratorHandlerException.java similarity index 100% rename from src/us/kbase/workspace/kbase/admin/AdministratorHandlerException.java rename to src/main/java/us/kbase/workspace/kbase/admin/AdministratorHandlerException.java diff --git a/src/us/kbase/workspace/kbase/admin/DefaultAdminHandler.java b/src/main/java/us/kbase/workspace/kbase/admin/DefaultAdminHandler.java similarity index 100% rename from src/us/kbase/workspace/kbase/admin/DefaultAdminHandler.java rename to src/main/java/us/kbase/workspace/kbase/admin/DefaultAdminHandler.java diff --git a/src/us/kbase/workspace/kbase/admin/KBaseAuth2AdminHandler.java b/src/main/java/us/kbase/workspace/kbase/admin/KBaseAuth2AdminHandler.java similarity index 100% rename from src/us/kbase/workspace/kbase/admin/KBaseAuth2AdminHandler.java rename to src/main/java/us/kbase/workspace/kbase/admin/KBaseAuth2AdminHandler.java diff --git a/src/us/kbase/workspace/kbase/admin/WorkspaceAdministration.java b/src/main/java/us/kbase/workspace/kbase/admin/WorkspaceAdministration.java similarity index 100% rename from src/us/kbase/workspace/kbase/admin/WorkspaceAdministration.java rename to src/main/java/us/kbase/workspace/kbase/admin/WorkspaceAdministration.java diff --git a/src/us/kbase/workspace/listener/ListenerInitializationException.java b/src/main/java/us/kbase/workspace/listener/ListenerInitializationException.java similarity index 100% rename from src/us/kbase/workspace/listener/ListenerInitializationException.java rename to src/main/java/us/kbase/workspace/listener/ListenerInitializationException.java diff --git a/src/us/kbase/workspace/listener/WorkspaceEventListener.java b/src/main/java/us/kbase/workspace/listener/WorkspaceEventListener.java similarity index 100% rename from src/us/kbase/workspace/listener/WorkspaceEventListener.java rename to src/main/java/us/kbase/workspace/listener/WorkspaceEventListener.java diff --git a/src/us/kbase/workspace/listener/WorkspaceEventListenerFactory.java b/src/main/java/us/kbase/workspace/listener/WorkspaceEventListenerFactory.java similarity index 100% rename from src/us/kbase/workspace/listener/WorkspaceEventListenerFactory.java rename to src/main/java/us/kbase/workspace/listener/WorkspaceEventListenerFactory.java diff --git a/src/us/kbase/workspace/listener/package-info.java b/src/main/java/us/kbase/workspace/listener/package-info.java similarity index 100% rename from src/us/kbase/workspace/listener/package-info.java rename to src/main/java/us/kbase/workspace/listener/package-info.java diff --git a/src/us/kbase/workspace/modules/KafkaNotifierFactory.java b/src/main/java/us/kbase/workspace/modules/KafkaNotifierFactory.java similarity index 100% rename from src/us/kbase/workspace/modules/KafkaNotifierFactory.java rename to src/main/java/us/kbase/workspace/modules/KafkaNotifierFactory.java diff --git a/src/us/kbase/workspace/modules/package-info.java b/src/main/java/us/kbase/workspace/modules/package-info.java similarity index 100% rename from src/us/kbase/workspace/modules/package-info.java rename to src/main/java/us/kbase/workspace/modules/package-info.java diff --git a/src/us/kbase/workspace/version/WorkspaceVersion.java b/src/main/java/us/kbase/workspace/version/WorkspaceVersion.java similarity index 100% rename from src/us/kbase/workspace/version/WorkspaceVersion.java rename to src/main/java/us/kbase/workspace/version/WorkspaceVersion.java diff --git a/src/us/kbase/common/test/MapBuilder.java b/src/test/java/us/kbase/test/common/MapBuilder.java similarity index 93% rename from src/us/kbase/common/test/MapBuilder.java rename to src/test/java/us/kbase/test/common/MapBuilder.java index 2654366e..9331772d 100644 --- a/src/us/kbase/common/test/MapBuilder.java +++ b/src/test/java/us/kbase/test/common/MapBuilder.java @@ -1,4 +1,4 @@ -package us.kbase.common.test; +package us.kbase.test.common; import java.util.HashMap; import java.util.Map; diff --git a/src/us/kbase/common/test/TestCommon.java b/src/test/java/us/kbase/test/common/TestCommon.java similarity index 99% rename from src/us/kbase/common/test/TestCommon.java rename to src/test/java/us/kbase/test/common/TestCommon.java index e89b4f05..ccde18bb 100644 --- a/src/us/kbase/common/test/TestCommon.java +++ b/src/test/java/us/kbase/test/common/TestCommon.java @@ -1,4 +1,4 @@ -package us.kbase.common.test; +package us.kbase.test.common; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.instanceOf; @@ -37,6 +37,7 @@ import ch.qos.logback.classic.spi.ILoggingEvent; import ch.qos.logback.classic.spi.IThrowableProxy; import ch.qos.logback.core.AppenderBase; +import us.kbase.common.test.TestException; import us.kbase.typedobj.core.TempFilesManager; public class TestCommon { diff --git a/src/us/kbase/common/test/service/ServiceCheckerTest.java b/src/test/java/us/kbase/test/common/test/service/ServiceCheckerTest.java similarity index 98% rename from src/us/kbase/common/test/service/ServiceCheckerTest.java rename to src/test/java/us/kbase/test/common/test/service/ServiceCheckerTest.java index 86a30d08..9a1a63d5 100644 --- a/src/us/kbase/common/test/service/ServiceCheckerTest.java +++ b/src/test/java/us/kbase/test/common/test/service/ServiceCheckerTest.java @@ -1,4 +1,4 @@ -package us.kbase.common.test.service; +package us.kbase.test.common.test.service; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; diff --git a/src/us/kbase/typedobj/test/AbsoluteTypeDefIdTest.java b/src/test/java/us/kbase/test/typedobj/AbsoluteTypeDefIdTest.java similarity index 96% rename from src/us/kbase/typedobj/test/AbsoluteTypeDefIdTest.java rename to src/test/java/us/kbase/test/typedobj/AbsoluteTypeDefIdTest.java index c2d15400..945f1842 100644 --- a/src/us/kbase/typedobj/test/AbsoluteTypeDefIdTest.java +++ b/src/test/java/us/kbase/test/typedobj/AbsoluteTypeDefIdTest.java @@ -1,4 +1,4 @@ -package us.kbase.typedobj.test; +package us.kbase.test.typedobj; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; diff --git a/src/us/kbase/typedobj/test/BasicValidationTest.java b/src/test/java/us/kbase/test/typedobj/BasicValidationTest.java similarity index 99% rename from src/us/kbase/typedobj/test/BasicValidationTest.java rename to src/test/java/us/kbase/test/typedobj/BasicValidationTest.java index c034029a..bf71baa6 100644 --- a/src/us/kbase/typedobj/test/BasicValidationTest.java +++ b/src/test/java/us/kbase/test/typedobj/BasicValidationTest.java @@ -1,4 +1,4 @@ -package us.kbase.typedobj.test; +package us.kbase.test.typedobj; import static org.junit.Assert.*; @@ -32,7 +32,7 @@ import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameters; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.TestCommon; import us.kbase.common.test.TestException; import us.kbase.typedobj.core.LocalTypeProvider; import us.kbase.typedobj.core.TypeDefId; diff --git a/src/us/kbase/typedobj/test/DetailedValidationTest.java b/src/test/java/us/kbase/test/typedobj/DetailedValidationTest.java similarity index 99% rename from src/us/kbase/typedobj/test/DetailedValidationTest.java rename to src/test/java/us/kbase/test/typedobj/DetailedValidationTest.java index bf468f0d..dc481d09 100644 --- a/src/us/kbase/typedobj/test/DetailedValidationTest.java +++ b/src/test/java/us/kbase/test/typedobj/DetailedValidationTest.java @@ -1,4 +1,4 @@ -package us.kbase.typedobj.test; +package us.kbase.test.typedobj; import static org.junit.Assert.*; @@ -36,7 +36,7 @@ import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.TestCommon; import us.kbase.common.test.TestException; import us.kbase.typedobj.core.LocalTypeProvider; import us.kbase.typedobj.core.TypeDefId; diff --git a/src/us/kbase/typedobj/test/DummyIdHandlerFactory.java b/src/test/java/us/kbase/test/typedobj/DummyIdHandlerFactory.java similarity index 99% rename from src/us/kbase/typedobj/test/DummyIdHandlerFactory.java rename to src/test/java/us/kbase/test/typedobj/DummyIdHandlerFactory.java index dffaff24..79cf0515 100644 --- a/src/us/kbase/typedobj/test/DummyIdHandlerFactory.java +++ b/src/test/java/us/kbase/test/typedobj/DummyIdHandlerFactory.java @@ -1,4 +1,4 @@ -package us.kbase.typedobj.test; +package us.kbase.test.typedobj; import java.util.HashMap; import java.util.List; diff --git a/src/us/kbase/typedobj/test/DummyValidatedTypedObject.java b/src/test/java/us/kbase/test/typedobj/DummyValidatedTypedObject.java similarity index 98% rename from src/us/kbase/typedobj/test/DummyValidatedTypedObject.java rename to src/test/java/us/kbase/test/typedobj/DummyValidatedTypedObject.java index 854f7a2b..202f30a3 100644 --- a/src/us/kbase/typedobj/test/DummyValidatedTypedObject.java +++ b/src/test/java/us/kbase/test/typedobj/DummyValidatedTypedObject.java @@ -1,4 +1,4 @@ -package us.kbase.typedobj.test; +package us.kbase.test.typedobj; import java.util.Collections; import java.util.List; diff --git a/src/us/kbase/typedobj/test/IdProcessingTest.java b/src/test/java/us/kbase/test/typedobj/IdProcessingTest.java similarity index 99% rename from src/us/kbase/typedobj/test/IdProcessingTest.java rename to src/test/java/us/kbase/test/typedobj/IdProcessingTest.java index a25ebd75..79d64a2f 100644 --- a/src/us/kbase/typedobj/test/IdProcessingTest.java +++ b/src/test/java/us/kbase/test/typedobj/IdProcessingTest.java @@ -1,4 +1,4 @@ -package us.kbase.typedobj.test; +package us.kbase.test.typedobj; import static org.junit.Assert.*; import static org.hamcrest.CoreMatchers.is; @@ -40,7 +40,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.TestCommon; import us.kbase.common.test.TestException; import us.kbase.common.utils.sortjson.UTF8JsonSorterFactory; import us.kbase.typedobj.core.LocalTypeProvider; diff --git a/src/us/kbase/typedobj/test/IdRefTokenSequenceProviderTest.java b/src/test/java/us/kbase/test/typedobj/IdRefTokenSequenceProviderTest.java similarity index 99% rename from src/us/kbase/typedobj/test/IdRefTokenSequenceProviderTest.java rename to src/test/java/us/kbase/test/typedobj/IdRefTokenSequenceProviderTest.java index 4ff9155a..13f0c9fe 100644 --- a/src/us/kbase/typedobj/test/IdRefTokenSequenceProviderTest.java +++ b/src/test/java/us/kbase/test/typedobj/IdRefTokenSequenceProviderTest.java @@ -1,4 +1,4 @@ -package us.kbase.typedobj.test; +package us.kbase.test.typedobj; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; diff --git a/src/us/kbase/typedobj/test/JsonSchemas.java b/src/test/java/us/kbase/test/typedobj/JsonSchemas.java similarity index 94% rename from src/us/kbase/typedobj/test/JsonSchemas.java rename to src/test/java/us/kbase/test/typedobj/JsonSchemas.java index c63b32c6..214bf7ba 100644 --- a/src/us/kbase/typedobj/test/JsonSchemas.java +++ b/src/test/java/us/kbase/test/typedobj/JsonSchemas.java @@ -1,4 +1,4 @@ -package us.kbase.typedobj.test; +package us.kbase.test.typedobj; import java.util.Map; @@ -6,7 +6,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.collect.ImmutableMap; -import us.kbase.common.test.MapBuilder; +import us.kbase.test.common.MapBuilder; /** Json schema strings for use in tests. * @author gaprice@lbl.gov diff --git a/src/us/kbase/typedobj/test/JsonTokenValidatorTester.java b/src/test/java/us/kbase/test/typedobj/JsonTokenValidatorTester.java similarity index 98% rename from src/us/kbase/typedobj/test/JsonTokenValidatorTester.java rename to src/test/java/us/kbase/test/typedobj/JsonTokenValidatorTester.java index 800186d2..59a9d799 100644 --- a/src/us/kbase/typedobj/test/JsonTokenValidatorTester.java +++ b/src/test/java/us/kbase/test/typedobj/JsonTokenValidatorTester.java @@ -1,4 +1,4 @@ -package us.kbase.typedobj.test; +package us.kbase.test.typedobj; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; @@ -16,6 +16,7 @@ import us.kbase.common.service.JsonTokenStream; import us.kbase.common.service.UObject; +import us.kbase.test.typedobj.db.TypeRegisteringTest; import us.kbase.typedobj.core.LocalTypeProvider; import us.kbase.typedobj.core.TypeDefId; import us.kbase.typedobj.core.TypeDefName; @@ -24,7 +25,6 @@ import us.kbase.typedobj.db.MongoTypeStorage; import us.kbase.typedobj.db.TypeDefinitionDB; import us.kbase.typedobj.db.TypeStorage; -import us.kbase.typedobj.db.test.TypeRegisteringTest; import us.kbase.typedobj.idref.IdReferenceHandlerSet; import us.kbase.typedobj.idref.IdReferenceHandlerSetFactory; import us.kbase.typedobj.idref.IdReferenceHandlerSetFactoryBuilder; diff --git a/src/us/kbase/typedobj/test/LocalTypeProviderTest.java b/src/test/java/us/kbase/test/typedobj/LocalTypeProviderTest.java similarity index 96% rename from src/us/kbase/typedobj/test/LocalTypeProviderTest.java rename to src/test/java/us/kbase/test/typedobj/LocalTypeProviderTest.java index e11cc53e..3688b89e 100644 --- a/src/us/kbase/typedobj/test/LocalTypeProviderTest.java +++ b/src/test/java/us/kbase/test/typedobj/LocalTypeProviderTest.java @@ -1,4 +1,4 @@ -package us.kbase.typedobj.test; +package us.kbase.test.typedobj; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; @@ -8,7 +8,7 @@ import org.junit.Test; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.TestCommon; import us.kbase.typedobj.core.AbsoluteTypeDefId; import us.kbase.typedobj.core.LocalTypeProvider; import us.kbase.typedobj.core.TypeDefId; diff --git a/src/us/kbase/typedobj/test/MetadataExtractionTest.java b/src/test/java/us/kbase/test/typedobj/MetadataExtractionTest.java similarity index 99% rename from src/us/kbase/typedobj/test/MetadataExtractionTest.java rename to src/test/java/us/kbase/test/typedobj/MetadataExtractionTest.java index 1b1e473d..a791b7c5 100644 --- a/src/us/kbase/typedobj/test/MetadataExtractionTest.java +++ b/src/test/java/us/kbase/test/typedobj/MetadataExtractionTest.java @@ -1,4 +1,4 @@ -package us.kbase.typedobj.test; +package us.kbase.test.typedobj; import static org.junit.Assert.*; @@ -37,7 +37,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.SerializationFeature; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.TestCommon; import us.kbase.common.test.TestException; import us.kbase.typedobj.core.ExtractedMetadata; import us.kbase.typedobj.core.LocalTypeProvider; diff --git a/src/us/kbase/typedobj/test/ObjectExtractionByPathTest.java b/src/test/java/us/kbase/test/typedobj/ObjectExtractionByPathTest.java similarity index 99% rename from src/us/kbase/typedobj/test/ObjectExtractionByPathTest.java rename to src/test/java/us/kbase/test/typedobj/ObjectExtractionByPathTest.java index 8132113f..45bce5d6 100644 --- a/src/us/kbase/typedobj/test/ObjectExtractionByPathTest.java +++ b/src/test/java/us/kbase/test/typedobj/ObjectExtractionByPathTest.java @@ -1,4 +1,4 @@ -package us.kbase.typedobj.test; +package us.kbase.test.typedobj; import static org.junit.Assert.*; diff --git a/src/us/kbase/typedobj/test/ProfileBasicValidation.java b/src/test/java/us/kbase/test/typedobj/ProfileBasicValidation.java similarity index 99% rename from src/us/kbase/typedobj/test/ProfileBasicValidation.java rename to src/test/java/us/kbase/test/typedobj/ProfileBasicValidation.java index 8d39f612..cd0af94d 100644 --- a/src/us/kbase/typedobj/test/ProfileBasicValidation.java +++ b/src/test/java/us/kbase/test/typedobj/ProfileBasicValidation.java @@ -1,4 +1,4 @@ -package us.kbase.typedobj.test; +package us.kbase.test.typedobj; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; @@ -25,6 +25,7 @@ import org.apache.commons.io.FileUtils; +import us.kbase.test.typedobj.db.TypeRegisteringTest; import us.kbase.typedobj.core.LocalTypeProvider; import us.kbase.typedobj.core.TypeDefId; import us.kbase.typedobj.core.TypeDefName; @@ -33,7 +34,6 @@ import us.kbase.typedobj.db.MongoTypeStorage; import us.kbase.typedobj.db.TypeDefinitionDB; import us.kbase.typedobj.db.TypeStorage; -import us.kbase.typedobj.db.test.TypeRegisteringTest; import us.kbase.typedobj.idref.IdReferenceHandlerSet; import us.kbase.typedobj.idref.IdReferenceHandlerSetFactory; import us.kbase.typedobj.idref.IdReferenceHandlerSetFactoryBuilder; diff --git a/src/us/kbase/typedobj/test/TypeDefIdTest.java b/src/test/java/us/kbase/test/typedobj/TypeDefIdTest.java similarity index 93% rename from src/us/kbase/typedobj/test/TypeDefIdTest.java rename to src/test/java/us/kbase/test/typedobj/TypeDefIdTest.java index fe50520c..2dd60ff0 100644 --- a/src/us/kbase/typedobj/test/TypeDefIdTest.java +++ b/src/test/java/us/kbase/test/typedobj/TypeDefIdTest.java @@ -1,9 +1,9 @@ -package us.kbase.typedobj.test; +package us.kbase.test.typedobj; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; import static org.junit.Assert.fail; -import static us.kbase.common.test.TestCommon.assertExceptionCorrect; +import static us.kbase.test.common.TestCommon.assertExceptionCorrect; import org.junit.Test; diff --git a/src/us/kbase/typedobj/test/TypeDefsTest.java b/src/test/java/us/kbase/test/typedobj/TypeDefsTest.java similarity index 99% rename from src/us/kbase/typedobj/test/TypeDefsTest.java rename to src/test/java/us/kbase/test/typedobj/TypeDefsTest.java index 909c911d..582e5591 100644 --- a/src/us/kbase/typedobj/test/TypeDefsTest.java +++ b/src/test/java/us/kbase/test/typedobj/TypeDefsTest.java @@ -1,4 +1,4 @@ -package us.kbase.typedobj.test; +package us.kbase.test.typedobj; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertFalse; diff --git a/src/us/kbase/typedobj/test/TypeProviderTest.java b/src/test/java/us/kbase/test/typedobj/TypeProviderTest.java similarity index 95% rename from src/us/kbase/typedobj/test/TypeProviderTest.java rename to src/test/java/us/kbase/test/typedobj/TypeProviderTest.java index c87410c9..efbdfe70 100644 --- a/src/us/kbase/typedobj/test/TypeProviderTest.java +++ b/src/test/java/us/kbase/test/typedobj/TypeProviderTest.java @@ -1,4 +1,4 @@ -package us.kbase.typedobj.test; +package us.kbase.test.typedobj; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; @@ -7,7 +7,7 @@ import org.junit.Test; import nl.jqno.equalsverifier.EqualsVerifier; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.TestCommon; import us.kbase.typedobj.core.AbsoluteTypeDefId; import us.kbase.typedobj.core.TypeDefName; import us.kbase.typedobj.core.TypeProvider.ResolvedType; diff --git a/src/us/kbase/typedobj/test/TypedObjectValidationReportTest.java b/src/test/java/us/kbase/test/typedobj/TypedObjectValidationReportTest.java similarity index 99% rename from src/us/kbase/typedobj/test/TypedObjectValidationReportTest.java rename to src/test/java/us/kbase/test/typedobj/TypedObjectValidationReportTest.java index fb7a7e3c..46f8e924 100644 --- a/src/us/kbase/typedobj/test/TypedObjectValidationReportTest.java +++ b/src/test/java/us/kbase/test/typedobj/TypedObjectValidationReportTest.java @@ -1,4 +1,4 @@ -package us.kbase.typedobj.test; +package us.kbase.test.typedobj; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; @@ -22,8 +22,7 @@ import org.junit.BeforeClass; import org.junit.Test; - -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.TestCommon; import us.kbase.common.utils.sortjson.KeyDuplicationException; import us.kbase.common.utils.sortjson.TooManyKeysException; import us.kbase.common.utils.sortjson.UTF8JsonSorterFactory; diff --git a/src/us/kbase/typedobj/db/test/HighLoadParallelTester.java b/src/test/java/us/kbase/test/typedobj/db/HighLoadParallelTester.java similarity index 99% rename from src/us/kbase/typedobj/db/test/HighLoadParallelTester.java rename to src/test/java/us/kbase/test/typedobj/db/HighLoadParallelTester.java index 2c1b3c64..8e99ca7f 100644 --- a/src/us/kbase/typedobj/db/test/HighLoadParallelTester.java +++ b/src/test/java/us/kbase/test/typedobj/db/HighLoadParallelTester.java @@ -1,4 +1,4 @@ -package us.kbase.typedobj.db.test; +package us.kbase.test.typedobj.db; import java.io.File; import java.util.ArrayList; diff --git a/src/us/kbase/typedobj/db/test/MongoTypeStorageTest.java b/src/test/java/us/kbase/test/typedobj/db/MongoTypeStorageTest.java similarity index 99% rename from src/us/kbase/typedobj/db/test/MongoTypeStorageTest.java rename to src/test/java/us/kbase/test/typedobj/db/MongoTypeStorageTest.java index 930fd45c..c08495c8 100644 --- a/src/us/kbase/typedobj/db/test/MongoTypeStorageTest.java +++ b/src/test/java/us/kbase/test/typedobj/db/MongoTypeStorageTest.java @@ -1,4 +1,4 @@ -package us.kbase.typedobj.db.test; +package us.kbase.test.typedobj.db; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; @@ -16,7 +16,7 @@ import com.mongodb.client.MongoClients; import com.mongodb.client.MongoDatabase; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.TestCommon; import us.kbase.common.test.controllers.mongo.MongoController; import us.kbase.typedobj.db.ModuleInfo; import us.kbase.typedobj.db.MongoTypeStorage; diff --git a/src/us/kbase/typedobj/db/test/TestTypeStorage.java b/src/test/java/us/kbase/test/typedobj/db/TestTypeStorage.java similarity index 91% rename from src/us/kbase/typedobj/db/test/TestTypeStorage.java rename to src/test/java/us/kbase/test/typedobj/db/TestTypeStorage.java index e1af6daa..cab16747 100644 --- a/src/us/kbase/typedobj/db/test/TestTypeStorage.java +++ b/src/test/java/us/kbase/test/typedobj/db/TestTypeStorage.java @@ -1,4 +1,4 @@ -package us.kbase.typedobj.db.test; +package us.kbase.test.typedobj.db; import java.util.List; diff --git a/src/us/kbase/typedobj/db/test/TestTypeStorageFactory.java b/src/test/java/us/kbase/test/typedobj/db/TestTypeStorageFactory.java similarity index 98% rename from src/us/kbase/typedobj/db/test/TestTypeStorageFactory.java rename to src/test/java/us/kbase/test/typedobj/db/TestTypeStorageFactory.java index 546232e6..01b01a3e 100644 --- a/src/us/kbase/typedobj/db/test/TestTypeStorageFactory.java +++ b/src/test/java/us/kbase/test/typedobj/db/TestTypeStorageFactory.java @@ -1,4 +1,4 @@ -package us.kbase.typedobj.db.test; +package us.kbase.test.typedobj.db; import java.lang.reflect.InvocationHandler; import java.lang.reflect.InvocationTargetException; diff --git a/src/us/kbase/typedobj/db/test/TypeRegisteringTest.java b/src/test/java/us/kbase/test/typedobj/db/TypeRegisteringTest.java similarity index 99% rename from src/us/kbase/typedobj/db/test/TypeRegisteringTest.java rename to src/test/java/us/kbase/test/typedobj/db/TypeRegisteringTest.java index 2a89162f..3d746427 100644 --- a/src/us/kbase/typedobj/db/test/TypeRegisteringTest.java +++ b/src/test/java/us/kbase/test/typedobj/db/TypeRegisteringTest.java @@ -1,4 +1,4 @@ -package us.kbase.typedobj.db.test; +package us.kbase.test.typedobj.db; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.notNullValue; @@ -37,7 +37,7 @@ import com.mongodb.client.MongoClients; import com.mongodb.client.MongoDatabase; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.TestCommon; import us.kbase.common.test.controllers.mongo.MongoController; import us.kbase.typedobj.core.AbsoluteTypeDefId; import us.kbase.typedobj.core.MD5; diff --git a/src/us/kbase/typedobj/db/test/TypeStorageListener.java b/src/test/java/us/kbase/test/typedobj/db/TypeStorageListener.java similarity index 89% rename from src/us/kbase/typedobj/db/test/TypeStorageListener.java rename to src/test/java/us/kbase/test/typedobj/db/TypeStorageListener.java index ea7aee14..5e4d4400 100644 --- a/src/us/kbase/typedobj/db/test/TypeStorageListener.java +++ b/src/test/java/us/kbase/test/typedobj/db/TypeStorageListener.java @@ -1,4 +1,4 @@ -package us.kbase.typedobj.db.test; +package us.kbase.test.typedobj.db; import us.kbase.typedobj.exceptions.TypeStorageException; diff --git a/src/us/kbase/typedobj/test/idref/IdReferenceHandlerSetFactoryBuilderTest.java b/src/test/java/us/kbase/test/typedobj/idref/IdReferenceHandlerSetFactoryBuilderTest.java similarity index 98% rename from src/us/kbase/typedobj/test/idref/IdReferenceHandlerSetFactoryBuilderTest.java rename to src/test/java/us/kbase/test/typedobj/idref/IdReferenceHandlerSetFactoryBuilderTest.java index 5dd44f27..f1489507 100644 --- a/src/us/kbase/typedobj/test/idref/IdReferenceHandlerSetFactoryBuilderTest.java +++ b/src/test/java/us/kbase/test/typedobj/idref/IdReferenceHandlerSetFactoryBuilderTest.java @@ -1,4 +1,4 @@ -package us.kbase.typedobj.test.idref; +package us.kbase.test.typedobj.idref; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; @@ -7,7 +7,7 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyNoMoreInteractions; import static org.mockito.Mockito.when; -import static us.kbase.common.test.TestCommon.set; +import static us.kbase.test.common.TestCommon.set; import java.util.Arrays; import java.util.Collections; @@ -15,7 +15,7 @@ import org.junit.Test; import us.kbase.auth.AuthToken; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.TestCommon; import us.kbase.typedobj.idref.IdReference; import us.kbase.typedobj.idref.IdReferenceHandlerSet; import us.kbase.typedobj.idref.IdReferenceHandlerSet.IdReferenceHandler; diff --git a/src/us/kbase/typedobj/test/idref/IdReferencePermissionHandlerSetTest.java b/src/test/java/us/kbase/test/typedobj/idref/IdReferencePermissionHandlerSetTest.java similarity index 98% rename from src/us/kbase/typedobj/test/idref/IdReferencePermissionHandlerSetTest.java rename to src/test/java/us/kbase/test/typedobj/idref/IdReferencePermissionHandlerSetTest.java index c6d89b19..899d8370 100644 --- a/src/us/kbase/typedobj/test/idref/IdReferencePermissionHandlerSetTest.java +++ b/src/test/java/us/kbase/test/typedobj/idref/IdReferencePermissionHandlerSetTest.java @@ -1,4 +1,4 @@ -package us.kbase.typedobj.test.idref; +package us.kbase.test.typedobj.idref; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; @@ -7,13 +7,13 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyZeroInteractions; import static org.mockito.Mockito.when; -import static us.kbase.common.test.TestCommon.set; +import static us.kbase.test.common.TestCommon.set; import java.util.Collection; import org.junit.Test; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.TestCommon; import us.kbase.typedobj.idref.IdReferenceHandlerSetFactory.IdReferenceHandlerFactory; import us.kbase.typedobj.idref.IdReferenceHandlerSetFactoryBuilder; import us.kbase.typedobj.idref.IdReferencePermissionHandlerSet; diff --git a/src/us/kbase/typedobj/test/idref/IdReferenceTypeTest.java b/src/test/java/us/kbase/test/typedobj/idref/IdReferenceTypeTest.java similarity index 96% rename from src/us/kbase/typedobj/test/idref/IdReferenceTypeTest.java rename to src/test/java/us/kbase/test/typedobj/idref/IdReferenceTypeTest.java index 7e55acd9..3ac80cc4 100644 --- a/src/us/kbase/typedobj/test/idref/IdReferenceTypeTest.java +++ b/src/test/java/us/kbase/test/typedobj/idref/IdReferenceTypeTest.java @@ -1,4 +1,4 @@ -package us.kbase.typedobj.test.idref; +package us.kbase.test.typedobj.idref; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; @@ -9,7 +9,7 @@ import org.junit.Test; import nl.jqno.equalsverifier.EqualsVerifier; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.TestCommon; import us.kbase.typedobj.idref.IdReferenceType; public class IdReferenceTypeTest { diff --git a/src/us/kbase/workspace/test/JsonTokenStreamOCStat.java b/src/test/java/us/kbase/test/workspace/JsonTokenStreamOCStat.java similarity index 97% rename from src/us/kbase/workspace/test/JsonTokenStreamOCStat.java rename to src/test/java/us/kbase/test/workspace/JsonTokenStreamOCStat.java index 525f5508..0700322b 100644 --- a/src/us/kbase/workspace/test/JsonTokenStreamOCStat.java +++ b/src/test/java/us/kbase/test/workspace/JsonTokenStreamOCStat.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test; +package us.kbase.test.workspace; import java.util.LinkedHashMap; import java.util.Map; diff --git a/src/us/kbase/workspace/test/LongTextForTestUsage.java b/src/test/java/us/kbase/test/workspace/LongTextForTestUsage.java similarity index 96% rename from src/us/kbase/workspace/test/LongTextForTestUsage.java rename to src/test/java/us/kbase/test/workspace/LongTextForTestUsage.java index 78b9d301..5e446cd7 100644 --- a/src/us/kbase/workspace/test/LongTextForTestUsage.java +++ b/src/test/java/us/kbase/test/workspace/LongTextForTestUsage.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test; +package us.kbase.test.workspace; public class LongTextForTestUsage { diff --git a/src/us/kbase/workspace/test/UpdateOptionsMatcher.java b/src/test/java/us/kbase/test/workspace/UpdateOptionsMatcher.java similarity index 96% rename from src/us/kbase/workspace/test/UpdateOptionsMatcher.java rename to src/test/java/us/kbase/test/workspace/UpdateOptionsMatcher.java index 56fcf450..7ad98305 100644 --- a/src/us/kbase/workspace/test/UpdateOptionsMatcher.java +++ b/src/test/java/us/kbase/test/workspace/UpdateOptionsMatcher.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test; +package us.kbase.test.workspace; import org.mockito.ArgumentMatcher; diff --git a/src/us/kbase/workspace/test/WorkspaceMongoIndex.java b/src/test/java/us/kbase/test/workspace/WorkspaceMongoIndex.java similarity index 96% rename from src/us/kbase/workspace/test/WorkspaceMongoIndex.java rename to src/test/java/us/kbase/test/workspace/WorkspaceMongoIndex.java index 78959c14..d4921cc5 100644 --- a/src/us/kbase/workspace/test/WorkspaceMongoIndex.java +++ b/src/test/java/us/kbase/test/workspace/WorkspaceMongoIndex.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test; +package us.kbase.test.workspace; import com.mongodb.client.MongoDatabase; import org.bson.Document; diff --git a/src/us/kbase/workspace/test/WorkspaceServerThread.java b/src/test/java/us/kbase/test/workspace/WorkspaceServerThread.java similarity index 92% rename from src/us/kbase/workspace/test/WorkspaceServerThread.java rename to src/test/java/us/kbase/test/workspace/WorkspaceServerThread.java index d1966e40..6523f102 100644 --- a/src/us/kbase/workspace/test/WorkspaceServerThread.java +++ b/src/test/java/us/kbase/test/workspace/WorkspaceServerThread.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test; +package us.kbase.test.workspace; import us.kbase.workspace.WorkspaceServer; diff --git a/src/us/kbase/workspace/test/WorkspaceTestCommon.java b/src/test/java/us/kbase/test/workspace/WorkspaceTestCommon.java similarity index 97% rename from src/us/kbase/workspace/test/WorkspaceTestCommon.java rename to src/test/java/us/kbase/test/workspace/WorkspaceTestCommon.java index 43d504ed..4d70e622 100644 --- a/src/us/kbase/workspace/test/WorkspaceTestCommon.java +++ b/src/test/java/us/kbase/test/workspace/WorkspaceTestCommon.java @@ -1,6 +1,6 @@ -package us.kbase.workspace.test; +package us.kbase.test.workspace; -import static us.kbase.common.test.TestCommon.now; +import static us.kbase.test.common.TestCommon.now; import java.util.Arrays; import java.util.Map; diff --git a/src/us/kbase/workspace/test/controllers/arango/ArangoController.java b/src/test/java/us/kbase/test/workspace/controllers/arango/ArangoController.java similarity index 98% rename from src/us/kbase/workspace/test/controllers/arango/ArangoController.java rename to src/test/java/us/kbase/test/workspace/controllers/arango/ArangoController.java index ef852ea8..4b80b519 100644 --- a/src/us/kbase/workspace/test/controllers/arango/ArangoController.java +++ b/src/test/java/us/kbase/test/workspace/controllers/arango/ArangoController.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.controllers.arango; +package us.kbase.test.workspace.controllers.arango; import static us.kbase.common.test.controllers.ControllerCommon.checkExe; import static us.kbase.common.test.controllers.ControllerCommon.findFreePort; diff --git a/src/us/kbase/workspace/test/controllers/blobstore/BlobstoreController.java b/src/test/java/us/kbase/test/workspace/controllers/blobstore/BlobstoreController.java similarity index 98% rename from src/us/kbase/workspace/test/controllers/blobstore/BlobstoreController.java rename to src/test/java/us/kbase/test/workspace/controllers/blobstore/BlobstoreController.java index 1c6bb296..856a32b0 100644 --- a/src/us/kbase/workspace/test/controllers/blobstore/BlobstoreController.java +++ b/src/test/java/us/kbase/test/workspace/controllers/blobstore/BlobstoreController.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.controllers.blobstore; +package us.kbase.test.workspace.controllers.blobstore; import static us.kbase.common.test.controllers.ControllerCommon.checkExe; import static us.kbase.common.test.controllers.ControllerCommon.findFreePort; diff --git a/src/us/kbase/workspace/test/controllers/handle/HandleServiceController.java b/src/test/java/us/kbase/test/workspace/controllers/handle/HandleServiceController.java similarity index 98% rename from src/us/kbase/workspace/test/controllers/handle/HandleServiceController.java rename to src/test/java/us/kbase/test/workspace/controllers/handle/HandleServiceController.java index e38d1000..963d9416 100644 --- a/src/us/kbase/workspace/test/controllers/handle/HandleServiceController.java +++ b/src/test/java/us/kbase/test/workspace/controllers/handle/HandleServiceController.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.controllers.handle; +package us.kbase.test.workspace.controllers.handle; import static us.kbase.common.test.controllers.ControllerCommon.findFreePort; import static us.kbase.common.test.controllers.ControllerCommon.makeTempDirs; diff --git a/src/us/kbase/workspace/test/controllers/minio/MinioController.java b/src/test/java/us/kbase/test/workspace/controllers/minio/MinioController.java similarity index 98% rename from src/us/kbase/workspace/test/controllers/minio/MinioController.java rename to src/test/java/us/kbase/test/workspace/controllers/minio/MinioController.java index 0a57f983..f8bfe04b 100644 --- a/src/us/kbase/workspace/test/controllers/minio/MinioController.java +++ b/src/test/java/us/kbase/test/workspace/controllers/minio/MinioController.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.controllers.minio; +package us.kbase.test.workspace.controllers.minio; import static us.kbase.common.test.controllers.ControllerCommon.checkExe; import static us.kbase.common.test.controllers.ControllerCommon.findFreePort; diff --git a/src/us/kbase/workspace/test/controllers/sample/SampleServiceController.java b/src/test/java/us/kbase/test/workspace/controllers/sample/SampleServiceController.java similarity index 98% rename from src/us/kbase/workspace/test/controllers/sample/SampleServiceController.java rename to src/test/java/us/kbase/test/workspace/controllers/sample/SampleServiceController.java index 3b4732cd..ea568e18 100644 --- a/src/us/kbase/workspace/test/controllers/sample/SampleServiceController.java +++ b/src/test/java/us/kbase/test/workspace/controllers/sample/SampleServiceController.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.controllers.sample; +package us.kbase.test.workspace.controllers.sample; import static us.kbase.common.test.controllers.ControllerCommon.findFreePort; import static us.kbase.common.test.controllers.ControllerCommon.makeTempDirs; @@ -17,7 +17,7 @@ import org.ini4j.Ini; import org.ini4j.Profile.Section; -import us.kbase.workspace.test.controllers.arango.ArangoController; +import us.kbase.test.workspace.controllers.arango.ArangoController; /** Q&D Utility to run the Sample Service for the purposes of testing from Java. * @author gaprice@lbl.gov diff --git a/src/us/kbase/workspace/test/controllers/workspace/WorkspaceController.java b/src/test/java/us/kbase/test/workspace/controllers/workspace/WorkspaceController.java similarity index 98% rename from src/us/kbase/workspace/test/controllers/workspace/WorkspaceController.java rename to src/test/java/us/kbase/test/workspace/controllers/workspace/WorkspaceController.java index 0cd2e0e7..aae6691b 100644 --- a/src/us/kbase/workspace/test/controllers/workspace/WorkspaceController.java +++ b/src/test/java/us/kbase/test/workspace/controllers/workspace/WorkspaceController.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.controllers.workspace; +package us.kbase.test.workspace.controllers.workspace; import static us.kbase.common.test.controllers.ControllerCommon.findFreePort; import static us.kbase.common.test.controllers.ControllerCommon.makeTempDirs; diff --git a/src/us/kbase/workspace/test/database/DependencyStatusTest.java b/src/test/java/us/kbase/test/workspace/database/DependencyStatusTest.java similarity index 97% rename from src/us/kbase/workspace/test/database/DependencyStatusTest.java rename to src/test/java/us/kbase/test/workspace/database/DependencyStatusTest.java index 07dca258..57c758e2 100644 --- a/src/us/kbase/workspace/test/database/DependencyStatusTest.java +++ b/src/test/java/us/kbase/test/workspace/database/DependencyStatusTest.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.database; +package us.kbase.test.workspace.database; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; diff --git a/src/us/kbase/workspace/test/database/UtilTest.java b/src/test/java/us/kbase/test/workspace/database/UtilTest.java similarity index 98% rename from src/us/kbase/workspace/test/database/UtilTest.java rename to src/test/java/us/kbase/test/workspace/database/UtilTest.java index f1666bb7..2086d077 100644 --- a/src/us/kbase/workspace/test/database/UtilTest.java +++ b/src/test/java/us/kbase/test/workspace/database/UtilTest.java @@ -1,9 +1,9 @@ -package us.kbase.workspace.test.database; +package us.kbase.test.workspace.database; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; import static org.junit.Assert.fail; -import static us.kbase.common.test.TestCommon.list; +import static us.kbase.test.common.TestCommon.list; import java.util.Map; import java.util.HashMap; @@ -14,7 +14,7 @@ import org.junit.Test; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.TestCommon; import us.kbase.workspace.database.Util; public class UtilTest { diff --git a/src/us/kbase/workspace/test/database/mongo/GridFSBlobStoreTest.java b/src/test/java/us/kbase/test/workspace/database/mongo/GridFSBlobStoreTest.java similarity index 98% rename from src/us/kbase/workspace/test/database/mongo/GridFSBlobStoreTest.java rename to src/test/java/us/kbase/test/workspace/database/mongo/GridFSBlobStoreTest.java index e98e112f..104f3a86 100644 --- a/src/us/kbase/workspace/test/database/mongo/GridFSBlobStoreTest.java +++ b/src/test/java/us/kbase/test/workspace/database/mongo/GridFSBlobStoreTest.java @@ -1,11 +1,11 @@ -package us.kbase.workspace.test.database.mongo; +package us.kbase.test.workspace.database.mongo; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; import static org.junit.Assert.fail; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; -import static us.kbase.common.test.TestCommon.assertExceptionCorrect; +import static us.kbase.test.common.TestCommon.assertExceptionCorrect; import java.io.ByteArrayInputStream; import java.io.IOException; @@ -32,7 +32,7 @@ import com.mongodb.client.gridfs.GridFSBuckets; import com.mongodb.client.gridfs.model.GridFSUploadOptions; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.TestCommon; import us.kbase.common.test.controllers.mongo.MongoController; import us.kbase.typedobj.core.MD5; import us.kbase.typedobj.core.Restreamable; diff --git a/src/us/kbase/workspace/test/database/mongo/MongoInternalsTest.java b/src/test/java/us/kbase/test/workspace/database/mongo/MongoInternalsTest.java similarity index 99% rename from src/us/kbase/workspace/test/database/mongo/MongoInternalsTest.java rename to src/test/java/us/kbase/test/workspace/database/mongo/MongoInternalsTest.java index d2fe6af5..f087c740 100644 --- a/src/us/kbase/workspace/test/database/mongo/MongoInternalsTest.java +++ b/src/test/java/us/kbase/test/workspace/database/mongo/MongoInternalsTest.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.database.mongo; +package us.kbase.test.workspace.database.mongo; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.nullValue; @@ -6,10 +6,10 @@ import static org.junit.Assert.assertThat; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; -import static us.kbase.common.test.TestCommon.now; -import static us.kbase.common.test.TestCommon.assertCloseToNow; -import static us.kbase.common.test.TestCommon.assertExceptionCorrect; -import static us.kbase.workspace.test.WorkspaceTestCommon.basicProv; +import static us.kbase.test.common.TestCommon.assertCloseToNow; +import static us.kbase.test.common.TestCommon.assertExceptionCorrect; +import static us.kbase.test.common.TestCommon.now; +import static us.kbase.test.workspace.WorkspaceTestCommon.basicProv; import java.io.File; import java.lang.reflect.Constructor; @@ -38,9 +38,11 @@ import org.junit.Test; import us.kbase.common.service.UObject; -import us.kbase.common.test.TestCommon; import us.kbase.common.test.controllers.mongo.MongoController; import us.kbase.common.utils.sortjson.UTF8JsonSorterFactory; +import us.kbase.test.common.TestCommon; +import us.kbase.test.typedobj.DummyValidatedTypedObject; +import us.kbase.test.workspace.workspace.WorkspaceTester; import us.kbase.typedobj.core.AbsoluteTypeDefId; import us.kbase.typedobj.core.LocalTypeProvider; import us.kbase.typedobj.core.SubsetSelection; @@ -54,7 +56,6 @@ import us.kbase.typedobj.idref.IdReferenceHandlerSetFactoryBuilder; import us.kbase.typedobj.idref.IdReferenceType; import us.kbase.typedobj.idref.RemappedId; -import us.kbase.typedobj.test.DummyValidatedTypedObject; import us.kbase.workspace.database.ObjectIDNoWSNoVer; import us.kbase.workspace.database.ObjectIDResolvedWS; import us.kbase.workspace.database.ObjectIdentifier; @@ -82,7 +83,6 @@ import us.kbase.workspace.database.mongo.MongoWorkspaceDB; import us.kbase.workspace.database.mongo.ObjectSavePackage; import us.kbase.workspace.database.provenance.Provenance; -import us.kbase.workspace.test.workspace.WorkspaceTester; import com.google.common.collect.ImmutableMap; diff --git a/src/us/kbase/workspace/test/database/mongo/MongoStartUpTest.java b/src/test/java/us/kbase/test/workspace/database/mongo/MongoStartUpTest.java similarity index 98% rename from src/us/kbase/workspace/test/database/mongo/MongoStartUpTest.java rename to src/test/java/us/kbase/test/workspace/database/mongo/MongoStartUpTest.java index eb038694..a06dfef2 100644 --- a/src/us/kbase/workspace/test/database/mongo/MongoStartUpTest.java +++ b/src/test/java/us/kbase/test/workspace/database/mongo/MongoStartUpTest.java @@ -1,11 +1,11 @@ -package us.kbase.workspace.test.database.mongo; +package us.kbase.test.workspace.database.mongo; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; import static org.junit.Assert.fail; -import static us.kbase.common.test.TestCommon.assertExceptionCorrect; -import static us.kbase.common.test.TestCommon.set; -import static us.kbase.workspace.test.WorkspaceMongoIndex.getAndNormalizeIndexes; +import static us.kbase.test.common.TestCommon.assertExceptionCorrect; +import static us.kbase.test.common.TestCommon.set; +import static us.kbase.test.workspace.WorkspaceMongoIndex.getAndNormalizeIndexes; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; @@ -29,7 +29,7 @@ import com.mongodb.client.MongoCursor; import com.mongodb.client.MongoDatabase; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.TestCommon; import us.kbase.common.test.controllers.mongo.MongoController; import us.kbase.typedobj.core.TypeDefId; import us.kbase.typedobj.core.TypeDefName; diff --git a/src/us/kbase/workspace/test/database/mongo/MongoWorkspaceDBTest.java b/src/test/java/us/kbase/test/workspace/database/mongo/MongoWorkspaceDBTest.java similarity index 99% rename from src/us/kbase/workspace/test/database/mongo/MongoWorkspaceDBTest.java rename to src/test/java/us/kbase/test/workspace/database/mongo/MongoWorkspaceDBTest.java index 602e7366..a3c2bcc9 100644 --- a/src/us/kbase/workspace/test/database/mongo/MongoWorkspaceDBTest.java +++ b/src/test/java/us/kbase/test/workspace/database/mongo/MongoWorkspaceDBTest.java @@ -1,15 +1,15 @@ -package us.kbase.workspace.test.database.mongo; +package us.kbase.test.workspace.database.mongo; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; import static org.junit.Assert.fail; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; -import static us.kbase.common.test.TestCommon.inst; -import static us.kbase.common.test.TestCommon.list; -import static us.kbase.common.test.TestCommon.opt; -import static us.kbase.common.test.TestCommon.set; -import static us.kbase.workspace.test.WorkspaceTestCommon.basicProv; +import static us.kbase.test.common.TestCommon.inst; +import static us.kbase.test.common.TestCommon.list; +import static us.kbase.test.common.TestCommon.opt; +import static us.kbase.test.common.TestCommon.set; +import static us.kbase.test.workspace.WorkspaceTestCommon.basicProv; import java.io.ByteArrayInputStream; import java.io.IOException; @@ -44,16 +44,16 @@ import com.mongodb.client.MongoDatabase; import us.kbase.common.service.UObject; -import us.kbase.common.test.TestCommon; import us.kbase.common.test.controllers.mongo.MongoController; import us.kbase.common.utils.sortjson.UTF8JsonSorterFactory; +import us.kbase.test.common.TestCommon; +import us.kbase.test.typedobj.DummyValidatedTypedObject; import us.kbase.typedobj.core.AbsoluteTypeDefId; import us.kbase.typedobj.core.MD5; import us.kbase.typedobj.core.SubsetSelection; import us.kbase.typedobj.core.TypeDefId; import us.kbase.typedobj.core.TypeDefName; import us.kbase.typedobj.exceptions.TypedObjectExtractionException; -import us.kbase.typedobj.test.DummyValidatedTypedObject; import us.kbase.workspace.database.ByteArrayFileCacheManager; import us.kbase.workspace.database.ObjectIDResolvedWS; import us.kbase.workspace.database.ObjectInformation; diff --git a/src/us/kbase/workspace/test/database/mongo/ObjectListerTest.java b/src/test/java/us/kbase/test/workspace/database/mongo/ObjectListerTest.java similarity index 99% rename from src/us/kbase/workspace/test/database/mongo/ObjectListerTest.java rename to src/test/java/us/kbase/test/workspace/database/mongo/ObjectListerTest.java index 6a4bbcf9..867a32c8 100644 --- a/src/us/kbase/workspace/test/database/mongo/ObjectListerTest.java +++ b/src/test/java/us/kbase/test/workspace/database/mongo/ObjectListerTest.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.database.mongo; +package us.kbase.test.workspace.database.mongo; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; @@ -8,8 +8,8 @@ import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import static us.kbase.common.test.TestCommon.assertExceptionCorrect; -import static us.kbase.common.test.TestCommon.inst; +import static us.kbase.test.common.TestCommon.assertExceptionCorrect; +import static us.kbase.test.common.TestCommon.inst; import java.util.Arrays; import java.util.BitSet; @@ -32,7 +32,7 @@ import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoCursor; -import us.kbase.common.test.MapBuilder; +import us.kbase.test.common.MapBuilder; import us.kbase.typedobj.core.AbsoluteTypeDefId; import us.kbase.typedobj.core.TypeDefId; import us.kbase.typedobj.core.TypeDefName; diff --git a/src/us/kbase/workspace/test/database/mongo/PartialMock.java b/src/test/java/us/kbase/test/workspace/database/mongo/PartialMock.java similarity index 97% rename from src/us/kbase/workspace/test/database/mongo/PartialMock.java rename to src/test/java/us/kbase/test/workspace/database/mongo/PartialMock.java index d9e25cb9..a9f125d3 100644 --- a/src/us/kbase/workspace/test/database/mongo/PartialMock.java +++ b/src/test/java/us/kbase/test/workspace/database/mongo/PartialMock.java @@ -1,8 +1,8 @@ -package us.kbase.workspace.test.database.mongo; +package us.kbase.test.workspace.database.mongo; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; -import static us.kbase.common.test.TestCommon.set; +import static us.kbase.test.common.TestCommon.set; import java.lang.reflect.Constructor; import java.lang.reflect.InvocationTargetException; diff --git a/src/us/kbase/workspace/test/database/mongo/S3BlobStoreIntegrationTest.java b/src/test/java/us/kbase/test/workspace/database/mongo/S3BlobStoreIntegrationTest.java similarity index 98% rename from src/us/kbase/workspace/test/database/mongo/S3BlobStoreIntegrationTest.java rename to src/test/java/us/kbase/test/workspace/database/mongo/S3BlobStoreIntegrationTest.java index 250d80d5..2def675b 100644 --- a/src/us/kbase/workspace/test/database/mongo/S3BlobStoreIntegrationTest.java +++ b/src/test/java/us/kbase/test/workspace/database/mongo/S3BlobStoreIntegrationTest.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.database.mongo; +package us.kbase.test.workspace.database.mongo; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.startsWith; @@ -24,8 +24,9 @@ import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.s3.model.DeleteBucketRequest; import software.amazon.awssdk.services.s3.model.PutObjectRequest; -import us.kbase.common.test.TestCommon; import us.kbase.common.test.controllers.mongo.MongoController; +import us.kbase.test.common.TestCommon; +import us.kbase.test.workspace.controllers.minio.MinioController; import us.kbase.typedobj.core.MD5; import us.kbase.typedobj.core.Restreamable; import us.kbase.workspace.database.ByteArrayFileCacheManager; @@ -35,7 +36,6 @@ import us.kbase.workspace.database.mongo.S3ClientWithPresign; import us.kbase.workspace.database.mongo.exceptions.BlobStoreCommunicationException; import us.kbase.workspace.database.mongo.exceptions.NoSuchBlobException; -import us.kbase.workspace.test.controllers.minio.MinioController; public class S3BlobStoreIntegrationTest { diff --git a/src/us/kbase/workspace/test/database/mongo/S3BlobStoreTest.java b/src/test/java/us/kbase/test/workspace/database/mongo/S3BlobStoreTest.java similarity index 99% rename from src/us/kbase/workspace/test/database/mongo/S3BlobStoreTest.java rename to src/test/java/us/kbase/test/workspace/database/mongo/S3BlobStoreTest.java index 78b5e7c6..1541184c 100644 --- a/src/us/kbase/workspace/test/database/mongo/S3BlobStoreTest.java +++ b/src/test/java/us/kbase/test/workspace/database/mongo/S3BlobStoreTest.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.database.mongo; +package us.kbase.test.workspace.database.mongo; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; @@ -12,7 +12,7 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyNoMoreInteractions; import static org.mockito.Mockito.when; -import static us.kbase.common.test.TestCommon.assertLogEventsCorrect; +import static us.kbase.test.common.TestCommon.assertLogEventsCorrect; import java.io.ByteArrayInputStream; import java.io.IOException; @@ -47,8 +47,9 @@ import software.amazon.awssdk.services.s3.model.HeadObjectResponse; import software.amazon.awssdk.services.s3.model.NoSuchKeyException; import software.amazon.awssdk.services.s3.model.PutObjectRequest; -import us.kbase.common.test.TestCommon; -import us.kbase.common.test.TestCommon.LogEvent; +import us.kbase.test.common.TestCommon; +import us.kbase.test.common.TestCommon.LogEvent; +import us.kbase.test.workspace.UpdateOptionsMatcher; import us.kbase.typedobj.core.MD5; import us.kbase.typedobj.core.Restreamable; import us.kbase.workspace.database.ByteArrayFileCacheManager; @@ -59,7 +60,6 @@ import us.kbase.workspace.database.mongo.S3ClientWithPresign; import us.kbase.workspace.database.mongo.exceptions.BlobStoreCommunicationException; import us.kbase.workspace.database.mongo.exceptions.NoSuchBlobException; -import us.kbase.workspace.test.UpdateOptionsMatcher; public class S3BlobStoreTest { diff --git a/src/us/kbase/workspace/test/database/mongo/SchemaUpdaterTest.java b/src/test/java/us/kbase/test/workspace/database/mongo/SchemaUpdaterTest.java similarity index 98% rename from src/us/kbase/workspace/test/database/mongo/SchemaUpdaterTest.java rename to src/test/java/us/kbase/test/workspace/database/mongo/SchemaUpdaterTest.java index 40298e6e..a7351de6 100644 --- a/src/us/kbase/workspace/test/database/mongo/SchemaUpdaterTest.java +++ b/src/test/java/us/kbase/test/workspace/database/mongo/SchemaUpdaterTest.java @@ -1,11 +1,11 @@ -package us.kbase.workspace.test.database.mongo; +package us.kbase.test.workspace.database.mongo; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; import static org.junit.Assert.fail; import static org.mockito.Mockito.when; -import static us.kbase.workspace.test.WorkspaceTestCommon.basicProv; -import static us.kbase.workspace.test.WorkspaceMongoIndex.getAndNormalizeIndexes; +import static us.kbase.test.workspace.WorkspaceMongoIndex.getAndNormalizeIndexes; +import static us.kbase.test.workspace.WorkspaceTestCommon.basicProv; import java.nio.file.Paths; import java.time.Instant; @@ -28,7 +28,7 @@ import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.TestCommon; import us.kbase.common.test.controllers.mongo.MongoController; import us.kbase.workspace.database.ResolvedWorkspaceID; import us.kbase.workspace.database.WorkspaceUser; diff --git a/src/us/kbase/workspace/test/database/provenance/ExternalDataTest.java b/src/test/java/us/kbase/test/workspace/database/provenance/ExternalDataTest.java similarity index 98% rename from src/us/kbase/workspace/test/database/provenance/ExternalDataTest.java rename to src/test/java/us/kbase/test/workspace/database/provenance/ExternalDataTest.java index 9e7d4721..380779f2 100644 --- a/src/us/kbase/workspace/test/database/provenance/ExternalDataTest.java +++ b/src/test/java/us/kbase/test/workspace/database/provenance/ExternalDataTest.java @@ -1,19 +1,18 @@ -package us.kbase.workspace.test.database.provenance; +package us.kbase.test.workspace.database.provenance; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; import static org.junit.Assert.fail; -import static us.kbase.common.test.TestCommon.opt; -import static us.kbase.common.test.TestCommon.inst; -import static us.kbase.common.test.TestCommon.ES; +import static us.kbase.test.common.TestCommon.ES; +import static us.kbase.test.common.TestCommon.inst; +import static us.kbase.test.common.TestCommon.opt; import java.net.URL; import java.time.Instant; import java.util.Optional; import org.junit.Test; import nl.jqno.equalsverifier.EqualsVerifier; - -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.TestCommon; import us.kbase.workspace.database.provenance.ExternalData; public class ExternalDataTest { diff --git a/src/us/kbase/workspace/test/database/provenance/ProvenanceActionTest.java b/src/test/java/us/kbase/test/workspace/database/provenance/ProvenanceActionTest.java similarity index 99% rename from src/us/kbase/workspace/test/database/provenance/ProvenanceActionTest.java rename to src/test/java/us/kbase/test/workspace/database/provenance/ProvenanceActionTest.java index d5724c47..7b821c0b 100644 --- a/src/us/kbase/workspace/test/database/provenance/ProvenanceActionTest.java +++ b/src/test/java/us/kbase/test/workspace/database/provenance/ProvenanceActionTest.java @@ -1,11 +1,11 @@ -package us.kbase.workspace.test.database.provenance; +package us.kbase.test.workspace.database.provenance; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; import static org.junit.Assert.fail; -import static us.kbase.common.test.TestCommon.inst; -import static us.kbase.common.test.TestCommon.list; -import static us.kbase.common.test.TestCommon.opt; +import static us.kbase.test.common.TestCommon.inst; +import static us.kbase.test.common.TestCommon.list; +import static us.kbase.test.common.TestCommon.opt; import java.io.ByteArrayOutputStream; import java.time.Instant; @@ -22,8 +22,8 @@ import com.google.common.collect.ImmutableMap; import nl.jqno.equalsverifier.EqualsVerifier; -import us.kbase.common.test.MapBuilder; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.MapBuilder; +import us.kbase.test.common.TestCommon; import us.kbase.workspace.database.WorkspaceUser; import us.kbase.workspace.database.provenance.ExternalData; import us.kbase.workspace.database.provenance.ProvenanceAction; diff --git a/src/us/kbase/workspace/test/database/provenance/ProvenanceTest.java b/src/test/java/us/kbase/test/workspace/database/provenance/ProvenanceTest.java similarity index 97% rename from src/us/kbase/workspace/test/database/provenance/ProvenanceTest.java rename to src/test/java/us/kbase/test/workspace/database/provenance/ProvenanceTest.java index 3ac58485..6e5e9e0c 100644 --- a/src/us/kbase/workspace/test/database/provenance/ProvenanceTest.java +++ b/src/test/java/us/kbase/test/workspace/database/provenance/ProvenanceTest.java @@ -1,10 +1,10 @@ -package us.kbase.workspace.test.database.provenance; +package us.kbase.test.workspace.database.provenance; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; import static org.junit.Assert.fail; -import static us.kbase.common.test.TestCommon.inst; -import static us.kbase.common.test.TestCommon.list; +import static us.kbase.test.common.TestCommon.inst; +import static us.kbase.test.common.TestCommon.list; import java.time.Instant; import java.util.Collections; @@ -13,7 +13,7 @@ import org.junit.Test; import nl.jqno.equalsverifier.EqualsVerifier; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.TestCommon; import us.kbase.workspace.database.WorkspaceUser; import us.kbase.workspace.database.provenance.Provenance; import us.kbase.workspace.database.provenance.ProvenanceAction; diff --git a/src/us/kbase/workspace/test/database/provenance/SubActionTest.java b/src/test/java/us/kbase/test/workspace/database/provenance/SubActionTest.java similarity index 98% rename from src/us/kbase/workspace/test/database/provenance/SubActionTest.java rename to src/test/java/us/kbase/test/workspace/database/provenance/SubActionTest.java index e5b1a098..48f0b871 100644 --- a/src/us/kbase/workspace/test/database/provenance/SubActionTest.java +++ b/src/test/java/us/kbase/test/workspace/database/provenance/SubActionTest.java @@ -1,10 +1,10 @@ -package us.kbase.workspace.test.database.provenance; +package us.kbase.test.workspace.database.provenance; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; import static org.junit.Assert.fail; -import static us.kbase.common.test.TestCommon.opt; -import static us.kbase.common.test.TestCommon.ES; +import static us.kbase.test.common.TestCommon.ES; +import static us.kbase.test.common.TestCommon.opt; import java.net.URL; import java.util.Optional; @@ -12,7 +12,7 @@ import org.junit.Test; import nl.jqno.equalsverifier.EqualsVerifier; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.TestCommon; import us.kbase.workspace.database.provenance.SubAction; public class SubActionTest { diff --git a/src/us/kbase/workspace/test/docserver/DocServerTest.java b/src/test/java/us/kbase/test/workspace/docserver/DocServerTest.java similarity index 97% rename from src/us/kbase/workspace/test/docserver/DocServerTest.java rename to src/test/java/us/kbase/test/workspace/docserver/DocServerTest.java index 269d67ff..35c78088 100644 --- a/src/us/kbase/workspace/test/docserver/DocServerTest.java +++ b/src/test/java/us/kbase/test/workspace/docserver/DocServerTest.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.docserver; +package us.kbase.test.workspace.docserver; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.startsWith; @@ -37,7 +37,7 @@ import us.kbase.common.service.JsonServerSyslog; import us.kbase.common.service.JsonServerSyslog.SyslogOutput; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.TestCommon; import us.kbase.workspace.docserver.DocServer; public class DocServerTest { @@ -76,7 +76,7 @@ public static void setUpClass() throws Exception { .toAbsolutePath()); server = createServer("TestDocServer", - "/us/kbase/workspace/test/docserver"); + "/us/kbase/test/workspace/docserver"); iniFile = new File(TestCommon.getenv().get("KB_DEPLOYMENT_CONFIG")); docURL = getServerURL(server); System.out.println("Started doc server at " + docURL); @@ -228,31 +228,31 @@ public void beforeTest() throws Exception { @Test public void serverNameNull() throws Exception { - checkStartup(null, "DocServ", "/us/kbase/workspace/test/docserver", CT_HTML, + checkStartup(null, "DocServ", "/us/kbase/test/workspace/docserver", CT_HTML, IDX1_CONTENTS); } @Test public void serverNameEmpty() throws Exception { - checkStartup("", "DocServ", "/us/kbase/workspace/test/docserver", CT_HTML, IDX1_CONTENTS); + checkStartup("", "DocServ", "/us/kbase/test/workspace/docserver", CT_HTML, IDX1_CONTENTS); } @Test public void docsLocNull() throws Exception { - DocServer.setDefaultDocsLocation("/us/kbase/workspace/test/docserver/files"); + DocServer.setDefaultDocsLocation("/us/kbase/test/workspace/docserver/files"); checkStartup("WhooptyWoo", "WhooptyWoo", null, CT_HTML, IDX2_CONTENTS); } @Test public void docsLocEmpty() throws Exception { - DocServer.setDefaultDocsLocation("/us/kbase/workspace/test/docserver/files"); + DocServer.setDefaultDocsLocation("/us/kbase/test/workspace/docserver/files"); checkStartup("WhooptyWoo", "WhooptyWoo", "", CT_HTML, IDX2_CONTENTS); } @Test public void docsLocNoSlash() throws Exception { checkStartup("WhooptyWoo", "WhooptyWoo", - "us/kbase/workspace/test/docserver/files", CT_HTML, IDX2_CONTENTS); + "us/kbase/test/workspace/docserver/files", CT_HTML, IDX2_CONTENTS); } private void checkStartup( diff --git a/src/us/kbase/workspace/test/docserver/HttpServletRequestMock.java b/src/test/java/us/kbase/test/workspace/docserver/HttpServletRequestMock.java similarity index 99% rename from src/us/kbase/workspace/test/docserver/HttpServletRequestMock.java rename to src/test/java/us/kbase/test/workspace/docserver/HttpServletRequestMock.java index eb83bacc..5e3e6b9f 100644 --- a/src/us/kbase/workspace/test/docserver/HttpServletRequestMock.java +++ b/src/test/java/us/kbase/test/workspace/docserver/HttpServletRequestMock.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.docserver; +package us.kbase.test.workspace.docserver; import java.io.BufferedReader; import java.io.IOException; diff --git a/src/us/kbase/workspace/test/docserver/HttpServletResponseMock.java b/src/test/java/us/kbase/test/workspace/docserver/HttpServletResponseMock.java similarity index 98% rename from src/us/kbase/workspace/test/docserver/HttpServletResponseMock.java rename to src/test/java/us/kbase/test/workspace/docserver/HttpServletResponseMock.java index 746f7660..9ee5728e 100644 --- a/src/us/kbase/workspace/test/docserver/HttpServletResponseMock.java +++ b/src/test/java/us/kbase/test/workspace/docserver/HttpServletResponseMock.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.docserver; +package us.kbase.test.workspace.docserver; import java.io.IOException; import java.io.PrintWriter; diff --git a/src/us/kbase/workspace/test/kbase/ArgUtilsTest.java b/src/test/java/us/kbase/test/workspace/kbase/ArgUtilsTest.java similarity index 99% rename from src/us/kbase/workspace/test/kbase/ArgUtilsTest.java rename to src/test/java/us/kbase/test/workspace/kbase/ArgUtilsTest.java index f33a7626..36473574 100644 --- a/src/us/kbase/workspace/test/kbase/ArgUtilsTest.java +++ b/src/test/java/us/kbase/test/workspace/kbase/ArgUtilsTest.java @@ -1,12 +1,12 @@ -package us.kbase.workspace.test.kbase; +package us.kbase.test.workspace.kbase; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; import static org.junit.Assert.fail; +import static us.kbase.test.common.TestCommon.inst; +import static us.kbase.test.common.TestCommon.list; import static us.kbase.workspace.kbase.ArgUtils.chooseInstant; import static us.kbase.workspace.kbase.ArgUtils.processProvenance; -import static us.kbase.common.test.TestCommon.inst; -import static us.kbase.common.test.TestCommon.list; import java.time.Instant; import java.util.HashMap; @@ -18,7 +18,7 @@ import com.google.common.collect.ImmutableMap; import us.kbase.common.service.UObject; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.TestCommon; import us.kbase.workspace.ExternalDataUnit; import us.kbase.workspace.database.WorkspaceUser; import us.kbase.workspace.database.provenance.ExternalData; diff --git a/src/us/kbase/workspace/test/kbase/BytestreamIdHandlerFactoryTest.java b/src/test/java/us/kbase/test/workspace/kbase/BytestreamIdHandlerFactoryTest.java similarity index 99% rename from src/us/kbase/workspace/test/kbase/BytestreamIdHandlerFactoryTest.java rename to src/test/java/us/kbase/test/workspace/kbase/BytestreamIdHandlerFactoryTest.java index f362e0a1..cdfb5097 100644 --- a/src/us/kbase/workspace/test/kbase/BytestreamIdHandlerFactoryTest.java +++ b/src/test/java/us/kbase/test/workspace/kbase/BytestreamIdHandlerFactoryTest.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.kbase; +package us.kbase.test.workspace.kbase; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; @@ -12,7 +12,7 @@ import static org.mockito.Mockito.verifyNoMoreInteractions; import static org.mockito.Mockito.verifyZeroInteractions; import static org.mockito.Mockito.when; -import static us.kbase.common.test.TestCommon.set; +import static us.kbase.test.common.TestCommon.set; import java.io.IOException; import java.util.Arrays; @@ -25,7 +25,6 @@ import org.junit.Test; import us.kbase.auth.AuthToken; -import us.kbase.common.test.TestCommon; import us.kbase.shock.client.BasicShockClient; import us.kbase.shock.client.ShockACL; import us.kbase.shock.client.ShockACLType; @@ -35,6 +34,7 @@ import us.kbase.shock.client.exceptions.ShockAuthorizationException; import us.kbase.shock.client.exceptions.ShockHttpException; import us.kbase.shock.client.exceptions.ShockNoNodeException; +import us.kbase.test.common.TestCommon; import us.kbase.typedobj.idref.IdReferenceType; import us.kbase.typedobj.idref.SimpleRemappedId; import us.kbase.typedobj.idref.IdReferenceHandlerSet.IdReferenceException; diff --git a/src/us/kbase/workspace/test/kbase/DelegatingTypeProviderTest.java b/src/test/java/us/kbase/test/workspace/kbase/DelegatingTypeProviderTest.java similarity index 99% rename from src/us/kbase/workspace/test/kbase/DelegatingTypeProviderTest.java rename to src/test/java/us/kbase/test/workspace/kbase/DelegatingTypeProviderTest.java index 6d51c19d..a7316077 100644 --- a/src/us/kbase/workspace/test/kbase/DelegatingTypeProviderTest.java +++ b/src/test/java/us/kbase/test/workspace/kbase/DelegatingTypeProviderTest.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.kbase; +package us.kbase.test.workspace.kbase; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; @@ -7,8 +7,8 @@ import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import static us.kbase.common.test.TestCommon.list; -import static us.kbase.common.test.TestCommon.LONG1001; +import static us.kbase.test.common.TestCommon.LONG1001; +import static us.kbase.test.common.TestCommon.list; import java.io.IOException; import java.util.List; @@ -20,7 +20,7 @@ import us.kbase.common.service.JsonClientException; import us.kbase.common.service.ServerException; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.TestCommon; import us.kbase.typedobj.core.AbsoluteTypeDefId; import us.kbase.typedobj.core.MD5; import us.kbase.typedobj.core.TypeDefId; diff --git a/src/us/kbase/workspace/test/kbase/HandleAndBytestreamIntegrationTest.java b/src/test/java/us/kbase/test/workspace/kbase/HandleAndBytestreamIntegrationTest.java similarity index 98% rename from src/us/kbase/workspace/test/kbase/HandleAndBytestreamIntegrationTest.java rename to src/test/java/us/kbase/test/workspace/kbase/HandleAndBytestreamIntegrationTest.java index d59b783d..95a98963 100644 --- a/src/us/kbase/workspace/test/kbase/HandleAndBytestreamIntegrationTest.java +++ b/src/test/java/us/kbase/test/workspace/kbase/HandleAndBytestreamIntegrationTest.java @@ -1,13 +1,13 @@ -package us.kbase.workspace.test.kbase; +package us.kbase.test.workspace.kbase; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.nullValue; import static org.hamcrest.CoreMatchers.startsWith; import static org.junit.Assert.assertThat; import static org.junit.Assert.fail; -import static us.kbase.common.test.TestCommon.list; -import static us.kbase.common.test.TestCommon.set; -import static us.kbase.workspace.test.kbase.JSONRPCLayerTester.administerCommand; +import static us.kbase.test.common.TestCommon.list; +import static us.kbase.test.common.TestCommon.set; +import static us.kbase.test.workspace.kbase.JSONRPCLayerTester.administerCommand; import java.io.ByteArrayInputStream; import java.io.File; @@ -42,7 +42,6 @@ import us.kbase.common.mongo.exceptions.InvalidHostException; import us.kbase.common.service.ServerException; import us.kbase.common.service.UObject; -import us.kbase.common.test.TestCommon; import us.kbase.common.test.TestException; import us.kbase.common.test.controllers.mongo.MongoController; import us.kbase.shock.client.BasicShockClient; @@ -52,6 +51,11 @@ import us.kbase.shock.client.ShockNodeId; import us.kbase.shock.client.ShockUserId; import us.kbase.test.auth2.authcontroller.AuthController; +import us.kbase.test.common.TestCommon; +import us.kbase.test.workspace.WorkspaceServerThread; +import us.kbase.test.workspace.controllers.blobstore.BlobstoreController; +import us.kbase.test.workspace.controllers.handle.HandleServiceController; +import us.kbase.test.workspace.controllers.minio.MinioController; import us.kbase.typedobj.idref.IdReference; import us.kbase.typedobj.idref.IdReferenceHandlerSet; import us.kbase.typedobj.idref.IdReferenceHandlerSet.TooManyIdsException; @@ -71,10 +75,6 @@ import us.kbase.workspace.WorkspaceClient; import us.kbase.workspace.WorkspaceServer; import us.kbase.workspace.kbase.HandleIdHandlerFactory; -import us.kbase.workspace.test.WorkspaceServerThread; -import us.kbase.workspace.test.controllers.blobstore.BlobstoreController; -import us.kbase.workspace.test.controllers.handle.HandleServiceController; -import us.kbase.workspace.test.controllers.minio.MinioController; public class HandleAndBytestreamIntegrationTest { diff --git a/src/us/kbase/workspace/test/kbase/HandleIdHandlerFactoryTest.java b/src/test/java/us/kbase/test/workspace/kbase/HandleIdHandlerFactoryTest.java similarity index 98% rename from src/us/kbase/workspace/test/kbase/HandleIdHandlerFactoryTest.java rename to src/test/java/us/kbase/test/workspace/kbase/HandleIdHandlerFactoryTest.java index 7069b39a..08b96d8d 100644 --- a/src/us/kbase/workspace/test/kbase/HandleIdHandlerFactoryTest.java +++ b/src/test/java/us/kbase/test/workspace/kbase/HandleIdHandlerFactoryTest.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.kbase; +package us.kbase.test.workspace.kbase; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; @@ -8,7 +8,7 @@ import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyZeroInteractions; import static org.mockito.Mockito.when; -import static us.kbase.common.test.TestCommon.set; +import static us.kbase.test.common.TestCommon.set; import java.io.IOException; import java.util.Arrays; @@ -19,11 +19,11 @@ import com.google.common.collect.ImmutableMap; +import us.kbase.abstracthandle.AbstractHandleClient; import us.kbase.common.service.JsonClientException; import us.kbase.common.service.ServerException; import us.kbase.common.service.UnauthorizedException; -import us.kbase.common.test.TestCommon; -import us.kbase.abstracthandle.AbstractHandleClient; +import us.kbase.test.common.TestCommon; import us.kbase.typedobj.idref.IdReferencePermissionHandlerSet.IdReferencePermissionHandler; import us.kbase.typedobj.idref.IdReferencePermissionHandlerSet.IdReferencePermissionHandlerException; import us.kbase.typedobj.idref.IdReferenceType; diff --git a/src/us/kbase/workspace/test/kbase/IdentifierUtilsTest.java b/src/test/java/us/kbase/test/workspace/kbase/IdentifierUtilsTest.java similarity index 99% rename from src/us/kbase/workspace/test/kbase/IdentifierUtilsTest.java rename to src/test/java/us/kbase/test/workspace/kbase/IdentifierUtilsTest.java index 82826dbf..4829b165 100644 --- a/src/us/kbase/workspace/test/kbase/IdentifierUtilsTest.java +++ b/src/test/java/us/kbase/test/workspace/kbase/IdentifierUtilsTest.java @@ -1,13 +1,13 @@ -package us.kbase.workspace.test.kbase; +package us.kbase.test.workspace.kbase; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; import static org.junit.Assert.fail; -import static us.kbase.common.test.TestCommon.ES; -import static us.kbase.common.test.TestCommon.EL; -import static us.kbase.common.test.TestCommon.EI; -import static us.kbase.common.test.TestCommon.opt; -import static us.kbase.common.test.TestCommon.optn; +import static us.kbase.test.common.TestCommon.EI; +import static us.kbase.test.common.TestCommon.EL; +import static us.kbase.test.common.TestCommon.ES; +import static us.kbase.test.common.TestCommon.opt; +import static us.kbase.test.common.TestCommon.optn; import java.util.Arrays; import java.util.Collections; @@ -17,7 +17,7 @@ import org.junit.Test; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.TestCommon; import us.kbase.typedobj.core.SubsetSelection; import us.kbase.workspace.ObjectIdentity; import us.kbase.workspace.ObjectSpecification; diff --git a/src/us/kbase/workspace/test/kbase/JSONRPCLayerLongTest.java b/src/test/java/us/kbase/test/workspace/kbase/JSONRPCLayerLongTest.java similarity index 99% rename from src/us/kbase/workspace/test/kbase/JSONRPCLayerLongTest.java rename to src/test/java/us/kbase/test/workspace/kbase/JSONRPCLayerLongTest.java index a97c4fdc..9cd3c2c8 100644 --- a/src/us/kbase/workspace/test/kbase/JSONRPCLayerLongTest.java +++ b/src/test/java/us/kbase/test/workspace/kbase/JSONRPCLayerLongTest.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.kbase; +package us.kbase.test.workspace.kbase; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; @@ -30,6 +30,7 @@ import us.kbase.kidl.KbStruct; import us.kbase.kidl.KbStructItem; import us.kbase.kidl.KbType; +import us.kbase.test.workspace.workspace.WorkspaceTest; import us.kbase.workspace.CreateWorkspaceParams; import us.kbase.workspace.GetObjects2Params; import us.kbase.workspace.ObjectData; @@ -37,7 +38,6 @@ import us.kbase.workspace.ObjectSpecification; import us.kbase.workspace.RegisterTypespecParams; import us.kbase.workspace.SaveObjectsParams; -import us.kbase.workspace.test.workspace.WorkspaceTest; import com.fasterxml.jackson.core.JsonEncoding; import com.fasterxml.jackson.core.JsonGenerator; diff --git a/src/us/kbase/workspace/test/kbase/JSONRPCLayerTest.java b/src/test/java/us/kbase/test/workspace/kbase/JSONRPCLayerTest.java similarity index 99% rename from src/us/kbase/workspace/test/kbase/JSONRPCLayerTest.java rename to src/test/java/us/kbase/test/workspace/kbase/JSONRPCLayerTest.java index b606ba6c..bc5f1242 100644 --- a/src/us/kbase/workspace/test/kbase/JSONRPCLayerTest.java +++ b/src/test/java/us/kbase/test/workspace/kbase/JSONRPCLayerTest.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.kbase; +package us.kbase.test.workspace.kbase; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.containsString; @@ -7,9 +7,9 @@ import static org.junit.Assert.assertNull; import static org.junit.Assert.assertThat; import static org.junit.Assert.fail; -import static us.kbase.common.test.TestCommon.assertExceptionCorrect; -import static us.kbase.common.test.TestCommon.list; -import static us.kbase.common.test.TestCommon.set; +import static us.kbase.test.common.TestCommon.assertExceptionCorrect; +import static us.kbase.test.common.TestCommon.list; +import static us.kbase.test.common.TestCommon.set; import java.io.InputStream; import java.net.HttpURLConnection; diff --git a/src/us/kbase/workspace/test/kbase/JSONRPCLayerTester.java b/src/test/java/us/kbase/test/workspace/kbase/JSONRPCLayerTester.java similarity index 99% rename from src/us/kbase/workspace/test/kbase/JSONRPCLayerTester.java rename to src/test/java/us/kbase/test/workspace/kbase/JSONRPCLayerTester.java index c6c0ef84..3a5bad2f 100644 --- a/src/us/kbase/workspace/test/kbase/JSONRPCLayerTester.java +++ b/src/test/java/us/kbase/test/workspace/kbase/JSONRPCLayerTester.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.kbase; +package us.kbase.test.workspace.kbase; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.containsString; @@ -7,8 +7,8 @@ import static org.junit.Assert.assertThat; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; -import static us.kbase.common.test.TestCommon.assertExceptionCorrect; -import static us.kbase.common.test.TestCommon.list; +import static us.kbase.test.common.TestCommon.assertExceptionCorrect; +import static us.kbase.test.common.TestCommon.list; import java.io.File; import java.io.IOException; @@ -47,9 +47,11 @@ import us.kbase.common.service.Tuple11; import us.kbase.common.service.Tuple9; import us.kbase.common.service.UObject; -import us.kbase.common.test.TestCommon; import us.kbase.common.test.controllers.mongo.MongoController; import us.kbase.test.auth2.authcontroller.AuthController; +import us.kbase.test.common.TestCommon; +import us.kbase.test.workspace.JsonTokenStreamOCStat; +import us.kbase.test.workspace.WorkspaceServerThread; import us.kbase.typedobj.core.AbsoluteTypeDefId; import us.kbase.typedobj.core.TempFilesManager; import us.kbase.workspace.AlterWorkspaceMetadataParams; @@ -81,8 +83,6 @@ import us.kbase.workspace.database.UncheckedUserMetadata; import us.kbase.workspace.database.WorkspaceUser; import us.kbase.workspace.kbase.InitWorkspaceServer; -import us.kbase.workspace.test.JsonTokenStreamOCStat; -import us.kbase.workspace.test.WorkspaceServerThread; import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.databind.JsonMappingException; diff --git a/src/us/kbase/workspace/test/kbase/KBaseWorkspaceConfigTest.java b/src/test/java/us/kbase/test/workspace/kbase/KBaseWorkspaceConfigTest.java similarity index 99% rename from src/us/kbase/workspace/test/kbase/KBaseWorkspaceConfigTest.java rename to src/test/java/us/kbase/test/workspace/kbase/KBaseWorkspaceConfigTest.java index 6fc16640..be6b8696 100644 --- a/src/us/kbase/workspace/test/kbase/KBaseWorkspaceConfigTest.java +++ b/src/test/java/us/kbase/test/workspace/kbase/KBaseWorkspaceConfigTest.java @@ -1,9 +1,9 @@ -package us.kbase.workspace.test.kbase; +package us.kbase.test.workspace.kbase; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; import static org.junit.Assert.fail; -import static us.kbase.common.test.TestCommon.set; +import static us.kbase.test.common.TestCommon.set; import static us.kbase.common.test.controllers.ControllerCommon.makeTempDirs; import java.io.BufferedWriter; @@ -30,8 +30,8 @@ import nl.jqno.equalsverifier.EqualsVerifier; import software.amazon.awssdk.regions.Region; -import us.kbase.common.test.MapBuilder; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.MapBuilder; +import us.kbase.test.common.TestCommon; import us.kbase.workspace.kbase.BackendType; import us.kbase.workspace.kbase.KBaseWorkspaceConfig; import us.kbase.workspace.kbase.KBaseWorkspaceConfig.KBaseWorkspaceConfigException; diff --git a/src/us/kbase/workspace/test/kbase/LoggingTest.java b/src/test/java/us/kbase/test/workspace/kbase/LoggingTest.java similarity index 99% rename from src/us/kbase/workspace/test/kbase/LoggingTest.java rename to src/test/java/us/kbase/test/workspace/kbase/LoggingTest.java index fe5bbaa3..ca5b7a8f 100644 --- a/src/us/kbase/workspace/test/kbase/LoggingTest.java +++ b/src/test/java/us/kbase/test/workspace/kbase/LoggingTest.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.kbase; +package us.kbase.test.workspace.kbase; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; @@ -31,9 +31,10 @@ import us.kbase.common.service.UObject; import us.kbase.common.service.JsonServerSyslog.SyslogOutput; import us.kbase.common.service.Tuple11; -import us.kbase.common.test.TestCommon; import us.kbase.common.test.controllers.mongo.MongoController; import us.kbase.test.auth2.authcontroller.AuthController; +import us.kbase.test.common.TestCommon; +import us.kbase.test.workspace.WorkspaceServerThread; import us.kbase.workspace.AlterAdminObjectMetadataParams; import us.kbase.workspace.CopyObjectParams; import us.kbase.workspace.CreateWorkspaceParams; @@ -50,12 +51,12 @@ import us.kbase.workspace.WorkspaceClient; import us.kbase.workspace.WorkspaceServer; import us.kbase.workspace.database.DynamicConfig; -import us.kbase.workspace.test.WorkspaceServerThread; import com.mongodb.client.MongoClient; import com.mongodb.client.MongoClients; import com.mongodb.client.MongoDatabase; + /** Tests application logging only - not the standard logging that comes with * JsonServerServlet. * @author gaprice@lbl.gov diff --git a/src/us/kbase/workspace/test/kbase/SampleIDHandlerFactoryTest.java b/src/test/java/us/kbase/test/workspace/kbase/SampleIDHandlerFactoryTest.java similarity index 99% rename from src/us/kbase/workspace/test/kbase/SampleIDHandlerFactoryTest.java rename to src/test/java/us/kbase/test/workspace/kbase/SampleIDHandlerFactoryTest.java index 34da13d6..0f753379 100644 --- a/src/us/kbase/workspace/test/kbase/SampleIDHandlerFactoryTest.java +++ b/src/test/java/us/kbase/test/workspace/kbase/SampleIDHandlerFactoryTest.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.kbase; +package us.kbase.test.workspace.kbase; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; @@ -25,11 +25,11 @@ import us.kbase.common.service.JsonClientException; import us.kbase.common.service.ServerException; import us.kbase.common.service.UnauthorizedException; -import us.kbase.common.test.TestCommon; import us.kbase.sampleservice.GetSampleACLsParams; import us.kbase.sampleservice.SampleACLs; import us.kbase.sampleservice.SampleServiceClient; import us.kbase.sampleservice.UpdateSamplesACLsParams; +import us.kbase.test.common.TestCommon; import us.kbase.typedobj.idref.IdReferenceType; import us.kbase.typedobj.idref.SimpleRemappedId; import us.kbase.typedobj.idref.IdReferenceHandlerSet.IdReferenceException; diff --git a/src/us/kbase/workspace/test/kbase/SampleServiceIntegrationTest.java b/src/test/java/us/kbase/test/workspace/kbase/SampleServiceIntegrationTest.java similarity index 98% rename from src/us/kbase/workspace/test/kbase/SampleServiceIntegrationTest.java rename to src/test/java/us/kbase/test/workspace/kbase/SampleServiceIntegrationTest.java index 0706b22a..f17ad874 100644 --- a/src/us/kbase/workspace/test/kbase/SampleServiceIntegrationTest.java +++ b/src/test/java/us/kbase/test/workspace/kbase/SampleServiceIntegrationTest.java @@ -1,11 +1,11 @@ -package us.kbase.workspace.test.kbase; +package us.kbase.test.workspace.kbase; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; import static org.junit.Assert.fail; import static us.kbase.common.test.controllers.ControllerCommon.findFreePort; -import static us.kbase.common.test.TestCommon.set; -import static us.kbase.workspace.test.kbase.JSONRPCLayerTester.administerCommand; +import static us.kbase.test.common.TestCommon.set; +import static us.kbase.test.workspace.kbase.JSONRPCLayerTester.administerCommand; import java.io.File; import java.io.IOException; @@ -39,7 +39,6 @@ import us.kbase.common.service.JsonClientException; import us.kbase.common.service.ServerException; import us.kbase.common.service.UObject; -import us.kbase.common.test.TestCommon; import us.kbase.common.test.TestException; import us.kbase.common.test.controllers.mongo.MongoController; import us.kbase.sampleservice.CreateSampleParams; @@ -51,6 +50,10 @@ import us.kbase.sampleservice.SampleServiceClient; import us.kbase.sampleservice.UpdateSampleACLsParams; import us.kbase.test.auth2.authcontroller.AuthController; +import us.kbase.test.common.TestCommon; +import us.kbase.test.workspace.WorkspaceServerThread; +import us.kbase.test.workspace.controllers.arango.ArangoController; +import us.kbase.test.workspace.controllers.sample.SampleServiceController; import us.kbase.workspace.CreateWorkspaceParams; import us.kbase.workspace.GetObjects2Params; import us.kbase.workspace.ObjectData; @@ -63,9 +66,6 @@ import us.kbase.workspace.WorkspaceClient; import us.kbase.workspace.WorkspaceServer; import us.kbase.workspace.database.DynamicConfig; -import us.kbase.workspace.test.WorkspaceServerThread; -import us.kbase.workspace.test.controllers.arango.ArangoController; -import us.kbase.workspace.test.controllers.sample.SampleServiceController; public class SampleServiceIntegrationTest { diff --git a/src/us/kbase/workspace/test/kbase/SchemaUpdaterCLITest.java b/src/test/java/us/kbase/test/workspace/kbase/SchemaUpdaterCLITest.java similarity index 98% rename from src/us/kbase/workspace/test/kbase/SchemaUpdaterCLITest.java rename to src/test/java/us/kbase/test/workspace/kbase/SchemaUpdaterCLITest.java index 8e633b75..7d90cf1c 100644 --- a/src/us/kbase/workspace/test/kbase/SchemaUpdaterCLITest.java +++ b/src/test/java/us/kbase/test/workspace/kbase/SchemaUpdaterCLITest.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.kbase; +package us.kbase.test.workspace.kbase; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.containsString; @@ -30,8 +30,8 @@ import com.mongodb.client.MongoClient; import com.mongodb.client.MongoDatabase; -import us.kbase.common.test.MapBuilder; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.MapBuilder; +import us.kbase.test.common.TestCommon; import us.kbase.workspace.database.mongo.SchemaUpdater; import us.kbase.workspace.database.mongo.SchemaUpdater.SchemaUpdateException; import us.kbase.workspace.kbase.KBaseWorkspaceConfig; diff --git a/src/us/kbase/workspace/test/kbase/TypeClientTest.java b/src/test/java/us/kbase/test/workspace/kbase/TypeClientTest.java similarity index 99% rename from src/us/kbase/workspace/test/kbase/TypeClientTest.java rename to src/test/java/us/kbase/test/workspace/kbase/TypeClientTest.java index 6d4b2ae9..338bfbee 100644 --- a/src/us/kbase/workspace/test/kbase/TypeClientTest.java +++ b/src/test/java/us/kbase/test/workspace/kbase/TypeClientTest.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.kbase; +package us.kbase.test.workspace.kbase; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; @@ -8,7 +8,7 @@ import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import static us.kbase.common.test.TestCommon.list; +import static us.kbase.test.common.TestCommon.list; import java.io.IOException; import java.net.URL; @@ -24,7 +24,7 @@ import us.kbase.common.service.ServerException; import us.kbase.common.service.UObject; import us.kbase.common.service.UnauthorizedException; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.TestCommon; import us.kbase.workspace.GetModuleInfoParams; import us.kbase.workspace.GrantModuleOwnershipParams; import us.kbase.workspace.ListAllTypesParams; diff --git a/src/us/kbase/workspace/test/kbase/TypeDelegationTest.java b/src/test/java/us/kbase/test/workspace/kbase/TypeDelegationTest.java similarity index 99% rename from src/us/kbase/workspace/test/kbase/TypeDelegationTest.java rename to src/test/java/us/kbase/test/workspace/kbase/TypeDelegationTest.java index 4f38b53e..b397ca70 100644 --- a/src/us/kbase/workspace/test/kbase/TypeDelegationTest.java +++ b/src/test/java/us/kbase/test/workspace/kbase/TypeDelegationTest.java @@ -1,12 +1,12 @@ -package us.kbase.workspace.test.kbase; +package us.kbase.test.workspace.kbase; import static org.hamcrest.CoreMatchers.containsString; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.nullValue; import static org.junit.Assert.assertThat; import static org.junit.Assert.fail; -import static us.kbase.common.test.TestCommon.list; -import static us.kbase.workspace.test.kbase.JSONRPCLayerTester.startupWorkspaceServer; +import static us.kbase.test.common.TestCommon.list; +import static us.kbase.test.workspace.kbase.JSONRPCLayerTester.startupWorkspaceServer; import java.net.URL; import java.nio.file.Paths; @@ -30,10 +30,10 @@ import us.kbase.auth.AuthToken; import us.kbase.common.service.ServerException; import us.kbase.common.service.UObject; -import us.kbase.common.test.MapBuilder; -import us.kbase.common.test.TestCommon; import us.kbase.common.test.controllers.mongo.MongoController; import us.kbase.test.auth2.authcontroller.AuthController; +import us.kbase.test.common.MapBuilder; +import us.kbase.test.common.TestCommon; import us.kbase.typedobj.db.TypeDefinitionDB; import us.kbase.workspace.CreateWorkspaceParams; import us.kbase.workspace.GetModuleInfoParams; diff --git a/src/us/kbase/workspace/test/kbase/WorkspaceServerMethodsTest.java b/src/test/java/us/kbase/test/workspace/kbase/WorkspaceServerMethodsTest.java similarity index 98% rename from src/us/kbase/workspace/test/kbase/WorkspaceServerMethodsTest.java rename to src/test/java/us/kbase/test/workspace/kbase/WorkspaceServerMethodsTest.java index 7d1ada25..7c6297a2 100644 --- a/src/us/kbase/workspace/test/kbase/WorkspaceServerMethodsTest.java +++ b/src/test/java/us/kbase/test/workspace/kbase/WorkspaceServerMethodsTest.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.kbase; +package us.kbase.test.workspace.kbase; import static org.junit.Assert.fail; import static org.mockito.Mockito.mock; @@ -20,8 +20,8 @@ import ch.qos.logback.classic.Level; import ch.qos.logback.classic.spi.ILoggingEvent; -import us.kbase.common.test.TestCommon; -import us.kbase.common.test.TestCommon.LogEvent; +import us.kbase.test.common.TestCommon; +import us.kbase.test.common.TestCommon.LogEvent; import us.kbase.workspace.AlterAdminObjectMetadataParams; import us.kbase.workspace.ObjectIdentity; import us.kbase.workspace.ObjectMetadataUpdate; diff --git a/src/us/kbase/workspace/test/kbase/admin/AdministrationCommandSetInstallerTest.java b/src/test/java/us/kbase/test/workspace/kbase/admin/AdministrationCommandSetInstallerTest.java similarity index 99% rename from src/us/kbase/workspace/test/kbase/admin/AdministrationCommandSetInstallerTest.java rename to src/test/java/us/kbase/test/workspace/kbase/admin/AdministrationCommandSetInstallerTest.java index 7801be18..5f4e6bb5 100644 --- a/src/us/kbase/workspace/test/kbase/admin/AdministrationCommandSetInstallerTest.java +++ b/src/test/java/us/kbase/test/workspace/kbase/admin/AdministrationCommandSetInstallerTest.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.kbase.admin; +package us.kbase.test.workspace.kbase.admin; import static org.hamcrest.CoreMatchers.containsString; import static org.hamcrest.CoreMatchers.is; @@ -11,10 +11,10 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import static us.kbase.common.test.TestCommon.assertLogEventsCorrect; -import static us.kbase.common.test.TestCommon.inst; -import static us.kbase.common.test.TestCommon.list; -import static us.kbase.common.test.TestCommon.set; +import static us.kbase.test.common.TestCommon.assertLogEventsCorrect; +import static us.kbase.test.common.TestCommon.inst; +import static us.kbase.test.common.TestCommon.list; +import static us.kbase.test.common.TestCommon.set; import java.net.URL; import java.util.Arrays; @@ -41,9 +41,9 @@ import us.kbase.common.service.Tuple11; import us.kbase.common.service.Tuple9; import us.kbase.common.service.UObject; -import us.kbase.common.test.MapBuilder; -import us.kbase.common.test.TestCommon; -import us.kbase.common.test.TestCommon.LogEvent; +import us.kbase.test.common.MapBuilder; +import us.kbase.test.common.TestCommon; +import us.kbase.test.common.TestCommon.LogEvent; import us.kbase.typedobj.db.OwnerInfo; import us.kbase.workspace.CreateWorkspaceParams; import us.kbase.workspace.GetObjectInfo3Params; diff --git a/src/us/kbase/workspace/test/kbase/admin/DefaultAdminHandlerTest.java b/src/test/java/us/kbase/test/workspace/kbase/admin/DefaultAdminHandlerTest.java similarity index 97% rename from src/us/kbase/workspace/test/kbase/admin/DefaultAdminHandlerTest.java rename to src/test/java/us/kbase/test/workspace/kbase/admin/DefaultAdminHandlerTest.java index 22eda980..e62d6fcc 100644 --- a/src/us/kbase/workspace/test/kbase/admin/DefaultAdminHandlerTest.java +++ b/src/test/java/us/kbase/test/workspace/kbase/admin/DefaultAdminHandlerTest.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.kbase.admin; +package us.kbase.test.workspace.kbase.admin; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; @@ -7,12 +7,12 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import static us.kbase.common.test.TestCommon.set; +import static us.kbase.test.common.TestCommon.set; import org.junit.Test; import us.kbase.auth.AuthToken; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.TestCommon; import us.kbase.workspace.database.Workspace; import us.kbase.workspace.database.WorkspaceUser; import us.kbase.workspace.database.exceptions.WorkspaceCommunicationException; diff --git a/src/us/kbase/workspace/test/kbase/admin/KBaseAuth2AdminHandlerTest.java b/src/test/java/us/kbase/test/workspace/kbase/admin/KBaseAuth2AdminHandlerTest.java similarity index 99% rename from src/us/kbase/workspace/test/kbase/admin/KBaseAuth2AdminHandlerTest.java rename to src/test/java/us/kbase/test/workspace/kbase/admin/KBaseAuth2AdminHandlerTest.java index 56a74180..15adf44f 100644 --- a/src/us/kbase/workspace/test/kbase/admin/KBaseAuth2AdminHandlerTest.java +++ b/src/test/java/us/kbase/test/workspace/kbase/admin/KBaseAuth2AdminHandlerTest.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.kbase.admin; +package us.kbase.test.workspace.kbase.admin; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.containsString; @@ -10,7 +10,7 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import static us.kbase.common.test.TestCommon.set; +import static us.kbase.test.common.TestCommon.set; import java.io.ByteArrayInputStream; import java.io.IOException; @@ -38,7 +38,7 @@ import com.google.common.collect.ImmutableMap; import us.kbase.auth.AuthToken; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.TestCommon; import us.kbase.workspace.database.WorkspaceUser; import us.kbase.workspace.kbase.admin.AdminRole; import us.kbase.workspace.kbase.admin.AdministratorHandlerException; diff --git a/src/us/kbase/workspace/test/kbase/admin/WorkspaceAdministrationTest.java b/src/test/java/us/kbase/test/workspace/kbase/admin/WorkspaceAdministrationTest.java similarity index 99% rename from src/us/kbase/workspace/test/kbase/admin/WorkspaceAdministrationTest.java rename to src/test/java/us/kbase/test/workspace/kbase/admin/WorkspaceAdministrationTest.java index c6422a04..06037653 100644 --- a/src/us/kbase/workspace/test/kbase/admin/WorkspaceAdministrationTest.java +++ b/src/test/java/us/kbase/test/workspace/kbase/admin/WorkspaceAdministrationTest.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.kbase.admin; +package us.kbase.test.workspace.kbase.admin; import static org.hamcrest.CoreMatchers.containsString; import static org.hamcrest.CoreMatchers.is; @@ -12,8 +12,8 @@ import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import static us.kbase.common.test.TestCommon.assertLogEventsCorrect; -import static us.kbase.common.test.TestCommon.set; +import static us.kbase.test.common.TestCommon.assertLogEventsCorrect; +import static us.kbase.test.common.TestCommon.set; import java.io.IOException; import java.util.Arrays; @@ -36,8 +36,8 @@ import us.kbase.auth.AuthToken; import us.kbase.common.service.JsonTokenStream; import us.kbase.common.service.UObject; -import us.kbase.common.test.TestCommon; -import us.kbase.common.test.TestCommon.LogEvent; +import us.kbase.test.common.TestCommon; +import us.kbase.test.common.TestCommon.LogEvent; import us.kbase.workspace.database.WorkspaceObjectData; import us.kbase.workspace.database.WorkspaceUser; import us.kbase.workspace.kbase.admin.AdminCommand; diff --git a/src/us/kbase/workspace/test/listener/BadListenerFactory.java b/src/test/java/us/kbase/test/workspace/listener/BadListenerFactory.java similarity index 98% rename from src/us/kbase/workspace/test/listener/BadListenerFactory.java rename to src/test/java/us/kbase/test/workspace/listener/BadListenerFactory.java index 6f70746d..91d2d8f1 100644 --- a/src/us/kbase/workspace/test/listener/BadListenerFactory.java +++ b/src/test/java/us/kbase/test/workspace/listener/BadListenerFactory.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.listener; +package us.kbase.test.workspace.listener; import java.time.Instant; import java.util.List; diff --git a/src/us/kbase/workspace/test/listener/NullListenerFactory.java b/src/test/java/us/kbase/test/workspace/listener/NullListenerFactory.java similarity index 99% rename from src/us/kbase/workspace/test/listener/NullListenerFactory.java rename to src/test/java/us/kbase/test/workspace/listener/NullListenerFactory.java index 1a1ee5f7..9da5f029 100644 --- a/src/us/kbase/workspace/test/listener/NullListenerFactory.java +++ b/src/test/java/us/kbase/test/workspace/listener/NullListenerFactory.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.listener; +package us.kbase.test.workspace.listener; import java.time.Instant; import java.util.List; diff --git a/src/us/kbase/workspace/test/modules/KafkaNotifierFactoryTest.java b/src/test/java/us/kbase/test/workspace/modules/KafkaNotifierFactoryTest.java similarity index 99% rename from src/us/kbase/workspace/test/modules/KafkaNotifierFactoryTest.java rename to src/test/java/us/kbase/test/workspace/modules/KafkaNotifierFactoryTest.java index bd6dec46..412807d9 100644 --- a/src/us/kbase/workspace/test/modules/KafkaNotifierFactoryTest.java +++ b/src/test/java/us/kbase/test/workspace/modules/KafkaNotifierFactoryTest.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.modules; +package us.kbase.test.workspace.modules; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; @@ -6,7 +6,7 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import static us.kbase.common.test.TestCommon.inst; +import static us.kbase.test.common.TestCommon.inst; import java.io.ByteArrayOutputStream; import java.lang.reflect.Constructor; @@ -30,8 +30,8 @@ import com.google.common.collect.ImmutableMap; -import us.kbase.common.test.MapBuilder; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.MapBuilder; +import us.kbase.test.common.TestCommon; import us.kbase.typedobj.core.AbsoluteTypeDefId; import us.kbase.typedobj.core.TypeDefName; import us.kbase.workspace.database.ObjectInformation; diff --git a/src/us/kbase/workspace/test/workspace/ByteArrayFileCacheManagerTest.java b/src/test/java/us/kbase/test/workspace/workspace/ByteArrayFileCacheManagerTest.java similarity index 99% rename from src/us/kbase/workspace/test/workspace/ByteArrayFileCacheManagerTest.java rename to src/test/java/us/kbase/test/workspace/workspace/ByteArrayFileCacheManagerTest.java index 277b9aac..788656b9 100644 --- a/src/us/kbase/workspace/test/workspace/ByteArrayFileCacheManagerTest.java +++ b/src/test/java/us/kbase/test/workspace/workspace/ByteArrayFileCacheManagerTest.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.workspace; +package us.kbase.test.workspace.workspace; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; @@ -7,7 +7,7 @@ import static org.mockito.Mockito.doThrow; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; -import static us.kbase.common.test.TestCommon.list; +import static us.kbase.test.common.TestCommon.list; import java.io.ByteArrayInputStream; import java.io.File; @@ -24,7 +24,7 @@ import com.google.common.collect.ImmutableMap; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.TestCommon; import us.kbase.typedobj.core.SubsetSelection; import us.kbase.typedobj.core.TempFileListener; import us.kbase.typedobj.core.TempFilesManager; diff --git a/src/us/kbase/workspace/test/workspace/DynamicConfigTest.java b/src/test/java/us/kbase/test/workspace/workspace/DynamicConfigTest.java similarity index 98% rename from src/us/kbase/workspace/test/workspace/DynamicConfigTest.java rename to src/test/java/us/kbase/test/workspace/workspace/DynamicConfigTest.java index 68a796d9..a103ce0f 100644 --- a/src/us/kbase/workspace/test/workspace/DynamicConfigTest.java +++ b/src/test/java/us/kbase/test/workspace/workspace/DynamicConfigTest.java @@ -1,10 +1,10 @@ -package us.kbase.workspace.test.workspace; +package us.kbase.test.workspace.workspace; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; import static org.junit.Assert.fail; -import static us.kbase.common.test.TestCommon.opt; -import static us.kbase.common.test.TestCommon.EI; +import static us.kbase.test.common.TestCommon.EI; +import static us.kbase.test.common.TestCommon.opt; import java.util.Collections; import java.util.Map; @@ -14,7 +14,7 @@ import com.google.common.collect.ImmutableMap; import nl.jqno.equalsverifier.EqualsVerifier; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.TestCommon; import us.kbase.workspace.database.DynamicConfig; import us.kbase.workspace.database.DynamicConfig.DynamicConfigUpdate; diff --git a/src/us/kbase/workspace/test/workspace/ErrorOrTest.java b/src/test/java/us/kbase/test/workspace/workspace/ErrorOrTest.java similarity index 96% rename from src/us/kbase/workspace/test/workspace/ErrorOrTest.java rename to src/test/java/us/kbase/test/workspace/workspace/ErrorOrTest.java index f6c426ee..334faa9a 100644 --- a/src/us/kbase/workspace/test/workspace/ErrorOrTest.java +++ b/src/test/java/us/kbase/test/workspace/workspace/ErrorOrTest.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.workspace; +package us.kbase.test.workspace.workspace; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.nullValue; @@ -10,7 +10,7 @@ import org.junit.Test; import nl.jqno.equalsverifier.EqualsVerifier; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.TestCommon; import us.kbase.workspace.database.exceptions.ErrorOr; import us.kbase.workspace.database.exceptions.ErrorType; diff --git a/src/us/kbase/workspace/test/workspace/ListObjectParametersTest.java b/src/test/java/us/kbase/test/workspace/workspace/ListObjectParametersTest.java similarity index 99% rename from src/us/kbase/workspace/test/workspace/ListObjectParametersTest.java rename to src/test/java/us/kbase/test/workspace/workspace/ListObjectParametersTest.java index 0b1ea4b1..a946f453 100644 --- a/src/us/kbase/workspace/test/workspace/ListObjectParametersTest.java +++ b/src/test/java/us/kbase/test/workspace/workspace/ListObjectParametersTest.java @@ -1,9 +1,9 @@ -package us.kbase.workspace.test.workspace; +package us.kbase.test.workspace.workspace; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; import static org.junit.Assert.fail; -import static us.kbase.common.test.TestCommon.assertExceptionCorrect; +import static us.kbase.test.common.TestCommon.assertExceptionCorrect; import java.time.Instant; import java.util.ArrayList; @@ -21,7 +21,7 @@ import com.google.common.collect.ImmutableMap; -import us.kbase.common.test.MapBuilder; +import us.kbase.test.common.MapBuilder; import us.kbase.typedobj.core.TypeDefId; import us.kbase.workspace.database.AllUsers; import us.kbase.workspace.database.ListObjectsParameters; diff --git a/src/us/kbase/workspace/test/workspace/MetadataUpdateTest.java b/src/test/java/us/kbase/test/workspace/workspace/MetadataUpdateTest.java similarity index 94% rename from src/us/kbase/workspace/test/workspace/MetadataUpdateTest.java rename to src/test/java/us/kbase/test/workspace/workspace/MetadataUpdateTest.java index 7d2301d9..b684c319 100644 --- a/src/us/kbase/workspace/test/workspace/MetadataUpdateTest.java +++ b/src/test/java/us/kbase/test/workspace/workspace/MetadataUpdateTest.java @@ -1,10 +1,10 @@ -package us.kbase.workspace.test.workspace; +package us.kbase.test.workspace.workspace; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; import static org.junit.Assert.fail; -import static us.kbase.common.test.TestCommon.assertExceptionCorrect; -import static us.kbase.common.test.TestCommon.set; +import static us.kbase.test.common.TestCommon.assertExceptionCorrect; +import static us.kbase.test.common.TestCommon.set; import java.util.Arrays; import java.util.Optional; diff --git a/src/us/kbase/workspace/test/workspace/ObjectIDNoWSNoVerTest.java b/src/test/java/us/kbase/test/workspace/workspace/ObjectIDNoWSNoVerTest.java similarity index 98% rename from src/us/kbase/workspace/test/workspace/ObjectIDNoWSNoVerTest.java rename to src/test/java/us/kbase/test/workspace/workspace/ObjectIDNoWSNoVerTest.java index dc584a04..1aa769a7 100644 --- a/src/us/kbase/workspace/test/workspace/ObjectIDNoWSNoVerTest.java +++ b/src/test/java/us/kbase/test/workspace/workspace/ObjectIDNoWSNoVerTest.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.workspace; +package us.kbase.test.workspace.workspace; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; @@ -9,7 +9,7 @@ import com.google.common.base.Optional; import nl.jqno.equalsverifier.EqualsVerifier; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.TestCommon; import us.kbase.workspace.database.ObjectIDNoWSNoVer; public class ObjectIDNoWSNoVerTest { diff --git a/src/us/kbase/workspace/test/workspace/ObjectIdentifierTest.java b/src/test/java/us/kbase/test/workspace/workspace/ObjectIdentifierTest.java similarity index 98% rename from src/us/kbase/workspace/test/workspace/ObjectIdentifierTest.java rename to src/test/java/us/kbase/test/workspace/workspace/ObjectIdentifierTest.java index c23fbd3f..9b18bca6 100644 --- a/src/us/kbase/workspace/test/workspace/ObjectIdentifierTest.java +++ b/src/test/java/us/kbase/test/workspace/workspace/ObjectIdentifierTest.java @@ -1,15 +1,15 @@ -package us.kbase.workspace.test.workspace; +package us.kbase.test.workspace.workspace; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; import static org.junit.Assert.fail; -import static us.kbase.workspace.test.LongTextForTestUsage.TEXT255; -import static us.kbase.workspace.test.LongTextForTestUsage.TEXT256; -import static us.kbase.common.test.TestCommon.list; -import static us.kbase.common.test.TestCommon.ES; -import static us.kbase.common.test.TestCommon.EL; -import static us.kbase.common.test.TestCommon.EI; -import static us.kbase.common.test.TestCommon.opt; +import static us.kbase.test.common.TestCommon.EI; +import static us.kbase.test.common.TestCommon.EL; +import static us.kbase.test.common.TestCommon.ES; +import static us.kbase.test.common.TestCommon.list; +import static us.kbase.test.common.TestCommon.opt; +import static us.kbase.test.workspace.LongTextForTestUsage.TEXT255; +import static us.kbase.test.workspace.LongTextForTestUsage.TEXT256; import java.util.ArrayList; import java.util.Arrays; @@ -21,8 +21,8 @@ import org.junit.Test; import nl.jqno.equalsverifier.EqualsVerifier; -import us.kbase.common.test.MapBuilder; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.MapBuilder; +import us.kbase.test.common.TestCommon; import us.kbase.typedobj.core.SubsetSelection; import us.kbase.workspace.database.ObjectIdentifier; import us.kbase.workspace.database.WorkspaceIdentifier; diff --git a/src/us/kbase/workspace/test/workspace/ObjectInformationTest.java b/src/test/java/us/kbase/test/workspace/workspace/ObjectInformationTest.java similarity index 99% rename from src/us/kbase/workspace/test/workspace/ObjectInformationTest.java rename to src/test/java/us/kbase/test/workspace/workspace/ObjectInformationTest.java index 8b9c3778..9680642d 100644 --- a/src/us/kbase/workspace/test/workspace/ObjectInformationTest.java +++ b/src/test/java/us/kbase/test/workspace/workspace/ObjectInformationTest.java @@ -1,11 +1,11 @@ -package us.kbase.workspace.test.workspace; +package us.kbase.test.workspace.workspace; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.nullValue; import static org.junit.Assert.assertThat; import static org.junit.Assert.fail; -import static us.kbase.common.test.TestCommon.inst; -import static us.kbase.common.test.TestCommon.assertExceptionCorrect; +import static us.kbase.test.common.TestCommon.assertExceptionCorrect; +import static us.kbase.test.common.TestCommon.inst; import java.time.Instant; import java.util.Arrays; @@ -22,7 +22,7 @@ import com.google.common.collect.ImmutableMap; import nl.jqno.equalsverifier.EqualsVerifier; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.TestCommon; import us.kbase.typedobj.core.AbsoluteTypeDefId; import us.kbase.typedobj.core.MD5; import us.kbase.typedobj.core.TypeDefName; diff --git a/src/us/kbase/workspace/test/workspace/ObjectResolverTest.java b/src/test/java/us/kbase/test/workspace/workspace/ObjectResolverTest.java similarity index 99% rename from src/us/kbase/workspace/test/workspace/ObjectResolverTest.java rename to src/test/java/us/kbase/test/workspace/workspace/ObjectResolverTest.java index 37748f8c..9c1ea670 100644 --- a/src/us/kbase/workspace/test/workspace/ObjectResolverTest.java +++ b/src/test/java/us/kbase/test/workspace/workspace/ObjectResolverTest.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.workspace; +package us.kbase.test.workspace.workspace; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; @@ -6,7 +6,7 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.mockingDetails; import static org.mockito.Mockito.when; -import static us.kbase.common.test.TestCommon.set; +import static us.kbase.test.common.TestCommon.set; import java.util.Arrays; import java.util.Collections; @@ -17,7 +17,7 @@ import com.google.common.collect.ImmutableMap; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.TestCommon; import us.kbase.common.test.TestException; import us.kbase.workspace.database.AllUsers; import us.kbase.workspace.database.ObjectIDResolvedWS; diff --git a/src/us/kbase/workspace/test/workspace/PermissionSetTest.java b/src/test/java/us/kbase/test/workspace/workspace/PermissionSetTest.java similarity index 98% rename from src/us/kbase/workspace/test/workspace/PermissionSetTest.java rename to src/test/java/us/kbase/test/workspace/workspace/PermissionSetTest.java index ff58fb51..e31e3524 100644 --- a/src/us/kbase/workspace/test/workspace/PermissionSetTest.java +++ b/src/test/java/us/kbase/test/workspace/workspace/PermissionSetTest.java @@ -1,11 +1,10 @@ -package us.kbase.workspace.test.workspace; +package us.kbase.test.workspace.workspace; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.nullValue; import static org.junit.Assert.assertThat; import static org.junit.Assert.fail; - -import static us.kbase.common.test.TestCommon.set; +import static us.kbase.test.common.TestCommon.set; import java.util.Arrays; import java.util.List; @@ -13,7 +12,7 @@ import org.junit.Test; import nl.jqno.equalsverifier.EqualsVerifier; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.TestCommon; import us.kbase.workspace.database.AllUsers; import us.kbase.workspace.database.Permission; import us.kbase.workspace.database.PermissionSet; diff --git a/src/us/kbase/workspace/test/workspace/PermissionsCheckerFactoryTest.java b/src/test/java/us/kbase/test/workspace/workspace/PermissionsCheckerFactoryTest.java similarity index 99% rename from src/us/kbase/workspace/test/workspace/PermissionsCheckerFactoryTest.java rename to src/test/java/us/kbase/test/workspace/workspace/PermissionsCheckerFactoryTest.java index f34fc13f..2b53d36c 100644 --- a/src/us/kbase/workspace/test/workspace/PermissionsCheckerFactoryTest.java +++ b/src/test/java/us/kbase/test/workspace/workspace/PermissionsCheckerFactoryTest.java @@ -1,12 +1,12 @@ -package us.kbase.workspace.test.workspace; +package us.kbase.test.workspace.workspace; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; import static org.junit.Assert.fail; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; -import static us.kbase.common.test.TestCommon.opt; -import static us.kbase.common.test.TestCommon.set; +import static us.kbase.test.common.TestCommon.opt; +import static us.kbase.test.common.TestCommon.set; import java.util.Arrays; import java.util.Collections; @@ -18,8 +18,8 @@ import com.google.common.collect.ImmutableMap; -import us.kbase.common.test.MapBuilder; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.MapBuilder; +import us.kbase.test.common.TestCommon; import us.kbase.workspace.database.AllUsers; import us.kbase.workspace.database.ObjectIDResolvedWS; import us.kbase.workspace.database.ObjectIdentifier; diff --git a/src/us/kbase/workspace/test/workspace/RefLimitTest.java b/src/test/java/us/kbase/test/workspace/workspace/RefLimitTest.java similarity index 98% rename from src/us/kbase/workspace/test/workspace/RefLimitTest.java rename to src/test/java/us/kbase/test/workspace/workspace/RefLimitTest.java index 024b6444..8c4da81e 100644 --- a/src/us/kbase/workspace/test/workspace/RefLimitTest.java +++ b/src/test/java/us/kbase/test/workspace/workspace/RefLimitTest.java @@ -1,9 +1,9 @@ -package us.kbase.workspace.test.workspace; +package us.kbase.test.workspace.workspace; -import static us.kbase.common.test.TestCommon.assertExceptionCorrect; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; import static org.junit.Assert.fail; +import static us.kbase.test.common.TestCommon.assertExceptionCorrect; import java.util.Arrays; import java.util.Map; @@ -13,7 +13,7 @@ import org.junit.Test; import nl.jqno.equalsverifier.EqualsVerifier; -import us.kbase.common.test.MapBuilder; +import us.kbase.test.common.MapBuilder; import us.kbase.workspace.database.RefLimit; public class RefLimitTest { diff --git a/src/us/kbase/workspace/test/workspace/ReferenceGraphSearchTest.java b/src/test/java/us/kbase/test/workspace/workspace/ReferenceGraphSearchTest.java similarity index 97% rename from src/us/kbase/workspace/test/workspace/ReferenceGraphSearchTest.java rename to src/test/java/us/kbase/test/workspace/workspace/ReferenceGraphSearchTest.java index 08ca5856..7b609075 100644 --- a/src/us/kbase/workspace/test/workspace/ReferenceGraphSearchTest.java +++ b/src/test/java/us/kbase/test/workspace/workspace/ReferenceGraphSearchTest.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.workspace; +package us.kbase.test.workspace.workspace; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; @@ -14,7 +14,7 @@ import com.google.common.collect.Sets; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.TestCommon; import us.kbase.workspace.database.Reference; import us.kbase.workspace.database.refsearch.ReferenceGraphSearch; import us.kbase.workspace.database.refsearch.ReferenceGraphTopologyProvider; diff --git a/src/us/kbase/workspace/test/workspace/ReferenceSearchTreeTest.java b/src/test/java/us/kbase/test/workspace/workspace/ReferenceSearchTreeTest.java similarity index 99% rename from src/us/kbase/workspace/test/workspace/ReferenceSearchTreeTest.java rename to src/test/java/us/kbase/test/workspace/workspace/ReferenceSearchTreeTest.java index 567097f2..bf8e4ddf 100644 --- a/src/us/kbase/workspace/test/workspace/ReferenceSearchTreeTest.java +++ b/src/test/java/us/kbase/test/workspace/workspace/ReferenceSearchTreeTest.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.workspace; +package us.kbase.test.workspace.workspace; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; diff --git a/src/us/kbase/workspace/test/workspace/ReferenceTest.java b/src/test/java/us/kbase/test/workspace/workspace/ReferenceTest.java similarity index 98% rename from src/us/kbase/workspace/test/workspace/ReferenceTest.java rename to src/test/java/us/kbase/test/workspace/workspace/ReferenceTest.java index 53f2ee96..1efd4e90 100644 --- a/src/us/kbase/workspace/test/workspace/ReferenceTest.java +++ b/src/test/java/us/kbase/test/workspace/workspace/ReferenceTest.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.workspace; +package us.kbase.test.workspace.workspace; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; diff --git a/src/us/kbase/workspace/test/workspace/ReferenceTreeNodeTest.java b/src/test/java/us/kbase/test/workspace/workspace/ReferenceTreeNodeTest.java similarity index 97% rename from src/us/kbase/workspace/test/workspace/ReferenceTreeNodeTest.java rename to src/test/java/us/kbase/test/workspace/workspace/ReferenceTreeNodeTest.java index 08562d0b..7d3cbb53 100644 --- a/src/us/kbase/workspace/test/workspace/ReferenceTreeNodeTest.java +++ b/src/test/java/us/kbase/test/workspace/workspace/ReferenceTreeNodeTest.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.workspace; +package us.kbase.test.workspace.workspace; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; diff --git a/src/us/kbase/workspace/test/workspace/ResolvedObjectIdentifierTest.java b/src/test/java/us/kbase/test/workspace/workspace/ResolvedObjectIdentifierTest.java similarity index 98% rename from src/us/kbase/workspace/test/workspace/ResolvedObjectIdentifierTest.java rename to src/test/java/us/kbase/test/workspace/workspace/ResolvedObjectIdentifierTest.java index d8d696a1..e82b19ec 100644 --- a/src/us/kbase/workspace/test/workspace/ResolvedObjectIdentifierTest.java +++ b/src/test/java/us/kbase/test/workspace/workspace/ResolvedObjectIdentifierTest.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.workspace; +package us.kbase.test.workspace.workspace; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; @@ -7,7 +7,7 @@ import org.junit.Test; import nl.jqno.equalsverifier.EqualsVerifier; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.TestCommon; import us.kbase.workspace.database.Reference; import us.kbase.workspace.database.ResolvedObjectID; import us.kbase.workspace.database.ResolvedObjectIDNoVer; diff --git a/src/us/kbase/workspace/test/workspace/ResolvedWorkspaceIDTest.java b/src/test/java/us/kbase/test/workspace/workspace/ResolvedWorkspaceIDTest.java similarity index 96% rename from src/us/kbase/workspace/test/workspace/ResolvedWorkspaceIDTest.java rename to src/test/java/us/kbase/test/workspace/workspace/ResolvedWorkspaceIDTest.java index f716e057..ffc2c1fb 100644 --- a/src/us/kbase/workspace/test/workspace/ResolvedWorkspaceIDTest.java +++ b/src/test/java/us/kbase/test/workspace/workspace/ResolvedWorkspaceIDTest.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.workspace; +package us.kbase.test.workspace.workspace; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; @@ -7,7 +7,7 @@ import org.junit.Test; import nl.jqno.equalsverifier.EqualsVerifier; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.TestCommon; import us.kbase.workspace.database.ResolvedWorkspaceID; diff --git a/src/us/kbase/workspace/test/workspace/TestIDReferenceHandlerFactory.java b/src/test/java/us/kbase/test/workspace/workspace/TestIDReferenceHandlerFactory.java similarity index 99% rename from src/us/kbase/workspace/test/workspace/TestIDReferenceHandlerFactory.java rename to src/test/java/us/kbase/test/workspace/workspace/TestIDReferenceHandlerFactory.java index 587992d8..53e68679 100644 --- a/src/us/kbase/workspace/test/workspace/TestIDReferenceHandlerFactory.java +++ b/src/test/java/us/kbase/test/workspace/workspace/TestIDReferenceHandlerFactory.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.workspace; +package us.kbase.test.workspace.workspace; import java.util.Arrays; import java.util.HashMap; diff --git a/src/us/kbase/workspace/test/workspace/UncheckedUserMetadataTest.java b/src/test/java/us/kbase/test/workspace/workspace/UncheckedUserMetadataTest.java similarity index 98% rename from src/us/kbase/workspace/test/workspace/UncheckedUserMetadataTest.java rename to src/test/java/us/kbase/test/workspace/workspace/UncheckedUserMetadataTest.java index 24723b6b..66cb8d3c 100644 --- a/src/us/kbase/workspace/test/workspace/UncheckedUserMetadataTest.java +++ b/src/test/java/us/kbase/test/workspace/workspace/UncheckedUserMetadataTest.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.workspace; +package us.kbase.test.workspace.workspace; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; diff --git a/src/us/kbase/workspace/test/workspace/UserWorkspaceIDsTest.java b/src/test/java/us/kbase/test/workspace/workspace/UserWorkspaceIDsTest.java similarity index 97% rename from src/us/kbase/workspace/test/workspace/UserWorkspaceIDsTest.java rename to src/test/java/us/kbase/test/workspace/workspace/UserWorkspaceIDsTest.java index 76ccc255..725d5206 100644 --- a/src/us/kbase/workspace/test/workspace/UserWorkspaceIDsTest.java +++ b/src/test/java/us/kbase/test/workspace/workspace/UserWorkspaceIDsTest.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.workspace; +package us.kbase.test.workspace.workspace; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; @@ -14,7 +14,7 @@ import org.junit.Test; import nl.jqno.equalsverifier.EqualsVerifier; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.TestCommon; import us.kbase.workspace.database.Permission; import us.kbase.workspace.database.UserWorkspaceIDs; import us.kbase.workspace.database.WorkspaceUser; diff --git a/src/us/kbase/workspace/test/workspace/WorkspaceConstructorTest.java b/src/test/java/us/kbase/test/workspace/workspace/WorkspaceConstructorTest.java similarity index 98% rename from src/us/kbase/workspace/test/workspace/WorkspaceConstructorTest.java rename to src/test/java/us/kbase/test/workspace/workspace/WorkspaceConstructorTest.java index 67cfe570..e71a05c9 100644 --- a/src/us/kbase/workspace/test/workspace/WorkspaceConstructorTest.java +++ b/src/test/java/us/kbase/test/workspace/workspace/WorkspaceConstructorTest.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.workspace; +package us.kbase.test.workspace.workspace; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; @@ -10,7 +10,7 @@ import org.junit.Test; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.TestCommon; import us.kbase.typedobj.core.TempFilesManager; import us.kbase.typedobj.core.TypedObjectValidator; import us.kbase.workspace.database.ResourceUsageConfigurationBuilder; diff --git a/src/us/kbase/workspace/test/workspace/WorkspaceInformationTest.java b/src/test/java/us/kbase/test/workspace/workspace/WorkspaceInformationTest.java similarity index 99% rename from src/us/kbase/workspace/test/workspace/WorkspaceInformationTest.java rename to src/test/java/us/kbase/test/workspace/workspace/WorkspaceInformationTest.java index 2a2900e2..e6e82fe3 100644 --- a/src/us/kbase/workspace/test/workspace/WorkspaceInformationTest.java +++ b/src/test/java/us/kbase/test/workspace/workspace/WorkspaceInformationTest.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.workspace; +package us.kbase.test.workspace.workspace; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.fail; @@ -11,7 +11,7 @@ import com.google.common.collect.ImmutableMap; import nl.jqno.equalsverifier.EqualsVerifier; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.TestCommon; import us.kbase.workspace.database.Permission; import us.kbase.workspace.database.UncheckedUserMetadata; import us.kbase.workspace.database.WorkspaceInformation; diff --git a/src/us/kbase/workspace/test/workspace/WorkspaceIntegrationWithGridFSTest.java b/src/test/java/us/kbase/test/workspace/workspace/WorkspaceIntegrationWithGridFSTest.java similarity index 97% rename from src/us/kbase/workspace/test/workspace/WorkspaceIntegrationWithGridFSTest.java rename to src/test/java/us/kbase/test/workspace/workspace/WorkspaceIntegrationWithGridFSTest.java index 5a28058c..b806f677 100644 --- a/src/us/kbase/workspace/test/workspace/WorkspaceIntegrationWithGridFSTest.java +++ b/src/test/java/us/kbase/test/workspace/workspace/WorkspaceIntegrationWithGridFSTest.java @@ -1,18 +1,18 @@ -package us.kbase.workspace.test.workspace; +package us.kbase.test.workspace.workspace; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; -import static us.kbase.workspace.test.WorkspaceTestCommon.basicProv; -import static us.kbase.workspace.test.WorkspaceTestCommon.SAFE_DATA; -import static us.kbase.workspace.test.WorkspaceTestCommon.SAFE_DATA_MD5; -import static us.kbase.workspace.test.WorkspaceTestCommon.SAFE_DATA_SIZE; -import static us.kbase.workspace.test.WorkspaceTestCommon.ATYPE; -import static us.kbase.workspace.test.WorkspaceTestCommon.ATYPE_1_0; -import static us.kbase.workspace.test.WorkspaceTestCommon.ATYPE2; -import static us.kbase.workspace.test.WorkspaceTestCommon.ATYPE2_2_1; -import static us.kbase.workspace.test.WorkspaceTestCommon.ATYPE2_2_0; -import static us.kbase.workspace.test.WorkspaceTestCommon.ATYPE2_1_0; -import static us.kbase.workspace.test.WorkspaceTestCommon.ATYPE2_0_1; +import static us.kbase.test.workspace.WorkspaceTestCommon.ATYPE; +import static us.kbase.test.workspace.WorkspaceTestCommon.ATYPE2; +import static us.kbase.test.workspace.WorkspaceTestCommon.ATYPE2_0_1; +import static us.kbase.test.workspace.WorkspaceTestCommon.ATYPE2_1_0; +import static us.kbase.test.workspace.WorkspaceTestCommon.ATYPE2_2_0; +import static us.kbase.test.workspace.WorkspaceTestCommon.ATYPE2_2_1; +import static us.kbase.test.workspace.WorkspaceTestCommon.ATYPE_1_0; +import static us.kbase.test.workspace.WorkspaceTestCommon.SAFE_DATA; +import static us.kbase.test.workspace.WorkspaceTestCommon.SAFE_DATA_MD5; +import static us.kbase.test.workspace.WorkspaceTestCommon.SAFE_DATA_SIZE; +import static us.kbase.test.workspace.WorkspaceTestCommon.basicProv; import java.io.File; import java.nio.file.Paths; @@ -38,8 +38,9 @@ import ch.qos.logback.classic.Level; import ch.qos.logback.classic.Logger; -import us.kbase.common.test.TestCommon; import us.kbase.common.test.controllers.mongo.MongoController; +import us.kbase.test.common.TestCommon; +import us.kbase.test.workspace.WorkspaceTestCommon; import us.kbase.typedobj.core.AbsoluteTypeDefId; import us.kbase.typedobj.core.LocalTypeProvider; import us.kbase.typedobj.core.TempFilesManager; @@ -68,7 +69,6 @@ import us.kbase.workspace.database.mongo.GridFSBlobStore; import us.kbase.workspace.database.mongo.MongoWorkspaceDB; import us.kbase.workspace.database.provenance.Provenance; -import us.kbase.workspace.test.WorkspaceTestCommon; /** Workspace library level integration tests that don't need to be run against multiple * backends or with varying memory usage strategies. See the notes in {@link WorkspaceTest}. diff --git a/src/us/kbase/workspace/test/workspace/WorkspaceListenerTest.java b/src/test/java/us/kbase/test/workspace/workspace/WorkspaceListenerTest.java similarity index 99% rename from src/us/kbase/workspace/test/workspace/WorkspaceListenerTest.java rename to src/test/java/us/kbase/test/workspace/workspace/WorkspaceListenerTest.java index 7a8226ba..ff5105d8 100644 --- a/src/us/kbase/workspace/test/workspace/WorkspaceListenerTest.java +++ b/src/test/java/us/kbase/test/workspace/workspace/WorkspaceListenerTest.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.workspace; +package us.kbase.test.workspace.workspace; import static org.mockito.Mockito.any; import static org.mockito.Mockito.anyLong; @@ -10,9 +10,9 @@ import static org.mockito.Mockito.never; import static org.mockito.Mockito.when; import static org.mockito.Mockito.verify; -import static us.kbase.common.test.TestCommon.inst; -import static us.kbase.common.test.TestCommon.set; -import static us.kbase.workspace.test.WorkspaceTestCommon.basicProv; +import static us.kbase.test.common.TestCommon.inst; +import static us.kbase.test.common.TestCommon.set; +import static us.kbase.test.workspace.WorkspaceTestCommon.basicProv; import java.time.Instant; import java.util.Arrays; diff --git a/src/us/kbase/workspace/test/workspace/WorkspaceLongTest.java b/src/test/java/us/kbase/test/workspace/workspace/WorkspaceLongTest.java similarity index 98% rename from src/us/kbase/workspace/test/workspace/WorkspaceLongTest.java rename to src/test/java/us/kbase/test/workspace/workspace/WorkspaceLongTest.java index 7c837144..5dd816c7 100644 --- a/src/us/kbase/workspace/test/workspace/WorkspaceLongTest.java +++ b/src/test/java/us/kbase/test/workspace/workspace/WorkspaceLongTest.java @@ -1,11 +1,10 @@ -package us.kbase.workspace.test.workspace; +package us.kbase.test.workspace.workspace; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; -import static us.kbase.common.test.TestCommon.opt; -import static us.kbase.workspace.test.LongTextForTestUsage.TEXT1000; -import static us.kbase.workspace.test.WorkspaceTestCommon.basicProv; - +import static us.kbase.test.common.TestCommon.opt; +import static us.kbase.test.workspace.LongTextForTestUsage.TEXT1000; +import static us.kbase.test.workspace.WorkspaceTestCommon.basicProv; import java.io.File; import java.io.InputStream; diff --git a/src/us/kbase/workspace/test/workspace/WorkspaceObjectDataTest.java b/src/test/java/us/kbase/test/workspace/workspace/WorkspaceObjectDataTest.java similarity index 98% rename from src/us/kbase/workspace/test/workspace/WorkspaceObjectDataTest.java rename to src/test/java/us/kbase/test/workspace/workspace/WorkspaceObjectDataTest.java index fb2a9af0..7ed890ed 100644 --- a/src/us/kbase/workspace/test/workspace/WorkspaceObjectDataTest.java +++ b/src/test/java/us/kbase/test/workspace/workspace/WorkspaceObjectDataTest.java @@ -1,12 +1,12 @@ -package us.kbase.workspace.test.workspace; +package us.kbase.test.workspace.workspace; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; import static org.junit.Assert.fail; -import static us.kbase.common.test.TestCommon.assertExceptionCorrect; -import static us.kbase.common.test.TestCommon.inst; -import static us.kbase.common.test.TestCommon.opt; -import static us.kbase.workspace.test.WorkspaceTestCommon.basicProv; +import static us.kbase.test.common.TestCommon.assertExceptionCorrect; +import static us.kbase.test.common.TestCommon.inst; +import static us.kbase.test.common.TestCommon.opt; +import static us.kbase.test.workspace.WorkspaceTestCommon.basicProv; import java.io.ByteArrayInputStream; import java.io.IOException; @@ -20,7 +20,7 @@ import com.google.common.collect.ImmutableMap; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.TestCommon; import us.kbase.typedobj.core.AbsoluteTypeDefId; import us.kbase.typedobj.core.SubsetSelection; import us.kbase.typedobj.core.TypeDefName; diff --git a/src/us/kbase/workspace/test/workspace/WorkspaceTest.java b/src/test/java/us/kbase/test/workspace/workspace/WorkspaceTest.java similarity index 99% rename from src/us/kbase/workspace/test/workspace/WorkspaceTest.java rename to src/test/java/us/kbase/test/workspace/workspace/WorkspaceTest.java index 819c0b8e..3fe7df80 100644 --- a/src/us/kbase/workspace/test/workspace/WorkspaceTest.java +++ b/src/test/java/us/kbase/test/workspace/workspace/WorkspaceTest.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.workspace; +package us.kbase.test.workspace.workspace; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.nullValue; @@ -8,18 +8,18 @@ import static org.junit.Assert.assertThat; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; -import static us.kbase.common.test.TestCommon.inst; -import static us.kbase.common.test.TestCommon.list; -import static us.kbase.common.test.TestCommon.now; -import static us.kbase.common.test.TestCommon.opt; -import static us.kbase.common.test.TestCommon.set; -import static us.kbase.workspace.test.LongTextForTestUsage.LONG_TEXT_PART; -import static us.kbase.workspace.test.LongTextForTestUsage.LONG_TEXT; -import static us.kbase.workspace.test.LongTextForTestUsage.TEXT100; -import static us.kbase.workspace.test.LongTextForTestUsage.TEXT101; -import static us.kbase.workspace.test.LongTextForTestUsage.TEXT256; -import static us.kbase.workspace.test.LongTextForTestUsage.TEXT1000; -import static us.kbase.workspace.test.WorkspaceTestCommon.basicProv; +import static us.kbase.test.common.TestCommon.inst; +import static us.kbase.test.common.TestCommon.list; +import static us.kbase.test.common.TestCommon.now; +import static us.kbase.test.common.TestCommon.opt; +import static us.kbase.test.common.TestCommon.set; +import static us.kbase.test.workspace.LongTextForTestUsage.LONG_TEXT; +import static us.kbase.test.workspace.LongTextForTestUsage.LONG_TEXT_PART; +import static us.kbase.test.workspace.LongTextForTestUsage.TEXT100; +import static us.kbase.test.workspace.LongTextForTestUsage.TEXT1000; +import static us.kbase.test.workspace.LongTextForTestUsage.TEXT101; +import static us.kbase.test.workspace.LongTextForTestUsage.TEXT256; +import static us.kbase.test.workspace.WorkspaceTestCommon.basicProv; import java.io.File; import java.io.StringReader; @@ -57,7 +57,7 @@ import com.google.common.collect.Sets; import us.kbase.common.service.JsonTokenStream; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.TestCommon; import us.kbase.typedobj.core.AbsoluteTypeDefId; import us.kbase.typedobj.core.SubsetSelection; import us.kbase.typedobj.core.TempFileListener; diff --git a/src/us/kbase/workspace/test/workspace/WorkspaceTester.java b/src/test/java/us/kbase/test/workspace/workspace/WorkspaceTester.java similarity index 98% rename from src/us/kbase/workspace/test/workspace/WorkspaceTester.java rename to src/test/java/us/kbase/test/workspace/workspace/WorkspaceTester.java index d933fae5..c4500141 100644 --- a/src/us/kbase/workspace/test/workspace/WorkspaceTester.java +++ b/src/test/java/us/kbase/test/workspace/workspace/WorkspaceTester.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.workspace; +package us.kbase.test.workspace.workspace; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertNotNull; @@ -6,14 +6,14 @@ import static org.junit.Assert.assertThat; import static org.junit.Assert.assertTrue; import static org.junit.Assert.fail; -import static us.kbase.common.test.TestCommon.assertExceptionCorrect; -import static us.kbase.workspace.test.WorkspaceTestCommon.ATYPE_0_1; -import static us.kbase.workspace.test.WorkspaceTestCommon.ATYPE_1_0; -import static us.kbase.workspace.test.WorkspaceTestCommon.ATYPE_2_0; -import static us.kbase.workspace.test.WorkspaceTestCommon.ATYPE2_0_1; -import static us.kbase.workspace.test.WorkspaceTestCommon.ATYPE2_1_0; -import static us.kbase.workspace.test.WorkspaceTestCommon.ATYPE2_2_0; -import static us.kbase.workspace.test.WorkspaceTestCommon.ATYPE2_2_1; +import static us.kbase.test.common.TestCommon.assertExceptionCorrect; +import static us.kbase.test.workspace.WorkspaceTestCommon.ATYPE2_0_1; +import static us.kbase.test.workspace.WorkspaceTestCommon.ATYPE2_1_0; +import static us.kbase.test.workspace.WorkspaceTestCommon.ATYPE2_2_0; +import static us.kbase.test.workspace.WorkspaceTestCommon.ATYPE2_2_1; +import static us.kbase.test.workspace.WorkspaceTestCommon.ATYPE_0_1; +import static us.kbase.test.workspace.WorkspaceTestCommon.ATYPE_1_0; +import static us.kbase.test.workspace.WorkspaceTestCommon.ATYPE_2_0; import java.io.File; import java.io.IOException; @@ -44,9 +44,12 @@ import org.junit.runners.Parameterized.Parameters; import org.slf4j.LoggerFactory; -import us.kbase.common.test.TestCommon; import us.kbase.common.test.TestException; import us.kbase.common.test.controllers.mongo.MongoController; +import us.kbase.test.common.TestCommon; +import us.kbase.test.workspace.JsonTokenStreamOCStat; +import us.kbase.test.workspace.WorkspaceTestCommon; +import us.kbase.test.workspace.controllers.minio.MinioController; import us.kbase.typedobj.core.LocalTypeProvider; import us.kbase.typedobj.core.TempFilesManager; import us.kbase.typedobj.core.TypeDefId; @@ -88,9 +91,6 @@ import us.kbase.workspace.database.provenance.Provenance; import us.kbase.workspace.database.provenance.ProvenanceAction; import us.kbase.workspace.database.provenance.SubAction; -import us.kbase.workspace.test.JsonTokenStreamOCStat; -import us.kbase.workspace.test.WorkspaceTestCommon; -import us.kbase.workspace.test.controllers.minio.MinioController; import ch.qos.logback.classic.Level; import ch.qos.logback.classic.Logger; import software.amazon.awssdk.regions.Region; diff --git a/src/us/kbase/workspace/test/workspace/WorkspaceUnitTest.java b/src/test/java/us/kbase/test/workspace/workspace/WorkspaceUnitTest.java similarity index 99% rename from src/us/kbase/workspace/test/workspace/WorkspaceUnitTest.java rename to src/test/java/us/kbase/test/workspace/workspace/WorkspaceUnitTest.java index e6cae328..2303288d 100644 --- a/src/us/kbase/workspace/test/workspace/WorkspaceUnitTest.java +++ b/src/test/java/us/kbase/test/workspace/workspace/WorkspaceUnitTest.java @@ -1,4 +1,4 @@ -package us.kbase.workspace.test.workspace; +package us.kbase.test.workspace.workspace; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; @@ -11,10 +11,10 @@ import static org.mockito.Mockito.never; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import static us.kbase.common.test.TestCommon.now; -import static us.kbase.common.test.TestCommon.list; -import static us.kbase.common.test.TestCommon.set; -import static us.kbase.workspace.test.WorkspaceTestCommon.basicProv; +import static us.kbase.test.common.TestCommon.list; +import static us.kbase.test.common.TestCommon.now; +import static us.kbase.test.common.TestCommon.set; +import static us.kbase.test.workspace.WorkspaceTestCommon.basicProv; import java.io.IOException; import java.time.Instant; @@ -51,7 +51,7 @@ import us.kbase.workspace.exceptions.WorkspaceAuthorizationException; import us.kbase.auth.AuthToken; import us.kbase.common.service.UObject; -import us.kbase.common.test.TestCommon; +import us.kbase.test.common.TestCommon; import us.kbase.typedobj.core.AbsoluteTypeDefId; import us.kbase.typedobj.core.SubsetSelection; import us.kbase.typedobj.core.TempFilesManager; diff --git a/src/us/kbase/workspace/test/workspace/WorkspaceUserMetadataTest.java b/src/test/java/us/kbase/test/workspace/workspace/WorkspaceUserMetadataTest.java similarity index 98% rename from src/us/kbase/workspace/test/workspace/WorkspaceUserMetadataTest.java rename to src/test/java/us/kbase/test/workspace/workspace/WorkspaceUserMetadataTest.java index 33830193..29b32052 100644 --- a/src/us/kbase/workspace/test/workspace/WorkspaceUserMetadataTest.java +++ b/src/test/java/us/kbase/test/workspace/workspace/WorkspaceUserMetadataTest.java @@ -1,9 +1,9 @@ -package us.kbase.workspace.test.workspace; +package us.kbase.test.workspace.workspace; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; import static org.junit.Assert.fail; -import static us.kbase.common.test.TestCommon.assertExceptionCorrect; +import static us.kbase.test.common.TestCommon.assertExceptionCorrect; import java.util.HashMap; import java.util.Map; diff --git a/src/us/kbase/typedobj/db/test/backward.Annotations.2.spec.properties b/src/test/resources/us/kbase/test/typedobj/db/backward.Annotations.2.spec.properties similarity index 100% rename from src/us/kbase/typedobj/db/test/backward.Annotations.2.spec.properties rename to src/test/resources/us/kbase/test/typedobj/db/backward.Annotations.2.spec.properties diff --git a/src/us/kbase/typedobj/db/test/backward.Annotations.3.spec.properties b/src/test/resources/us/kbase/test/typedobj/db/backward.Annotations.3.spec.properties similarity index 100% rename from src/us/kbase/typedobj/db/test/backward.Annotations.3.spec.properties rename to src/test/resources/us/kbase/test/typedobj/db/backward.Annotations.3.spec.properties diff --git a/src/us/kbase/typedobj/db/test/backward.Annotations.4.spec.properties b/src/test/resources/us/kbase/test/typedobj/db/backward.Annotations.4.spec.properties similarity index 100% rename from src/us/kbase/typedobj/db/test/backward.Annotations.4.spec.properties rename to src/test/resources/us/kbase/test/typedobj/db/backward.Annotations.4.spec.properties diff --git a/src/us/kbase/typedobj/db/test/backward.Annotations.spec.properties b/src/test/resources/us/kbase/test/typedobj/db/backward.Annotations.spec.properties similarity index 100% rename from src/us/kbase/typedobj/db/test/backward.Annotations.spec.properties rename to src/test/resources/us/kbase/test/typedobj/db/backward.Annotations.spec.properties diff --git a/src/us/kbase/typedobj/db/test/backward.Expression.2.spec.properties b/src/test/resources/us/kbase/test/typedobj/db/backward.Expression.2.spec.properties similarity index 100% rename from src/us/kbase/typedobj/db/test/backward.Expression.2.spec.properties rename to src/test/resources/us/kbase/test/typedobj/db/backward.Expression.2.spec.properties diff --git a/src/us/kbase/typedobj/db/test/backward.Expression.spec.properties b/src/test/resources/us/kbase/test/typedobj/db/backward.Expression.spec.properties similarity index 100% rename from src/us/kbase/typedobj/db/test/backward.Expression.spec.properties rename to src/test/resources/us/kbase/test/typedobj/db/backward.Expression.spec.properties diff --git a/src/us/kbase/typedobj/db/test/backward.Regulation.2.spec.properties b/src/test/resources/us/kbase/test/typedobj/db/backward.Regulation.2.spec.properties similarity index 100% rename from src/us/kbase/typedobj/db/test/backward.Regulation.2.spec.properties rename to src/test/resources/us/kbase/test/typedobj/db/backward.Regulation.2.spec.properties diff --git a/src/us/kbase/typedobj/db/test/backward.Regulation.3.spec.properties b/src/test/resources/us/kbase/test/typedobj/db/backward.Regulation.3.spec.properties similarity index 100% rename from src/us/kbase/typedobj/db/test/backward.Regulation.3.spec.properties rename to src/test/resources/us/kbase/test/typedobj/db/backward.Regulation.3.spec.properties diff --git a/src/us/kbase/typedobj/db/test/backward.Regulation.4.spec.properties b/src/test/resources/us/kbase/test/typedobj/db/backward.Regulation.4.spec.properties similarity index 100% rename from src/us/kbase/typedobj/db/test/backward.Regulation.4.spec.properties rename to src/test/resources/us/kbase/test/typedobj/db/backward.Regulation.4.spec.properties diff --git a/src/us/kbase/typedobj/db/test/backward.Regulation.spec.properties b/src/test/resources/us/kbase/test/typedobj/db/backward.Regulation.spec.properties similarity index 100% rename from src/us/kbase/typedobj/db/test/backward.Regulation.spec.properties rename to src/test/resources/us/kbase/test/typedobj/db/backward.Regulation.spec.properties diff --git a/src/us/kbase/typedobj/db/test/deps.DepModule.spec.properties b/src/test/resources/us/kbase/test/typedobj/db/deps.DepModule.spec.properties similarity index 100% rename from src/us/kbase/typedobj/db/test/deps.DepModule.spec.properties rename to src/test/resources/us/kbase/test/typedobj/db/deps.DepModule.spec.properties diff --git a/src/us/kbase/typedobj/db/test/deps.SomeModule.spec.properties b/src/test/resources/us/kbase/test/typedobj/db/deps.SomeModule.spec.properties similarity index 100% rename from src/us/kbase/typedobj/db/test/deps.SomeModule.spec.properties rename to src/test/resources/us/kbase/test/typedobj/db/deps.SomeModule.spec.properties diff --git a/src/us/kbase/typedobj/db/test/descr.Descr.spec.properties b/src/test/resources/us/kbase/test/typedobj/db/descr.Descr.spec.properties similarity index 100% rename from src/us/kbase/typedobj/db/test/descr.Descr.spec.properties rename to src/test/resources/us/kbase/test/typedobj/db/descr.Descr.spec.properties diff --git a/src/us/kbase/typedobj/db/test/error.Common.spec.properties b/src/test/resources/us/kbase/test/typedobj/db/error.Common.spec.properties similarity index 100% rename from src/us/kbase/typedobj/db/test/error.Common.spec.properties rename to src/test/resources/us/kbase/test/typedobj/db/error.Common.spec.properties diff --git a/src/us/kbase/typedobj/db/test/error.DoubleModule.spec.properties b/src/test/resources/us/kbase/test/typedobj/db/error.DoubleModule.spec.properties similarity index 100% rename from src/us/kbase/typedobj/db/test/error.DoubleModule.spec.properties rename to src/test/resources/us/kbase/test/typedobj/db/error.DoubleModule.spec.properties diff --git a/src/us/kbase/typedobj/db/test/error.LongFuncName.spec.properties b/src/test/resources/us/kbase/test/typedobj/db/error.LongFuncName.spec.properties similarity index 100% rename from src/us/kbase/typedobj/db/test/error.LongFuncName.spec.properties rename to src/test/resources/us/kbase/test/typedobj/db/error.LongFuncName.spec.properties diff --git a/src/us/kbase/typedobj/db/test/error.LongTypeName.spec.properties b/src/test/resources/us/kbase/test/typedobj/db/error.LongTypeName.spec.properties similarity index 100% rename from src/us/kbase/typedobj/db/test/error.LongTypeName.spec.properties rename to src/test/resources/us/kbase/test/typedobj/db/error.LongTypeName.spec.properties diff --git a/src/us/kbase/typedobj/db/test/error.StructDuplication.spec.properties b/src/test/resources/us/kbase/test/typedobj/db/error.StructDuplication.spec.properties similarity index 100% rename from src/us/kbase/typedobj/db/test/error.StructDuplication.spec.properties rename to src/test/resources/us/kbase/test/typedobj/db/error.StructDuplication.spec.properties diff --git a/src/us/kbase/typedobj/db/test/error.Test.spec.properties b/src/test/resources/us/kbase/test/typedobj/db/error.Test.spec.properties similarity index 100% rename from src/us/kbase/typedobj/db/test/error.Test.spec.properties rename to src/test/resources/us/kbase/test/typedobj/db/error.Test.spec.properties diff --git a/src/us/kbase/typedobj/db/test/md5.Common.2.spec.properties b/src/test/resources/us/kbase/test/typedobj/db/md5.Common.2.spec.properties similarity index 100% rename from src/us/kbase/typedobj/db/test/md5.Common.2.spec.properties rename to src/test/resources/us/kbase/test/typedobj/db/md5.Common.2.spec.properties diff --git a/src/us/kbase/typedobj/db/test/md5.Common.3.spec.properties b/src/test/resources/us/kbase/test/typedobj/db/md5.Common.3.spec.properties similarity index 100% rename from src/us/kbase/typedobj/db/test/md5.Common.3.spec.properties rename to src/test/resources/us/kbase/test/typedobj/db/md5.Common.3.spec.properties diff --git a/src/us/kbase/typedobj/db/test/md5.Common.spec.properties b/src/test/resources/us/kbase/test/typedobj/db/md5.Common.spec.properties similarity index 100% rename from src/us/kbase/typedobj/db/test/md5.Common.spec.properties rename to src/test/resources/us/kbase/test/typedobj/db/md5.Common.spec.properties diff --git a/src/us/kbase/typedobj/db/test/md5.Upper.spec.properties b/src/test/resources/us/kbase/test/typedobj/db/md5.Upper.spec.properties similarity index 100% rename from src/us/kbase/typedobj/db/test/md5.Upper.spec.properties rename to src/test/resources/us/kbase/test/typedobj/db/md5.Upper.spec.properties diff --git a/src/us/kbase/typedobj/db/test/restrict.Common.2.spec.properties b/src/test/resources/us/kbase/test/typedobj/db/restrict.Common.2.spec.properties similarity index 100% rename from src/us/kbase/typedobj/db/test/restrict.Common.2.spec.properties rename to src/test/resources/us/kbase/test/typedobj/db/restrict.Common.2.spec.properties diff --git a/src/us/kbase/typedobj/db/test/restrict.Common.spec.properties b/src/test/resources/us/kbase/test/typedobj/db/restrict.Common.spec.properties similarity index 100% rename from src/us/kbase/typedobj/db/test/restrict.Common.spec.properties rename to src/test/resources/us/kbase/test/typedobj/db/restrict.Common.spec.properties diff --git a/src/us/kbase/typedobj/db/test/restrict.Middle.spec.properties b/src/test/resources/us/kbase/test/typedobj/db/restrict.Middle.spec.properties similarity index 100% rename from src/us/kbase/typedobj/db/test/restrict.Middle.spec.properties rename to src/test/resources/us/kbase/test/typedobj/db/restrict.Middle.spec.properties diff --git a/src/us/kbase/typedobj/db/test/restrict.Upper.spec.properties b/src/test/resources/us/kbase/test/typedobj/db/restrict.Upper.spec.properties similarity index 100% rename from src/us/kbase/typedobj/db/test/restrict.Upper.spec.properties rename to src/test/resources/us/kbase/test/typedobj/db/restrict.Upper.spec.properties diff --git a/src/us/kbase/typedobj/db/test/rollback.First.spec.properties b/src/test/resources/us/kbase/test/typedobj/db/rollback.First.spec.properties similarity index 100% rename from src/us/kbase/typedobj/db/test/rollback.First.spec.properties rename to src/test/resources/us/kbase/test/typedobj/db/rollback.First.spec.properties diff --git a/src/us/kbase/typedobj/db/test/simple.Annotation.spec.properties b/src/test/resources/us/kbase/test/typedobj/db/simple.Annotation.spec.properties similarity index 100% rename from src/us/kbase/typedobj/db/test/simple.Annotation.spec.properties rename to src/test/resources/us/kbase/test/typedobj/db/simple.Annotation.spec.properties diff --git a/src/us/kbase/typedobj/db/test/simple.Regulation.2.spec.properties b/src/test/resources/us/kbase/test/typedobj/db/simple.Regulation.2.spec.properties similarity index 100% rename from src/us/kbase/typedobj/db/test/simple.Regulation.2.spec.properties rename to src/test/resources/us/kbase/test/typedobj/db/simple.Regulation.2.spec.properties diff --git a/src/us/kbase/typedobj/db/test/simple.Regulation.spec.properties b/src/test/resources/us/kbase/test/typedobj/db/simple.Regulation.spec.properties similarity index 100% rename from src/us/kbase/typedobj/db/test/simple.Regulation.spec.properties rename to src/test/resources/us/kbase/test/typedobj/db/simple.Regulation.spec.properties diff --git a/src/us/kbase/typedobj/db/test/simple.Sequence.spec.properties b/src/test/resources/us/kbase/test/typedobj/db/simple.Sequence.spec.properties similarity index 100% rename from src/us/kbase/typedobj/db/test/simple.Sequence.spec.properties rename to src/test/resources/us/kbase/test/typedobj/db/simple.Sequence.spec.properties diff --git a/src/us/kbase/typedobj/db/test/simple.Taxonomy.spec.properties b/src/test/resources/us/kbase/test/typedobj/db/simple.Taxonomy.spec.properties similarity index 100% rename from src/us/kbase/typedobj/db/test/simple.Taxonomy.spec.properties rename to src/test/resources/us/kbase/test/typedobj/db/simple.Taxonomy.spec.properties diff --git a/src/us/kbase/typedobj/db/test/stop.Dependant.spec.properties b/src/test/resources/us/kbase/test/typedobj/db/stop.Dependant.spec.properties similarity index 100% rename from src/us/kbase/typedobj/db/test/stop.Dependant.spec.properties rename to src/test/resources/us/kbase/test/typedobj/db/stop.Dependant.spec.properties diff --git a/src/us/kbase/typedobj/db/test/stop.Regulation.2.spec.properties b/src/test/resources/us/kbase/test/typedobj/db/stop.Regulation.2.spec.properties similarity index 100% rename from src/us/kbase/typedobj/db/test/stop.Regulation.2.spec.properties rename to src/test/resources/us/kbase/test/typedobj/db/stop.Regulation.2.spec.properties diff --git a/src/us/kbase/typedobj/db/test/stop.Regulation.spec.properties b/src/test/resources/us/kbase/test/typedobj/db/stop.Regulation.spec.properties similarity index 100% rename from src/us/kbase/typedobj/db/test/stop.Regulation.spec.properties rename to src/test/resources/us/kbase/test/typedobj/db/stop.Regulation.spec.properties diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/FBA.FBAModel.invalid.instance.1 b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/FBA.FBAModel.invalid.instance.1 similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/FBA.FBAModel.invalid.instance.1 rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/FBA.FBAModel.invalid.instance.1 diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/FBA.FBAModel.valid.instance.1 b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/FBA.FBAModel.valid.instance.1 similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/FBA.FBAModel.valid.instance.1 rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/FBA.FBAModel.valid.instance.1 diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/FBA.FBAModel.valid.instance.2 b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/FBA.FBAModel.valid.instance.2 similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/FBA.FBAModel.valid.instance.2 rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/FBA.FBAModel.valid.instance.2 diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/FBA.FBAResult.valid.instance.1 b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/FBA.FBAResult.valid.instance.1 similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/FBA.FBAResult.valid.instance.1 rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/FBA.FBAResult.valid.instance.1 diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/FBA.spec b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/FBA.spec similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/FBA.spec rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/FBA.spec diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/KB.BigNumberObj.invalid.instance.1 b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.BigNumberObj.invalid.instance.1 similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/KB.BigNumberObj.invalid.instance.1 rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.BigNumberObj.invalid.instance.1 diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/KB.BigNumberObj.invalid.instance.2 b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.BigNumberObj.invalid.instance.2 similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/KB.BigNumberObj.invalid.instance.2 rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.BigNumberObj.invalid.instance.2 diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/KB.BigNumberObj.invalid.instance.3 b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.BigNumberObj.invalid.instance.3 similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/KB.BigNumberObj.invalid.instance.3 rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.BigNumberObj.invalid.instance.3 diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/KB.BigNumberObj.invalid.instance.4 b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.BigNumberObj.invalid.instance.4 similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/KB.BigNumberObj.invalid.instance.4 rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.BigNumberObj.invalid.instance.4 diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/KB.BigNumberObj.valid.instance.1 b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.BigNumberObj.valid.instance.1 similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/KB.BigNumberObj.valid.instance.1 rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.BigNumberObj.valid.instance.1 diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/KB.BigNumberObj.valid.instance.2 b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.BigNumberObj.valid.instance.2 similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/KB.BigNumberObj.valid.instance.2 rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.BigNumberObj.valid.instance.2 diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/KB.Genome.invalid.instance.1 b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.invalid.instance.1 similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/KB.Genome.invalid.instance.1 rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.invalid.instance.1 diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/KB.Genome.invalid.instance.2 b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.invalid.instance.2 similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/KB.Genome.invalid.instance.2 rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.invalid.instance.2 diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/KB.Genome.invalid.instance.3 b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.invalid.instance.3 similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/KB.Genome.invalid.instance.3 rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.invalid.instance.3 diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/KB.Genome.invalid.instance.4 b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.invalid.instance.4 similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/KB.Genome.invalid.instance.4 rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.invalid.instance.4 diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/KB.Genome.valid.instance.1 b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.valid.instance.1 similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/KB.Genome.valid.instance.1 rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.valid.instance.1 diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/KB.Genome.valid.instance.2 b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.valid.instance.2 similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/KB.Genome.valid.instance.2 rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.valid.instance.2 diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/KB.Genome.valid.instance.3 b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.valid.instance.3 similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/KB.Genome.valid.instance.3 rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.valid.instance.3 diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/KB.NumberObj.invalid.instance.1 b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.1 similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/KB.NumberObj.invalid.instance.1 rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.1 diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/KB.NumberObj.invalid.instance.10 b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.10 similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/KB.NumberObj.invalid.instance.10 rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.10 diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/KB.NumberObj.invalid.instance.11 b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.11 similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/KB.NumberObj.invalid.instance.11 rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.11 diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/KB.NumberObj.invalid.instance.12 b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.12 similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/KB.NumberObj.invalid.instance.12 rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.12 diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/KB.NumberObj.invalid.instance.13 b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.13 similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/KB.NumberObj.invalid.instance.13 rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.13 diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/KB.NumberObj.invalid.instance.14 b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.14 similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/KB.NumberObj.invalid.instance.14 rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.14 diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/KB.NumberObj.invalid.instance.15 b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.15 similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/KB.NumberObj.invalid.instance.15 rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.15 diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/KB.NumberObj.invalid.instance.16 b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.16 similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/KB.NumberObj.invalid.instance.16 rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.16 diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/KB.NumberObj.invalid.instance.17 b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.17 similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/KB.NumberObj.invalid.instance.17 rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.17 diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/KB.NumberObj.invalid.instance.2 b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.2 similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/KB.NumberObj.invalid.instance.2 rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.2 diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/KB.NumberObj.invalid.instance.3 b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.3 similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/KB.NumberObj.invalid.instance.3 rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.3 diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/KB.NumberObj.invalid.instance.4 b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.4 similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/KB.NumberObj.invalid.instance.4 rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.4 diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/KB.NumberObj.invalid.instance.5 b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.5 similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/KB.NumberObj.invalid.instance.5 rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.5 diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/KB.NumberObj.invalid.instance.6 b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.6 similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/KB.NumberObj.invalid.instance.6 rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.6 diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/KB.NumberObj.invalid.instance.7 b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.7 similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/KB.NumberObj.invalid.instance.7 rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.7 diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/KB.NumberObj.invalid.instance.8 b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.8 similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/KB.NumberObj.invalid.instance.8 rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.8 diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/KB.NumberObj.invalid.instance.9 b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.9 similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/KB.NumberObj.invalid.instance.9 rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.9 diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/KB.NumberObj.valid.instance.1 b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.valid.instance.1 similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/KB.NumberObj.valid.instance.1 rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.valid.instance.1 diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/KB.NumberObj.valid.instance.2 b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.valid.instance.2 similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/KB.NumberObj.valid.instance.2 rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.valid.instance.2 diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/KB.NumberObj.valid.instance.3 b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.valid.instance.3 similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/KB.NumberObj.valid.instance.3 rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.valid.instance.3 diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/KB.NumberObj.valid.instance.4 b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.valid.instance.4 similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/KB.NumberObj.valid.instance.4 rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.valid.instance.4 diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/KB.NumberObj.valid.instance.5 b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.valid.instance.5 similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/KB.NumberObj.valid.instance.5 rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.valid.instance.5 diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/KB.RandomObject.invalid.instance.1 b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.RandomObject.invalid.instance.1 similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/KB.RandomObject.invalid.instance.1 rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.RandomObject.invalid.instance.1 diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/KB.RandomObject.valid.instance.1 b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.RandomObject.valid.instance.1 similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/KB.RandomObject.valid.instance.1 rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.RandomObject.valid.instance.1 diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/KB.RandomObject.valid.instance.2 b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.RandomObject.valid.instance.2 similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/KB.RandomObject.valid.instance.2 rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.RandomObject.valid.instance.2 diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/KB.TupleObject.invalid.instance.1 b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.TupleObject.invalid.instance.1 similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/KB.TupleObject.invalid.instance.1 rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.TupleObject.invalid.instance.1 diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/KB.TupleObject.invalid.instance.2 b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.TupleObject.invalid.instance.2 similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/KB.TupleObject.invalid.instance.2 rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.TupleObject.invalid.instance.2 diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/KB.TupleObject.valid.instance.1 b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.TupleObject.valid.instance.1 similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/KB.TupleObject.valid.instance.1 rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.TupleObject.valid.instance.1 diff --git a/src/us/kbase/typedobj/test/files/BasicValidation/KB.spec b/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.spec similarity index 100% rename from src/us/kbase/typedobj/test/files/BasicValidation/KB.spec rename to src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.spec diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/KB.spec b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/KB.spec similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/KB.spec rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/KB.spec diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.001 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.001 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.001 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.001 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.002 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.002 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.002 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.002 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.003 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.003 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.003 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.003 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.004 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.004 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.004 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.004 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.005 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.005 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.005 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.005 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.006 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.006 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.006 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.006 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.007 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.007 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.007 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.007 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.008 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.008 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.008 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.008 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.009 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.009 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.009 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.009 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.010 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.010 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.010 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.010 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.011 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.011 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.011 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.011 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.012 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.012 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.012 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.012 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.013 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.013 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.013 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.013 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.014 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.014 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.014 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.014 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.015 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.015 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.015 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.015 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.016 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.016 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.016 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.016 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.017 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.017 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.017 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.017 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.018 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.018 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.018 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.018 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.019 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.019 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.019 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.019 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.020 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.020 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.020 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.020 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.021 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.021 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.021 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.021 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.022 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.022 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.022 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.022 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.023 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.023 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.023 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.023 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.024 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.024 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.024 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.024 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.025 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.025 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.025 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.025 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.026 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.026 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.026 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.026 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.027 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.027 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.027 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.027 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.028 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.028 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.028 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.028 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.029 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.029 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.029 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.029 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.030 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.030 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.030 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.030 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.031 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.031 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.031 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.031 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.032 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.032 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.032 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.032 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.033 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.033 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.033 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.033 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.034 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.034 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.034 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.034 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.035 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.035 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.035 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.035 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.036 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.036 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.036 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.036 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.037 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.037 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.037 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.037 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.038 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.038 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.038 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.038 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.039 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.039 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.039 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.039 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.040 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.040 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.040 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.040 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.041 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.041 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.041 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.041 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.042 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.042 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.042 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.042 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.043 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.043 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.043 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.043 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.044 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.044 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.044 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.044 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.045 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.045 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.045 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.045 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.046 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.046 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.046 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.046 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.047 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.047 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.047 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.047 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.048 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.048 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.048 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.048 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.049 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.049 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.049 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.049 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.050 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.050 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.050 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.050 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.051 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.051 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.051 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.051 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.052 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.052 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.052 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.052 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.053 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.053 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.053 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.053 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.054 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.054 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.054 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.054 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.055 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.055 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.055 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.055 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.056 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.056 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.056 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.056 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.057 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.057 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.057 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.057 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.058 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.058 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.058 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.058 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.059 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.059 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.059 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.059 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.060 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.060 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.060 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.060 diff --git a/src/us/kbase/typedobj/test/files/DetailedValidation/instance.061 b/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.061 similarity index 100% rename from src/us/kbase/typedobj/test/files/DetailedValidation/instance.061 rename to src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.061 diff --git a/src/us/kbase/typedobj/test/files/IdProcessing/FBA.spec b/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/FBA.spec similarity index 100% rename from src/us/kbase/typedobj/test/files/IdProcessing/FBA.spec rename to src/test/resources/us/kbase/test/typedobj/files/IdProcessing/FBA.spec diff --git a/src/us/kbase/typedobj/test/files/IdProcessing/KB.AltIDs.instance.1 b/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.AltIDs.instance.1 similarity index 100% rename from src/us/kbase/typedobj/test/files/IdProcessing/KB.AltIDs.instance.1 rename to src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.AltIDs.instance.1 diff --git a/src/us/kbase/typedobj/test/files/IdProcessing/KB.AltIDs.instance.1.ids b/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.AltIDs.instance.1.ids similarity index 100% rename from src/us/kbase/typedobj/test/files/IdProcessing/KB.AltIDs.instance.1.ids rename to src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.AltIDs.instance.1.ids diff --git a/src/us/kbase/typedobj/test/files/IdProcessing/KB.DeepFeatureMap.instance.1 b/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.DeepFeatureMap.instance.1 similarity index 100% rename from src/us/kbase/typedobj/test/files/IdProcessing/KB.DeepFeatureMap.instance.1 rename to src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.DeepFeatureMap.instance.1 diff --git a/src/us/kbase/typedobj/test/files/IdProcessing/KB.DeepFeatureMap.instance.1.ids b/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.DeepFeatureMap.instance.1.ids similarity index 100% rename from src/us/kbase/typedobj/test/files/IdProcessing/KB.DeepFeatureMap.instance.1.ids rename to src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.DeepFeatureMap.instance.1.ids diff --git a/src/us/kbase/typedobj/test/files/IdProcessing/KB.FeatureMap.instance.1 b/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.FeatureMap.instance.1 similarity index 100% rename from src/us/kbase/typedobj/test/files/IdProcessing/KB.FeatureMap.instance.1 rename to src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.FeatureMap.instance.1 diff --git a/src/us/kbase/typedobj/test/files/IdProcessing/KB.FeatureMap.instance.1.ids b/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.FeatureMap.instance.1.ids similarity index 100% rename from src/us/kbase/typedobj/test/files/IdProcessing/KB.FeatureMap.instance.1.ids rename to src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.FeatureMap.instance.1.ids diff --git a/src/us/kbase/typedobj/test/files/IdProcessing/KB.FeatureMap.instance.2 b/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.FeatureMap.instance.2 similarity index 100% rename from src/us/kbase/typedobj/test/files/IdProcessing/KB.FeatureMap.instance.2 rename to src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.FeatureMap.instance.2 diff --git a/src/us/kbase/typedobj/test/files/IdProcessing/KB.FeatureMap.instance.2.ids b/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.FeatureMap.instance.2.ids similarity index 100% rename from src/us/kbase/typedobj/test/files/IdProcessing/KB.FeatureMap.instance.2.ids rename to src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.FeatureMap.instance.2.ids diff --git a/src/us/kbase/typedobj/test/files/IdProcessing/KB.Genome.instance.1 b/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.Genome.instance.1 similarity index 100% rename from src/us/kbase/typedobj/test/files/IdProcessing/KB.Genome.instance.1 rename to src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.Genome.instance.1 diff --git a/src/us/kbase/typedobj/test/files/IdProcessing/KB.Genome.instance.1.ids b/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.Genome.instance.1.ids similarity index 100% rename from src/us/kbase/typedobj/test/files/IdProcessing/KB.Genome.instance.1.ids rename to src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.Genome.instance.1.ids diff --git a/src/us/kbase/typedobj/test/files/IdProcessing/KB.Genome.instance.2 b/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.Genome.instance.2 similarity index 100% rename from src/us/kbase/typedobj/test/files/IdProcessing/KB.Genome.instance.2 rename to src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.Genome.instance.2 diff --git a/src/us/kbase/typedobj/test/files/IdProcessing/KB.Genome.instance.2.ids b/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.Genome.instance.2.ids similarity index 100% rename from src/us/kbase/typedobj/test/files/IdProcessing/KB.Genome.instance.2.ids rename to src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.Genome.instance.2.ids diff --git a/src/us/kbase/typedobj/test/files/IdProcessing/KB.NestedFeaturesKey.instance.1 b/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.NestedFeaturesKey.instance.1 similarity index 100% rename from src/us/kbase/typedobj/test/files/IdProcessing/KB.NestedFeaturesKey.instance.1 rename to src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.NestedFeaturesKey.instance.1 diff --git a/src/us/kbase/typedobj/test/files/IdProcessing/KB.NestedFeaturesKey.instance.1.ids b/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.NestedFeaturesKey.instance.1.ids similarity index 100% rename from src/us/kbase/typedobj/test/files/IdProcessing/KB.NestedFeaturesKey.instance.1.ids rename to src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.NestedFeaturesKey.instance.1.ids diff --git a/src/us/kbase/typedobj/test/files/IdProcessing/KB.NestedFeaturesList.instance.1 b/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.NestedFeaturesList.instance.1 similarity index 100% rename from src/us/kbase/typedobj/test/files/IdProcessing/KB.NestedFeaturesList.instance.1 rename to src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.NestedFeaturesList.instance.1 diff --git a/src/us/kbase/typedobj/test/files/IdProcessing/KB.NestedFeaturesList.instance.1.ids b/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.NestedFeaturesList.instance.1.ids similarity index 100% rename from src/us/kbase/typedobj/test/files/IdProcessing/KB.NestedFeaturesList.instance.1.ids rename to src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.NestedFeaturesList.instance.1.ids diff --git a/src/us/kbase/typedobj/test/files/IdProcessing/KB.NestedFeaturesValue.instance.1 b/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.NestedFeaturesValue.instance.1 similarity index 100% rename from src/us/kbase/typedobj/test/files/IdProcessing/KB.NestedFeaturesValue.instance.1 rename to src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.NestedFeaturesValue.instance.1 diff --git a/src/us/kbase/typedobj/test/files/IdProcessing/KB.NestedFeaturesValue.instance.1.ids b/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.NestedFeaturesValue.instance.1.ids similarity index 100% rename from src/us/kbase/typedobj/test/files/IdProcessing/KB.NestedFeaturesValue.instance.1.ids rename to src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.NestedFeaturesValue.instance.1.ids diff --git a/src/us/kbase/typedobj/test/files/IdProcessing/KB.WeirdTuple.instance.1 b/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.WeirdTuple.instance.1 similarity index 100% rename from src/us/kbase/typedobj/test/files/IdProcessing/KB.WeirdTuple.instance.1 rename to src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.WeirdTuple.instance.1 diff --git a/src/us/kbase/typedobj/test/files/IdProcessing/KB.WeirdTuple.instance.1.ids b/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.WeirdTuple.instance.1.ids similarity index 100% rename from src/us/kbase/typedobj/test/files/IdProcessing/KB.WeirdTuple.instance.1.ids rename to src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.WeirdTuple.instance.1.ids diff --git a/src/us/kbase/typedobj/test/files/IdProcessing/KB.spec b/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.spec similarity index 100% rename from src/us/kbase/typedobj/test/files/IdProcessing/KB.spec rename to src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.spec diff --git a/src/us/kbase/typedobj/test/files/MetadataExtraction/KB.FloatStructure.instance.1 b/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.FloatStructure.instance.1 similarity index 100% rename from src/us/kbase/typedobj/test/files/MetadataExtraction/KB.FloatStructure.instance.1 rename to src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.FloatStructure.instance.1 diff --git a/src/us/kbase/typedobj/test/files/MetadataExtraction/KB.MappingStruct.instance.1 b/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MappingStruct.instance.1 similarity index 100% rename from src/us/kbase/typedobj/test/files/MetadataExtraction/KB.MappingStruct.instance.1 rename to src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MappingStruct.instance.1 diff --git a/src/us/kbase/typedobj/test/files/MetadataExtraction/KB.MetaDataT1.instance.1 b/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT1.instance.1 similarity index 100% rename from src/us/kbase/typedobj/test/files/MetadataExtraction/KB.MetaDataT1.instance.1 rename to src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT1.instance.1 diff --git a/src/us/kbase/typedobj/test/files/MetadataExtraction/KB.MetaDataT2.instance.1 b/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT2.instance.1 similarity index 100% rename from src/us/kbase/typedobj/test/files/MetadataExtraction/KB.MetaDataT2.instance.1 rename to src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT2.instance.1 diff --git a/src/us/kbase/typedobj/test/files/MetadataExtraction/KB.MetaDataT3.instance.1 b/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT3.instance.1 similarity index 100% rename from src/us/kbase/typedobj/test/files/MetadataExtraction/KB.MetaDataT3.instance.1 rename to src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT3.instance.1 diff --git a/src/us/kbase/typedobj/test/files/MetadataExtraction/KB.MetaDataT4.instance.1 b/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT4.instance.1 similarity index 100% rename from src/us/kbase/typedobj/test/files/MetadataExtraction/KB.MetaDataT4.instance.1 rename to src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT4.instance.1 diff --git a/src/us/kbase/typedobj/test/files/MetadataExtraction/KB.MetaDataT5.instance.1 b/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT5.instance.1 similarity index 100% rename from src/us/kbase/typedobj/test/files/MetadataExtraction/KB.MetaDataT5.instance.1 rename to src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT5.instance.1 diff --git a/src/us/kbase/typedobj/test/files/MetadataExtraction/KB.MetaDataT6.instance.1 b/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT6.instance.1 similarity index 100% rename from src/us/kbase/typedobj/test/files/MetadataExtraction/KB.MetaDataT6.instance.1 rename to src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT6.instance.1 diff --git a/src/us/kbase/typedobj/test/files/MetadataExtraction/KB.MetaDataT7.instance.1 b/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT7.instance.1 similarity index 100% rename from src/us/kbase/typedobj/test/files/MetadataExtraction/KB.MetaDataT7.instance.1 rename to src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT7.instance.1 diff --git a/src/us/kbase/typedobj/test/files/MetadataExtraction/KB.MetaDataT8.instance.1 b/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT8.instance.1 similarity index 100% rename from src/us/kbase/typedobj/test/files/MetadataExtraction/KB.MetaDataT8.instance.1 rename to src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT8.instance.1 diff --git a/src/us/kbase/typedobj/test/files/MetadataExtraction/KB.MetaDataT9.instance.1 b/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT9.instance.1 similarity index 100% rename from src/us/kbase/typedobj/test/files/MetadataExtraction/KB.MetaDataT9.instance.1 rename to src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT9.instance.1 diff --git a/src/us/kbase/typedobj/test/files/MetadataExtraction/KB.NoExtractionData.instance.1 b/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.NoExtractionData.instance.1 similarity index 100% rename from src/us/kbase/typedobj/test/files/MetadataExtraction/KB.NoExtractionData.instance.1 rename to src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.NoExtractionData.instance.1 diff --git a/src/us/kbase/typedobj/test/files/MetadataExtraction/KB.SimpleStructure.instance.1 b/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.SimpleStructure.instance.1 similarity index 100% rename from src/us/kbase/typedobj/test/files/MetadataExtraction/KB.SimpleStructure.instance.1 rename to src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.SimpleStructure.instance.1 diff --git a/src/us/kbase/typedobj/test/files/MetadataExtraction/KB.SimpleStructure.instance.2 b/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.SimpleStructure.instance.2 similarity index 100% rename from src/us/kbase/typedobj/test/files/MetadataExtraction/KB.SimpleStructure.instance.2 rename to src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.SimpleStructure.instance.2 diff --git a/src/us/kbase/typedobj/test/files/MetadataExtraction/KB.SimpleStructure.instance.3 b/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.SimpleStructure.instance.3 similarity index 100% rename from src/us/kbase/typedobj/test/files/MetadataExtraction/KB.SimpleStructure.instance.3 rename to src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.SimpleStructure.instance.3 diff --git a/src/us/kbase/typedobj/test/files/MetadataExtraction/KB.SimpleStructure.instance.4 b/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.SimpleStructure.instance.4 similarity index 100% rename from src/us/kbase/typedobj/test/files/MetadataExtraction/KB.SimpleStructure.instance.4 rename to src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.SimpleStructure.instance.4 diff --git a/src/us/kbase/typedobj/test/files/MetadataExtraction/KB.SimpleStructure.instance.5 b/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.SimpleStructure.instance.5 similarity index 100% rename from src/us/kbase/typedobj/test/files/MetadataExtraction/KB.SimpleStructure.instance.5 rename to src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.SimpleStructure.instance.5 diff --git a/src/us/kbase/typedobj/test/files/MetadataExtraction/KB.SimpleStructure.instance.6 b/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.SimpleStructure.instance.6 similarity index 100% rename from src/us/kbase/typedobj/test/files/MetadataExtraction/KB.SimpleStructure.instance.6 rename to src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.SimpleStructure.instance.6 diff --git a/src/us/kbase/typedobj/test/files/MetadataExtraction/KB.spec b/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.spec similarity index 100% rename from src/us/kbase/typedobj/test/files/MetadataExtraction/KB.spec rename to src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.spec diff --git a/src/us/kbase/typedobj/test/files/SubdataExtraction/01.ExtractField.instance b/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/01.ExtractField.instance similarity index 100% rename from src/us/kbase/typedobj/test/files/SubdataExtraction/01.ExtractField.instance rename to src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/01.ExtractField.instance diff --git a/src/us/kbase/typedobj/test/files/SubdataExtraction/02.ExtractNestedField.instance b/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/02.ExtractNestedField.instance similarity index 100% rename from src/us/kbase/typedobj/test/files/SubdataExtraction/02.ExtractNestedField.instance rename to src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/02.ExtractNestedField.instance diff --git a/src/us/kbase/typedobj/test/files/SubdataExtraction/03.ExtractFieldFail.instance b/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/03.ExtractFieldFail.instance similarity index 100% rename from src/us/kbase/typedobj/test/files/SubdataExtraction/03.ExtractFieldFail.instance rename to src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/03.ExtractFieldFail.instance diff --git a/src/us/kbase/typedobj/test/files/SubdataExtraction/04.ExtractFromArray.instance b/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/04.ExtractFromArray.instance similarity index 100% rename from src/us/kbase/typedobj/test/files/SubdataExtraction/04.ExtractFromArray.instance rename to src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/04.ExtractFromArray.instance diff --git a/src/us/kbase/typedobj/test/files/SubdataExtraction/05.ExtractAllFromMap.instance b/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/05.ExtractAllFromMap.instance similarity index 100% rename from src/us/kbase/typedobj/test/files/SubdataExtraction/05.ExtractAllFromMap.instance rename to src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/05.ExtractAllFromMap.instance diff --git a/src/us/kbase/typedobj/test/files/SubdataExtraction/06.ExtractAllFromList.instance b/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/06.ExtractAllFromList.instance similarity index 100% rename from src/us/kbase/typedobj/test/files/SubdataExtraction/06.ExtractAllFromList.instance rename to src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/06.ExtractAllFromList.instance diff --git a/src/us/kbase/typedobj/test/files/SubdataExtraction/07.ExtractArrayPosFail.instance b/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/07.ExtractArrayPosFail.instance similarity index 100% rename from src/us/kbase/typedobj/test/files/SubdataExtraction/07.ExtractArrayPosFail.instance rename to src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/07.ExtractArrayPosFail.instance diff --git a/src/us/kbase/typedobj/test/files/SubdataExtraction/08.ExtractArrayPosFail2.instance b/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/08.ExtractArrayPosFail2.instance similarity index 100% rename from src/us/kbase/typedobj/test/files/SubdataExtraction/08.ExtractArrayPosFail2.instance rename to src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/08.ExtractArrayPosFail2.instance diff --git a/src/us/kbase/typedobj/test/files/SubdataExtraction/09.ExtractNestedField2.instance b/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/09.ExtractNestedField2.instance similarity index 100% rename from src/us/kbase/typedobj/test/files/SubdataExtraction/09.ExtractNestedField2.instance rename to src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/09.ExtractNestedField2.instance diff --git a/src/us/kbase/typedobj/test/files/SubdataExtraction/10.ExtractArrayElements.instance b/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/10.ExtractArrayElements.instance similarity index 100% rename from src/us/kbase/typedobj/test/files/SubdataExtraction/10.ExtractArrayElements.instance rename to src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/10.ExtractArrayElements.instance diff --git a/src/us/kbase/typedobj/test/files/SubdataExtraction/11.ExtractBooleansAndNull.instance b/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/11.ExtractBooleansAndNull.instance similarity index 100% rename from src/us/kbase/typedobj/test/files/SubdataExtraction/11.ExtractBooleansAndNull.instance rename to src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/11.ExtractBooleansAndNull.instance diff --git a/src/us/kbase/typedobj/test/files/SubdataExtraction/12.ExtractNumbers.instance b/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/12.ExtractNumbers.instance similarity index 100% rename from src/us/kbase/typedobj/test/files/SubdataExtraction/12.ExtractNumbers.instance rename to src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/12.ExtractNumbers.instance diff --git a/src/us/kbase/typedobj/test/files/SubdataExtraction/13.ExtractWithOptionalFieldsMissing.instance b/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/13.ExtractWithOptionalFieldsMissing.instance similarity index 100% rename from src/us/kbase/typedobj/test/files/SubdataExtraction/13.ExtractWithOptionalFieldsMissing.instance rename to src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/13.ExtractWithOptionalFieldsMissing.instance diff --git a/src/us/kbase/typedobj/test/files/SubdataExtraction/14.ExtractBadPathFail.instance b/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/14.ExtractBadPathFail.instance similarity index 100% rename from src/us/kbase/typedobj/test/files/SubdataExtraction/14.ExtractBadPathFail.instance rename to src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/14.ExtractBadPathFail.instance diff --git a/src/us/kbase/typedobj/test/files/SubdataExtraction/15.ExtractPathEscaped.instance b/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/15.ExtractPathEscaped.instance similarity index 100% rename from src/us/kbase/typedobj/test/files/SubdataExtraction/15.ExtractPathEscaped.instance rename to src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/15.ExtractPathEscaped.instance diff --git a/src/us/kbase/typedobj/test/files/SubdataExtraction/16.ExtractPathEscapedBad.instance b/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/16.ExtractPathEscapedBad.instance similarity index 100% rename from src/us/kbase/typedobj/test/files/SubdataExtraction/16.ExtractPathEscapedBad.instance rename to src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/16.ExtractPathEscapedBad.instance diff --git a/src/us/kbase/typedobj/test/files/SubdataExtraction/17.ExtractPathEscapedBad2.instance b/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/17.ExtractPathEscapedBad2.instance similarity index 100% rename from src/us/kbase/typedobj/test/files/SubdataExtraction/17.ExtractPathEscapedBad2.instance rename to src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/17.ExtractPathEscapedBad2.instance diff --git a/src/us/kbase/typedobj/test/files/t4/FBA.spec b/src/test/resources/us/kbase/test/typedobj/files/t4/FBA.spec similarity index 100% rename from src/us/kbase/typedobj/test/files/t4/FBA.spec rename to src/test/resources/us/kbase/test/typedobj/files/t4/FBA.spec diff --git a/src/us/kbase/typedobj/test/files/t4/KB.spec b/src/test/resources/us/kbase/test/typedobj/files/t4/KB.spec similarity index 100% rename from src/us/kbase/typedobj/test/files/t4/KB.spec rename to src/test/resources/us/kbase/test/typedobj/files/t4/KB.spec diff --git a/src/us/kbase/workspace/test/docserver/docserverTestFile.html b/src/test/resources/us/kbase/test/workspace/docserver/docserverTestFile.html similarity index 100% rename from src/us/kbase/workspace/test/docserver/docserverTestFile.html rename to src/test/resources/us/kbase/test/workspace/docserver/docserverTestFile.html diff --git a/src/us/kbase/workspace/test/docserver/fake.css b/src/test/resources/us/kbase/test/workspace/docserver/fake.css similarity index 100% rename from src/us/kbase/workspace/test/docserver/fake.css rename to src/test/resources/us/kbase/test/workspace/docserver/fake.css diff --git a/src/us/kbase/workspace/test/docserver/fake.gif b/src/test/resources/us/kbase/test/workspace/docserver/fake.gif similarity index 100% rename from src/us/kbase/workspace/test/docserver/fake.gif rename to src/test/resources/us/kbase/test/workspace/docserver/fake.gif diff --git a/src/us/kbase/workspace/test/docserver/fake.js b/src/test/resources/us/kbase/test/workspace/docserver/fake.js similarity index 100% rename from src/us/kbase/workspace/test/docserver/fake.js rename to src/test/resources/us/kbase/test/workspace/docserver/fake.js diff --git a/src/us/kbase/workspace/test/docserver/fake.png b/src/test/resources/us/kbase/test/workspace/docserver/fake.png similarity index 100% rename from src/us/kbase/workspace/test/docserver/fake.png rename to src/test/resources/us/kbase/test/workspace/docserver/fake.png diff --git a/src/us/kbase/workspace/test/docserver/fake.spec b/src/test/resources/us/kbase/test/workspace/docserver/fake.spec similarity index 100% rename from src/us/kbase/workspace/test/docserver/fake.spec rename to src/test/resources/us/kbase/test/workspace/docserver/fake.spec diff --git a/src/us/kbase/workspace/test/docserver/fake.txt b/src/test/resources/us/kbase/test/workspace/docserver/fake.txt similarity index 100% rename from src/us/kbase/workspace/test/docserver/fake.txt rename to src/test/resources/us/kbase/test/workspace/docserver/fake.txt diff --git a/src/us/kbase/workspace/test/docserver/fake.weirdsuffix b/src/test/resources/us/kbase/test/workspace/docserver/fake.weirdsuffix similarity index 100% rename from src/us/kbase/workspace/test/docserver/fake.weirdsuffix rename to src/test/resources/us/kbase/test/workspace/docserver/fake.weirdsuffix diff --git a/src/us/kbase/workspace/test/docserver/files/docserverTestFile2.html b/src/test/resources/us/kbase/test/workspace/docserver/files/docserverTestFile2.html similarity index 100% rename from src/us/kbase/workspace/test/docserver/files/docserverTestFile2.html rename to src/test/resources/us/kbase/test/workspace/docserver/files/docserverTestFile2.html diff --git a/src/us/kbase/workspace/test/docserver/files/index.html b/src/test/resources/us/kbase/test/workspace/docserver/files/index.html similarity index 100% rename from src/us/kbase/workspace/test/docserver/files/index.html rename to src/test/resources/us/kbase/test/workspace/docserver/files/index.html diff --git a/src/us/kbase/workspace/test/docserver/index.html b/src/test/resources/us/kbase/test/workspace/docserver/index.html similarity index 100% rename from src/us/kbase/workspace/test/docserver/index.html rename to src/test/resources/us/kbase/test/workspace/docserver/index.html diff --git a/src/us/kbase/workspace/test/workspace/long_test_get_object_subset.json.gz.properties b/src/test/resources/us/kbase/test/workspace/workspace/long_test_get_object_subset.json.gz.properties similarity index 100% rename from src/us/kbase/workspace/test/workspace/long_test_get_object_subset.json.gz.properties rename to src/test/resources/us/kbase/test/workspace/workspace/long_test_get_object_subset.json.gz.properties From 53d7dd4675dbe001b6ae899cbd4d3bd147b53e87 Mon Sep 17 00:00:00 2001 From: Gavin Date: Fri, 29 Mar 2024 17:37:52 -0700 Subject: [PATCH 41/48] Update documentation for Gradle changes Also deleted a no longer relevant Shock warning. The documentation needs to be updated for Shock -> Blobstore all over the place, but that's another commit or two. --- build.gradle | 10 +++- docsource/buildandconfigure.rst | 90 +++++++++------------------------ docsource/builddocs.rst | 39 +++----------- docsource/buildinitclient.rst | 90 ++++++++++----------------------- docsource/developers.rst | 20 ++++++-- docsource/test.rst | 19 ++++--- readme.md | 61 +++++++--------------- 7 files changed, 110 insertions(+), 219 deletions(-) diff --git a/build.gradle b/build.gradle index 784872c3..f7099d67 100644 --- a/build.gradle +++ b/build.gradle @@ -30,8 +30,6 @@ var IN_JAR_JAVA_DOC_DIR = "$IN_JAR_DOC_DIR/javadoc" var LOC_WS_SPEC = "$rootDir/workspace.spec" var LOC_DOC_HTML = "$rootDir/docshtml" -// TODO NOW update any ant refs in docs to gradle & the update schema script build & location - repositories { mavenCentral() } @@ -280,6 +278,14 @@ java -cp $buildDir/classes/java/main:\$CLASSPATH us.kbase.workspace.kbase.Schema } } +task buildAll { + dependsOn buildDocs + dependsOn jar + dependsOn war + dependsOn shadowJar + dependsOn generateUpdateSchemaScript +} + configurations { // can't directly access testImplementation, so extend and access testimpl.extendsFrom testImplementation diff --git a/docsource/buildandconfigure.rst b/docsource/buildandconfigure.rst index 4001e515..27b7d3db 100644 --- a/docsource/buildandconfigure.rst +++ b/docsource/buildandconfigure.rst @@ -3,79 +3,30 @@ Build, configure, and deploy ============================ -These instructions assume the reader is familiar with the process of deploying -a KBase module, including the `runtime `_ -and `dev_container `_, and has access to -a system with the KBase runtime installed. These instructions are based on the -``kbase-image-v26`` runtime image. - -Unlike many modules the WSS can be built and tested outside the -``dev_container``, but the ``dev_container`` is required to build and test the -scripts. These instructions are for deploying the server and so do not -address the scripts. Building outside the ``dev_container`` means the Makefile -uses several default values for deployment - if you wish to use other values -deploy from the ``dev_container`` as usual. - Build the workspace service --------------------------- -First checkout the ``dev_container``:: - - /kb$ sudo git clone https://github.com/kbase/dev_container - Cloning into 'dev_container'... - remote: Counting objects: 1097, done. - remote: Total 1097 (delta 0), reused 0 (delta 0), pack-reused 1097 - Receiving objects: 100% (1097/1097), 138.81 KiB, done. - Resolving deltas: 100% (661/661), done. - -.. note:: - In the v26 image, ``/kb`` is owned by ``root``. As an alternative to - repetitive ``sudo`` s, ``chown`` ``/kb`` to the user. - -Bootstrap and source the user environment file, which sets up Java and Perl -paths which the WSS build needs:: - - /kb$ cd dev_container/ - /kb/dev_container$ sudo ./bootstrap /kb/runtime/ - /kb/dev_container$ source user-env.sh - -Now the WSS may be built. If building inside the ``dev_container`` all the -dependencies from the ``DEPENDENCIES`` file are required, but to build outside -the ``dev_container``, only the ``jars`` and ``workspace_deluxe`` repos are -necessary:: +Get the code:: ~$ mkdir kb ~$ cd kb ~/kb$ git clone https://github.com/kbase/workspace_deluxe - Cloning into 'workspace_deluxe'... - remote: Counting objects: 21961, done. - remote: Compressing objects: 100% (40/40), done. - remote: Total 21961 (delta 20), reused 0 (delta 0), pack-reused 21921 - Receiving objects: 100% (21961/21961), 21.42 MiB | 16.27 MiB/s, done. - Resolving deltas: 100% (13979/13979), done. - - ~/kb$ git clone https://github.com/kbase/jars - Cloning into 'jars'... - remote: Counting objects: 1466, done. - remote: Total 1466 (delta 0), reused 0 (delta 0), pack-reused 1466 - Receiving objects: 100% (1466/1466), 59.43 MiB | 21.49 MiB/s, done. - Resolving deltas: 100% (626/626), done. + +Build:: ~/kb$ cd workspace_deluxe/ - ~/kb/workspace_deluxe$ make + ~/kb/workspace_deluxe$ ./gradlew buildAll *snip* -``make`` will build: - -* A workspace client jar in ``/dist/client`` -* A workspace server jar in ``/dist`` -* This documentation in ``/docs`` +``buildAll`` will build 3 jars in ``build/libs``: -.. note:: - If the build fails due to a sphinx error, sphinx may require an upgrade to - >= 1.3:: +* A workspace client jar +* A workspace server WAR file +* A workspace shadow jar containing all test code. This is useful for starting a workpace server + from other processes without needing a docker container, but should **only** be used for testing. - $ sudo pip install sphinx --upgrade +It will also build the ``build\update_workspace_database_schema`` script which is used to +update the workspace schema if it changes from one version to another. .. _servicedeps: @@ -133,10 +84,7 @@ to create the file. It is especially important to protect the credentials that the WSS uses to talk to S3 (``backend-token``) as they can be used to delete or corrupt the workspace data. At minimum, only the user that runs the WSS (which - should **not** be ``root``) should have read access to ``deploy.cfg``. Also be - aware that the ``deploy.cfg`` contents are copied to, by default, - ``/kb/deployment/deployment.cfg`` when the workspace is deployed from the - ``dev_container``. + should **not** be ``root``) should have read access to ``deploy.cfg``. .. _configurationparameters: @@ -338,9 +286,6 @@ is checked against ``bytestream-user``, and if the names differ, the server will .. warning:: Once any data containing Shock node IDs has been saved by the workspace, changing the shock user will result in unspecified behavior, including data corruption. -.. note:: It is strongly encouraged to use different accounts for the backend shock user and - the linking shock user so that core workspace data can be distinguished from linked data. - bytestream-token """""""""""""""" **Required**: If linking WSS objects to Shock nodes is desired. @@ -408,6 +353,17 @@ for a request, in order of precedence, is 1) the first address in Deploy and start the server --------------------------- +.. todo:: + This section needs an entire rewrite from scratch with Tomcat as the application server and + a clean, easy install instruction set or a script to set things up correctly (e.g. + the port and memory settings in the ``deploy.cfg`` file are currently ignored). + Currently, the easiest way to run the service locally is via ``docker compose up -d --build`` + which will start a KBase auth server in testmode and the workspace. If deploying outside + a docker container is required, the best option for now is to inspect the Dockerfile and + attempt to follow the steps there. + + Also, the developer and administrator server startup documentation should be unified. + To avoid various issues when deploying, ``chown`` the deployment directory to the user. Alternatively, chown ``/kb/`` to the user, or deploy as root. :: diff --git a/docsource/builddocs.rst b/docsource/builddocs.rst index 3bb3c2cd..83070033 100644 --- a/docsource/builddocs.rst +++ b/docsource/builddocs.rst @@ -1,9 +1,8 @@ Build documentation =================== -This documentation assumes the documentation build occurs on Ubuntu 12.04LTS, -but things should work similarly on other distributions. It does **not** -assume that the KBase runtime or ``dev_container`` are installed. +This documentation assumes the documentation build occurs on Ubuntu 18.04LTS, +but things should work similarly on other distributions. Requirements ------------ @@ -12,43 +11,17 @@ The build requires: Java JDK 11 -`Java ant `_:: +`Python `_ `Sphinx `_ 1.3+ - sudo apt-get install ant - -`Python `_ `Sphinx `_ 1.3+:: - -Either - - sudo apt-get install python3-sphinx - -or, if the `python3-sphinx` package is not available for your distribution - - curl https://bootstrap.pypa.io/get-pip.py > get-pip.py - sudo python get-pip.py - sudo pip install sphinx --upgrade .. _getcode: Getting the code ---------------- -Clone the jars and workspace_deluxe repos:: - - bareubuntu@bu:~/ws$ git clone https://github.com/kbase/jars - Cloning into 'jars'... - remote: Counting objects: 1466, done. - remote: Total 1466 (delta 0), reused 0 (delta 0), pack-reused 1466 - Receiving objects: 100% (1466/1466), 59.43 MiB | 2.43 MiB/s, done. - Resolving deltas: 100% (626/626), done. +Clone the workspace_deluxe repo:: bareubuntu@bu:~/ws$ git clone https://github.com/kbase/workspace_deluxe - Cloning into 'workspace_deluxe'... - remote: Counting objects: 22004, done. - remote: Compressing objects: 100% (82/82), done. - remote: Total 22004 (delta 41), reused 0 (delta 0), pack-reused 21921 - Receiving objects: 100% (22004/22004), 21.44 MiB | 2.44 MiB/s, done. - Resolving deltas: 100% (14000/14000), done. Build ----- @@ -56,6 +29,6 @@ Build Build the documentation:: bareubuntu@bu:~/ws$ cd workspace_deluxe/ - bareubuntu@bu:~/ws/workspace_deluxe$ make build-docs + bareubuntu@bu:~/ws/workspace_deluxe$ ./gradlew buildDocs -The build directory is ``docs``. +The build directory is ``build/docs``. diff --git a/docsource/buildinitclient.rst b/docsource/buildinitclient.rst index 9921255e..b2932283 100644 --- a/docsource/buildinitclient.rst +++ b/docsource/buildinitclient.rst @@ -4,40 +4,21 @@ Build and initialize the workspace client ========================================= This documentation describes how to build and initialize the workspace clients. -It assumes the documentation build occurs on Ubuntu 12.04LTS, -but things should work similarly on other distributions. It assumes that the -``workspace_deluxe`` and ``jars`` repos have been cloned (see :ref:`getcode`) -but does **not** assume that the KBase runtime or ``dev_container`` are -installed. +It assumes the build occurs on Ubuntu 18.04LTS. It assumes that the +``workspace_deluxe`` repo has been cloned (see :ref:`getcode`). Python client ------------- -Currently the Python client only supports Python 2.7. The Python client checked -into ``libs/biokbase/workspace/client.py`` does not -require a build, but does require the ``requests`` (v 2+) 3rd party library, which, -depending on the Python version, can be -`tricky to install securely `_. -The following incantation worked for the author:: - - sudo apt-get install python-dev libffi-dev libssl-dev - curl https://bootstrap.pypa.io/get-pip.py > get-pip.py - sudo python get-pip.py - sudo pip install --upgrade requests - sudo pip install --upgrade requests[security] - -For python 2.7.9+ ``sudo pip install --upgrade requests`` should -work. +The Python client checked into ``libs/biokbase/workspace/client.py`` does not +require a build, but does require the `requests `_ library. Change the working directory to the lib directory:: bareubuntu@bu:~/ws$ cd workspace_deluxe/lib/ bareubuntu@bu:~/ws/workspace_deluxe/lib$ -Alternatively, add this directory to the ``PYTHONPATH``. If deploying with -the ``dev_container``, the client will be copied to -``/kb/deployment/lib/biokbase/workspace/client.py`` and the ``user-env`` script -will set up the ``PYTHONPATH``. +Alternatively, add this directory to the ``PYTHONPATH``. Here we use the iPython interpreter to demonstrate initializing the client, but the standard python interpreter will also work:: @@ -47,53 +28,41 @@ but the standard python interpreter will also work:: .. code-block:: python In [1]: from biokbase.workspace.client import Workspace - In [2]: ws = Workspace('https://kbase.us/services/ws', user_id='kbasetest', password=[redacted]) + In [2]: ws = Workspace('https://kbase.us/services/ws', token=[redacted]) In [3]: ws.ver() - Out[3]: u'0.3.5' + Out[3]: u'0.14.2' + +Developer tokens are available from the Account page of the KBase Narrative for approved developers +or can be created in the testmode API of the +`KBase authentication server `_ if running a local workspace and +auth server. Java client ----------- -The Java client build requires: - -Java JDK 6+ (`install instructions `_) - -`Java ant `_:: - - sudo apt-get install ant +The Java client build requires Java JDK 11+. Build the client:: - bareubuntu@bu:~/ws/workspace_deluxe$ make compile-java-client - ant compile_client - Buildfile: /home/bareubuntu/ws/workspace_deluxe/build.xml + bareubuntu@bu:~/ws/workspace_deluxe$ ./gradlew jar - compile_client: - [mkdir] Created dir: /home/bareubuntu/ws/workspace_deluxe/client_classes - [javac] Compiling 48 source files to /home/bareubuntu/ws/workspace_deluxe/client_classes - [jar] Building jar: /home/bareubuntu/ws/workspace_deluxe/dist/client/WorkspaceClient.jar - [delete] Deleting directory /home/bareubuntu/ws/workspace_deluxe/client_classes +The client jar is created in ``build/libs/workspace_deluxe-client.jar``. - BUILD SUCCESSFUL - Total time: 3 seconds - -The client jar is created in ``dist/client/WorkspaceClient.jar``. - -For simplicity, copy the required jars into a single directory:: +For simplicity, copy the required jars into a single directory. You will also need the +`Jackson `_ +annotations, core, and databind jars, which can be downloaded from maven or added to your build +tool:: bareubuntu@bu:~/ws$ mkdir tryjavaclient bareubuntu@bu:~/ws$ cd tryjavaclient/ - bareubuntu@bu:~/ws/tryjavaclient$ cp ../workspace_deluxe/dist/client/WorkspaceClient.jar . - bareubuntu@bu:~/ws/tryjavaclient$ cp ../jars/lib/jars/jackson/jackson-annotations-2.5.4.jar . - bareubuntu@bu:~/ws/tryjavaclient$ cp ../jars/lib/jars/jackson/jackson-core-2.5.4.jar . - bareubuntu@bu:~/ws/tryjavaclient$ cp ../jars/lib/jars/jackson/jackson-databind-2.5.4.jar . - bareubuntu@bu:~/ws/tryjavaclient$ cp ../jars/lib/jars/kbase/auth/kbase-auth-0.4.4.jar . - bareubuntu@bu:~/ws/tryjavaclient$ cp ../jars/lib/jars/kbase/common/kbase-common-0.0.24.jar . + bareubuntu@bu:~/ws/tryjavaclient$ cp ../workspace_deluxe/build/libs/workspace_deluxe-client.jar . + bareubuntu@bu:~/ws/tryjavaclient$ cp ../workspace_deluxe/build/download/kbase-auth-0.4.4.jar . + bareubuntu@bu:~/ws/tryjavaclient$ cp ../workspace_deluxe/build/download/kbase-common-0.2.0.jar . bareubuntu@bu:~/ws/tryjavaclient$ ls - jackson-annotations-2.5.4.jar kbase-auth-0.4.4.jar - jackson-core-2.5.4.jar kbase-common-0.0.24.jar - jackson-databind-2.5.4.jar WorkspaceClient.jar + jackson-annotations-2.9.9.jar kbase-auth-0.4.4.jar + jackson-core-2.9.9.jar kbase-common-0.2.0.jar + jackson-databind-2.9.9.jar workspace_deluxe-client.jar When creating an application using the WSS it's advisable to use a build tool @@ -134,17 +103,10 @@ Compile and run:: bareubuntu@bu:~/ws/tryjavaclient$ javac -cp "./*" TryWorkspaceClient.java bareubuntu@bu:~/ws/tryjavaclient$ java -cp "./:./*" TryWorkspaceClient - 0.8.0 + 0.14.2 For more client initialization and configuration options, see :ref:`apidocs`. -Perl client ------------ - -.. todo:: - Build and initialization instructions for the Perl client. If this can - be done without the KBase runtime & dev_container that'd be ideal. - Javascript client ----------------- diff --git a/docsource/developers.rst b/docsource/developers.rst index 2e027c5f..29096ec8 100644 --- a/docsource/developers.rst +++ b/docsource/developers.rst @@ -22,9 +22,13 @@ Branches: Recompiling the generated code ------------------------------ -To compile, simply run ``make compile``. The -`kb-sdk `_ executable must be in the system -path. +To compile, run ``./gradlew compile``. + +Note that: + +* The `kb-sdk `_ executable must be in the system path. +* The WorkspaceServer class compiled in constructor has been commented out in order to use + a custom constructor. That must be reversed for the compile to work. Release checklist ----------------- @@ -52,6 +56,16 @@ Release checklist Deploying the Workspace Service locally ---------------------------------------- + +.. todo:: + This section needs an entire rewrite from scratch with Tomcat as the application server. + Currently, the easiest way to run the service locally is via ``docker compose up -d --build`` + which will start a KBase auth server in testmode and the workspace. If deploying outside + a docker container is required, the best option for now is to inspect the Dockerfile and + attempt to follow the steps there. + + Also, the developer and administrator server startup documentation should be unified. + These instructions are known to work on Ubuntu 16.04 LTS. 1. Install the dependencies `Java8 `_, `Apache Ant `_, pymongo v2.8, `GlassFish v3.1.2.2 `_ , `mongodb >=v2.6.* `_, `kb-sdk `_ and the `KBase Jars `_ directory. diff --git a/docsource/test.rst b/docsource/test.rst index 68ca62ce..9992a62b 100644 --- a/docsource/test.rst +++ b/docsource/test.rst @@ -8,6 +8,10 @@ In order to run tests: * A Linux Shock binary is provided in ``shock_builds``. +.. todo:: + Update these instructions for the `Blobstore `_, + which has replaced Shock. + * Minio must be installed, but not necessarily running. * Minio version must be greater than 2019-05-23T00-29-34Z. @@ -15,11 +19,12 @@ In order to run tests: * The Handle Service must be installed, but not necessarily running. See ``test.cfg.example`` for setup instructions. -* The KBase Jars repo must be cloned into the parent directory of the workspace repo directory, - e.g:: +* The Sample Service must be installed, but not necessarily running. See ``test.cfg.example`` + for setup instructions. + +* `ArangoDB `_ must be installed but not necessarily running as it is a + requirement of the Sample Service. - ls - jars workspace_deluxe See :ref:`servicedeps` for more information about these test dependencies. @@ -30,7 +35,9 @@ Then:: cd python_dependencies/ pipenv shell cd .. - make test + ./gradlew test -The tests currently take 20-30 minutes to run on spinning disks, or 8-10 minutes on SSDs. +The ``testQuick`` target is substantially faster but does not run all tests. +.. todo:: + Move to developer documentation vs. server administrator documenation. diff --git a/readme.md b/readme.md index 6f084a14..429cf8c2 100644 --- a/readme.md +++ b/readme.md @@ -22,7 +22,7 @@ use the WSS. The easiest way to read the documentation is to find an already built instance online: * [KBase Continuous Integration](https://ci.kbase.us/services/ws/docs/) -* [KBase Next](https://next.kbase.us/services/ws/docs/) +* [KBase Appdev](https://appdev.kbase.us/services/ws/docs/) * [KBase Production](https://kbase.us/services/ws/docs/) The documentation can also be read on Github as @@ -37,53 +37,25 @@ yourself. ### Building documentation -This documentation assumes the documentation build occurs on Ubuntu 12.04LTS, -but things should work similarly on other distributions. It does **not** -assume that the KBase runtime or `dev_container` are installed. +This documentation assumes the documentation build occurs on Ubuntu 18.04LTS, +but things should work similarly on other distributions. The build requires: Java JDK 11 -[Java ant](http://ant.apache.org): +[Python](https://www.python.org) [Sphinx](http://sphinx-doc.org/) 1.3+ - sudo apt-get install ant - -[Python](https://www.python.org) [Sphinx](http://sphinx-doc.org/) 1.3+: - -Either - - sudo apt-get install python3-sphinx - -or - - curl https://bootstrap.pypa.io/get-pip.py > get-pip.py - sudo python get-pip.py - sudo pip install sphinx --upgrade - -Clone the jars and workspace_deluxe repos: - - bareubuntu@bu:~/ws$ git clone https://github.com/kbase/jars - Cloning into 'jars'... - remote: Counting objects: 1466, done. - remote: Total 1466 (delta 0), reused 0 (delta 0), pack-reused 1466 - Receiving objects: 100% (1466/1466), 59.43 MiB | 2.43 MiB/s, done. - Resolving deltas: 100% (626/626), done. +Clone the workspace_deluxe repos: bareubuntu@bu:~/ws$ git clone https://github.com/kbase/workspace_deluxe - Cloning into 'workspace_deluxe'... - remote: Counting objects: 22004, done. - remote: Compressing objects: 100% (82/82), done. - remote: Total 22004 (delta 41), reused 0 (delta 0), pack-reused 21921 - Receiving objects: 100% (22004/22004), 21.44 MiB | 2.44 MiB/s, done. - Resolving deltas: 100% (14000/14000), done. Build the documentation: bareubuntu@bu:~/ws$ cd workspace_deluxe/ - bareubuntu@bu:~/ws/workspace_deluxe$ make build-docs + bareubuntu@bu:~/ws/workspace_deluxe$ ./gradlew buildDocs -The build directory is `docs`. +The build directory is `build/docs`. ### Notes on GitHub Actions automated tests @@ -94,24 +66,25 @@ Therefore, run the full test suite locally at least prior to every release. ### Downloading the Docker image -The latest `workspace_deluxe` image is available from the GitHub Container Repository; it can be downloaded [from the repository releases page](https://github.com/kbase/workspace_deluxe/releases/latest) or on the command line: +The latest `workspace_deluxe` image is available from the GitHub Container Repository: docker login ghcr.io docker pull ghcr.io/kbase/workspace_deluxe:latest ### Setting up a local instance -The included [docker-compose file](docker-compose.yml) allows developers to stand up a local workspace instance with an [auth2](http://github.com/kbase/auth2) instance in test mode. To mount the images: +The included [docker-compose file](docker-compose.yml) allows developers to stand up a local +workspace instance with an [auth2](http://github.com/kbase/auth2) instance in test mode: - # build the workspace docker image - docker compose build - # mount the images - docker compose up + docker compose up --build -d -The workspace has started up when the logs show a line that looks like +The workspace has started when the logs show a line that looks like INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 3198ms -Developers can then create a user and token using the auth2 service and use one of the clients in the [`lib/`](lib/) directory to interact with the workspace. See [workspace_container_test.py](scripts/workspace_container_test.py) as an example of this process. +Developers can then create a user and token using the auth2 service and use one of the clients +in the [`lib/`](lib/) directory to interact with the workspace. See +[workspace_container_test.py](scripts/workspace_container_test.py) as an example of this process. -See the [auth2 documentation](http://github.com/kbase/auth2) for details of the test mode interface. +See the [auth2 documentation](http://github.com/kbase/auth2) for details of the test mode +interface. From c42c439677f04cf1dff85a2e230b8088bd90824b Mon Sep 17 00:00:00 2001 From: Gavin Date: Thu, 25 Apr 2024 13:53:58 -0700 Subject: [PATCH 42/48] Docs clarifications & fixes --- docsource/buildandconfigure.rst | 11 +++++------ docsource/developers.rst | 4 +++- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/docsource/buildandconfigure.rst b/docsource/buildandconfigure.rst index 27b7d3db..5a18c43e 100644 --- a/docsource/buildandconfigure.rst +++ b/docsource/buildandconfigure.rst @@ -8,14 +8,13 @@ Build the workspace service Get the code:: - ~$ mkdir kb - ~$ cd kb - ~/kb$ git clone https://github.com/kbase/workspace_deluxe + + ~$ git clone https://github.com/kbase/workspace_deluxe Build:: - ~/kb$ cd workspace_deluxe/ - ~/kb/workspace_deluxe$ ./gradlew buildAll + ~$ cd workspace_deluxe/ + ~/workspace_deluxe$ ./gradlew buildAll *snip* ``buildAll`` will build 3 jars in ``build/libs``: @@ -25,7 +24,7 @@ Build:: * A workspace shadow jar containing all test code. This is useful for starting a workpace server from other processes without needing a docker container, but should **only** be used for testing. -It will also build the ``build\update_workspace_database_schema`` script which is used to +It will also build the ``build/update_workspace_database_schema`` script which is used to update the workspace schema if it changes from one version to another. .. _servicedeps: diff --git a/docsource/developers.rst b/docsource/developers.rst index 29096ec8..cd3b715c 100644 --- a/docsource/developers.rst +++ b/docsource/developers.rst @@ -28,7 +28,9 @@ Note that: * The `kb-sdk `_ executable must be in the system path. * The WorkspaceServer class compiled in constructor has been commented out in order to use - a custom constructor. That must be reversed for the compile to work. + a custom constructor. In order for the compile to succeed, the custom constructor must be + commented out and the compiled in constructor uncommented. When the compile is complete the + constructors must be switched back. Release checklist ----------------- From 4c5301ffbbde9271990b2926175f4b3cd920587a Mon Sep 17 00:00:00 2001 From: Gavin Date: Mon, 8 Apr 2024 16:29:48 -0700 Subject: [PATCH 43/48] Use jitpack jars and publish shadow jar Javadocs link properly Also remove ServiceChecker, it's completely unused at this point --- build.gradle | 134 +++++++-------- docsource/buildinitclient.rst | 48 +++--- docsource/developers.rst | 2 +- docsource/releasenotes.rst | 1 + .../kbase/common/service/ServiceChecker.java | 121 ------------- .../us/kbase/workspace/WorkspaceServer.java | 34 ++-- .../workspace/kbase/InitWorkspaceServer.java | 16 +- .../kbase/WorkspaceServerMethods.java | 10 +- .../java/us/kbase/test/common/TestCommon.java | 2 +- .../test/service/ServiceCheckerTest.java | 117 ------------- .../test/typedobj/BasicValidationTest.java | 2 +- .../test/typedobj/DetailedValidationTest.java | 2 +- .../kbase/test/typedobj/IdProcessingTest.java | 2 +- .../test/typedobj/MetadataExtractionTest.java | 2 +- .../typedobj/ObjectExtractionByPathTest.java | 2 +- .../typedobj/db/MongoTypeStorageTest.java | 2 +- .../test/typedobj/db/TypeRegisteringTest.java | 2 +- .../controllers/arango/ArangoController.java | 6 +- .../blobstore/BlobstoreController.java | 162 ------------------ .../handle/HandleServiceController.java | 6 +- .../controllers/minio/MinioController.java | 98 ----------- .../sample/SampleServiceController.java | 4 +- .../workspace/WorkspaceController.java | 4 +- .../database/mongo/GridFSBlobStoreTest.java | 4 +- .../database/mongo/MongoInternalsTest.java | 2 +- .../database/mongo/MongoStartUpTest.java | 2 +- .../database/mongo/MongoWorkspaceDBTest.java | 2 +- .../mongo/S3BlobStoreIntegrationTest.java | 4 +- .../database/mongo/SchemaUpdaterTest.java | 2 +- .../HandleAndBytestreamIntegrationTest.java | 19 +- .../workspace/kbase/JSONRPCLayerTest.java | 59 +++---- .../workspace/kbase/JSONRPCLayerTester.java | 28 ++- .../kbase/KBaseWorkspaceConfigTest.java | 2 +- .../test/workspace/kbase/LoggingTest.java | 2 +- .../kbase/SampleServiceIntegrationTest.java | 6 +- .../workspace/kbase/SchemaUpdaterCLITest.java | 2 +- .../workspace/kbase/TypeDelegationTest.java | 2 +- .../workspace/ObjectResolverTest.java | 2 +- .../WorkspaceIntegrationWithGridFSTest.java | 2 +- .../workspace/workspace/WorkspaceTester.java | 6 +- 40 files changed, 201 insertions(+), 724 deletions(-) delete mode 100644 src/main/java/us/kbase/common/service/ServiceChecker.java delete mode 100644 src/test/java/us/kbase/test/common/test/service/ServiceCheckerTest.java delete mode 100644 src/test/java/us/kbase/test/workspace/controllers/blobstore/BlobstoreController.java delete mode 100644 src/test/java/us/kbase/test/workspace/controllers/minio/MinioController.java diff --git a/build.gradle b/build.gradle index f7099d67..904f9f3e 100644 --- a/build.gradle +++ b/build.gradle @@ -11,10 +11,19 @@ plugins { id 'java' id 'war' id 'jacoco' + id 'maven-publish' id 'org.ajoberstar.grgit' version '4.1.1' id 'com.github.johnrengelman.shadow' version '8.1.1' } +group = 'com.github.kbase' + +var VER_JAVA_COMMON = "0.3.0" +var VER_AUTH2_CLIENT = "0.5.0" +var VER_AUTH2_SHADOW = "0.7.1" +var VER_JACKSON = "2.9.9" + + var DEFAULT_URL = "https://ci.kbase.us/services/ws" var BUILD_DOC_ROOT = "$buildDir/docs/" @@ -32,6 +41,14 @@ var LOC_DOC_HTML = "$rootDir/docshtml" repositories { mavenCentral() + maven { + name = "Jitpack" + url = 'https://jitpack.io' + } + maven { + name = "Clojars" + url = "https://repo.clojars.org/" + } } task buildGitCommitFile { @@ -55,12 +72,6 @@ javadoc { * building the client javadocs. If we ever need the full javadocs make a new task for the * client java docs */ - /* TODO DOCS currently java-common and auth links don't work. ROI for fixing them is low. - * Ideally, in the future make github actions publish docs on release and ref them - * here. - * https://github.com/marketplace/actions/deploy-publish-javadoc - * https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-gradle-registry - */ /* TODO DOCS the current sdk documenation looks like invalid html to javadoc * need to go through and remove * also some spots with < / > that need to be wrapped with {@code } in internal code @@ -68,6 +79,8 @@ javadoc { failOnError = false options { links "https://docs.oracle.com/en/java/javase/11/docs/api/" + links "https://javadoc.jitpack.io/com/github/kbase/auth2_client_java/$VER_AUTH2_CLIENT/javadoc/" + links "https://javadoc.jitpack.io/com/github/kbase/java_common/$VER_JAVA_COMMON/javadoc/" } include "**/workspace/*.java" exclude "**/workspace/WorkspaceServer.java" @@ -163,12 +176,16 @@ shadowJar { // Be careful when updating jars - you may want to set the duplicates strategy to WARN // to see if any of the jars are shadowing the others when building the fat jar, which // has been the case in the past - dependsOn buildDocs + // Can't include the full documentation as jitpack doesn't have sphinx installed + dependsOn javadoc duplicatesStrategy = DuplicatesStrategy.EXCLUDE archiveAppendix = 'test-shadow' from sourceSets.test.output - // we don't want to package the auth shadow jar, so no test runtime classpath - configurations = [project.configurations.runtimeClasspath] + + // don't shadow the shadow jar, don't need it and it's big + dependencies { + exclude(dependency("com.github.kbase:auth2:$VER_AUTH2_SHADOW")) + } enableRelocation true relocationPrefix 'us.kbase.workspace.shadow' @@ -186,6 +203,19 @@ war { from(BUILD_OTHER_DOC_DIR) { into "/WEB-INF/classes/$IN_JAR_DOC_DIR" } } +// This is a filthy hack to get jitpack.io to not try to build the war file. +// Since the war depends on buildDocs which depends on sphinx, the build will fail +// It'd be better if it didn't call assemble and just publishToMavenLocal, +// but no such luck +gradle.taskGraph.whenReady { taskGraph -> + def tasks = taskGraph.getAllTasks() + if (tasks.find {it.name == 'assemble'}) { + tasks.findAll {it.name == 'war' || it.name == "buildDocs"}.each { task -> + task.enabled = false + } + } +} + /* SDK compile notes: * kb-sdk starts a docker container in interactive mode. Gradle's commandLine doesn't allocate * a tty so the command fails. @@ -291,49 +321,38 @@ configurations { testimpl.extendsFrom testImplementation } -def fromURL = { url, name -> - File file = new File("$buildDir/download/${name}.jar") - file.parentFile.mkdirs() - if (!file.exists()) { - new URL(url).withInputStream { downloadStream -> - file.withOutputStream { fileOut -> - fileOut << downloadStream - } +publishing { + publications { + shadow(MavenPublication) { publication -> + project.shadow.component(publication) + artifactId = "workspace_deluxe-test-shadow-all" } } - files(file.absolutePath) } dependencies { // ### General application dependencies ### - implementation fromURL( - 'https://github.com/kbase/jars/raw/master/lib/jars/kbase/handle/AbstractHandleClient-1.0.0.jar', - 'AbstractHandleClient-1.0.0' - ) - implementation fromURL( - 'https://github.com/kbase/jars/raw/master/lib/jars/kbase/auth/kbase-auth-0.4.4.jar', - 'kbase-auth-0.4.4' - ) - implementation fromURL( - 'https://github.com/kbase/jars/raw/master/lib/jars/kbase/kidl/kbase-kidl-parser-1409261812-7863aef.jar', - 'kbase-kidl-parser-1409261812-7863aef' - ) - implementation fromURL( - 'https://github.com/kbase/jars/raw/master/lib/jars/kbase/sample/SampleServiceClient-0.1.1.jar', - 'SampleServiceClient-0.1.1' - ) implementation 'ch.qos.logback:logback-classic:1.1.2' - implementation 'com.google.guava:guava:14.0.1' implementation 'com.github.ben-manes.caffeine:caffeine:2.9.3' + implementation "com.github.kbase:auth2_client_java:$VER_AUTH2_CLIENT" + implementation("com.github.kbase:handle_service2:1.0.6") { + exclude group: 'net.java.dev.jna' // breaks shadow jar + } + implementation "com.github.kbase:java_kidl:0.1.0" + implementation("com.github.kbase:sample_service:0.2.6") { + exclude group: 'net.java.dev.jna' // breaks shadow jar + } + implementation "com.github.kbase:shock_java_client:0.2.0" + implementation 'com.google.guava:guava:14.0.1' implementation 'commons-codec:commons-codec:1.8' implementation 'commons-io:commons-io:2.4' - implementation 'com.fasterxml.jackson.core:jackson-annotations:2.9.9' - implementation 'com.fasterxml.jackson.core:jackson-core:2.9.9' - implementation 'com.fasterxml.jackson.core:jackson-databind:2.9.9' + implementation "com.fasterxml.jackson.core:jackson-annotations:$VER_JACKSON" + implementation "com.fasterxml.jackson.core:jackson-databind:$VER_JACKSON" implementation 'info.picocli:picocli:4.6.1' implementation 'org.apache.commons:commons-lang3:3.1' + implementation 'org.apache.httpcomponents:httpclient:4.5.9' implementation 'org.apache.kafka:kafka-clients:2.1.0' implementation 'org.ini4j:ini4j:0.5.2' implementation 'org.mongodb:bson:4.11.1' @@ -342,34 +361,18 @@ dependencies { implementation 'org.mongodb:mongodb-driver-sync:4.11.1' implementation 'org.slf4j:slf4j-api:1.7.30' - // ### Server dependencies, specifically for java_common JsonServerServlet ### + // ### Server dependencies for java_common JsonServerServlet & WorkspaceServer ### - implementation fromURL( - 'https://github.com/kbase/jars/raw/master/lib/jars/kbase/common/kbase-common-0.2.0.jar', - 'kbase-common-0.2.0' - ) - // Pull from jars repo vs a maven repository to avoid the JNA dependency - // TODO DEPS Need to rework the java common logger to not use syslog4j at all since it's abandonware - // and has a ton of CVEs, even in the newer versions. - implementation fromURL( - 'https://github.com/kbase/jars/raw/master/lib/jars/syslog4j/syslog4j-0.9.46.jar', - 'syslog4j-0.9.46' - ) + implementation("com.github.kbase:java_common:$VER_JAVA_COMMON") { + exclude group: 'net.java.dev.jna' // breaks shadow jar + } + // TODO DEPS Need to rework the java common logger to not use syslog4j at all since it's + // abandonware and has a ton of CVEs, even in the newer versions. + implementation "org.syslog4j:syslog4j:0.9.46" implementation 'javax.annotation:javax.annotation-api:1.3.2' implementation 'javax.servlet:servlet-api:2.5' - // joda-time is required for kbase-common and syslog4j - implementation 'joda-time:joda-time:2.2' // this is OOOOOOLD. But that probably means updating java_common implementation 'org.eclipse.jetty.aggregate:jetty-all:7.0.0.v20091005' - - // ### Blobstore / Shock client and dependencies ### - - implementation fromURL( - 'https://github.com/kbase/jars/raw/master/lib/jars/kbase/shock/shock-client-0.1.0.jar', - 'shock-client-0.1.0' - ) - implementation 'org.apache.httpcomponents:httpclient:4.5.9' - implementation 'org.apache.httpcomponents:httpmime:4.5.8' // ### Amazon S3 ### @@ -381,17 +384,13 @@ dependencies { // ### Test ### - testImplementation fromURL( - 'https://github.com/kbase/jars/raw/master/lib/jars/kbase/auth2/kbase-auth2-test-shadow-all-0.7.0.jar', - 'kbase-auth2-test-shadow-all-0.7.0' - ) testImplementation 'com.arangodb:arangodb-java-driver:6.7.2' + testImplementation 'com.github.kbase:java_test_utilities:0.1.0' + testImplementation "com.github.kbase:auth2:$VER_AUTH2_SHADOW" testImplementation 'com.github.zafarkhaja:java-semver:0.9.0' testImplementation 'junit:junit:4.12' testImplementation 'nl.jqno.equalsverifier:equalsverifier:3.1.10' - testImplementation 'org.hamcrest:hamcrest-core:1.3' testImplementation 'org.mockito:mockito-core:3.0.0' - } task showTestClassPath { @@ -399,4 +398,3 @@ task showTestClassPath { configurations.testimpl.each { println it } } } - diff --git a/docsource/buildinitclient.rst b/docsource/buildinitclient.rst index b2932283..83247756 100644 --- a/docsource/buildinitclient.rst +++ b/docsource/buildinitclient.rst @@ -48,22 +48,25 @@ Build the client:: The client jar is created in ``build/libs/workspace_deluxe-client.jar``. -For simplicity, copy the required jars into a single directory. You will also need the -`Jackson `_ -annotations, core, and databind jars, which can be downloaded from maven or added to your build -tool:: +For simplicity, copy the required jars into a single directory. You will also need the following +jars, which can be downloaded from a maven repository or https://jitpack.io: + +* The `Jackson `_ annotations, core, and databind jars + (maven) +* The javax annotation api jar (maven) +* The `KBase auth client jar `_ +* The `KBase java_common jar `_ + +:: bareubuntu@bu:~/ws$ mkdir tryjavaclient bareubuntu@bu:~/ws$ cd tryjavaclient/ - bareubuntu@bu:~/ws/tryjavaclient$ cp ../workspace_deluxe/build/libs/workspace_deluxe-client.jar . - bareubuntu@bu:~/ws/tryjavaclient$ cp ../workspace_deluxe/build/download/kbase-auth-0.4.4.jar . - bareubuntu@bu:~/ws/tryjavaclient$ cp ../workspace_deluxe/build/download/kbase-common-0.2.0.jar . bareubuntu@bu:~/ws/tryjavaclient$ ls - jackson-annotations-2.9.9.jar kbase-auth-0.4.4.jar - jackson-core-2.9.9.jar kbase-common-0.2.0.jar - jackson-databind-2.9.9.jar workspace_deluxe-client.jar - + auth2_client_java-0.5.0.jar java_common-0.3.0.jar + jackson-annotations-2.9.9.jar javax.annotation-api-1.3.2.jar + jackson-core-2.9.9.jar workspace_deluxe-client.jar + jackson-databind-2.9.9.jar When creating an application using the WSS it's advisable to use a build tool like ``ant``, ``maven``, or ``gradle`` to organize the required jars. @@ -74,26 +77,23 @@ This simple program initializes and calls a method on the WSS client:: .. code-block:: java + import java.net.URI; import java.net.URL; - import us.kbase.auth.AuthConfig; - import us.kbase.workspace.WorkspaceClient; - import us.kbase.auth.ConfigurableAuthService; import us.kbase.auth.AuthToken; + import us.kbase.auth.client.AuthClient; + import us.kbase.workspace.WorkspaceClient; public class TryWorkspaceClient { public static void main(String[] args) throws Exception { - String authUrl = - "https://ci.kbase.us/services/auth/api/legacy/KBase/Sessions/Login/"; - - ConfigurableAuthService authService = new ConfigurableAuthService( - new AuthConfig().withKBaseAuthServerURL(new URL(authUrl)); + final String authUrl = "https://appdev.kbase.us/services/auth/"; + final AuthClient authcli = AuthClient.from(new URI(authUrl)); - String tokenString = YOUR_AUTH_TOKEN_HERE; - AuthToken token = authService.validateToken(tokenString); + final String tokenString = args[0]; + final AuthToken token = authcli.validateToken(tokenString); - WorkspaceClient client = new WorkspaceClient( - new URL("https://ci.kbase.us/services/ws/"), + final WorkspaceClient client = new WorkspaceClient( + new URL("https://appdev.kbase.us/services/ws/"), token); System.out.println(client.ver()); } @@ -102,7 +102,7 @@ This simple program initializes and calls a method on the WSS client:: Compile and run:: bareubuntu@bu:~/ws/tryjavaclient$ javac -cp "./*" TryWorkspaceClient.java - bareubuntu@bu:~/ws/tryjavaclient$ java -cp "./:./*" TryWorkspaceClient + bareubuntu@bu:~/ws/tryjavaclient$ java -cp "./:./*" TryWorkspaceClient $KBASE_TOKEN 0.14.2 For more client initialization and configuration options, see :ref:`apidocs`. diff --git a/docsource/developers.rst b/docsource/developers.rst index cd3b715c..b94d2388 100644 --- a/docsource/developers.rst +++ b/docsource/developers.rst @@ -22,7 +22,7 @@ Branches: Recompiling the generated code ------------------------------ -To compile, run ``./gradlew compile``. +To compile the Workspace generated code from ``workspace.spec``, run ``./gradlew compile``. Note that: diff --git a/docsource/releasenotes.rst b/docsource/releasenotes.rst index 4f5c3434..9223d491 100644 --- a/docsource/releasenotes.rst +++ b/docsource/releasenotes.rst @@ -16,6 +16,7 @@ UPDATES: against Mongo 7. * Gradle has replaced Ant as the build tool. As a consequence, all the built artifacts are now located in the build directory, including the ``update_workspace_database_schema`` script. +* A shadow jar is published on jitpack.io for supporting tests in other repos. VERSION: 0.14.2 (Released 11/9/2023) diff --git a/src/main/java/us/kbase/common/service/ServiceChecker.java b/src/main/java/us/kbase/common/service/ServiceChecker.java deleted file mode 100644 index 6239a1dc..00000000 --- a/src/main/java/us/kbase/common/service/ServiceChecker.java +++ /dev/null @@ -1,121 +0,0 @@ -package us.kbase.common.service; - -import java.io.IOException; -import java.io.InputStream; -import java.net.HttpURLConnection; -import java.net.URL; - -import org.apache.commons.io.IOUtils; - -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.fasterxml.jackson.databind.ObjectMapper; - - -/** Methods for checking on KBase SDK services. - * @author gaprice@lbl.gov - * - */ -public class ServiceChecker { - - public static final String PY_MSG = "Expecting value: line 1 column 1 (char 0)"; - public static final int PY_CODE = -32700; - public static final String JV_PL_MSG = "HTTP GET not allowed."; - public static final int JV_PL_CODE = -32300; - - /** Checks whether the KBase SDK service at the given url is contactable. - * If not, throws an exception. - * @param serviceURL the url of the service. - * @throws ServiceException if the service cannot be contacted or is not a - * KBase SDK service. - */ - public static void checkService(final URL serviceURL) - throws ServiceException { - try { - final HttpURLConnection conn = - (HttpURLConnection) serviceURL.openConnection(); - conn.setRequestMethod("GET"); - conn.setDoOutput(true); - conn.setUseCaches(false); - - final int responseCode = conn.getResponseCode(); - if (responseCode != 500) { - handleNon500(serviceURL, conn, responseCode); - } else { - final RpcResponse r; - try (final InputStream is = conn.getErrorStream()) { - r = new ObjectMapper() - .readValue(is, RpcResponse.class); - } - conn.disconnect(); - //TODO TEST mock up a test service for the next two checks at some point - if (r.error == null) { - throw new ServiceException(String.format( - "The service at %s is not a KBase SDK service: " + - "no error field in RPC response as expected", - serviceURL)); - } - final String msg = r.error.message; - final int code = r.error.code; - if (!(PY_MSG.equals(msg) && PY_CODE == code) && - !(JV_PL_MSG.equals(msg) && JV_PL_CODE == code)) { - throw new ServiceException(String.format( - "The JSONRPC service at %s is not a KBase SDK " + - "service. Code: %s, message: %s", - serviceURL, code, msg)); - } - // service is ok, nothing to do - } - } catch (IOException e) { - throw new ServiceException(String.format( - "Could not contact the service at URL %s: %s", - serviceURL, e.getMessage()), e); - } - } - - private static void handleNon500( - final URL serviceURL, - final HttpURLConnection conn, - final int responseCode) - throws IOException, ServiceException { - final String error; - try (final InputStream es = conn.getInputStream()) { - error = IOUtils.toString(es, "UTF-8"); - } - conn.disconnect(); - throw new ServiceException(String.format( - "URL %s does not point to a KBase SDK generated " + - "service. Code: %s, message: %s, content: %s", - serviceURL, responseCode, - conn.getResponseMessage(), - error.length() >= 1000 ? error.substring(0, 1000) : - error)); - } - - @JsonIgnoreProperties(ignoreUnknown = true) - private static class RpcError { - - public String message; - public int code; - } - - @JsonIgnoreProperties(ignoreUnknown = true) - private static class RpcResponse { - public RpcError error; - } - - @SuppressWarnings("serial") - public static class ServiceException extends Exception { - - private ServiceException(String message, Throwable cause) { - super(message, cause); - } - - private ServiceException(String message) { - super(message); - } - } - - public static void main(String[] args) throws Exception { - checkService(new URL("http://the-internet.herokuapp.com/status_codes/500")); - } -} diff --git a/src/main/java/us/kbase/workspace/WorkspaceServer.java b/src/main/java/us/kbase/workspace/WorkspaceServer.java index eb4ee4a4..0b25a11a 100644 --- a/src/main/java/us/kbase/workspace/WorkspaceServer.java +++ b/src/main/java/us/kbase/workspace/WorkspaceServer.java @@ -16,9 +16,9 @@ import us.kbase.common.service.UObject; //BEGIN_HEADER -import us.kbase.auth.AuthConfig; import us.kbase.auth.AuthException; -import us.kbase.auth.ConfigurableAuthService; +import us.kbase.auth.client.AuthClient; + import static us.kbase.common.utils.ServiceUtils.checkAddlArgs; import static us.kbase.workspace.kbase.ArgUtils.getGlobalWSPerm; import static us.kbase.workspace.kbase.ArgUtils.wsInfoToTuple; @@ -35,9 +35,7 @@ import static us.kbase.workspace.version.WorkspaceVersion.VERSION; import java.io.IOException; -import java.net.MalformedURLException; import java.net.URISyntaxException; -import java.net.URL; import java.nio.file.Paths; import java.util.Arrays; import java.util.HashMap; @@ -143,7 +141,7 @@ public class WorkspaceServer extends JsonServerServlet { private static ThreadLocal _tempSyslog = new ThreadLocal<>(); private static ThreadLocal _tempConfig = new ThreadLocal<>(); private static ThreadLocal _tempStartupFailed = new ThreadLocal<>(); - private static ThreadLocal _tempAuth = new ThreadLocal<>(); + private static ThreadLocal _tempAuth = new ThreadLocal<>(); public WorkspaceServer() { // This deliberately replaces the constructor compiled by kb-sdk. If you recompile the @@ -197,29 +195,17 @@ private static AuthenticationHandler getAuth(final boolean silenceLogs) { if (cfg == null) { return t -> {throw new AuthException("failed to set up auth");}; } - final AuthConfig c = new AuthConfig(); - if (cfg.getAuth2URL().getProtocol().equals("http")) { - c.withAllowInsecureURLs(true); - sysLogger.logInfo("Warning - the Auth Service MKII url uses insecure http. " + - "https is recommended."); - } try { - final URL globusURL = cfg.getAuth2URL().toURI().resolve("api/legacy/globus").toURL(); - final URL kbaseURL = cfg.getAuth2URL().toURI() - .resolve("api/legacy/KBase/Sessions/Login").toURL(); - c.withGlobusAuthURL(globusURL).withKBaseAuthServerURL(kbaseURL); - } catch (URISyntaxException | MalformedURLException e) { + final AuthClient cli = AuthClient.from(cfg.getAuth2URL().toURI()); + _tempAuth.set(cli); + return token -> cli.validateToken(token); + } catch (URISyntaxException e) { sysLogger.logErr("Invalid Auth Service url: " + cfg.getAuth2URL()); _tempStartupFailed.set(true); return t -> {throw new AuthException("failed to set up auth");}; - } - try { - final ConfigurableAuthService cas = new ConfigurableAuthService(c); - _tempAuth.set(cas); - return token -> cas.validateToken(token); - } catch (IOException e) { + } catch (AuthException | IOException e) { sysLogger.logErr("Couldn't connect to authorization service at " + - c.getAuthServerURL() + " : " + e.getLocalizedMessage()); + cfg.getAuth2URL() + " : " + e.getLocalizedMessage()); sysLogger.logErr(e); _tempStartupFailed.set(true); return t -> {throw new AuthException("failed to set up auth");}; @@ -308,7 +294,7 @@ private static JsonServerSyslog getUserLogger(final boolean silenceLogs) { private WorkspaceInitResults initWorkspace( final KBaseWorkspaceConfig cfg, - final ConfigurableAuthService auth, + final AuthClient auth, final JsonServerSyslog logger) { setUpLogger(); setMaxRPCPackageSize(MAX_RPC_PACKAGE_SIZE); diff --git a/src/main/java/us/kbase/workspace/kbase/InitWorkspaceServer.java b/src/main/java/us/kbase/workspace/kbase/InitWorkspaceServer.java index 6d4f66cd..a1121bfd 100644 --- a/src/main/java/us/kbase/workspace/kbase/InitWorkspaceServer.java +++ b/src/main/java/us/kbase/workspace/kbase/InitWorkspaceServer.java @@ -33,7 +33,7 @@ import us.kbase.abstracthandle.AbstractHandleClient; import us.kbase.auth.AuthException; import us.kbase.auth.AuthToken; -import us.kbase.auth.ConfigurableAuthService; +import us.kbase.auth.client.AuthClient; import us.kbase.common.service.JsonClientException; import us.kbase.common.service.UnauthorizedException; import us.kbase.sampleservice.SampleServiceClient; @@ -142,7 +142,7 @@ public static void setMaximumUniqueIdCountForTests(final int count) { public static WorkspaceInitResults initWorkspaceServer( final KBaseWorkspaceConfig cfg, - final ConfigurableAuthService auth, + final AuthClient auth, final InitReporter rep) { final TempFilesManager tfm = initTempFilesManager(cfg.getTempDir(), rep); @@ -220,7 +220,7 @@ private static AdministratorHandler getAdminHandler( private static WorkspaceInitResults buildWorkspace( final KBaseWorkspaceConfig cfg, - final ConfigurableAuthService auth, + final AuthClient auth, final AbstractHandleClient hsc, final TempFilesManager tfm, final InitReporter rep) // DO NOT use the rep to report failures. Throw instead. @@ -349,7 +349,7 @@ public WorkspaceClient getClient(final URL workspaceURL) private static BytestreamIdHandlerFactory getShockIdHandlerFactory( final KBaseWorkspaceConfig cfg, - final ConfigurableAuthService auth) + final AuthClient auth) throws WorkspaceInitException { if (cfg.getBytestreamURL() == null) { return new BytestreamIdHandlerFactory(null, null); @@ -376,7 +376,7 @@ public BasicShockClient clone(final BasicShockClient source) private static SampleIdHandlerFactory getSampleIdHandlerFactory( final KBaseWorkspaceConfig cfg, - final ConfigurableAuthService auth, + final AuthClient auth, final InitReporter rep) // DO NOT use the rep to report failures. Throw instead. throws WorkspaceInitException { if (cfg.getSampleServiceURL() == null) { @@ -479,7 +479,7 @@ private static AuthToken getKBaseToken( final String user, final String token, final String source, - final ConfigurableAuthService auth) + final AuthClient auth) throws WorkspaceInitException { final AuthToken t = getToken(token, auth, source); if (!t.getUserName().equals(user)) { @@ -493,7 +493,7 @@ private static AuthToken getKBaseToken( private static AuthToken getToken( final String token, - final ConfigurableAuthService auth, + final AuthClient auth, final String source) throws WorkspaceInitException { if (token == null) { @@ -568,7 +568,7 @@ private static TempFilesManager initTempFilesManager( private static AuthToken getHandleToken( final KBaseWorkspaceConfig cfg, final InitReporter rep, - final ConfigurableAuthService auth) { + final AuthClient auth) { try { return auth.validateToken(cfg.getHandleServiceToken()); } catch (AuthException e) { diff --git a/src/main/java/us/kbase/workspace/kbase/WorkspaceServerMethods.java b/src/main/java/us/kbase/workspace/kbase/WorkspaceServerMethods.java index 52d7d31a..aaa008f6 100644 --- a/src/main/java/us/kbase/workspace/kbase/WorkspaceServerMethods.java +++ b/src/main/java/us/kbase/workspace/kbase/WorkspaceServerMethods.java @@ -36,7 +36,7 @@ import us.kbase.auth.AuthException; import us.kbase.auth.AuthToken; -import us.kbase.auth.ConfigurableAuthService; +import us.kbase.auth.client.AuthClient; import us.kbase.common.service.Tuple11; import us.kbase.common.service.Tuple9; import us.kbase.typedobj.core.TypeDefId; @@ -102,13 +102,13 @@ public class WorkspaceServerMethods { // TODO JAVADOC private final Workspace ws; - private final ConfigurableAuthService auth; + private final AuthClient auth; private final IdReferenceHandlerSetFactoryBuilder idFacBuilder; public WorkspaceServerMethods( final Workspace ws, final IdReferenceHandlerSetFactoryBuilder idFacBuilder, - final ConfigurableAuthService auth) { + final AuthClient auth) { this.ws = ws; this.idFacBuilder = idFacBuilder; this.auth = auth; @@ -134,7 +134,7 @@ public List getDependencyStatus() { return ret; } - public ConfigurableAuthService getAuth() { + public AuthClient getAuth() { return auth; } @@ -266,7 +266,7 @@ private List validateUsers(final List users, final AuthTo final List wsusers = convertUsers(users); final Map userok; try { - userok = auth.isValidUserName(users, token); + userok = auth.isValidUserName(users, token.getToken()); } catch (UnknownHostException uhe) { //message from UHE is only the host name throw new AuthException( diff --git a/src/test/java/us/kbase/test/common/TestCommon.java b/src/test/java/us/kbase/test/common/TestCommon.java index ccde18bb..5cf4df00 100644 --- a/src/test/java/us/kbase/test/common/TestCommon.java +++ b/src/test/java/us/kbase/test/common/TestCommon.java @@ -37,7 +37,7 @@ import ch.qos.logback.classic.spi.ILoggingEvent; import ch.qos.logback.classic.spi.IThrowableProxy; import ch.qos.logback.core.AppenderBase; -import us.kbase.common.test.TestException; +import us.kbase.testutils.TestException; import us.kbase.typedobj.core.TempFilesManager; public class TestCommon { diff --git a/src/test/java/us/kbase/test/common/test/service/ServiceCheckerTest.java b/src/test/java/us/kbase/test/common/test/service/ServiceCheckerTest.java deleted file mode 100644 index 9a1a63d5..00000000 --- a/src/test/java/us/kbase/test/common/test/service/ServiceCheckerTest.java +++ /dev/null @@ -1,117 +0,0 @@ -package us.kbase.test.common.test.service; - -import static org.hamcrest.CoreMatchers.is; -import static org.junit.Assert.assertThat; -import static org.junit.Assert.fail; - -import java.net.MalformedURLException; -import java.net.URL; -import java.util.HashMap; -import java.util.Map; - -import org.junit.BeforeClass; -import org.junit.Test; - -import us.kbase.common.service.ServiceChecker; -import us.kbase.common.service.ServiceChecker.ServiceException; - -public class ServiceCheckerTest { - - private static final String KBASE_ENV = "https://ci.kbase.us"; // "https://kbase.us/" - - public static class TestSpec { - public final String err; - public final URL url; - private TestSpec(String err, String url) throws MalformedURLException { - super(); - this.err = err; - this.url = new URL(url); - } - } - - public static Map TESTS = new HashMap<>(); - - @BeforeClass - public static void beforeClass() throws Exception { - TESTS.put("Perl", new TestSpec( - null, KBASE_ENV + "/services/handle_service")); - TESTS.put("Python", new TestSpec( - null, KBASE_ENV + "/services/catalog")); - TESTS.put("Java", new TestSpec( - null, KBASE_ENV + "/services/ws")); - TESTS.put("HTTP", new TestSpec( - null, "http://dev03.berkeley.kbase.us:7058")); - TESTS.put("500", new TestSpec( - "Could not contact the service at URL http://the-internet." + - "herokuapp.com/status_codes/500: Unexpected character ('<' " + - "(code 60)):", - "http://the-internet.herokuapp.com/status_codes/500")); - TESTS.put("200", new TestSpec( - "URL http://google.com does not point to a KBase SDK " + - "generated service. Code: 200, message: OK, content: " + - " adminRoles) - throws Exception { - checkExe(blobstoreExe, "blobstore"); - this.tempDir = makeTempDirs(rootTempDir, "BlobstoreController-", Collections.emptyList()); - this.port = findFreePort(); - - final File bsIniFile = createBlobstoreDeployCfg( - mongohost, - mongoDBname, - s3Host, - s3Bucket, - s3AccessKey, - s3AccessSecret, - s3Region, - kbaseAuthURL, - adminRoles - ); - - this.logfile = tempDir.resolve("blobstore.log"); - - ProcessBuilder servpb = new ProcessBuilder(blobstoreExe, "--conf", bsIniFile.toString()) - .redirectErrorStream(true) - .redirectOutput(logfile.toFile()); - - this.blobstore = servpb.start(); - Thread.sleep(1000); //wait for server to start - } - - private File createBlobstoreDeployCfg( - final String mongohost, - final String mongoDBname, - final String s3Host, - final String s3Bucket, - final String s3AccessKey, - final String s3AccessSecret, - final String s3Region, - final URL kbaseAuthURL, - final List adminRoles) - throws IOException { - final File iniFile = tempDir.resolve("blobstore.cfg").toFile(); - final Ini ini = new Ini(); - final Section ss = ini.add(BLOBSTORE_CFG_SECTION); - ss.add("host", "localhost:" + port); - - ss.add("kbase-auth-url", kbaseAuthURL.toString()); - ss.add("kbase-auth-admin-roles", String.join(", ", adminRoles)); - - ss.add("mongodb-host", mongohost); - ss.add("mongodb-database", mongoDBname); - - ss.add("s3-host", s3Host); - ss.add("s3-bucket", s3Bucket); - ss.add("s3-access-key", s3AccessKey); - ss.add("s3-access-secret", s3AccessSecret); - ss.add("s3-region", s3Region); - ss.add("s3-disable-ssl", "true"); - - ini.store(iniFile); - return iniFile; - } - - /** Get the blobstore port. - * @return the port. - */ - public int getPort() { - return port; - } - - /** Get the directory in which the blobstore is storing temporary files. - * @return the temporary directory. - */ - public Path getTempDir() { - return tempDir; - } - - /** Shut down the blob store. - * @param deleteTempFiles true to delete any temporary files. - * @throws IOException if an IO error occurs. - */ - public void destroy(final boolean deleteTempFiles) throws IOException { - destroy(deleteTempFiles, false); - } - - /** Shut down the blob store. - * @param deleteTempFiles true to delete any temporary files. - * @param dumpLogToStdOut print any blobstore logs to standard out. - * @throws IOException if an IO error occurs. - */ - public void destroy(final boolean deleteTempFiles, final boolean dumpLogToStdOut) - throws IOException { - if (blobstore != null) { - blobstore.destroy(); - } - if (dumpLogToStdOut) { - try (final BufferedReader is = Files.newBufferedReader(logfile)) { - is.lines().forEach(l -> System.out.println(l)); - } - } - if (tempDir != null && deleteTempFiles) { - FileUtils.deleteDirectory(tempDir.toFile()); - } - } -} \ No newline at end of file diff --git a/src/test/java/us/kbase/test/workspace/controllers/handle/HandleServiceController.java b/src/test/java/us/kbase/test/workspace/controllers/handle/HandleServiceController.java index 963d9416..87fbd1ea 100644 --- a/src/test/java/us/kbase/test/workspace/controllers/handle/HandleServiceController.java +++ b/src/test/java/us/kbase/test/workspace/controllers/handle/HandleServiceController.java @@ -1,7 +1,7 @@ package us.kbase.test.workspace.controllers.handle; -import static us.kbase.common.test.controllers.ControllerCommon.findFreePort; -import static us.kbase.common.test.controllers.ControllerCommon.makeTempDirs; +import static us.kbase.testutils.controllers.ControllerCommon.findFreePort; +import static us.kbase.testutils.controllers.ControllerCommon.makeTempDirs; import java.io.BufferedReader; import java.io.File; @@ -16,7 +16,7 @@ import org.ini4j.Profile.Section; import us.kbase.auth.AuthToken; -import us.kbase.common.test.controllers.mongo.MongoController; +import us.kbase.testutils.controllers.mongo.MongoController; /** Q&D Utility to run the Handle Service for the purposes of testing from Java. diff --git a/src/test/java/us/kbase/test/workspace/controllers/minio/MinioController.java b/src/test/java/us/kbase/test/workspace/controllers/minio/MinioController.java deleted file mode 100644 index f8bfe04b..00000000 --- a/src/test/java/us/kbase/test/workspace/controllers/minio/MinioController.java +++ /dev/null @@ -1,98 +0,0 @@ -package us.kbase.test.workspace.controllers.minio; - -import static us.kbase.common.test.controllers.ControllerCommon.checkExe; -import static us.kbase.common.test.controllers.ControllerCommon.findFreePort; -import static us.kbase.common.test.controllers.ControllerCommon.makeTempDirs; - -import java.io.BufferedReader; -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.Arrays; -import java.util.Scanner; - -import org.apache.commons.io.FileUtils; - -/** Q&D Utility to run a Minio server for the purposes of testing from - * Java. Always run with the --compat flag. - * @author gaprice@lbl.gov - * - */ -public class MinioController { - - private final Path tempDir; - - private final Process minio; - private final int port; - private final Path logfile; - - public MinioController( - final String minioExe, - final String s3AccessKey, - final String s3AccessSecret, - final Path rootTempDir) - throws Exception { - tempDir = makeTempDirs(rootTempDir, "MinioController-", Arrays.asList("data")); - port = findFreePort(); - - checkExe(minioExe, "minio server"); - - logfile = tempDir.resolve("minio_server.log"); - ProcessBuilder servpb = new ProcessBuilder( - minioExe, - "server", - "--compat", - "--address", "localhost:" + port, - tempDir.resolve("data").toString()) - .redirectErrorStream(true) - .redirectOutput(logfile.toFile()); - - servpb.environment().put("MINIO_ACCESS_KEY", s3AccessKey); - servpb.environment().put("MINIO_SECRET_KEY", s3AccessSecret); - minio = servpb.start(); - Thread.sleep(1000); //wait for server to start - } - - public int getServerPort() { - return port; - } - - public Path getTempDir() { - return tempDir; - } - - public void destroy(boolean deleteTempFiles) throws IOException { - destroy(deleteTempFiles, false); - } - - public void destroy(boolean deleteTempFiles, boolean dumpLogToStdOut) throws IOException { - if (minio != null) { - minio.destroy(); - } - if (dumpLogToStdOut) { - try (final BufferedReader is = Files.newBufferedReader(logfile)) { - is.lines().forEach(l -> System.out.println(l)); - } - } - if (tempDir != null && deleteTempFiles) { - FileUtils.deleteDirectory(tempDir.toFile()); - } - } - - public static void main(String[] args) throws Exception { - MinioController ac = new MinioController( - "Minio", - "foobar", - "Wheewhoowhump", - Paths.get("minio_temp_dir")); - System.out.println(ac.getServerPort()); - Scanner reader = new Scanner(System.in); - System.out.println("any char to shut down"); - //get user input for a - reader.next(); - ac.destroy(false); - reader.close(); - } - -} diff --git a/src/test/java/us/kbase/test/workspace/controllers/sample/SampleServiceController.java b/src/test/java/us/kbase/test/workspace/controllers/sample/SampleServiceController.java index ea568e18..f4992838 100644 --- a/src/test/java/us/kbase/test/workspace/controllers/sample/SampleServiceController.java +++ b/src/test/java/us/kbase/test/workspace/controllers/sample/SampleServiceController.java @@ -1,7 +1,7 @@ package us.kbase.test.workspace.controllers.sample; -import static us.kbase.common.test.controllers.ControllerCommon.findFreePort; -import static us.kbase.common.test.controllers.ControllerCommon.makeTempDirs; +import static us.kbase.testutils.controllers.ControllerCommon.findFreePort; +import static us.kbase.testutils.controllers.ControllerCommon.makeTempDirs; import static us.kbase.workspace.database.Util.checkString; import java.io.BufferedReader; diff --git a/src/test/java/us/kbase/test/workspace/controllers/workspace/WorkspaceController.java b/src/test/java/us/kbase/test/workspace/controllers/workspace/WorkspaceController.java index aae6691b..6e9423a0 100644 --- a/src/test/java/us/kbase/test/workspace/controllers/workspace/WorkspaceController.java +++ b/src/test/java/us/kbase/test/workspace/controllers/workspace/WorkspaceController.java @@ -1,7 +1,7 @@ package us.kbase.test.workspace.controllers.workspace; -import static us.kbase.common.test.controllers.ControllerCommon.findFreePort; -import static us.kbase.common.test.controllers.ControllerCommon.makeTempDirs; +import static us.kbase.testutils.controllers.ControllerCommon.findFreePort; +import static us.kbase.testutils.controllers.ControllerCommon.makeTempDirs; import java.io.File; import java.io.IOException; diff --git a/src/test/java/us/kbase/test/workspace/database/mongo/GridFSBlobStoreTest.java b/src/test/java/us/kbase/test/workspace/database/mongo/GridFSBlobStoreTest.java index 104f3a86..c7f63c3f 100644 --- a/src/test/java/us/kbase/test/workspace/database/mongo/GridFSBlobStoreTest.java +++ b/src/test/java/us/kbase/test/workspace/database/mongo/GridFSBlobStoreTest.java @@ -5,7 +5,7 @@ import static org.junit.Assert.fail; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; -import static us.kbase.test.common.TestCommon.assertExceptionCorrect; +import static us.kbase.testutils.TestCommon.assertExceptionCorrect; import java.io.ByteArrayInputStream; import java.io.IOException; @@ -33,7 +33,7 @@ import com.mongodb.client.gridfs.model.GridFSUploadOptions; import us.kbase.test.common.TestCommon; -import us.kbase.common.test.controllers.mongo.MongoController; +import us.kbase.testutils.controllers.mongo.MongoController; import us.kbase.typedobj.core.MD5; import us.kbase.typedobj.core.Restreamable; import us.kbase.workspace.database.ByteArrayFileCacheManager; diff --git a/src/test/java/us/kbase/test/workspace/database/mongo/MongoInternalsTest.java b/src/test/java/us/kbase/test/workspace/database/mongo/MongoInternalsTest.java index f087c740..3fcf134b 100644 --- a/src/test/java/us/kbase/test/workspace/database/mongo/MongoInternalsTest.java +++ b/src/test/java/us/kbase/test/workspace/database/mongo/MongoInternalsTest.java @@ -38,7 +38,7 @@ import org.junit.Test; import us.kbase.common.service.UObject; -import us.kbase.common.test.controllers.mongo.MongoController; +import us.kbase.testutils.controllers.mongo.MongoController; import us.kbase.common.utils.sortjson.UTF8JsonSorterFactory; import us.kbase.test.common.TestCommon; import us.kbase.test.typedobj.DummyValidatedTypedObject; diff --git a/src/test/java/us/kbase/test/workspace/database/mongo/MongoStartUpTest.java b/src/test/java/us/kbase/test/workspace/database/mongo/MongoStartUpTest.java index a06dfef2..ee4a2acf 100644 --- a/src/test/java/us/kbase/test/workspace/database/mongo/MongoStartUpTest.java +++ b/src/test/java/us/kbase/test/workspace/database/mongo/MongoStartUpTest.java @@ -30,7 +30,7 @@ import com.mongodb.client.MongoDatabase; import us.kbase.test.common.TestCommon; -import us.kbase.common.test.controllers.mongo.MongoController; +import us.kbase.testutils.controllers.mongo.MongoController; import us.kbase.typedobj.core.TypeDefId; import us.kbase.typedobj.core.TypeDefName; import us.kbase.workspace.database.WorkspaceInformation; diff --git a/src/test/java/us/kbase/test/workspace/database/mongo/MongoWorkspaceDBTest.java b/src/test/java/us/kbase/test/workspace/database/mongo/MongoWorkspaceDBTest.java index a3c2bcc9..b8365717 100644 --- a/src/test/java/us/kbase/test/workspace/database/mongo/MongoWorkspaceDBTest.java +++ b/src/test/java/us/kbase/test/workspace/database/mongo/MongoWorkspaceDBTest.java @@ -44,7 +44,7 @@ import com.mongodb.client.MongoDatabase; import us.kbase.common.service.UObject; -import us.kbase.common.test.controllers.mongo.MongoController; +import us.kbase.testutils.controllers.mongo.MongoController; import us.kbase.common.utils.sortjson.UTF8JsonSorterFactory; import us.kbase.test.common.TestCommon; import us.kbase.test.typedobj.DummyValidatedTypedObject; diff --git a/src/test/java/us/kbase/test/workspace/database/mongo/S3BlobStoreIntegrationTest.java b/src/test/java/us/kbase/test/workspace/database/mongo/S3BlobStoreIntegrationTest.java index 2def675b..fd2b108f 100644 --- a/src/test/java/us/kbase/test/workspace/database/mongo/S3BlobStoreIntegrationTest.java +++ b/src/test/java/us/kbase/test/workspace/database/mongo/S3BlobStoreIntegrationTest.java @@ -24,9 +24,9 @@ import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.s3.model.DeleteBucketRequest; import software.amazon.awssdk.services.s3.model.PutObjectRequest; -import us.kbase.common.test.controllers.mongo.MongoController; +import us.kbase.testutils.controllers.minio.MinioController; +import us.kbase.testutils.controllers.mongo.MongoController; import us.kbase.test.common.TestCommon; -import us.kbase.test.workspace.controllers.minio.MinioController; import us.kbase.typedobj.core.MD5; import us.kbase.typedobj.core.Restreamable; import us.kbase.workspace.database.ByteArrayFileCacheManager; diff --git a/src/test/java/us/kbase/test/workspace/database/mongo/SchemaUpdaterTest.java b/src/test/java/us/kbase/test/workspace/database/mongo/SchemaUpdaterTest.java index a7351de6..f48a531e 100644 --- a/src/test/java/us/kbase/test/workspace/database/mongo/SchemaUpdaterTest.java +++ b/src/test/java/us/kbase/test/workspace/database/mongo/SchemaUpdaterTest.java @@ -29,7 +29,7 @@ import com.mongodb.client.MongoDatabase; import us.kbase.test.common.TestCommon; -import us.kbase.common.test.controllers.mongo.MongoController; +import us.kbase.testutils.controllers.mongo.MongoController; import us.kbase.workspace.database.ResolvedWorkspaceID; import us.kbase.workspace.database.WorkspaceUser; import us.kbase.workspace.database.WorkspaceUserMetadata; diff --git a/src/test/java/us/kbase/test/workspace/kbase/HandleAndBytestreamIntegrationTest.java b/src/test/java/us/kbase/test/workspace/kbase/HandleAndBytestreamIntegrationTest.java index 95a98963..c91d221c 100644 --- a/src/test/java/us/kbase/test/workspace/kbase/HandleAndBytestreamIntegrationTest.java +++ b/src/test/java/us/kbase/test/workspace/kbase/HandleAndBytestreamIntegrationTest.java @@ -39,11 +39,12 @@ import us.kbase.abstracthandle.AbstractHandleClient; import us.kbase.abstracthandle.Handle; import us.kbase.auth.AuthToken; -import us.kbase.common.mongo.exceptions.InvalidHostException; import us.kbase.common.service.ServerException; import us.kbase.common.service.UObject; -import us.kbase.common.test.TestException; -import us.kbase.common.test.controllers.mongo.MongoController; +import us.kbase.testutils.TestException; +import us.kbase.testutils.controllers.blobstore.BlobstoreController; +import us.kbase.testutils.controllers.minio.MinioController; +import us.kbase.testutils.controllers.mongo.MongoController; import us.kbase.shock.client.BasicShockClient; import us.kbase.shock.client.ShockACLType; import us.kbase.shock.client.ShockFileInformation; @@ -53,9 +54,7 @@ import us.kbase.test.auth2.authcontroller.AuthController; import us.kbase.test.common.TestCommon; import us.kbase.test.workspace.WorkspaceServerThread; -import us.kbase.test.workspace.controllers.blobstore.BlobstoreController; import us.kbase.test.workspace.controllers.handle.HandleServiceController; -import us.kbase.test.workspace.controllers.minio.MinioController; import us.kbase.typedobj.idref.IdReference; import us.kbase.typedobj.idref.IdReferenceHandlerSet; import us.kbase.typedobj.idref.IdReferenceHandlerSet.TooManyIdsException; @@ -295,7 +294,7 @@ private static WorkspaceServer startupWorkspaceServer( final String miniohost, final String minioUser, final String minioKey) - throws InvalidHostException, UnknownHostException, IOException, + throws UnknownHostException, IOException, NoSuchFieldException, IllegalAccessException, Exception, InterruptedException { @@ -804,12 +803,10 @@ public void saveAndGetWithBytestreamIDs() throws Exception { is(set(n1.getId().getId(), n2.getId().getId()))); // check nodes have the same contents - // TODO BLOBSTORE update tests when https://github.com/kbase/shock_java_client/issues/26 - // is fixed checkNode(WS_OWNED_BLOB, n1.getId(), ImmutableMap.of("foo", "bar"), - "contents", "fname", null); // "text"); + "contents", "fname", "text"); checkNode(WS_OWNED_BLOB, n2.getId(), ImmutableMap.of("foo", "bar2"), - "contents2", "fname2", null); //"text2"); + "contents2", "fname2", "text2"); checkPublicRead(n1, false); checkPublicRead(n2, false); @@ -835,7 +832,7 @@ private void checkNode( final ShockNode sn = cli.getNode(id); final ShockFileInformation fi = sn.getFileInformation(); assertThat("incorrect filename", fi.getName(), is(filename)); - assertThat("incorrect format", fi.getFormat(), is(format)); + assertThat("incorrect format", sn.getFormat(), is(format)); assertThat("incorrect file", IOUtils.toString(sn.getFile()), is(file)); } diff --git a/src/test/java/us/kbase/test/workspace/kbase/JSONRPCLayerTest.java b/src/test/java/us/kbase/test/workspace/kbase/JSONRPCLayerTest.java index bc5f1242..6fff90bc 100644 --- a/src/test/java/us/kbase/test/workspace/kbase/JSONRPCLayerTest.java +++ b/src/test/java/us/kbase/test/workspace/kbase/JSONRPCLayerTest.java @@ -34,7 +34,6 @@ import org.apache.commons.codec.digest.DigestUtils; import org.junit.Test; -import us.kbase.auth.AuthUser; import us.kbase.common.service.JsonTokenStream; import us.kbase.common.service.ServerException; import us.kbase.common.service.Tuple11; @@ -1444,7 +1443,7 @@ public void deprecatedMethods() throws Exception { .withId(wsid), "depsave", USER1, wsinfo.getE4(), 0, "a", "n", wsid); checkDepWSMeta(new us.kbase.workspace.GetWorkspacemetaParams() - .withWorkspace("depsave").withAuth(AUTH_USER2.getTokenString()), + .withWorkspace("depsave").withAuth(TOKEN2), "depsave", USER1, wsinfo.getE4(), 0, "w", "n", wsid); Tuple7 wsmeta = @@ -1486,7 +1485,7 @@ public void deprecatedMethods() throws Exception { Tuple12, Long> obj3 = CLIENT1.saveObject(new us.kbase.workspace.SaveObjectParams().withId("obj3") .withMetadata(meta2).withType(SAFE_TYPE).withWorkspace("depsave") - .withData(new UObject(data)).withAuth(AUTH_USER2.getTokenString())); + .withData(new UObject(data)).withAuth(TOKEN2)); checkDeprecatedSaveInfo(obj1, 1, "obj1", SAFE_TYPE, 1, USER1, wsid, "depsave", "36c4f68f2c98971b9736839232eb08f4", meta); checkDeprecatedSaveInfo(obj2, 2, "obj2", anotherType, 1, USER1, wsid, "depsave", "3c59f762140806c36ab48a152f28e840", meta2); @@ -1495,33 +1494,27 @@ public void deprecatedMethods() throws Exception { checkSavedObjectDep(new ObjectIdentity().withWorkspace("depsave").withName("obj1"), new ObjectIdentity().withWsid(wsid).withObjid(1L), 1, "obj1", SAFE_TYPE, 1, USER1, wsid, "depsave", "36c4f68f2c98971b9736839232eb08f4", - 23, meta, data, AUTH_USER2); + 23, meta, data, TOKEN2); checkSavedObjectDep(new ObjectIdentity().withWorkspace("depsave").withName("obj2"), new ObjectIdentity().withWsid(wsid).withObjid(2L), 2, "obj2", anotherType, 1, USER1, wsid, "depsave", "3c59f762140806c36ab48a152f28e840", - 24, meta2, data2, AUTH_USER2); + 24, meta2, data2, TOKEN2); checkSavedObjectDep(new ObjectIdentity().withWorkspace("depsave").withName("obj3"), new ObjectIdentity().withWsid(wsid).withObjid(3L), 3, "obj3", SAFE_TYPE, 1, USER2, wsid, "depsave", "36c4f68f2c98971b9736839232eb08f4", - 23, meta2, data, AUTH_USER2); + 23, meta2, data, TOKEN2); checkListObjectsDep("depsave", null, null, null, Arrays.asList(obj1, obj2, obj3)); checkListObjectsDep("depsave", anotherType, null, null, Arrays.asList(obj2)); CLIENT1.deleteObjects(Arrays.asList(new ObjectIdentity().withName("obj2").withWorkspace("depsave"))); checkListObjectsDep("depsave", null, 0L, null, Arrays.asList(obj1, obj3)); checkListObjectsDep("depsave", null, 1L, null, Arrays.asList(obj1, obj2, obj3)); - checkListObjectsDep("depsave", null, null, AUTH_USER2.getTokenString(), Arrays.asList(obj1, obj3)); + checkListObjectsDep("depsave", null, null, TOKEN2, Arrays.asList(obj1, obj3)); - String invalidToken = AUTH_USER2.getTokenString() + "a"; + String invalidToken = TOKEN2 + "a"; String badFormatToken = "borkborkbork"; - // old auth service -// String invalidTokenExp = -// "Login failed! Server responded with code 401 UNAUTHORIZED"; -// String badFormatTokenExp = "Login failed! Invalid token"; - // new auth service String invalidTokenExp = - "Login failed! Server responded with code 401 Unauthorized"; - String badFormatTokenExp = invalidTokenExp; + "Auth service returned an error: 10020 Invalid token"; failDepGetWSmeta(new us.kbase.workspace.GetWorkspacemetaParams() @@ -1529,12 +1522,12 @@ public void deprecatedMethods() throws Exception { invalidTokenExp); failDepGetWSmeta(new us.kbase.workspace.GetWorkspacemetaParams() .withWorkspace("depsave").withAuth(badFormatToken), - badFormatTokenExp); + invalidTokenExp); failDepListWs(new us.kbase.workspace.ListWorkspacesParams() .withAuth(invalidToken), invalidTokenExp); failDepListWs(new us.kbase.workspace.ListWorkspacesParams() - .withAuth(badFormatToken), badFormatTokenExp); + .withAuth(badFormatToken), invalidTokenExp); failDepSaveObject(new us.kbase.workspace.SaveObjectParams().withId("obj3") .withMetadata(meta2).withType(SAFE_TYPE).withWorkspace("depsave") @@ -1543,21 +1536,21 @@ public void deprecatedMethods() throws Exception { failDepSaveObject(new us.kbase.workspace.SaveObjectParams().withId("obj3") .withMetadata(meta2).withType(SAFE_TYPE).withWorkspace("depsave") .withData(new UObject(data)).withAuth(badFormatToken), - badFormatTokenExp); + invalidTokenExp); failDepGetObject(new us.kbase.workspace.GetObjectParams() .withWorkspace("depsave").withId("obj3").withAuth(invalidToken), invalidTokenExp); failDepGetObject(new us.kbase.workspace.GetObjectParams() .withWorkspace("depsave").withId("obj3").withAuth(badFormatToken), - badFormatTokenExp); + invalidTokenExp); failDepGetObjectmeta(new us.kbase.workspace.GetObjectmetaParams() .withWorkspace("depsave").withId("obj3").withAuth(invalidToken), invalidTokenExp); failDepGetObjectmeta(new us.kbase.workspace.GetObjectmetaParams() .withWorkspace("depsave").withId("obj3").withAuth(badFormatToken), - badFormatTokenExp); + invalidTokenExp); failDepListObjects(new us.kbase.workspace.ListWorkspaceObjectsParams() .withWorkspace("depsave").withType("thisisabadtype"), @@ -1567,7 +1560,7 @@ public void deprecatedMethods() throws Exception { invalidTokenExp); failDepListObjects(new us.kbase.workspace.ListWorkspaceObjectsParams() .withWorkspace("depsave").withAuth(badFormatToken), - badFormatTokenExp); + invalidTokenExp); } @SuppressWarnings("deprecation") @@ -1750,10 +1743,18 @@ private void failDepGetObject(us.kbase.workspace.GetObjectParams gop, String exp @SuppressWarnings("deprecation") private void checkSavedObjectDep(ObjectIdentity objnames, ObjectIdentity objids, - long id, - String name, String type, int ver, String user, long wsid, - String wsname, String chksum, int size, Map meta, - Map data, AuthUser auth) + final long id, + final String name, + final String type, + final int ver, + final String user, + final long wsid, + final String wsname, + final String chksum, + final int size, + final Map meta, + final Map data, + final String token) throws Exception { us.kbase.workspace.GetObjectOutput goo = CLIENT1.getObject(new us.kbase.workspace.GetObjectParams() .withId(objnames.getName()).withWorkspace(objnames.getWorkspace()) @@ -1765,7 +1766,7 @@ private void checkSavedObjectDep(ObjectIdentity objnames, ObjectIdentity objids, goo = CLIENT1.getObject(new us.kbase.workspace.GetObjectParams() .withId(objnames.getName()).withWorkspace(objnames.getWorkspace()) .withInstance(objnames.getVer()) - .withAuth(auth.getTokenString())); + .withAuth(token)); checkDeprecatedSaveInfo(goo.getMetadata(), id, name, type, ver, user, wsid, wsname, chksum, meta); assertThat("object data is correct", goo.getData().asClassInstance(Object.class), @@ -1781,7 +1782,7 @@ private void checkSavedObjectDep(ObjectIdentity objnames, ObjectIdentity objids, CLIENT1.getObjectmeta(new us.kbase.workspace.GetObjectmetaParams() .withWorkspace(objnames.getWorkspace()) .withId(objnames.getName()).withInstance(objnames.getVer()) - .withAuth(AUTH_USER2.getTokenString())); + .withAuth(TOKEN2)); checkDeprecatedSaveInfo(objmeta, id, name, type, ver, user, wsid, wsname, chksum, meta); @@ -4686,7 +4687,7 @@ public void moduleOwnerShipAndSpecRegistration() throws Exception { fail("registered typespec to module with no perms"); } catch (ServerException ex) { assertThat("got correct exception message", ex.getMessage(), - is("User " + AUTH_USER1.getUserId() + " is not in list of owners of module TestModule2")); + is("User " + USER1 + " is not in list of owners of module TestModule2")); } CLIENT2.administer(new UObject(createData( @@ -4709,7 +4710,7 @@ public void moduleOwnerShipAndSpecRegistration() throws Exception { fail("registered typespec to module with no perms"); } catch (ServerException ex) { assertThat("got correct exception message", ex.getMessage(), - is("User " + AUTH_USER1.getUserId() + " is not in list of owners of module TestModule2")); + is("User " + USER1 + " is not in list of owners of module TestModule2")); } } diff --git a/src/test/java/us/kbase/test/workspace/kbase/JSONRPCLayerTester.java b/src/test/java/us/kbase/test/workspace/kbase/JSONRPCLayerTester.java index 3a5bad2f..b51b1383 100644 --- a/src/test/java/us/kbase/test/workspace/kbase/JSONRPCLayerTester.java +++ b/src/test/java/us/kbase/test/workspace/kbase/JSONRPCLayerTester.java @@ -38,16 +38,13 @@ import org.junit.Before; import org.junit.BeforeClass; -import us.kbase.auth.AuthConfig; import us.kbase.auth.AuthToken; -import us.kbase.auth.AuthUser; -import us.kbase.auth.ConfigurableAuthService; import us.kbase.common.service.JsonClientException; import us.kbase.common.service.ServerException; import us.kbase.common.service.Tuple11; import us.kbase.common.service.Tuple9; import us.kbase.common.service.UObject; -import us.kbase.common.test.controllers.mongo.MongoController; +import us.kbase.testutils.controllers.mongo.MongoController; import us.kbase.test.auth2.authcontroller.AuthController; import us.kbase.test.common.TestCommon; import us.kbase.test.workspace.JsonTokenStreamOCStat; @@ -116,9 +113,10 @@ public class JSONRPCLayerTester { protected static final String USER1 = "user1"; protected static final String USER2 = "user2"; protected static final String USER3 = "user3"; + protected static String TOKEN1; + protected static String TOKEN2; + protected static String TOKEN3; protected static final String STARUSER = "*"; - protected static AuthUser AUTH_USER1 = null; - protected static AuthUser AUTH_USER2 = null; protected static WorkspaceServer SERVER2 = null; protected static WorkspaceClient CLIENT_FOR_SRV2 = null; // This client connects to SERVER2 protected static WorkspaceClient CLIENT_NO_AUTH = null; @@ -194,14 +192,14 @@ public static void setUpClass() throws Exception { final URL authURL = new URL("http://localhost:" + authc.getServerPort() + "/testmode"); System.out.println("started auth server at " + authURL); TestCommon.createAuthUser(authURL, USER1, "display1"); - final String token1 = TestCommon.createLoginToken(authURL, USER1); + TOKEN1 = TestCommon.createLoginToken(authURL, USER1); TestCommon.createAuthUser(authURL, USER2, "display2"); - final String token2 = TestCommon.createLoginToken(authURL, USER2); + TOKEN2 = TestCommon.createLoginToken(authURL, USER2); TestCommon.createAuthUser(authURL, USER3, "display3"); - final String token3 = TestCommon.createLoginToken(authURL, USER3); - final AuthToken t1 = new AuthToken(token1, USER1); - final AuthToken t2 = new AuthToken(token2, USER2); - final AuthToken t3 = new AuthToken(token3, USER3); + TOKEN3 = TestCommon.createLoginToken(authURL, USER3); + final AuthToken t1 = new AuthToken(TOKEN1, USER1); + final AuthToken t2 = new AuthToken(TOKEN2, USER2); + final AuthToken t3 = new AuthToken(TOKEN3, USER3); TestCommon.createCustomRole(authURL, AUTH_ROLE_READ1, "read 1"); TestCommon.createCustomRole(authURL, AUTH_ROLE_READ2, "read 2"); TestCommon.createCustomRole(authURL, AUTH_ROLE_FULL, "full"); @@ -221,12 +219,6 @@ public static void setUpClass() throws Exception { CLIENT3.setIsInsecureHttpConnectionAllowed(true); CLIENT_NO_AUTH = new WorkspaceClient(wsurl); CLIENT_NO_AUTH.setIsInsecureHttpConnectionAllowed(true); - final ConfigurableAuthService auth = new ConfigurableAuthService( - new AuthConfig().withKBaseAuthServerURL(new URL("http://localhost:" + - authc.getServerPort() + "/testmode/api/legacy/KBase")) - .withAllowInsecureURLs(true)); - AUTH_USER1 = auth.getUserFromToken(t1); - AUTH_USER2 = auth.getUserFromToken(t2); SERVER_AUTH_ADMINS = startupWorkspaceServer( mongohost, DB_WS_NAME_AUTH2_ADMINS, DB_TYPE_NAME_AUTH2_ADMINS, true); diff --git a/src/test/java/us/kbase/test/workspace/kbase/KBaseWorkspaceConfigTest.java b/src/test/java/us/kbase/test/workspace/kbase/KBaseWorkspaceConfigTest.java index be6b8696..e90c10b3 100644 --- a/src/test/java/us/kbase/test/workspace/kbase/KBaseWorkspaceConfigTest.java +++ b/src/test/java/us/kbase/test/workspace/kbase/KBaseWorkspaceConfigTest.java @@ -4,7 +4,7 @@ import static org.junit.Assert.assertThat; import static org.junit.Assert.fail; import static us.kbase.test.common.TestCommon.set; -import static us.kbase.common.test.controllers.ControllerCommon.makeTempDirs; +import static us.kbase.testutils.controllers.ControllerCommon.makeTempDirs; import java.io.BufferedWriter; import java.io.IOException; diff --git a/src/test/java/us/kbase/test/workspace/kbase/LoggingTest.java b/src/test/java/us/kbase/test/workspace/kbase/LoggingTest.java index ca5b7a8f..9fbfbd42 100644 --- a/src/test/java/us/kbase/test/workspace/kbase/LoggingTest.java +++ b/src/test/java/us/kbase/test/workspace/kbase/LoggingTest.java @@ -31,7 +31,7 @@ import us.kbase.common.service.UObject; import us.kbase.common.service.JsonServerSyslog.SyslogOutput; import us.kbase.common.service.Tuple11; -import us.kbase.common.test.controllers.mongo.MongoController; +import us.kbase.testutils.controllers.mongo.MongoController; import us.kbase.test.auth2.authcontroller.AuthController; import us.kbase.test.common.TestCommon; import us.kbase.test.workspace.WorkspaceServerThread; diff --git a/src/test/java/us/kbase/test/workspace/kbase/SampleServiceIntegrationTest.java b/src/test/java/us/kbase/test/workspace/kbase/SampleServiceIntegrationTest.java index f17ad874..beafbb75 100644 --- a/src/test/java/us/kbase/test/workspace/kbase/SampleServiceIntegrationTest.java +++ b/src/test/java/us/kbase/test/workspace/kbase/SampleServiceIntegrationTest.java @@ -3,7 +3,7 @@ import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; import static org.junit.Assert.fail; -import static us.kbase.common.test.controllers.ControllerCommon.findFreePort; +import static us.kbase.testutils.controllers.ControllerCommon.findFreePort; import static us.kbase.test.common.TestCommon.set; import static us.kbase.test.workspace.kbase.JSONRPCLayerTester.administerCommand; @@ -39,8 +39,8 @@ import us.kbase.common.service.JsonClientException; import us.kbase.common.service.ServerException; import us.kbase.common.service.UObject; -import us.kbase.common.test.TestException; -import us.kbase.common.test.controllers.mongo.MongoController; +import us.kbase.testutils.TestException; +import us.kbase.testutils.controllers.mongo.MongoController; import us.kbase.sampleservice.CreateSampleParams; import us.kbase.sampleservice.GetSampleACLsParams; import us.kbase.sampleservice.Sample; diff --git a/src/test/java/us/kbase/test/workspace/kbase/SchemaUpdaterCLITest.java b/src/test/java/us/kbase/test/workspace/kbase/SchemaUpdaterCLITest.java index 7d90cf1c..cc833800 100644 --- a/src/test/java/us/kbase/test/workspace/kbase/SchemaUpdaterCLITest.java +++ b/src/test/java/us/kbase/test/workspace/kbase/SchemaUpdaterCLITest.java @@ -7,7 +7,7 @@ import static org.mockito.Mockito.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; -import static us.kbase.common.test.controllers.ControllerCommon.makeTempDirs; +import static us.kbase.testutils.controllers.ControllerCommon.makeTempDirs; import java.io.ByteArrayOutputStream; import java.nio.file.Path; diff --git a/src/test/java/us/kbase/test/workspace/kbase/TypeDelegationTest.java b/src/test/java/us/kbase/test/workspace/kbase/TypeDelegationTest.java index b397ca70..cf27740e 100644 --- a/src/test/java/us/kbase/test/workspace/kbase/TypeDelegationTest.java +++ b/src/test/java/us/kbase/test/workspace/kbase/TypeDelegationTest.java @@ -30,7 +30,7 @@ import us.kbase.auth.AuthToken; import us.kbase.common.service.ServerException; import us.kbase.common.service.UObject; -import us.kbase.common.test.controllers.mongo.MongoController; +import us.kbase.testutils.controllers.mongo.MongoController; import us.kbase.test.auth2.authcontroller.AuthController; import us.kbase.test.common.MapBuilder; import us.kbase.test.common.TestCommon; diff --git a/src/test/java/us/kbase/test/workspace/workspace/ObjectResolverTest.java b/src/test/java/us/kbase/test/workspace/workspace/ObjectResolverTest.java index 9c1ea670..03b96ed2 100644 --- a/src/test/java/us/kbase/test/workspace/workspace/ObjectResolverTest.java +++ b/src/test/java/us/kbase/test/workspace/workspace/ObjectResolverTest.java @@ -18,7 +18,7 @@ import com.google.common.collect.ImmutableMap; import us.kbase.test.common.TestCommon; -import us.kbase.common.test.TestException; +import us.kbase.testutils.TestException; import us.kbase.workspace.database.AllUsers; import us.kbase.workspace.database.ObjectIDResolvedWS; import us.kbase.workspace.database.ObjectIdentifier; diff --git a/src/test/java/us/kbase/test/workspace/workspace/WorkspaceIntegrationWithGridFSTest.java b/src/test/java/us/kbase/test/workspace/workspace/WorkspaceIntegrationWithGridFSTest.java index b806f677..c948c07f 100644 --- a/src/test/java/us/kbase/test/workspace/workspace/WorkspaceIntegrationWithGridFSTest.java +++ b/src/test/java/us/kbase/test/workspace/workspace/WorkspaceIntegrationWithGridFSTest.java @@ -38,7 +38,7 @@ import ch.qos.logback.classic.Level; import ch.qos.logback.classic.Logger; -import us.kbase.common.test.controllers.mongo.MongoController; +import us.kbase.testutils.controllers.mongo.MongoController; import us.kbase.test.common.TestCommon; import us.kbase.test.workspace.WorkspaceTestCommon; import us.kbase.typedobj.core.AbsoluteTypeDefId; diff --git a/src/test/java/us/kbase/test/workspace/workspace/WorkspaceTester.java b/src/test/java/us/kbase/test/workspace/workspace/WorkspaceTester.java index c4500141..98b18ad1 100644 --- a/src/test/java/us/kbase/test/workspace/workspace/WorkspaceTester.java +++ b/src/test/java/us/kbase/test/workspace/workspace/WorkspaceTester.java @@ -44,12 +44,12 @@ import org.junit.runners.Parameterized.Parameters; import org.slf4j.LoggerFactory; -import us.kbase.common.test.TestException; -import us.kbase.common.test.controllers.mongo.MongoController; +import us.kbase.testutils.TestException; +import us.kbase.testutils.controllers.minio.MinioController; +import us.kbase.testutils.controllers.mongo.MongoController; import us.kbase.test.common.TestCommon; import us.kbase.test.workspace.JsonTokenStreamOCStat; import us.kbase.test.workspace.WorkspaceTestCommon; -import us.kbase.test.workspace.controllers.minio.MinioController; import us.kbase.typedobj.core.LocalTypeProvider; import us.kbase.typedobj.core.TempFilesManager; import us.kbase.typedobj.core.TypeDefId; From 00969f824dc7eadcf0b8ede87cc5a0fd49672ca3 Mon Sep 17 00:00:00 2001 From: Gavin Date: Mon, 29 Apr 2024 10:06:50 -0700 Subject: [PATCH 44/48] Improve release notes re shadow jar --- build.gradle | 2 +- docsource/releasenotes.rst | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 904f9f3e..57e49666 100644 --- a/build.gradle +++ b/build.gradle @@ -72,7 +72,7 @@ javadoc { * building the client javadocs. If we ever need the full javadocs make a new task for the * client java docs */ - /* TODO DOCS the current sdk documenation looks like invalid html to javadoc + /* TODO DOCS the current sdk documentation looks like invalid html to javadoc * need to go through and remove * also some spots with < / > that need to be wrapped with {@code } in internal code */ diff --git a/docsource/releasenotes.rst b/docsource/releasenotes.rst index 9223d491..bd2b0717 100644 --- a/docsource/releasenotes.rst +++ b/docsource/releasenotes.rst @@ -16,7 +16,10 @@ UPDATES: against Mongo 7. * Gradle has replaced Ant as the build tool. As a consequence, all the built artifacts are now located in the build directory, including the ``update_workspace_database_schema`` script. -* A shadow jar is published on jitpack.io for supporting tests in other repos. +* A shadow jar has been published on jitpack.io for supporting tests in other repos. + This allows for starting the workspace service from a single jar in other applications. + All dependencies are included in the jar in shadow namespaces so they don't conflict with + different versions of the dependencies in the application under test. VERSION: 0.14.2 (Released 11/9/2023) From d3e894da2f988ca32395590f3c8268d2bf000c5a Mon Sep 17 00:00:00 2001 From: Gavin Date: Fri, 26 Apr 2024 12:47:55 -0700 Subject: [PATCH 45/48] Make a gradle service module for the main server code --- Dockerfile | 7 +++---- build.gradle => service/build.gradle | 9 +++++---- .../main/java/us/kbase/common/service/Tuple11.java | 0 .../main/java/us/kbase/common/service/Tuple12.java | 0 .../main/java/us/kbase/common/service/Tuple7.java | 0 .../main/java/us/kbase/common/service/Tuple9.java | 0 .../main/java/us/kbase/common/utils/Counter.java | 0 .../main/java/us/kbase/common/utils/SizeUtils.java | 0 .../us/kbase/typedobj/core/AbsoluteTypeDefId.java | 0 .../us/kbase/typedobj/core/ExtractedMetadata.java | 0 .../typedobj/core/IdRefTokenSequenceProvider.java | 0 .../kbase/typedobj/core/JsonDocumentLocation.java | 0 .../typedobj/core/JsonPointerParseException.java | 0 .../kbase/typedobj/core/JsonTokenStreamWriter.java | 0 .../typedobj/core/JsonTokenValidationException.java | 0 .../typedobj/core/JsonTokenValidationListener.java | 0 .../typedobj/core/JsonTokenValidationSchema.java | 0 .../us/kbase/typedobj/core/LocalTypeProvider.java | 0 .../src}/main/java/us/kbase/typedobj/core/MD5.java | 0 .../typedobj/core/MetadataExtractionHandler.java | 0 .../us/kbase/typedobj/core/MetadataExtractor.java | 0 .../java/us/kbase/typedobj/core/MetadataNode.java | 0 .../us/kbase/typedobj/core/NullJsonGenerator.java | 0 .../java/us/kbase/typedobj/core/Restreamable.java | 0 .../kbase/typedobj/core/SubdataExtractionNode.java | 0 .../us/kbase/typedobj/core/SubdataExtractor.java | 0 .../us/kbase/typedobj/core/SubsetSelection.java | 0 .../us/kbase/typedobj/core/TempFileListener.java | 0 .../us/kbase/typedobj/core/TempFilesManager.java | 0 .../kbase/typedobj/core/TokenSequenceProvider.java | 0 .../main/java/us/kbase/typedobj/core/TypeDefId.java | 0 .../java/us/kbase/typedobj/core/TypeDefName.java | 0 .../java/us/kbase/typedobj/core/TypeProvider.java | 0 .../kbase/typedobj/core/TypedObjectValidator.java | 0 .../kbase/typedobj/core/ValidatedTypedObject.java | 0 .../java/us/kbase/typedobj/db/FileTypeStorage.java | 0 .../java/us/kbase/typedobj/db/FuncDetailedInfo.java | 0 .../main/java/us/kbase/typedobj/db/FuncInfo.java | 0 .../main/java/us/kbase/typedobj/db/KidlUtil.java | 0 .../main/java/us/kbase/typedobj/db/ModuleDefId.java | 0 .../main/java/us/kbase/typedobj/db/ModuleInfo.java | 0 .../java/us/kbase/typedobj/db/MongoTypeStorage.java | 0 .../main/java/us/kbase/typedobj/db/OwnerInfo.java | 0 .../main/java/us/kbase/typedobj/db/RefInfo.java | 0 .../java/us/kbase/typedobj/db/SemanticVersion.java | 0 .../main/java/us/kbase/typedobj/db/TypeChange.java | 0 .../java/us/kbase/typedobj/db/TypeDefinitionDB.java | 0 .../java/us/kbase/typedobj/db/TypeDetailedInfo.java | 0 .../main/java/us/kbase/typedobj/db/TypeInfo.java | 0 .../main/java/us/kbase/typedobj/db/TypeStorage.java | 0 .../ExceededMaxMetadataSizeException.java | 0 .../exceptions/ExceededMaxSubsetSizeException.java | 0 .../typedobj/exceptions/NoSuchFuncException.java | 0 .../typedobj/exceptions/NoSuchModuleException.java | 0 .../exceptions/NoSuchPrivilegeException.java | 0 .../typedobj/exceptions/NoSuchTypeException.java | 0 .../typedobj/exceptions/SpecParseException.java | 0 .../typedobj/exceptions/TypeStorageException.java | 0 .../typedobj/exceptions/TypedObjectException.java | 0 .../exceptions/TypedObjectExtractionException.java | 0 .../exceptions/TypedObjectSchemaException.java | 0 .../exceptions/TypedObjectValidationException.java | 0 .../us/kbase/typedobj/idref/DefaultRemappedId.java | 0 .../java/us/kbase/typedobj/idref/IdReference.java | 0 .../kbase/typedobj/idref/IdReferenceHandlerSet.java | 0 .../idref/IdReferenceHandlerSetFactory.java | 0 .../idref/IdReferenceHandlerSetFactoryBuilder.java | 0 .../idref/IdReferencePermissionHandlerSet.java | 0 .../us/kbase/typedobj/idref/IdReferenceType.java | 0 .../idref/NoSuchIdReferenceHandlerException.java | 0 .../java/us/kbase/typedobj/idref/RemappedId.java | 0 .../us/kbase/typedobj/idref/SimpleRemappedId.java | 0 .../workspace/AlterAdminObjectMetadataParams.java | 0 .../workspace/AlterWorkspaceMetadataParams.java | 0 .../us/kbase/workspace/CloneWorkspaceParams.java | 0 .../java/us/kbase/workspace/CopyObjectParams.java | 0 .../us/kbase/workspace/CreateWorkspaceParams.java | 0 .../java/us/kbase/workspace/ExternalDataUnit.java | 0 .../src}/main/java/us/kbase/workspace/FuncInfo.java | 0 .../us/kbase/workspace/GetAdminRoleResults.java | 0 .../us/kbase/workspace/GetModuleInfoParams.java | 0 .../us/kbase/workspace/GetNamesByPrefixParams.java | 0 .../us/kbase/workspace/GetNamesByPrefixResults.java | 0 .../us/kbase/workspace/GetObjectInfo3Params.java | 0 .../us/kbase/workspace/GetObjectInfo3Results.java | 0 .../us/kbase/workspace/GetObjectInfoNewParams.java | 0 .../java/us/kbase/workspace/GetObjectOutput.java | 0 .../java/us/kbase/workspace/GetObjectParams.java | 0 .../us/kbase/workspace/GetObjectmetaParams.java | 0 .../java/us/kbase/workspace/GetObjects2Params.java | 0 .../java/us/kbase/workspace/GetObjects2Results.java | 0 .../kbase/workspace/GetPermissionsMassParams.java | 0 .../us/kbase/workspace/GetWorkspacemetaParams.java | 0 .../kbase/workspace/GrantModuleOwnershipParams.java | 0 .../java/us/kbase/workspace/ListAllTypesParams.java | 0 .../kbase/workspace/ListModuleVersionsParams.java | 0 .../java/us/kbase/workspace/ListModulesParams.java | 0 .../java/us/kbase/workspace/ListObjectsParams.java | 0 .../us/kbase/workspace/ListWorkspaceIDsParams.java | 0 .../us/kbase/workspace/ListWorkspaceIDsResults.java | 0 .../us/kbase/workspace/ListWorkspaceInfoParams.java | 0 .../kbase/workspace/ListWorkspaceObjectsParams.java | 0 .../us/kbase/workspace/ListWorkspacesParams.java | 0 .../main/java/us/kbase/workspace/ModuleInfo.java | 0 .../java/us/kbase/workspace/ModuleVersions.java | 0 .../main/java/us/kbase/workspace/ObjectData.java | 0 .../java/us/kbase/workspace/ObjectIdentity.java | 0 .../main/java/us/kbase/workspace/ObjectInfo.java | 0 .../us/kbase/workspace/ObjectMetadataUpdate.java | 0 .../us/kbase/workspace/ObjectProvenanceInfo.java | 0 .../java/us/kbase/workspace/ObjectSaveData.java | 0 .../us/kbase/workspace/ObjectSpecification.java | 0 .../java/us/kbase/workspace/ProvenanceAction.java | 0 .../kbase/workspace/RegisterTypespecCopyParams.java | 0 .../us/kbase/workspace/RegisterTypespecParams.java | 0 .../workspace/RemoveModuleOwnershipParams.java | 0 .../java/us/kbase/workspace/RenameObjectParams.java | 0 .../us/kbase/workspace/RenameWorkspaceParams.java | 0 .../java/us/kbase/workspace/SaveObjectParams.java | 0 .../java/us/kbase/workspace/SaveObjectsParams.java | 0 .../kbase/workspace/SetGlobalPermissionsParams.java | 0 .../us/kbase/workspace/SetPermissionsParams.java | 0 .../workspace/SetWorkspaceDescriptionParams.java | 0 .../main/java/us/kbase/workspace/SubAction.java | 0 .../java/us/kbase/workspace/SubObjectIdentity.java | 0 .../src}/main/java/us/kbase/workspace/TypeInfo.java | 0 .../java/us/kbase/workspace/WorkspaceClient.java | 0 .../java/us/kbase/workspace/WorkspaceIdentity.java | 0 .../us/kbase/workspace/WorkspacePermissions.java | 0 .../java/us/kbase/workspace/WorkspaceServer.java | 0 .../java/us/kbase/workspace/database/AllUsers.java | 0 .../database/ByteArrayFileCacheManager.java | 0 .../us/kbase/workspace/database/CopyResult.java | 0 .../kbase/workspace/database/DependencyStatus.java | 0 .../us/kbase/workspace/database/DynamicConfig.java | 0 .../workspace/database/ListObjectsParameters.java | 0 .../us/kbase/workspace/database/MetadataUpdate.java | 0 .../us/kbase/workspace/database/ModuleInfo.java | 0 .../kbase/workspace/database/ObjectIDNoWSNoVer.java | 0 .../workspace/database/ObjectIDResolvedWS.java | 0 .../kbase/workspace/database/ObjectIdentifier.java | 0 .../workspace/database/ObjectInfoWithModDate.java | 0 .../kbase/workspace/database/ObjectInformation.java | 0 .../workspace/database/ObjectReferenceSet.java | 0 .../us/kbase/workspace/database/ObjectResolver.java | 0 .../us/kbase/workspace/database/Permission.java | 0 .../us/kbase/workspace/database/PermissionSet.java | 0 .../database/PermissionsCheckerFactory.java | 0 .../java/us/kbase/workspace/database/RefLimit.java | 0 .../java/us/kbase/workspace/database/Reference.java | 0 .../kbase/workspace/database/ResolvedObjectID.java | 0 .../workspace/database/ResolvedObjectIDNoVer.java | 0 .../workspace/database/ResolvedSaveObject.java | 0 .../workspace/database/ResolvedWorkspaceID.java | 0 .../database/ResourceUsageConfigurationBuilder.java | 0 .../kbase/workspace/database/TypeAndReference.java | 0 .../java/us/kbase/workspace/database/Types.java | 0 .../workspace/database/UncheckedUserMetadata.java | 0 .../main/java/us/kbase/workspace/database/User.java | 0 .../kbase/workspace/database/UserWorkspaceIDs.java | 0 .../main/java/us/kbase/workspace/database/Util.java | 0 .../java/us/kbase/workspace/database/Workspace.java | 0 .../kbase/workspace/database/WorkspaceDatabase.java | 0 .../workspace/database/WorkspaceIdentifier.java | 0 .../workspace/database/WorkspaceInformation.java | 0 .../workspace/database/WorkspaceObjectData.java | 0 .../workspace/database/WorkspaceSaveObject.java | 0 .../us/kbase/workspace/database/WorkspaceUser.java | 0 .../workspace/database/WorkspaceUserMetadata.java | 0 .../exceptions/CorruptWorkspaceDBException.java | 0 .../database/exceptions/DeletedObjectException.java | 0 .../workspace/database/exceptions/ErrorOr.java | 0 .../workspace/database/exceptions/ErrorType.java | 0 .../exceptions/InaccessibleObjectException.java | 0 .../database/exceptions/NoObjectDataException.java | 0 .../database/exceptions/NoSuchObjectException.java | 0 .../exceptions/NoSuchReferenceException.java | 0 .../exceptions/NoSuchWorkspaceException.java | 0 .../exceptions/PreExistingWorkspaceException.java | 0 .../exceptions/WorkspaceCommunicationException.java | 0 .../database/exceptions/WorkspaceDBException.java | 0 .../WorkspaceDBInitializationException.java | 0 .../kbase/workspace/database/mongo/BlobStore.java | 0 .../workspace/database/mongo/CollectionNames.java | 0 .../us/kbase/workspace/database/mongo/Fields.java | 0 .../workspace/database/mongo/GridFSBlobStore.java | 0 .../us/kbase/workspace/database/mongo/IDName.java | 0 .../workspace/database/mongo/MongoWorkspaceDB.java | 0 .../database/mongo/ObjectIDResolvedWSNoVer.java | 0 .../workspace/database/mongo/ObjectInfoUtils.java | 0 .../workspace/database/mongo/ObjectLister.java | 0 .../workspace/database/mongo/ObjectSavePackage.java | 0 .../workspace/database/mongo/QueryMethods.java | 0 .../kbase/workspace/database/mongo/S3BlobStore.java | 0 .../database/mongo/S3ClientWithPresign.java | 0 .../workspace/database/mongo/SchemaUpdater.java | 0 .../exceptions/BlobStoreAuthorizationException.java | 0 .../exceptions/BlobStoreCommunicationException.java | 0 .../mongo/exceptions/BlobStoreException.java | 0 .../mongo/exceptions/NoSuchBlobException.java | 0 .../kbase/workspace/database/provenance/Common.java | 0 .../workspace/database/provenance/ExternalData.java | 0 .../workspace/database/provenance/Provenance.java | 0 .../database/provenance/ProvenanceAction.java | 0 .../workspace/database/provenance/SubAction.java | 0 .../database/refsearch/ReferenceGraphSearch.java | 0 .../refsearch/ReferenceGraphTopologyProvider.java | 0 .../refsearch/ReferenceProviderException.java | 0 .../refsearch/ReferenceSearchFailedException.java | 0 ...ReferenceSearchMaximumSizeExceededException.java | 0 .../database/refsearch/ReferenceSearchTree.java | 0 .../database/refsearch/ReferenceTreeNode.java | 0 .../us/kbase/workspace/docserver/DocServer.java | 0 .../exceptions/WorkspaceAuthorizationException.java | 0 .../workspace/exceptions/WorkspaceException.java | 0 .../us/kbase/workspace/gitcommit/GitCommit.java | 0 .../java/us/kbase/workspace/kbase/ArgUtils.java | 0 .../java/us/kbase/workspace/kbase/BackendType.java | 0 .../workspace/kbase/BytestreamIdHandlerFactory.java | 0 .../workspace/kbase/DelegatingTypeProvider.java | 0 .../workspace/kbase/HandleIdHandlerFactory.java | 0 .../us/kbase/workspace/kbase/IdentifierUtils.java | 0 .../kbase/workspace/kbase/InitWorkspaceServer.java | 0 .../us/kbase/workspace/kbase/KBasePermissions.java | 0 .../kbase/workspace/kbase/KBaseWorkspaceConfig.java | 0 .../workspace/kbase/LocalTypeServerMethods.java | 0 .../workspace/kbase/SampleIdHandlerFactory.java | 0 .../us/kbase/workspace/kbase/SchemaUpdaterCLI.java | 0 .../java/us/kbase/workspace/kbase/TypeClient.java | 0 .../workspace/kbase/TypeDelegationException.java | 0 .../us/kbase/workspace/kbase/TypeServerMethods.java | 0 .../workspace/kbase/WorkspaceServerMethods.java | 0 .../kbase/workspace/kbase/admin/AdminCommand.java | 0 .../us/kbase/workspace/kbase/admin/AdminRole.java | 0 .../admin/AdministrationCommandSetInstaller.java | 0 .../workspace/kbase/admin/AdministratorHandler.java | 0 .../kbase/admin/AdministratorHandlerException.java | 0 .../workspace/kbase/admin/DefaultAdminHandler.java | 0 .../kbase/admin/KBaseAuth2AdminHandler.java | 0 .../kbase/admin/WorkspaceAdministration.java | 0 .../listener/ListenerInitializationException.java | 0 .../workspace/listener/WorkspaceEventListener.java | 0 .../listener/WorkspaceEventListenerFactory.java | 0 .../us/kbase/workspace/listener/package-info.java | 0 .../workspace/modules/KafkaNotifierFactory.java | 0 .../us/kbase/workspace/modules/package-info.java | 0 .../kbase/workspace/version/WorkspaceVersion.java | 0 .../test/java/us/kbase/test/common/MapBuilder.java | 0 .../test/java/us/kbase/test/common/TestCommon.java | 0 .../kbase/test/typedobj/AbsoluteTypeDefIdTest.java | 0 .../us/kbase/test/typedobj/BasicValidationTest.java | 0 .../kbase/test/typedobj/DetailedValidationTest.java | 0 .../kbase/test/typedobj/DummyIdHandlerFactory.java | 0 .../test/typedobj/DummyValidatedTypedObject.java | 0 .../us/kbase/test/typedobj/IdProcessingTest.java | 0 .../typedobj/IdRefTokenSequenceProviderTest.java | 0 .../java/us/kbase/test/typedobj/JsonSchemas.java | 0 .../test/typedobj/JsonTokenValidatorTester.java | 0 .../kbase/test/typedobj/LocalTypeProviderTest.java | 0 .../kbase/test/typedobj/MetadataExtractionTest.java | 0 .../test/typedobj/ObjectExtractionByPathTest.java | 0 .../kbase/test/typedobj/ProfileBasicValidation.java | 0 .../java/us/kbase/test/typedobj/TypeDefIdTest.java | 0 .../java/us/kbase/test/typedobj/TypeDefsTest.java | 0 .../us/kbase/test/typedobj/TypeProviderTest.java | 0 .../typedobj/TypedObjectValidationReportTest.java | 0 .../test/typedobj/db/HighLoadParallelTester.java | 0 .../test/typedobj/db/MongoTypeStorageTest.java | 0 .../us/kbase/test/typedobj/db/TestTypeStorage.java | 0 .../test/typedobj/db/TestTypeStorageFactory.java | 0 .../kbase/test/typedobj/db/TypeRegisteringTest.java | 0 .../kbase/test/typedobj/db/TypeStorageListener.java | 0 .../IdReferenceHandlerSetFactoryBuilderTest.java | 0 .../idref/IdReferencePermissionHandlerSetTest.java | 0 .../test/typedobj/idref/IdReferenceTypeTest.java | 0 .../kbase/test/workspace/JsonTokenStreamOCStat.java | 0 .../kbase/test/workspace/LongTextForTestUsage.java | 0 .../kbase/test/workspace/UpdateOptionsMatcher.java | 0 .../kbase/test/workspace/WorkspaceMongoIndex.java | 0 .../kbase/test/workspace/WorkspaceServerThread.java | 0 .../kbase/test/workspace/WorkspaceTestCommon.java | 0 .../controllers/arango/ArangoController.java | 0 .../controllers/handle/HandleServiceController.java | 0 .../controllers/sample/SampleServiceController.java | 0 .../controllers/workspace/WorkspaceController.java | 0 .../workspace/database/DependencyStatusTest.java | 0 .../us/kbase/test/workspace/database/UtilTest.java | 0 .../database/mongo/GridFSBlobStoreTest.java | 0 .../database/mongo/MongoInternalsTest.java | 0 .../workspace/database/mongo/MongoStartUpTest.java | 0 .../database/mongo/MongoWorkspaceDBTest.java | 0 .../workspace/database/mongo/ObjectListerTest.java | 0 .../test/workspace/database/mongo/PartialMock.java | 0 .../database/mongo/S3BlobStoreIntegrationTest.java | 0 .../workspace/database/mongo/S3BlobStoreTest.java | 0 .../workspace/database/mongo/SchemaUpdaterTest.java | 0 .../database/provenance/ExternalDataTest.java | 0 .../database/provenance/ProvenanceActionTest.java | 0 .../database/provenance/ProvenanceTest.java | 0 .../database/provenance/SubActionTest.java | 0 .../test/workspace/docserver/DocServerTest.java | 0 .../workspace/docserver/HttpServletRequestMock.java | 0 .../docserver/HttpServletResponseMock.java | 0 .../us/kbase/test/workspace/kbase/ArgUtilsTest.java | 0 .../kbase/BytestreamIdHandlerFactoryTest.java | 0 .../workspace/kbase/DelegatingTypeProviderTest.java | 0 .../kbase/HandleAndBytestreamIntegrationTest.java | 0 .../workspace/kbase/HandleIdHandlerFactoryTest.java | 0 .../test/workspace/kbase/IdentifierUtilsTest.java | 0 .../test/workspace/kbase/JSONRPCLayerLongTest.java | 0 .../test/workspace/kbase/JSONRPCLayerTest.java | 0 .../test/workspace/kbase/JSONRPCLayerTester.java | 0 .../workspace/kbase/KBaseWorkspaceConfigTest.java | 0 .../us/kbase/test/workspace/kbase/LoggingTest.java | 0 .../workspace/kbase/SampleIDHandlerFactoryTest.java | 0 .../kbase/SampleServiceIntegrationTest.java | 0 .../test/workspace/kbase/SchemaUpdaterCLITest.java | 0 .../kbase/test/workspace/kbase/TypeClientTest.java | 0 .../test/workspace/kbase/TypeDelegationTest.java | 0 .../workspace/kbase/WorkspaceServerMethodsTest.java | 0 .../AdministrationCommandSetInstallerTest.java | 0 .../kbase/admin/DefaultAdminHandlerTest.java | 0 .../kbase/admin/KBaseAuth2AdminHandlerTest.java | 0 .../kbase/admin/WorkspaceAdministrationTest.java | 0 .../test/workspace/listener/BadListenerFactory.java | 0 .../workspace/listener/NullListenerFactory.java | 0 .../workspace/modules/KafkaNotifierFactoryTest.java | 0 .../workspace/ByteArrayFileCacheManagerTest.java | 0 .../test/workspace/workspace/DynamicConfigTest.java | 0 .../kbase/test/workspace/workspace/ErrorOrTest.java | 0 .../workspace/ListObjectParametersTest.java | 0 .../workspace/workspace/MetadataUpdateTest.java | 0 .../workspace/workspace/ObjectIDNoWSNoVerTest.java | 0 .../workspace/workspace/ObjectIdentifierTest.java | 0 .../workspace/workspace/ObjectInformationTest.java | 0 .../workspace/workspace/ObjectResolverTest.java | 0 .../test/workspace/workspace/PermissionSetTest.java | 0 .../workspace/PermissionsCheckerFactoryTest.java | 0 .../test/workspace/workspace/RefLimitTest.java | 0 .../workspace/ReferenceGraphSearchTest.java | 0 .../workspace/ReferenceSearchTreeTest.java | 0 .../test/workspace/workspace/ReferenceTest.java | 0 .../workspace/workspace/ReferenceTreeNodeTest.java | 0 .../workspace/ResolvedObjectIdentifierTest.java | 0 .../workspace/ResolvedWorkspaceIDTest.java | 0 .../workspace/TestIDReferenceHandlerFactory.java | 0 .../workspace/UncheckedUserMetadataTest.java | 0 .../workspace/workspace/UserWorkspaceIDsTest.java | 0 .../workspace/WorkspaceConstructorTest.java | 0 .../workspace/WorkspaceInformationTest.java | 0 .../WorkspaceIntegrationWithGridFSTest.java | 0 .../workspace/workspace/WorkspaceListenerTest.java | 0 .../test/workspace/workspace/WorkspaceLongTest.java | 0 .../workspace/WorkspaceObjectDataTest.java | 0 .../test/workspace/workspace/WorkspaceTest.java | 0 .../test/workspace/workspace/WorkspaceTester.java | 0 .../test/workspace/workspace/WorkspaceUnitTest.java | 0 .../workspace/WorkspaceUserMetadataTest.java | 0 .../db/backward.Annotations.2.spec.properties | 0 .../db/backward.Annotations.3.spec.properties | 0 .../db/backward.Annotations.4.spec.properties | 0 .../db/backward.Annotations.spec.properties | 0 .../db/backward.Expression.2.spec.properties | 0 .../typedobj/db/backward.Expression.spec.properties | 0 .../db/backward.Regulation.2.spec.properties | 0 .../db/backward.Regulation.3.spec.properties | 0 .../db/backward.Regulation.4.spec.properties | 0 .../typedobj/db/backward.Regulation.spec.properties | 0 .../test/typedobj/db/deps.DepModule.spec.properties | 0 .../typedobj/db/deps.SomeModule.spec.properties | 0 .../test/typedobj/db/descr.Descr.spec.properties | 0 .../test/typedobj/db/error.Common.spec.properties | 0 .../typedobj/db/error.DoubleModule.spec.properties | 0 .../typedobj/db/error.LongFuncName.spec.properties | 0 .../typedobj/db/error.LongTypeName.spec.properties | 0 .../db/error.StructDuplication.spec.properties | 0 .../test/typedobj/db/error.Test.spec.properties | 0 .../test/typedobj/db/md5.Common.2.spec.properties | 0 .../test/typedobj/db/md5.Common.3.spec.properties | 0 .../test/typedobj/db/md5.Common.spec.properties | 0 .../test/typedobj/db/md5.Upper.spec.properties | 0 .../typedobj/db/restrict.Common.2.spec.properties | 0 .../typedobj/db/restrict.Common.spec.properties | 0 .../typedobj/db/restrict.Middle.spec.properties | 0 .../test/typedobj/db/restrict.Upper.spec.properties | 0 .../test/typedobj/db/rollback.First.spec.properties | 0 .../typedobj/db/simple.Annotation.spec.properties | 0 .../typedobj/db/simple.Regulation.2.spec.properties | 0 .../typedobj/db/simple.Regulation.spec.properties | 0 .../typedobj/db/simple.Sequence.spec.properties | 0 .../typedobj/db/simple.Taxonomy.spec.properties | 0 .../test/typedobj/db/stop.Dependant.spec.properties | 0 .../typedobj/db/stop.Regulation.2.spec.properties | 0 .../typedobj/db/stop.Regulation.spec.properties | 0 .../BasicValidation/FBA.FBAModel.invalid.instance.1 | 0 .../BasicValidation/FBA.FBAModel.valid.instance.1 | 0 .../BasicValidation/FBA.FBAModel.valid.instance.2 | 0 .../BasicValidation/FBA.FBAResult.valid.instance.1 | 0 .../test/typedobj/files/BasicValidation/FBA.spec | 0 .../KB.BigNumberObj.invalid.instance.1 | 0 .../KB.BigNumberObj.invalid.instance.2 | 0 .../KB.BigNumberObj.invalid.instance.3 | 0 .../KB.BigNumberObj.invalid.instance.4 | 0 .../KB.BigNumberObj.valid.instance.1 | 0 .../KB.BigNumberObj.valid.instance.2 | 0 .../BasicValidation/KB.Genome.invalid.instance.1 | 0 .../BasicValidation/KB.Genome.invalid.instance.2 | 0 .../BasicValidation/KB.Genome.invalid.instance.3 | 0 .../BasicValidation/KB.Genome.invalid.instance.4 | 0 .../BasicValidation/KB.Genome.valid.instance.1 | 0 .../BasicValidation/KB.Genome.valid.instance.2 | 0 .../BasicValidation/KB.Genome.valid.instance.3 | 0 .../BasicValidation/KB.NumberObj.invalid.instance.1 | 0 .../KB.NumberObj.invalid.instance.10 | 0 .../KB.NumberObj.invalid.instance.11 | 0 .../KB.NumberObj.invalid.instance.12 | 0 .../KB.NumberObj.invalid.instance.13 | 0 .../KB.NumberObj.invalid.instance.14 | 0 .../KB.NumberObj.invalid.instance.15 | 0 .../KB.NumberObj.invalid.instance.16 | 0 .../KB.NumberObj.invalid.instance.17 | 0 .../BasicValidation/KB.NumberObj.invalid.instance.2 | 0 .../BasicValidation/KB.NumberObj.invalid.instance.3 | 0 .../BasicValidation/KB.NumberObj.invalid.instance.4 | 0 .../BasicValidation/KB.NumberObj.invalid.instance.5 | 0 .../BasicValidation/KB.NumberObj.invalid.instance.6 | 0 .../BasicValidation/KB.NumberObj.invalid.instance.7 | 0 .../BasicValidation/KB.NumberObj.invalid.instance.8 | 0 .../BasicValidation/KB.NumberObj.invalid.instance.9 | 0 .../BasicValidation/KB.NumberObj.valid.instance.1 | 0 .../BasicValidation/KB.NumberObj.valid.instance.2 | 0 .../BasicValidation/KB.NumberObj.valid.instance.3 | 0 .../BasicValidation/KB.NumberObj.valid.instance.4 | 0 .../BasicValidation/KB.NumberObj.valid.instance.5 | 0 .../KB.RandomObject.invalid.instance.1 | 0 .../KB.RandomObject.valid.instance.1 | 0 .../KB.RandomObject.valid.instance.2 | 0 .../KB.TupleObject.invalid.instance.1 | 0 .../KB.TupleObject.invalid.instance.2 | 0 .../BasicValidation/KB.TupleObject.valid.instance.1 | 0 .../test/typedobj/files/BasicValidation/KB.spec | 0 .../test/typedobj/files/DetailedValidation/KB.spec | 0 .../typedobj/files/DetailedValidation/instance.001 | 0 .../typedobj/files/DetailedValidation/instance.002 | 0 .../typedobj/files/DetailedValidation/instance.003 | 0 .../typedobj/files/DetailedValidation/instance.004 | 0 .../typedobj/files/DetailedValidation/instance.005 | 0 .../typedobj/files/DetailedValidation/instance.006 | 0 .../typedobj/files/DetailedValidation/instance.007 | 0 .../typedobj/files/DetailedValidation/instance.008 | 0 .../typedobj/files/DetailedValidation/instance.009 | 0 .../typedobj/files/DetailedValidation/instance.010 | 0 .../typedobj/files/DetailedValidation/instance.011 | 0 .../typedobj/files/DetailedValidation/instance.012 | 0 .../typedobj/files/DetailedValidation/instance.013 | 0 .../typedobj/files/DetailedValidation/instance.014 | 0 .../typedobj/files/DetailedValidation/instance.015 | 0 .../typedobj/files/DetailedValidation/instance.016 | 0 .../typedobj/files/DetailedValidation/instance.017 | 0 .../typedobj/files/DetailedValidation/instance.018 | 0 .../typedobj/files/DetailedValidation/instance.019 | 0 .../typedobj/files/DetailedValidation/instance.020 | 0 .../typedobj/files/DetailedValidation/instance.021 | 0 .../typedobj/files/DetailedValidation/instance.022 | 0 .../typedobj/files/DetailedValidation/instance.023 | 0 .../typedobj/files/DetailedValidation/instance.024 | 0 .../typedobj/files/DetailedValidation/instance.025 | 0 .../typedobj/files/DetailedValidation/instance.026 | 0 .../typedobj/files/DetailedValidation/instance.027 | 0 .../typedobj/files/DetailedValidation/instance.028 | 0 .../typedobj/files/DetailedValidation/instance.029 | 0 .../typedobj/files/DetailedValidation/instance.030 | 0 .../typedobj/files/DetailedValidation/instance.031 | 0 .../typedobj/files/DetailedValidation/instance.032 | 0 .../typedobj/files/DetailedValidation/instance.033 | 0 .../typedobj/files/DetailedValidation/instance.034 | 0 .../typedobj/files/DetailedValidation/instance.035 | 0 .../typedobj/files/DetailedValidation/instance.036 | 0 .../typedobj/files/DetailedValidation/instance.037 | 0 .../typedobj/files/DetailedValidation/instance.038 | 0 .../typedobj/files/DetailedValidation/instance.039 | 0 .../typedobj/files/DetailedValidation/instance.040 | 0 .../typedobj/files/DetailedValidation/instance.041 | 0 .../typedobj/files/DetailedValidation/instance.042 | 0 .../typedobj/files/DetailedValidation/instance.043 | 0 .../typedobj/files/DetailedValidation/instance.044 | 0 .../typedobj/files/DetailedValidation/instance.045 | 0 .../typedobj/files/DetailedValidation/instance.046 | 0 .../typedobj/files/DetailedValidation/instance.047 | 0 .../typedobj/files/DetailedValidation/instance.048 | 0 .../typedobj/files/DetailedValidation/instance.049 | 0 .../typedobj/files/DetailedValidation/instance.050 | 0 .../typedobj/files/DetailedValidation/instance.051 | 0 .../typedobj/files/DetailedValidation/instance.052 | 0 .../typedobj/files/DetailedValidation/instance.053 | 0 .../typedobj/files/DetailedValidation/instance.054 | 0 .../typedobj/files/DetailedValidation/instance.055 | 0 .../typedobj/files/DetailedValidation/instance.056 | 0 .../typedobj/files/DetailedValidation/instance.057 | 0 .../typedobj/files/DetailedValidation/instance.058 | 0 .../typedobj/files/DetailedValidation/instance.059 | 0 .../typedobj/files/DetailedValidation/instance.060 | 0 .../typedobj/files/DetailedValidation/instance.061 | 0 .../kbase/test/typedobj/files/IdProcessing/FBA.spec | 0 .../files/IdProcessing/KB.AltIDs.instance.1 | 0 .../files/IdProcessing/KB.AltIDs.instance.1.ids | 0 .../files/IdProcessing/KB.DeepFeatureMap.instance.1 | 0 .../IdProcessing/KB.DeepFeatureMap.instance.1.ids | 0 .../files/IdProcessing/KB.FeatureMap.instance.1 | 0 .../files/IdProcessing/KB.FeatureMap.instance.1.ids | 0 .../files/IdProcessing/KB.FeatureMap.instance.2 | 0 .../files/IdProcessing/KB.FeatureMap.instance.2.ids | 0 .../files/IdProcessing/KB.Genome.instance.1 | 0 .../files/IdProcessing/KB.Genome.instance.1.ids | 0 .../files/IdProcessing/KB.Genome.instance.2 | 0 .../files/IdProcessing/KB.Genome.instance.2.ids | 0 .../IdProcessing/KB.NestedFeaturesKey.instance.1 | 0 .../KB.NestedFeaturesKey.instance.1.ids | 0 .../IdProcessing/KB.NestedFeaturesList.instance.1 | 0 .../KB.NestedFeaturesList.instance.1.ids | 0 .../IdProcessing/KB.NestedFeaturesValue.instance.1 | 0 .../KB.NestedFeaturesValue.instance.1.ids | 0 .../files/IdProcessing/KB.WeirdTuple.instance.1 | 0 .../files/IdProcessing/KB.WeirdTuple.instance.1.ids | 0 .../kbase/test/typedobj/files/IdProcessing/KB.spec | 0 .../MetadataExtraction/KB.FloatStructure.instance.1 | 0 .../MetadataExtraction/KB.MappingStruct.instance.1 | 0 .../MetadataExtraction/KB.MetaDataT1.instance.1 | 0 .../MetadataExtraction/KB.MetaDataT2.instance.1 | 0 .../MetadataExtraction/KB.MetaDataT3.instance.1 | 0 .../MetadataExtraction/KB.MetaDataT4.instance.1 | 0 .../MetadataExtraction/KB.MetaDataT5.instance.1 | 0 .../MetadataExtraction/KB.MetaDataT6.instance.1 | 0 .../MetadataExtraction/KB.MetaDataT7.instance.1 | 0 .../MetadataExtraction/KB.MetaDataT8.instance.1 | 0 .../MetadataExtraction/KB.MetaDataT9.instance.1 | 0 .../KB.NoExtractionData.instance.1 | 0 .../KB.SimpleStructure.instance.1 | 0 .../KB.SimpleStructure.instance.2 | 0 .../KB.SimpleStructure.instance.3 | 0 .../KB.SimpleStructure.instance.4 | 0 .../KB.SimpleStructure.instance.5 | 0 .../KB.SimpleStructure.instance.6 | 0 .../test/typedobj/files/MetadataExtraction/KB.spec | 0 .../SubdataExtraction/01.ExtractField.instance | 0 .../02.ExtractNestedField.instance | 0 .../SubdataExtraction/03.ExtractFieldFail.instance | 0 .../SubdataExtraction/04.ExtractFromArray.instance | 0 .../SubdataExtraction/05.ExtractAllFromMap.instance | 0 .../06.ExtractAllFromList.instance | 0 .../07.ExtractArrayPosFail.instance | 0 .../08.ExtractArrayPosFail2.instance | 0 .../09.ExtractNestedField2.instance | 0 .../10.ExtractArrayElements.instance | 0 .../11.ExtractBooleansAndNull.instance | 0 .../SubdataExtraction/12.ExtractNumbers.instance | 0 .../13.ExtractWithOptionalFieldsMissing.instance | 0 .../14.ExtractBadPathFail.instance | 0 .../15.ExtractPathEscaped.instance | 0 .../16.ExtractPathEscapedBad.instance | 0 .../17.ExtractPathEscapedBad2.instance | 0 .../us/kbase/test/typedobj/files/t4/FBA.spec | 0 .../us/kbase/test/typedobj/files/t4/KB.spec | 0 .../test/workspace/docserver/docserverTestFile.html | 0 .../us/kbase/test/workspace/docserver/fake.css | 0 .../us/kbase/test/workspace/docserver/fake.gif | 0 .../us/kbase/test/workspace/docserver/fake.js | 0 .../us/kbase/test/workspace/docserver/fake.png | 0 .../us/kbase/test/workspace/docserver/fake.spec | 0 .../us/kbase/test/workspace/docserver/fake.txt | 0 .../kbase/test/workspace/docserver/fake.weirdsuffix | 0 .../docserver/files/docserverTestFile2.html | 0 .../kbase/test/workspace/docserver/files/index.html | 0 .../us/kbase/test/workspace/docserver/index.html | 0 .../long_test_get_object_subset.json.gz.properties | Bin {war => service/war}/web.xml | 0 settings.gradle | 1 + 577 files changed, 9 insertions(+), 8 deletions(-) rename build.gradle => service/build.gradle (98%) rename {src => service/src}/main/java/us/kbase/common/service/Tuple11.java (100%) rename {src => service/src}/main/java/us/kbase/common/service/Tuple12.java (100%) rename {src => service/src}/main/java/us/kbase/common/service/Tuple7.java (100%) rename {src => service/src}/main/java/us/kbase/common/service/Tuple9.java (100%) rename {src => service/src}/main/java/us/kbase/common/utils/Counter.java (100%) rename {src => service/src}/main/java/us/kbase/common/utils/SizeUtils.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/core/AbsoluteTypeDefId.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/core/ExtractedMetadata.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/core/IdRefTokenSequenceProvider.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/core/JsonDocumentLocation.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/core/JsonPointerParseException.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/core/JsonTokenStreamWriter.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/core/JsonTokenValidationException.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/core/JsonTokenValidationListener.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/core/JsonTokenValidationSchema.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/core/LocalTypeProvider.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/core/MD5.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/core/MetadataExtractionHandler.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/core/MetadataExtractor.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/core/MetadataNode.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/core/NullJsonGenerator.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/core/Restreamable.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/core/SubdataExtractionNode.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/core/SubdataExtractor.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/core/SubsetSelection.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/core/TempFileListener.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/core/TempFilesManager.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/core/TokenSequenceProvider.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/core/TypeDefId.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/core/TypeDefName.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/core/TypeProvider.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/core/TypedObjectValidator.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/core/ValidatedTypedObject.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/db/FileTypeStorage.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/db/FuncDetailedInfo.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/db/FuncInfo.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/db/KidlUtil.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/db/ModuleDefId.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/db/ModuleInfo.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/db/MongoTypeStorage.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/db/OwnerInfo.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/db/RefInfo.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/db/SemanticVersion.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/db/TypeChange.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/db/TypeDefinitionDB.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/db/TypeDetailedInfo.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/db/TypeInfo.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/db/TypeStorage.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/exceptions/ExceededMaxMetadataSizeException.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/exceptions/ExceededMaxSubsetSizeException.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/exceptions/NoSuchFuncException.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/exceptions/NoSuchModuleException.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/exceptions/NoSuchPrivilegeException.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/exceptions/NoSuchTypeException.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/exceptions/SpecParseException.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/exceptions/TypeStorageException.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/exceptions/TypedObjectException.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/exceptions/TypedObjectExtractionException.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/exceptions/TypedObjectSchemaException.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/exceptions/TypedObjectValidationException.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/idref/DefaultRemappedId.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/idref/IdReference.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/idref/IdReferenceHandlerSet.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/idref/IdReferenceHandlerSetFactory.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/idref/IdReferenceHandlerSetFactoryBuilder.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/idref/IdReferencePermissionHandlerSet.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/idref/IdReferenceType.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/idref/NoSuchIdReferenceHandlerException.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/idref/RemappedId.java (100%) rename {src => service/src}/main/java/us/kbase/typedobj/idref/SimpleRemappedId.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/AlterAdminObjectMetadataParams.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/AlterWorkspaceMetadataParams.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/CloneWorkspaceParams.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/CopyObjectParams.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/CreateWorkspaceParams.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/ExternalDataUnit.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/FuncInfo.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/GetAdminRoleResults.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/GetModuleInfoParams.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/GetNamesByPrefixParams.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/GetNamesByPrefixResults.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/GetObjectInfo3Params.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/GetObjectInfo3Results.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/GetObjectInfoNewParams.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/GetObjectOutput.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/GetObjectParams.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/GetObjectmetaParams.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/GetObjects2Params.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/GetObjects2Results.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/GetPermissionsMassParams.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/GetWorkspacemetaParams.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/GrantModuleOwnershipParams.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/ListAllTypesParams.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/ListModuleVersionsParams.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/ListModulesParams.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/ListObjectsParams.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/ListWorkspaceIDsParams.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/ListWorkspaceIDsResults.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/ListWorkspaceInfoParams.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/ListWorkspaceObjectsParams.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/ListWorkspacesParams.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/ModuleInfo.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/ModuleVersions.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/ObjectData.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/ObjectIdentity.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/ObjectInfo.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/ObjectMetadataUpdate.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/ObjectProvenanceInfo.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/ObjectSaveData.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/ObjectSpecification.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/ProvenanceAction.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/RegisterTypespecCopyParams.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/RegisterTypespecParams.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/RemoveModuleOwnershipParams.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/RenameObjectParams.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/RenameWorkspaceParams.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/SaveObjectParams.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/SaveObjectsParams.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/SetGlobalPermissionsParams.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/SetPermissionsParams.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/SetWorkspaceDescriptionParams.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/SubAction.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/SubObjectIdentity.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/TypeInfo.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/WorkspaceClient.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/WorkspaceIdentity.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/WorkspacePermissions.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/WorkspaceServer.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/AllUsers.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/ByteArrayFileCacheManager.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/CopyResult.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/DependencyStatus.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/DynamicConfig.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/ListObjectsParameters.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/MetadataUpdate.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/ModuleInfo.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/ObjectIDNoWSNoVer.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/ObjectIDResolvedWS.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/ObjectIdentifier.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/ObjectInfoWithModDate.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/ObjectInformation.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/ObjectReferenceSet.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/ObjectResolver.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/Permission.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/PermissionSet.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/PermissionsCheckerFactory.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/RefLimit.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/Reference.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/ResolvedObjectID.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/ResolvedObjectIDNoVer.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/ResolvedSaveObject.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/ResolvedWorkspaceID.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/ResourceUsageConfigurationBuilder.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/TypeAndReference.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/Types.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/UncheckedUserMetadata.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/User.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/UserWorkspaceIDs.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/Util.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/Workspace.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/WorkspaceDatabase.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/WorkspaceIdentifier.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/WorkspaceInformation.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/WorkspaceObjectData.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/WorkspaceSaveObject.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/WorkspaceUser.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/WorkspaceUserMetadata.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/exceptions/CorruptWorkspaceDBException.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/exceptions/DeletedObjectException.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/exceptions/ErrorOr.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/exceptions/ErrorType.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/exceptions/InaccessibleObjectException.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/exceptions/NoObjectDataException.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/exceptions/NoSuchObjectException.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/exceptions/NoSuchReferenceException.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/exceptions/NoSuchWorkspaceException.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/exceptions/PreExistingWorkspaceException.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/exceptions/WorkspaceCommunicationException.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/exceptions/WorkspaceDBException.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/exceptions/WorkspaceDBInitializationException.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/mongo/BlobStore.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/mongo/CollectionNames.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/mongo/Fields.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/mongo/GridFSBlobStore.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/mongo/IDName.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/mongo/MongoWorkspaceDB.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/mongo/ObjectIDResolvedWSNoVer.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/mongo/ObjectInfoUtils.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/mongo/ObjectLister.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/mongo/ObjectSavePackage.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/mongo/QueryMethods.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/mongo/S3BlobStore.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/mongo/S3ClientWithPresign.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/mongo/SchemaUpdater.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/mongo/exceptions/BlobStoreAuthorizationException.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/mongo/exceptions/BlobStoreCommunicationException.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/mongo/exceptions/BlobStoreException.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/mongo/exceptions/NoSuchBlobException.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/provenance/Common.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/provenance/ExternalData.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/provenance/Provenance.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/provenance/ProvenanceAction.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/provenance/SubAction.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/refsearch/ReferenceGraphSearch.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/refsearch/ReferenceGraphTopologyProvider.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/refsearch/ReferenceProviderException.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/refsearch/ReferenceSearchFailedException.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/refsearch/ReferenceSearchMaximumSizeExceededException.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/refsearch/ReferenceSearchTree.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/database/refsearch/ReferenceTreeNode.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/docserver/DocServer.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/exceptions/WorkspaceAuthorizationException.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/exceptions/WorkspaceException.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/gitcommit/GitCommit.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/kbase/ArgUtils.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/kbase/BackendType.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/kbase/BytestreamIdHandlerFactory.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/kbase/DelegatingTypeProvider.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/kbase/HandleIdHandlerFactory.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/kbase/IdentifierUtils.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/kbase/InitWorkspaceServer.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/kbase/KBasePermissions.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/kbase/KBaseWorkspaceConfig.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/kbase/LocalTypeServerMethods.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/kbase/SampleIdHandlerFactory.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/kbase/SchemaUpdaterCLI.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/kbase/TypeClient.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/kbase/TypeDelegationException.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/kbase/TypeServerMethods.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/kbase/WorkspaceServerMethods.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/kbase/admin/AdminCommand.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/kbase/admin/AdminRole.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/kbase/admin/AdministrationCommandSetInstaller.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/kbase/admin/AdministratorHandler.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/kbase/admin/AdministratorHandlerException.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/kbase/admin/DefaultAdminHandler.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/kbase/admin/KBaseAuth2AdminHandler.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/kbase/admin/WorkspaceAdministration.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/listener/ListenerInitializationException.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/listener/WorkspaceEventListener.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/listener/WorkspaceEventListenerFactory.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/listener/package-info.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/modules/KafkaNotifierFactory.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/modules/package-info.java (100%) rename {src => service/src}/main/java/us/kbase/workspace/version/WorkspaceVersion.java (100%) rename {src => service/src}/test/java/us/kbase/test/common/MapBuilder.java (100%) rename {src => service/src}/test/java/us/kbase/test/common/TestCommon.java (100%) rename {src => service/src}/test/java/us/kbase/test/typedobj/AbsoluteTypeDefIdTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/typedobj/BasicValidationTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/typedobj/DetailedValidationTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/typedobj/DummyIdHandlerFactory.java (100%) rename {src => service/src}/test/java/us/kbase/test/typedobj/DummyValidatedTypedObject.java (100%) rename {src => service/src}/test/java/us/kbase/test/typedobj/IdProcessingTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/typedobj/IdRefTokenSequenceProviderTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/typedobj/JsonSchemas.java (100%) rename {src => service/src}/test/java/us/kbase/test/typedobj/JsonTokenValidatorTester.java (100%) rename {src => service/src}/test/java/us/kbase/test/typedobj/LocalTypeProviderTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/typedobj/MetadataExtractionTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/typedobj/ObjectExtractionByPathTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/typedobj/ProfileBasicValidation.java (100%) rename {src => service/src}/test/java/us/kbase/test/typedobj/TypeDefIdTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/typedobj/TypeDefsTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/typedobj/TypeProviderTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/typedobj/TypedObjectValidationReportTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/typedobj/db/HighLoadParallelTester.java (100%) rename {src => service/src}/test/java/us/kbase/test/typedobj/db/MongoTypeStorageTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/typedobj/db/TestTypeStorage.java (100%) rename {src => service/src}/test/java/us/kbase/test/typedobj/db/TestTypeStorageFactory.java (100%) rename {src => service/src}/test/java/us/kbase/test/typedobj/db/TypeRegisteringTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/typedobj/db/TypeStorageListener.java (100%) rename {src => service/src}/test/java/us/kbase/test/typedobj/idref/IdReferenceHandlerSetFactoryBuilderTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/typedobj/idref/IdReferencePermissionHandlerSetTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/typedobj/idref/IdReferenceTypeTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/JsonTokenStreamOCStat.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/LongTextForTestUsage.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/UpdateOptionsMatcher.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/WorkspaceMongoIndex.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/WorkspaceServerThread.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/WorkspaceTestCommon.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/controllers/arango/ArangoController.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/controllers/handle/HandleServiceController.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/controllers/sample/SampleServiceController.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/controllers/workspace/WorkspaceController.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/database/DependencyStatusTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/database/UtilTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/database/mongo/GridFSBlobStoreTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/database/mongo/MongoInternalsTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/database/mongo/MongoStartUpTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/database/mongo/MongoWorkspaceDBTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/database/mongo/ObjectListerTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/database/mongo/PartialMock.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/database/mongo/S3BlobStoreIntegrationTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/database/mongo/S3BlobStoreTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/database/mongo/SchemaUpdaterTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/database/provenance/ExternalDataTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/database/provenance/ProvenanceActionTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/database/provenance/ProvenanceTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/database/provenance/SubActionTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/docserver/DocServerTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/docserver/HttpServletRequestMock.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/docserver/HttpServletResponseMock.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/kbase/ArgUtilsTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/kbase/BytestreamIdHandlerFactoryTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/kbase/DelegatingTypeProviderTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/kbase/HandleAndBytestreamIntegrationTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/kbase/HandleIdHandlerFactoryTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/kbase/IdentifierUtilsTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/kbase/JSONRPCLayerLongTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/kbase/JSONRPCLayerTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/kbase/JSONRPCLayerTester.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/kbase/KBaseWorkspaceConfigTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/kbase/LoggingTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/kbase/SampleIDHandlerFactoryTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/kbase/SampleServiceIntegrationTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/kbase/SchemaUpdaterCLITest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/kbase/TypeClientTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/kbase/TypeDelegationTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/kbase/WorkspaceServerMethodsTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/kbase/admin/AdministrationCommandSetInstallerTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/kbase/admin/DefaultAdminHandlerTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/kbase/admin/KBaseAuth2AdminHandlerTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/kbase/admin/WorkspaceAdministrationTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/listener/BadListenerFactory.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/listener/NullListenerFactory.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/modules/KafkaNotifierFactoryTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/workspace/ByteArrayFileCacheManagerTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/workspace/DynamicConfigTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/workspace/ErrorOrTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/workspace/ListObjectParametersTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/workspace/MetadataUpdateTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/workspace/ObjectIDNoWSNoVerTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/workspace/ObjectIdentifierTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/workspace/ObjectInformationTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/workspace/ObjectResolverTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/workspace/PermissionSetTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/workspace/PermissionsCheckerFactoryTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/workspace/RefLimitTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/workspace/ReferenceGraphSearchTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/workspace/ReferenceSearchTreeTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/workspace/ReferenceTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/workspace/ReferenceTreeNodeTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/workspace/ResolvedObjectIdentifierTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/workspace/ResolvedWorkspaceIDTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/workspace/TestIDReferenceHandlerFactory.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/workspace/UncheckedUserMetadataTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/workspace/UserWorkspaceIDsTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/workspace/WorkspaceConstructorTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/workspace/WorkspaceInformationTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/workspace/WorkspaceIntegrationWithGridFSTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/workspace/WorkspaceListenerTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/workspace/WorkspaceLongTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/workspace/WorkspaceObjectDataTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/workspace/WorkspaceTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/workspace/WorkspaceTester.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/workspace/WorkspaceUnitTest.java (100%) rename {src => service/src}/test/java/us/kbase/test/workspace/workspace/WorkspaceUserMetadataTest.java (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/db/backward.Annotations.2.spec.properties (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/db/backward.Annotations.3.spec.properties (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/db/backward.Annotations.4.spec.properties (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/db/backward.Annotations.spec.properties (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/db/backward.Expression.2.spec.properties (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/db/backward.Expression.spec.properties (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/db/backward.Regulation.2.spec.properties (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/db/backward.Regulation.3.spec.properties (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/db/backward.Regulation.4.spec.properties (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/db/backward.Regulation.spec.properties (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/db/deps.DepModule.spec.properties (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/db/deps.SomeModule.spec.properties (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/db/descr.Descr.spec.properties (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/db/error.Common.spec.properties (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/db/error.DoubleModule.spec.properties (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/db/error.LongFuncName.spec.properties (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/db/error.LongTypeName.spec.properties (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/db/error.StructDuplication.spec.properties (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/db/error.Test.spec.properties (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/db/md5.Common.2.spec.properties (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/db/md5.Common.3.spec.properties (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/db/md5.Common.spec.properties (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/db/md5.Upper.spec.properties (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/db/restrict.Common.2.spec.properties (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/db/restrict.Common.spec.properties (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/db/restrict.Middle.spec.properties (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/db/restrict.Upper.spec.properties (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/db/rollback.First.spec.properties (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/db/simple.Annotation.spec.properties (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/db/simple.Regulation.2.spec.properties (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/db/simple.Regulation.spec.properties (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/db/simple.Sequence.spec.properties (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/db/simple.Taxonomy.spec.properties (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/db/stop.Dependant.spec.properties (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/db/stop.Regulation.2.spec.properties (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/db/stop.Regulation.spec.properties (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/FBA.FBAModel.invalid.instance.1 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/FBA.FBAModel.valid.instance.1 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/FBA.FBAModel.valid.instance.2 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/FBA.FBAResult.valid.instance.1 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/FBA.spec (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.BigNumberObj.invalid.instance.1 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.BigNumberObj.invalid.instance.2 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.BigNumberObj.invalid.instance.3 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.BigNumberObj.invalid.instance.4 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.BigNumberObj.valid.instance.1 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.BigNumberObj.valid.instance.2 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.invalid.instance.1 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.invalid.instance.2 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.invalid.instance.3 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.invalid.instance.4 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.valid.instance.1 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.valid.instance.2 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.valid.instance.3 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.1 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.10 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.11 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.12 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.13 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.14 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.15 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.16 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.17 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.2 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.3 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.4 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.5 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.6 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.7 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.8 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.9 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.valid.instance.1 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.valid.instance.2 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.valid.instance.3 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.valid.instance.4 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.valid.instance.5 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.RandomObject.invalid.instance.1 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.RandomObject.valid.instance.1 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.RandomObject.valid.instance.2 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.TupleObject.invalid.instance.1 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.TupleObject.invalid.instance.2 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.TupleObject.valid.instance.1 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.spec (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/KB.spec (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.001 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.002 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.003 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.004 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.005 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.006 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.007 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.008 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.009 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.010 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.011 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.012 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.013 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.014 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.015 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.016 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.017 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.018 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.019 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.020 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.021 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.022 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.023 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.024 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.025 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.026 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.027 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.028 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.029 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.030 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.031 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.032 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.033 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.034 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.035 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.036 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.037 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.038 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.039 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.040 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.041 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.042 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.043 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.044 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.045 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.046 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.047 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.048 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.049 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.050 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.051 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.052 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.053 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.054 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.055 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.056 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.057 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.058 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.059 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.060 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.061 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/IdProcessing/FBA.spec (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.AltIDs.instance.1 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.AltIDs.instance.1.ids (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.DeepFeatureMap.instance.1 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.DeepFeatureMap.instance.1.ids (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.FeatureMap.instance.1 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.FeatureMap.instance.1.ids (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.FeatureMap.instance.2 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.FeatureMap.instance.2.ids (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.Genome.instance.1 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.Genome.instance.1.ids (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.Genome.instance.2 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.Genome.instance.2.ids (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.NestedFeaturesKey.instance.1 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.NestedFeaturesKey.instance.1.ids (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.NestedFeaturesList.instance.1 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.NestedFeaturesList.instance.1.ids (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.NestedFeaturesValue.instance.1 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.NestedFeaturesValue.instance.1.ids (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.WeirdTuple.instance.1 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.WeirdTuple.instance.1.ids (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.spec (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.FloatStructure.instance.1 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MappingStruct.instance.1 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT1.instance.1 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT2.instance.1 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT3.instance.1 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT4.instance.1 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT5.instance.1 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT6.instance.1 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT7.instance.1 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT8.instance.1 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT9.instance.1 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.NoExtractionData.instance.1 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.SimpleStructure.instance.1 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.SimpleStructure.instance.2 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.SimpleStructure.instance.3 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.SimpleStructure.instance.4 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.SimpleStructure.instance.5 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.SimpleStructure.instance.6 (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.spec (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/01.ExtractField.instance (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/02.ExtractNestedField.instance (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/03.ExtractFieldFail.instance (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/04.ExtractFromArray.instance (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/05.ExtractAllFromMap.instance (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/06.ExtractAllFromList.instance (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/07.ExtractArrayPosFail.instance (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/08.ExtractArrayPosFail2.instance (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/09.ExtractNestedField2.instance (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/10.ExtractArrayElements.instance (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/11.ExtractBooleansAndNull.instance (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/12.ExtractNumbers.instance (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/13.ExtractWithOptionalFieldsMissing.instance (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/14.ExtractBadPathFail.instance (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/15.ExtractPathEscaped.instance (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/16.ExtractPathEscapedBad.instance (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/17.ExtractPathEscapedBad2.instance (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/t4/FBA.spec (100%) rename {src => service/src}/test/resources/us/kbase/test/typedobj/files/t4/KB.spec (100%) rename {src => service/src}/test/resources/us/kbase/test/workspace/docserver/docserverTestFile.html (100%) rename {src => service/src}/test/resources/us/kbase/test/workspace/docserver/fake.css (100%) rename {src => service/src}/test/resources/us/kbase/test/workspace/docserver/fake.gif (100%) rename {src => service/src}/test/resources/us/kbase/test/workspace/docserver/fake.js (100%) rename {src => service/src}/test/resources/us/kbase/test/workspace/docserver/fake.png (100%) rename {src => service/src}/test/resources/us/kbase/test/workspace/docserver/fake.spec (100%) rename {src => service/src}/test/resources/us/kbase/test/workspace/docserver/fake.txt (100%) rename {src => service/src}/test/resources/us/kbase/test/workspace/docserver/fake.weirdsuffix (100%) rename {src => service/src}/test/resources/us/kbase/test/workspace/docserver/files/docserverTestFile2.html (100%) rename {src => service/src}/test/resources/us/kbase/test/workspace/docserver/files/index.html (100%) rename {src => service/src}/test/resources/us/kbase/test/workspace/docserver/index.html (100%) rename {src => service/src}/test/resources/us/kbase/test/workspace/workspace/long_test_get_object_subset.json.gz.properties (100%) rename {war => service/war}/web.xml (100%) diff --git a/Dockerfile b/Dockerfile index 84b9b80e..77cf4985 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,7 +8,7 @@ WORKDIR /tmp/workspace # dependencies take a while to D/L, so D/L & cache before the build so code changes don't cause # a new D/L # can't glob *gradle because of the .gradle dir -COPY build.gradle gradlew settings.gradle /tmp/workspace/ +COPY gradlew settings.gradle /tmp/workspace/ COPY gradle/ /tmp/workspace/gradle/ RUN ./gradlew dependencies @@ -18,8 +18,7 @@ COPY deployment/ /tmp/workspace/deployment/ COPY docshtml /tmp/workspace/docshtml/ COPY docsource /tmp/workspace/docsource/ COPY lib /tmp/workspace/lib/ -COPY src /tmp/workspace/src/ -COPY war /tmp/workspace/war/ +COPY service /tmp/workspace/service # for the git commit COPY .git /tmp/workspace/.git/ RUN ./gradlew war @@ -56,7 +55,7 @@ COPY --from=build /tmp/workspace/deployment/ /kb/deployment/ RUN /usr/bin/${TOMCAT_VERSION}-instance-create /kb/deployment/services/workspace/tomcat && \ rm -rf /kb/deployment/services/workspace/tomcat/webapps/ROOT -COPY --from=build /tmp/workspace/build/libs/workspace_deluxe.war /kb/deployment/services/workspace/tomcat/webapps/ROOT.war +COPY --from=build /tmp/workspace/service/build/libs/service.war /kb/deployment/services/workspace/tomcat/webapps/ROOT.war # The BUILD_DATE value seem to bust the docker cache when the timestamp changes, move to # the end diff --git a/build.gradle b/service/build.gradle similarity index 98% rename from build.gradle rename to service/build.gradle index 57e49666..109129f9 100644 --- a/build.gradle +++ b/service/build.gradle @@ -124,7 +124,7 @@ tasks.withType(Test) { * Set up GHA to run the non-mongo tests with a single version of mongo and run the * mongo tests with matrixed mongo versions. Combine coverage at the end somehow */ - systemProperty "test.cfg", "./test.cfg" + systemProperty "test.cfg", "$rootDir/test.cfg" maxHeapSize = "3G" testLogging { exceptionFormat = 'full' @@ -164,6 +164,7 @@ task jacocoTestQuickReport(type: JacocoReport, dependsOn: testQuick) { } jar { +// TODO NOW remove // Much like javadoc, we hijack this task to build the client jar, since we don't need // a service jar include "us/kbase/workspace/*.class" @@ -233,7 +234,7 @@ gradle.taskGraph.whenReady { taskGraph -> * that'd be fantastic. */ - var LOC_SCRIPT_TYPESCRIPT = "$rootDir/typescript" + var LOC_SCRIPT_TYPESCRIPT = "./typescript" // TODO GRADLE is there some way to DRY these 3 compile tasks up? Not a huge deal task sdkCompileHTML { @@ -249,7 +250,7 @@ task sdkCompileHTML { task sdkCompileLibs { var cmd = "kb-sdk compile " + - "--out lib " + + "--out $rootDir/lib " + "--jsclname javascript/workspace/Client " + "--plclname Bio::KBase::workspace::Client " + "--pyclname biokbase.workspace.client " + @@ -268,7 +269,7 @@ task sdkCompileJava { // TODO GRADLE is there a variable for src/main/java? var cmd = "kb-sdk compile " + "--java " + - "--javasrc $rootDir/src/main/java/ " + + "--javasrc ${project.projectDir}/src/main/java/ " + "--javasrv " + "--out . " + "--url $DEFAULT_URL " + diff --git a/src/main/java/us/kbase/common/service/Tuple11.java b/service/src/main/java/us/kbase/common/service/Tuple11.java similarity index 100% rename from src/main/java/us/kbase/common/service/Tuple11.java rename to service/src/main/java/us/kbase/common/service/Tuple11.java diff --git a/src/main/java/us/kbase/common/service/Tuple12.java b/service/src/main/java/us/kbase/common/service/Tuple12.java similarity index 100% rename from src/main/java/us/kbase/common/service/Tuple12.java rename to service/src/main/java/us/kbase/common/service/Tuple12.java diff --git a/src/main/java/us/kbase/common/service/Tuple7.java b/service/src/main/java/us/kbase/common/service/Tuple7.java similarity index 100% rename from src/main/java/us/kbase/common/service/Tuple7.java rename to service/src/main/java/us/kbase/common/service/Tuple7.java diff --git a/src/main/java/us/kbase/common/service/Tuple9.java b/service/src/main/java/us/kbase/common/service/Tuple9.java similarity index 100% rename from src/main/java/us/kbase/common/service/Tuple9.java rename to service/src/main/java/us/kbase/common/service/Tuple9.java diff --git a/src/main/java/us/kbase/common/utils/Counter.java b/service/src/main/java/us/kbase/common/utils/Counter.java similarity index 100% rename from src/main/java/us/kbase/common/utils/Counter.java rename to service/src/main/java/us/kbase/common/utils/Counter.java diff --git a/src/main/java/us/kbase/common/utils/SizeUtils.java b/service/src/main/java/us/kbase/common/utils/SizeUtils.java similarity index 100% rename from src/main/java/us/kbase/common/utils/SizeUtils.java rename to service/src/main/java/us/kbase/common/utils/SizeUtils.java diff --git a/src/main/java/us/kbase/typedobj/core/AbsoluteTypeDefId.java b/service/src/main/java/us/kbase/typedobj/core/AbsoluteTypeDefId.java similarity index 100% rename from src/main/java/us/kbase/typedobj/core/AbsoluteTypeDefId.java rename to service/src/main/java/us/kbase/typedobj/core/AbsoluteTypeDefId.java diff --git a/src/main/java/us/kbase/typedobj/core/ExtractedMetadata.java b/service/src/main/java/us/kbase/typedobj/core/ExtractedMetadata.java similarity index 100% rename from src/main/java/us/kbase/typedobj/core/ExtractedMetadata.java rename to service/src/main/java/us/kbase/typedobj/core/ExtractedMetadata.java diff --git a/src/main/java/us/kbase/typedobj/core/IdRefTokenSequenceProvider.java b/service/src/main/java/us/kbase/typedobj/core/IdRefTokenSequenceProvider.java similarity index 100% rename from src/main/java/us/kbase/typedobj/core/IdRefTokenSequenceProvider.java rename to service/src/main/java/us/kbase/typedobj/core/IdRefTokenSequenceProvider.java diff --git a/src/main/java/us/kbase/typedobj/core/JsonDocumentLocation.java b/service/src/main/java/us/kbase/typedobj/core/JsonDocumentLocation.java similarity index 100% rename from src/main/java/us/kbase/typedobj/core/JsonDocumentLocation.java rename to service/src/main/java/us/kbase/typedobj/core/JsonDocumentLocation.java diff --git a/src/main/java/us/kbase/typedobj/core/JsonPointerParseException.java b/service/src/main/java/us/kbase/typedobj/core/JsonPointerParseException.java similarity index 100% rename from src/main/java/us/kbase/typedobj/core/JsonPointerParseException.java rename to service/src/main/java/us/kbase/typedobj/core/JsonPointerParseException.java diff --git a/src/main/java/us/kbase/typedobj/core/JsonTokenStreamWriter.java b/service/src/main/java/us/kbase/typedobj/core/JsonTokenStreamWriter.java similarity index 100% rename from src/main/java/us/kbase/typedobj/core/JsonTokenStreamWriter.java rename to service/src/main/java/us/kbase/typedobj/core/JsonTokenStreamWriter.java diff --git a/src/main/java/us/kbase/typedobj/core/JsonTokenValidationException.java b/service/src/main/java/us/kbase/typedobj/core/JsonTokenValidationException.java similarity index 100% rename from src/main/java/us/kbase/typedobj/core/JsonTokenValidationException.java rename to service/src/main/java/us/kbase/typedobj/core/JsonTokenValidationException.java diff --git a/src/main/java/us/kbase/typedobj/core/JsonTokenValidationListener.java b/service/src/main/java/us/kbase/typedobj/core/JsonTokenValidationListener.java similarity index 100% rename from src/main/java/us/kbase/typedobj/core/JsonTokenValidationListener.java rename to service/src/main/java/us/kbase/typedobj/core/JsonTokenValidationListener.java diff --git a/src/main/java/us/kbase/typedobj/core/JsonTokenValidationSchema.java b/service/src/main/java/us/kbase/typedobj/core/JsonTokenValidationSchema.java similarity index 100% rename from src/main/java/us/kbase/typedobj/core/JsonTokenValidationSchema.java rename to service/src/main/java/us/kbase/typedobj/core/JsonTokenValidationSchema.java diff --git a/src/main/java/us/kbase/typedobj/core/LocalTypeProvider.java b/service/src/main/java/us/kbase/typedobj/core/LocalTypeProvider.java similarity index 100% rename from src/main/java/us/kbase/typedobj/core/LocalTypeProvider.java rename to service/src/main/java/us/kbase/typedobj/core/LocalTypeProvider.java diff --git a/src/main/java/us/kbase/typedobj/core/MD5.java b/service/src/main/java/us/kbase/typedobj/core/MD5.java similarity index 100% rename from src/main/java/us/kbase/typedobj/core/MD5.java rename to service/src/main/java/us/kbase/typedobj/core/MD5.java diff --git a/src/main/java/us/kbase/typedobj/core/MetadataExtractionHandler.java b/service/src/main/java/us/kbase/typedobj/core/MetadataExtractionHandler.java similarity index 100% rename from src/main/java/us/kbase/typedobj/core/MetadataExtractionHandler.java rename to service/src/main/java/us/kbase/typedobj/core/MetadataExtractionHandler.java diff --git a/src/main/java/us/kbase/typedobj/core/MetadataExtractor.java b/service/src/main/java/us/kbase/typedobj/core/MetadataExtractor.java similarity index 100% rename from src/main/java/us/kbase/typedobj/core/MetadataExtractor.java rename to service/src/main/java/us/kbase/typedobj/core/MetadataExtractor.java diff --git a/src/main/java/us/kbase/typedobj/core/MetadataNode.java b/service/src/main/java/us/kbase/typedobj/core/MetadataNode.java similarity index 100% rename from src/main/java/us/kbase/typedobj/core/MetadataNode.java rename to service/src/main/java/us/kbase/typedobj/core/MetadataNode.java diff --git a/src/main/java/us/kbase/typedobj/core/NullJsonGenerator.java b/service/src/main/java/us/kbase/typedobj/core/NullJsonGenerator.java similarity index 100% rename from src/main/java/us/kbase/typedobj/core/NullJsonGenerator.java rename to service/src/main/java/us/kbase/typedobj/core/NullJsonGenerator.java diff --git a/src/main/java/us/kbase/typedobj/core/Restreamable.java b/service/src/main/java/us/kbase/typedobj/core/Restreamable.java similarity index 100% rename from src/main/java/us/kbase/typedobj/core/Restreamable.java rename to service/src/main/java/us/kbase/typedobj/core/Restreamable.java diff --git a/src/main/java/us/kbase/typedobj/core/SubdataExtractionNode.java b/service/src/main/java/us/kbase/typedobj/core/SubdataExtractionNode.java similarity index 100% rename from src/main/java/us/kbase/typedobj/core/SubdataExtractionNode.java rename to service/src/main/java/us/kbase/typedobj/core/SubdataExtractionNode.java diff --git a/src/main/java/us/kbase/typedobj/core/SubdataExtractor.java b/service/src/main/java/us/kbase/typedobj/core/SubdataExtractor.java similarity index 100% rename from src/main/java/us/kbase/typedobj/core/SubdataExtractor.java rename to service/src/main/java/us/kbase/typedobj/core/SubdataExtractor.java diff --git a/src/main/java/us/kbase/typedobj/core/SubsetSelection.java b/service/src/main/java/us/kbase/typedobj/core/SubsetSelection.java similarity index 100% rename from src/main/java/us/kbase/typedobj/core/SubsetSelection.java rename to service/src/main/java/us/kbase/typedobj/core/SubsetSelection.java diff --git a/src/main/java/us/kbase/typedobj/core/TempFileListener.java b/service/src/main/java/us/kbase/typedobj/core/TempFileListener.java similarity index 100% rename from src/main/java/us/kbase/typedobj/core/TempFileListener.java rename to service/src/main/java/us/kbase/typedobj/core/TempFileListener.java diff --git a/src/main/java/us/kbase/typedobj/core/TempFilesManager.java b/service/src/main/java/us/kbase/typedobj/core/TempFilesManager.java similarity index 100% rename from src/main/java/us/kbase/typedobj/core/TempFilesManager.java rename to service/src/main/java/us/kbase/typedobj/core/TempFilesManager.java diff --git a/src/main/java/us/kbase/typedobj/core/TokenSequenceProvider.java b/service/src/main/java/us/kbase/typedobj/core/TokenSequenceProvider.java similarity index 100% rename from src/main/java/us/kbase/typedobj/core/TokenSequenceProvider.java rename to service/src/main/java/us/kbase/typedobj/core/TokenSequenceProvider.java diff --git a/src/main/java/us/kbase/typedobj/core/TypeDefId.java b/service/src/main/java/us/kbase/typedobj/core/TypeDefId.java similarity index 100% rename from src/main/java/us/kbase/typedobj/core/TypeDefId.java rename to service/src/main/java/us/kbase/typedobj/core/TypeDefId.java diff --git a/src/main/java/us/kbase/typedobj/core/TypeDefName.java b/service/src/main/java/us/kbase/typedobj/core/TypeDefName.java similarity index 100% rename from src/main/java/us/kbase/typedobj/core/TypeDefName.java rename to service/src/main/java/us/kbase/typedobj/core/TypeDefName.java diff --git a/src/main/java/us/kbase/typedobj/core/TypeProvider.java b/service/src/main/java/us/kbase/typedobj/core/TypeProvider.java similarity index 100% rename from src/main/java/us/kbase/typedobj/core/TypeProvider.java rename to service/src/main/java/us/kbase/typedobj/core/TypeProvider.java diff --git a/src/main/java/us/kbase/typedobj/core/TypedObjectValidator.java b/service/src/main/java/us/kbase/typedobj/core/TypedObjectValidator.java similarity index 100% rename from src/main/java/us/kbase/typedobj/core/TypedObjectValidator.java rename to service/src/main/java/us/kbase/typedobj/core/TypedObjectValidator.java diff --git a/src/main/java/us/kbase/typedobj/core/ValidatedTypedObject.java b/service/src/main/java/us/kbase/typedobj/core/ValidatedTypedObject.java similarity index 100% rename from src/main/java/us/kbase/typedobj/core/ValidatedTypedObject.java rename to service/src/main/java/us/kbase/typedobj/core/ValidatedTypedObject.java diff --git a/src/main/java/us/kbase/typedobj/db/FileTypeStorage.java b/service/src/main/java/us/kbase/typedobj/db/FileTypeStorage.java similarity index 100% rename from src/main/java/us/kbase/typedobj/db/FileTypeStorage.java rename to service/src/main/java/us/kbase/typedobj/db/FileTypeStorage.java diff --git a/src/main/java/us/kbase/typedobj/db/FuncDetailedInfo.java b/service/src/main/java/us/kbase/typedobj/db/FuncDetailedInfo.java similarity index 100% rename from src/main/java/us/kbase/typedobj/db/FuncDetailedInfo.java rename to service/src/main/java/us/kbase/typedobj/db/FuncDetailedInfo.java diff --git a/src/main/java/us/kbase/typedobj/db/FuncInfo.java b/service/src/main/java/us/kbase/typedobj/db/FuncInfo.java similarity index 100% rename from src/main/java/us/kbase/typedobj/db/FuncInfo.java rename to service/src/main/java/us/kbase/typedobj/db/FuncInfo.java diff --git a/src/main/java/us/kbase/typedobj/db/KidlUtil.java b/service/src/main/java/us/kbase/typedobj/db/KidlUtil.java similarity index 100% rename from src/main/java/us/kbase/typedobj/db/KidlUtil.java rename to service/src/main/java/us/kbase/typedobj/db/KidlUtil.java diff --git a/src/main/java/us/kbase/typedobj/db/ModuleDefId.java b/service/src/main/java/us/kbase/typedobj/db/ModuleDefId.java similarity index 100% rename from src/main/java/us/kbase/typedobj/db/ModuleDefId.java rename to service/src/main/java/us/kbase/typedobj/db/ModuleDefId.java diff --git a/src/main/java/us/kbase/typedobj/db/ModuleInfo.java b/service/src/main/java/us/kbase/typedobj/db/ModuleInfo.java similarity index 100% rename from src/main/java/us/kbase/typedobj/db/ModuleInfo.java rename to service/src/main/java/us/kbase/typedobj/db/ModuleInfo.java diff --git a/src/main/java/us/kbase/typedobj/db/MongoTypeStorage.java b/service/src/main/java/us/kbase/typedobj/db/MongoTypeStorage.java similarity index 100% rename from src/main/java/us/kbase/typedobj/db/MongoTypeStorage.java rename to service/src/main/java/us/kbase/typedobj/db/MongoTypeStorage.java diff --git a/src/main/java/us/kbase/typedobj/db/OwnerInfo.java b/service/src/main/java/us/kbase/typedobj/db/OwnerInfo.java similarity index 100% rename from src/main/java/us/kbase/typedobj/db/OwnerInfo.java rename to service/src/main/java/us/kbase/typedobj/db/OwnerInfo.java diff --git a/src/main/java/us/kbase/typedobj/db/RefInfo.java b/service/src/main/java/us/kbase/typedobj/db/RefInfo.java similarity index 100% rename from src/main/java/us/kbase/typedobj/db/RefInfo.java rename to service/src/main/java/us/kbase/typedobj/db/RefInfo.java diff --git a/src/main/java/us/kbase/typedobj/db/SemanticVersion.java b/service/src/main/java/us/kbase/typedobj/db/SemanticVersion.java similarity index 100% rename from src/main/java/us/kbase/typedobj/db/SemanticVersion.java rename to service/src/main/java/us/kbase/typedobj/db/SemanticVersion.java diff --git a/src/main/java/us/kbase/typedobj/db/TypeChange.java b/service/src/main/java/us/kbase/typedobj/db/TypeChange.java similarity index 100% rename from src/main/java/us/kbase/typedobj/db/TypeChange.java rename to service/src/main/java/us/kbase/typedobj/db/TypeChange.java diff --git a/src/main/java/us/kbase/typedobj/db/TypeDefinitionDB.java b/service/src/main/java/us/kbase/typedobj/db/TypeDefinitionDB.java similarity index 100% rename from src/main/java/us/kbase/typedobj/db/TypeDefinitionDB.java rename to service/src/main/java/us/kbase/typedobj/db/TypeDefinitionDB.java diff --git a/src/main/java/us/kbase/typedobj/db/TypeDetailedInfo.java b/service/src/main/java/us/kbase/typedobj/db/TypeDetailedInfo.java similarity index 100% rename from src/main/java/us/kbase/typedobj/db/TypeDetailedInfo.java rename to service/src/main/java/us/kbase/typedobj/db/TypeDetailedInfo.java diff --git a/src/main/java/us/kbase/typedobj/db/TypeInfo.java b/service/src/main/java/us/kbase/typedobj/db/TypeInfo.java similarity index 100% rename from src/main/java/us/kbase/typedobj/db/TypeInfo.java rename to service/src/main/java/us/kbase/typedobj/db/TypeInfo.java diff --git a/src/main/java/us/kbase/typedobj/db/TypeStorage.java b/service/src/main/java/us/kbase/typedobj/db/TypeStorage.java similarity index 100% rename from src/main/java/us/kbase/typedobj/db/TypeStorage.java rename to service/src/main/java/us/kbase/typedobj/db/TypeStorage.java diff --git a/src/main/java/us/kbase/typedobj/exceptions/ExceededMaxMetadataSizeException.java b/service/src/main/java/us/kbase/typedobj/exceptions/ExceededMaxMetadataSizeException.java similarity index 100% rename from src/main/java/us/kbase/typedobj/exceptions/ExceededMaxMetadataSizeException.java rename to service/src/main/java/us/kbase/typedobj/exceptions/ExceededMaxMetadataSizeException.java diff --git a/src/main/java/us/kbase/typedobj/exceptions/ExceededMaxSubsetSizeException.java b/service/src/main/java/us/kbase/typedobj/exceptions/ExceededMaxSubsetSizeException.java similarity index 100% rename from src/main/java/us/kbase/typedobj/exceptions/ExceededMaxSubsetSizeException.java rename to service/src/main/java/us/kbase/typedobj/exceptions/ExceededMaxSubsetSizeException.java diff --git a/src/main/java/us/kbase/typedobj/exceptions/NoSuchFuncException.java b/service/src/main/java/us/kbase/typedobj/exceptions/NoSuchFuncException.java similarity index 100% rename from src/main/java/us/kbase/typedobj/exceptions/NoSuchFuncException.java rename to service/src/main/java/us/kbase/typedobj/exceptions/NoSuchFuncException.java diff --git a/src/main/java/us/kbase/typedobj/exceptions/NoSuchModuleException.java b/service/src/main/java/us/kbase/typedobj/exceptions/NoSuchModuleException.java similarity index 100% rename from src/main/java/us/kbase/typedobj/exceptions/NoSuchModuleException.java rename to service/src/main/java/us/kbase/typedobj/exceptions/NoSuchModuleException.java diff --git a/src/main/java/us/kbase/typedobj/exceptions/NoSuchPrivilegeException.java b/service/src/main/java/us/kbase/typedobj/exceptions/NoSuchPrivilegeException.java similarity index 100% rename from src/main/java/us/kbase/typedobj/exceptions/NoSuchPrivilegeException.java rename to service/src/main/java/us/kbase/typedobj/exceptions/NoSuchPrivilegeException.java diff --git a/src/main/java/us/kbase/typedobj/exceptions/NoSuchTypeException.java b/service/src/main/java/us/kbase/typedobj/exceptions/NoSuchTypeException.java similarity index 100% rename from src/main/java/us/kbase/typedobj/exceptions/NoSuchTypeException.java rename to service/src/main/java/us/kbase/typedobj/exceptions/NoSuchTypeException.java diff --git a/src/main/java/us/kbase/typedobj/exceptions/SpecParseException.java b/service/src/main/java/us/kbase/typedobj/exceptions/SpecParseException.java similarity index 100% rename from src/main/java/us/kbase/typedobj/exceptions/SpecParseException.java rename to service/src/main/java/us/kbase/typedobj/exceptions/SpecParseException.java diff --git a/src/main/java/us/kbase/typedobj/exceptions/TypeStorageException.java b/service/src/main/java/us/kbase/typedobj/exceptions/TypeStorageException.java similarity index 100% rename from src/main/java/us/kbase/typedobj/exceptions/TypeStorageException.java rename to service/src/main/java/us/kbase/typedobj/exceptions/TypeStorageException.java diff --git a/src/main/java/us/kbase/typedobj/exceptions/TypedObjectException.java b/service/src/main/java/us/kbase/typedobj/exceptions/TypedObjectException.java similarity index 100% rename from src/main/java/us/kbase/typedobj/exceptions/TypedObjectException.java rename to service/src/main/java/us/kbase/typedobj/exceptions/TypedObjectException.java diff --git a/src/main/java/us/kbase/typedobj/exceptions/TypedObjectExtractionException.java b/service/src/main/java/us/kbase/typedobj/exceptions/TypedObjectExtractionException.java similarity index 100% rename from src/main/java/us/kbase/typedobj/exceptions/TypedObjectExtractionException.java rename to service/src/main/java/us/kbase/typedobj/exceptions/TypedObjectExtractionException.java diff --git a/src/main/java/us/kbase/typedobj/exceptions/TypedObjectSchemaException.java b/service/src/main/java/us/kbase/typedobj/exceptions/TypedObjectSchemaException.java similarity index 100% rename from src/main/java/us/kbase/typedobj/exceptions/TypedObjectSchemaException.java rename to service/src/main/java/us/kbase/typedobj/exceptions/TypedObjectSchemaException.java diff --git a/src/main/java/us/kbase/typedobj/exceptions/TypedObjectValidationException.java b/service/src/main/java/us/kbase/typedobj/exceptions/TypedObjectValidationException.java similarity index 100% rename from src/main/java/us/kbase/typedobj/exceptions/TypedObjectValidationException.java rename to service/src/main/java/us/kbase/typedobj/exceptions/TypedObjectValidationException.java diff --git a/src/main/java/us/kbase/typedobj/idref/DefaultRemappedId.java b/service/src/main/java/us/kbase/typedobj/idref/DefaultRemappedId.java similarity index 100% rename from src/main/java/us/kbase/typedobj/idref/DefaultRemappedId.java rename to service/src/main/java/us/kbase/typedobj/idref/DefaultRemappedId.java diff --git a/src/main/java/us/kbase/typedobj/idref/IdReference.java b/service/src/main/java/us/kbase/typedobj/idref/IdReference.java similarity index 100% rename from src/main/java/us/kbase/typedobj/idref/IdReference.java rename to service/src/main/java/us/kbase/typedobj/idref/IdReference.java diff --git a/src/main/java/us/kbase/typedobj/idref/IdReferenceHandlerSet.java b/service/src/main/java/us/kbase/typedobj/idref/IdReferenceHandlerSet.java similarity index 100% rename from src/main/java/us/kbase/typedobj/idref/IdReferenceHandlerSet.java rename to service/src/main/java/us/kbase/typedobj/idref/IdReferenceHandlerSet.java diff --git a/src/main/java/us/kbase/typedobj/idref/IdReferenceHandlerSetFactory.java b/service/src/main/java/us/kbase/typedobj/idref/IdReferenceHandlerSetFactory.java similarity index 100% rename from src/main/java/us/kbase/typedobj/idref/IdReferenceHandlerSetFactory.java rename to service/src/main/java/us/kbase/typedobj/idref/IdReferenceHandlerSetFactory.java diff --git a/src/main/java/us/kbase/typedobj/idref/IdReferenceHandlerSetFactoryBuilder.java b/service/src/main/java/us/kbase/typedobj/idref/IdReferenceHandlerSetFactoryBuilder.java similarity index 100% rename from src/main/java/us/kbase/typedobj/idref/IdReferenceHandlerSetFactoryBuilder.java rename to service/src/main/java/us/kbase/typedobj/idref/IdReferenceHandlerSetFactoryBuilder.java diff --git a/src/main/java/us/kbase/typedobj/idref/IdReferencePermissionHandlerSet.java b/service/src/main/java/us/kbase/typedobj/idref/IdReferencePermissionHandlerSet.java similarity index 100% rename from src/main/java/us/kbase/typedobj/idref/IdReferencePermissionHandlerSet.java rename to service/src/main/java/us/kbase/typedobj/idref/IdReferencePermissionHandlerSet.java diff --git a/src/main/java/us/kbase/typedobj/idref/IdReferenceType.java b/service/src/main/java/us/kbase/typedobj/idref/IdReferenceType.java similarity index 100% rename from src/main/java/us/kbase/typedobj/idref/IdReferenceType.java rename to service/src/main/java/us/kbase/typedobj/idref/IdReferenceType.java diff --git a/src/main/java/us/kbase/typedobj/idref/NoSuchIdReferenceHandlerException.java b/service/src/main/java/us/kbase/typedobj/idref/NoSuchIdReferenceHandlerException.java similarity index 100% rename from src/main/java/us/kbase/typedobj/idref/NoSuchIdReferenceHandlerException.java rename to service/src/main/java/us/kbase/typedobj/idref/NoSuchIdReferenceHandlerException.java diff --git a/src/main/java/us/kbase/typedobj/idref/RemappedId.java b/service/src/main/java/us/kbase/typedobj/idref/RemappedId.java similarity index 100% rename from src/main/java/us/kbase/typedobj/idref/RemappedId.java rename to service/src/main/java/us/kbase/typedobj/idref/RemappedId.java diff --git a/src/main/java/us/kbase/typedobj/idref/SimpleRemappedId.java b/service/src/main/java/us/kbase/typedobj/idref/SimpleRemappedId.java similarity index 100% rename from src/main/java/us/kbase/typedobj/idref/SimpleRemappedId.java rename to service/src/main/java/us/kbase/typedobj/idref/SimpleRemappedId.java diff --git a/src/main/java/us/kbase/workspace/AlterAdminObjectMetadataParams.java b/service/src/main/java/us/kbase/workspace/AlterAdminObjectMetadataParams.java similarity index 100% rename from src/main/java/us/kbase/workspace/AlterAdminObjectMetadataParams.java rename to service/src/main/java/us/kbase/workspace/AlterAdminObjectMetadataParams.java diff --git a/src/main/java/us/kbase/workspace/AlterWorkspaceMetadataParams.java b/service/src/main/java/us/kbase/workspace/AlterWorkspaceMetadataParams.java similarity index 100% rename from src/main/java/us/kbase/workspace/AlterWorkspaceMetadataParams.java rename to service/src/main/java/us/kbase/workspace/AlterWorkspaceMetadataParams.java diff --git a/src/main/java/us/kbase/workspace/CloneWorkspaceParams.java b/service/src/main/java/us/kbase/workspace/CloneWorkspaceParams.java similarity index 100% rename from src/main/java/us/kbase/workspace/CloneWorkspaceParams.java rename to service/src/main/java/us/kbase/workspace/CloneWorkspaceParams.java diff --git a/src/main/java/us/kbase/workspace/CopyObjectParams.java b/service/src/main/java/us/kbase/workspace/CopyObjectParams.java similarity index 100% rename from src/main/java/us/kbase/workspace/CopyObjectParams.java rename to service/src/main/java/us/kbase/workspace/CopyObjectParams.java diff --git a/src/main/java/us/kbase/workspace/CreateWorkspaceParams.java b/service/src/main/java/us/kbase/workspace/CreateWorkspaceParams.java similarity index 100% rename from src/main/java/us/kbase/workspace/CreateWorkspaceParams.java rename to service/src/main/java/us/kbase/workspace/CreateWorkspaceParams.java diff --git a/src/main/java/us/kbase/workspace/ExternalDataUnit.java b/service/src/main/java/us/kbase/workspace/ExternalDataUnit.java similarity index 100% rename from src/main/java/us/kbase/workspace/ExternalDataUnit.java rename to service/src/main/java/us/kbase/workspace/ExternalDataUnit.java diff --git a/src/main/java/us/kbase/workspace/FuncInfo.java b/service/src/main/java/us/kbase/workspace/FuncInfo.java similarity index 100% rename from src/main/java/us/kbase/workspace/FuncInfo.java rename to service/src/main/java/us/kbase/workspace/FuncInfo.java diff --git a/src/main/java/us/kbase/workspace/GetAdminRoleResults.java b/service/src/main/java/us/kbase/workspace/GetAdminRoleResults.java similarity index 100% rename from src/main/java/us/kbase/workspace/GetAdminRoleResults.java rename to service/src/main/java/us/kbase/workspace/GetAdminRoleResults.java diff --git a/src/main/java/us/kbase/workspace/GetModuleInfoParams.java b/service/src/main/java/us/kbase/workspace/GetModuleInfoParams.java similarity index 100% rename from src/main/java/us/kbase/workspace/GetModuleInfoParams.java rename to service/src/main/java/us/kbase/workspace/GetModuleInfoParams.java diff --git a/src/main/java/us/kbase/workspace/GetNamesByPrefixParams.java b/service/src/main/java/us/kbase/workspace/GetNamesByPrefixParams.java similarity index 100% rename from src/main/java/us/kbase/workspace/GetNamesByPrefixParams.java rename to service/src/main/java/us/kbase/workspace/GetNamesByPrefixParams.java diff --git a/src/main/java/us/kbase/workspace/GetNamesByPrefixResults.java b/service/src/main/java/us/kbase/workspace/GetNamesByPrefixResults.java similarity index 100% rename from src/main/java/us/kbase/workspace/GetNamesByPrefixResults.java rename to service/src/main/java/us/kbase/workspace/GetNamesByPrefixResults.java diff --git a/src/main/java/us/kbase/workspace/GetObjectInfo3Params.java b/service/src/main/java/us/kbase/workspace/GetObjectInfo3Params.java similarity index 100% rename from src/main/java/us/kbase/workspace/GetObjectInfo3Params.java rename to service/src/main/java/us/kbase/workspace/GetObjectInfo3Params.java diff --git a/src/main/java/us/kbase/workspace/GetObjectInfo3Results.java b/service/src/main/java/us/kbase/workspace/GetObjectInfo3Results.java similarity index 100% rename from src/main/java/us/kbase/workspace/GetObjectInfo3Results.java rename to service/src/main/java/us/kbase/workspace/GetObjectInfo3Results.java diff --git a/src/main/java/us/kbase/workspace/GetObjectInfoNewParams.java b/service/src/main/java/us/kbase/workspace/GetObjectInfoNewParams.java similarity index 100% rename from src/main/java/us/kbase/workspace/GetObjectInfoNewParams.java rename to service/src/main/java/us/kbase/workspace/GetObjectInfoNewParams.java diff --git a/src/main/java/us/kbase/workspace/GetObjectOutput.java b/service/src/main/java/us/kbase/workspace/GetObjectOutput.java similarity index 100% rename from src/main/java/us/kbase/workspace/GetObjectOutput.java rename to service/src/main/java/us/kbase/workspace/GetObjectOutput.java diff --git a/src/main/java/us/kbase/workspace/GetObjectParams.java b/service/src/main/java/us/kbase/workspace/GetObjectParams.java similarity index 100% rename from src/main/java/us/kbase/workspace/GetObjectParams.java rename to service/src/main/java/us/kbase/workspace/GetObjectParams.java diff --git a/src/main/java/us/kbase/workspace/GetObjectmetaParams.java b/service/src/main/java/us/kbase/workspace/GetObjectmetaParams.java similarity index 100% rename from src/main/java/us/kbase/workspace/GetObjectmetaParams.java rename to service/src/main/java/us/kbase/workspace/GetObjectmetaParams.java diff --git a/src/main/java/us/kbase/workspace/GetObjects2Params.java b/service/src/main/java/us/kbase/workspace/GetObjects2Params.java similarity index 100% rename from src/main/java/us/kbase/workspace/GetObjects2Params.java rename to service/src/main/java/us/kbase/workspace/GetObjects2Params.java diff --git a/src/main/java/us/kbase/workspace/GetObjects2Results.java b/service/src/main/java/us/kbase/workspace/GetObjects2Results.java similarity index 100% rename from src/main/java/us/kbase/workspace/GetObjects2Results.java rename to service/src/main/java/us/kbase/workspace/GetObjects2Results.java diff --git a/src/main/java/us/kbase/workspace/GetPermissionsMassParams.java b/service/src/main/java/us/kbase/workspace/GetPermissionsMassParams.java similarity index 100% rename from src/main/java/us/kbase/workspace/GetPermissionsMassParams.java rename to service/src/main/java/us/kbase/workspace/GetPermissionsMassParams.java diff --git a/src/main/java/us/kbase/workspace/GetWorkspacemetaParams.java b/service/src/main/java/us/kbase/workspace/GetWorkspacemetaParams.java similarity index 100% rename from src/main/java/us/kbase/workspace/GetWorkspacemetaParams.java rename to service/src/main/java/us/kbase/workspace/GetWorkspacemetaParams.java diff --git a/src/main/java/us/kbase/workspace/GrantModuleOwnershipParams.java b/service/src/main/java/us/kbase/workspace/GrantModuleOwnershipParams.java similarity index 100% rename from src/main/java/us/kbase/workspace/GrantModuleOwnershipParams.java rename to service/src/main/java/us/kbase/workspace/GrantModuleOwnershipParams.java diff --git a/src/main/java/us/kbase/workspace/ListAllTypesParams.java b/service/src/main/java/us/kbase/workspace/ListAllTypesParams.java similarity index 100% rename from src/main/java/us/kbase/workspace/ListAllTypesParams.java rename to service/src/main/java/us/kbase/workspace/ListAllTypesParams.java diff --git a/src/main/java/us/kbase/workspace/ListModuleVersionsParams.java b/service/src/main/java/us/kbase/workspace/ListModuleVersionsParams.java similarity index 100% rename from src/main/java/us/kbase/workspace/ListModuleVersionsParams.java rename to service/src/main/java/us/kbase/workspace/ListModuleVersionsParams.java diff --git a/src/main/java/us/kbase/workspace/ListModulesParams.java b/service/src/main/java/us/kbase/workspace/ListModulesParams.java similarity index 100% rename from src/main/java/us/kbase/workspace/ListModulesParams.java rename to service/src/main/java/us/kbase/workspace/ListModulesParams.java diff --git a/src/main/java/us/kbase/workspace/ListObjectsParams.java b/service/src/main/java/us/kbase/workspace/ListObjectsParams.java similarity index 100% rename from src/main/java/us/kbase/workspace/ListObjectsParams.java rename to service/src/main/java/us/kbase/workspace/ListObjectsParams.java diff --git a/src/main/java/us/kbase/workspace/ListWorkspaceIDsParams.java b/service/src/main/java/us/kbase/workspace/ListWorkspaceIDsParams.java similarity index 100% rename from src/main/java/us/kbase/workspace/ListWorkspaceIDsParams.java rename to service/src/main/java/us/kbase/workspace/ListWorkspaceIDsParams.java diff --git a/src/main/java/us/kbase/workspace/ListWorkspaceIDsResults.java b/service/src/main/java/us/kbase/workspace/ListWorkspaceIDsResults.java similarity index 100% rename from src/main/java/us/kbase/workspace/ListWorkspaceIDsResults.java rename to service/src/main/java/us/kbase/workspace/ListWorkspaceIDsResults.java diff --git a/src/main/java/us/kbase/workspace/ListWorkspaceInfoParams.java b/service/src/main/java/us/kbase/workspace/ListWorkspaceInfoParams.java similarity index 100% rename from src/main/java/us/kbase/workspace/ListWorkspaceInfoParams.java rename to service/src/main/java/us/kbase/workspace/ListWorkspaceInfoParams.java diff --git a/src/main/java/us/kbase/workspace/ListWorkspaceObjectsParams.java b/service/src/main/java/us/kbase/workspace/ListWorkspaceObjectsParams.java similarity index 100% rename from src/main/java/us/kbase/workspace/ListWorkspaceObjectsParams.java rename to service/src/main/java/us/kbase/workspace/ListWorkspaceObjectsParams.java diff --git a/src/main/java/us/kbase/workspace/ListWorkspacesParams.java b/service/src/main/java/us/kbase/workspace/ListWorkspacesParams.java similarity index 100% rename from src/main/java/us/kbase/workspace/ListWorkspacesParams.java rename to service/src/main/java/us/kbase/workspace/ListWorkspacesParams.java diff --git a/src/main/java/us/kbase/workspace/ModuleInfo.java b/service/src/main/java/us/kbase/workspace/ModuleInfo.java similarity index 100% rename from src/main/java/us/kbase/workspace/ModuleInfo.java rename to service/src/main/java/us/kbase/workspace/ModuleInfo.java diff --git a/src/main/java/us/kbase/workspace/ModuleVersions.java b/service/src/main/java/us/kbase/workspace/ModuleVersions.java similarity index 100% rename from src/main/java/us/kbase/workspace/ModuleVersions.java rename to service/src/main/java/us/kbase/workspace/ModuleVersions.java diff --git a/src/main/java/us/kbase/workspace/ObjectData.java b/service/src/main/java/us/kbase/workspace/ObjectData.java similarity index 100% rename from src/main/java/us/kbase/workspace/ObjectData.java rename to service/src/main/java/us/kbase/workspace/ObjectData.java diff --git a/src/main/java/us/kbase/workspace/ObjectIdentity.java b/service/src/main/java/us/kbase/workspace/ObjectIdentity.java similarity index 100% rename from src/main/java/us/kbase/workspace/ObjectIdentity.java rename to service/src/main/java/us/kbase/workspace/ObjectIdentity.java diff --git a/src/main/java/us/kbase/workspace/ObjectInfo.java b/service/src/main/java/us/kbase/workspace/ObjectInfo.java similarity index 100% rename from src/main/java/us/kbase/workspace/ObjectInfo.java rename to service/src/main/java/us/kbase/workspace/ObjectInfo.java diff --git a/src/main/java/us/kbase/workspace/ObjectMetadataUpdate.java b/service/src/main/java/us/kbase/workspace/ObjectMetadataUpdate.java similarity index 100% rename from src/main/java/us/kbase/workspace/ObjectMetadataUpdate.java rename to service/src/main/java/us/kbase/workspace/ObjectMetadataUpdate.java diff --git a/src/main/java/us/kbase/workspace/ObjectProvenanceInfo.java b/service/src/main/java/us/kbase/workspace/ObjectProvenanceInfo.java similarity index 100% rename from src/main/java/us/kbase/workspace/ObjectProvenanceInfo.java rename to service/src/main/java/us/kbase/workspace/ObjectProvenanceInfo.java diff --git a/src/main/java/us/kbase/workspace/ObjectSaveData.java b/service/src/main/java/us/kbase/workspace/ObjectSaveData.java similarity index 100% rename from src/main/java/us/kbase/workspace/ObjectSaveData.java rename to service/src/main/java/us/kbase/workspace/ObjectSaveData.java diff --git a/src/main/java/us/kbase/workspace/ObjectSpecification.java b/service/src/main/java/us/kbase/workspace/ObjectSpecification.java similarity index 100% rename from src/main/java/us/kbase/workspace/ObjectSpecification.java rename to service/src/main/java/us/kbase/workspace/ObjectSpecification.java diff --git a/src/main/java/us/kbase/workspace/ProvenanceAction.java b/service/src/main/java/us/kbase/workspace/ProvenanceAction.java similarity index 100% rename from src/main/java/us/kbase/workspace/ProvenanceAction.java rename to service/src/main/java/us/kbase/workspace/ProvenanceAction.java diff --git a/src/main/java/us/kbase/workspace/RegisterTypespecCopyParams.java b/service/src/main/java/us/kbase/workspace/RegisterTypespecCopyParams.java similarity index 100% rename from src/main/java/us/kbase/workspace/RegisterTypespecCopyParams.java rename to service/src/main/java/us/kbase/workspace/RegisterTypespecCopyParams.java diff --git a/src/main/java/us/kbase/workspace/RegisterTypespecParams.java b/service/src/main/java/us/kbase/workspace/RegisterTypespecParams.java similarity index 100% rename from src/main/java/us/kbase/workspace/RegisterTypespecParams.java rename to service/src/main/java/us/kbase/workspace/RegisterTypespecParams.java diff --git a/src/main/java/us/kbase/workspace/RemoveModuleOwnershipParams.java b/service/src/main/java/us/kbase/workspace/RemoveModuleOwnershipParams.java similarity index 100% rename from src/main/java/us/kbase/workspace/RemoveModuleOwnershipParams.java rename to service/src/main/java/us/kbase/workspace/RemoveModuleOwnershipParams.java diff --git a/src/main/java/us/kbase/workspace/RenameObjectParams.java b/service/src/main/java/us/kbase/workspace/RenameObjectParams.java similarity index 100% rename from src/main/java/us/kbase/workspace/RenameObjectParams.java rename to service/src/main/java/us/kbase/workspace/RenameObjectParams.java diff --git a/src/main/java/us/kbase/workspace/RenameWorkspaceParams.java b/service/src/main/java/us/kbase/workspace/RenameWorkspaceParams.java similarity index 100% rename from src/main/java/us/kbase/workspace/RenameWorkspaceParams.java rename to service/src/main/java/us/kbase/workspace/RenameWorkspaceParams.java diff --git a/src/main/java/us/kbase/workspace/SaveObjectParams.java b/service/src/main/java/us/kbase/workspace/SaveObjectParams.java similarity index 100% rename from src/main/java/us/kbase/workspace/SaveObjectParams.java rename to service/src/main/java/us/kbase/workspace/SaveObjectParams.java diff --git a/src/main/java/us/kbase/workspace/SaveObjectsParams.java b/service/src/main/java/us/kbase/workspace/SaveObjectsParams.java similarity index 100% rename from src/main/java/us/kbase/workspace/SaveObjectsParams.java rename to service/src/main/java/us/kbase/workspace/SaveObjectsParams.java diff --git a/src/main/java/us/kbase/workspace/SetGlobalPermissionsParams.java b/service/src/main/java/us/kbase/workspace/SetGlobalPermissionsParams.java similarity index 100% rename from src/main/java/us/kbase/workspace/SetGlobalPermissionsParams.java rename to service/src/main/java/us/kbase/workspace/SetGlobalPermissionsParams.java diff --git a/src/main/java/us/kbase/workspace/SetPermissionsParams.java b/service/src/main/java/us/kbase/workspace/SetPermissionsParams.java similarity index 100% rename from src/main/java/us/kbase/workspace/SetPermissionsParams.java rename to service/src/main/java/us/kbase/workspace/SetPermissionsParams.java diff --git a/src/main/java/us/kbase/workspace/SetWorkspaceDescriptionParams.java b/service/src/main/java/us/kbase/workspace/SetWorkspaceDescriptionParams.java similarity index 100% rename from src/main/java/us/kbase/workspace/SetWorkspaceDescriptionParams.java rename to service/src/main/java/us/kbase/workspace/SetWorkspaceDescriptionParams.java diff --git a/src/main/java/us/kbase/workspace/SubAction.java b/service/src/main/java/us/kbase/workspace/SubAction.java similarity index 100% rename from src/main/java/us/kbase/workspace/SubAction.java rename to service/src/main/java/us/kbase/workspace/SubAction.java diff --git a/src/main/java/us/kbase/workspace/SubObjectIdentity.java b/service/src/main/java/us/kbase/workspace/SubObjectIdentity.java similarity index 100% rename from src/main/java/us/kbase/workspace/SubObjectIdentity.java rename to service/src/main/java/us/kbase/workspace/SubObjectIdentity.java diff --git a/src/main/java/us/kbase/workspace/TypeInfo.java b/service/src/main/java/us/kbase/workspace/TypeInfo.java similarity index 100% rename from src/main/java/us/kbase/workspace/TypeInfo.java rename to service/src/main/java/us/kbase/workspace/TypeInfo.java diff --git a/src/main/java/us/kbase/workspace/WorkspaceClient.java b/service/src/main/java/us/kbase/workspace/WorkspaceClient.java similarity index 100% rename from src/main/java/us/kbase/workspace/WorkspaceClient.java rename to service/src/main/java/us/kbase/workspace/WorkspaceClient.java diff --git a/src/main/java/us/kbase/workspace/WorkspaceIdentity.java b/service/src/main/java/us/kbase/workspace/WorkspaceIdentity.java similarity index 100% rename from src/main/java/us/kbase/workspace/WorkspaceIdentity.java rename to service/src/main/java/us/kbase/workspace/WorkspaceIdentity.java diff --git a/src/main/java/us/kbase/workspace/WorkspacePermissions.java b/service/src/main/java/us/kbase/workspace/WorkspacePermissions.java similarity index 100% rename from src/main/java/us/kbase/workspace/WorkspacePermissions.java rename to service/src/main/java/us/kbase/workspace/WorkspacePermissions.java diff --git a/src/main/java/us/kbase/workspace/WorkspaceServer.java b/service/src/main/java/us/kbase/workspace/WorkspaceServer.java similarity index 100% rename from src/main/java/us/kbase/workspace/WorkspaceServer.java rename to service/src/main/java/us/kbase/workspace/WorkspaceServer.java diff --git a/src/main/java/us/kbase/workspace/database/AllUsers.java b/service/src/main/java/us/kbase/workspace/database/AllUsers.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/AllUsers.java rename to service/src/main/java/us/kbase/workspace/database/AllUsers.java diff --git a/src/main/java/us/kbase/workspace/database/ByteArrayFileCacheManager.java b/service/src/main/java/us/kbase/workspace/database/ByteArrayFileCacheManager.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/ByteArrayFileCacheManager.java rename to service/src/main/java/us/kbase/workspace/database/ByteArrayFileCacheManager.java diff --git a/src/main/java/us/kbase/workspace/database/CopyResult.java b/service/src/main/java/us/kbase/workspace/database/CopyResult.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/CopyResult.java rename to service/src/main/java/us/kbase/workspace/database/CopyResult.java diff --git a/src/main/java/us/kbase/workspace/database/DependencyStatus.java b/service/src/main/java/us/kbase/workspace/database/DependencyStatus.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/DependencyStatus.java rename to service/src/main/java/us/kbase/workspace/database/DependencyStatus.java diff --git a/src/main/java/us/kbase/workspace/database/DynamicConfig.java b/service/src/main/java/us/kbase/workspace/database/DynamicConfig.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/DynamicConfig.java rename to service/src/main/java/us/kbase/workspace/database/DynamicConfig.java diff --git a/src/main/java/us/kbase/workspace/database/ListObjectsParameters.java b/service/src/main/java/us/kbase/workspace/database/ListObjectsParameters.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/ListObjectsParameters.java rename to service/src/main/java/us/kbase/workspace/database/ListObjectsParameters.java diff --git a/src/main/java/us/kbase/workspace/database/MetadataUpdate.java b/service/src/main/java/us/kbase/workspace/database/MetadataUpdate.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/MetadataUpdate.java rename to service/src/main/java/us/kbase/workspace/database/MetadataUpdate.java diff --git a/src/main/java/us/kbase/workspace/database/ModuleInfo.java b/service/src/main/java/us/kbase/workspace/database/ModuleInfo.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/ModuleInfo.java rename to service/src/main/java/us/kbase/workspace/database/ModuleInfo.java diff --git a/src/main/java/us/kbase/workspace/database/ObjectIDNoWSNoVer.java b/service/src/main/java/us/kbase/workspace/database/ObjectIDNoWSNoVer.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/ObjectIDNoWSNoVer.java rename to service/src/main/java/us/kbase/workspace/database/ObjectIDNoWSNoVer.java diff --git a/src/main/java/us/kbase/workspace/database/ObjectIDResolvedWS.java b/service/src/main/java/us/kbase/workspace/database/ObjectIDResolvedWS.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/ObjectIDResolvedWS.java rename to service/src/main/java/us/kbase/workspace/database/ObjectIDResolvedWS.java diff --git a/src/main/java/us/kbase/workspace/database/ObjectIdentifier.java b/service/src/main/java/us/kbase/workspace/database/ObjectIdentifier.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/ObjectIdentifier.java rename to service/src/main/java/us/kbase/workspace/database/ObjectIdentifier.java diff --git a/src/main/java/us/kbase/workspace/database/ObjectInfoWithModDate.java b/service/src/main/java/us/kbase/workspace/database/ObjectInfoWithModDate.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/ObjectInfoWithModDate.java rename to service/src/main/java/us/kbase/workspace/database/ObjectInfoWithModDate.java diff --git a/src/main/java/us/kbase/workspace/database/ObjectInformation.java b/service/src/main/java/us/kbase/workspace/database/ObjectInformation.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/ObjectInformation.java rename to service/src/main/java/us/kbase/workspace/database/ObjectInformation.java diff --git a/src/main/java/us/kbase/workspace/database/ObjectReferenceSet.java b/service/src/main/java/us/kbase/workspace/database/ObjectReferenceSet.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/ObjectReferenceSet.java rename to service/src/main/java/us/kbase/workspace/database/ObjectReferenceSet.java diff --git a/src/main/java/us/kbase/workspace/database/ObjectResolver.java b/service/src/main/java/us/kbase/workspace/database/ObjectResolver.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/ObjectResolver.java rename to service/src/main/java/us/kbase/workspace/database/ObjectResolver.java diff --git a/src/main/java/us/kbase/workspace/database/Permission.java b/service/src/main/java/us/kbase/workspace/database/Permission.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/Permission.java rename to service/src/main/java/us/kbase/workspace/database/Permission.java diff --git a/src/main/java/us/kbase/workspace/database/PermissionSet.java b/service/src/main/java/us/kbase/workspace/database/PermissionSet.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/PermissionSet.java rename to service/src/main/java/us/kbase/workspace/database/PermissionSet.java diff --git a/src/main/java/us/kbase/workspace/database/PermissionsCheckerFactory.java b/service/src/main/java/us/kbase/workspace/database/PermissionsCheckerFactory.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/PermissionsCheckerFactory.java rename to service/src/main/java/us/kbase/workspace/database/PermissionsCheckerFactory.java diff --git a/src/main/java/us/kbase/workspace/database/RefLimit.java b/service/src/main/java/us/kbase/workspace/database/RefLimit.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/RefLimit.java rename to service/src/main/java/us/kbase/workspace/database/RefLimit.java diff --git a/src/main/java/us/kbase/workspace/database/Reference.java b/service/src/main/java/us/kbase/workspace/database/Reference.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/Reference.java rename to service/src/main/java/us/kbase/workspace/database/Reference.java diff --git a/src/main/java/us/kbase/workspace/database/ResolvedObjectID.java b/service/src/main/java/us/kbase/workspace/database/ResolvedObjectID.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/ResolvedObjectID.java rename to service/src/main/java/us/kbase/workspace/database/ResolvedObjectID.java diff --git a/src/main/java/us/kbase/workspace/database/ResolvedObjectIDNoVer.java b/service/src/main/java/us/kbase/workspace/database/ResolvedObjectIDNoVer.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/ResolvedObjectIDNoVer.java rename to service/src/main/java/us/kbase/workspace/database/ResolvedObjectIDNoVer.java diff --git a/src/main/java/us/kbase/workspace/database/ResolvedSaveObject.java b/service/src/main/java/us/kbase/workspace/database/ResolvedSaveObject.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/ResolvedSaveObject.java rename to service/src/main/java/us/kbase/workspace/database/ResolvedSaveObject.java diff --git a/src/main/java/us/kbase/workspace/database/ResolvedWorkspaceID.java b/service/src/main/java/us/kbase/workspace/database/ResolvedWorkspaceID.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/ResolvedWorkspaceID.java rename to service/src/main/java/us/kbase/workspace/database/ResolvedWorkspaceID.java diff --git a/src/main/java/us/kbase/workspace/database/ResourceUsageConfigurationBuilder.java b/service/src/main/java/us/kbase/workspace/database/ResourceUsageConfigurationBuilder.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/ResourceUsageConfigurationBuilder.java rename to service/src/main/java/us/kbase/workspace/database/ResourceUsageConfigurationBuilder.java diff --git a/src/main/java/us/kbase/workspace/database/TypeAndReference.java b/service/src/main/java/us/kbase/workspace/database/TypeAndReference.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/TypeAndReference.java rename to service/src/main/java/us/kbase/workspace/database/TypeAndReference.java diff --git a/src/main/java/us/kbase/workspace/database/Types.java b/service/src/main/java/us/kbase/workspace/database/Types.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/Types.java rename to service/src/main/java/us/kbase/workspace/database/Types.java diff --git a/src/main/java/us/kbase/workspace/database/UncheckedUserMetadata.java b/service/src/main/java/us/kbase/workspace/database/UncheckedUserMetadata.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/UncheckedUserMetadata.java rename to service/src/main/java/us/kbase/workspace/database/UncheckedUserMetadata.java diff --git a/src/main/java/us/kbase/workspace/database/User.java b/service/src/main/java/us/kbase/workspace/database/User.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/User.java rename to service/src/main/java/us/kbase/workspace/database/User.java diff --git a/src/main/java/us/kbase/workspace/database/UserWorkspaceIDs.java b/service/src/main/java/us/kbase/workspace/database/UserWorkspaceIDs.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/UserWorkspaceIDs.java rename to service/src/main/java/us/kbase/workspace/database/UserWorkspaceIDs.java diff --git a/src/main/java/us/kbase/workspace/database/Util.java b/service/src/main/java/us/kbase/workspace/database/Util.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/Util.java rename to service/src/main/java/us/kbase/workspace/database/Util.java diff --git a/src/main/java/us/kbase/workspace/database/Workspace.java b/service/src/main/java/us/kbase/workspace/database/Workspace.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/Workspace.java rename to service/src/main/java/us/kbase/workspace/database/Workspace.java diff --git a/src/main/java/us/kbase/workspace/database/WorkspaceDatabase.java b/service/src/main/java/us/kbase/workspace/database/WorkspaceDatabase.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/WorkspaceDatabase.java rename to service/src/main/java/us/kbase/workspace/database/WorkspaceDatabase.java diff --git a/src/main/java/us/kbase/workspace/database/WorkspaceIdentifier.java b/service/src/main/java/us/kbase/workspace/database/WorkspaceIdentifier.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/WorkspaceIdentifier.java rename to service/src/main/java/us/kbase/workspace/database/WorkspaceIdentifier.java diff --git a/src/main/java/us/kbase/workspace/database/WorkspaceInformation.java b/service/src/main/java/us/kbase/workspace/database/WorkspaceInformation.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/WorkspaceInformation.java rename to service/src/main/java/us/kbase/workspace/database/WorkspaceInformation.java diff --git a/src/main/java/us/kbase/workspace/database/WorkspaceObjectData.java b/service/src/main/java/us/kbase/workspace/database/WorkspaceObjectData.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/WorkspaceObjectData.java rename to service/src/main/java/us/kbase/workspace/database/WorkspaceObjectData.java diff --git a/src/main/java/us/kbase/workspace/database/WorkspaceSaveObject.java b/service/src/main/java/us/kbase/workspace/database/WorkspaceSaveObject.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/WorkspaceSaveObject.java rename to service/src/main/java/us/kbase/workspace/database/WorkspaceSaveObject.java diff --git a/src/main/java/us/kbase/workspace/database/WorkspaceUser.java b/service/src/main/java/us/kbase/workspace/database/WorkspaceUser.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/WorkspaceUser.java rename to service/src/main/java/us/kbase/workspace/database/WorkspaceUser.java diff --git a/src/main/java/us/kbase/workspace/database/WorkspaceUserMetadata.java b/service/src/main/java/us/kbase/workspace/database/WorkspaceUserMetadata.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/WorkspaceUserMetadata.java rename to service/src/main/java/us/kbase/workspace/database/WorkspaceUserMetadata.java diff --git a/src/main/java/us/kbase/workspace/database/exceptions/CorruptWorkspaceDBException.java b/service/src/main/java/us/kbase/workspace/database/exceptions/CorruptWorkspaceDBException.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/exceptions/CorruptWorkspaceDBException.java rename to service/src/main/java/us/kbase/workspace/database/exceptions/CorruptWorkspaceDBException.java diff --git a/src/main/java/us/kbase/workspace/database/exceptions/DeletedObjectException.java b/service/src/main/java/us/kbase/workspace/database/exceptions/DeletedObjectException.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/exceptions/DeletedObjectException.java rename to service/src/main/java/us/kbase/workspace/database/exceptions/DeletedObjectException.java diff --git a/src/main/java/us/kbase/workspace/database/exceptions/ErrorOr.java b/service/src/main/java/us/kbase/workspace/database/exceptions/ErrorOr.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/exceptions/ErrorOr.java rename to service/src/main/java/us/kbase/workspace/database/exceptions/ErrorOr.java diff --git a/src/main/java/us/kbase/workspace/database/exceptions/ErrorType.java b/service/src/main/java/us/kbase/workspace/database/exceptions/ErrorType.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/exceptions/ErrorType.java rename to service/src/main/java/us/kbase/workspace/database/exceptions/ErrorType.java diff --git a/src/main/java/us/kbase/workspace/database/exceptions/InaccessibleObjectException.java b/service/src/main/java/us/kbase/workspace/database/exceptions/InaccessibleObjectException.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/exceptions/InaccessibleObjectException.java rename to service/src/main/java/us/kbase/workspace/database/exceptions/InaccessibleObjectException.java diff --git a/src/main/java/us/kbase/workspace/database/exceptions/NoObjectDataException.java b/service/src/main/java/us/kbase/workspace/database/exceptions/NoObjectDataException.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/exceptions/NoObjectDataException.java rename to service/src/main/java/us/kbase/workspace/database/exceptions/NoObjectDataException.java diff --git a/src/main/java/us/kbase/workspace/database/exceptions/NoSuchObjectException.java b/service/src/main/java/us/kbase/workspace/database/exceptions/NoSuchObjectException.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/exceptions/NoSuchObjectException.java rename to service/src/main/java/us/kbase/workspace/database/exceptions/NoSuchObjectException.java diff --git a/src/main/java/us/kbase/workspace/database/exceptions/NoSuchReferenceException.java b/service/src/main/java/us/kbase/workspace/database/exceptions/NoSuchReferenceException.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/exceptions/NoSuchReferenceException.java rename to service/src/main/java/us/kbase/workspace/database/exceptions/NoSuchReferenceException.java diff --git a/src/main/java/us/kbase/workspace/database/exceptions/NoSuchWorkspaceException.java b/service/src/main/java/us/kbase/workspace/database/exceptions/NoSuchWorkspaceException.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/exceptions/NoSuchWorkspaceException.java rename to service/src/main/java/us/kbase/workspace/database/exceptions/NoSuchWorkspaceException.java diff --git a/src/main/java/us/kbase/workspace/database/exceptions/PreExistingWorkspaceException.java b/service/src/main/java/us/kbase/workspace/database/exceptions/PreExistingWorkspaceException.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/exceptions/PreExistingWorkspaceException.java rename to service/src/main/java/us/kbase/workspace/database/exceptions/PreExistingWorkspaceException.java diff --git a/src/main/java/us/kbase/workspace/database/exceptions/WorkspaceCommunicationException.java b/service/src/main/java/us/kbase/workspace/database/exceptions/WorkspaceCommunicationException.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/exceptions/WorkspaceCommunicationException.java rename to service/src/main/java/us/kbase/workspace/database/exceptions/WorkspaceCommunicationException.java diff --git a/src/main/java/us/kbase/workspace/database/exceptions/WorkspaceDBException.java b/service/src/main/java/us/kbase/workspace/database/exceptions/WorkspaceDBException.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/exceptions/WorkspaceDBException.java rename to service/src/main/java/us/kbase/workspace/database/exceptions/WorkspaceDBException.java diff --git a/src/main/java/us/kbase/workspace/database/exceptions/WorkspaceDBInitializationException.java b/service/src/main/java/us/kbase/workspace/database/exceptions/WorkspaceDBInitializationException.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/exceptions/WorkspaceDBInitializationException.java rename to service/src/main/java/us/kbase/workspace/database/exceptions/WorkspaceDBInitializationException.java diff --git a/src/main/java/us/kbase/workspace/database/mongo/BlobStore.java b/service/src/main/java/us/kbase/workspace/database/mongo/BlobStore.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/mongo/BlobStore.java rename to service/src/main/java/us/kbase/workspace/database/mongo/BlobStore.java diff --git a/src/main/java/us/kbase/workspace/database/mongo/CollectionNames.java b/service/src/main/java/us/kbase/workspace/database/mongo/CollectionNames.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/mongo/CollectionNames.java rename to service/src/main/java/us/kbase/workspace/database/mongo/CollectionNames.java diff --git a/src/main/java/us/kbase/workspace/database/mongo/Fields.java b/service/src/main/java/us/kbase/workspace/database/mongo/Fields.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/mongo/Fields.java rename to service/src/main/java/us/kbase/workspace/database/mongo/Fields.java diff --git a/src/main/java/us/kbase/workspace/database/mongo/GridFSBlobStore.java b/service/src/main/java/us/kbase/workspace/database/mongo/GridFSBlobStore.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/mongo/GridFSBlobStore.java rename to service/src/main/java/us/kbase/workspace/database/mongo/GridFSBlobStore.java diff --git a/src/main/java/us/kbase/workspace/database/mongo/IDName.java b/service/src/main/java/us/kbase/workspace/database/mongo/IDName.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/mongo/IDName.java rename to service/src/main/java/us/kbase/workspace/database/mongo/IDName.java diff --git a/src/main/java/us/kbase/workspace/database/mongo/MongoWorkspaceDB.java b/service/src/main/java/us/kbase/workspace/database/mongo/MongoWorkspaceDB.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/mongo/MongoWorkspaceDB.java rename to service/src/main/java/us/kbase/workspace/database/mongo/MongoWorkspaceDB.java diff --git a/src/main/java/us/kbase/workspace/database/mongo/ObjectIDResolvedWSNoVer.java b/service/src/main/java/us/kbase/workspace/database/mongo/ObjectIDResolvedWSNoVer.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/mongo/ObjectIDResolvedWSNoVer.java rename to service/src/main/java/us/kbase/workspace/database/mongo/ObjectIDResolvedWSNoVer.java diff --git a/src/main/java/us/kbase/workspace/database/mongo/ObjectInfoUtils.java b/service/src/main/java/us/kbase/workspace/database/mongo/ObjectInfoUtils.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/mongo/ObjectInfoUtils.java rename to service/src/main/java/us/kbase/workspace/database/mongo/ObjectInfoUtils.java diff --git a/src/main/java/us/kbase/workspace/database/mongo/ObjectLister.java b/service/src/main/java/us/kbase/workspace/database/mongo/ObjectLister.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/mongo/ObjectLister.java rename to service/src/main/java/us/kbase/workspace/database/mongo/ObjectLister.java diff --git a/src/main/java/us/kbase/workspace/database/mongo/ObjectSavePackage.java b/service/src/main/java/us/kbase/workspace/database/mongo/ObjectSavePackage.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/mongo/ObjectSavePackage.java rename to service/src/main/java/us/kbase/workspace/database/mongo/ObjectSavePackage.java diff --git a/src/main/java/us/kbase/workspace/database/mongo/QueryMethods.java b/service/src/main/java/us/kbase/workspace/database/mongo/QueryMethods.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/mongo/QueryMethods.java rename to service/src/main/java/us/kbase/workspace/database/mongo/QueryMethods.java diff --git a/src/main/java/us/kbase/workspace/database/mongo/S3BlobStore.java b/service/src/main/java/us/kbase/workspace/database/mongo/S3BlobStore.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/mongo/S3BlobStore.java rename to service/src/main/java/us/kbase/workspace/database/mongo/S3BlobStore.java diff --git a/src/main/java/us/kbase/workspace/database/mongo/S3ClientWithPresign.java b/service/src/main/java/us/kbase/workspace/database/mongo/S3ClientWithPresign.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/mongo/S3ClientWithPresign.java rename to service/src/main/java/us/kbase/workspace/database/mongo/S3ClientWithPresign.java diff --git a/src/main/java/us/kbase/workspace/database/mongo/SchemaUpdater.java b/service/src/main/java/us/kbase/workspace/database/mongo/SchemaUpdater.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/mongo/SchemaUpdater.java rename to service/src/main/java/us/kbase/workspace/database/mongo/SchemaUpdater.java diff --git a/src/main/java/us/kbase/workspace/database/mongo/exceptions/BlobStoreAuthorizationException.java b/service/src/main/java/us/kbase/workspace/database/mongo/exceptions/BlobStoreAuthorizationException.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/mongo/exceptions/BlobStoreAuthorizationException.java rename to service/src/main/java/us/kbase/workspace/database/mongo/exceptions/BlobStoreAuthorizationException.java diff --git a/src/main/java/us/kbase/workspace/database/mongo/exceptions/BlobStoreCommunicationException.java b/service/src/main/java/us/kbase/workspace/database/mongo/exceptions/BlobStoreCommunicationException.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/mongo/exceptions/BlobStoreCommunicationException.java rename to service/src/main/java/us/kbase/workspace/database/mongo/exceptions/BlobStoreCommunicationException.java diff --git a/src/main/java/us/kbase/workspace/database/mongo/exceptions/BlobStoreException.java b/service/src/main/java/us/kbase/workspace/database/mongo/exceptions/BlobStoreException.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/mongo/exceptions/BlobStoreException.java rename to service/src/main/java/us/kbase/workspace/database/mongo/exceptions/BlobStoreException.java diff --git a/src/main/java/us/kbase/workspace/database/mongo/exceptions/NoSuchBlobException.java b/service/src/main/java/us/kbase/workspace/database/mongo/exceptions/NoSuchBlobException.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/mongo/exceptions/NoSuchBlobException.java rename to service/src/main/java/us/kbase/workspace/database/mongo/exceptions/NoSuchBlobException.java diff --git a/src/main/java/us/kbase/workspace/database/provenance/Common.java b/service/src/main/java/us/kbase/workspace/database/provenance/Common.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/provenance/Common.java rename to service/src/main/java/us/kbase/workspace/database/provenance/Common.java diff --git a/src/main/java/us/kbase/workspace/database/provenance/ExternalData.java b/service/src/main/java/us/kbase/workspace/database/provenance/ExternalData.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/provenance/ExternalData.java rename to service/src/main/java/us/kbase/workspace/database/provenance/ExternalData.java diff --git a/src/main/java/us/kbase/workspace/database/provenance/Provenance.java b/service/src/main/java/us/kbase/workspace/database/provenance/Provenance.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/provenance/Provenance.java rename to service/src/main/java/us/kbase/workspace/database/provenance/Provenance.java diff --git a/src/main/java/us/kbase/workspace/database/provenance/ProvenanceAction.java b/service/src/main/java/us/kbase/workspace/database/provenance/ProvenanceAction.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/provenance/ProvenanceAction.java rename to service/src/main/java/us/kbase/workspace/database/provenance/ProvenanceAction.java diff --git a/src/main/java/us/kbase/workspace/database/provenance/SubAction.java b/service/src/main/java/us/kbase/workspace/database/provenance/SubAction.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/provenance/SubAction.java rename to service/src/main/java/us/kbase/workspace/database/provenance/SubAction.java diff --git a/src/main/java/us/kbase/workspace/database/refsearch/ReferenceGraphSearch.java b/service/src/main/java/us/kbase/workspace/database/refsearch/ReferenceGraphSearch.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/refsearch/ReferenceGraphSearch.java rename to service/src/main/java/us/kbase/workspace/database/refsearch/ReferenceGraphSearch.java diff --git a/src/main/java/us/kbase/workspace/database/refsearch/ReferenceGraphTopologyProvider.java b/service/src/main/java/us/kbase/workspace/database/refsearch/ReferenceGraphTopologyProvider.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/refsearch/ReferenceGraphTopologyProvider.java rename to service/src/main/java/us/kbase/workspace/database/refsearch/ReferenceGraphTopologyProvider.java diff --git a/src/main/java/us/kbase/workspace/database/refsearch/ReferenceProviderException.java b/service/src/main/java/us/kbase/workspace/database/refsearch/ReferenceProviderException.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/refsearch/ReferenceProviderException.java rename to service/src/main/java/us/kbase/workspace/database/refsearch/ReferenceProviderException.java diff --git a/src/main/java/us/kbase/workspace/database/refsearch/ReferenceSearchFailedException.java b/service/src/main/java/us/kbase/workspace/database/refsearch/ReferenceSearchFailedException.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/refsearch/ReferenceSearchFailedException.java rename to service/src/main/java/us/kbase/workspace/database/refsearch/ReferenceSearchFailedException.java diff --git a/src/main/java/us/kbase/workspace/database/refsearch/ReferenceSearchMaximumSizeExceededException.java b/service/src/main/java/us/kbase/workspace/database/refsearch/ReferenceSearchMaximumSizeExceededException.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/refsearch/ReferenceSearchMaximumSizeExceededException.java rename to service/src/main/java/us/kbase/workspace/database/refsearch/ReferenceSearchMaximumSizeExceededException.java diff --git a/src/main/java/us/kbase/workspace/database/refsearch/ReferenceSearchTree.java b/service/src/main/java/us/kbase/workspace/database/refsearch/ReferenceSearchTree.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/refsearch/ReferenceSearchTree.java rename to service/src/main/java/us/kbase/workspace/database/refsearch/ReferenceSearchTree.java diff --git a/src/main/java/us/kbase/workspace/database/refsearch/ReferenceTreeNode.java b/service/src/main/java/us/kbase/workspace/database/refsearch/ReferenceTreeNode.java similarity index 100% rename from src/main/java/us/kbase/workspace/database/refsearch/ReferenceTreeNode.java rename to service/src/main/java/us/kbase/workspace/database/refsearch/ReferenceTreeNode.java diff --git a/src/main/java/us/kbase/workspace/docserver/DocServer.java b/service/src/main/java/us/kbase/workspace/docserver/DocServer.java similarity index 100% rename from src/main/java/us/kbase/workspace/docserver/DocServer.java rename to service/src/main/java/us/kbase/workspace/docserver/DocServer.java diff --git a/src/main/java/us/kbase/workspace/exceptions/WorkspaceAuthorizationException.java b/service/src/main/java/us/kbase/workspace/exceptions/WorkspaceAuthorizationException.java similarity index 100% rename from src/main/java/us/kbase/workspace/exceptions/WorkspaceAuthorizationException.java rename to service/src/main/java/us/kbase/workspace/exceptions/WorkspaceAuthorizationException.java diff --git a/src/main/java/us/kbase/workspace/exceptions/WorkspaceException.java b/service/src/main/java/us/kbase/workspace/exceptions/WorkspaceException.java similarity index 100% rename from src/main/java/us/kbase/workspace/exceptions/WorkspaceException.java rename to service/src/main/java/us/kbase/workspace/exceptions/WorkspaceException.java diff --git a/src/main/java/us/kbase/workspace/gitcommit/GitCommit.java b/service/src/main/java/us/kbase/workspace/gitcommit/GitCommit.java similarity index 100% rename from src/main/java/us/kbase/workspace/gitcommit/GitCommit.java rename to service/src/main/java/us/kbase/workspace/gitcommit/GitCommit.java diff --git a/src/main/java/us/kbase/workspace/kbase/ArgUtils.java b/service/src/main/java/us/kbase/workspace/kbase/ArgUtils.java similarity index 100% rename from src/main/java/us/kbase/workspace/kbase/ArgUtils.java rename to service/src/main/java/us/kbase/workspace/kbase/ArgUtils.java diff --git a/src/main/java/us/kbase/workspace/kbase/BackendType.java b/service/src/main/java/us/kbase/workspace/kbase/BackendType.java similarity index 100% rename from src/main/java/us/kbase/workspace/kbase/BackendType.java rename to service/src/main/java/us/kbase/workspace/kbase/BackendType.java diff --git a/src/main/java/us/kbase/workspace/kbase/BytestreamIdHandlerFactory.java b/service/src/main/java/us/kbase/workspace/kbase/BytestreamIdHandlerFactory.java similarity index 100% rename from src/main/java/us/kbase/workspace/kbase/BytestreamIdHandlerFactory.java rename to service/src/main/java/us/kbase/workspace/kbase/BytestreamIdHandlerFactory.java diff --git a/src/main/java/us/kbase/workspace/kbase/DelegatingTypeProvider.java b/service/src/main/java/us/kbase/workspace/kbase/DelegatingTypeProvider.java similarity index 100% rename from src/main/java/us/kbase/workspace/kbase/DelegatingTypeProvider.java rename to service/src/main/java/us/kbase/workspace/kbase/DelegatingTypeProvider.java diff --git a/src/main/java/us/kbase/workspace/kbase/HandleIdHandlerFactory.java b/service/src/main/java/us/kbase/workspace/kbase/HandleIdHandlerFactory.java similarity index 100% rename from src/main/java/us/kbase/workspace/kbase/HandleIdHandlerFactory.java rename to service/src/main/java/us/kbase/workspace/kbase/HandleIdHandlerFactory.java diff --git a/src/main/java/us/kbase/workspace/kbase/IdentifierUtils.java b/service/src/main/java/us/kbase/workspace/kbase/IdentifierUtils.java similarity index 100% rename from src/main/java/us/kbase/workspace/kbase/IdentifierUtils.java rename to service/src/main/java/us/kbase/workspace/kbase/IdentifierUtils.java diff --git a/src/main/java/us/kbase/workspace/kbase/InitWorkspaceServer.java b/service/src/main/java/us/kbase/workspace/kbase/InitWorkspaceServer.java similarity index 100% rename from src/main/java/us/kbase/workspace/kbase/InitWorkspaceServer.java rename to service/src/main/java/us/kbase/workspace/kbase/InitWorkspaceServer.java diff --git a/src/main/java/us/kbase/workspace/kbase/KBasePermissions.java b/service/src/main/java/us/kbase/workspace/kbase/KBasePermissions.java similarity index 100% rename from src/main/java/us/kbase/workspace/kbase/KBasePermissions.java rename to service/src/main/java/us/kbase/workspace/kbase/KBasePermissions.java diff --git a/src/main/java/us/kbase/workspace/kbase/KBaseWorkspaceConfig.java b/service/src/main/java/us/kbase/workspace/kbase/KBaseWorkspaceConfig.java similarity index 100% rename from src/main/java/us/kbase/workspace/kbase/KBaseWorkspaceConfig.java rename to service/src/main/java/us/kbase/workspace/kbase/KBaseWorkspaceConfig.java diff --git a/src/main/java/us/kbase/workspace/kbase/LocalTypeServerMethods.java b/service/src/main/java/us/kbase/workspace/kbase/LocalTypeServerMethods.java similarity index 100% rename from src/main/java/us/kbase/workspace/kbase/LocalTypeServerMethods.java rename to service/src/main/java/us/kbase/workspace/kbase/LocalTypeServerMethods.java diff --git a/src/main/java/us/kbase/workspace/kbase/SampleIdHandlerFactory.java b/service/src/main/java/us/kbase/workspace/kbase/SampleIdHandlerFactory.java similarity index 100% rename from src/main/java/us/kbase/workspace/kbase/SampleIdHandlerFactory.java rename to service/src/main/java/us/kbase/workspace/kbase/SampleIdHandlerFactory.java diff --git a/src/main/java/us/kbase/workspace/kbase/SchemaUpdaterCLI.java b/service/src/main/java/us/kbase/workspace/kbase/SchemaUpdaterCLI.java similarity index 100% rename from src/main/java/us/kbase/workspace/kbase/SchemaUpdaterCLI.java rename to service/src/main/java/us/kbase/workspace/kbase/SchemaUpdaterCLI.java diff --git a/src/main/java/us/kbase/workspace/kbase/TypeClient.java b/service/src/main/java/us/kbase/workspace/kbase/TypeClient.java similarity index 100% rename from src/main/java/us/kbase/workspace/kbase/TypeClient.java rename to service/src/main/java/us/kbase/workspace/kbase/TypeClient.java diff --git a/src/main/java/us/kbase/workspace/kbase/TypeDelegationException.java b/service/src/main/java/us/kbase/workspace/kbase/TypeDelegationException.java similarity index 100% rename from src/main/java/us/kbase/workspace/kbase/TypeDelegationException.java rename to service/src/main/java/us/kbase/workspace/kbase/TypeDelegationException.java diff --git a/src/main/java/us/kbase/workspace/kbase/TypeServerMethods.java b/service/src/main/java/us/kbase/workspace/kbase/TypeServerMethods.java similarity index 100% rename from src/main/java/us/kbase/workspace/kbase/TypeServerMethods.java rename to service/src/main/java/us/kbase/workspace/kbase/TypeServerMethods.java diff --git a/src/main/java/us/kbase/workspace/kbase/WorkspaceServerMethods.java b/service/src/main/java/us/kbase/workspace/kbase/WorkspaceServerMethods.java similarity index 100% rename from src/main/java/us/kbase/workspace/kbase/WorkspaceServerMethods.java rename to service/src/main/java/us/kbase/workspace/kbase/WorkspaceServerMethods.java diff --git a/src/main/java/us/kbase/workspace/kbase/admin/AdminCommand.java b/service/src/main/java/us/kbase/workspace/kbase/admin/AdminCommand.java similarity index 100% rename from src/main/java/us/kbase/workspace/kbase/admin/AdminCommand.java rename to service/src/main/java/us/kbase/workspace/kbase/admin/AdminCommand.java diff --git a/src/main/java/us/kbase/workspace/kbase/admin/AdminRole.java b/service/src/main/java/us/kbase/workspace/kbase/admin/AdminRole.java similarity index 100% rename from src/main/java/us/kbase/workspace/kbase/admin/AdminRole.java rename to service/src/main/java/us/kbase/workspace/kbase/admin/AdminRole.java diff --git a/src/main/java/us/kbase/workspace/kbase/admin/AdministrationCommandSetInstaller.java b/service/src/main/java/us/kbase/workspace/kbase/admin/AdministrationCommandSetInstaller.java similarity index 100% rename from src/main/java/us/kbase/workspace/kbase/admin/AdministrationCommandSetInstaller.java rename to service/src/main/java/us/kbase/workspace/kbase/admin/AdministrationCommandSetInstaller.java diff --git a/src/main/java/us/kbase/workspace/kbase/admin/AdministratorHandler.java b/service/src/main/java/us/kbase/workspace/kbase/admin/AdministratorHandler.java similarity index 100% rename from src/main/java/us/kbase/workspace/kbase/admin/AdministratorHandler.java rename to service/src/main/java/us/kbase/workspace/kbase/admin/AdministratorHandler.java diff --git a/src/main/java/us/kbase/workspace/kbase/admin/AdministratorHandlerException.java b/service/src/main/java/us/kbase/workspace/kbase/admin/AdministratorHandlerException.java similarity index 100% rename from src/main/java/us/kbase/workspace/kbase/admin/AdministratorHandlerException.java rename to service/src/main/java/us/kbase/workspace/kbase/admin/AdministratorHandlerException.java diff --git a/src/main/java/us/kbase/workspace/kbase/admin/DefaultAdminHandler.java b/service/src/main/java/us/kbase/workspace/kbase/admin/DefaultAdminHandler.java similarity index 100% rename from src/main/java/us/kbase/workspace/kbase/admin/DefaultAdminHandler.java rename to service/src/main/java/us/kbase/workspace/kbase/admin/DefaultAdminHandler.java diff --git a/src/main/java/us/kbase/workspace/kbase/admin/KBaseAuth2AdminHandler.java b/service/src/main/java/us/kbase/workspace/kbase/admin/KBaseAuth2AdminHandler.java similarity index 100% rename from src/main/java/us/kbase/workspace/kbase/admin/KBaseAuth2AdminHandler.java rename to service/src/main/java/us/kbase/workspace/kbase/admin/KBaseAuth2AdminHandler.java diff --git a/src/main/java/us/kbase/workspace/kbase/admin/WorkspaceAdministration.java b/service/src/main/java/us/kbase/workspace/kbase/admin/WorkspaceAdministration.java similarity index 100% rename from src/main/java/us/kbase/workspace/kbase/admin/WorkspaceAdministration.java rename to service/src/main/java/us/kbase/workspace/kbase/admin/WorkspaceAdministration.java diff --git a/src/main/java/us/kbase/workspace/listener/ListenerInitializationException.java b/service/src/main/java/us/kbase/workspace/listener/ListenerInitializationException.java similarity index 100% rename from src/main/java/us/kbase/workspace/listener/ListenerInitializationException.java rename to service/src/main/java/us/kbase/workspace/listener/ListenerInitializationException.java diff --git a/src/main/java/us/kbase/workspace/listener/WorkspaceEventListener.java b/service/src/main/java/us/kbase/workspace/listener/WorkspaceEventListener.java similarity index 100% rename from src/main/java/us/kbase/workspace/listener/WorkspaceEventListener.java rename to service/src/main/java/us/kbase/workspace/listener/WorkspaceEventListener.java diff --git a/src/main/java/us/kbase/workspace/listener/WorkspaceEventListenerFactory.java b/service/src/main/java/us/kbase/workspace/listener/WorkspaceEventListenerFactory.java similarity index 100% rename from src/main/java/us/kbase/workspace/listener/WorkspaceEventListenerFactory.java rename to service/src/main/java/us/kbase/workspace/listener/WorkspaceEventListenerFactory.java diff --git a/src/main/java/us/kbase/workspace/listener/package-info.java b/service/src/main/java/us/kbase/workspace/listener/package-info.java similarity index 100% rename from src/main/java/us/kbase/workspace/listener/package-info.java rename to service/src/main/java/us/kbase/workspace/listener/package-info.java diff --git a/src/main/java/us/kbase/workspace/modules/KafkaNotifierFactory.java b/service/src/main/java/us/kbase/workspace/modules/KafkaNotifierFactory.java similarity index 100% rename from src/main/java/us/kbase/workspace/modules/KafkaNotifierFactory.java rename to service/src/main/java/us/kbase/workspace/modules/KafkaNotifierFactory.java diff --git a/src/main/java/us/kbase/workspace/modules/package-info.java b/service/src/main/java/us/kbase/workspace/modules/package-info.java similarity index 100% rename from src/main/java/us/kbase/workspace/modules/package-info.java rename to service/src/main/java/us/kbase/workspace/modules/package-info.java diff --git a/src/main/java/us/kbase/workspace/version/WorkspaceVersion.java b/service/src/main/java/us/kbase/workspace/version/WorkspaceVersion.java similarity index 100% rename from src/main/java/us/kbase/workspace/version/WorkspaceVersion.java rename to service/src/main/java/us/kbase/workspace/version/WorkspaceVersion.java diff --git a/src/test/java/us/kbase/test/common/MapBuilder.java b/service/src/test/java/us/kbase/test/common/MapBuilder.java similarity index 100% rename from src/test/java/us/kbase/test/common/MapBuilder.java rename to service/src/test/java/us/kbase/test/common/MapBuilder.java diff --git a/src/test/java/us/kbase/test/common/TestCommon.java b/service/src/test/java/us/kbase/test/common/TestCommon.java similarity index 100% rename from src/test/java/us/kbase/test/common/TestCommon.java rename to service/src/test/java/us/kbase/test/common/TestCommon.java diff --git a/src/test/java/us/kbase/test/typedobj/AbsoluteTypeDefIdTest.java b/service/src/test/java/us/kbase/test/typedobj/AbsoluteTypeDefIdTest.java similarity index 100% rename from src/test/java/us/kbase/test/typedobj/AbsoluteTypeDefIdTest.java rename to service/src/test/java/us/kbase/test/typedobj/AbsoluteTypeDefIdTest.java diff --git a/src/test/java/us/kbase/test/typedobj/BasicValidationTest.java b/service/src/test/java/us/kbase/test/typedobj/BasicValidationTest.java similarity index 100% rename from src/test/java/us/kbase/test/typedobj/BasicValidationTest.java rename to service/src/test/java/us/kbase/test/typedobj/BasicValidationTest.java diff --git a/src/test/java/us/kbase/test/typedobj/DetailedValidationTest.java b/service/src/test/java/us/kbase/test/typedobj/DetailedValidationTest.java similarity index 100% rename from src/test/java/us/kbase/test/typedobj/DetailedValidationTest.java rename to service/src/test/java/us/kbase/test/typedobj/DetailedValidationTest.java diff --git a/src/test/java/us/kbase/test/typedobj/DummyIdHandlerFactory.java b/service/src/test/java/us/kbase/test/typedobj/DummyIdHandlerFactory.java similarity index 100% rename from src/test/java/us/kbase/test/typedobj/DummyIdHandlerFactory.java rename to service/src/test/java/us/kbase/test/typedobj/DummyIdHandlerFactory.java diff --git a/src/test/java/us/kbase/test/typedobj/DummyValidatedTypedObject.java b/service/src/test/java/us/kbase/test/typedobj/DummyValidatedTypedObject.java similarity index 100% rename from src/test/java/us/kbase/test/typedobj/DummyValidatedTypedObject.java rename to service/src/test/java/us/kbase/test/typedobj/DummyValidatedTypedObject.java diff --git a/src/test/java/us/kbase/test/typedobj/IdProcessingTest.java b/service/src/test/java/us/kbase/test/typedobj/IdProcessingTest.java similarity index 100% rename from src/test/java/us/kbase/test/typedobj/IdProcessingTest.java rename to service/src/test/java/us/kbase/test/typedobj/IdProcessingTest.java diff --git a/src/test/java/us/kbase/test/typedobj/IdRefTokenSequenceProviderTest.java b/service/src/test/java/us/kbase/test/typedobj/IdRefTokenSequenceProviderTest.java similarity index 100% rename from src/test/java/us/kbase/test/typedobj/IdRefTokenSequenceProviderTest.java rename to service/src/test/java/us/kbase/test/typedobj/IdRefTokenSequenceProviderTest.java diff --git a/src/test/java/us/kbase/test/typedobj/JsonSchemas.java b/service/src/test/java/us/kbase/test/typedobj/JsonSchemas.java similarity index 100% rename from src/test/java/us/kbase/test/typedobj/JsonSchemas.java rename to service/src/test/java/us/kbase/test/typedobj/JsonSchemas.java diff --git a/src/test/java/us/kbase/test/typedobj/JsonTokenValidatorTester.java b/service/src/test/java/us/kbase/test/typedobj/JsonTokenValidatorTester.java similarity index 100% rename from src/test/java/us/kbase/test/typedobj/JsonTokenValidatorTester.java rename to service/src/test/java/us/kbase/test/typedobj/JsonTokenValidatorTester.java diff --git a/src/test/java/us/kbase/test/typedobj/LocalTypeProviderTest.java b/service/src/test/java/us/kbase/test/typedobj/LocalTypeProviderTest.java similarity index 100% rename from src/test/java/us/kbase/test/typedobj/LocalTypeProviderTest.java rename to service/src/test/java/us/kbase/test/typedobj/LocalTypeProviderTest.java diff --git a/src/test/java/us/kbase/test/typedobj/MetadataExtractionTest.java b/service/src/test/java/us/kbase/test/typedobj/MetadataExtractionTest.java similarity index 100% rename from src/test/java/us/kbase/test/typedobj/MetadataExtractionTest.java rename to service/src/test/java/us/kbase/test/typedobj/MetadataExtractionTest.java diff --git a/src/test/java/us/kbase/test/typedobj/ObjectExtractionByPathTest.java b/service/src/test/java/us/kbase/test/typedobj/ObjectExtractionByPathTest.java similarity index 100% rename from src/test/java/us/kbase/test/typedobj/ObjectExtractionByPathTest.java rename to service/src/test/java/us/kbase/test/typedobj/ObjectExtractionByPathTest.java diff --git a/src/test/java/us/kbase/test/typedobj/ProfileBasicValidation.java b/service/src/test/java/us/kbase/test/typedobj/ProfileBasicValidation.java similarity index 100% rename from src/test/java/us/kbase/test/typedobj/ProfileBasicValidation.java rename to service/src/test/java/us/kbase/test/typedobj/ProfileBasicValidation.java diff --git a/src/test/java/us/kbase/test/typedobj/TypeDefIdTest.java b/service/src/test/java/us/kbase/test/typedobj/TypeDefIdTest.java similarity index 100% rename from src/test/java/us/kbase/test/typedobj/TypeDefIdTest.java rename to service/src/test/java/us/kbase/test/typedobj/TypeDefIdTest.java diff --git a/src/test/java/us/kbase/test/typedobj/TypeDefsTest.java b/service/src/test/java/us/kbase/test/typedobj/TypeDefsTest.java similarity index 100% rename from src/test/java/us/kbase/test/typedobj/TypeDefsTest.java rename to service/src/test/java/us/kbase/test/typedobj/TypeDefsTest.java diff --git a/src/test/java/us/kbase/test/typedobj/TypeProviderTest.java b/service/src/test/java/us/kbase/test/typedobj/TypeProviderTest.java similarity index 100% rename from src/test/java/us/kbase/test/typedobj/TypeProviderTest.java rename to service/src/test/java/us/kbase/test/typedobj/TypeProviderTest.java diff --git a/src/test/java/us/kbase/test/typedobj/TypedObjectValidationReportTest.java b/service/src/test/java/us/kbase/test/typedobj/TypedObjectValidationReportTest.java similarity index 100% rename from src/test/java/us/kbase/test/typedobj/TypedObjectValidationReportTest.java rename to service/src/test/java/us/kbase/test/typedobj/TypedObjectValidationReportTest.java diff --git a/src/test/java/us/kbase/test/typedobj/db/HighLoadParallelTester.java b/service/src/test/java/us/kbase/test/typedobj/db/HighLoadParallelTester.java similarity index 100% rename from src/test/java/us/kbase/test/typedobj/db/HighLoadParallelTester.java rename to service/src/test/java/us/kbase/test/typedobj/db/HighLoadParallelTester.java diff --git a/src/test/java/us/kbase/test/typedobj/db/MongoTypeStorageTest.java b/service/src/test/java/us/kbase/test/typedobj/db/MongoTypeStorageTest.java similarity index 100% rename from src/test/java/us/kbase/test/typedobj/db/MongoTypeStorageTest.java rename to service/src/test/java/us/kbase/test/typedobj/db/MongoTypeStorageTest.java diff --git a/src/test/java/us/kbase/test/typedobj/db/TestTypeStorage.java b/service/src/test/java/us/kbase/test/typedobj/db/TestTypeStorage.java similarity index 100% rename from src/test/java/us/kbase/test/typedobj/db/TestTypeStorage.java rename to service/src/test/java/us/kbase/test/typedobj/db/TestTypeStorage.java diff --git a/src/test/java/us/kbase/test/typedobj/db/TestTypeStorageFactory.java b/service/src/test/java/us/kbase/test/typedobj/db/TestTypeStorageFactory.java similarity index 100% rename from src/test/java/us/kbase/test/typedobj/db/TestTypeStorageFactory.java rename to service/src/test/java/us/kbase/test/typedobj/db/TestTypeStorageFactory.java diff --git a/src/test/java/us/kbase/test/typedobj/db/TypeRegisteringTest.java b/service/src/test/java/us/kbase/test/typedobj/db/TypeRegisteringTest.java similarity index 100% rename from src/test/java/us/kbase/test/typedobj/db/TypeRegisteringTest.java rename to service/src/test/java/us/kbase/test/typedobj/db/TypeRegisteringTest.java diff --git a/src/test/java/us/kbase/test/typedobj/db/TypeStorageListener.java b/service/src/test/java/us/kbase/test/typedobj/db/TypeStorageListener.java similarity index 100% rename from src/test/java/us/kbase/test/typedobj/db/TypeStorageListener.java rename to service/src/test/java/us/kbase/test/typedobj/db/TypeStorageListener.java diff --git a/src/test/java/us/kbase/test/typedobj/idref/IdReferenceHandlerSetFactoryBuilderTest.java b/service/src/test/java/us/kbase/test/typedobj/idref/IdReferenceHandlerSetFactoryBuilderTest.java similarity index 100% rename from src/test/java/us/kbase/test/typedobj/idref/IdReferenceHandlerSetFactoryBuilderTest.java rename to service/src/test/java/us/kbase/test/typedobj/idref/IdReferenceHandlerSetFactoryBuilderTest.java diff --git a/src/test/java/us/kbase/test/typedobj/idref/IdReferencePermissionHandlerSetTest.java b/service/src/test/java/us/kbase/test/typedobj/idref/IdReferencePermissionHandlerSetTest.java similarity index 100% rename from src/test/java/us/kbase/test/typedobj/idref/IdReferencePermissionHandlerSetTest.java rename to service/src/test/java/us/kbase/test/typedobj/idref/IdReferencePermissionHandlerSetTest.java diff --git a/src/test/java/us/kbase/test/typedobj/idref/IdReferenceTypeTest.java b/service/src/test/java/us/kbase/test/typedobj/idref/IdReferenceTypeTest.java similarity index 100% rename from src/test/java/us/kbase/test/typedobj/idref/IdReferenceTypeTest.java rename to service/src/test/java/us/kbase/test/typedobj/idref/IdReferenceTypeTest.java diff --git a/src/test/java/us/kbase/test/workspace/JsonTokenStreamOCStat.java b/service/src/test/java/us/kbase/test/workspace/JsonTokenStreamOCStat.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/JsonTokenStreamOCStat.java rename to service/src/test/java/us/kbase/test/workspace/JsonTokenStreamOCStat.java diff --git a/src/test/java/us/kbase/test/workspace/LongTextForTestUsage.java b/service/src/test/java/us/kbase/test/workspace/LongTextForTestUsage.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/LongTextForTestUsage.java rename to service/src/test/java/us/kbase/test/workspace/LongTextForTestUsage.java diff --git a/src/test/java/us/kbase/test/workspace/UpdateOptionsMatcher.java b/service/src/test/java/us/kbase/test/workspace/UpdateOptionsMatcher.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/UpdateOptionsMatcher.java rename to service/src/test/java/us/kbase/test/workspace/UpdateOptionsMatcher.java diff --git a/src/test/java/us/kbase/test/workspace/WorkspaceMongoIndex.java b/service/src/test/java/us/kbase/test/workspace/WorkspaceMongoIndex.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/WorkspaceMongoIndex.java rename to service/src/test/java/us/kbase/test/workspace/WorkspaceMongoIndex.java diff --git a/src/test/java/us/kbase/test/workspace/WorkspaceServerThread.java b/service/src/test/java/us/kbase/test/workspace/WorkspaceServerThread.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/WorkspaceServerThread.java rename to service/src/test/java/us/kbase/test/workspace/WorkspaceServerThread.java diff --git a/src/test/java/us/kbase/test/workspace/WorkspaceTestCommon.java b/service/src/test/java/us/kbase/test/workspace/WorkspaceTestCommon.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/WorkspaceTestCommon.java rename to service/src/test/java/us/kbase/test/workspace/WorkspaceTestCommon.java diff --git a/src/test/java/us/kbase/test/workspace/controllers/arango/ArangoController.java b/service/src/test/java/us/kbase/test/workspace/controllers/arango/ArangoController.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/controllers/arango/ArangoController.java rename to service/src/test/java/us/kbase/test/workspace/controllers/arango/ArangoController.java diff --git a/src/test/java/us/kbase/test/workspace/controllers/handle/HandleServiceController.java b/service/src/test/java/us/kbase/test/workspace/controllers/handle/HandleServiceController.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/controllers/handle/HandleServiceController.java rename to service/src/test/java/us/kbase/test/workspace/controllers/handle/HandleServiceController.java diff --git a/src/test/java/us/kbase/test/workspace/controllers/sample/SampleServiceController.java b/service/src/test/java/us/kbase/test/workspace/controllers/sample/SampleServiceController.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/controllers/sample/SampleServiceController.java rename to service/src/test/java/us/kbase/test/workspace/controllers/sample/SampleServiceController.java diff --git a/src/test/java/us/kbase/test/workspace/controllers/workspace/WorkspaceController.java b/service/src/test/java/us/kbase/test/workspace/controllers/workspace/WorkspaceController.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/controllers/workspace/WorkspaceController.java rename to service/src/test/java/us/kbase/test/workspace/controllers/workspace/WorkspaceController.java diff --git a/src/test/java/us/kbase/test/workspace/database/DependencyStatusTest.java b/service/src/test/java/us/kbase/test/workspace/database/DependencyStatusTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/database/DependencyStatusTest.java rename to service/src/test/java/us/kbase/test/workspace/database/DependencyStatusTest.java diff --git a/src/test/java/us/kbase/test/workspace/database/UtilTest.java b/service/src/test/java/us/kbase/test/workspace/database/UtilTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/database/UtilTest.java rename to service/src/test/java/us/kbase/test/workspace/database/UtilTest.java diff --git a/src/test/java/us/kbase/test/workspace/database/mongo/GridFSBlobStoreTest.java b/service/src/test/java/us/kbase/test/workspace/database/mongo/GridFSBlobStoreTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/database/mongo/GridFSBlobStoreTest.java rename to service/src/test/java/us/kbase/test/workspace/database/mongo/GridFSBlobStoreTest.java diff --git a/src/test/java/us/kbase/test/workspace/database/mongo/MongoInternalsTest.java b/service/src/test/java/us/kbase/test/workspace/database/mongo/MongoInternalsTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/database/mongo/MongoInternalsTest.java rename to service/src/test/java/us/kbase/test/workspace/database/mongo/MongoInternalsTest.java diff --git a/src/test/java/us/kbase/test/workspace/database/mongo/MongoStartUpTest.java b/service/src/test/java/us/kbase/test/workspace/database/mongo/MongoStartUpTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/database/mongo/MongoStartUpTest.java rename to service/src/test/java/us/kbase/test/workspace/database/mongo/MongoStartUpTest.java diff --git a/src/test/java/us/kbase/test/workspace/database/mongo/MongoWorkspaceDBTest.java b/service/src/test/java/us/kbase/test/workspace/database/mongo/MongoWorkspaceDBTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/database/mongo/MongoWorkspaceDBTest.java rename to service/src/test/java/us/kbase/test/workspace/database/mongo/MongoWorkspaceDBTest.java diff --git a/src/test/java/us/kbase/test/workspace/database/mongo/ObjectListerTest.java b/service/src/test/java/us/kbase/test/workspace/database/mongo/ObjectListerTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/database/mongo/ObjectListerTest.java rename to service/src/test/java/us/kbase/test/workspace/database/mongo/ObjectListerTest.java diff --git a/src/test/java/us/kbase/test/workspace/database/mongo/PartialMock.java b/service/src/test/java/us/kbase/test/workspace/database/mongo/PartialMock.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/database/mongo/PartialMock.java rename to service/src/test/java/us/kbase/test/workspace/database/mongo/PartialMock.java diff --git a/src/test/java/us/kbase/test/workspace/database/mongo/S3BlobStoreIntegrationTest.java b/service/src/test/java/us/kbase/test/workspace/database/mongo/S3BlobStoreIntegrationTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/database/mongo/S3BlobStoreIntegrationTest.java rename to service/src/test/java/us/kbase/test/workspace/database/mongo/S3BlobStoreIntegrationTest.java diff --git a/src/test/java/us/kbase/test/workspace/database/mongo/S3BlobStoreTest.java b/service/src/test/java/us/kbase/test/workspace/database/mongo/S3BlobStoreTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/database/mongo/S3BlobStoreTest.java rename to service/src/test/java/us/kbase/test/workspace/database/mongo/S3BlobStoreTest.java diff --git a/src/test/java/us/kbase/test/workspace/database/mongo/SchemaUpdaterTest.java b/service/src/test/java/us/kbase/test/workspace/database/mongo/SchemaUpdaterTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/database/mongo/SchemaUpdaterTest.java rename to service/src/test/java/us/kbase/test/workspace/database/mongo/SchemaUpdaterTest.java diff --git a/src/test/java/us/kbase/test/workspace/database/provenance/ExternalDataTest.java b/service/src/test/java/us/kbase/test/workspace/database/provenance/ExternalDataTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/database/provenance/ExternalDataTest.java rename to service/src/test/java/us/kbase/test/workspace/database/provenance/ExternalDataTest.java diff --git a/src/test/java/us/kbase/test/workspace/database/provenance/ProvenanceActionTest.java b/service/src/test/java/us/kbase/test/workspace/database/provenance/ProvenanceActionTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/database/provenance/ProvenanceActionTest.java rename to service/src/test/java/us/kbase/test/workspace/database/provenance/ProvenanceActionTest.java diff --git a/src/test/java/us/kbase/test/workspace/database/provenance/ProvenanceTest.java b/service/src/test/java/us/kbase/test/workspace/database/provenance/ProvenanceTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/database/provenance/ProvenanceTest.java rename to service/src/test/java/us/kbase/test/workspace/database/provenance/ProvenanceTest.java diff --git a/src/test/java/us/kbase/test/workspace/database/provenance/SubActionTest.java b/service/src/test/java/us/kbase/test/workspace/database/provenance/SubActionTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/database/provenance/SubActionTest.java rename to service/src/test/java/us/kbase/test/workspace/database/provenance/SubActionTest.java diff --git a/src/test/java/us/kbase/test/workspace/docserver/DocServerTest.java b/service/src/test/java/us/kbase/test/workspace/docserver/DocServerTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/docserver/DocServerTest.java rename to service/src/test/java/us/kbase/test/workspace/docserver/DocServerTest.java diff --git a/src/test/java/us/kbase/test/workspace/docserver/HttpServletRequestMock.java b/service/src/test/java/us/kbase/test/workspace/docserver/HttpServletRequestMock.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/docserver/HttpServletRequestMock.java rename to service/src/test/java/us/kbase/test/workspace/docserver/HttpServletRequestMock.java diff --git a/src/test/java/us/kbase/test/workspace/docserver/HttpServletResponseMock.java b/service/src/test/java/us/kbase/test/workspace/docserver/HttpServletResponseMock.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/docserver/HttpServletResponseMock.java rename to service/src/test/java/us/kbase/test/workspace/docserver/HttpServletResponseMock.java diff --git a/src/test/java/us/kbase/test/workspace/kbase/ArgUtilsTest.java b/service/src/test/java/us/kbase/test/workspace/kbase/ArgUtilsTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/kbase/ArgUtilsTest.java rename to service/src/test/java/us/kbase/test/workspace/kbase/ArgUtilsTest.java diff --git a/src/test/java/us/kbase/test/workspace/kbase/BytestreamIdHandlerFactoryTest.java b/service/src/test/java/us/kbase/test/workspace/kbase/BytestreamIdHandlerFactoryTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/kbase/BytestreamIdHandlerFactoryTest.java rename to service/src/test/java/us/kbase/test/workspace/kbase/BytestreamIdHandlerFactoryTest.java diff --git a/src/test/java/us/kbase/test/workspace/kbase/DelegatingTypeProviderTest.java b/service/src/test/java/us/kbase/test/workspace/kbase/DelegatingTypeProviderTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/kbase/DelegatingTypeProviderTest.java rename to service/src/test/java/us/kbase/test/workspace/kbase/DelegatingTypeProviderTest.java diff --git a/src/test/java/us/kbase/test/workspace/kbase/HandleAndBytestreamIntegrationTest.java b/service/src/test/java/us/kbase/test/workspace/kbase/HandleAndBytestreamIntegrationTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/kbase/HandleAndBytestreamIntegrationTest.java rename to service/src/test/java/us/kbase/test/workspace/kbase/HandleAndBytestreamIntegrationTest.java diff --git a/src/test/java/us/kbase/test/workspace/kbase/HandleIdHandlerFactoryTest.java b/service/src/test/java/us/kbase/test/workspace/kbase/HandleIdHandlerFactoryTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/kbase/HandleIdHandlerFactoryTest.java rename to service/src/test/java/us/kbase/test/workspace/kbase/HandleIdHandlerFactoryTest.java diff --git a/src/test/java/us/kbase/test/workspace/kbase/IdentifierUtilsTest.java b/service/src/test/java/us/kbase/test/workspace/kbase/IdentifierUtilsTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/kbase/IdentifierUtilsTest.java rename to service/src/test/java/us/kbase/test/workspace/kbase/IdentifierUtilsTest.java diff --git a/src/test/java/us/kbase/test/workspace/kbase/JSONRPCLayerLongTest.java b/service/src/test/java/us/kbase/test/workspace/kbase/JSONRPCLayerLongTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/kbase/JSONRPCLayerLongTest.java rename to service/src/test/java/us/kbase/test/workspace/kbase/JSONRPCLayerLongTest.java diff --git a/src/test/java/us/kbase/test/workspace/kbase/JSONRPCLayerTest.java b/service/src/test/java/us/kbase/test/workspace/kbase/JSONRPCLayerTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/kbase/JSONRPCLayerTest.java rename to service/src/test/java/us/kbase/test/workspace/kbase/JSONRPCLayerTest.java diff --git a/src/test/java/us/kbase/test/workspace/kbase/JSONRPCLayerTester.java b/service/src/test/java/us/kbase/test/workspace/kbase/JSONRPCLayerTester.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/kbase/JSONRPCLayerTester.java rename to service/src/test/java/us/kbase/test/workspace/kbase/JSONRPCLayerTester.java diff --git a/src/test/java/us/kbase/test/workspace/kbase/KBaseWorkspaceConfigTest.java b/service/src/test/java/us/kbase/test/workspace/kbase/KBaseWorkspaceConfigTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/kbase/KBaseWorkspaceConfigTest.java rename to service/src/test/java/us/kbase/test/workspace/kbase/KBaseWorkspaceConfigTest.java diff --git a/src/test/java/us/kbase/test/workspace/kbase/LoggingTest.java b/service/src/test/java/us/kbase/test/workspace/kbase/LoggingTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/kbase/LoggingTest.java rename to service/src/test/java/us/kbase/test/workspace/kbase/LoggingTest.java diff --git a/src/test/java/us/kbase/test/workspace/kbase/SampleIDHandlerFactoryTest.java b/service/src/test/java/us/kbase/test/workspace/kbase/SampleIDHandlerFactoryTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/kbase/SampleIDHandlerFactoryTest.java rename to service/src/test/java/us/kbase/test/workspace/kbase/SampleIDHandlerFactoryTest.java diff --git a/src/test/java/us/kbase/test/workspace/kbase/SampleServiceIntegrationTest.java b/service/src/test/java/us/kbase/test/workspace/kbase/SampleServiceIntegrationTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/kbase/SampleServiceIntegrationTest.java rename to service/src/test/java/us/kbase/test/workspace/kbase/SampleServiceIntegrationTest.java diff --git a/src/test/java/us/kbase/test/workspace/kbase/SchemaUpdaterCLITest.java b/service/src/test/java/us/kbase/test/workspace/kbase/SchemaUpdaterCLITest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/kbase/SchemaUpdaterCLITest.java rename to service/src/test/java/us/kbase/test/workspace/kbase/SchemaUpdaterCLITest.java diff --git a/src/test/java/us/kbase/test/workspace/kbase/TypeClientTest.java b/service/src/test/java/us/kbase/test/workspace/kbase/TypeClientTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/kbase/TypeClientTest.java rename to service/src/test/java/us/kbase/test/workspace/kbase/TypeClientTest.java diff --git a/src/test/java/us/kbase/test/workspace/kbase/TypeDelegationTest.java b/service/src/test/java/us/kbase/test/workspace/kbase/TypeDelegationTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/kbase/TypeDelegationTest.java rename to service/src/test/java/us/kbase/test/workspace/kbase/TypeDelegationTest.java diff --git a/src/test/java/us/kbase/test/workspace/kbase/WorkspaceServerMethodsTest.java b/service/src/test/java/us/kbase/test/workspace/kbase/WorkspaceServerMethodsTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/kbase/WorkspaceServerMethodsTest.java rename to service/src/test/java/us/kbase/test/workspace/kbase/WorkspaceServerMethodsTest.java diff --git a/src/test/java/us/kbase/test/workspace/kbase/admin/AdministrationCommandSetInstallerTest.java b/service/src/test/java/us/kbase/test/workspace/kbase/admin/AdministrationCommandSetInstallerTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/kbase/admin/AdministrationCommandSetInstallerTest.java rename to service/src/test/java/us/kbase/test/workspace/kbase/admin/AdministrationCommandSetInstallerTest.java diff --git a/src/test/java/us/kbase/test/workspace/kbase/admin/DefaultAdminHandlerTest.java b/service/src/test/java/us/kbase/test/workspace/kbase/admin/DefaultAdminHandlerTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/kbase/admin/DefaultAdminHandlerTest.java rename to service/src/test/java/us/kbase/test/workspace/kbase/admin/DefaultAdminHandlerTest.java diff --git a/src/test/java/us/kbase/test/workspace/kbase/admin/KBaseAuth2AdminHandlerTest.java b/service/src/test/java/us/kbase/test/workspace/kbase/admin/KBaseAuth2AdminHandlerTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/kbase/admin/KBaseAuth2AdminHandlerTest.java rename to service/src/test/java/us/kbase/test/workspace/kbase/admin/KBaseAuth2AdminHandlerTest.java diff --git a/src/test/java/us/kbase/test/workspace/kbase/admin/WorkspaceAdministrationTest.java b/service/src/test/java/us/kbase/test/workspace/kbase/admin/WorkspaceAdministrationTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/kbase/admin/WorkspaceAdministrationTest.java rename to service/src/test/java/us/kbase/test/workspace/kbase/admin/WorkspaceAdministrationTest.java diff --git a/src/test/java/us/kbase/test/workspace/listener/BadListenerFactory.java b/service/src/test/java/us/kbase/test/workspace/listener/BadListenerFactory.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/listener/BadListenerFactory.java rename to service/src/test/java/us/kbase/test/workspace/listener/BadListenerFactory.java diff --git a/src/test/java/us/kbase/test/workspace/listener/NullListenerFactory.java b/service/src/test/java/us/kbase/test/workspace/listener/NullListenerFactory.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/listener/NullListenerFactory.java rename to service/src/test/java/us/kbase/test/workspace/listener/NullListenerFactory.java diff --git a/src/test/java/us/kbase/test/workspace/modules/KafkaNotifierFactoryTest.java b/service/src/test/java/us/kbase/test/workspace/modules/KafkaNotifierFactoryTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/modules/KafkaNotifierFactoryTest.java rename to service/src/test/java/us/kbase/test/workspace/modules/KafkaNotifierFactoryTest.java diff --git a/src/test/java/us/kbase/test/workspace/workspace/ByteArrayFileCacheManagerTest.java b/service/src/test/java/us/kbase/test/workspace/workspace/ByteArrayFileCacheManagerTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/workspace/ByteArrayFileCacheManagerTest.java rename to service/src/test/java/us/kbase/test/workspace/workspace/ByteArrayFileCacheManagerTest.java diff --git a/src/test/java/us/kbase/test/workspace/workspace/DynamicConfigTest.java b/service/src/test/java/us/kbase/test/workspace/workspace/DynamicConfigTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/workspace/DynamicConfigTest.java rename to service/src/test/java/us/kbase/test/workspace/workspace/DynamicConfigTest.java diff --git a/src/test/java/us/kbase/test/workspace/workspace/ErrorOrTest.java b/service/src/test/java/us/kbase/test/workspace/workspace/ErrorOrTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/workspace/ErrorOrTest.java rename to service/src/test/java/us/kbase/test/workspace/workspace/ErrorOrTest.java diff --git a/src/test/java/us/kbase/test/workspace/workspace/ListObjectParametersTest.java b/service/src/test/java/us/kbase/test/workspace/workspace/ListObjectParametersTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/workspace/ListObjectParametersTest.java rename to service/src/test/java/us/kbase/test/workspace/workspace/ListObjectParametersTest.java diff --git a/src/test/java/us/kbase/test/workspace/workspace/MetadataUpdateTest.java b/service/src/test/java/us/kbase/test/workspace/workspace/MetadataUpdateTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/workspace/MetadataUpdateTest.java rename to service/src/test/java/us/kbase/test/workspace/workspace/MetadataUpdateTest.java diff --git a/src/test/java/us/kbase/test/workspace/workspace/ObjectIDNoWSNoVerTest.java b/service/src/test/java/us/kbase/test/workspace/workspace/ObjectIDNoWSNoVerTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/workspace/ObjectIDNoWSNoVerTest.java rename to service/src/test/java/us/kbase/test/workspace/workspace/ObjectIDNoWSNoVerTest.java diff --git a/src/test/java/us/kbase/test/workspace/workspace/ObjectIdentifierTest.java b/service/src/test/java/us/kbase/test/workspace/workspace/ObjectIdentifierTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/workspace/ObjectIdentifierTest.java rename to service/src/test/java/us/kbase/test/workspace/workspace/ObjectIdentifierTest.java diff --git a/src/test/java/us/kbase/test/workspace/workspace/ObjectInformationTest.java b/service/src/test/java/us/kbase/test/workspace/workspace/ObjectInformationTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/workspace/ObjectInformationTest.java rename to service/src/test/java/us/kbase/test/workspace/workspace/ObjectInformationTest.java diff --git a/src/test/java/us/kbase/test/workspace/workspace/ObjectResolverTest.java b/service/src/test/java/us/kbase/test/workspace/workspace/ObjectResolverTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/workspace/ObjectResolverTest.java rename to service/src/test/java/us/kbase/test/workspace/workspace/ObjectResolverTest.java diff --git a/src/test/java/us/kbase/test/workspace/workspace/PermissionSetTest.java b/service/src/test/java/us/kbase/test/workspace/workspace/PermissionSetTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/workspace/PermissionSetTest.java rename to service/src/test/java/us/kbase/test/workspace/workspace/PermissionSetTest.java diff --git a/src/test/java/us/kbase/test/workspace/workspace/PermissionsCheckerFactoryTest.java b/service/src/test/java/us/kbase/test/workspace/workspace/PermissionsCheckerFactoryTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/workspace/PermissionsCheckerFactoryTest.java rename to service/src/test/java/us/kbase/test/workspace/workspace/PermissionsCheckerFactoryTest.java diff --git a/src/test/java/us/kbase/test/workspace/workspace/RefLimitTest.java b/service/src/test/java/us/kbase/test/workspace/workspace/RefLimitTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/workspace/RefLimitTest.java rename to service/src/test/java/us/kbase/test/workspace/workspace/RefLimitTest.java diff --git a/src/test/java/us/kbase/test/workspace/workspace/ReferenceGraphSearchTest.java b/service/src/test/java/us/kbase/test/workspace/workspace/ReferenceGraphSearchTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/workspace/ReferenceGraphSearchTest.java rename to service/src/test/java/us/kbase/test/workspace/workspace/ReferenceGraphSearchTest.java diff --git a/src/test/java/us/kbase/test/workspace/workspace/ReferenceSearchTreeTest.java b/service/src/test/java/us/kbase/test/workspace/workspace/ReferenceSearchTreeTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/workspace/ReferenceSearchTreeTest.java rename to service/src/test/java/us/kbase/test/workspace/workspace/ReferenceSearchTreeTest.java diff --git a/src/test/java/us/kbase/test/workspace/workspace/ReferenceTest.java b/service/src/test/java/us/kbase/test/workspace/workspace/ReferenceTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/workspace/ReferenceTest.java rename to service/src/test/java/us/kbase/test/workspace/workspace/ReferenceTest.java diff --git a/src/test/java/us/kbase/test/workspace/workspace/ReferenceTreeNodeTest.java b/service/src/test/java/us/kbase/test/workspace/workspace/ReferenceTreeNodeTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/workspace/ReferenceTreeNodeTest.java rename to service/src/test/java/us/kbase/test/workspace/workspace/ReferenceTreeNodeTest.java diff --git a/src/test/java/us/kbase/test/workspace/workspace/ResolvedObjectIdentifierTest.java b/service/src/test/java/us/kbase/test/workspace/workspace/ResolvedObjectIdentifierTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/workspace/ResolvedObjectIdentifierTest.java rename to service/src/test/java/us/kbase/test/workspace/workspace/ResolvedObjectIdentifierTest.java diff --git a/src/test/java/us/kbase/test/workspace/workspace/ResolvedWorkspaceIDTest.java b/service/src/test/java/us/kbase/test/workspace/workspace/ResolvedWorkspaceIDTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/workspace/ResolvedWorkspaceIDTest.java rename to service/src/test/java/us/kbase/test/workspace/workspace/ResolvedWorkspaceIDTest.java diff --git a/src/test/java/us/kbase/test/workspace/workspace/TestIDReferenceHandlerFactory.java b/service/src/test/java/us/kbase/test/workspace/workspace/TestIDReferenceHandlerFactory.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/workspace/TestIDReferenceHandlerFactory.java rename to service/src/test/java/us/kbase/test/workspace/workspace/TestIDReferenceHandlerFactory.java diff --git a/src/test/java/us/kbase/test/workspace/workspace/UncheckedUserMetadataTest.java b/service/src/test/java/us/kbase/test/workspace/workspace/UncheckedUserMetadataTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/workspace/UncheckedUserMetadataTest.java rename to service/src/test/java/us/kbase/test/workspace/workspace/UncheckedUserMetadataTest.java diff --git a/src/test/java/us/kbase/test/workspace/workspace/UserWorkspaceIDsTest.java b/service/src/test/java/us/kbase/test/workspace/workspace/UserWorkspaceIDsTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/workspace/UserWorkspaceIDsTest.java rename to service/src/test/java/us/kbase/test/workspace/workspace/UserWorkspaceIDsTest.java diff --git a/src/test/java/us/kbase/test/workspace/workspace/WorkspaceConstructorTest.java b/service/src/test/java/us/kbase/test/workspace/workspace/WorkspaceConstructorTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/workspace/WorkspaceConstructorTest.java rename to service/src/test/java/us/kbase/test/workspace/workspace/WorkspaceConstructorTest.java diff --git a/src/test/java/us/kbase/test/workspace/workspace/WorkspaceInformationTest.java b/service/src/test/java/us/kbase/test/workspace/workspace/WorkspaceInformationTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/workspace/WorkspaceInformationTest.java rename to service/src/test/java/us/kbase/test/workspace/workspace/WorkspaceInformationTest.java diff --git a/src/test/java/us/kbase/test/workspace/workspace/WorkspaceIntegrationWithGridFSTest.java b/service/src/test/java/us/kbase/test/workspace/workspace/WorkspaceIntegrationWithGridFSTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/workspace/WorkspaceIntegrationWithGridFSTest.java rename to service/src/test/java/us/kbase/test/workspace/workspace/WorkspaceIntegrationWithGridFSTest.java diff --git a/src/test/java/us/kbase/test/workspace/workspace/WorkspaceListenerTest.java b/service/src/test/java/us/kbase/test/workspace/workspace/WorkspaceListenerTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/workspace/WorkspaceListenerTest.java rename to service/src/test/java/us/kbase/test/workspace/workspace/WorkspaceListenerTest.java diff --git a/src/test/java/us/kbase/test/workspace/workspace/WorkspaceLongTest.java b/service/src/test/java/us/kbase/test/workspace/workspace/WorkspaceLongTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/workspace/WorkspaceLongTest.java rename to service/src/test/java/us/kbase/test/workspace/workspace/WorkspaceLongTest.java diff --git a/src/test/java/us/kbase/test/workspace/workspace/WorkspaceObjectDataTest.java b/service/src/test/java/us/kbase/test/workspace/workspace/WorkspaceObjectDataTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/workspace/WorkspaceObjectDataTest.java rename to service/src/test/java/us/kbase/test/workspace/workspace/WorkspaceObjectDataTest.java diff --git a/src/test/java/us/kbase/test/workspace/workspace/WorkspaceTest.java b/service/src/test/java/us/kbase/test/workspace/workspace/WorkspaceTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/workspace/WorkspaceTest.java rename to service/src/test/java/us/kbase/test/workspace/workspace/WorkspaceTest.java diff --git a/src/test/java/us/kbase/test/workspace/workspace/WorkspaceTester.java b/service/src/test/java/us/kbase/test/workspace/workspace/WorkspaceTester.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/workspace/WorkspaceTester.java rename to service/src/test/java/us/kbase/test/workspace/workspace/WorkspaceTester.java diff --git a/src/test/java/us/kbase/test/workspace/workspace/WorkspaceUnitTest.java b/service/src/test/java/us/kbase/test/workspace/workspace/WorkspaceUnitTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/workspace/WorkspaceUnitTest.java rename to service/src/test/java/us/kbase/test/workspace/workspace/WorkspaceUnitTest.java diff --git a/src/test/java/us/kbase/test/workspace/workspace/WorkspaceUserMetadataTest.java b/service/src/test/java/us/kbase/test/workspace/workspace/WorkspaceUserMetadataTest.java similarity index 100% rename from src/test/java/us/kbase/test/workspace/workspace/WorkspaceUserMetadataTest.java rename to service/src/test/java/us/kbase/test/workspace/workspace/WorkspaceUserMetadataTest.java diff --git a/src/test/resources/us/kbase/test/typedobj/db/backward.Annotations.2.spec.properties b/service/src/test/resources/us/kbase/test/typedobj/db/backward.Annotations.2.spec.properties similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/db/backward.Annotations.2.spec.properties rename to service/src/test/resources/us/kbase/test/typedobj/db/backward.Annotations.2.spec.properties diff --git a/src/test/resources/us/kbase/test/typedobj/db/backward.Annotations.3.spec.properties b/service/src/test/resources/us/kbase/test/typedobj/db/backward.Annotations.3.spec.properties similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/db/backward.Annotations.3.spec.properties rename to service/src/test/resources/us/kbase/test/typedobj/db/backward.Annotations.3.spec.properties diff --git a/src/test/resources/us/kbase/test/typedobj/db/backward.Annotations.4.spec.properties b/service/src/test/resources/us/kbase/test/typedobj/db/backward.Annotations.4.spec.properties similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/db/backward.Annotations.4.spec.properties rename to service/src/test/resources/us/kbase/test/typedobj/db/backward.Annotations.4.spec.properties diff --git a/src/test/resources/us/kbase/test/typedobj/db/backward.Annotations.spec.properties b/service/src/test/resources/us/kbase/test/typedobj/db/backward.Annotations.spec.properties similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/db/backward.Annotations.spec.properties rename to service/src/test/resources/us/kbase/test/typedobj/db/backward.Annotations.spec.properties diff --git a/src/test/resources/us/kbase/test/typedobj/db/backward.Expression.2.spec.properties b/service/src/test/resources/us/kbase/test/typedobj/db/backward.Expression.2.spec.properties similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/db/backward.Expression.2.spec.properties rename to service/src/test/resources/us/kbase/test/typedobj/db/backward.Expression.2.spec.properties diff --git a/src/test/resources/us/kbase/test/typedobj/db/backward.Expression.spec.properties b/service/src/test/resources/us/kbase/test/typedobj/db/backward.Expression.spec.properties similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/db/backward.Expression.spec.properties rename to service/src/test/resources/us/kbase/test/typedobj/db/backward.Expression.spec.properties diff --git a/src/test/resources/us/kbase/test/typedobj/db/backward.Regulation.2.spec.properties b/service/src/test/resources/us/kbase/test/typedobj/db/backward.Regulation.2.spec.properties similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/db/backward.Regulation.2.spec.properties rename to service/src/test/resources/us/kbase/test/typedobj/db/backward.Regulation.2.spec.properties diff --git a/src/test/resources/us/kbase/test/typedobj/db/backward.Regulation.3.spec.properties b/service/src/test/resources/us/kbase/test/typedobj/db/backward.Regulation.3.spec.properties similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/db/backward.Regulation.3.spec.properties rename to service/src/test/resources/us/kbase/test/typedobj/db/backward.Regulation.3.spec.properties diff --git a/src/test/resources/us/kbase/test/typedobj/db/backward.Regulation.4.spec.properties b/service/src/test/resources/us/kbase/test/typedobj/db/backward.Regulation.4.spec.properties similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/db/backward.Regulation.4.spec.properties rename to service/src/test/resources/us/kbase/test/typedobj/db/backward.Regulation.4.spec.properties diff --git a/src/test/resources/us/kbase/test/typedobj/db/backward.Regulation.spec.properties b/service/src/test/resources/us/kbase/test/typedobj/db/backward.Regulation.spec.properties similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/db/backward.Regulation.spec.properties rename to service/src/test/resources/us/kbase/test/typedobj/db/backward.Regulation.spec.properties diff --git a/src/test/resources/us/kbase/test/typedobj/db/deps.DepModule.spec.properties b/service/src/test/resources/us/kbase/test/typedobj/db/deps.DepModule.spec.properties similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/db/deps.DepModule.spec.properties rename to service/src/test/resources/us/kbase/test/typedobj/db/deps.DepModule.spec.properties diff --git a/src/test/resources/us/kbase/test/typedobj/db/deps.SomeModule.spec.properties b/service/src/test/resources/us/kbase/test/typedobj/db/deps.SomeModule.spec.properties similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/db/deps.SomeModule.spec.properties rename to service/src/test/resources/us/kbase/test/typedobj/db/deps.SomeModule.spec.properties diff --git a/src/test/resources/us/kbase/test/typedobj/db/descr.Descr.spec.properties b/service/src/test/resources/us/kbase/test/typedobj/db/descr.Descr.spec.properties similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/db/descr.Descr.spec.properties rename to service/src/test/resources/us/kbase/test/typedobj/db/descr.Descr.spec.properties diff --git a/src/test/resources/us/kbase/test/typedobj/db/error.Common.spec.properties b/service/src/test/resources/us/kbase/test/typedobj/db/error.Common.spec.properties similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/db/error.Common.spec.properties rename to service/src/test/resources/us/kbase/test/typedobj/db/error.Common.spec.properties diff --git a/src/test/resources/us/kbase/test/typedobj/db/error.DoubleModule.spec.properties b/service/src/test/resources/us/kbase/test/typedobj/db/error.DoubleModule.spec.properties similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/db/error.DoubleModule.spec.properties rename to service/src/test/resources/us/kbase/test/typedobj/db/error.DoubleModule.spec.properties diff --git a/src/test/resources/us/kbase/test/typedobj/db/error.LongFuncName.spec.properties b/service/src/test/resources/us/kbase/test/typedobj/db/error.LongFuncName.spec.properties similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/db/error.LongFuncName.spec.properties rename to service/src/test/resources/us/kbase/test/typedobj/db/error.LongFuncName.spec.properties diff --git a/src/test/resources/us/kbase/test/typedobj/db/error.LongTypeName.spec.properties b/service/src/test/resources/us/kbase/test/typedobj/db/error.LongTypeName.spec.properties similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/db/error.LongTypeName.spec.properties rename to service/src/test/resources/us/kbase/test/typedobj/db/error.LongTypeName.spec.properties diff --git a/src/test/resources/us/kbase/test/typedobj/db/error.StructDuplication.spec.properties b/service/src/test/resources/us/kbase/test/typedobj/db/error.StructDuplication.spec.properties similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/db/error.StructDuplication.spec.properties rename to service/src/test/resources/us/kbase/test/typedobj/db/error.StructDuplication.spec.properties diff --git a/src/test/resources/us/kbase/test/typedobj/db/error.Test.spec.properties b/service/src/test/resources/us/kbase/test/typedobj/db/error.Test.spec.properties similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/db/error.Test.spec.properties rename to service/src/test/resources/us/kbase/test/typedobj/db/error.Test.spec.properties diff --git a/src/test/resources/us/kbase/test/typedobj/db/md5.Common.2.spec.properties b/service/src/test/resources/us/kbase/test/typedobj/db/md5.Common.2.spec.properties similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/db/md5.Common.2.spec.properties rename to service/src/test/resources/us/kbase/test/typedobj/db/md5.Common.2.spec.properties diff --git a/src/test/resources/us/kbase/test/typedobj/db/md5.Common.3.spec.properties b/service/src/test/resources/us/kbase/test/typedobj/db/md5.Common.3.spec.properties similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/db/md5.Common.3.spec.properties rename to service/src/test/resources/us/kbase/test/typedobj/db/md5.Common.3.spec.properties diff --git a/src/test/resources/us/kbase/test/typedobj/db/md5.Common.spec.properties b/service/src/test/resources/us/kbase/test/typedobj/db/md5.Common.spec.properties similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/db/md5.Common.spec.properties rename to service/src/test/resources/us/kbase/test/typedobj/db/md5.Common.spec.properties diff --git a/src/test/resources/us/kbase/test/typedobj/db/md5.Upper.spec.properties b/service/src/test/resources/us/kbase/test/typedobj/db/md5.Upper.spec.properties similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/db/md5.Upper.spec.properties rename to service/src/test/resources/us/kbase/test/typedobj/db/md5.Upper.spec.properties diff --git a/src/test/resources/us/kbase/test/typedobj/db/restrict.Common.2.spec.properties b/service/src/test/resources/us/kbase/test/typedobj/db/restrict.Common.2.spec.properties similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/db/restrict.Common.2.spec.properties rename to service/src/test/resources/us/kbase/test/typedobj/db/restrict.Common.2.spec.properties diff --git a/src/test/resources/us/kbase/test/typedobj/db/restrict.Common.spec.properties b/service/src/test/resources/us/kbase/test/typedobj/db/restrict.Common.spec.properties similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/db/restrict.Common.spec.properties rename to service/src/test/resources/us/kbase/test/typedobj/db/restrict.Common.spec.properties diff --git a/src/test/resources/us/kbase/test/typedobj/db/restrict.Middle.spec.properties b/service/src/test/resources/us/kbase/test/typedobj/db/restrict.Middle.spec.properties similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/db/restrict.Middle.spec.properties rename to service/src/test/resources/us/kbase/test/typedobj/db/restrict.Middle.spec.properties diff --git a/src/test/resources/us/kbase/test/typedobj/db/restrict.Upper.spec.properties b/service/src/test/resources/us/kbase/test/typedobj/db/restrict.Upper.spec.properties similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/db/restrict.Upper.spec.properties rename to service/src/test/resources/us/kbase/test/typedobj/db/restrict.Upper.spec.properties diff --git a/src/test/resources/us/kbase/test/typedobj/db/rollback.First.spec.properties b/service/src/test/resources/us/kbase/test/typedobj/db/rollback.First.spec.properties similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/db/rollback.First.spec.properties rename to service/src/test/resources/us/kbase/test/typedobj/db/rollback.First.spec.properties diff --git a/src/test/resources/us/kbase/test/typedobj/db/simple.Annotation.spec.properties b/service/src/test/resources/us/kbase/test/typedobj/db/simple.Annotation.spec.properties similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/db/simple.Annotation.spec.properties rename to service/src/test/resources/us/kbase/test/typedobj/db/simple.Annotation.spec.properties diff --git a/src/test/resources/us/kbase/test/typedobj/db/simple.Regulation.2.spec.properties b/service/src/test/resources/us/kbase/test/typedobj/db/simple.Regulation.2.spec.properties similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/db/simple.Regulation.2.spec.properties rename to service/src/test/resources/us/kbase/test/typedobj/db/simple.Regulation.2.spec.properties diff --git a/src/test/resources/us/kbase/test/typedobj/db/simple.Regulation.spec.properties b/service/src/test/resources/us/kbase/test/typedobj/db/simple.Regulation.spec.properties similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/db/simple.Regulation.spec.properties rename to service/src/test/resources/us/kbase/test/typedobj/db/simple.Regulation.spec.properties diff --git a/src/test/resources/us/kbase/test/typedobj/db/simple.Sequence.spec.properties b/service/src/test/resources/us/kbase/test/typedobj/db/simple.Sequence.spec.properties similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/db/simple.Sequence.spec.properties rename to service/src/test/resources/us/kbase/test/typedobj/db/simple.Sequence.spec.properties diff --git a/src/test/resources/us/kbase/test/typedobj/db/simple.Taxonomy.spec.properties b/service/src/test/resources/us/kbase/test/typedobj/db/simple.Taxonomy.spec.properties similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/db/simple.Taxonomy.spec.properties rename to service/src/test/resources/us/kbase/test/typedobj/db/simple.Taxonomy.spec.properties diff --git a/src/test/resources/us/kbase/test/typedobj/db/stop.Dependant.spec.properties b/service/src/test/resources/us/kbase/test/typedobj/db/stop.Dependant.spec.properties similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/db/stop.Dependant.spec.properties rename to service/src/test/resources/us/kbase/test/typedobj/db/stop.Dependant.spec.properties diff --git a/src/test/resources/us/kbase/test/typedobj/db/stop.Regulation.2.spec.properties b/service/src/test/resources/us/kbase/test/typedobj/db/stop.Regulation.2.spec.properties similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/db/stop.Regulation.2.spec.properties rename to service/src/test/resources/us/kbase/test/typedobj/db/stop.Regulation.2.spec.properties diff --git a/src/test/resources/us/kbase/test/typedobj/db/stop.Regulation.spec.properties b/service/src/test/resources/us/kbase/test/typedobj/db/stop.Regulation.spec.properties similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/db/stop.Regulation.spec.properties rename to service/src/test/resources/us/kbase/test/typedobj/db/stop.Regulation.spec.properties diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/FBA.FBAModel.invalid.instance.1 b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/FBA.FBAModel.invalid.instance.1 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/FBA.FBAModel.invalid.instance.1 rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/FBA.FBAModel.invalid.instance.1 diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/FBA.FBAModel.valid.instance.1 b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/FBA.FBAModel.valid.instance.1 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/FBA.FBAModel.valid.instance.1 rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/FBA.FBAModel.valid.instance.1 diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/FBA.FBAModel.valid.instance.2 b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/FBA.FBAModel.valid.instance.2 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/FBA.FBAModel.valid.instance.2 rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/FBA.FBAModel.valid.instance.2 diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/FBA.FBAResult.valid.instance.1 b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/FBA.FBAResult.valid.instance.1 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/FBA.FBAResult.valid.instance.1 rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/FBA.FBAResult.valid.instance.1 diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/FBA.spec b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/FBA.spec similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/FBA.spec rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/FBA.spec diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.BigNumberObj.invalid.instance.1 b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.BigNumberObj.invalid.instance.1 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.BigNumberObj.invalid.instance.1 rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.BigNumberObj.invalid.instance.1 diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.BigNumberObj.invalid.instance.2 b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.BigNumberObj.invalid.instance.2 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.BigNumberObj.invalid.instance.2 rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.BigNumberObj.invalid.instance.2 diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.BigNumberObj.invalid.instance.3 b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.BigNumberObj.invalid.instance.3 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.BigNumberObj.invalid.instance.3 rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.BigNumberObj.invalid.instance.3 diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.BigNumberObj.invalid.instance.4 b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.BigNumberObj.invalid.instance.4 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.BigNumberObj.invalid.instance.4 rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.BigNumberObj.invalid.instance.4 diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.BigNumberObj.valid.instance.1 b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.BigNumberObj.valid.instance.1 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.BigNumberObj.valid.instance.1 rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.BigNumberObj.valid.instance.1 diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.BigNumberObj.valid.instance.2 b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.BigNumberObj.valid.instance.2 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.BigNumberObj.valid.instance.2 rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.BigNumberObj.valid.instance.2 diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.invalid.instance.1 b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.invalid.instance.1 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.invalid.instance.1 rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.invalid.instance.1 diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.invalid.instance.2 b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.invalid.instance.2 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.invalid.instance.2 rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.invalid.instance.2 diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.invalid.instance.3 b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.invalid.instance.3 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.invalid.instance.3 rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.invalid.instance.3 diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.invalid.instance.4 b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.invalid.instance.4 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.invalid.instance.4 rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.invalid.instance.4 diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.valid.instance.1 b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.valid.instance.1 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.valid.instance.1 rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.valid.instance.1 diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.valid.instance.2 b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.valid.instance.2 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.valid.instance.2 rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.valid.instance.2 diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.valid.instance.3 b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.valid.instance.3 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.valid.instance.3 rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.Genome.valid.instance.3 diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.1 b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.1 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.1 rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.1 diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.10 b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.10 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.10 rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.10 diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.11 b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.11 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.11 rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.11 diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.12 b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.12 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.12 rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.12 diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.13 b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.13 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.13 rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.13 diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.14 b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.14 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.14 rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.14 diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.15 b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.15 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.15 rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.15 diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.16 b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.16 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.16 rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.16 diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.17 b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.17 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.17 rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.17 diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.2 b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.2 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.2 rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.2 diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.3 b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.3 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.3 rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.3 diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.4 b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.4 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.4 rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.4 diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.5 b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.5 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.5 rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.5 diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.6 b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.6 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.6 rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.6 diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.7 b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.7 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.7 rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.7 diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.8 b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.8 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.8 rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.8 diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.9 b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.9 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.9 rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.invalid.instance.9 diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.valid.instance.1 b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.valid.instance.1 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.valid.instance.1 rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.valid.instance.1 diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.valid.instance.2 b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.valid.instance.2 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.valid.instance.2 rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.valid.instance.2 diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.valid.instance.3 b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.valid.instance.3 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.valid.instance.3 rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.valid.instance.3 diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.valid.instance.4 b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.valid.instance.4 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.valid.instance.4 rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.valid.instance.4 diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.valid.instance.5 b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.valid.instance.5 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.valid.instance.5 rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.NumberObj.valid.instance.5 diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.RandomObject.invalid.instance.1 b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.RandomObject.invalid.instance.1 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.RandomObject.invalid.instance.1 rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.RandomObject.invalid.instance.1 diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.RandomObject.valid.instance.1 b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.RandomObject.valid.instance.1 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.RandomObject.valid.instance.1 rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.RandomObject.valid.instance.1 diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.RandomObject.valid.instance.2 b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.RandomObject.valid.instance.2 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.RandomObject.valid.instance.2 rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.RandomObject.valid.instance.2 diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.TupleObject.invalid.instance.1 b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.TupleObject.invalid.instance.1 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.TupleObject.invalid.instance.1 rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.TupleObject.invalid.instance.1 diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.TupleObject.invalid.instance.2 b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.TupleObject.invalid.instance.2 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.TupleObject.invalid.instance.2 rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.TupleObject.invalid.instance.2 diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.TupleObject.valid.instance.1 b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.TupleObject.valid.instance.1 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.TupleObject.valid.instance.1 rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.TupleObject.valid.instance.1 diff --git a/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.spec b/service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.spec similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.spec rename to service/src/test/resources/us/kbase/test/typedobj/files/BasicValidation/KB.spec diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/KB.spec b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/KB.spec similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/KB.spec rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/KB.spec diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.001 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.001 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.001 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.001 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.002 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.002 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.002 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.002 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.003 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.003 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.003 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.003 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.004 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.004 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.004 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.004 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.005 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.005 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.005 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.005 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.006 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.006 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.006 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.006 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.007 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.007 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.007 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.007 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.008 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.008 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.008 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.008 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.009 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.009 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.009 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.009 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.010 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.010 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.010 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.010 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.011 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.011 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.011 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.011 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.012 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.012 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.012 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.012 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.013 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.013 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.013 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.013 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.014 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.014 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.014 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.014 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.015 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.015 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.015 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.015 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.016 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.016 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.016 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.016 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.017 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.017 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.017 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.017 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.018 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.018 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.018 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.018 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.019 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.019 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.019 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.019 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.020 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.020 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.020 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.020 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.021 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.021 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.021 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.021 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.022 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.022 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.022 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.022 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.023 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.023 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.023 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.023 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.024 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.024 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.024 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.024 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.025 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.025 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.025 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.025 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.026 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.026 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.026 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.026 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.027 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.027 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.027 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.027 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.028 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.028 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.028 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.028 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.029 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.029 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.029 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.029 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.030 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.030 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.030 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.030 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.031 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.031 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.031 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.031 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.032 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.032 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.032 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.032 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.033 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.033 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.033 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.033 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.034 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.034 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.034 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.034 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.035 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.035 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.035 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.035 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.036 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.036 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.036 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.036 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.037 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.037 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.037 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.037 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.038 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.038 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.038 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.038 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.039 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.039 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.039 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.039 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.040 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.040 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.040 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.040 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.041 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.041 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.041 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.041 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.042 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.042 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.042 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.042 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.043 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.043 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.043 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.043 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.044 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.044 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.044 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.044 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.045 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.045 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.045 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.045 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.046 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.046 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.046 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.046 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.047 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.047 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.047 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.047 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.048 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.048 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.048 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.048 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.049 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.049 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.049 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.049 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.050 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.050 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.050 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.050 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.051 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.051 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.051 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.051 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.052 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.052 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.052 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.052 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.053 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.053 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.053 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.053 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.054 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.054 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.054 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.054 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.055 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.055 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.055 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.055 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.056 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.056 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.056 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.056 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.057 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.057 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.057 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.057 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.058 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.058 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.058 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.058 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.059 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.059 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.059 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.059 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.060 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.060 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.060 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.060 diff --git a/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.061 b/service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.061 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.061 rename to service/src/test/resources/us/kbase/test/typedobj/files/DetailedValidation/instance.061 diff --git a/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/FBA.spec b/service/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/FBA.spec similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/IdProcessing/FBA.spec rename to service/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/FBA.spec diff --git a/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.AltIDs.instance.1 b/service/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.AltIDs.instance.1 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.AltIDs.instance.1 rename to service/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.AltIDs.instance.1 diff --git a/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.AltIDs.instance.1.ids b/service/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.AltIDs.instance.1.ids similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.AltIDs.instance.1.ids rename to service/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.AltIDs.instance.1.ids diff --git a/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.DeepFeatureMap.instance.1 b/service/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.DeepFeatureMap.instance.1 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.DeepFeatureMap.instance.1 rename to service/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.DeepFeatureMap.instance.1 diff --git a/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.DeepFeatureMap.instance.1.ids b/service/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.DeepFeatureMap.instance.1.ids similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.DeepFeatureMap.instance.1.ids rename to service/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.DeepFeatureMap.instance.1.ids diff --git a/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.FeatureMap.instance.1 b/service/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.FeatureMap.instance.1 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.FeatureMap.instance.1 rename to service/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.FeatureMap.instance.1 diff --git a/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.FeatureMap.instance.1.ids b/service/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.FeatureMap.instance.1.ids similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.FeatureMap.instance.1.ids rename to service/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.FeatureMap.instance.1.ids diff --git a/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.FeatureMap.instance.2 b/service/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.FeatureMap.instance.2 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.FeatureMap.instance.2 rename to service/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.FeatureMap.instance.2 diff --git a/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.FeatureMap.instance.2.ids b/service/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.FeatureMap.instance.2.ids similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.FeatureMap.instance.2.ids rename to service/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.FeatureMap.instance.2.ids diff --git a/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.Genome.instance.1 b/service/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.Genome.instance.1 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.Genome.instance.1 rename to service/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.Genome.instance.1 diff --git a/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.Genome.instance.1.ids b/service/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.Genome.instance.1.ids similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.Genome.instance.1.ids rename to service/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.Genome.instance.1.ids diff --git a/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.Genome.instance.2 b/service/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.Genome.instance.2 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.Genome.instance.2 rename to service/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.Genome.instance.2 diff --git a/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.Genome.instance.2.ids b/service/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.Genome.instance.2.ids similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.Genome.instance.2.ids rename to service/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.Genome.instance.2.ids diff --git a/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.NestedFeaturesKey.instance.1 b/service/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.NestedFeaturesKey.instance.1 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.NestedFeaturesKey.instance.1 rename to service/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.NestedFeaturesKey.instance.1 diff --git a/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.NestedFeaturesKey.instance.1.ids b/service/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.NestedFeaturesKey.instance.1.ids similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.NestedFeaturesKey.instance.1.ids rename to service/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.NestedFeaturesKey.instance.1.ids diff --git a/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.NestedFeaturesList.instance.1 b/service/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.NestedFeaturesList.instance.1 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.NestedFeaturesList.instance.1 rename to service/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.NestedFeaturesList.instance.1 diff --git a/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.NestedFeaturesList.instance.1.ids b/service/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.NestedFeaturesList.instance.1.ids similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.NestedFeaturesList.instance.1.ids rename to service/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.NestedFeaturesList.instance.1.ids diff --git a/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.NestedFeaturesValue.instance.1 b/service/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.NestedFeaturesValue.instance.1 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.NestedFeaturesValue.instance.1 rename to service/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.NestedFeaturesValue.instance.1 diff --git a/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.NestedFeaturesValue.instance.1.ids b/service/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.NestedFeaturesValue.instance.1.ids similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.NestedFeaturesValue.instance.1.ids rename to service/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.NestedFeaturesValue.instance.1.ids diff --git a/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.WeirdTuple.instance.1 b/service/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.WeirdTuple.instance.1 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.WeirdTuple.instance.1 rename to service/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.WeirdTuple.instance.1 diff --git a/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.WeirdTuple.instance.1.ids b/service/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.WeirdTuple.instance.1.ids similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.WeirdTuple.instance.1.ids rename to service/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.WeirdTuple.instance.1.ids diff --git a/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.spec b/service/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.spec similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.spec rename to service/src/test/resources/us/kbase/test/typedobj/files/IdProcessing/KB.spec diff --git a/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.FloatStructure.instance.1 b/service/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.FloatStructure.instance.1 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.FloatStructure.instance.1 rename to service/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.FloatStructure.instance.1 diff --git a/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MappingStruct.instance.1 b/service/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MappingStruct.instance.1 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MappingStruct.instance.1 rename to service/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MappingStruct.instance.1 diff --git a/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT1.instance.1 b/service/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT1.instance.1 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT1.instance.1 rename to service/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT1.instance.1 diff --git a/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT2.instance.1 b/service/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT2.instance.1 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT2.instance.1 rename to service/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT2.instance.1 diff --git a/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT3.instance.1 b/service/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT3.instance.1 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT3.instance.1 rename to service/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT3.instance.1 diff --git a/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT4.instance.1 b/service/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT4.instance.1 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT4.instance.1 rename to service/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT4.instance.1 diff --git a/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT5.instance.1 b/service/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT5.instance.1 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT5.instance.1 rename to service/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT5.instance.1 diff --git a/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT6.instance.1 b/service/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT6.instance.1 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT6.instance.1 rename to service/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT6.instance.1 diff --git a/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT7.instance.1 b/service/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT7.instance.1 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT7.instance.1 rename to service/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT7.instance.1 diff --git a/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT8.instance.1 b/service/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT8.instance.1 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT8.instance.1 rename to service/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT8.instance.1 diff --git a/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT9.instance.1 b/service/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT9.instance.1 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT9.instance.1 rename to service/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.MetaDataT9.instance.1 diff --git a/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.NoExtractionData.instance.1 b/service/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.NoExtractionData.instance.1 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.NoExtractionData.instance.1 rename to service/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.NoExtractionData.instance.1 diff --git a/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.SimpleStructure.instance.1 b/service/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.SimpleStructure.instance.1 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.SimpleStructure.instance.1 rename to service/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.SimpleStructure.instance.1 diff --git a/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.SimpleStructure.instance.2 b/service/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.SimpleStructure.instance.2 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.SimpleStructure.instance.2 rename to service/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.SimpleStructure.instance.2 diff --git a/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.SimpleStructure.instance.3 b/service/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.SimpleStructure.instance.3 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.SimpleStructure.instance.3 rename to service/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.SimpleStructure.instance.3 diff --git a/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.SimpleStructure.instance.4 b/service/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.SimpleStructure.instance.4 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.SimpleStructure.instance.4 rename to service/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.SimpleStructure.instance.4 diff --git a/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.SimpleStructure.instance.5 b/service/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.SimpleStructure.instance.5 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.SimpleStructure.instance.5 rename to service/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.SimpleStructure.instance.5 diff --git a/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.SimpleStructure.instance.6 b/service/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.SimpleStructure.instance.6 similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.SimpleStructure.instance.6 rename to service/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.SimpleStructure.instance.6 diff --git a/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.spec b/service/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.spec similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.spec rename to service/src/test/resources/us/kbase/test/typedobj/files/MetadataExtraction/KB.spec diff --git a/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/01.ExtractField.instance b/service/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/01.ExtractField.instance similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/01.ExtractField.instance rename to service/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/01.ExtractField.instance diff --git a/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/02.ExtractNestedField.instance b/service/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/02.ExtractNestedField.instance similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/02.ExtractNestedField.instance rename to service/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/02.ExtractNestedField.instance diff --git a/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/03.ExtractFieldFail.instance b/service/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/03.ExtractFieldFail.instance similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/03.ExtractFieldFail.instance rename to service/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/03.ExtractFieldFail.instance diff --git a/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/04.ExtractFromArray.instance b/service/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/04.ExtractFromArray.instance similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/04.ExtractFromArray.instance rename to service/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/04.ExtractFromArray.instance diff --git a/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/05.ExtractAllFromMap.instance b/service/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/05.ExtractAllFromMap.instance similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/05.ExtractAllFromMap.instance rename to service/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/05.ExtractAllFromMap.instance diff --git a/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/06.ExtractAllFromList.instance b/service/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/06.ExtractAllFromList.instance similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/06.ExtractAllFromList.instance rename to service/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/06.ExtractAllFromList.instance diff --git a/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/07.ExtractArrayPosFail.instance b/service/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/07.ExtractArrayPosFail.instance similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/07.ExtractArrayPosFail.instance rename to service/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/07.ExtractArrayPosFail.instance diff --git a/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/08.ExtractArrayPosFail2.instance b/service/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/08.ExtractArrayPosFail2.instance similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/08.ExtractArrayPosFail2.instance rename to service/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/08.ExtractArrayPosFail2.instance diff --git a/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/09.ExtractNestedField2.instance b/service/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/09.ExtractNestedField2.instance similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/09.ExtractNestedField2.instance rename to service/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/09.ExtractNestedField2.instance diff --git a/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/10.ExtractArrayElements.instance b/service/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/10.ExtractArrayElements.instance similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/10.ExtractArrayElements.instance rename to service/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/10.ExtractArrayElements.instance diff --git a/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/11.ExtractBooleansAndNull.instance b/service/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/11.ExtractBooleansAndNull.instance similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/11.ExtractBooleansAndNull.instance rename to service/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/11.ExtractBooleansAndNull.instance diff --git a/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/12.ExtractNumbers.instance b/service/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/12.ExtractNumbers.instance similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/12.ExtractNumbers.instance rename to service/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/12.ExtractNumbers.instance diff --git a/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/13.ExtractWithOptionalFieldsMissing.instance b/service/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/13.ExtractWithOptionalFieldsMissing.instance similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/13.ExtractWithOptionalFieldsMissing.instance rename to service/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/13.ExtractWithOptionalFieldsMissing.instance diff --git a/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/14.ExtractBadPathFail.instance b/service/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/14.ExtractBadPathFail.instance similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/14.ExtractBadPathFail.instance rename to service/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/14.ExtractBadPathFail.instance diff --git a/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/15.ExtractPathEscaped.instance b/service/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/15.ExtractPathEscaped.instance similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/15.ExtractPathEscaped.instance rename to service/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/15.ExtractPathEscaped.instance diff --git a/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/16.ExtractPathEscapedBad.instance b/service/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/16.ExtractPathEscapedBad.instance similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/16.ExtractPathEscapedBad.instance rename to service/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/16.ExtractPathEscapedBad.instance diff --git a/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/17.ExtractPathEscapedBad2.instance b/service/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/17.ExtractPathEscapedBad2.instance similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/17.ExtractPathEscapedBad2.instance rename to service/src/test/resources/us/kbase/test/typedobj/files/SubdataExtraction/17.ExtractPathEscapedBad2.instance diff --git a/src/test/resources/us/kbase/test/typedobj/files/t4/FBA.spec b/service/src/test/resources/us/kbase/test/typedobj/files/t4/FBA.spec similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/t4/FBA.spec rename to service/src/test/resources/us/kbase/test/typedobj/files/t4/FBA.spec diff --git a/src/test/resources/us/kbase/test/typedobj/files/t4/KB.spec b/service/src/test/resources/us/kbase/test/typedobj/files/t4/KB.spec similarity index 100% rename from src/test/resources/us/kbase/test/typedobj/files/t4/KB.spec rename to service/src/test/resources/us/kbase/test/typedobj/files/t4/KB.spec diff --git a/src/test/resources/us/kbase/test/workspace/docserver/docserverTestFile.html b/service/src/test/resources/us/kbase/test/workspace/docserver/docserverTestFile.html similarity index 100% rename from src/test/resources/us/kbase/test/workspace/docserver/docserverTestFile.html rename to service/src/test/resources/us/kbase/test/workspace/docserver/docserverTestFile.html diff --git a/src/test/resources/us/kbase/test/workspace/docserver/fake.css b/service/src/test/resources/us/kbase/test/workspace/docserver/fake.css similarity index 100% rename from src/test/resources/us/kbase/test/workspace/docserver/fake.css rename to service/src/test/resources/us/kbase/test/workspace/docserver/fake.css diff --git a/src/test/resources/us/kbase/test/workspace/docserver/fake.gif b/service/src/test/resources/us/kbase/test/workspace/docserver/fake.gif similarity index 100% rename from src/test/resources/us/kbase/test/workspace/docserver/fake.gif rename to service/src/test/resources/us/kbase/test/workspace/docserver/fake.gif diff --git a/src/test/resources/us/kbase/test/workspace/docserver/fake.js b/service/src/test/resources/us/kbase/test/workspace/docserver/fake.js similarity index 100% rename from src/test/resources/us/kbase/test/workspace/docserver/fake.js rename to service/src/test/resources/us/kbase/test/workspace/docserver/fake.js diff --git a/src/test/resources/us/kbase/test/workspace/docserver/fake.png b/service/src/test/resources/us/kbase/test/workspace/docserver/fake.png similarity index 100% rename from src/test/resources/us/kbase/test/workspace/docserver/fake.png rename to service/src/test/resources/us/kbase/test/workspace/docserver/fake.png diff --git a/src/test/resources/us/kbase/test/workspace/docserver/fake.spec b/service/src/test/resources/us/kbase/test/workspace/docserver/fake.spec similarity index 100% rename from src/test/resources/us/kbase/test/workspace/docserver/fake.spec rename to service/src/test/resources/us/kbase/test/workspace/docserver/fake.spec diff --git a/src/test/resources/us/kbase/test/workspace/docserver/fake.txt b/service/src/test/resources/us/kbase/test/workspace/docserver/fake.txt similarity index 100% rename from src/test/resources/us/kbase/test/workspace/docserver/fake.txt rename to service/src/test/resources/us/kbase/test/workspace/docserver/fake.txt diff --git a/src/test/resources/us/kbase/test/workspace/docserver/fake.weirdsuffix b/service/src/test/resources/us/kbase/test/workspace/docserver/fake.weirdsuffix similarity index 100% rename from src/test/resources/us/kbase/test/workspace/docserver/fake.weirdsuffix rename to service/src/test/resources/us/kbase/test/workspace/docserver/fake.weirdsuffix diff --git a/src/test/resources/us/kbase/test/workspace/docserver/files/docserverTestFile2.html b/service/src/test/resources/us/kbase/test/workspace/docserver/files/docserverTestFile2.html similarity index 100% rename from src/test/resources/us/kbase/test/workspace/docserver/files/docserverTestFile2.html rename to service/src/test/resources/us/kbase/test/workspace/docserver/files/docserverTestFile2.html diff --git a/src/test/resources/us/kbase/test/workspace/docserver/files/index.html b/service/src/test/resources/us/kbase/test/workspace/docserver/files/index.html similarity index 100% rename from src/test/resources/us/kbase/test/workspace/docserver/files/index.html rename to service/src/test/resources/us/kbase/test/workspace/docserver/files/index.html diff --git a/src/test/resources/us/kbase/test/workspace/docserver/index.html b/service/src/test/resources/us/kbase/test/workspace/docserver/index.html similarity index 100% rename from src/test/resources/us/kbase/test/workspace/docserver/index.html rename to service/src/test/resources/us/kbase/test/workspace/docserver/index.html diff --git a/src/test/resources/us/kbase/test/workspace/workspace/long_test_get_object_subset.json.gz.properties b/service/src/test/resources/us/kbase/test/workspace/workspace/long_test_get_object_subset.json.gz.properties similarity index 100% rename from src/test/resources/us/kbase/test/workspace/workspace/long_test_get_object_subset.json.gz.properties rename to service/src/test/resources/us/kbase/test/workspace/workspace/long_test_get_object_subset.json.gz.properties diff --git a/war/web.xml b/service/war/web.xml similarity index 100% rename from war/web.xml rename to service/war/web.xml diff --git a/settings.gradle b/settings.gradle index 957ae4c2..8c2e900a 100644 --- a/settings.gradle +++ b/settings.gradle @@ -9,3 +9,4 @@ */ rootProject.name = 'workspace_deluxe' +include 'service' From 3827b1fd4e0a28a6679b9e07019b9a73077d2b83 Mon Sep 17 00:00:00 2001 From: Gavin Date: Fri, 26 Apr 2024 13:48:01 -0700 Subject: [PATCH 46/48] Add a client module --- Dockerfile | 1 + client/build.gradle | 119 ++ .../java/us/kbase/common/service/Tuple11.java | 179 +++ .../java/us/kbase/common/service/Tuple12.java | 193 +++ .../java/us/kbase/common/service/Tuple7.java | 123 ++ .../java/us/kbase/common/service/Tuple9.java | 151 ++ .../AlterAdminObjectMetadataParams.java | 66 + .../AlterWorkspaceMetadataParams.java | 136 ++ .../kbase/workspace/CloneWorkspaceParams.java | 200 +++ .../us/kbase/workspace/CopyObjectParams.java | 202 +++ .../workspace/CreateWorkspaceParams.java | 125 ++ .../us/kbase/workspace/ExternalDataUnit.java | 204 +++ .../java/us/kbase/workspace/FuncInfo.java | 208 +++ .../kbase/workspace/GetAdminRoleResults.java | 63 + .../kbase/workspace/GetModuleInfoParams.java | 85 + .../workspace/GetNamesByPrefixParams.java | 105 ++ .../workspace/GetNamesByPrefixResults.java | 65 + .../kbase/workspace/GetObjectInfo3Params.java | 129 ++ .../workspace/GetObjectInfo3Results.java | 104 ++ .../workspace/GetObjectInfoNewParams.java | 110 ++ .../us/kbase/workspace/GetObjectOutput.java | 86 + .../us/kbase/workspace/GetObjectParams.java | 128 ++ .../kbase/workspace/GetObjectmetaParams.java | 127 ++ .../us/kbase/workspace/GetObjects2Params.java | 176 ++ .../kbase/workspace/GetObjects2Results.java | 64 + .../workspace/GetPermissionsMassParams.java | 65 + .../workspace/GetWorkspacemetaParams.java | 108 ++ .../workspace/GrantModuleOwnershipParams.java | 105 ++ .../kbase/workspace/ListAllTypesParams.java | 65 + .../workspace/ListModuleVersionsParams.java | 85 + .../us/kbase/workspace/ListModulesParams.java | 64 + .../us/kbase/workspace/ListObjectsParams.java | 461 ++++++ .../workspace/ListWorkspaceIDsParams.java | 105 ++ .../workspace/ListWorkspaceIDsResults.java | 85 + .../workspace/ListWorkspaceInfoParams.java | 248 +++ .../workspace/ListWorkspaceObjectsParams.java | 130 ++ .../kbase/workspace/ListWorkspacesParams.java | 88 + .../java/us/kbase/workspace/ModuleInfo.java | 219 +++ .../us/kbase/workspace/ModuleVersions.java | 104 ++ .../java/us/kbase/workspace/ObjectData.java | 414 +++++ .../us/kbase/workspace/ObjectIdentity.java | 164 ++ .../java/us/kbase/workspace/ObjectInfo.java | 295 ++++ .../kbase/workspace/ObjectMetadataUpdate.java | 163 ++ .../kbase/workspace/ObjectProvenanceInfo.java | 289 ++++ .../us/kbase/workspace/ObjectSaveData.java | 188 +++ .../kbase/workspace/ObjectSpecification.java | 367 +++++ .../us/kbase/workspace/ProvenanceAction.java | 426 +++++ .../workspace/RegisterTypespecCopyParams.java | 105 ++ .../workspace/RegisterTypespecParams.java | 194 +++ .../RemoveModuleOwnershipParams.java | 84 + .../kbase/workspace/RenameObjectParams.java | 140 ++ .../workspace/RenameWorkspaceParams.java | 113 ++ .../us/kbase/workspace/SaveObjectParams.java | 171 ++ .../us/kbase/workspace/SaveObjectsParams.java | 104 ++ .../workspace/SetGlobalPermissionsParams.java | 106 ++ .../kbase/workspace/SetPermissionsParams.java | 123 ++ .../SetWorkspaceDescriptionParams.java | 105 ++ .../java/us/kbase/workspace/SubAction.java | 152 ++ .../us/kbase/workspace/SubObjectIdentity.java | 229 +++ .../java/us/kbase/workspace/TypeInfo.java | 280 ++++ .../us/kbase/workspace/WorkspaceClient.java | 1426 +++++++++++++++++ .../us/kbase/workspace/WorkspaceIdentity.java | 83 + .../kbase/workspace/WorkspacePermissions.java | 64 + service/build.gradle | 10 - settings.gradle | 1 + 65 files changed, 10867 insertions(+), 10 deletions(-) create mode 100644 client/build.gradle create mode 100644 client/src/main/java/us/kbase/common/service/Tuple11.java create mode 100644 client/src/main/java/us/kbase/common/service/Tuple12.java create mode 100644 client/src/main/java/us/kbase/common/service/Tuple7.java create mode 100644 client/src/main/java/us/kbase/common/service/Tuple9.java create mode 100644 client/src/main/java/us/kbase/workspace/AlterAdminObjectMetadataParams.java create mode 100644 client/src/main/java/us/kbase/workspace/AlterWorkspaceMetadataParams.java create mode 100644 client/src/main/java/us/kbase/workspace/CloneWorkspaceParams.java create mode 100644 client/src/main/java/us/kbase/workspace/CopyObjectParams.java create mode 100644 client/src/main/java/us/kbase/workspace/CreateWorkspaceParams.java create mode 100644 client/src/main/java/us/kbase/workspace/ExternalDataUnit.java create mode 100644 client/src/main/java/us/kbase/workspace/FuncInfo.java create mode 100644 client/src/main/java/us/kbase/workspace/GetAdminRoleResults.java create mode 100644 client/src/main/java/us/kbase/workspace/GetModuleInfoParams.java create mode 100644 client/src/main/java/us/kbase/workspace/GetNamesByPrefixParams.java create mode 100644 client/src/main/java/us/kbase/workspace/GetNamesByPrefixResults.java create mode 100644 client/src/main/java/us/kbase/workspace/GetObjectInfo3Params.java create mode 100644 client/src/main/java/us/kbase/workspace/GetObjectInfo3Results.java create mode 100644 client/src/main/java/us/kbase/workspace/GetObjectInfoNewParams.java create mode 100644 client/src/main/java/us/kbase/workspace/GetObjectOutput.java create mode 100644 client/src/main/java/us/kbase/workspace/GetObjectParams.java create mode 100644 client/src/main/java/us/kbase/workspace/GetObjectmetaParams.java create mode 100644 client/src/main/java/us/kbase/workspace/GetObjects2Params.java create mode 100644 client/src/main/java/us/kbase/workspace/GetObjects2Results.java create mode 100644 client/src/main/java/us/kbase/workspace/GetPermissionsMassParams.java create mode 100644 client/src/main/java/us/kbase/workspace/GetWorkspacemetaParams.java create mode 100644 client/src/main/java/us/kbase/workspace/GrantModuleOwnershipParams.java create mode 100644 client/src/main/java/us/kbase/workspace/ListAllTypesParams.java create mode 100644 client/src/main/java/us/kbase/workspace/ListModuleVersionsParams.java create mode 100644 client/src/main/java/us/kbase/workspace/ListModulesParams.java create mode 100644 client/src/main/java/us/kbase/workspace/ListObjectsParams.java create mode 100644 client/src/main/java/us/kbase/workspace/ListWorkspaceIDsParams.java create mode 100644 client/src/main/java/us/kbase/workspace/ListWorkspaceIDsResults.java create mode 100644 client/src/main/java/us/kbase/workspace/ListWorkspaceInfoParams.java create mode 100644 client/src/main/java/us/kbase/workspace/ListWorkspaceObjectsParams.java create mode 100644 client/src/main/java/us/kbase/workspace/ListWorkspacesParams.java create mode 100644 client/src/main/java/us/kbase/workspace/ModuleInfo.java create mode 100644 client/src/main/java/us/kbase/workspace/ModuleVersions.java create mode 100644 client/src/main/java/us/kbase/workspace/ObjectData.java create mode 100644 client/src/main/java/us/kbase/workspace/ObjectIdentity.java create mode 100644 client/src/main/java/us/kbase/workspace/ObjectInfo.java create mode 100644 client/src/main/java/us/kbase/workspace/ObjectMetadataUpdate.java create mode 100644 client/src/main/java/us/kbase/workspace/ObjectProvenanceInfo.java create mode 100644 client/src/main/java/us/kbase/workspace/ObjectSaveData.java create mode 100644 client/src/main/java/us/kbase/workspace/ObjectSpecification.java create mode 100644 client/src/main/java/us/kbase/workspace/ProvenanceAction.java create mode 100644 client/src/main/java/us/kbase/workspace/RegisterTypespecCopyParams.java create mode 100644 client/src/main/java/us/kbase/workspace/RegisterTypespecParams.java create mode 100644 client/src/main/java/us/kbase/workspace/RemoveModuleOwnershipParams.java create mode 100644 client/src/main/java/us/kbase/workspace/RenameObjectParams.java create mode 100644 client/src/main/java/us/kbase/workspace/RenameWorkspaceParams.java create mode 100644 client/src/main/java/us/kbase/workspace/SaveObjectParams.java create mode 100644 client/src/main/java/us/kbase/workspace/SaveObjectsParams.java create mode 100644 client/src/main/java/us/kbase/workspace/SetGlobalPermissionsParams.java create mode 100644 client/src/main/java/us/kbase/workspace/SetPermissionsParams.java create mode 100644 client/src/main/java/us/kbase/workspace/SetWorkspaceDescriptionParams.java create mode 100644 client/src/main/java/us/kbase/workspace/SubAction.java create mode 100644 client/src/main/java/us/kbase/workspace/SubObjectIdentity.java create mode 100644 client/src/main/java/us/kbase/workspace/TypeInfo.java create mode 100644 client/src/main/java/us/kbase/workspace/WorkspaceClient.java create mode 100644 client/src/main/java/us/kbase/workspace/WorkspaceIdentity.java create mode 100644 client/src/main/java/us/kbase/workspace/WorkspacePermissions.java diff --git a/Dockerfile b/Dockerfile index 77cf4985..6f1cd55d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -19,6 +19,7 @@ COPY docshtml /tmp/workspace/docshtml/ COPY docsource /tmp/workspace/docsource/ COPY lib /tmp/workspace/lib/ COPY service /tmp/workspace/service +COPY client /tmp/workspace/client # for the git commit COPY .git /tmp/workspace/.git/ RUN ./gradlew war diff --git a/client/build.gradle b/client/build.gradle new file mode 100644 index 00000000..e6dd020f --- /dev/null +++ b/client/build.gradle @@ -0,0 +1,119 @@ +/* + * This file was generated by the Gradle 'init' task. + */ + +// TODO TEST switch to Kotlin DSL which is now the default and apparently better +// TODO TEST avoid early configuration, see +// https://docs.gradle.org/current/userguide/task_configuration_avoidance.html +// need to avoid withType as well apparently? + +plugins { + id 'java' + id 'maven-publish' +} + +group = 'com.github.kbase' + +var VER_JAVA_COMMON = "0.3.0" +var VER_AUTH2_CLIENT = "0.5.0" + +// TODO NOW update docs for jar locations & client use + + +var DEFAULT_URL = "https://ci.kbase.us/services/ws" + +var LOC_WS_SPEC = "$rootDir/workspace.spec" + +repositories { + mavenCentral() + maven { + name = "Jitpack" + url = 'https://jitpack.io' + } +} + +compileJava { + // build needs to be java 8 compatible so jars can be used in java 8 projects + // TODO BUILD remove when we no longer support java 8, use `options.release = 11` if needed + java.sourceCompatibility = JavaVersion.VERSION_1_8 + java.targetCompatibility = JavaVersion.VERSION_1_8 +} + +java { + withSourcesJar() + withJavadocJar() +} + +javadoc { + /* TODO DOCS the current sdk documenation looks like invalid html to javadoc + * need to go through and remove + * also some spots with < / > that need to be wrapped with {@code } in internal code + */ + failOnError = false + options { + links "https://docs.oracle.com/en/java/javase/11/docs/api/" + links "https://javadoc.jitpack.io/com/github/kbase/auth2_client_java/$VER_AUTH2_CLIENT/javadoc/" + links "https://javadoc.jitpack.io/com/github/kbase/java_common/$VER_JAVA_COMMON/javadoc/" + } +} + +/* SDK compile notes: + * kb-sdk starts a docker container in interactive mode. Gradle's commandLine doesn't allocate + * a tty so the command fails. + * I tried using a ProcessBuilder and + * https://docs.oracle.com/en%2Fjava%2Fjavase%2F11%2Fdocs%2Fapi%2F%2F/java.base/java/lang/ProcessBuilder.html#inheritIO() + * but that failed also with no useful output. + * + * The current solution is to precede the kb-sdk call with a script call, which either + * allocates a tty or fools kb-sdk into thinking there is one - not quite sure. + * https://man7.org/linux/man-pages/man1/script.1.html + * I tried to redirect the script log file to /dev/null with -O and --log-out but script didn't + * recognize either option, hence the delete. + * + * This is, generally speaking, a janky mess and if someone can find a better way to do this + * that'd be fantastic. + */ + +var LOC_SCRIPT_TYPESCRIPT = "./typescript" + +task sdkCompileJava { + // TODO GRADLE is there a variable for src/main/java? + var cmd = "kb-sdk compile " + + "--java " + + "--javasrc ${project.projectDir}/src/main/java/ " + + "--out . " + + "--url $DEFAULT_URL " + + LOC_WS_SPEC + doLast { + exec { + commandLine "script", "-qefc", cmd + } + delete LOC_SCRIPT_TYPESCRIPT + } +} + +task sdkCompile { + dependsOn sdkCompileJava +} + +task buildAll { + dependsOn jar +} + +publishing { + publications { + maven(MavenPublication) { + from components.java + artifactId = "workspace-client" + } + } +} + +dependencies { + // using older dependencies to not force upgrades on services that might not be able to + // handle them. Need to upgrade the services and then upgrade here + implementation "com.github.kbase:java_common:$VER_JAVA_COMMON" + implementation "com.fasterxml.jackson.core:jackson-databind:2.5.4" + implementation "com.github.kbase:auth2_client_java:$VER_AUTH2_CLIENT" + implementation 'javax.annotation:javax.annotation-api:1.3.2' +} diff --git a/client/src/main/java/us/kbase/common/service/Tuple11.java b/client/src/main/java/us/kbase/common/service/Tuple11.java new file mode 100644 index 00000000..9535aa90 --- /dev/null +++ b/client/src/main/java/us/kbase/common/service/Tuple11.java @@ -0,0 +1,179 @@ +package us.kbase.common.service; + +import java.util.HashMap; +import java.util.Map; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; + +public class Tuple11 { + private T1 e1; + private T2 e2; + private T3 e3; + private T4 e4; + private T5 e5; + private T6 e6; + private T7 e7; + private T8 e8; + private T9 e9; + private T10 e10; + private T11 e11; + private Map additionalProperties = new HashMap(); + + public T1 getE1() { + return e1; + } + + public void setE1(T1 e1) { + this.e1 = e1; + } + + public Tuple11 withE1(T1 e1) { + this.e1 = e1; + return this; + } + + public T2 getE2() { + return e2; + } + + public void setE2(T2 e2) { + this.e2 = e2; + } + + public Tuple11 withE2(T2 e2) { + this.e2 = e2; + return this; + } + + public T3 getE3() { + return e3; + } + + public void setE3(T3 e3) { + this.e3 = e3; + } + + public Tuple11 withE3(T3 e3) { + this.e3 = e3; + return this; + } + + public T4 getE4() { + return e4; + } + + public void setE4(T4 e4) { + this.e4 = e4; + } + + public Tuple11 withE4(T4 e4) { + this.e4 = e4; + return this; + } + + public T5 getE5() { + return e5; + } + + public void setE5(T5 e5) { + this.e5 = e5; + } + + public Tuple11 withE5(T5 e5) { + this.e5 = e5; + return this; + } + + public T6 getE6() { + return e6; + } + + public void setE6(T6 e6) { + this.e6 = e6; + } + + public Tuple11 withE6(T6 e6) { + this.e6 = e6; + return this; + } + + public T7 getE7() { + return e7; + } + + public void setE7(T7 e7) { + this.e7 = e7; + } + + public Tuple11 withE7(T7 e7) { + this.e7 = e7; + return this; + } + + public T8 getE8() { + return e8; + } + + public void setE8(T8 e8) { + this.e8 = e8; + } + + public Tuple11 withE8(T8 e8) { + this.e8 = e8; + return this; + } + + public T9 getE9() { + return e9; + } + + public void setE9(T9 e9) { + this.e9 = e9; + } + + public Tuple11 withE9(T9 e9) { + this.e9 = e9; + return this; + } + + public T10 getE10() { + return e10; + } + + public void setE10(T10 e10) { + this.e10 = e10; + } + + public Tuple11 withE10(T10 e10) { + this.e10 = e10; + return this; + } + + public T11 getE11() { + return e11; + } + + public void setE11(T11 e11) { + this.e11 = e11; + } + + public Tuple11 withE11(T11 e11) { + this.e11 = e11; + return this; + } + + @Override + public String toString() { + return "Tuple11 [e1=" + e1 + ", e2=" + e2 + ", e3=" + e3 + ", e4=" + e4 + ", e5=" + e5 + ", e6=" + e6 + ", e7=" + e7 + ", e8=" + e8 + ", e9=" + e9 + ", e10=" + e10 + ", e11=" + e11 + "]"; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(String name, Object value) { + this.additionalProperties.put(name, value); + } +} diff --git a/client/src/main/java/us/kbase/common/service/Tuple12.java b/client/src/main/java/us/kbase/common/service/Tuple12.java new file mode 100644 index 00000000..36396e4d --- /dev/null +++ b/client/src/main/java/us/kbase/common/service/Tuple12.java @@ -0,0 +1,193 @@ +package us.kbase.common.service; + +import java.util.HashMap; +import java.util.Map; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; + +public class Tuple12 { + private T1 e1; + private T2 e2; + private T3 e3; + private T4 e4; + private T5 e5; + private T6 e6; + private T7 e7; + private T8 e8; + private T9 e9; + private T10 e10; + private T11 e11; + private T12 e12; + private Map additionalProperties = new HashMap(); + + public T1 getE1() { + return e1; + } + + public void setE1(T1 e1) { + this.e1 = e1; + } + + public Tuple12 withE1(T1 e1) { + this.e1 = e1; + return this; + } + + public T2 getE2() { + return e2; + } + + public void setE2(T2 e2) { + this.e2 = e2; + } + + public Tuple12 withE2(T2 e2) { + this.e2 = e2; + return this; + } + + public T3 getE3() { + return e3; + } + + public void setE3(T3 e3) { + this.e3 = e3; + } + + public Tuple12 withE3(T3 e3) { + this.e3 = e3; + return this; + } + + public T4 getE4() { + return e4; + } + + public void setE4(T4 e4) { + this.e4 = e4; + } + + public Tuple12 withE4(T4 e4) { + this.e4 = e4; + return this; + } + + public T5 getE5() { + return e5; + } + + public void setE5(T5 e5) { + this.e5 = e5; + } + + public Tuple12 withE5(T5 e5) { + this.e5 = e5; + return this; + } + + public T6 getE6() { + return e6; + } + + public void setE6(T6 e6) { + this.e6 = e6; + } + + public Tuple12 withE6(T6 e6) { + this.e6 = e6; + return this; + } + + public T7 getE7() { + return e7; + } + + public void setE7(T7 e7) { + this.e7 = e7; + } + + public Tuple12 withE7(T7 e7) { + this.e7 = e7; + return this; + } + + public T8 getE8() { + return e8; + } + + public void setE8(T8 e8) { + this.e8 = e8; + } + + public Tuple12 withE8(T8 e8) { + this.e8 = e8; + return this; + } + + public T9 getE9() { + return e9; + } + + public void setE9(T9 e9) { + this.e9 = e9; + } + + public Tuple12 withE9(T9 e9) { + this.e9 = e9; + return this; + } + + public T10 getE10() { + return e10; + } + + public void setE10(T10 e10) { + this.e10 = e10; + } + + public Tuple12 withE10(T10 e10) { + this.e10 = e10; + return this; + } + + public T11 getE11() { + return e11; + } + + public void setE11(T11 e11) { + this.e11 = e11; + } + + public Tuple12 withE11(T11 e11) { + this.e11 = e11; + return this; + } + + public T12 getE12() { + return e12; + } + + public void setE12(T12 e12) { + this.e12 = e12; + } + + public Tuple12 withE12(T12 e12) { + this.e12 = e12; + return this; + } + + @Override + public String toString() { + return "Tuple12 [e1=" + e1 + ", e2=" + e2 + ", e3=" + e3 + ", e4=" + e4 + ", e5=" + e5 + ", e6=" + e6 + ", e7=" + e7 + ", e8=" + e8 + ", e9=" + e9 + ", e10=" + e10 + ", e11=" + e11 + ", e12=" + e12 + "]"; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(String name, Object value) { + this.additionalProperties.put(name, value); + } +} diff --git a/client/src/main/java/us/kbase/common/service/Tuple7.java b/client/src/main/java/us/kbase/common/service/Tuple7.java new file mode 100644 index 00000000..95954603 --- /dev/null +++ b/client/src/main/java/us/kbase/common/service/Tuple7.java @@ -0,0 +1,123 @@ +package us.kbase.common.service; + +import java.util.HashMap; +import java.util.Map; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; + +public class Tuple7 { + private T1 e1; + private T2 e2; + private T3 e3; + private T4 e4; + private T5 e5; + private T6 e6; + private T7 e7; + private Map additionalProperties = new HashMap(); + + public T1 getE1() { + return e1; + } + + public void setE1(T1 e1) { + this.e1 = e1; + } + + public Tuple7 withE1(T1 e1) { + this.e1 = e1; + return this; + } + + public T2 getE2() { + return e2; + } + + public void setE2(T2 e2) { + this.e2 = e2; + } + + public Tuple7 withE2(T2 e2) { + this.e2 = e2; + return this; + } + + public T3 getE3() { + return e3; + } + + public void setE3(T3 e3) { + this.e3 = e3; + } + + public Tuple7 withE3(T3 e3) { + this.e3 = e3; + return this; + } + + public T4 getE4() { + return e4; + } + + public void setE4(T4 e4) { + this.e4 = e4; + } + + public Tuple7 withE4(T4 e4) { + this.e4 = e4; + return this; + } + + public T5 getE5() { + return e5; + } + + public void setE5(T5 e5) { + this.e5 = e5; + } + + public Tuple7 withE5(T5 e5) { + this.e5 = e5; + return this; + } + + public T6 getE6() { + return e6; + } + + public void setE6(T6 e6) { + this.e6 = e6; + } + + public Tuple7 withE6(T6 e6) { + this.e6 = e6; + return this; + } + + public T7 getE7() { + return e7; + } + + public void setE7(T7 e7) { + this.e7 = e7; + } + + public Tuple7 withE7(T7 e7) { + this.e7 = e7; + return this; + } + + @Override + public String toString() { + return "Tuple7 [e1=" + e1 + ", e2=" + e2 + ", e3=" + e3 + ", e4=" + e4 + ", e5=" + e5 + ", e6=" + e6 + ", e7=" + e7 + "]"; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(String name, Object value) { + this.additionalProperties.put(name, value); + } +} diff --git a/client/src/main/java/us/kbase/common/service/Tuple9.java b/client/src/main/java/us/kbase/common/service/Tuple9.java new file mode 100644 index 00000000..61091a04 --- /dev/null +++ b/client/src/main/java/us/kbase/common/service/Tuple9.java @@ -0,0 +1,151 @@ +package us.kbase.common.service; + +import java.util.HashMap; +import java.util.Map; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; + +public class Tuple9 { + private T1 e1; + private T2 e2; + private T3 e3; + private T4 e4; + private T5 e5; + private T6 e6; + private T7 e7; + private T8 e8; + private T9 e9; + private Map additionalProperties = new HashMap(); + + public T1 getE1() { + return e1; + } + + public void setE1(T1 e1) { + this.e1 = e1; + } + + public Tuple9 withE1(T1 e1) { + this.e1 = e1; + return this; + } + + public T2 getE2() { + return e2; + } + + public void setE2(T2 e2) { + this.e2 = e2; + } + + public Tuple9 withE2(T2 e2) { + this.e2 = e2; + return this; + } + + public T3 getE3() { + return e3; + } + + public void setE3(T3 e3) { + this.e3 = e3; + } + + public Tuple9 withE3(T3 e3) { + this.e3 = e3; + return this; + } + + public T4 getE4() { + return e4; + } + + public void setE4(T4 e4) { + this.e4 = e4; + } + + public Tuple9 withE4(T4 e4) { + this.e4 = e4; + return this; + } + + public T5 getE5() { + return e5; + } + + public void setE5(T5 e5) { + this.e5 = e5; + } + + public Tuple9 withE5(T5 e5) { + this.e5 = e5; + return this; + } + + public T6 getE6() { + return e6; + } + + public void setE6(T6 e6) { + this.e6 = e6; + } + + public Tuple9 withE6(T6 e6) { + this.e6 = e6; + return this; + } + + public T7 getE7() { + return e7; + } + + public void setE7(T7 e7) { + this.e7 = e7; + } + + public Tuple9 withE7(T7 e7) { + this.e7 = e7; + return this; + } + + public T8 getE8() { + return e8; + } + + public void setE8(T8 e8) { + this.e8 = e8; + } + + public Tuple9 withE8(T8 e8) { + this.e8 = e8; + return this; + } + + public T9 getE9() { + return e9; + } + + public void setE9(T9 e9) { + this.e9 = e9; + } + + public Tuple9 withE9(T9 e9) { + this.e9 = e9; + return this; + } + + @Override + public String toString() { + return "Tuple9 [e1=" + e1 + ", e2=" + e2 + ", e3=" + e3 + ", e4=" + e4 + ", e5=" + e5 + ", e6=" + e6 + ", e7=" + e7 + ", e8=" + e8 + ", e9=" + e9 + "]"; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(String name, Object value) { + this.additionalProperties.put(name, value); + } +} diff --git a/client/src/main/java/us/kbase/workspace/AlterAdminObjectMetadataParams.java b/client/src/main/java/us/kbase/workspace/AlterAdminObjectMetadataParams.java new file mode 100644 index 00000000..62c056ca --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/AlterAdminObjectMetadataParams.java @@ -0,0 +1,66 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: AlterAdminObjectMetadataParams

+ *
+ * Input parameters for the alter_admin_object_metadata method.
+ *         updates - the metadata updates to apply to the objects. If the same object is specified
+ *                 twice in the list, the update order is unspecified. At most 1000 updates are allowed
+ *                 in one call.
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "updates" +}) +public class AlterAdminObjectMetadataParams { + + @JsonProperty("updates") + private List updates; + private Map additionalProperties = new HashMap(); + + @JsonProperty("updates") + public List getUpdates() { + return updates; + } + + @JsonProperty("updates") + public void setUpdates(List updates) { + this.updates = updates; + } + + public AlterAdminObjectMetadataParams withUpdates(List updates) { + this.updates = updates; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public String toString() { + return ((((("AlterAdminObjectMetadataParams"+" [updates=")+ updates)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/AlterWorkspaceMetadataParams.java b/client/src/main/java/us/kbase/workspace/AlterWorkspaceMetadataParams.java new file mode 100644 index 00000000..c063c903 --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/AlterWorkspaceMetadataParams.java @@ -0,0 +1,136 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: AlterWorkspaceMetadataParams

+ *
+ * Input parameters for the "alter_workspace_metadata" function.
+ *                 Required arguments:
+ *                 WorkspaceIdentity wsi - the workspace to be altered
+ *                 One or both of the following arguments are required:
+ *                 usermeta new - metadata to assign to the workspace. Duplicate keys will
+ *                         be overwritten.
+ *                 list remove - these keys will be removed from the workspace
+ *                         metadata key/value pairs.
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "wsi", + "new", + "remove" +}) +public class AlterWorkspaceMetadataParams { + + /** + *

Original spec-file type: WorkspaceIdentity

+ *
+     * A workspace identifier.
+     *                 Select a workspace by one, and only one, of the numerical id or name.
+     *                 ws_id id - the numerical ID of the workspace.
+     *                 ws_name workspace - the name of the workspace.
+     * 
+ * + */ + @JsonProperty("wsi") + private WorkspaceIdentity wsi; + @JsonProperty("new") + private Map _new; + @JsonProperty("remove") + private List remove; + private Map additionalProperties = new HashMap(); + + /** + *

Original spec-file type: WorkspaceIdentity

+ *
+     * A workspace identifier.
+     *                 Select a workspace by one, and only one, of the numerical id or name.
+     *                 ws_id id - the numerical ID of the workspace.
+     *                 ws_name workspace - the name of the workspace.
+     * 
+ * + */ + @JsonProperty("wsi") + public WorkspaceIdentity getWsi() { + return wsi; + } + + /** + *

Original spec-file type: WorkspaceIdentity

+ *
+     * A workspace identifier.
+     *                 Select a workspace by one, and only one, of the numerical id or name.
+     *                 ws_id id - the numerical ID of the workspace.
+     *                 ws_name workspace - the name of the workspace.
+     * 
+ * + */ + @JsonProperty("wsi") + public void setWsi(WorkspaceIdentity wsi) { + this.wsi = wsi; + } + + public AlterWorkspaceMetadataParams withWsi(WorkspaceIdentity wsi) { + this.wsi = wsi; + return this; + } + + @JsonProperty("new") + public Map getNew() { + return _new; + } + + @JsonProperty("new") + public void setNew(Map _new) { + this._new = _new; + } + + public AlterWorkspaceMetadataParams withNew(Map _new) { + this._new = _new; + return this; + } + + @JsonProperty("remove") + public List getRemove() { + return remove; + } + + @JsonProperty("remove") + public void setRemove(List remove) { + this.remove = remove; + } + + public AlterWorkspaceMetadataParams withRemove(List remove) { + this.remove = remove; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(java.lang.String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public java.lang.String toString() { + return ((((((((("AlterWorkspaceMetadataParams"+" [wsi=")+ wsi)+", _new=")+ _new)+", remove=")+ remove)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/CloneWorkspaceParams.java b/client/src/main/java/us/kbase/workspace/CloneWorkspaceParams.java new file mode 100644 index 00000000..44f6e73a --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/CloneWorkspaceParams.java @@ -0,0 +1,200 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: CloneWorkspaceParams

+ *
+ * Input parameters for the "clone_workspace" function.
+ *                 Note that deleted objects are not cloned, although hidden objects are
+ *                 and remain hidden in the new workspace.
+ *                 Required arguments:
+ *                 WorkspaceIdentity wsi - the workspace to be cloned.
+ *                 ws_name workspace - name of the workspace to be cloned into. This must
+ *                         be a non-existant workspace name.
+ *                 Optional arguments:
+ *                 permission globalread - 'r' to set the new workspace globally readable,
+ *                         default 'n'.
+ *                 string description - A free-text description of the new workspace, 1000
+ *                         characters max. Longer strings will be mercilessly and brutally
+ *                         truncated.
+ *                 usermeta meta - arbitrary user-supplied metadata for the workspace.
+ *                 list exclude - exclude the specified objects from the
+ *                         cloned workspace. Either an object ID or a object name must be
+ *                         specified in each ObjectIdentity - any supplied reference strings,
+ *                         workspace names or IDs, and versions are ignored.
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "wsi", + "workspace", + "globalread", + "description", + "meta", + "exclude" +}) +public class CloneWorkspaceParams { + + /** + *

Original spec-file type: WorkspaceIdentity

+ *
+     * A workspace identifier.
+     *                 Select a workspace by one, and only one, of the numerical id or name.
+     *                 ws_id id - the numerical ID of the workspace.
+     *                 ws_name workspace - the name of the workspace.
+     * 
+ * + */ + @JsonProperty("wsi") + private WorkspaceIdentity wsi; + @JsonProperty("workspace") + private java.lang.String workspace; + @JsonProperty("globalread") + private java.lang.String globalread; + @JsonProperty("description") + private java.lang.String description; + @JsonProperty("meta") + private Map meta; + @JsonProperty("exclude") + private List exclude; + private Map additionalProperties = new HashMap(); + + /** + *

Original spec-file type: WorkspaceIdentity

+ *
+     * A workspace identifier.
+     *                 Select a workspace by one, and only one, of the numerical id or name.
+     *                 ws_id id - the numerical ID of the workspace.
+     *                 ws_name workspace - the name of the workspace.
+     * 
+ * + */ + @JsonProperty("wsi") + public WorkspaceIdentity getWsi() { + return wsi; + } + + /** + *

Original spec-file type: WorkspaceIdentity

+ *
+     * A workspace identifier.
+     *                 Select a workspace by one, and only one, of the numerical id or name.
+     *                 ws_id id - the numerical ID of the workspace.
+     *                 ws_name workspace - the name of the workspace.
+     * 
+ * + */ + @JsonProperty("wsi") + public void setWsi(WorkspaceIdentity wsi) { + this.wsi = wsi; + } + + public CloneWorkspaceParams withWsi(WorkspaceIdentity wsi) { + this.wsi = wsi; + return this; + } + + @JsonProperty("workspace") + public java.lang.String getWorkspace() { + return workspace; + } + + @JsonProperty("workspace") + public void setWorkspace(java.lang.String workspace) { + this.workspace = workspace; + } + + public CloneWorkspaceParams withWorkspace(java.lang.String workspace) { + this.workspace = workspace; + return this; + } + + @JsonProperty("globalread") + public java.lang.String getGlobalread() { + return globalread; + } + + @JsonProperty("globalread") + public void setGlobalread(java.lang.String globalread) { + this.globalread = globalread; + } + + public CloneWorkspaceParams withGlobalread(java.lang.String globalread) { + this.globalread = globalread; + return this; + } + + @JsonProperty("description") + public java.lang.String getDescription() { + return description; + } + + @JsonProperty("description") + public void setDescription(java.lang.String description) { + this.description = description; + } + + public CloneWorkspaceParams withDescription(java.lang.String description) { + this.description = description; + return this; + } + + @JsonProperty("meta") + public Map getMeta() { + return meta; + } + + @JsonProperty("meta") + public void setMeta(Map meta) { + this.meta = meta; + } + + public CloneWorkspaceParams withMeta(Map meta) { + this.meta = meta; + return this; + } + + @JsonProperty("exclude") + public List getExclude() { + return exclude; + } + + @JsonProperty("exclude") + public void setExclude(List exclude) { + this.exclude = exclude; + } + + public CloneWorkspaceParams withExclude(List exclude) { + this.exclude = exclude; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(java.lang.String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public java.lang.String toString() { + return ((((((((((((((("CloneWorkspaceParams"+" [wsi=")+ wsi)+", workspace=")+ workspace)+", globalread=")+ globalread)+", description=")+ description)+", meta=")+ meta)+", exclude=")+ exclude)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/CopyObjectParams.java b/client/src/main/java/us/kbase/workspace/CopyObjectParams.java new file mode 100644 index 00000000..2a1ecab6 --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/CopyObjectParams.java @@ -0,0 +1,202 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: CopyObjectParams

+ *
+ * Input parameters for the 'copy_object' function.
+ *                 If the 'from' ObjectIdentity includes no version and the object is
+ *                 copied to a new name, the entire version history of the object is
+ *                 copied. In all other cases only the version specified, or the latest
+ *                 version if no version is specified, is copied.
+ *                 The version from the 'to' ObjectIdentity is always ignored.
+ *                 Required arguments:
+ *                 ObjectIdentity from - the object to copy.
+ *                 ObjectIdentity to - where to copy the object.
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "from", + "to" +}) +public class CopyObjectParams { + + /** + *

Original spec-file type: ObjectIdentity

+ *
+     * An object identifier.
+     *                 Select an object by either:
+     *                         One, and only one, of the numerical id or name of the workspace.
+     *                                 ws_id wsid - the numerical ID of the workspace.
+     *                                 ws_name workspace - the name of the workspace.
+     *                         AND
+     *                         One, and only one, of the numerical id or name of the object.
+     *                                 obj_id objid- the numerical ID of the object.
+     *                                 obj_name name - name of the object.
+     *                         OPTIONALLY
+     *                                 obj_ver ver - the version of the object.
+     *                 OR an object reference string:
+     *                         obj_ref ref - an object reference string.
+     * 
+ * + */ + @JsonProperty("from") + private ObjectIdentity from; + /** + *

Original spec-file type: ObjectIdentity

+ *
+     * An object identifier.
+     *                 Select an object by either:
+     *                         One, and only one, of the numerical id or name of the workspace.
+     *                                 ws_id wsid - the numerical ID of the workspace.
+     *                                 ws_name workspace - the name of the workspace.
+     *                         AND
+     *                         One, and only one, of the numerical id or name of the object.
+     *                                 obj_id objid- the numerical ID of the object.
+     *                                 obj_name name - name of the object.
+     *                         OPTIONALLY
+     *                                 obj_ver ver - the version of the object.
+     *                 OR an object reference string:
+     *                         obj_ref ref - an object reference string.
+     * 
+ * + */ + @JsonProperty("to") + private ObjectIdentity to; + private Map additionalProperties = new HashMap(); + + /** + *

Original spec-file type: ObjectIdentity

+ *
+     * An object identifier.
+     *                 Select an object by either:
+     *                         One, and only one, of the numerical id or name of the workspace.
+     *                                 ws_id wsid - the numerical ID of the workspace.
+     *                                 ws_name workspace - the name of the workspace.
+     *                         AND
+     *                         One, and only one, of the numerical id or name of the object.
+     *                                 obj_id objid- the numerical ID of the object.
+     *                                 obj_name name - name of the object.
+     *                         OPTIONALLY
+     *                                 obj_ver ver - the version of the object.
+     *                 OR an object reference string:
+     *                         obj_ref ref - an object reference string.
+     * 
+ * + */ + @JsonProperty("from") + public ObjectIdentity getFrom() { + return from; + } + + /** + *

Original spec-file type: ObjectIdentity

+ *
+     * An object identifier.
+     *                 Select an object by either:
+     *                         One, and only one, of the numerical id or name of the workspace.
+     *                                 ws_id wsid - the numerical ID of the workspace.
+     *                                 ws_name workspace - the name of the workspace.
+     *                         AND
+     *                         One, and only one, of the numerical id or name of the object.
+     *                                 obj_id objid- the numerical ID of the object.
+     *                                 obj_name name - name of the object.
+     *                         OPTIONALLY
+     *                                 obj_ver ver - the version of the object.
+     *                 OR an object reference string:
+     *                         obj_ref ref - an object reference string.
+     * 
+ * + */ + @JsonProperty("from") + public void setFrom(ObjectIdentity from) { + this.from = from; + } + + public CopyObjectParams withFrom(ObjectIdentity from) { + this.from = from; + return this; + } + + /** + *

Original spec-file type: ObjectIdentity

+ *
+     * An object identifier.
+     *                 Select an object by either:
+     *                         One, and only one, of the numerical id or name of the workspace.
+     *                                 ws_id wsid - the numerical ID of the workspace.
+     *                                 ws_name workspace - the name of the workspace.
+     *                         AND
+     *                         One, and only one, of the numerical id or name of the object.
+     *                                 obj_id objid- the numerical ID of the object.
+     *                                 obj_name name - name of the object.
+     *                         OPTIONALLY
+     *                                 obj_ver ver - the version of the object.
+     *                 OR an object reference string:
+     *                         obj_ref ref - an object reference string.
+     * 
+ * + */ + @JsonProperty("to") + public ObjectIdentity getTo() { + return to; + } + + /** + *

Original spec-file type: ObjectIdentity

+ *
+     * An object identifier.
+     *                 Select an object by either:
+     *                         One, and only one, of the numerical id or name of the workspace.
+     *                                 ws_id wsid - the numerical ID of the workspace.
+     *                                 ws_name workspace - the name of the workspace.
+     *                         AND
+     *                         One, and only one, of the numerical id or name of the object.
+     *                                 obj_id objid- the numerical ID of the object.
+     *                                 obj_name name - name of the object.
+     *                         OPTIONALLY
+     *                                 obj_ver ver - the version of the object.
+     *                 OR an object reference string:
+     *                         obj_ref ref - an object reference string.
+     * 
+ * + */ + @JsonProperty("to") + public void setTo(ObjectIdentity to) { + this.to = to; + } + + public CopyObjectParams withTo(ObjectIdentity to) { + this.to = to; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public String toString() { + return ((((((("CopyObjectParams"+" [from=")+ from)+", to=")+ to)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/CreateWorkspaceParams.java b/client/src/main/java/us/kbase/workspace/CreateWorkspaceParams.java new file mode 100644 index 00000000..0639920b --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/CreateWorkspaceParams.java @@ -0,0 +1,125 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: CreateWorkspaceParams

+ *
+ * Input parameters for the "create_workspace" function.
+ *                 Required arguments:
+ *                 ws_name workspace - name of the workspace to be created.
+ *                 Optional arguments:
+ *                 permission globalread - 'r' to set the new workspace globally readable,
+ *                         default 'n'.
+ *                 string description - A free-text description of the new workspace, 1000
+ *                         characters max. Longer strings will be mercilessly and brutally
+ *                         truncated.
+ *                 usermeta meta - arbitrary user-supplied metadata for the workspace.
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "workspace", + "globalread", + "description", + "meta" +}) +public class CreateWorkspaceParams { + + @JsonProperty("workspace") + private java.lang.String workspace; + @JsonProperty("globalread") + private java.lang.String globalread; + @JsonProperty("description") + private java.lang.String description; + @JsonProperty("meta") + private Map meta; + private Map additionalProperties = new HashMap(); + + @JsonProperty("workspace") + public java.lang.String getWorkspace() { + return workspace; + } + + @JsonProperty("workspace") + public void setWorkspace(java.lang.String workspace) { + this.workspace = workspace; + } + + public CreateWorkspaceParams withWorkspace(java.lang.String workspace) { + this.workspace = workspace; + return this; + } + + @JsonProperty("globalread") + public java.lang.String getGlobalread() { + return globalread; + } + + @JsonProperty("globalread") + public void setGlobalread(java.lang.String globalread) { + this.globalread = globalread; + } + + public CreateWorkspaceParams withGlobalread(java.lang.String globalread) { + this.globalread = globalread; + return this; + } + + @JsonProperty("description") + public java.lang.String getDescription() { + return description; + } + + @JsonProperty("description") + public void setDescription(java.lang.String description) { + this.description = description; + } + + public CreateWorkspaceParams withDescription(java.lang.String description) { + this.description = description; + return this; + } + + @JsonProperty("meta") + public Map getMeta() { + return meta; + } + + @JsonProperty("meta") + public void setMeta(Map meta) { + this.meta = meta; + } + + public CreateWorkspaceParams withMeta(Map meta) { + this.meta = meta; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(java.lang.String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public java.lang.String toString() { + return ((((((((((("CreateWorkspaceParams"+" [workspace=")+ workspace)+", globalread=")+ globalread)+", description=")+ description)+", meta=")+ meta)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/ExternalDataUnit.java b/client/src/main/java/us/kbase/workspace/ExternalDataUnit.java new file mode 100644 index 00000000..179733cb --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/ExternalDataUnit.java @@ -0,0 +1,204 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: ExternalDataUnit

+ *
+ * An external data unit. A piece of data from a source outside the
+ * Workspace.
+ * On input, only one of the resource_release_date or
+ * resource_release_epoch may be supplied. Both are supplied on output.
+ * All fields are optional, but at least one field must be present.
+ * string resource_name - the name of the resource, for example JGI.
+ * string resource_url - the url of the resource, for example
+ *         http://genome.jgi.doe.gov
+ * string resource_version - version of the resource
+ * timestamp resource_release_date - the release date of the resource
+ * epoch resource_release_epoch - the release date of the resource
+ * string data_url - the url of the data, for example
+ *         http://genome.jgi.doe.gov/pages/dynamicOrganismDownload.jsf?
+ *                 organism=BlaspURHD0036
+ * string data_id - the id of the data, for example
+ *         7625.2.79179.AGTTCC.adnq.fastq.gz
+ * string description - a free text description of the data.
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "resource_name", + "resource_url", + "resource_version", + "resource_release_date", + "resource_release_epoch", + "data_url", + "data_id", + "description" +}) +public class ExternalDataUnit { + + @JsonProperty("resource_name") + private String resourceName; + @JsonProperty("resource_url") + private String resourceUrl; + @JsonProperty("resource_version") + private String resourceVersion; + @JsonProperty("resource_release_date") + private String resourceReleaseDate; + @JsonProperty("resource_release_epoch") + private Long resourceReleaseEpoch; + @JsonProperty("data_url") + private String dataUrl; + @JsonProperty("data_id") + private String dataId; + @JsonProperty("description") + private String description; + private Map additionalProperties = new HashMap(); + + @JsonProperty("resource_name") + public String getResourceName() { + return resourceName; + } + + @JsonProperty("resource_name") + public void setResourceName(String resourceName) { + this.resourceName = resourceName; + } + + public ExternalDataUnit withResourceName(String resourceName) { + this.resourceName = resourceName; + return this; + } + + @JsonProperty("resource_url") + public String getResourceUrl() { + return resourceUrl; + } + + @JsonProperty("resource_url") + public void setResourceUrl(String resourceUrl) { + this.resourceUrl = resourceUrl; + } + + public ExternalDataUnit withResourceUrl(String resourceUrl) { + this.resourceUrl = resourceUrl; + return this; + } + + @JsonProperty("resource_version") + public String getResourceVersion() { + return resourceVersion; + } + + @JsonProperty("resource_version") + public void setResourceVersion(String resourceVersion) { + this.resourceVersion = resourceVersion; + } + + public ExternalDataUnit withResourceVersion(String resourceVersion) { + this.resourceVersion = resourceVersion; + return this; + } + + @JsonProperty("resource_release_date") + public String getResourceReleaseDate() { + return resourceReleaseDate; + } + + @JsonProperty("resource_release_date") + public void setResourceReleaseDate(String resourceReleaseDate) { + this.resourceReleaseDate = resourceReleaseDate; + } + + public ExternalDataUnit withResourceReleaseDate(String resourceReleaseDate) { + this.resourceReleaseDate = resourceReleaseDate; + return this; + } + + @JsonProperty("resource_release_epoch") + public Long getResourceReleaseEpoch() { + return resourceReleaseEpoch; + } + + @JsonProperty("resource_release_epoch") + public void setResourceReleaseEpoch(Long resourceReleaseEpoch) { + this.resourceReleaseEpoch = resourceReleaseEpoch; + } + + public ExternalDataUnit withResourceReleaseEpoch(Long resourceReleaseEpoch) { + this.resourceReleaseEpoch = resourceReleaseEpoch; + return this; + } + + @JsonProperty("data_url") + public String getDataUrl() { + return dataUrl; + } + + @JsonProperty("data_url") + public void setDataUrl(String dataUrl) { + this.dataUrl = dataUrl; + } + + public ExternalDataUnit withDataUrl(String dataUrl) { + this.dataUrl = dataUrl; + return this; + } + + @JsonProperty("data_id") + public String getDataId() { + return dataId; + } + + @JsonProperty("data_id") + public void setDataId(String dataId) { + this.dataId = dataId; + } + + public ExternalDataUnit withDataId(String dataId) { + this.dataId = dataId; + return this; + } + + @JsonProperty("description") + public String getDescription() { + return description; + } + + @JsonProperty("description") + public void setDescription(String description) { + this.description = description; + } + + public ExternalDataUnit withDescription(String description) { + this.description = description; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public String toString() { + return ((((((((((((((((((("ExternalDataUnit"+" [resourceName=")+ resourceName)+", resourceUrl=")+ resourceUrl)+", resourceVersion=")+ resourceVersion)+", resourceReleaseDate=")+ resourceReleaseDate)+", resourceReleaseEpoch=")+ resourceReleaseEpoch)+", dataUrl=")+ dataUrl)+", dataId=")+ dataId)+", description=")+ description)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/FuncInfo.java b/client/src/main/java/us/kbase/workspace/FuncInfo.java new file mode 100644 index 00000000..84058009 --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/FuncInfo.java @@ -0,0 +1,208 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: FuncInfo

+ *
+ * DEPRECATED
+ * @deprecated
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "func_def", + "description", + "spec_def", + "parsing_structure", + "module_vers", + "released_module_vers", + "func_vers", + "released_func_vers", + "used_type_defs" +}) +public class FuncInfo { + + @JsonProperty("func_def") + private java.lang.String funcDef; + @JsonProperty("description") + private java.lang.String description; + @JsonProperty("spec_def") + private java.lang.String specDef; + @JsonProperty("parsing_structure") + private java.lang.String parsingStructure; + @JsonProperty("module_vers") + private List moduleVers; + @JsonProperty("released_module_vers") + private List releasedModuleVers; + @JsonProperty("func_vers") + private List funcVers; + @JsonProperty("released_func_vers") + private List releasedFuncVers; + @JsonProperty("used_type_defs") + private List usedTypeDefs; + private Map additionalProperties = new HashMap(); + + @JsonProperty("func_def") + public java.lang.String getFuncDef() { + return funcDef; + } + + @JsonProperty("func_def") + public void setFuncDef(java.lang.String funcDef) { + this.funcDef = funcDef; + } + + public FuncInfo withFuncDef(java.lang.String funcDef) { + this.funcDef = funcDef; + return this; + } + + @JsonProperty("description") + public java.lang.String getDescription() { + return description; + } + + @JsonProperty("description") + public void setDescription(java.lang.String description) { + this.description = description; + } + + public FuncInfo withDescription(java.lang.String description) { + this.description = description; + return this; + } + + @JsonProperty("spec_def") + public java.lang.String getSpecDef() { + return specDef; + } + + @JsonProperty("spec_def") + public void setSpecDef(java.lang.String specDef) { + this.specDef = specDef; + } + + public FuncInfo withSpecDef(java.lang.String specDef) { + this.specDef = specDef; + return this; + } + + @JsonProperty("parsing_structure") + public java.lang.String getParsingStructure() { + return parsingStructure; + } + + @JsonProperty("parsing_structure") + public void setParsingStructure(java.lang.String parsingStructure) { + this.parsingStructure = parsingStructure; + } + + public FuncInfo withParsingStructure(java.lang.String parsingStructure) { + this.parsingStructure = parsingStructure; + return this; + } + + @JsonProperty("module_vers") + public List getModuleVers() { + return moduleVers; + } + + @JsonProperty("module_vers") + public void setModuleVers(List moduleVers) { + this.moduleVers = moduleVers; + } + + public FuncInfo withModuleVers(List moduleVers) { + this.moduleVers = moduleVers; + return this; + } + + @JsonProperty("released_module_vers") + public List getReleasedModuleVers() { + return releasedModuleVers; + } + + @JsonProperty("released_module_vers") + public void setReleasedModuleVers(List releasedModuleVers) { + this.releasedModuleVers = releasedModuleVers; + } + + public FuncInfo withReleasedModuleVers(List releasedModuleVers) { + this.releasedModuleVers = releasedModuleVers; + return this; + } + + @JsonProperty("func_vers") + public List getFuncVers() { + return funcVers; + } + + @JsonProperty("func_vers") + public void setFuncVers(List funcVers) { + this.funcVers = funcVers; + } + + public FuncInfo withFuncVers(List funcVers) { + this.funcVers = funcVers; + return this; + } + + @JsonProperty("released_func_vers") + public List getReleasedFuncVers() { + return releasedFuncVers; + } + + @JsonProperty("released_func_vers") + public void setReleasedFuncVers(List releasedFuncVers) { + this.releasedFuncVers = releasedFuncVers; + } + + public FuncInfo withReleasedFuncVers(List releasedFuncVers) { + this.releasedFuncVers = releasedFuncVers; + return this; + } + + @JsonProperty("used_type_defs") + public List getUsedTypeDefs() { + return usedTypeDefs; + } + + @JsonProperty("used_type_defs") + public void setUsedTypeDefs(List usedTypeDefs) { + this.usedTypeDefs = usedTypeDefs; + } + + public FuncInfo withUsedTypeDefs(List usedTypeDefs) { + this.usedTypeDefs = usedTypeDefs; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(java.lang.String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public java.lang.String toString() { + return ((((((((((((((((((((("FuncInfo"+" [funcDef=")+ funcDef)+", description=")+ description)+", specDef=")+ specDef)+", parsingStructure=")+ parsingStructure)+", moduleVers=")+ moduleVers)+", releasedModuleVers=")+ releasedModuleVers)+", funcVers=")+ funcVers)+", releasedFuncVers=")+ releasedFuncVers)+", usedTypeDefs=")+ usedTypeDefs)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/GetAdminRoleResults.java b/client/src/main/java/us/kbase/workspace/GetAdminRoleResults.java new file mode 100644 index 00000000..24f4f5d5 --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/GetAdminRoleResults.java @@ -0,0 +1,63 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: GetAdminRoleResults

+ *
+ * The results of the get_admin_role call.
+ *         adminrole - the users's administration role, one of `none`, `read`, or `full`.
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "adminrole" +}) +public class GetAdminRoleResults { + + @JsonProperty("adminrole") + private String adminrole; + private Map additionalProperties = new HashMap(); + + @JsonProperty("adminrole") + public String getAdminrole() { + return adminrole; + } + + @JsonProperty("adminrole") + public void setAdminrole(String adminrole) { + this.adminrole = adminrole; + } + + public GetAdminRoleResults withAdminrole(String adminrole) { + this.adminrole = adminrole; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public String toString() { + return ((((("GetAdminRoleResults"+" [adminrole=")+ adminrole)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/GetModuleInfoParams.java b/client/src/main/java/us/kbase/workspace/GetModuleInfoParams.java new file mode 100644 index 00000000..45c8c1ff --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/GetModuleInfoParams.java @@ -0,0 +1,85 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: GetModuleInfoParams

+ *
+ * Parameters for the get_module_info function.
+ *                 Required arguments:
+ *                 modulename mod - the name of the module to retrieve.
+ *                 Optional arguments:
+ *                 spec_version ver - the version of the module to retrieve. Defaults to
+ *                         the latest version.
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "mod", + "ver" +}) +public class GetModuleInfoParams { + + @JsonProperty("mod") + private String mod; + @JsonProperty("ver") + private Long ver; + private Map additionalProperties = new HashMap(); + + @JsonProperty("mod") + public String getMod() { + return mod; + } + + @JsonProperty("mod") + public void setMod(String mod) { + this.mod = mod; + } + + public GetModuleInfoParams withMod(String mod) { + this.mod = mod; + return this; + } + + @JsonProperty("ver") + public Long getVer() { + return ver; + } + + @JsonProperty("ver") + public void setVer(Long ver) { + this.ver = ver; + } + + public GetModuleInfoParams withVer(Long ver) { + this.ver = ver; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public String toString() { + return ((((((("GetModuleInfoParams"+" [mod=")+ mod)+", ver=")+ ver)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/GetNamesByPrefixParams.java b/client/src/main/java/us/kbase/workspace/GetNamesByPrefixParams.java new file mode 100644 index 00000000..b5bc8c28 --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/GetNamesByPrefixParams.java @@ -0,0 +1,105 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: GetNamesByPrefixParams

+ *
+ * Input parameters for the get_names_by_prefix function.
+ *                 Required arguments:
+ *                 list workspaces - the workspaces to search.
+ *                 string prefix - the prefix of the object names to return.
+ *                 Optional arguments:
+ *                 boolean includeHidden - include names of hidden objects in the results.
+ *                         Default false.
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "workspaces", + "prefix", + "includeHidden" +}) +public class GetNamesByPrefixParams { + + @JsonProperty("workspaces") + private List workspaces; + @JsonProperty("prefix") + private String prefix; + @JsonProperty("includeHidden") + private Long includeHidden; + private Map additionalProperties = new HashMap(); + + @JsonProperty("workspaces") + public List getWorkspaces() { + return workspaces; + } + + @JsonProperty("workspaces") + public void setWorkspaces(List workspaces) { + this.workspaces = workspaces; + } + + public GetNamesByPrefixParams withWorkspaces(List workspaces) { + this.workspaces = workspaces; + return this; + } + + @JsonProperty("prefix") + public String getPrefix() { + return prefix; + } + + @JsonProperty("prefix") + public void setPrefix(String prefix) { + this.prefix = prefix; + } + + public GetNamesByPrefixParams withPrefix(String prefix) { + this.prefix = prefix; + return this; + } + + @JsonProperty("includeHidden") + public Long getIncludeHidden() { + return includeHidden; + } + + @JsonProperty("includeHidden") + public void setIncludeHidden(Long includeHidden) { + this.includeHidden = includeHidden; + } + + public GetNamesByPrefixParams withIncludeHidden(Long includeHidden) { + this.includeHidden = includeHidden; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public String toString() { + return ((((((((("GetNamesByPrefixParams"+" [workspaces=")+ workspaces)+", prefix=")+ prefix)+", includeHidden=")+ includeHidden)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/GetNamesByPrefixResults.java b/client/src/main/java/us/kbase/workspace/GetNamesByPrefixResults.java new file mode 100644 index 00000000..a4421eb9 --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/GetNamesByPrefixResults.java @@ -0,0 +1,65 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: GetNamesByPrefixResults

+ *
+ * Results object for the get_names_by_prefix function.
+ *                 list> names - the names matching the provided prefix,
+ *                         listed in order of the input workspaces.
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "names" +}) +public class GetNamesByPrefixResults { + + @JsonProperty("names") + private List> names; + private Map additionalProperties = new HashMap(); + + @JsonProperty("names") + public List> getNames() { + return names; + } + + @JsonProperty("names") + public void setNames(List> names) { + this.names = names; + } + + public GetNamesByPrefixResults withNames(List> names) { + this.names = names; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(java.lang.String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public java.lang.String toString() { + return ((((("GetNamesByPrefixResults"+" [names=")+ names)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/GetObjectInfo3Params.java b/client/src/main/java/us/kbase/workspace/GetObjectInfo3Params.java new file mode 100644 index 00000000..e1704a5d --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/GetObjectInfo3Params.java @@ -0,0 +1,129 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: GetObjectInfo3Params

+ *
+ * Input parameters for the "get_object_info3" function.
+ *                 Required arguments:
+ *                 list objects - the objects for which the
+ *                         information should be fetched. Subsetting related parameters are
+ *                         ignored.
+ *                 Optional arguments:
+ *                 boolean infostruct - return information about the object as a structure rather than a tuple.
+ *                         Default false. If true, infos and paths will be null.
+ *                 boolean includeMetadata - include the user and admin metadata in the returned
+ *                         information. Default false.
+ *                 boolean ignoreErrors - Don't throw an exception if an object cannot
+ *                         be accessed; return null for that object's information and path instead.
+ *                         Default false.
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "objects", + "infostruct", + "includeMetadata", + "ignoreErrors" +}) +public class GetObjectInfo3Params { + + @JsonProperty("objects") + private List objects; + @JsonProperty("infostruct") + private Long infostruct; + @JsonProperty("includeMetadata") + private Long includeMetadata; + @JsonProperty("ignoreErrors") + private Long ignoreErrors; + private Map additionalProperties = new HashMap(); + + @JsonProperty("objects") + public List getObjects() { + return objects; + } + + @JsonProperty("objects") + public void setObjects(List objects) { + this.objects = objects; + } + + public GetObjectInfo3Params withObjects(List objects) { + this.objects = objects; + return this; + } + + @JsonProperty("infostruct") + public Long getInfostruct() { + return infostruct; + } + + @JsonProperty("infostruct") + public void setInfostruct(Long infostruct) { + this.infostruct = infostruct; + } + + public GetObjectInfo3Params withInfostruct(Long infostruct) { + this.infostruct = infostruct; + return this; + } + + @JsonProperty("includeMetadata") + public Long getIncludeMetadata() { + return includeMetadata; + } + + @JsonProperty("includeMetadata") + public void setIncludeMetadata(Long includeMetadata) { + this.includeMetadata = includeMetadata; + } + + public GetObjectInfo3Params withIncludeMetadata(Long includeMetadata) { + this.includeMetadata = includeMetadata; + return this; + } + + @JsonProperty("ignoreErrors") + public Long getIgnoreErrors() { + return ignoreErrors; + } + + @JsonProperty("ignoreErrors") + public void setIgnoreErrors(Long ignoreErrors) { + this.ignoreErrors = ignoreErrors; + } + + public GetObjectInfo3Params withIgnoreErrors(Long ignoreErrors) { + this.ignoreErrors = ignoreErrors; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public String toString() { + return ((((((((((("GetObjectInfo3Params"+" [objects=")+ objects)+", infostruct=")+ infostruct)+", includeMetadata=")+ includeMetadata)+", ignoreErrors=")+ ignoreErrors)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/GetObjectInfo3Results.java b/client/src/main/java/us/kbase/workspace/GetObjectInfo3Results.java new file mode 100644 index 00000000..2e652ecb --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/GetObjectInfo3Results.java @@ -0,0 +1,104 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import us.kbase.common.service.Tuple11; + + +/** + *

Original spec-file type: GetObjectInfo3Results

+ *
+ * Output from the get_object_info3 function.
+ *                 list infos - the object_info data for each object.
+ *                 list paths - the path to the object through the object reference graph for
+ *                         each object. All the references in the path are absolute.
+ *                 list infostructs - the ObjectInfo data for each object.
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "infos", + "paths", + "infostructs" +}) +public class GetObjectInfo3Results { + + @JsonProperty("infos") + private List>> infos; + @JsonProperty("paths") + private List> paths; + @JsonProperty("infostructs") + private List infostructs; + private Map additionalProperties = new HashMap(); + + @JsonProperty("infos") + public List>> getInfos() { + return infos; + } + + @JsonProperty("infos") + public void setInfos(List>> infos) { + this.infos = infos; + } + + public GetObjectInfo3Results withInfos(List>> infos) { + this.infos = infos; + return this; + } + + @JsonProperty("paths") + public List> getPaths() { + return paths; + } + + @JsonProperty("paths") + public void setPaths(List> paths) { + this.paths = paths; + } + + public GetObjectInfo3Results withPaths(List> paths) { + this.paths = paths; + return this; + } + + @JsonProperty("infostructs") + public List getInfostructs() { + return infostructs; + } + + @JsonProperty("infostructs") + public void setInfostructs(List infostructs) { + this.infostructs = infostructs; + } + + public GetObjectInfo3Results withInfostructs(List infostructs) { + this.infostructs = infostructs; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(java.lang.String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public java.lang.String toString() { + return ((((((((("GetObjectInfo3Results"+" [infos=")+ infos)+", paths=")+ paths)+", infostructs=")+ infostructs)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/GetObjectInfoNewParams.java b/client/src/main/java/us/kbase/workspace/GetObjectInfoNewParams.java new file mode 100644 index 00000000..fe1d8974 --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/GetObjectInfoNewParams.java @@ -0,0 +1,110 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: GetObjectInfoNewParams

+ *
+ * Input parameters for the "get_object_info_new" function.
+ *                 Required arguments:
+ *                 list objects - the objects for which the
+ *                         information should be fetched. Subsetting related parameters are
+ *                         ignored.
+ *                 Optional arguments:
+ *                 boolean includeMetadata - include the object metadata in the returned
+ *                         information. Default false.
+ *                 boolean ignoreErrors - Don't throw an exception if an object cannot
+ *                         be accessed; return null for that object's information instead.
+ *                         Default false.
+ *                 @deprecated Workspace.GetObjectInfo3Params
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "objects", + "includeMetadata", + "ignoreErrors" +}) +public class GetObjectInfoNewParams { + + @JsonProperty("objects") + private List objects; + @JsonProperty("includeMetadata") + private Long includeMetadata; + @JsonProperty("ignoreErrors") + private Long ignoreErrors; + private Map additionalProperties = new HashMap(); + + @JsonProperty("objects") + public List getObjects() { + return objects; + } + + @JsonProperty("objects") + public void setObjects(List objects) { + this.objects = objects; + } + + public GetObjectInfoNewParams withObjects(List objects) { + this.objects = objects; + return this; + } + + @JsonProperty("includeMetadata") + public Long getIncludeMetadata() { + return includeMetadata; + } + + @JsonProperty("includeMetadata") + public void setIncludeMetadata(Long includeMetadata) { + this.includeMetadata = includeMetadata; + } + + public GetObjectInfoNewParams withIncludeMetadata(Long includeMetadata) { + this.includeMetadata = includeMetadata; + return this; + } + + @JsonProperty("ignoreErrors") + public Long getIgnoreErrors() { + return ignoreErrors; + } + + @JsonProperty("ignoreErrors") + public void setIgnoreErrors(Long ignoreErrors) { + this.ignoreErrors = ignoreErrors; + } + + public GetObjectInfoNewParams withIgnoreErrors(Long ignoreErrors) { + this.ignoreErrors = ignoreErrors; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public String toString() { + return ((((((((("GetObjectInfoNewParams"+" [objects=")+ objects)+", includeMetadata=")+ includeMetadata)+", ignoreErrors=")+ ignoreErrors)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/GetObjectOutput.java b/client/src/main/java/us/kbase/workspace/GetObjectOutput.java new file mode 100644 index 00000000..06f5a032 --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/GetObjectOutput.java @@ -0,0 +1,86 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import us.kbase.common.service.Tuple12; +import us.kbase.common.service.UObject; + + +/** + *

Original spec-file type: get_object_output

+ *
+ * Output generated by the "get_object" function. Provided for backwards
+ * compatibility.
+ * UnspecifiedObject data - The object's data.
+ * object_metadata metadata - Metadata for object retrieved/
+ * @deprecated Workspace.ObjectData
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "data", + "metadata" +}) +public class GetObjectOutput { + + @JsonProperty("data") + private UObject data; + @JsonProperty("metadata") + private Tuple12 , Long> metadata; + private Map additionalProperties = new HashMap(); + + @JsonProperty("data") + public UObject getData() { + return data; + } + + @JsonProperty("data") + public void setData(UObject data) { + this.data = data; + } + + public GetObjectOutput withData(UObject data) { + this.data = data; + return this; + } + + @JsonProperty("metadata") + public Tuple12 , Long> getMetadata() { + return metadata; + } + + @JsonProperty("metadata") + public void setMetadata(Tuple12 , Long> metadata) { + this.metadata = metadata; + } + + public GetObjectOutput withMetadata(Tuple12 , Long> metadata) { + this.metadata = metadata; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(java.lang.String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public java.lang.String toString() { + return ((((((("GetObjectOutput"+" [data=")+ data)+", metadata=")+ metadata)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/GetObjectParams.java b/client/src/main/java/us/kbase/workspace/GetObjectParams.java new file mode 100644 index 00000000..3e9133d2 --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/GetObjectParams.java @@ -0,0 +1,128 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: get_object_params

+ *
+ * Input parameters for the "get_object" function. Provided for backwards
+ * compatibility.
+ * Required arguments:
+ * ws_name workspace - Name of the workspace containing the object to be
+ *         retrieved
+ * obj_name id - Name of the object to be retrieved
+ * Optional arguments:
+ * int instance - Version of the object to be retrieved, enabling
+ *         retrieval of any previous version of an object
+ * string auth - the authentication token of the KBase account accessing
+ *         the object. Overrides the client provided authorization
+ *         credentials if they exist.
+ * @deprecated Workspace.ObjectIdentity
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "id", + "workspace", + "instance", + "auth" +}) +public class GetObjectParams { + + @JsonProperty("id") + private String id; + @JsonProperty("workspace") + private String workspace; + @JsonProperty("instance") + private Long instance; + @JsonProperty("auth") + private String auth; + private Map additionalProperties = new HashMap(); + + @JsonProperty("id") + public String getId() { + return id; + } + + @JsonProperty("id") + public void setId(String id) { + this.id = id; + } + + public GetObjectParams withId(String id) { + this.id = id; + return this; + } + + @JsonProperty("workspace") + public String getWorkspace() { + return workspace; + } + + @JsonProperty("workspace") + public void setWorkspace(String workspace) { + this.workspace = workspace; + } + + public GetObjectParams withWorkspace(String workspace) { + this.workspace = workspace; + return this; + } + + @JsonProperty("instance") + public Long getInstance() { + return instance; + } + + @JsonProperty("instance") + public void setInstance(Long instance) { + this.instance = instance; + } + + public GetObjectParams withInstance(Long instance) { + this.instance = instance; + return this; + } + + @JsonProperty("auth") + public String getAuth() { + return auth; + } + + @JsonProperty("auth") + public void setAuth(String auth) { + this.auth = auth; + } + + public GetObjectParams withAuth(String auth) { + this.auth = auth; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public String toString() { + return ((((((((((("GetObjectParams"+" [id=")+ id)+", workspace=")+ workspace)+", instance=")+ instance)+", auth=")+ auth)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/GetObjectmetaParams.java b/client/src/main/java/us/kbase/workspace/GetObjectmetaParams.java new file mode 100644 index 00000000..e4fb49a5 --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/GetObjectmetaParams.java @@ -0,0 +1,127 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: get_objectmeta_params

+ *
+ * Input parameters for the "get_objectmeta" function.
+ *                 Required arguments:
+ *                 ws_name workspace - name of the workspace containing the object for
+ *                          which metadata is to be retrieved
+ *                 obj_name id - name of the object for which metadata is to be retrieved
+ *                 Optional arguments:
+ *                 int instance - Version of the object for which metadata is to be
+ *                          retrieved, enabling retrieval of any previous version of an object
+ *                 string auth - the authentication token of the KBase account requesting
+ *                         access. Overrides the client provided authorization credentials if
+ *                         they exist.
+ *                 @deprecated Workspace.ObjectIdentity
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "id", + "workspace", + "instance", + "auth" +}) +public class GetObjectmetaParams { + + @JsonProperty("id") + private String id; + @JsonProperty("workspace") + private String workspace; + @JsonProperty("instance") + private Long instance; + @JsonProperty("auth") + private String auth; + private Map additionalProperties = new HashMap(); + + @JsonProperty("id") + public String getId() { + return id; + } + + @JsonProperty("id") + public void setId(String id) { + this.id = id; + } + + public GetObjectmetaParams withId(String id) { + this.id = id; + return this; + } + + @JsonProperty("workspace") + public String getWorkspace() { + return workspace; + } + + @JsonProperty("workspace") + public void setWorkspace(String workspace) { + this.workspace = workspace; + } + + public GetObjectmetaParams withWorkspace(String workspace) { + this.workspace = workspace; + return this; + } + + @JsonProperty("instance") + public Long getInstance() { + return instance; + } + + @JsonProperty("instance") + public void setInstance(Long instance) { + this.instance = instance; + } + + public GetObjectmetaParams withInstance(Long instance) { + this.instance = instance; + return this; + } + + @JsonProperty("auth") + public String getAuth() { + return auth; + } + + @JsonProperty("auth") + public void setAuth(String auth) { + this.auth = auth; + } + + public GetObjectmetaParams withAuth(String auth) { + this.auth = auth; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public String toString() { + return ((((((((((("GetObjectmetaParams"+" [id=")+ id)+", workspace=")+ workspace)+", instance=")+ instance)+", auth=")+ auth)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/GetObjects2Params.java b/client/src/main/java/us/kbase/workspace/GetObjects2Params.java new file mode 100644 index 00000000..2084f8f2 --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/GetObjects2Params.java @@ -0,0 +1,176 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: GetObjects2Params

+ *
+ * Input parameters for the get_objects2 function.
+ *                 Required parameters:
+ *                 list objects - the list of object specifications
+ *                         for the objects to return (via reference chain and as a subset if
+ *                         specified).
+ *                 Optional parameters:
+ *                 boolean ignoreErrors - Don't throw an exception if an object cannot
+ *                         be accessed; return null for that object's information instead.
+ *                         Default false.
+ *                 boolean infostruct - return the object information as a structure rather than a tuple.
+ *                         Default false. If true, ObjectData.path will be null as it is provided in
+ *                         the ObjectInfo data.
+ *                 boolean no_data - return the provenance, references, and
+ *                         object_info for this object without the object data. Default false.
+ *                 boolean skip_external_system_updates - if the objects contain any external IDs, don't
+ *                         contact external systems to perform any updates for those IDs (often ACL updates,
+ *                         e.g. for handle / blobstore / sample IDs). In some cases this can speed up fetching the
+ *                         data. Default false.
+ *                 boolean batch_external_system_updates - if the objects contain any external IDs,
+ *                         send all external system updates in a batch to each external system when possible
+ *                         rather than object by object. This can potentially speed up the updates, but the
+ *                         drawback is that if the external update fails for any object, all the objects that
+ *                         required updates for that system will be marked as having a failed update.
+ *                         Has no effect if skip_external_system_updates is true. Default false.
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "objects", + "ignoreErrors", + "infostruct", + "no_data", + "skip_external_system_updates", + "batch_external_system_updates" +}) +public class GetObjects2Params { + + @JsonProperty("objects") + private List objects; + @JsonProperty("ignoreErrors") + private Long ignoreErrors; + @JsonProperty("infostruct") + private Long infostruct; + @JsonProperty("no_data") + private Long noData; + @JsonProperty("skip_external_system_updates") + private Long skipExternalSystemUpdates; + @JsonProperty("batch_external_system_updates") + private Long batchExternalSystemUpdates; + private Map additionalProperties = new HashMap(); + + @JsonProperty("objects") + public List getObjects() { + return objects; + } + + @JsonProperty("objects") + public void setObjects(List objects) { + this.objects = objects; + } + + public GetObjects2Params withObjects(List objects) { + this.objects = objects; + return this; + } + + @JsonProperty("ignoreErrors") + public Long getIgnoreErrors() { + return ignoreErrors; + } + + @JsonProperty("ignoreErrors") + public void setIgnoreErrors(Long ignoreErrors) { + this.ignoreErrors = ignoreErrors; + } + + public GetObjects2Params withIgnoreErrors(Long ignoreErrors) { + this.ignoreErrors = ignoreErrors; + return this; + } + + @JsonProperty("infostruct") + public Long getInfostruct() { + return infostruct; + } + + @JsonProperty("infostruct") + public void setInfostruct(Long infostruct) { + this.infostruct = infostruct; + } + + public GetObjects2Params withInfostruct(Long infostruct) { + this.infostruct = infostruct; + return this; + } + + @JsonProperty("no_data") + public Long getNoData() { + return noData; + } + + @JsonProperty("no_data") + public void setNoData(Long noData) { + this.noData = noData; + } + + public GetObjects2Params withNoData(Long noData) { + this.noData = noData; + return this; + } + + @JsonProperty("skip_external_system_updates") + public Long getSkipExternalSystemUpdates() { + return skipExternalSystemUpdates; + } + + @JsonProperty("skip_external_system_updates") + public void setSkipExternalSystemUpdates(Long skipExternalSystemUpdates) { + this.skipExternalSystemUpdates = skipExternalSystemUpdates; + } + + public GetObjects2Params withSkipExternalSystemUpdates(Long skipExternalSystemUpdates) { + this.skipExternalSystemUpdates = skipExternalSystemUpdates; + return this; + } + + @JsonProperty("batch_external_system_updates") + public Long getBatchExternalSystemUpdates() { + return batchExternalSystemUpdates; + } + + @JsonProperty("batch_external_system_updates") + public void setBatchExternalSystemUpdates(Long batchExternalSystemUpdates) { + this.batchExternalSystemUpdates = batchExternalSystemUpdates; + } + + public GetObjects2Params withBatchExternalSystemUpdates(Long batchExternalSystemUpdates) { + this.batchExternalSystemUpdates = batchExternalSystemUpdates; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public String toString() { + return ((((((((((((((("GetObjects2Params"+" [objects=")+ objects)+", ignoreErrors=")+ ignoreErrors)+", infostruct=")+ infostruct)+", noData=")+ noData)+", skipExternalSystemUpdates=")+ skipExternalSystemUpdates)+", batchExternalSystemUpdates=")+ batchExternalSystemUpdates)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/GetObjects2Results.java b/client/src/main/java/us/kbase/workspace/GetObjects2Results.java new file mode 100644 index 00000000..5fd0d872 --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/GetObjects2Results.java @@ -0,0 +1,64 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: GetObjects2Results

+ *
+ * Results from the get_objects2 function.
+ *                 list data - the returned objects.
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "data" +}) +public class GetObjects2Results { + + @JsonProperty("data") + private List data; + private Map additionalProperties = new HashMap(); + + @JsonProperty("data") + public List getData() { + return data; + } + + @JsonProperty("data") + public void setData(List data) { + this.data = data; + } + + public GetObjects2Results withData(List data) { + this.data = data; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public String toString() { + return ((((("GetObjects2Results"+" [data=")+ data)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/GetPermissionsMassParams.java b/client/src/main/java/us/kbase/workspace/GetPermissionsMassParams.java new file mode 100644 index 00000000..15dbc764 --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/GetPermissionsMassParams.java @@ -0,0 +1,65 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: GetPermissionsMassParams

+ *
+ * Input parameters for the "get_permissions_mass" function.
+ * workspaces - the workspaces for which to return the permissions,
+ *         maximum 1000.
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "workspaces" +}) +public class GetPermissionsMassParams { + + @JsonProperty("workspaces") + private List workspaces; + private Map additionalProperties = new HashMap(); + + @JsonProperty("workspaces") + public List getWorkspaces() { + return workspaces; + } + + @JsonProperty("workspaces") + public void setWorkspaces(List workspaces) { + this.workspaces = workspaces; + } + + public GetPermissionsMassParams withWorkspaces(List workspaces) { + this.workspaces = workspaces; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public String toString() { + return ((((("GetPermissionsMassParams"+" [workspaces=")+ workspaces)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/GetWorkspacemetaParams.java b/client/src/main/java/us/kbase/workspace/GetWorkspacemetaParams.java new file mode 100644 index 00000000..91444e25 --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/GetWorkspacemetaParams.java @@ -0,0 +1,108 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: get_workspacemeta_params

+ *
+ * DEPRECATED
+ *                 Input parameters for the "get_workspacemeta" function. Provided for
+ *                 backwards compatibility.
+ *                 One, and only one of:
+ *                 ws_name workspace - name of the workspace.
+ *                 ws_id id - the numerical ID of the workspace.
+ *                 Optional arguments:
+ *                 string auth - the authentication token of the KBase account accessing
+ *                         the workspace. Overrides the client provided authorization
+ *                         credentials if they exist.
+ *                 @deprecated Workspace.WorkspaceIdentity
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "workspace", + "id", + "auth" +}) +public class GetWorkspacemetaParams { + + @JsonProperty("workspace") + private String workspace; + @JsonProperty("id") + private Long id; + @JsonProperty("auth") + private String auth; + private Map additionalProperties = new HashMap(); + + @JsonProperty("workspace") + public String getWorkspace() { + return workspace; + } + + @JsonProperty("workspace") + public void setWorkspace(String workspace) { + this.workspace = workspace; + } + + public GetWorkspacemetaParams withWorkspace(String workspace) { + this.workspace = workspace; + return this; + } + + @JsonProperty("id") + public Long getId() { + return id; + } + + @JsonProperty("id") + public void setId(Long id) { + this.id = id; + } + + public GetWorkspacemetaParams withId(Long id) { + this.id = id; + return this; + } + + @JsonProperty("auth") + public String getAuth() { + return auth; + } + + @JsonProperty("auth") + public void setAuth(String auth) { + this.auth = auth; + } + + public GetWorkspacemetaParams withAuth(String auth) { + this.auth = auth; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public String toString() { + return ((((((((("GetWorkspacemetaParams"+" [workspace=")+ workspace)+", id=")+ id)+", auth=")+ auth)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/GrantModuleOwnershipParams.java b/client/src/main/java/us/kbase/workspace/GrantModuleOwnershipParams.java new file mode 100644 index 00000000..8c441d0d --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/GrantModuleOwnershipParams.java @@ -0,0 +1,105 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: GrantModuleOwnershipParams

+ *
+ * Parameters for the grant_module_ownership function.
+ *                 Required arguments:
+ *                 modulename mod - the module to modify.
+ *                 username new_owner - the user to add to the module's list of
+ *                         owners.
+ *                 Optional arguments:
+ *                 boolean with_grant_option - true to allow the user to add owners
+ *                         to the module.
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "mod", + "new_owner", + "with_grant_option" +}) +public class GrantModuleOwnershipParams { + + @JsonProperty("mod") + private String mod; + @JsonProperty("new_owner") + private String newOwner; + @JsonProperty("with_grant_option") + private Long withGrantOption; + private Map additionalProperties = new HashMap(); + + @JsonProperty("mod") + public String getMod() { + return mod; + } + + @JsonProperty("mod") + public void setMod(String mod) { + this.mod = mod; + } + + public GrantModuleOwnershipParams withMod(String mod) { + this.mod = mod; + return this; + } + + @JsonProperty("new_owner") + public String getNewOwner() { + return newOwner; + } + + @JsonProperty("new_owner") + public void setNewOwner(String newOwner) { + this.newOwner = newOwner; + } + + public GrantModuleOwnershipParams withNewOwner(String newOwner) { + this.newOwner = newOwner; + return this; + } + + @JsonProperty("with_grant_option") + public Long getWithGrantOption() { + return withGrantOption; + } + + @JsonProperty("with_grant_option") + public void setWithGrantOption(Long withGrantOption) { + this.withGrantOption = withGrantOption; + } + + public GrantModuleOwnershipParams withWithGrantOption(Long withGrantOption) { + this.withGrantOption = withGrantOption; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public String toString() { + return ((((((((("GrantModuleOwnershipParams"+" [mod=")+ mod)+", newOwner=")+ newOwner)+", withGrantOption=")+ withGrantOption)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/ListAllTypesParams.java b/client/src/main/java/us/kbase/workspace/ListAllTypesParams.java new file mode 100644 index 00000000..c300a90d --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/ListAllTypesParams.java @@ -0,0 +1,65 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: ListAllTypesParams

+ *
+ * Parameters for list_all_types function.
+ *                 Optional arguments:
+ *                 boolean with_empty_modules - include empty module names, optional flag,
+ *                         default value is false.
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "with_empty_modules" +}) +public class ListAllTypesParams { + + @JsonProperty("with_empty_modules") + private Long withEmptyModules; + private Map additionalProperties = new HashMap(); + + @JsonProperty("with_empty_modules") + public Long getWithEmptyModules() { + return withEmptyModules; + } + + @JsonProperty("with_empty_modules") + public void setWithEmptyModules(Long withEmptyModules) { + this.withEmptyModules = withEmptyModules; + } + + public ListAllTypesParams withWithEmptyModules(Long withEmptyModules) { + this.withEmptyModules = withEmptyModules; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public String toString() { + return ((((("ListAllTypesParams"+" [withEmptyModules=")+ withEmptyModules)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/ListModuleVersionsParams.java b/client/src/main/java/us/kbase/workspace/ListModuleVersionsParams.java new file mode 100644 index 00000000..2eec8812 --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/ListModuleVersionsParams.java @@ -0,0 +1,85 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: ListModuleVersionsParams

+ *
+ * Parameters for the list_module_versions function.
+ *                 Required arguments:
+ *                 One of:
+ *                 modulename mod - returns all versions of the module.
+ *                 type_string type - returns all versions of the module associated with
+ *                         the type.
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "mod", + "type" +}) +public class ListModuleVersionsParams { + + @JsonProperty("mod") + private String mod; + @JsonProperty("type") + private String type; + private Map additionalProperties = new HashMap(); + + @JsonProperty("mod") + public String getMod() { + return mod; + } + + @JsonProperty("mod") + public void setMod(String mod) { + this.mod = mod; + } + + public ListModuleVersionsParams withMod(String mod) { + this.mod = mod; + return this; + } + + @JsonProperty("type") + public String getType() { + return type; + } + + @JsonProperty("type") + public void setType(String type) { + this.type = type; + } + + public ListModuleVersionsParams withType(String type) { + this.type = type; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public String toString() { + return ((((((("ListModuleVersionsParams"+" [mod=")+ mod)+", type=")+ type)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/ListModulesParams.java b/client/src/main/java/us/kbase/workspace/ListModulesParams.java new file mode 100644 index 00000000..29a23c5d --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/ListModulesParams.java @@ -0,0 +1,64 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: ListModulesParams

+ *
+ * Parameters for the list_modules() function.
+ *                 Optional arguments:
+ *                 username owner - only list modules owned by this user.
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "owner" +}) +public class ListModulesParams { + + @JsonProperty("owner") + private String owner; + private Map additionalProperties = new HashMap(); + + @JsonProperty("owner") + public String getOwner() { + return owner; + } + + @JsonProperty("owner") + public void setOwner(String owner) { + this.owner = owner; + } + + public ListModulesParams withOwner(String owner) { + this.owner = owner; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public String toString() { + return ((((("ListModulesParams"+" [owner=")+ owner)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/ListObjectsParams.java b/client/src/main/java/us/kbase/workspace/ListObjectsParams.java new file mode 100644 index 00000000..03772058 --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/ListObjectsParams.java @@ -0,0 +1,461 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: ListObjectsParams

+ *
+ * Parameters for the 'list_objects' function.
+ *                 At least one, and no more than 10000, workspaces must be specified in one of the
+ *                 two following parameters. It is strongly recommended that the list is restricted to
+ *                 the workspaces of interest, or the results may be very large:
+ *                 list ids - the numerical IDs of the workspaces of interest.
+ *                 list workspaces - the names of the workspaces of interest.
+ *                 Only one of each timestamp/epoch pair may be supplied.
+ *                 Optional arguments:
+ *                 type_string type - type of the objects to be listed.  Here, omitting
+ *                         version information will find any objects that match the provided
+ *                         type - e.g. Foo.Bar-0 will match Foo.Bar-0.X where X is any
+ *                         existing version.
+ *                 permission perm - DEPRECATED, no longer useful. Filter on minimum permission by providing
+ *                         only workspaces with the desired permission levels in the input list(s).
+ *                 list savedby - filter objects by the user that saved or
+ *                         copied the object.
+ *                 usermeta meta - filter objects by the user supplied metadata. NOTE:
+ *                         only one key/value pair is supported at this time. A full map
+ *                         is provided as input for the possibility for expansion in the
+ *                         future.
+ *                 timestamp after - only return objects that were created after this
+ *                         date.
+ *                 timestamp before - only return objects that were created before this
+ *                         date.
+ *                 epoch after_epoch - only return objects that were created after this
+ *                         date.
+ *                 epoch before_epoch - only return objects that were created before this
+ *                         date.
+ *                 string startafter - a reference-like string that determines where the
+ *                         list of objects will begin. It takes the form X/Y/Z, where X is
+ *                         the workspace ID, Y the object ID, and Z the version. The version
+ *                         may be omitted, and the object ID omitted if the version is also
+ *                         omitted. After a '/' separator either an integer or no characters
+ *                         at all, including whitespace, may occur. Whitespace strings are
+ *                         ignored. If startafter is provided, after, before,
+ *                         after_epoch, before_epoch, savedby, meta, minObjectID, and
+ *                         maxObjectID may not be provided. Only objects that are ordered
+ *                         after the reference, exclusive, will be included in the
+ *                         result, and the resulting list will be sorted by reference.
+ *                 obj_id minObjectID - only return objects with an object id greater or
+ *                         equal to this value.
+ *                 obj_id maxObjectID - only return objects with an object id less than or
+ *                         equal to this value.
+ *                 boolean showDeleted - show deleted objects in workspaces to which the
+ *                         user has write access.
+ *                 boolean showOnlyDeleted - only show deleted objects in workspaces to
+ *                         which the user has write access.
+ *                 boolean showHidden - show hidden objects.
+ *                 boolean showAllVersions - show all versions of each object that match
+ *                         the filters rather than only the most recent version.
+ *                 boolean includeMetadata - include the user provided metadata in the
+ *                         returned object_info. If false (0 or null), the default, the
+ *                         metadata will be null.
+ *                 boolean excludeGlobal - DEPRECATED, no longer useful. Filter on global workspaces by
+ *                         excluding them from the input workspace list(s).
+ *                 int limit - limit the output to X objects. Default and maximum value
+ *                         is 10000. Limit values < 1 are treated as 10000, the default.
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "workspaces", + "ids", + "type", + "perm", + "savedby", + "meta", + "after", + "before", + "after_epoch", + "before_epoch", + "startafter", + "minObjectID", + "maxObjectID", + "showDeleted", + "showOnlyDeleted", + "showHidden", + "showAllVersions", + "includeMetadata", + "excludeGlobal", + "limit" +}) +public class ListObjectsParams { + + @JsonProperty("workspaces") + private List workspaces; + @JsonProperty("ids") + private List ids; + @JsonProperty("type") + private java.lang.String type; + @JsonProperty("perm") + private java.lang.String perm; + @JsonProperty("savedby") + private List savedby; + @JsonProperty("meta") + private Map meta; + @JsonProperty("after") + private java.lang.String after; + @JsonProperty("before") + private java.lang.String before; + @JsonProperty("after_epoch") + private java.lang.Long afterEpoch; + @JsonProperty("before_epoch") + private java.lang.Long beforeEpoch; + @JsonProperty("startafter") + private java.lang.String startafter; + @JsonProperty("minObjectID") + private java.lang.Long minObjectID; + @JsonProperty("maxObjectID") + private java.lang.Long maxObjectID; + @JsonProperty("showDeleted") + private java.lang.Long showDeleted; + @JsonProperty("showOnlyDeleted") + private java.lang.Long showOnlyDeleted; + @JsonProperty("showHidden") + private java.lang.Long showHidden; + @JsonProperty("showAllVersions") + private java.lang.Long showAllVersions; + @JsonProperty("includeMetadata") + private java.lang.Long includeMetadata; + @JsonProperty("excludeGlobal") + private java.lang.Long excludeGlobal; + @JsonProperty("limit") + private java.lang.Long limit; + private Map additionalProperties = new HashMap(); + + @JsonProperty("workspaces") + public List getWorkspaces() { + return workspaces; + } + + @JsonProperty("workspaces") + public void setWorkspaces(List workspaces) { + this.workspaces = workspaces; + } + + public ListObjectsParams withWorkspaces(List workspaces) { + this.workspaces = workspaces; + return this; + } + + @JsonProperty("ids") + public List getIds() { + return ids; + } + + @JsonProperty("ids") + public void setIds(List ids) { + this.ids = ids; + } + + public ListObjectsParams withIds(List ids) { + this.ids = ids; + return this; + } + + @JsonProperty("type") + public java.lang.String getType() { + return type; + } + + @JsonProperty("type") + public void setType(java.lang.String type) { + this.type = type; + } + + public ListObjectsParams withType(java.lang.String type) { + this.type = type; + return this; + } + + @JsonProperty("perm") + public java.lang.String getPerm() { + return perm; + } + + @JsonProperty("perm") + public void setPerm(java.lang.String perm) { + this.perm = perm; + } + + public ListObjectsParams withPerm(java.lang.String perm) { + this.perm = perm; + return this; + } + + @JsonProperty("savedby") + public List getSavedby() { + return savedby; + } + + @JsonProperty("savedby") + public void setSavedby(List savedby) { + this.savedby = savedby; + } + + public ListObjectsParams withSavedby(List savedby) { + this.savedby = savedby; + return this; + } + + @JsonProperty("meta") + public Map getMeta() { + return meta; + } + + @JsonProperty("meta") + public void setMeta(Map meta) { + this.meta = meta; + } + + public ListObjectsParams withMeta(Map meta) { + this.meta = meta; + return this; + } + + @JsonProperty("after") + public java.lang.String getAfter() { + return after; + } + + @JsonProperty("after") + public void setAfter(java.lang.String after) { + this.after = after; + } + + public ListObjectsParams withAfter(java.lang.String after) { + this.after = after; + return this; + } + + @JsonProperty("before") + public java.lang.String getBefore() { + return before; + } + + @JsonProperty("before") + public void setBefore(java.lang.String before) { + this.before = before; + } + + public ListObjectsParams withBefore(java.lang.String before) { + this.before = before; + return this; + } + + @JsonProperty("after_epoch") + public java.lang.Long getAfterEpoch() { + return afterEpoch; + } + + @JsonProperty("after_epoch") + public void setAfterEpoch(java.lang.Long afterEpoch) { + this.afterEpoch = afterEpoch; + } + + public ListObjectsParams withAfterEpoch(java.lang.Long afterEpoch) { + this.afterEpoch = afterEpoch; + return this; + } + + @JsonProperty("before_epoch") + public java.lang.Long getBeforeEpoch() { + return beforeEpoch; + } + + @JsonProperty("before_epoch") + public void setBeforeEpoch(java.lang.Long beforeEpoch) { + this.beforeEpoch = beforeEpoch; + } + + public ListObjectsParams withBeforeEpoch(java.lang.Long beforeEpoch) { + this.beforeEpoch = beforeEpoch; + return this; + } + + @JsonProperty("startafter") + public java.lang.String getStartafter() { + return startafter; + } + + @JsonProperty("startafter") + public void setStartafter(java.lang.String startafter) { + this.startafter = startafter; + } + + public ListObjectsParams withStartafter(java.lang.String startafter) { + this.startafter = startafter; + return this; + } + + @JsonProperty("minObjectID") + public java.lang.Long getMinObjectID() { + return minObjectID; + } + + @JsonProperty("minObjectID") + public void setMinObjectID(java.lang.Long minObjectID) { + this.minObjectID = minObjectID; + } + + public ListObjectsParams withMinObjectID(java.lang.Long minObjectID) { + this.minObjectID = minObjectID; + return this; + } + + @JsonProperty("maxObjectID") + public java.lang.Long getMaxObjectID() { + return maxObjectID; + } + + @JsonProperty("maxObjectID") + public void setMaxObjectID(java.lang.Long maxObjectID) { + this.maxObjectID = maxObjectID; + } + + public ListObjectsParams withMaxObjectID(java.lang.Long maxObjectID) { + this.maxObjectID = maxObjectID; + return this; + } + + @JsonProperty("showDeleted") + public java.lang.Long getShowDeleted() { + return showDeleted; + } + + @JsonProperty("showDeleted") + public void setShowDeleted(java.lang.Long showDeleted) { + this.showDeleted = showDeleted; + } + + public ListObjectsParams withShowDeleted(java.lang.Long showDeleted) { + this.showDeleted = showDeleted; + return this; + } + + @JsonProperty("showOnlyDeleted") + public java.lang.Long getShowOnlyDeleted() { + return showOnlyDeleted; + } + + @JsonProperty("showOnlyDeleted") + public void setShowOnlyDeleted(java.lang.Long showOnlyDeleted) { + this.showOnlyDeleted = showOnlyDeleted; + } + + public ListObjectsParams withShowOnlyDeleted(java.lang.Long showOnlyDeleted) { + this.showOnlyDeleted = showOnlyDeleted; + return this; + } + + @JsonProperty("showHidden") + public java.lang.Long getShowHidden() { + return showHidden; + } + + @JsonProperty("showHidden") + public void setShowHidden(java.lang.Long showHidden) { + this.showHidden = showHidden; + } + + public ListObjectsParams withShowHidden(java.lang.Long showHidden) { + this.showHidden = showHidden; + return this; + } + + @JsonProperty("showAllVersions") + public java.lang.Long getShowAllVersions() { + return showAllVersions; + } + + @JsonProperty("showAllVersions") + public void setShowAllVersions(java.lang.Long showAllVersions) { + this.showAllVersions = showAllVersions; + } + + public ListObjectsParams withShowAllVersions(java.lang.Long showAllVersions) { + this.showAllVersions = showAllVersions; + return this; + } + + @JsonProperty("includeMetadata") + public java.lang.Long getIncludeMetadata() { + return includeMetadata; + } + + @JsonProperty("includeMetadata") + public void setIncludeMetadata(java.lang.Long includeMetadata) { + this.includeMetadata = includeMetadata; + } + + public ListObjectsParams withIncludeMetadata(java.lang.Long includeMetadata) { + this.includeMetadata = includeMetadata; + return this; + } + + @JsonProperty("excludeGlobal") + public java.lang.Long getExcludeGlobal() { + return excludeGlobal; + } + + @JsonProperty("excludeGlobal") + public void setExcludeGlobal(java.lang.Long excludeGlobal) { + this.excludeGlobal = excludeGlobal; + } + + public ListObjectsParams withExcludeGlobal(java.lang.Long excludeGlobal) { + this.excludeGlobal = excludeGlobal; + return this; + } + + @JsonProperty("limit") + public java.lang.Long getLimit() { + return limit; + } + + @JsonProperty("limit") + public void setLimit(java.lang.Long limit) { + this.limit = limit; + } + + public ListObjectsParams withLimit(java.lang.Long limit) { + this.limit = limit; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(java.lang.String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public java.lang.String toString() { + return ((((((((((((((((((((((((((((((((((((((((((("ListObjectsParams"+" [workspaces=")+ workspaces)+", ids=")+ ids)+", type=")+ type)+", perm=")+ perm)+", savedby=")+ savedby)+", meta=")+ meta)+", after=")+ after)+", before=")+ before)+", afterEpoch=")+ afterEpoch)+", beforeEpoch=")+ beforeEpoch)+", startafter=")+ startafter)+", minObjectID=")+ minObjectID)+", maxObjectID=")+ maxObjectID)+", showDeleted=")+ showDeleted)+", showOnlyDeleted=")+ showOnlyDeleted)+", showHidden=")+ showHidden)+", showAllVersions=")+ showAllVersions)+", includeMetadata=")+ includeMetadata)+", excludeGlobal=")+ excludeGlobal)+", limit=")+ limit)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/ListWorkspaceIDsParams.java b/client/src/main/java/us/kbase/workspace/ListWorkspaceIDsParams.java new file mode 100644 index 00000000..9ef10371 --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/ListWorkspaceIDsParams.java @@ -0,0 +1,105 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: ListWorkspaceIDsParams

+ *
+ * Input parameters for the "list_workspace_ids" function.
+ * Optional parameters:
+ * permission perm - filter workspaces by minimum permission level. 'None'
+ *         and 'readable' are ignored.
+ * boolean onlyGlobal - if onlyGlobal is true only include world readable
+ *         workspaces. Defaults to false. If true, excludeGlobal is ignored.
+ * boolean excludeGlobal - if excludeGlobal is true exclude world
+ *         readable workspaces. Defaults to true.
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "perm", + "excludeGlobal", + "onlyGlobal" +}) +public class ListWorkspaceIDsParams { + + @JsonProperty("perm") + private String perm; + @JsonProperty("excludeGlobal") + private Long excludeGlobal; + @JsonProperty("onlyGlobal") + private Long onlyGlobal; + private Map additionalProperties = new HashMap(); + + @JsonProperty("perm") + public String getPerm() { + return perm; + } + + @JsonProperty("perm") + public void setPerm(String perm) { + this.perm = perm; + } + + public ListWorkspaceIDsParams withPerm(String perm) { + this.perm = perm; + return this; + } + + @JsonProperty("excludeGlobal") + public Long getExcludeGlobal() { + return excludeGlobal; + } + + @JsonProperty("excludeGlobal") + public void setExcludeGlobal(Long excludeGlobal) { + this.excludeGlobal = excludeGlobal; + } + + public ListWorkspaceIDsParams withExcludeGlobal(Long excludeGlobal) { + this.excludeGlobal = excludeGlobal; + return this; + } + + @JsonProperty("onlyGlobal") + public Long getOnlyGlobal() { + return onlyGlobal; + } + + @JsonProperty("onlyGlobal") + public void setOnlyGlobal(Long onlyGlobal) { + this.onlyGlobal = onlyGlobal; + } + + public ListWorkspaceIDsParams withOnlyGlobal(Long onlyGlobal) { + this.onlyGlobal = onlyGlobal; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public String toString() { + return ((((((((("ListWorkspaceIDsParams"+" [perm=")+ perm)+", excludeGlobal=")+ excludeGlobal)+", onlyGlobal=")+ onlyGlobal)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/ListWorkspaceIDsResults.java b/client/src/main/java/us/kbase/workspace/ListWorkspaceIDsResults.java new file mode 100644 index 00000000..9a5adedf --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/ListWorkspaceIDsResults.java @@ -0,0 +1,85 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: ListWorkspaceIDsResults

+ *
+ * Results of the "list_workspace_ids" function.
+ * list workspaces - the workspaces to which the user has explicit
+ *         access.
+ * list pub - the workspaces to which the user has access because
+ *         they're globally readable.
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "workspaces", + "pub" +}) +public class ListWorkspaceIDsResults { + + @JsonProperty("workspaces") + private List workspaces; + @JsonProperty("pub") + private List pub; + private Map additionalProperties = new HashMap(); + + @JsonProperty("workspaces") + public List getWorkspaces() { + return workspaces; + } + + @JsonProperty("workspaces") + public void setWorkspaces(List workspaces) { + this.workspaces = workspaces; + } + + public ListWorkspaceIDsResults withWorkspaces(List workspaces) { + this.workspaces = workspaces; + return this; + } + + @JsonProperty("pub") + public List getPub() { + return pub; + } + + @JsonProperty("pub") + public void setPub(List pub) { + this.pub = pub; + } + + public ListWorkspaceIDsResults withPub(List pub) { + this.pub = pub; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public String toString() { + return ((((((("ListWorkspaceIDsResults"+" [workspaces=")+ workspaces)+", pub=")+ pub)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/ListWorkspaceInfoParams.java b/client/src/main/java/us/kbase/workspace/ListWorkspaceInfoParams.java new file mode 100644 index 00000000..2580860c --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/ListWorkspaceInfoParams.java @@ -0,0 +1,248 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: ListWorkspaceInfoParams

+ *
+ * Input parameters for the "list_workspace_info" function.
+ * Only one of each timestamp/epoch pair may be supplied.
+ * Optional parameters:
+ * permission perm - filter workspaces by minimum permission level. 'None'
+ *         and 'readable' are ignored.
+ * list owners - filter workspaces by owner.
+ * usermeta meta - filter workspaces by the user supplied metadata. NOTE:
+ *         only one key/value pair is supported at this time. A full map
+ *         is provided as input for the possibility for expansion in the
+ *         future.
+ * timestamp after - only return workspaces that were modified after this
+ *         date.
+ * timestamp before - only return workspaces that were modified before
+ *         this date.
+ * epoch after_epoch - only return workspaces that were modified after
+ *         this date.
+ * epoch before_epoch - only return workspaces that were modified before
+ *         this date.
+ * boolean excludeGlobal - if excludeGlobal is true exclude world
+ *         readable workspaces. Defaults to false.
+ * boolean showDeleted - show deleted workspaces that are owned by the
+ *         user.
+ * boolean showOnlyDeleted - only show deleted workspaces that are owned
+ *         by the user.
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "perm", + "owners", + "meta", + "after", + "before", + "after_epoch", + "before_epoch", + "excludeGlobal", + "showDeleted", + "showOnlyDeleted" +}) +public class ListWorkspaceInfoParams { + + @JsonProperty("perm") + private java.lang.String perm; + @JsonProperty("owners") + private List owners; + @JsonProperty("meta") + private Map meta; + @JsonProperty("after") + private java.lang.String after; + @JsonProperty("before") + private java.lang.String before; + @JsonProperty("after_epoch") + private Long afterEpoch; + @JsonProperty("before_epoch") + private Long beforeEpoch; + @JsonProperty("excludeGlobal") + private Long excludeGlobal; + @JsonProperty("showDeleted") + private Long showDeleted; + @JsonProperty("showOnlyDeleted") + private Long showOnlyDeleted; + private Map additionalProperties = new HashMap(); + + @JsonProperty("perm") + public java.lang.String getPerm() { + return perm; + } + + @JsonProperty("perm") + public void setPerm(java.lang.String perm) { + this.perm = perm; + } + + public ListWorkspaceInfoParams withPerm(java.lang.String perm) { + this.perm = perm; + return this; + } + + @JsonProperty("owners") + public List getOwners() { + return owners; + } + + @JsonProperty("owners") + public void setOwners(List owners) { + this.owners = owners; + } + + public ListWorkspaceInfoParams withOwners(List owners) { + this.owners = owners; + return this; + } + + @JsonProperty("meta") + public Map getMeta() { + return meta; + } + + @JsonProperty("meta") + public void setMeta(Map meta) { + this.meta = meta; + } + + public ListWorkspaceInfoParams withMeta(Map meta) { + this.meta = meta; + return this; + } + + @JsonProperty("after") + public java.lang.String getAfter() { + return after; + } + + @JsonProperty("after") + public void setAfter(java.lang.String after) { + this.after = after; + } + + public ListWorkspaceInfoParams withAfter(java.lang.String after) { + this.after = after; + return this; + } + + @JsonProperty("before") + public java.lang.String getBefore() { + return before; + } + + @JsonProperty("before") + public void setBefore(java.lang.String before) { + this.before = before; + } + + public ListWorkspaceInfoParams withBefore(java.lang.String before) { + this.before = before; + return this; + } + + @JsonProperty("after_epoch") + public Long getAfterEpoch() { + return afterEpoch; + } + + @JsonProperty("after_epoch") + public void setAfterEpoch(Long afterEpoch) { + this.afterEpoch = afterEpoch; + } + + public ListWorkspaceInfoParams withAfterEpoch(Long afterEpoch) { + this.afterEpoch = afterEpoch; + return this; + } + + @JsonProperty("before_epoch") + public Long getBeforeEpoch() { + return beforeEpoch; + } + + @JsonProperty("before_epoch") + public void setBeforeEpoch(Long beforeEpoch) { + this.beforeEpoch = beforeEpoch; + } + + public ListWorkspaceInfoParams withBeforeEpoch(Long beforeEpoch) { + this.beforeEpoch = beforeEpoch; + return this; + } + + @JsonProperty("excludeGlobal") + public Long getExcludeGlobal() { + return excludeGlobal; + } + + @JsonProperty("excludeGlobal") + public void setExcludeGlobal(Long excludeGlobal) { + this.excludeGlobal = excludeGlobal; + } + + public ListWorkspaceInfoParams withExcludeGlobal(Long excludeGlobal) { + this.excludeGlobal = excludeGlobal; + return this; + } + + @JsonProperty("showDeleted") + public Long getShowDeleted() { + return showDeleted; + } + + @JsonProperty("showDeleted") + public void setShowDeleted(Long showDeleted) { + this.showDeleted = showDeleted; + } + + public ListWorkspaceInfoParams withShowDeleted(Long showDeleted) { + this.showDeleted = showDeleted; + return this; + } + + @JsonProperty("showOnlyDeleted") + public Long getShowOnlyDeleted() { + return showOnlyDeleted; + } + + @JsonProperty("showOnlyDeleted") + public void setShowOnlyDeleted(Long showOnlyDeleted) { + this.showOnlyDeleted = showOnlyDeleted; + } + + public ListWorkspaceInfoParams withShowOnlyDeleted(Long showOnlyDeleted) { + this.showOnlyDeleted = showOnlyDeleted; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(java.lang.String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public java.lang.String toString() { + return ((((((((((((((((((((((("ListWorkspaceInfoParams"+" [perm=")+ perm)+", owners=")+ owners)+", meta=")+ meta)+", after=")+ after)+", before=")+ before)+", afterEpoch=")+ afterEpoch)+", beforeEpoch=")+ beforeEpoch)+", excludeGlobal=")+ excludeGlobal)+", showDeleted=")+ showDeleted)+", showOnlyDeleted=")+ showOnlyDeleted)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/ListWorkspaceObjectsParams.java b/client/src/main/java/us/kbase/workspace/ListWorkspaceObjectsParams.java new file mode 100644 index 00000000..33902f21 --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/ListWorkspaceObjectsParams.java @@ -0,0 +1,130 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: list_workspace_objects_params

+ *
+ * Input parameters for the "list_workspace_objects" function. Provided
+ * for backwards compatibility.
+ * Required arguments:
+ * ws_name workspace - Name of the workspace for which objects should be
+ *         listed
+ * Optional arguments:
+ * type_string type - type of the objects to be listed. Here, omitting
+ *         version information will find any objects that match the provided
+ *         type - e.g. Foo.Bar-0 will match Foo.Bar-0.X where X is any
+ *         existing version.
+ * boolean showDeletedObject - show objects that have been deleted
+ * string auth - the authentication token of the KBase account requesting
+ *         access. Overrides the client provided authorization credentials if
+ *         they exist.
+ * @deprecated Workspace.ListObjectsParams
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "workspace", + "type", + "showDeletedObject", + "auth" +}) +public class ListWorkspaceObjectsParams { + + @JsonProperty("workspace") + private String workspace; + @JsonProperty("type") + private String type; + @JsonProperty("showDeletedObject") + private Long showDeletedObject; + @JsonProperty("auth") + private String auth; + private Map additionalProperties = new HashMap(); + + @JsonProperty("workspace") + public String getWorkspace() { + return workspace; + } + + @JsonProperty("workspace") + public void setWorkspace(String workspace) { + this.workspace = workspace; + } + + public ListWorkspaceObjectsParams withWorkspace(String workspace) { + this.workspace = workspace; + return this; + } + + @JsonProperty("type") + public String getType() { + return type; + } + + @JsonProperty("type") + public void setType(String type) { + this.type = type; + } + + public ListWorkspaceObjectsParams withType(String type) { + this.type = type; + return this; + } + + @JsonProperty("showDeletedObject") + public Long getShowDeletedObject() { + return showDeletedObject; + } + + @JsonProperty("showDeletedObject") + public void setShowDeletedObject(Long showDeletedObject) { + this.showDeletedObject = showDeletedObject; + } + + public ListWorkspaceObjectsParams withShowDeletedObject(Long showDeletedObject) { + this.showDeletedObject = showDeletedObject; + return this; + } + + @JsonProperty("auth") + public String getAuth() { + return auth; + } + + @JsonProperty("auth") + public void setAuth(String auth) { + this.auth = auth; + } + + public ListWorkspaceObjectsParams withAuth(String auth) { + this.auth = auth; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public String toString() { + return ((((((((((("ListWorkspaceObjectsParams"+" [workspace=")+ workspace)+", type=")+ type)+", showDeletedObject=")+ showDeletedObject)+", auth=")+ auth)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/ListWorkspacesParams.java b/client/src/main/java/us/kbase/workspace/ListWorkspacesParams.java new file mode 100644 index 00000000..7afe25dc --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/ListWorkspacesParams.java @@ -0,0 +1,88 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: list_workspaces_params

+ *
+ * Input parameters for the "list_workspaces" function. Provided for
+ * backwards compatibility.
+ * Optional parameters:
+ * string auth - the authentication token of the KBase account accessing
+ *         the list of workspaces. Overrides the client provided authorization
+ *         credentials if they exist.
+ * boolean excludeGlobal - if excludeGlobal is true exclude world
+ *         readable workspaces. Defaults to false.
+ * @deprecated Workspace.ListWorkspaceInfoParams
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "auth", + "excludeGlobal" +}) +public class ListWorkspacesParams { + + @JsonProperty("auth") + private String auth; + @JsonProperty("excludeGlobal") + private Long excludeGlobal; + private Map additionalProperties = new HashMap(); + + @JsonProperty("auth") + public String getAuth() { + return auth; + } + + @JsonProperty("auth") + public void setAuth(String auth) { + this.auth = auth; + } + + public ListWorkspacesParams withAuth(String auth) { + this.auth = auth; + return this; + } + + @JsonProperty("excludeGlobal") + public Long getExcludeGlobal() { + return excludeGlobal; + } + + @JsonProperty("excludeGlobal") + public void setExcludeGlobal(Long excludeGlobal) { + this.excludeGlobal = excludeGlobal; + } + + public ListWorkspacesParams withExcludeGlobal(Long excludeGlobal) { + this.excludeGlobal = excludeGlobal; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public String toString() { + return ((((((("ListWorkspacesParams"+" [auth=")+ auth)+", excludeGlobal=")+ excludeGlobal)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/ModuleInfo.java b/client/src/main/java/us/kbase/workspace/ModuleInfo.java new file mode 100644 index 00000000..f3724e22 --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/ModuleInfo.java @@ -0,0 +1,219 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: ModuleInfo

+ *
+ * Information about a module.
+ *                 list owners - the owners of the module.
+ *                 spec_version ver - the version of the module.
+ *                 typespec spec - the typespec.
+ *                 string description - the description of the module from the typespec.
+ *                 mapping types - the types associated with this
+ *                         module and their JSON schema.
+ *                 mapping included_spec_version - names of
+ *                         included modules associated with their versions.
+ *                 string chsum - the md5 checksum of the object.
+ *                 list functions - list of names of functions registered in spec.
+ *                 boolean is_released - shows if this version of module was released (and
+ *                         hence can be seen by others).
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "owners", + "ver", + "spec", + "description", + "types", + "included_spec_version", + "chsum", + "functions", + "is_released" +}) +public class ModuleInfo { + + @JsonProperty("owners") + private List owners; + @JsonProperty("ver") + private java.lang.Long ver; + @JsonProperty("spec") + private java.lang.String spec; + @JsonProperty("description") + private java.lang.String description; + @JsonProperty("types") + private Map types; + @JsonProperty("included_spec_version") + private Map includedSpecVersion; + @JsonProperty("chsum") + private java.lang.String chsum; + @JsonProperty("functions") + private List functions; + @JsonProperty("is_released") + private java.lang.Long isReleased; + private Map additionalProperties = new HashMap(); + + @JsonProperty("owners") + public List getOwners() { + return owners; + } + + @JsonProperty("owners") + public void setOwners(List owners) { + this.owners = owners; + } + + public ModuleInfo withOwners(List owners) { + this.owners = owners; + return this; + } + + @JsonProperty("ver") + public java.lang.Long getVer() { + return ver; + } + + @JsonProperty("ver") + public void setVer(java.lang.Long ver) { + this.ver = ver; + } + + public ModuleInfo withVer(java.lang.Long ver) { + this.ver = ver; + return this; + } + + @JsonProperty("spec") + public java.lang.String getSpec() { + return spec; + } + + @JsonProperty("spec") + public void setSpec(java.lang.String spec) { + this.spec = spec; + } + + public ModuleInfo withSpec(java.lang.String spec) { + this.spec = spec; + return this; + } + + @JsonProperty("description") + public java.lang.String getDescription() { + return description; + } + + @JsonProperty("description") + public void setDescription(java.lang.String description) { + this.description = description; + } + + public ModuleInfo withDescription(java.lang.String description) { + this.description = description; + return this; + } + + @JsonProperty("types") + public Map getTypes() { + return types; + } + + @JsonProperty("types") + public void setTypes(Map types) { + this.types = types; + } + + public ModuleInfo withTypes(Map types) { + this.types = types; + return this; + } + + @JsonProperty("included_spec_version") + public Map getIncludedSpecVersion() { + return includedSpecVersion; + } + + @JsonProperty("included_spec_version") + public void setIncludedSpecVersion(Map includedSpecVersion) { + this.includedSpecVersion = includedSpecVersion; + } + + public ModuleInfo withIncludedSpecVersion(Map includedSpecVersion) { + this.includedSpecVersion = includedSpecVersion; + return this; + } + + @JsonProperty("chsum") + public java.lang.String getChsum() { + return chsum; + } + + @JsonProperty("chsum") + public void setChsum(java.lang.String chsum) { + this.chsum = chsum; + } + + public ModuleInfo withChsum(java.lang.String chsum) { + this.chsum = chsum; + return this; + } + + @JsonProperty("functions") + public List getFunctions() { + return functions; + } + + @JsonProperty("functions") + public void setFunctions(List functions) { + this.functions = functions; + } + + public ModuleInfo withFunctions(List functions) { + this.functions = functions; + return this; + } + + @JsonProperty("is_released") + public java.lang.Long getIsReleased() { + return isReleased; + } + + @JsonProperty("is_released") + public void setIsReleased(java.lang.Long isReleased) { + this.isReleased = isReleased; + } + + public ModuleInfo withIsReleased(java.lang.Long isReleased) { + this.isReleased = isReleased; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(java.lang.String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public java.lang.String toString() { + return ((((((((((((((((((((("ModuleInfo"+" [owners=")+ owners)+", ver=")+ ver)+", spec=")+ spec)+", description=")+ description)+", types=")+ types)+", includedSpecVersion=")+ includedSpecVersion)+", chsum=")+ chsum)+", functions=")+ functions)+", isReleased=")+ isReleased)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/ModuleVersions.java b/client/src/main/java/us/kbase/workspace/ModuleVersions.java new file mode 100644 index 00000000..c92a949e --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/ModuleVersions.java @@ -0,0 +1,104 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: ModuleVersions

+ *
+ * A set of versions from a module.
+ *                 modulename mod - the name of the module.
+ *                 list - a set or subset of versions associated with the
+ *                         module.
+ *                 list - a set or subset of released versions associated
+ *                         with the module.
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "mod", + "vers", + "released_vers" +}) +public class ModuleVersions { + + @JsonProperty("mod") + private String mod; + @JsonProperty("vers") + private List vers; + @JsonProperty("released_vers") + private List releasedVers; + private Map additionalProperties = new HashMap(); + + @JsonProperty("mod") + public String getMod() { + return mod; + } + + @JsonProperty("mod") + public void setMod(String mod) { + this.mod = mod; + } + + public ModuleVersions withMod(String mod) { + this.mod = mod; + return this; + } + + @JsonProperty("vers") + public List getVers() { + return vers; + } + + @JsonProperty("vers") + public void setVers(List vers) { + this.vers = vers; + } + + public ModuleVersions withVers(List vers) { + this.vers = vers; + return this; + } + + @JsonProperty("released_vers") + public List getReleasedVers() { + return releasedVers; + } + + @JsonProperty("released_vers") + public void setReleasedVers(List releasedVers) { + this.releasedVers = releasedVers; + } + + public ModuleVersions withReleasedVers(List releasedVers) { + this.releasedVers = releasedVers; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public String toString() { + return ((((((((("ModuleVersions"+" [mod=")+ mod)+", vers=")+ vers)+", releasedVers=")+ releasedVers)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/ObjectData.java b/client/src/main/java/us/kbase/workspace/ObjectData.java new file mode 100644 index 00000000..ea40dc17 --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/ObjectData.java @@ -0,0 +1,414 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import us.kbase.common.service.Tuple11; +import us.kbase.common.service.UObject; + + +/** + *

Original spec-file type: ObjectData

+ *
+ * The data and supplemental info for an object.
+ *                 UnspecifiedObject data - the object's data or subset data.
+ *                 object_info info - information about the object.
+ *                 ObjectInfo infostruct - information about the object as a structure rather than a tuple.
+ *                 list path - the path to the object through the object reference graph. All the
+ *                         references in the path are absolute.
+ *                 list provenance - the object's provenance.
+ *                 username creator - the user that first saved the object to the workspace.
+ *                 ws_id orig_wsid - the id of the workspace in which this object was
+ *                                 originally saved. Missing for objects saved prior to version
+ *                                 0.4.1.
+ *                 timestamp created - the date the object was first saved to the
+ *                         workspace.
+ *                 epoch epoch - the date the object was first saved to the
+ *                         workspace.
+ *                 list refs - the references contained within the object.
+ *                 obj_ref copied - the reference of the source object if this object is
+ *                         a copy and the copy source exists and is accessible.
+ *                         null otherwise.
+ *                 boolean copy_source_inaccessible - true if the object was copied from
+ *                         another object, but that object is no longer accessible to the
+ *                         user. False otherwise.
+ *                 mapping> extracted_ids - any ids extracted
+ *                         from the object.
+ *                 string handle_error - if an error occurs while setting ACLs on
+ *                         embedded external IDs, it will be reported here. If not for historical reasons the
+ *                         parameter would be called "external_id_error".
+ *                 string handle_stacktrace - the stacktrace for handle_error. As above, the parameter
+ *                         should be called "external_id_stacktrace".
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "data", + "info", + "infostruct", + "path", + "provenance", + "creator", + "orig_wsid", + "created", + "epoch", + "refs", + "copied", + "copy_source_inaccessible", + "extracted_ids", + "handle_error", + "handle_stacktrace" +}) +public class ObjectData { + + @JsonProperty("data") + private UObject data; + @JsonProperty("info") + private Tuple11 > info; + /** + *

Original spec-file type: ObjectInfo

+ *
+     * Information about an object as a struct rather than a tuple.
+     * This allows adding fields in a backward compatible way in the future.
+     * Includes more fields than object_info.
+     * obj_id objid - the numerical id of the object.
+     * obj_name name - the name of the object.
+     * type_string type - the type of the object.
+     * timestamp save_date - the save date of the object.
+     * obj_ver ver - the version of the object.
+     * username saved_by - the user that saved or copied the object.
+     * ws_id wsid - the workspace containing the object.
+     * ws_name workspace - the workspace containing the object.
+     * string chsum - the md5 checksum of the object.
+     * int size - the size of the object in bytes.
+     * usermeta meta - arbitrary user-supplied metadata about the object.
+     * usermeta adminmeta - service administrator metadata set on an object. Unlike most
+     *         other object fields, admin metadata is mutable.
+     * list path - the path to the object.
+     * 
+ * + */ + @JsonProperty("infostruct") + private ObjectInfo infostruct; + @JsonProperty("path") + private List path; + @JsonProperty("provenance") + private List provenance; + @JsonProperty("creator") + private java.lang.String creator; + @JsonProperty("orig_wsid") + private java.lang.Long origWsid; + @JsonProperty("created") + private java.lang.String created; + @JsonProperty("epoch") + private java.lang.Long epoch; + @JsonProperty("refs") + private List refs; + @JsonProperty("copied") + private java.lang.String copied; + @JsonProperty("copy_source_inaccessible") + private java.lang.Long copySourceInaccessible; + @JsonProperty("extracted_ids") + private Map> extractedIds; + @JsonProperty("handle_error") + private java.lang.String handleError; + @JsonProperty("handle_stacktrace") + private java.lang.String handleStacktrace; + private Map additionalProperties = new HashMap(); + + @JsonProperty("data") + public UObject getData() { + return data; + } + + @JsonProperty("data") + public void setData(UObject data) { + this.data = data; + } + + public ObjectData withData(UObject data) { + this.data = data; + return this; + } + + @JsonProperty("info") + public Tuple11 > getInfo() { + return info; + } + + @JsonProperty("info") + public void setInfo(Tuple11 > info) { + this.info = info; + } + + public ObjectData withInfo(Tuple11 > info) { + this.info = info; + return this; + } + + /** + *

Original spec-file type: ObjectInfo

+ *
+     * Information about an object as a struct rather than a tuple.
+     * This allows adding fields in a backward compatible way in the future.
+     * Includes more fields than object_info.
+     * obj_id objid - the numerical id of the object.
+     * obj_name name - the name of the object.
+     * type_string type - the type of the object.
+     * timestamp save_date - the save date of the object.
+     * obj_ver ver - the version of the object.
+     * username saved_by - the user that saved or copied the object.
+     * ws_id wsid - the workspace containing the object.
+     * ws_name workspace - the workspace containing the object.
+     * string chsum - the md5 checksum of the object.
+     * int size - the size of the object in bytes.
+     * usermeta meta - arbitrary user-supplied metadata about the object.
+     * usermeta adminmeta - service administrator metadata set on an object. Unlike most
+     *         other object fields, admin metadata is mutable.
+     * list path - the path to the object.
+     * 
+ * + */ + @JsonProperty("infostruct") + public ObjectInfo getInfostruct() { + return infostruct; + } + + /** + *

Original spec-file type: ObjectInfo

+ *
+     * Information about an object as a struct rather than a tuple.
+     * This allows adding fields in a backward compatible way in the future.
+     * Includes more fields than object_info.
+     * obj_id objid - the numerical id of the object.
+     * obj_name name - the name of the object.
+     * type_string type - the type of the object.
+     * timestamp save_date - the save date of the object.
+     * obj_ver ver - the version of the object.
+     * username saved_by - the user that saved or copied the object.
+     * ws_id wsid - the workspace containing the object.
+     * ws_name workspace - the workspace containing the object.
+     * string chsum - the md5 checksum of the object.
+     * int size - the size of the object in bytes.
+     * usermeta meta - arbitrary user-supplied metadata about the object.
+     * usermeta adminmeta - service administrator metadata set on an object. Unlike most
+     *         other object fields, admin metadata is mutable.
+     * list path - the path to the object.
+     * 
+ * + */ + @JsonProperty("infostruct") + public void setInfostruct(ObjectInfo infostruct) { + this.infostruct = infostruct; + } + + public ObjectData withInfostruct(ObjectInfo infostruct) { + this.infostruct = infostruct; + return this; + } + + @JsonProperty("path") + public List getPath() { + return path; + } + + @JsonProperty("path") + public void setPath(List path) { + this.path = path; + } + + public ObjectData withPath(List path) { + this.path = path; + return this; + } + + @JsonProperty("provenance") + public List getProvenance() { + return provenance; + } + + @JsonProperty("provenance") + public void setProvenance(List provenance) { + this.provenance = provenance; + } + + public ObjectData withProvenance(List provenance) { + this.provenance = provenance; + return this; + } + + @JsonProperty("creator") + public java.lang.String getCreator() { + return creator; + } + + @JsonProperty("creator") + public void setCreator(java.lang.String creator) { + this.creator = creator; + } + + public ObjectData withCreator(java.lang.String creator) { + this.creator = creator; + return this; + } + + @JsonProperty("orig_wsid") + public java.lang.Long getOrigWsid() { + return origWsid; + } + + @JsonProperty("orig_wsid") + public void setOrigWsid(java.lang.Long origWsid) { + this.origWsid = origWsid; + } + + public ObjectData withOrigWsid(java.lang.Long origWsid) { + this.origWsid = origWsid; + return this; + } + + @JsonProperty("created") + public java.lang.String getCreated() { + return created; + } + + @JsonProperty("created") + public void setCreated(java.lang.String created) { + this.created = created; + } + + public ObjectData withCreated(java.lang.String created) { + this.created = created; + return this; + } + + @JsonProperty("epoch") + public java.lang.Long getEpoch() { + return epoch; + } + + @JsonProperty("epoch") + public void setEpoch(java.lang.Long epoch) { + this.epoch = epoch; + } + + public ObjectData withEpoch(java.lang.Long epoch) { + this.epoch = epoch; + return this; + } + + @JsonProperty("refs") + public List getRefs() { + return refs; + } + + @JsonProperty("refs") + public void setRefs(List refs) { + this.refs = refs; + } + + public ObjectData withRefs(List refs) { + this.refs = refs; + return this; + } + + @JsonProperty("copied") + public java.lang.String getCopied() { + return copied; + } + + @JsonProperty("copied") + public void setCopied(java.lang.String copied) { + this.copied = copied; + } + + public ObjectData withCopied(java.lang.String copied) { + this.copied = copied; + return this; + } + + @JsonProperty("copy_source_inaccessible") + public java.lang.Long getCopySourceInaccessible() { + return copySourceInaccessible; + } + + @JsonProperty("copy_source_inaccessible") + public void setCopySourceInaccessible(java.lang.Long copySourceInaccessible) { + this.copySourceInaccessible = copySourceInaccessible; + } + + public ObjectData withCopySourceInaccessible(java.lang.Long copySourceInaccessible) { + this.copySourceInaccessible = copySourceInaccessible; + return this; + } + + @JsonProperty("extracted_ids") + public Map> getExtractedIds() { + return extractedIds; + } + + @JsonProperty("extracted_ids") + public void setExtractedIds(Map> extractedIds) { + this.extractedIds = extractedIds; + } + + public ObjectData withExtractedIds(Map> extractedIds) { + this.extractedIds = extractedIds; + return this; + } + + @JsonProperty("handle_error") + public java.lang.String getHandleError() { + return handleError; + } + + @JsonProperty("handle_error") + public void setHandleError(java.lang.String handleError) { + this.handleError = handleError; + } + + public ObjectData withHandleError(java.lang.String handleError) { + this.handleError = handleError; + return this; + } + + @JsonProperty("handle_stacktrace") + public java.lang.String getHandleStacktrace() { + return handleStacktrace; + } + + @JsonProperty("handle_stacktrace") + public void setHandleStacktrace(java.lang.String handleStacktrace) { + this.handleStacktrace = handleStacktrace; + } + + public ObjectData withHandleStacktrace(java.lang.String handleStacktrace) { + this.handleStacktrace = handleStacktrace; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(java.lang.String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public java.lang.String toString() { + return ((((((((((((((((((((((((((((((((("ObjectData"+" [data=")+ data)+", info=")+ info)+", infostruct=")+ infostruct)+", path=")+ path)+", provenance=")+ provenance)+", creator=")+ creator)+", origWsid=")+ origWsid)+", created=")+ created)+", epoch=")+ epoch)+", refs=")+ refs)+", copied=")+ copied)+", copySourceInaccessible=")+ copySourceInaccessible)+", extractedIds=")+ extractedIds)+", handleError=")+ handleError)+", handleStacktrace=")+ handleStacktrace)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/ObjectIdentity.java b/client/src/main/java/us/kbase/workspace/ObjectIdentity.java new file mode 100644 index 00000000..e2415407 --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/ObjectIdentity.java @@ -0,0 +1,164 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: ObjectIdentity

+ *
+ * An object identifier.
+ *                 Select an object by either:
+ *                         One, and only one, of the numerical id or name of the workspace.
+ *                                 ws_id wsid - the numerical ID of the workspace.
+ *                                 ws_name workspace - the name of the workspace.
+ *                         AND
+ *                         One, and only one, of the numerical id or name of the object.
+ *                                 obj_id objid- the numerical ID of the object.
+ *                                 obj_name name - name of the object.
+ *                         OPTIONALLY
+ *                                 obj_ver ver - the version of the object.
+ *                 OR an object reference string:
+ *                         obj_ref ref - an object reference string.
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "workspace", + "wsid", + "name", + "objid", + "ver", + "ref" +}) +public class ObjectIdentity { + + @JsonProperty("workspace") + private String workspace; + @JsonProperty("wsid") + private Long wsid; + @JsonProperty("name") + private String name; + @JsonProperty("objid") + private Long objid; + @JsonProperty("ver") + private Long ver; + @JsonProperty("ref") + private String ref; + private Map additionalProperties = new HashMap(); + + @JsonProperty("workspace") + public String getWorkspace() { + return workspace; + } + + @JsonProperty("workspace") + public void setWorkspace(String workspace) { + this.workspace = workspace; + } + + public ObjectIdentity withWorkspace(String workspace) { + this.workspace = workspace; + return this; + } + + @JsonProperty("wsid") + public Long getWsid() { + return wsid; + } + + @JsonProperty("wsid") + public void setWsid(Long wsid) { + this.wsid = wsid; + } + + public ObjectIdentity withWsid(Long wsid) { + this.wsid = wsid; + return this; + } + + @JsonProperty("name") + public String getName() { + return name; + } + + @JsonProperty("name") + public void setName(String name) { + this.name = name; + } + + public ObjectIdentity withName(String name) { + this.name = name; + return this; + } + + @JsonProperty("objid") + public Long getObjid() { + return objid; + } + + @JsonProperty("objid") + public void setObjid(Long objid) { + this.objid = objid; + } + + public ObjectIdentity withObjid(Long objid) { + this.objid = objid; + return this; + } + + @JsonProperty("ver") + public Long getVer() { + return ver; + } + + @JsonProperty("ver") + public void setVer(Long ver) { + this.ver = ver; + } + + public ObjectIdentity withVer(Long ver) { + this.ver = ver; + return this; + } + + @JsonProperty("ref") + public String getRef() { + return ref; + } + + @JsonProperty("ref") + public void setRef(String ref) { + this.ref = ref; + } + + public ObjectIdentity withRef(String ref) { + this.ref = ref; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public String toString() { + return ((((((((((((((("ObjectIdentity"+" [workspace=")+ workspace)+", wsid=")+ wsid)+", name=")+ name)+", objid=")+ objid)+", ver=")+ ver)+", ref=")+ ref)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/ObjectInfo.java b/client/src/main/java/us/kbase/workspace/ObjectInfo.java new file mode 100644 index 00000000..18d45a79 --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/ObjectInfo.java @@ -0,0 +1,295 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: ObjectInfo

+ *
+ * Information about an object as a struct rather than a tuple.
+ * This allows adding fields in a backward compatible way in the future.
+ * Includes more fields than object_info.
+ * obj_id objid - the numerical id of the object.
+ * obj_name name - the name of the object.
+ * type_string type - the type of the object.
+ * timestamp save_date - the save date of the object.
+ * obj_ver ver - the version of the object.
+ * username saved_by - the user that saved or copied the object.
+ * ws_id wsid - the workspace containing the object.
+ * ws_name workspace - the workspace containing the object.
+ * string chsum - the md5 checksum of the object.
+ * int size - the size of the object in bytes.
+ * usermeta meta - arbitrary user-supplied metadata about the object.
+ * usermeta adminmeta - service administrator metadata set on an object. Unlike most
+ *         other object fields, admin metadata is mutable.
+ * list path - the path to the object.
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "objid", + "name", + "type", + "save_date", + "version", + "saved_by", + "wsid", + "workspace", + "chsum", + "size", + "meta", + "adminmeta", + "path" +}) +public class ObjectInfo { + + @JsonProperty("objid") + private Long objid; + @JsonProperty("name") + private java.lang.String name; + @JsonProperty("type") + private java.lang.String type; + @JsonProperty("save_date") + private java.lang.String saveDate; + @JsonProperty("version") + private Long version; + @JsonProperty("saved_by") + private java.lang.String savedBy; + @JsonProperty("wsid") + private Long wsid; + @JsonProperty("workspace") + private java.lang.String workspace; + @JsonProperty("chsum") + private java.lang.String chsum; + @JsonProperty("size") + private Long size; + @JsonProperty("meta") + private Map meta; + @JsonProperty("adminmeta") + private Map adminmeta; + @JsonProperty("path") + private List path; + private Map additionalProperties = new HashMap(); + + @JsonProperty("objid") + public Long getObjid() { + return objid; + } + + @JsonProperty("objid") + public void setObjid(Long objid) { + this.objid = objid; + } + + public ObjectInfo withObjid(Long objid) { + this.objid = objid; + return this; + } + + @JsonProperty("name") + public java.lang.String getName() { + return name; + } + + @JsonProperty("name") + public void setName(java.lang.String name) { + this.name = name; + } + + public ObjectInfo withName(java.lang.String name) { + this.name = name; + return this; + } + + @JsonProperty("type") + public java.lang.String getType() { + return type; + } + + @JsonProperty("type") + public void setType(java.lang.String type) { + this.type = type; + } + + public ObjectInfo withType(java.lang.String type) { + this.type = type; + return this; + } + + @JsonProperty("save_date") + public java.lang.String getSaveDate() { + return saveDate; + } + + @JsonProperty("save_date") + public void setSaveDate(java.lang.String saveDate) { + this.saveDate = saveDate; + } + + public ObjectInfo withSaveDate(java.lang.String saveDate) { + this.saveDate = saveDate; + return this; + } + + @JsonProperty("version") + public Long getVersion() { + return version; + } + + @JsonProperty("version") + public void setVersion(Long version) { + this.version = version; + } + + public ObjectInfo withVersion(Long version) { + this.version = version; + return this; + } + + @JsonProperty("saved_by") + public java.lang.String getSavedBy() { + return savedBy; + } + + @JsonProperty("saved_by") + public void setSavedBy(java.lang.String savedBy) { + this.savedBy = savedBy; + } + + public ObjectInfo withSavedBy(java.lang.String savedBy) { + this.savedBy = savedBy; + return this; + } + + @JsonProperty("wsid") + public Long getWsid() { + return wsid; + } + + @JsonProperty("wsid") + public void setWsid(Long wsid) { + this.wsid = wsid; + } + + public ObjectInfo withWsid(Long wsid) { + this.wsid = wsid; + return this; + } + + @JsonProperty("workspace") + public java.lang.String getWorkspace() { + return workspace; + } + + @JsonProperty("workspace") + public void setWorkspace(java.lang.String workspace) { + this.workspace = workspace; + } + + public ObjectInfo withWorkspace(java.lang.String workspace) { + this.workspace = workspace; + return this; + } + + @JsonProperty("chsum") + public java.lang.String getChsum() { + return chsum; + } + + @JsonProperty("chsum") + public void setChsum(java.lang.String chsum) { + this.chsum = chsum; + } + + public ObjectInfo withChsum(java.lang.String chsum) { + this.chsum = chsum; + return this; + } + + @JsonProperty("size") + public Long getSize() { + return size; + } + + @JsonProperty("size") + public void setSize(Long size) { + this.size = size; + } + + public ObjectInfo withSize(Long size) { + this.size = size; + return this; + } + + @JsonProperty("meta") + public Map getMeta() { + return meta; + } + + @JsonProperty("meta") + public void setMeta(Map meta) { + this.meta = meta; + } + + public ObjectInfo withMeta(Map meta) { + this.meta = meta; + return this; + } + + @JsonProperty("adminmeta") + public Map getAdminmeta() { + return adminmeta; + } + + @JsonProperty("adminmeta") + public void setAdminmeta(Map adminmeta) { + this.adminmeta = adminmeta; + } + + public ObjectInfo withAdminmeta(Map adminmeta) { + this.adminmeta = adminmeta; + return this; + } + + @JsonProperty("path") + public List getPath() { + return path; + } + + @JsonProperty("path") + public void setPath(List path) { + this.path = path; + } + + public ObjectInfo withPath(List path) { + this.path = path; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(java.lang.String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public java.lang.String toString() { + return ((((((((((((((((((((((((((((("ObjectInfo"+" [objid=")+ objid)+", name=")+ name)+", type=")+ type)+", saveDate=")+ saveDate)+", version=")+ version)+", savedBy=")+ savedBy)+", wsid=")+ wsid)+", workspace=")+ workspace)+", chsum=")+ chsum)+", size=")+ size)+", meta=")+ meta)+", adminmeta=")+ adminmeta)+", path=")+ path)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/ObjectMetadataUpdate.java b/client/src/main/java/us/kbase/workspace/ObjectMetadataUpdate.java new file mode 100644 index 00000000..71fb6677 --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/ObjectMetadataUpdate.java @@ -0,0 +1,163 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: ObjectMetadataUpdate

+ *
+ * An object metadata update specification.
+ *                 Required arguments:
+ *                 ObjectIdentity oi - the object to be altered
+ *                 One or both of the following arguments are required:
+ *                 usermeta new - metadata to assign to the workspace. Duplicate keys will
+ *                         be overwritten.
+ *                 list remove - these keys will be removed from the workspace
+ *                         metadata key/value pairs.
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "oi", + "new", + "remove" +}) +public class ObjectMetadataUpdate { + + /** + *

Original spec-file type: ObjectIdentity

+ *
+     * An object identifier.
+     *                 Select an object by either:
+     *                         One, and only one, of the numerical id or name of the workspace.
+     *                                 ws_id wsid - the numerical ID of the workspace.
+     *                                 ws_name workspace - the name of the workspace.
+     *                         AND
+     *                         One, and only one, of the numerical id or name of the object.
+     *                                 obj_id objid- the numerical ID of the object.
+     *                                 obj_name name - name of the object.
+     *                         OPTIONALLY
+     *                                 obj_ver ver - the version of the object.
+     *                 OR an object reference string:
+     *                         obj_ref ref - an object reference string.
+     * 
+ * + */ + @JsonProperty("oi") + private ObjectIdentity oi; + @JsonProperty("new") + private Map _new; + @JsonProperty("remove") + private List remove; + private Map additionalProperties = new HashMap(); + + /** + *

Original spec-file type: ObjectIdentity

+ *
+     * An object identifier.
+     *                 Select an object by either:
+     *                         One, and only one, of the numerical id or name of the workspace.
+     *                                 ws_id wsid - the numerical ID of the workspace.
+     *                                 ws_name workspace - the name of the workspace.
+     *                         AND
+     *                         One, and only one, of the numerical id or name of the object.
+     *                                 obj_id objid- the numerical ID of the object.
+     *                                 obj_name name - name of the object.
+     *                         OPTIONALLY
+     *                                 obj_ver ver - the version of the object.
+     *                 OR an object reference string:
+     *                         obj_ref ref - an object reference string.
+     * 
+ * + */ + @JsonProperty("oi") + public ObjectIdentity getOi() { + return oi; + } + + /** + *

Original spec-file type: ObjectIdentity

+ *
+     * An object identifier.
+     *                 Select an object by either:
+     *                         One, and only one, of the numerical id or name of the workspace.
+     *                                 ws_id wsid - the numerical ID of the workspace.
+     *                                 ws_name workspace - the name of the workspace.
+     *                         AND
+     *                         One, and only one, of the numerical id or name of the object.
+     *                                 obj_id objid- the numerical ID of the object.
+     *                                 obj_name name - name of the object.
+     *                         OPTIONALLY
+     *                                 obj_ver ver - the version of the object.
+     *                 OR an object reference string:
+     *                         obj_ref ref - an object reference string.
+     * 
+ * + */ + @JsonProperty("oi") + public void setOi(ObjectIdentity oi) { + this.oi = oi; + } + + public ObjectMetadataUpdate withOi(ObjectIdentity oi) { + this.oi = oi; + return this; + } + + @JsonProperty("new") + public Map getNew() { + return _new; + } + + @JsonProperty("new") + public void setNew(Map _new) { + this._new = _new; + } + + public ObjectMetadataUpdate withNew(Map _new) { + this._new = _new; + return this; + } + + @JsonProperty("remove") + public List getRemove() { + return remove; + } + + @JsonProperty("remove") + public void setRemove(List remove) { + this.remove = remove; + } + + public ObjectMetadataUpdate withRemove(List remove) { + this.remove = remove; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(java.lang.String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public java.lang.String toString() { + return ((((((((("ObjectMetadataUpdate"+" [oi=")+ oi)+", _new=")+ _new)+", remove=")+ remove)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/ObjectProvenanceInfo.java b/client/src/main/java/us/kbase/workspace/ObjectProvenanceInfo.java new file mode 100644 index 00000000..0e7c8469 --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/ObjectProvenanceInfo.java @@ -0,0 +1,289 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import us.kbase.common.service.Tuple11; + + +/** + *

Original spec-file type: ObjectProvenanceInfo

+ *
+ * DEPRECATED
+ *                 The provenance and supplemental info for an object.
+ *                 object_info info - information about the object.
+ *                 list provenance - the object's provenance.
+ *                 username creator - the user that first saved the object to the
+ *                         workspace.
+ *                 ws_id orig_wsid - the id of the workspace in which this object was
+ *                                 originally saved. Missing for objects saved prior to version
+ *                                 0.4.1.
+ *                 timestamp created - the date the object was first saved to the
+ *                         workspace.
+ *                 epoch epoch - the date the object was first saved to the
+ *                         workspace.
+ *                 list - the references contained within the object.
+ *                 obj_ref copied - the reference of the source object if this object is
+ *                         a copy and the copy source exists and is accessible.
+ *                         null otherwise.
+ *                 boolean copy_source_inaccessible - true if the object was copied from
+ *                         another object, but that object is no longer accessible to the
+ *                         user. False otherwise.
+ *                 mapping> extracted_ids - any ids extracted
+ *                         from the object.
+ *                 string handle_error - if an error occurs while setting ACLs on
+ *                         embedded external IDs, it will be reported here. If not for historical reasons the
+ *                         parameter would be called "external_id_error".
+ *                 string handle_stacktrace - the stacktrace for handle_error. As above, the parameter
+ *                         should be called "external_id_stacktrace".
+ *                 @deprecated
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "info", + "provenance", + "creator", + "orig_wsid", + "created", + "epoch", + "refs", + "copied", + "copy_source_inaccessible", + "extracted_ids", + "handle_error", + "handle_stacktrace" +}) +public class ObjectProvenanceInfo { + + @JsonProperty("info") + private Tuple11 > info; + @JsonProperty("provenance") + private List provenance; + @JsonProperty("creator") + private java.lang.String creator; + @JsonProperty("orig_wsid") + private java.lang.Long origWsid; + @JsonProperty("created") + private java.lang.String created; + @JsonProperty("epoch") + private java.lang.Long epoch; + @JsonProperty("refs") + private List refs; + @JsonProperty("copied") + private java.lang.String copied; + @JsonProperty("copy_source_inaccessible") + private java.lang.Long copySourceInaccessible; + @JsonProperty("extracted_ids") + private Map> extractedIds; + @JsonProperty("handle_error") + private java.lang.String handleError; + @JsonProperty("handle_stacktrace") + private java.lang.String handleStacktrace; + private Map additionalProperties = new HashMap(); + + @JsonProperty("info") + public Tuple11 > getInfo() { + return info; + } + + @JsonProperty("info") + public void setInfo(Tuple11 > info) { + this.info = info; + } + + public ObjectProvenanceInfo withInfo(Tuple11 > info) { + this.info = info; + return this; + } + + @JsonProperty("provenance") + public List getProvenance() { + return provenance; + } + + @JsonProperty("provenance") + public void setProvenance(List provenance) { + this.provenance = provenance; + } + + public ObjectProvenanceInfo withProvenance(List provenance) { + this.provenance = provenance; + return this; + } + + @JsonProperty("creator") + public java.lang.String getCreator() { + return creator; + } + + @JsonProperty("creator") + public void setCreator(java.lang.String creator) { + this.creator = creator; + } + + public ObjectProvenanceInfo withCreator(java.lang.String creator) { + this.creator = creator; + return this; + } + + @JsonProperty("orig_wsid") + public java.lang.Long getOrigWsid() { + return origWsid; + } + + @JsonProperty("orig_wsid") + public void setOrigWsid(java.lang.Long origWsid) { + this.origWsid = origWsid; + } + + public ObjectProvenanceInfo withOrigWsid(java.lang.Long origWsid) { + this.origWsid = origWsid; + return this; + } + + @JsonProperty("created") + public java.lang.String getCreated() { + return created; + } + + @JsonProperty("created") + public void setCreated(java.lang.String created) { + this.created = created; + } + + public ObjectProvenanceInfo withCreated(java.lang.String created) { + this.created = created; + return this; + } + + @JsonProperty("epoch") + public java.lang.Long getEpoch() { + return epoch; + } + + @JsonProperty("epoch") + public void setEpoch(java.lang.Long epoch) { + this.epoch = epoch; + } + + public ObjectProvenanceInfo withEpoch(java.lang.Long epoch) { + this.epoch = epoch; + return this; + } + + @JsonProperty("refs") + public List getRefs() { + return refs; + } + + @JsonProperty("refs") + public void setRefs(List refs) { + this.refs = refs; + } + + public ObjectProvenanceInfo withRefs(List refs) { + this.refs = refs; + return this; + } + + @JsonProperty("copied") + public java.lang.String getCopied() { + return copied; + } + + @JsonProperty("copied") + public void setCopied(java.lang.String copied) { + this.copied = copied; + } + + public ObjectProvenanceInfo withCopied(java.lang.String copied) { + this.copied = copied; + return this; + } + + @JsonProperty("copy_source_inaccessible") + public java.lang.Long getCopySourceInaccessible() { + return copySourceInaccessible; + } + + @JsonProperty("copy_source_inaccessible") + public void setCopySourceInaccessible(java.lang.Long copySourceInaccessible) { + this.copySourceInaccessible = copySourceInaccessible; + } + + public ObjectProvenanceInfo withCopySourceInaccessible(java.lang.Long copySourceInaccessible) { + this.copySourceInaccessible = copySourceInaccessible; + return this; + } + + @JsonProperty("extracted_ids") + public Map> getExtractedIds() { + return extractedIds; + } + + @JsonProperty("extracted_ids") + public void setExtractedIds(Map> extractedIds) { + this.extractedIds = extractedIds; + } + + public ObjectProvenanceInfo withExtractedIds(Map> extractedIds) { + this.extractedIds = extractedIds; + return this; + } + + @JsonProperty("handle_error") + public java.lang.String getHandleError() { + return handleError; + } + + @JsonProperty("handle_error") + public void setHandleError(java.lang.String handleError) { + this.handleError = handleError; + } + + public ObjectProvenanceInfo withHandleError(java.lang.String handleError) { + this.handleError = handleError; + return this; + } + + @JsonProperty("handle_stacktrace") + public java.lang.String getHandleStacktrace() { + return handleStacktrace; + } + + @JsonProperty("handle_stacktrace") + public void setHandleStacktrace(java.lang.String handleStacktrace) { + this.handleStacktrace = handleStacktrace; + } + + public ObjectProvenanceInfo withHandleStacktrace(java.lang.String handleStacktrace) { + this.handleStacktrace = handleStacktrace; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(java.lang.String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public java.lang.String toString() { + return ((((((((((((((((((((((((((("ObjectProvenanceInfo"+" [info=")+ info)+", provenance=")+ provenance)+", creator=")+ creator)+", origWsid=")+ origWsid)+", created=")+ created)+", epoch=")+ epoch)+", refs=")+ refs)+", copied=")+ copied)+", copySourceInaccessible=")+ copySourceInaccessible)+", extractedIds=")+ extractedIds)+", handleError=")+ handleError)+", handleStacktrace=")+ handleStacktrace)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/ObjectSaveData.java b/client/src/main/java/us/kbase/workspace/ObjectSaveData.java new file mode 100644 index 00000000..d189d6f0 --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/ObjectSaveData.java @@ -0,0 +1,188 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import us.kbase.common.service.UObject; + + +/** + *

Original spec-file type: ObjectSaveData

+ *
+ * An object and associated data required for saving.
+ *                 Required arguments:
+ *                 type_string type - the type of the object. Omit the version information
+ *                         to use the latest version.
+ *                 UnspecifiedObject data - the object data.
+ *                 One, and only one, of:
+ *                         obj_name name - the name of the object.
+ *                         obj_id objid - the id of the object to save over.
+ *                 Optional arguments:
+ *                 usermeta meta - arbitrary user-supplied metadata for the object,
+ *                         not to exceed 16kb; if the object type specifies automatic
+ *                         metadata extraction with the 'meta ws' annotation, and your
+ *                         metadata name conflicts, then your metadata will be silently
+ *                         overwritten.
+ *                 list provenance - provenance data for the object.
+ *                 boolean hidden - true if this object should not be listed when listing
+ *                         workspace objects.
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "type", + "data", + "name", + "objid", + "meta", + "provenance", + "hidden" +}) +public class ObjectSaveData { + + @JsonProperty("type") + private java.lang.String type; + @JsonProperty("data") + private UObject data; + @JsonProperty("name") + private java.lang.String name; + @JsonProperty("objid") + private Long objid; + @JsonProperty("meta") + private Map meta; + @JsonProperty("provenance") + private List provenance; + @JsonProperty("hidden") + private Long hidden; + private Map additionalProperties = new HashMap(); + + @JsonProperty("type") + public java.lang.String getType() { + return type; + } + + @JsonProperty("type") + public void setType(java.lang.String type) { + this.type = type; + } + + public ObjectSaveData withType(java.lang.String type) { + this.type = type; + return this; + } + + @JsonProperty("data") + public UObject getData() { + return data; + } + + @JsonProperty("data") + public void setData(UObject data) { + this.data = data; + } + + public ObjectSaveData withData(UObject data) { + this.data = data; + return this; + } + + @JsonProperty("name") + public java.lang.String getName() { + return name; + } + + @JsonProperty("name") + public void setName(java.lang.String name) { + this.name = name; + } + + public ObjectSaveData withName(java.lang.String name) { + this.name = name; + return this; + } + + @JsonProperty("objid") + public Long getObjid() { + return objid; + } + + @JsonProperty("objid") + public void setObjid(Long objid) { + this.objid = objid; + } + + public ObjectSaveData withObjid(Long objid) { + this.objid = objid; + return this; + } + + @JsonProperty("meta") + public Map getMeta() { + return meta; + } + + @JsonProperty("meta") + public void setMeta(Map meta) { + this.meta = meta; + } + + public ObjectSaveData withMeta(Map meta) { + this.meta = meta; + return this; + } + + @JsonProperty("provenance") + public List getProvenance() { + return provenance; + } + + @JsonProperty("provenance") + public void setProvenance(List provenance) { + this.provenance = provenance; + } + + public ObjectSaveData withProvenance(List provenance) { + this.provenance = provenance; + return this; + } + + @JsonProperty("hidden") + public Long getHidden() { + return hidden; + } + + @JsonProperty("hidden") + public void setHidden(Long hidden) { + this.hidden = hidden; + } + + public ObjectSaveData withHidden(Long hidden) { + this.hidden = hidden; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(java.lang.String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public java.lang.String toString() { + return ((((((((((((((((("ObjectSaveData"+" [type=")+ type)+", data=")+ data)+", name=")+ name)+", objid=")+ objid)+", meta=")+ meta)+", provenance=")+ provenance)+", hidden=")+ hidden)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/ObjectSpecification.java b/client/src/main/java/us/kbase/workspace/ObjectSpecification.java new file mode 100644 index 00000000..c4585e88 --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/ObjectSpecification.java @@ -0,0 +1,367 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: ObjectSpecification

+ *
+ * An Object Specification (OS). Inherits from ObjectIdentity (OI).
+ * Specifies which object, and which parts of that object, to retrieve
+ * from the Workspace Service.
+ * The fields wsid, workspace, objid, name, and ver are identical to
+ * the OI fields.
+ * The ref field's behavior is extended from OI. It maintains its
+ * previous behavior, but now also can act as a reference string. See
+ * reference following below for more information.
+ * REFERENCE FOLLOWING:
+ * Reference following guarantees that a user that has access to an
+ * object can always see a) objects that are referenced inside the object
+ * and b) objects that are referenced in the object's provenance. This
+ * ensures that the user has visibility into the entire provenance of the
+ * object and the object's object dependencies (e.g. references).
+ * The user must have at least read access to the object specified in this
+ * SO, but need not have access to any further objects in the reference
+ * chain, and those objects may be deleted.
+ * Optional reference following fields:
+ * Note that only one of the following fields may be specified.
+ * ref_chain obj_path - a path to the desired object from the object
+ *         specified in this OS. In other words, the object specified in this
+ *         OS is assumed to be accessible to the user, and the objects in
+ *         the object path represent a chain of references to the desired
+ *         object at the end of the object path. If the references are all
+ *         valid, the desired object will be returned.
+ * - OR -
+ * list obj_ref_path - shorthand for the obj_path.
+ * - OR -
+ * ref_chain to_obj_path - identical to obj_path, except that the path
+ *         is TO the object specified in this OS, rather than from the object.
+ *         In other words the object specified by wsid/objid/ref etc. is the
+ *         end of the path, and to_obj_path is the rest of the path. The user
+ *         must have access to the first object in the to_obj_path.
+ * - OR -
+ * list to_obj_ref_path - shorthand for the to_obj_path.
+ * - OR -
+ * ref_string ref - A string representing a reference path from
+ *         one object to another. Unlike the previous reference following
+ *         options, the ref_string represents the ENTIRE path from the source
+ *         object to the target object. As with the OI object, the ref field
+ *         may contain a single reference.
+ * - OR -
+ * boolean find_refence_path - This is the last, slowest, and most expensive resort
+ *         for getting a referenced object - do not use this method unless the
+ *         path to the object is unavailable by any other means. Setting the
+ *         find_refence_path parameter to true means that the workspace service will
+ *         search through the object reference graph from the object specified
+ *         in this OS to find an object that 1) the user can access, and 2)
+ *         has an unbroken reference path to the target object. If the search
+ *         succeeds, the object will be returned as normal. Note that the search
+ *         will automatically fail after a certain (but much larger than necessary
+ *         for the vast majority of cases) number of objects are traversed.
+ * OBJECT SUBSETS:
+ * When selecting a subset of an array in an object, the returned
+ * array is compressed to the size of the subset, but the ordering of
+ * the array is maintained. For example, if the array stored at the
+ * 'feature' key of a Genome object has 4000 entries, and the object paths
+ * provided are:
+ *         /feature/7
+ *         /feature/3015
+ *         /feature/700
+ * The returned feature array will be of length three and the entries will
+ * consist, in order, of the 7th, 700th, and 3015th entries of the
+ * original array.
+ * Optional object subset fields:
+ * list included - the portions of the object to include
+ *                 in the object subset.
+ * boolean strict_maps - if true, throw an exception if the subset
+ *         specification traverses a non-existent map key (default false)
+ * boolean strict_arrays - if true, throw an exception if the subset
+ *         specification exceeds the size of an array (default true)
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "workspace", + "wsid", + "name", + "objid", + "ver", + "ref", + "obj_path", + "obj_ref_path", + "to_obj_path", + "to_obj_ref_path", + "find_reference_path", + "included", + "strict_maps", + "strict_arrays" +}) +public class ObjectSpecification { + + @JsonProperty("workspace") + private java.lang.String workspace; + @JsonProperty("wsid") + private Long wsid; + @JsonProperty("name") + private java.lang.String name; + @JsonProperty("objid") + private Long objid; + @JsonProperty("ver") + private Long ver; + @JsonProperty("ref") + private java.lang.String ref; + @JsonProperty("obj_path") + private List objPath; + @JsonProperty("obj_ref_path") + private List objRefPath; + @JsonProperty("to_obj_path") + private List toObjPath; + @JsonProperty("to_obj_ref_path") + private List toObjRefPath; + @JsonProperty("find_reference_path") + private Long findReferencePath; + @JsonProperty("included") + private List included; + @JsonProperty("strict_maps") + private Long strictMaps; + @JsonProperty("strict_arrays") + private Long strictArrays; + private Map additionalProperties = new HashMap(); + + @JsonProperty("workspace") + public java.lang.String getWorkspace() { + return workspace; + } + + @JsonProperty("workspace") + public void setWorkspace(java.lang.String workspace) { + this.workspace = workspace; + } + + public ObjectSpecification withWorkspace(java.lang.String workspace) { + this.workspace = workspace; + return this; + } + + @JsonProperty("wsid") + public Long getWsid() { + return wsid; + } + + @JsonProperty("wsid") + public void setWsid(Long wsid) { + this.wsid = wsid; + } + + public ObjectSpecification withWsid(Long wsid) { + this.wsid = wsid; + return this; + } + + @JsonProperty("name") + public java.lang.String getName() { + return name; + } + + @JsonProperty("name") + public void setName(java.lang.String name) { + this.name = name; + } + + public ObjectSpecification withName(java.lang.String name) { + this.name = name; + return this; + } + + @JsonProperty("objid") + public Long getObjid() { + return objid; + } + + @JsonProperty("objid") + public void setObjid(Long objid) { + this.objid = objid; + } + + public ObjectSpecification withObjid(Long objid) { + this.objid = objid; + return this; + } + + @JsonProperty("ver") + public Long getVer() { + return ver; + } + + @JsonProperty("ver") + public void setVer(Long ver) { + this.ver = ver; + } + + public ObjectSpecification withVer(Long ver) { + this.ver = ver; + return this; + } + + @JsonProperty("ref") + public java.lang.String getRef() { + return ref; + } + + @JsonProperty("ref") + public void setRef(java.lang.String ref) { + this.ref = ref; + } + + public ObjectSpecification withRef(java.lang.String ref) { + this.ref = ref; + return this; + } + + @JsonProperty("obj_path") + public List getObjPath() { + return objPath; + } + + @JsonProperty("obj_path") + public void setObjPath(List objPath) { + this.objPath = objPath; + } + + public ObjectSpecification withObjPath(List objPath) { + this.objPath = objPath; + return this; + } + + @JsonProperty("obj_ref_path") + public List getObjRefPath() { + return objRefPath; + } + + @JsonProperty("obj_ref_path") + public void setObjRefPath(List objRefPath) { + this.objRefPath = objRefPath; + } + + public ObjectSpecification withObjRefPath(List objRefPath) { + this.objRefPath = objRefPath; + return this; + } + + @JsonProperty("to_obj_path") + public List getToObjPath() { + return toObjPath; + } + + @JsonProperty("to_obj_path") + public void setToObjPath(List toObjPath) { + this.toObjPath = toObjPath; + } + + public ObjectSpecification withToObjPath(List toObjPath) { + this.toObjPath = toObjPath; + return this; + } + + @JsonProperty("to_obj_ref_path") + public List getToObjRefPath() { + return toObjRefPath; + } + + @JsonProperty("to_obj_ref_path") + public void setToObjRefPath(List toObjRefPath) { + this.toObjRefPath = toObjRefPath; + } + + public ObjectSpecification withToObjRefPath(List toObjRefPath) { + this.toObjRefPath = toObjRefPath; + return this; + } + + @JsonProperty("find_reference_path") + public Long getFindReferencePath() { + return findReferencePath; + } + + @JsonProperty("find_reference_path") + public void setFindReferencePath(Long findReferencePath) { + this.findReferencePath = findReferencePath; + } + + public ObjectSpecification withFindReferencePath(Long findReferencePath) { + this.findReferencePath = findReferencePath; + return this; + } + + @JsonProperty("included") + public List getIncluded() { + return included; + } + + @JsonProperty("included") + public void setIncluded(List included) { + this.included = included; + } + + public ObjectSpecification withIncluded(List included) { + this.included = included; + return this; + } + + @JsonProperty("strict_maps") + public Long getStrictMaps() { + return strictMaps; + } + + @JsonProperty("strict_maps") + public void setStrictMaps(Long strictMaps) { + this.strictMaps = strictMaps; + } + + public ObjectSpecification withStrictMaps(Long strictMaps) { + this.strictMaps = strictMaps; + return this; + } + + @JsonProperty("strict_arrays") + public Long getStrictArrays() { + return strictArrays; + } + + @JsonProperty("strict_arrays") + public void setStrictArrays(Long strictArrays) { + this.strictArrays = strictArrays; + } + + public ObjectSpecification withStrictArrays(Long strictArrays) { + this.strictArrays = strictArrays; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(java.lang.String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public java.lang.String toString() { + return ((((((((((((((((((((((((((((((("ObjectSpecification"+" [workspace=")+ workspace)+", wsid=")+ wsid)+", name=")+ name)+", objid=")+ objid)+", ver=")+ ver)+", ref=")+ ref)+", objPath=")+ objPath)+", objRefPath=")+ objRefPath)+", toObjPath=")+ toObjPath)+", toObjRefPath=")+ toObjRefPath)+", findReferencePath=")+ findReferencePath)+", included=")+ included)+", strictMaps=")+ strictMaps)+", strictArrays=")+ strictArrays)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/ProvenanceAction.java b/client/src/main/java/us/kbase/workspace/ProvenanceAction.java new file mode 100644 index 00000000..bd318660 --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/ProvenanceAction.java @@ -0,0 +1,426 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import us.kbase.common.service.UObject; + + +/** + *

Original spec-file type: ProvenanceAction

+ *
+ * A provenance action.
+ *                 A provenance action (PA) is an action taken while transforming one data
+ *                 object to another. There may be several PAs taken in series. A PA is
+ *                 typically running a script, running an api command, etc. All of the
+ *                 following fields are optional, but more information provided equates to
+ *                 better data provenance.
+ *                 If a provenance action has no fields defined at all, it is silently dropped from
+ *                 the list.
+ *                 resolved_ws_objects should never be set by the user; it is set by the
+ *                 workspace service when returning data.
+ *                 On input, only one of the time or epoch may be supplied. Both are
+ *                 supplied on output.
+ *                 The maximum size of the entire provenance object, including all actions,
+ *                 is 1MB.
+ *                 timestamp time - the time the action was started
+ *                 epoch epoch - the time the action was started.
+ *                 string caller - the name or id of the invoker of this provenance
+ *                         action. In most cases, this will be the same for all PAs.
+ *                 string service - the name of the service that performed this action.
+ *                 string service_ver - the version of the service that performed this action.
+ *                 string method - the method of the service that performed this action.
+ *                 list method_params - the parameters of the method
+ *                         that performed this action. If an object in the parameters is a
+ *                         workspace object, also put the object reference in the
+ *                         input_ws_object list.
+ *                 string script - the name of the script that performed this action.
+ *                 string script_ver - the version of the script that performed this action.
+ *                 string script_command_line - the command line provided to the script
+ *                         that performed this action. If workspace objects were provided in
+ *                         the command line, also put the object reference in the
+ *                         input_ws_object list.
+ *                 list input_ws_objects - the workspace objects that
+ *                         were used as input to this action; typically these will also be
+ *                         present as parts of the method_params or the script_command_line
+ *                         arguments. A reference path into the object graph may be supplied.
+ *                 list resolved_ws_objects - the workspace objects ids from
+ *                         input_ws_objects resolved to permanent workspace object references
+ *                         by the workspace service.
+ *                 list intermediate_incoming - if the previous action produced
+ *                         output that 1) was not stored in a referrable way, and 2) is
+ *                         used as input for this action, provide it with an arbitrary and
+ *                         unique ID here, in the order of the input arguments to this action.
+ *                         These IDs can be used in the method_params argument.
+ *                 list intermediate_outgoing - if this action produced output
+ *                         that 1) was not stored in a referrable way, and 2) is
+ *                         used as input for the next action, provide it with an arbitrary and
+ *                         unique ID here, in the order of the output values from this action.
+ *                         These IDs can be used in the intermediate_incoming argument in the
+ *                         next action.
+ *                 list external_data - data external to the workspace
+ *                         that was either imported to the workspace or used to create a
+ *                         workspace object.
+ *                 list subactions - the subactions taken as a part of this
+ *                         action.
+ *                 mapping custom - user definable custom provenance
+ *                         fields and their values.
+ *                 string description - a free text description of this action.
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "time", + "epoch", + "caller", + "service", + "service_ver", + "method", + "method_params", + "script", + "script_ver", + "script_command_line", + "input_ws_objects", + "resolved_ws_objects", + "intermediate_incoming", + "intermediate_outgoing", + "external_data", + "subactions", + "custom", + "description" +}) +public class ProvenanceAction { + + @JsonProperty("time") + private java.lang.String time; + @JsonProperty("epoch") + private Long epoch; + @JsonProperty("caller") + private java.lang.String caller; + @JsonProperty("service") + private java.lang.String service; + @JsonProperty("service_ver") + private java.lang.String serviceVer; + @JsonProperty("method") + private java.lang.String method; + @JsonProperty("method_params") + private List methodParams; + @JsonProperty("script") + private java.lang.String script; + @JsonProperty("script_ver") + private java.lang.String scriptVer; + @JsonProperty("script_command_line") + private java.lang.String scriptCommandLine; + @JsonProperty("input_ws_objects") + private List inputWsObjects; + @JsonProperty("resolved_ws_objects") + private List resolvedWsObjects; + @JsonProperty("intermediate_incoming") + private List intermediateIncoming; + @JsonProperty("intermediate_outgoing") + private List intermediateOutgoing; + @JsonProperty("external_data") + private List externalData; + @JsonProperty("subactions") + private List subactions; + @JsonProperty("custom") + private Map custom; + @JsonProperty("description") + private java.lang.String description; + private Map additionalProperties = new HashMap(); + + @JsonProperty("time") + public java.lang.String getTime() { + return time; + } + + @JsonProperty("time") + public void setTime(java.lang.String time) { + this.time = time; + } + + public ProvenanceAction withTime(java.lang.String time) { + this.time = time; + return this; + } + + @JsonProperty("epoch") + public Long getEpoch() { + return epoch; + } + + @JsonProperty("epoch") + public void setEpoch(Long epoch) { + this.epoch = epoch; + } + + public ProvenanceAction withEpoch(Long epoch) { + this.epoch = epoch; + return this; + } + + @JsonProperty("caller") + public java.lang.String getCaller() { + return caller; + } + + @JsonProperty("caller") + public void setCaller(java.lang.String caller) { + this.caller = caller; + } + + public ProvenanceAction withCaller(java.lang.String caller) { + this.caller = caller; + return this; + } + + @JsonProperty("service") + public java.lang.String getService() { + return service; + } + + @JsonProperty("service") + public void setService(java.lang.String service) { + this.service = service; + } + + public ProvenanceAction withService(java.lang.String service) { + this.service = service; + return this; + } + + @JsonProperty("service_ver") + public java.lang.String getServiceVer() { + return serviceVer; + } + + @JsonProperty("service_ver") + public void setServiceVer(java.lang.String serviceVer) { + this.serviceVer = serviceVer; + } + + public ProvenanceAction withServiceVer(java.lang.String serviceVer) { + this.serviceVer = serviceVer; + return this; + } + + @JsonProperty("method") + public java.lang.String getMethod() { + return method; + } + + @JsonProperty("method") + public void setMethod(java.lang.String method) { + this.method = method; + } + + public ProvenanceAction withMethod(java.lang.String method) { + this.method = method; + return this; + } + + @JsonProperty("method_params") + public List getMethodParams() { + return methodParams; + } + + @JsonProperty("method_params") + public void setMethodParams(List methodParams) { + this.methodParams = methodParams; + } + + public ProvenanceAction withMethodParams(List methodParams) { + this.methodParams = methodParams; + return this; + } + + @JsonProperty("script") + public java.lang.String getScript() { + return script; + } + + @JsonProperty("script") + public void setScript(java.lang.String script) { + this.script = script; + } + + public ProvenanceAction withScript(java.lang.String script) { + this.script = script; + return this; + } + + @JsonProperty("script_ver") + public java.lang.String getScriptVer() { + return scriptVer; + } + + @JsonProperty("script_ver") + public void setScriptVer(java.lang.String scriptVer) { + this.scriptVer = scriptVer; + } + + public ProvenanceAction withScriptVer(java.lang.String scriptVer) { + this.scriptVer = scriptVer; + return this; + } + + @JsonProperty("script_command_line") + public java.lang.String getScriptCommandLine() { + return scriptCommandLine; + } + + @JsonProperty("script_command_line") + public void setScriptCommandLine(java.lang.String scriptCommandLine) { + this.scriptCommandLine = scriptCommandLine; + } + + public ProvenanceAction withScriptCommandLine(java.lang.String scriptCommandLine) { + this.scriptCommandLine = scriptCommandLine; + return this; + } + + @JsonProperty("input_ws_objects") + public List getInputWsObjects() { + return inputWsObjects; + } + + @JsonProperty("input_ws_objects") + public void setInputWsObjects(List inputWsObjects) { + this.inputWsObjects = inputWsObjects; + } + + public ProvenanceAction withInputWsObjects(List inputWsObjects) { + this.inputWsObjects = inputWsObjects; + return this; + } + + @JsonProperty("resolved_ws_objects") + public List getResolvedWsObjects() { + return resolvedWsObjects; + } + + @JsonProperty("resolved_ws_objects") + public void setResolvedWsObjects(List resolvedWsObjects) { + this.resolvedWsObjects = resolvedWsObjects; + } + + public ProvenanceAction withResolvedWsObjects(List resolvedWsObjects) { + this.resolvedWsObjects = resolvedWsObjects; + return this; + } + + @JsonProperty("intermediate_incoming") + public List getIntermediateIncoming() { + return intermediateIncoming; + } + + @JsonProperty("intermediate_incoming") + public void setIntermediateIncoming(List intermediateIncoming) { + this.intermediateIncoming = intermediateIncoming; + } + + public ProvenanceAction withIntermediateIncoming(List intermediateIncoming) { + this.intermediateIncoming = intermediateIncoming; + return this; + } + + @JsonProperty("intermediate_outgoing") + public List getIntermediateOutgoing() { + return intermediateOutgoing; + } + + @JsonProperty("intermediate_outgoing") + public void setIntermediateOutgoing(List intermediateOutgoing) { + this.intermediateOutgoing = intermediateOutgoing; + } + + public ProvenanceAction withIntermediateOutgoing(List intermediateOutgoing) { + this.intermediateOutgoing = intermediateOutgoing; + return this; + } + + @JsonProperty("external_data") + public List getExternalData() { + return externalData; + } + + @JsonProperty("external_data") + public void setExternalData(List externalData) { + this.externalData = externalData; + } + + public ProvenanceAction withExternalData(List externalData) { + this.externalData = externalData; + return this; + } + + @JsonProperty("subactions") + public List getSubactions() { + return subactions; + } + + @JsonProperty("subactions") + public void setSubactions(List subactions) { + this.subactions = subactions; + } + + public ProvenanceAction withSubactions(List subactions) { + this.subactions = subactions; + return this; + } + + @JsonProperty("custom") + public Map getCustom() { + return custom; + } + + @JsonProperty("custom") + public void setCustom(Map custom) { + this.custom = custom; + } + + public ProvenanceAction withCustom(Map custom) { + this.custom = custom; + return this; + } + + @JsonProperty("description") + public java.lang.String getDescription() { + return description; + } + + @JsonProperty("description") + public void setDescription(java.lang.String description) { + this.description = description; + } + + public ProvenanceAction withDescription(java.lang.String description) { + this.description = description; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(java.lang.String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public java.lang.String toString() { + return ((((((((((((((((((((((((((((((((((((((("ProvenanceAction"+" [time=")+ time)+", epoch=")+ epoch)+", caller=")+ caller)+", service=")+ service)+", serviceVer=")+ serviceVer)+", method=")+ method)+", methodParams=")+ methodParams)+", script=")+ script)+", scriptVer=")+ scriptVer)+", scriptCommandLine=")+ scriptCommandLine)+", inputWsObjects=")+ inputWsObjects)+", resolvedWsObjects=")+ resolvedWsObjects)+", intermediateIncoming=")+ intermediateIncoming)+", intermediateOutgoing=")+ intermediateOutgoing)+", externalData=")+ externalData)+", subactions=")+ subactions)+", custom=")+ custom)+", description=")+ description)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/RegisterTypespecCopyParams.java b/client/src/main/java/us/kbase/workspace/RegisterTypespecCopyParams.java new file mode 100644 index 00000000..25b451fa --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/RegisterTypespecCopyParams.java @@ -0,0 +1,105 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: RegisterTypespecCopyParams

+ *
+ * Parameters for the register_typespec_copy function.
+ *                 Required arguments:
+ *                 string external_workspace_url - the URL of the  workspace server from
+ *                         which to copy a typespec.
+ *                 modulename mod - the name of the module in the workspace server
+ *                 Optional arguments:
+ *                 spec_version version - the version of the module in the workspace
+ *                         server
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "external_workspace_url", + "mod", + "version" +}) +public class RegisterTypespecCopyParams { + + @JsonProperty("external_workspace_url") + private String externalWorkspaceUrl; + @JsonProperty("mod") + private String mod; + @JsonProperty("version") + private Long version; + private Map additionalProperties = new HashMap(); + + @JsonProperty("external_workspace_url") + public String getExternalWorkspaceUrl() { + return externalWorkspaceUrl; + } + + @JsonProperty("external_workspace_url") + public void setExternalWorkspaceUrl(String externalWorkspaceUrl) { + this.externalWorkspaceUrl = externalWorkspaceUrl; + } + + public RegisterTypespecCopyParams withExternalWorkspaceUrl(String externalWorkspaceUrl) { + this.externalWorkspaceUrl = externalWorkspaceUrl; + return this; + } + + @JsonProperty("mod") + public String getMod() { + return mod; + } + + @JsonProperty("mod") + public void setMod(String mod) { + this.mod = mod; + } + + public RegisterTypespecCopyParams withMod(String mod) { + this.mod = mod; + return this; + } + + @JsonProperty("version") + public Long getVersion() { + return version; + } + + @JsonProperty("version") + public void setVersion(Long version) { + this.version = version; + } + + public RegisterTypespecCopyParams withVersion(Long version) { + this.version = version; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public String toString() { + return ((((((((("RegisterTypespecCopyParams"+" [externalWorkspaceUrl=")+ externalWorkspaceUrl)+", mod=")+ mod)+", version=")+ version)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/RegisterTypespecParams.java b/client/src/main/java/us/kbase/workspace/RegisterTypespecParams.java new file mode 100644 index 00000000..17a67931 --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/RegisterTypespecParams.java @@ -0,0 +1,194 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: RegisterTypespecParams

+ *
+ * Parameters for the register_typespec function.
+ *                 Required arguments:
+ *                 One of:
+ *                 typespec spec - the new typespec to register.
+ *                 modulename mod - the module to recompile with updated options (see below).
+ *                 Optional arguments:
+ *                 boolean dryrun - Return, but do not save, the results of compiling the
+ *                         spec. Default true. Set to false for making permanent changes.
+ *                 list new_types - types in the spec to make available in the
+ *                         workspace service. When compiling a spec for the first time, if
+ *                         this argument is empty no types will be made available. Previously
+ *                         available types remain so upon recompilation of a spec or
+ *                         compilation of a new spec.
+ *                 list remove_types - no longer make these types available in
+ *                         the workspace service for the new version of the spec. This does
+ *                         not remove versions of types previously compiled.
+ *                 mapping dependencies - By default, the
+ *                         latest released versions of spec dependencies will be included when
+ *                         compiling a spec. Specific versions can be specified here.
+ *                 spec_version prev_ver - the id of the previous version of the typespec.
+ *                         An error will be thrown if this is set and prev_ver is not the
+ *                         most recent version of the typespec. This prevents overwriting of
+ *                         changes made since retrieving a spec and compiling an edited spec.
+ *                         This argument is ignored if a modulename is passed.
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "spec", + "mod", + "new_types", + "remove_types", + "dependencies", + "dryrun", + "prev_ver" +}) +public class RegisterTypespecParams { + + @JsonProperty("spec") + private java.lang.String spec; + @JsonProperty("mod") + private java.lang.String mod; + @JsonProperty("new_types") + private List newTypes; + @JsonProperty("remove_types") + private List removeTypes; + @JsonProperty("dependencies") + private Map dependencies; + @JsonProperty("dryrun") + private java.lang.Long dryrun; + @JsonProperty("prev_ver") + private java.lang.Long prevVer; + private Map additionalProperties = new HashMap(); + + @JsonProperty("spec") + public java.lang.String getSpec() { + return spec; + } + + @JsonProperty("spec") + public void setSpec(java.lang.String spec) { + this.spec = spec; + } + + public RegisterTypespecParams withSpec(java.lang.String spec) { + this.spec = spec; + return this; + } + + @JsonProperty("mod") + public java.lang.String getMod() { + return mod; + } + + @JsonProperty("mod") + public void setMod(java.lang.String mod) { + this.mod = mod; + } + + public RegisterTypespecParams withMod(java.lang.String mod) { + this.mod = mod; + return this; + } + + @JsonProperty("new_types") + public List getNewTypes() { + return newTypes; + } + + @JsonProperty("new_types") + public void setNewTypes(List newTypes) { + this.newTypes = newTypes; + } + + public RegisterTypespecParams withNewTypes(List newTypes) { + this.newTypes = newTypes; + return this; + } + + @JsonProperty("remove_types") + public List getRemoveTypes() { + return removeTypes; + } + + @JsonProperty("remove_types") + public void setRemoveTypes(List removeTypes) { + this.removeTypes = removeTypes; + } + + public RegisterTypespecParams withRemoveTypes(List removeTypes) { + this.removeTypes = removeTypes; + return this; + } + + @JsonProperty("dependencies") + public Map getDependencies() { + return dependencies; + } + + @JsonProperty("dependencies") + public void setDependencies(Map dependencies) { + this.dependencies = dependencies; + } + + public RegisterTypespecParams withDependencies(Map dependencies) { + this.dependencies = dependencies; + return this; + } + + @JsonProperty("dryrun") + public java.lang.Long getDryrun() { + return dryrun; + } + + @JsonProperty("dryrun") + public void setDryrun(java.lang.Long dryrun) { + this.dryrun = dryrun; + } + + public RegisterTypespecParams withDryrun(java.lang.Long dryrun) { + this.dryrun = dryrun; + return this; + } + + @JsonProperty("prev_ver") + public java.lang.Long getPrevVer() { + return prevVer; + } + + @JsonProperty("prev_ver") + public void setPrevVer(java.lang.Long prevVer) { + this.prevVer = prevVer; + } + + public RegisterTypespecParams withPrevVer(java.lang.Long prevVer) { + this.prevVer = prevVer; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(java.lang.String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public java.lang.String toString() { + return ((((((((((((((((("RegisterTypespecParams"+" [spec=")+ spec)+", mod=")+ mod)+", newTypes=")+ newTypes)+", removeTypes=")+ removeTypes)+", dependencies=")+ dependencies)+", dryrun=")+ dryrun)+", prevVer=")+ prevVer)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/RemoveModuleOwnershipParams.java b/client/src/main/java/us/kbase/workspace/RemoveModuleOwnershipParams.java new file mode 100644 index 00000000..11a2594b --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/RemoveModuleOwnershipParams.java @@ -0,0 +1,84 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: RemoveModuleOwnershipParams

+ *
+ * Parameters for the remove_module_ownership function.
+ *                 Required arguments:
+ *                 modulename mod - the module to modify.
+ *                 username old_owner - the user to remove from the module's list of
+ *                         owners.
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "mod", + "old_owner" +}) +public class RemoveModuleOwnershipParams { + + @JsonProperty("mod") + private String mod; + @JsonProperty("old_owner") + private String oldOwner; + private Map additionalProperties = new HashMap(); + + @JsonProperty("mod") + public String getMod() { + return mod; + } + + @JsonProperty("mod") + public void setMod(String mod) { + this.mod = mod; + } + + public RemoveModuleOwnershipParams withMod(String mod) { + this.mod = mod; + return this; + } + + @JsonProperty("old_owner") + public String getOldOwner() { + return oldOwner; + } + + @JsonProperty("old_owner") + public void setOldOwner(String oldOwner) { + this.oldOwner = oldOwner; + } + + public RemoveModuleOwnershipParams withOldOwner(String oldOwner) { + this.oldOwner = oldOwner; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public String toString() { + return ((((((("RemoveModuleOwnershipParams"+" [mod=")+ mod)+", oldOwner=")+ oldOwner)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/RenameObjectParams.java b/client/src/main/java/us/kbase/workspace/RenameObjectParams.java new file mode 100644 index 00000000..042f9551 --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/RenameObjectParams.java @@ -0,0 +1,140 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: RenameObjectParams

+ *
+ * Input parameters for the 'rename_object' function.
+ *                 Required arguments:
+ *                 ObjectIdentity obj - the object to rename.
+ *                 obj_name new_name - the new name for the object.
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "obj", + "new_name" +}) +public class RenameObjectParams { + + /** + *

Original spec-file type: ObjectIdentity

+ *
+     * An object identifier.
+     *                 Select an object by either:
+     *                         One, and only one, of the numerical id or name of the workspace.
+     *                                 ws_id wsid - the numerical ID of the workspace.
+     *                                 ws_name workspace - the name of the workspace.
+     *                         AND
+     *                         One, and only one, of the numerical id or name of the object.
+     *                                 obj_id objid- the numerical ID of the object.
+     *                                 obj_name name - name of the object.
+     *                         OPTIONALLY
+     *                                 obj_ver ver - the version of the object.
+     *                 OR an object reference string:
+     *                         obj_ref ref - an object reference string.
+     * 
+ * + */ + @JsonProperty("obj") + private ObjectIdentity obj; + @JsonProperty("new_name") + private String newName; + private Map additionalProperties = new HashMap(); + + /** + *

Original spec-file type: ObjectIdentity

+ *
+     * An object identifier.
+     *                 Select an object by either:
+     *                         One, and only one, of the numerical id or name of the workspace.
+     *                                 ws_id wsid - the numerical ID of the workspace.
+     *                                 ws_name workspace - the name of the workspace.
+     *                         AND
+     *                         One, and only one, of the numerical id or name of the object.
+     *                                 obj_id objid- the numerical ID of the object.
+     *                                 obj_name name - name of the object.
+     *                         OPTIONALLY
+     *                                 obj_ver ver - the version of the object.
+     *                 OR an object reference string:
+     *                         obj_ref ref - an object reference string.
+     * 
+ * + */ + @JsonProperty("obj") + public ObjectIdentity getObj() { + return obj; + } + + /** + *

Original spec-file type: ObjectIdentity

+ *
+     * An object identifier.
+     *                 Select an object by either:
+     *                         One, and only one, of the numerical id or name of the workspace.
+     *                                 ws_id wsid - the numerical ID of the workspace.
+     *                                 ws_name workspace - the name of the workspace.
+     *                         AND
+     *                         One, and only one, of the numerical id or name of the object.
+     *                                 obj_id objid- the numerical ID of the object.
+     *                                 obj_name name - name of the object.
+     *                         OPTIONALLY
+     *                                 obj_ver ver - the version of the object.
+     *                 OR an object reference string:
+     *                         obj_ref ref - an object reference string.
+     * 
+ * + */ + @JsonProperty("obj") + public void setObj(ObjectIdentity obj) { + this.obj = obj; + } + + public RenameObjectParams withObj(ObjectIdentity obj) { + this.obj = obj; + return this; + } + + @JsonProperty("new_name") + public String getNewName() { + return newName; + } + + @JsonProperty("new_name") + public void setNewName(String newName) { + this.newName = newName; + } + + public RenameObjectParams withNewName(String newName) { + this.newName = newName; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public String toString() { + return ((((((("RenameObjectParams"+" [obj=")+ obj)+", newName=")+ newName)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/RenameWorkspaceParams.java b/client/src/main/java/us/kbase/workspace/RenameWorkspaceParams.java new file mode 100644 index 00000000..abf7de40 --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/RenameWorkspaceParams.java @@ -0,0 +1,113 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: RenameWorkspaceParams

+ *
+ * Input parameters for the 'rename_workspace' function.
+ *                 Required arguments:
+ *                 WorkspaceIdentity wsi - the workspace to rename.
+ *                 ws_name new_name - the new name for the workspace.
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "wsi", + "new_name" +}) +public class RenameWorkspaceParams { + + /** + *

Original spec-file type: WorkspaceIdentity

+ *
+     * A workspace identifier.
+     *                 Select a workspace by one, and only one, of the numerical id or name.
+     *                 ws_id id - the numerical ID of the workspace.
+     *                 ws_name workspace - the name of the workspace.
+     * 
+ * + */ + @JsonProperty("wsi") + private WorkspaceIdentity wsi; + @JsonProperty("new_name") + private String newName; + private Map additionalProperties = new HashMap(); + + /** + *

Original spec-file type: WorkspaceIdentity

+ *
+     * A workspace identifier.
+     *                 Select a workspace by one, and only one, of the numerical id or name.
+     *                 ws_id id - the numerical ID of the workspace.
+     *                 ws_name workspace - the name of the workspace.
+     * 
+ * + */ + @JsonProperty("wsi") + public WorkspaceIdentity getWsi() { + return wsi; + } + + /** + *

Original spec-file type: WorkspaceIdentity

+ *
+     * A workspace identifier.
+     *                 Select a workspace by one, and only one, of the numerical id or name.
+     *                 ws_id id - the numerical ID of the workspace.
+     *                 ws_name workspace - the name of the workspace.
+     * 
+ * + */ + @JsonProperty("wsi") + public void setWsi(WorkspaceIdentity wsi) { + this.wsi = wsi; + } + + public RenameWorkspaceParams withWsi(WorkspaceIdentity wsi) { + this.wsi = wsi; + return this; + } + + @JsonProperty("new_name") + public String getNewName() { + return newName; + } + + @JsonProperty("new_name") + public void setNewName(String newName) { + this.newName = newName; + } + + public RenameWorkspaceParams withNewName(String newName) { + this.newName = newName; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public String toString() { + return ((((((("RenameWorkspaceParams"+" [wsi=")+ wsi)+", newName=")+ newName)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/SaveObjectParams.java b/client/src/main/java/us/kbase/workspace/SaveObjectParams.java new file mode 100644 index 00000000..8d2dd681 --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/SaveObjectParams.java @@ -0,0 +1,171 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import us.kbase.common.service.UObject; + + +/** + *

Original spec-file type: save_object_params

+ *
+ * Input parameters for the "save_object" function. Provided for backwards
+ * compatibility.
+ * Required arguments:
+ * type_string type - type of the object to be saved
+ * ws_name workspace - name of the workspace where the object is to be
+ *         saved
+ * obj_name id - name behind which the object will be saved in the
+ *         workspace
+ * UnspecifiedObject data - data to be saved in the workspace
+ * Optional arguments:
+ * usermeta metadata - arbitrary user-supplied metadata for the object,
+ *         not to exceed 16kb; if the object type specifies automatic
+ *         metadata extraction with the 'meta ws' annotation, and your
+ *         metadata name conflicts, then your metadata will be silently
+ *         overwritten.
+ * string auth - the authentication token of the KBase account accessing
+ *         the workspace. Overrides the client provided authorization
+ *         credentials if they exist.
+ * @deprecated
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "id", + "type", + "data", + "workspace", + "metadata", + "auth" +}) +public class SaveObjectParams { + + @JsonProperty("id") + private java.lang.String id; + @JsonProperty("type") + private java.lang.String type; + @JsonProperty("data") + private UObject data; + @JsonProperty("workspace") + private java.lang.String workspace; + @JsonProperty("metadata") + private Map metadata; + @JsonProperty("auth") + private java.lang.String auth; + private Map additionalProperties = new HashMap(); + + @JsonProperty("id") + public java.lang.String getId() { + return id; + } + + @JsonProperty("id") + public void setId(java.lang.String id) { + this.id = id; + } + + public SaveObjectParams withId(java.lang.String id) { + this.id = id; + return this; + } + + @JsonProperty("type") + public java.lang.String getType() { + return type; + } + + @JsonProperty("type") + public void setType(java.lang.String type) { + this.type = type; + } + + public SaveObjectParams withType(java.lang.String type) { + this.type = type; + return this; + } + + @JsonProperty("data") + public UObject getData() { + return data; + } + + @JsonProperty("data") + public void setData(UObject data) { + this.data = data; + } + + public SaveObjectParams withData(UObject data) { + this.data = data; + return this; + } + + @JsonProperty("workspace") + public java.lang.String getWorkspace() { + return workspace; + } + + @JsonProperty("workspace") + public void setWorkspace(java.lang.String workspace) { + this.workspace = workspace; + } + + public SaveObjectParams withWorkspace(java.lang.String workspace) { + this.workspace = workspace; + return this; + } + + @JsonProperty("metadata") + public Map getMetadata() { + return metadata; + } + + @JsonProperty("metadata") + public void setMetadata(Map metadata) { + this.metadata = metadata; + } + + public SaveObjectParams withMetadata(Map metadata) { + this.metadata = metadata; + return this; + } + + @JsonProperty("auth") + public java.lang.String getAuth() { + return auth; + } + + @JsonProperty("auth") + public void setAuth(java.lang.String auth) { + this.auth = auth; + } + + public SaveObjectParams withAuth(java.lang.String auth) { + this.auth = auth; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(java.lang.String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public java.lang.String toString() { + return ((((((((((((((("SaveObjectParams"+" [id=")+ id)+", type=")+ type)+", data=")+ data)+", workspace=")+ workspace)+", metadata=")+ metadata)+", auth=")+ auth)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/SaveObjectsParams.java b/client/src/main/java/us/kbase/workspace/SaveObjectsParams.java new file mode 100644 index 00000000..66ca4647 --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/SaveObjectsParams.java @@ -0,0 +1,104 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: SaveObjectsParams

+ *
+ * Input parameters for the "save_objects" function.
+ *                 One, and only one, of the following is required:
+ *                 ws_id id - the numerical ID of the workspace.
+ *                 ws_name workspace - the name of the workspace.
+ *                 Required arguments:
+ *                 list objects - the objects to save.
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "workspace", + "id", + "objects" +}) +public class SaveObjectsParams { + + @JsonProperty("workspace") + private String workspace; + @JsonProperty("id") + private Long id; + @JsonProperty("objects") + private List objects; + private Map additionalProperties = new HashMap(); + + @JsonProperty("workspace") + public String getWorkspace() { + return workspace; + } + + @JsonProperty("workspace") + public void setWorkspace(String workspace) { + this.workspace = workspace; + } + + public SaveObjectsParams withWorkspace(String workspace) { + this.workspace = workspace; + return this; + } + + @JsonProperty("id") + public Long getId() { + return id; + } + + @JsonProperty("id") + public void setId(Long id) { + this.id = id; + } + + public SaveObjectsParams withId(Long id) { + this.id = id; + return this; + } + + @JsonProperty("objects") + public List getObjects() { + return objects; + } + + @JsonProperty("objects") + public void setObjects(List objects) { + this.objects = objects; + } + + public SaveObjectsParams withObjects(List objects) { + this.objects = objects; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public String toString() { + return ((((((((("SaveObjectsParams"+" [workspace=")+ workspace)+", id=")+ id)+", objects=")+ objects)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/SetGlobalPermissionsParams.java b/client/src/main/java/us/kbase/workspace/SetGlobalPermissionsParams.java new file mode 100644 index 00000000..5f95256a --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/SetGlobalPermissionsParams.java @@ -0,0 +1,106 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: SetGlobalPermissionsParams

+ *
+ * Input parameters for the "set_global_permission" function.
+ *                 One, and only one, of the following is required:
+ *                 ws_id id - the numerical ID of the workspace.
+ *                 ws_name workspace - the name of the workspace.
+ *                 Required arguments:
+ *                 permission new_permission - the permission to assign to all users,
+ *                         either 'n' or 'r'. 'r' means that all users will be able to read
+ *                         the workspace; otherwise users must have specific permission to
+ *                         access the workspace.
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "workspace", + "id", + "new_permission" +}) +public class SetGlobalPermissionsParams { + + @JsonProperty("workspace") + private String workspace; + @JsonProperty("id") + private Long id; + @JsonProperty("new_permission") + private String newPermission; + private Map additionalProperties = new HashMap(); + + @JsonProperty("workspace") + public String getWorkspace() { + return workspace; + } + + @JsonProperty("workspace") + public void setWorkspace(String workspace) { + this.workspace = workspace; + } + + public SetGlobalPermissionsParams withWorkspace(String workspace) { + this.workspace = workspace; + return this; + } + + @JsonProperty("id") + public Long getId() { + return id; + } + + @JsonProperty("id") + public void setId(Long id) { + this.id = id; + } + + public SetGlobalPermissionsParams withId(Long id) { + this.id = id; + return this; + } + + @JsonProperty("new_permission") + public String getNewPermission() { + return newPermission; + } + + @JsonProperty("new_permission") + public void setNewPermission(String newPermission) { + this.newPermission = newPermission; + } + + public SetGlobalPermissionsParams withNewPermission(String newPermission) { + this.newPermission = newPermission; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public String toString() { + return ((((((((("SetGlobalPermissionsParams"+" [workspace=")+ workspace)+", id=")+ id)+", newPermission=")+ newPermission)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/SetPermissionsParams.java b/client/src/main/java/us/kbase/workspace/SetPermissionsParams.java new file mode 100644 index 00000000..dccfcfc3 --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/SetPermissionsParams.java @@ -0,0 +1,123 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: SetPermissionsParams

+ *
+ * Input parameters for the "set_permissions" function.
+ *                 One, and only one, of the following is required:
+ *                 ws_id id - the numerical ID of the workspace.
+ *                 ws_name workspace - the name of the workspace.
+ *                 Required arguments:
+ *                 permission new_permission - the permission to assign to the users.
+ *                 list users - the users whose permissions will be altered.
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "workspace", + "id", + "new_permission", + "users" +}) +public class SetPermissionsParams { + + @JsonProperty("workspace") + private java.lang.String workspace; + @JsonProperty("id") + private Long id; + @JsonProperty("new_permission") + private java.lang.String newPermission; + @JsonProperty("users") + private List users; + private Map additionalProperties = new HashMap(); + + @JsonProperty("workspace") + public java.lang.String getWorkspace() { + return workspace; + } + + @JsonProperty("workspace") + public void setWorkspace(java.lang.String workspace) { + this.workspace = workspace; + } + + public SetPermissionsParams withWorkspace(java.lang.String workspace) { + this.workspace = workspace; + return this; + } + + @JsonProperty("id") + public Long getId() { + return id; + } + + @JsonProperty("id") + public void setId(Long id) { + this.id = id; + } + + public SetPermissionsParams withId(Long id) { + this.id = id; + return this; + } + + @JsonProperty("new_permission") + public java.lang.String getNewPermission() { + return newPermission; + } + + @JsonProperty("new_permission") + public void setNewPermission(java.lang.String newPermission) { + this.newPermission = newPermission; + } + + public SetPermissionsParams withNewPermission(java.lang.String newPermission) { + this.newPermission = newPermission; + return this; + } + + @JsonProperty("users") + public List getUsers() { + return users; + } + + @JsonProperty("users") + public void setUsers(List users) { + this.users = users; + } + + public SetPermissionsParams withUsers(List users) { + this.users = users; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(java.lang.String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public java.lang.String toString() { + return ((((((((((("SetPermissionsParams"+" [workspace=")+ workspace)+", id=")+ id)+", newPermission=")+ newPermission)+", users=")+ users)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/SetWorkspaceDescriptionParams.java b/client/src/main/java/us/kbase/workspace/SetWorkspaceDescriptionParams.java new file mode 100644 index 00000000..cb7c85f1 --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/SetWorkspaceDescriptionParams.java @@ -0,0 +1,105 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: SetWorkspaceDescriptionParams

+ *
+ * Input parameters for the "set_workspace_description" function.
+ *                 One, and only one, of the following is required:
+ *                 ws_id id - the numerical ID of the workspace.
+ *                 ws_name workspace - the name of the workspace.
+ *                 Optional arguments:
+ *                 string description - A free-text description of the workspace, 1000
+ *                         characters max. Longer strings will be mercilessly and brutally
+ *                         truncated. If omitted, the description is set to null.
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "workspace", + "id", + "description" +}) +public class SetWorkspaceDescriptionParams { + + @JsonProperty("workspace") + private String workspace; + @JsonProperty("id") + private Long id; + @JsonProperty("description") + private String description; + private Map additionalProperties = new HashMap(); + + @JsonProperty("workspace") + public String getWorkspace() { + return workspace; + } + + @JsonProperty("workspace") + public void setWorkspace(String workspace) { + this.workspace = workspace; + } + + public SetWorkspaceDescriptionParams withWorkspace(String workspace) { + this.workspace = workspace; + return this; + } + + @JsonProperty("id") + public Long getId() { + return id; + } + + @JsonProperty("id") + public void setId(Long id) { + this.id = id; + } + + public SetWorkspaceDescriptionParams withId(Long id) { + this.id = id; + return this; + } + + @JsonProperty("description") + public String getDescription() { + return description; + } + + @JsonProperty("description") + public void setDescription(String description) { + this.description = description; + } + + public SetWorkspaceDescriptionParams withDescription(String description) { + this.description = description; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public String toString() { + return ((((((((("SetWorkspaceDescriptionParams"+" [workspace=")+ workspace)+", id=")+ id)+", description=")+ description)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/SubAction.java b/client/src/main/java/us/kbase/workspace/SubAction.java new file mode 100644 index 00000000..c3a0ecc3 --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/SubAction.java @@ -0,0 +1,152 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: SubAction

+ *
+ * Information about a subaction that is invoked by a provenance action.
+ *                 A provenance action (PA) may invoke subactions (SA), e.g. calling a
+ *                 separate piece of code, a service, or a script. In most cases these
+ *                 calls are the same from PA to PA and so do not need to be listed in
+ *                 the provenance since providing information about the PA alone provides
+ *                 reproducibility.
+ *                 In some cases, however, SAs may change over time, such that invoking
+ *                 the same PA with the same parameters may produce different results.
+ *                 For example, if a PA calls a remote server, that server may be updated
+ *                 between a PA invoked on day T and another PA invoked on day T+1.
+ *                 The SubAction structure allows for specifying information about SAs
+ *                 that may dynamically change from PA invocation to PA invocation.
+ *                 All fields are optional but at least one field must be present.
+ *                 string name - the name of the SA.
+ *                 string ver - the version of SA.
+ *                 string code_url - a url pointing to the SA's codebase.
+ *                 string commit - a version control commit ID for the SA.
+ *                 string endpoint_url - a url pointing to the access point for the SA -
+ *                         a server url, for instance.
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "name", + "ver", + "code_url", + "commit", + "endpoint_url" +}) +public class SubAction { + + @JsonProperty("name") + private String name; + @JsonProperty("ver") + private String ver; + @JsonProperty("code_url") + private String codeUrl; + @JsonProperty("commit") + private String commit; + @JsonProperty("endpoint_url") + private String endpointUrl; + private Map additionalProperties = new HashMap(); + + @JsonProperty("name") + public String getName() { + return name; + } + + @JsonProperty("name") + public void setName(String name) { + this.name = name; + } + + public SubAction withName(String name) { + this.name = name; + return this; + } + + @JsonProperty("ver") + public String getVer() { + return ver; + } + + @JsonProperty("ver") + public void setVer(String ver) { + this.ver = ver; + } + + public SubAction withVer(String ver) { + this.ver = ver; + return this; + } + + @JsonProperty("code_url") + public String getCodeUrl() { + return codeUrl; + } + + @JsonProperty("code_url") + public void setCodeUrl(String codeUrl) { + this.codeUrl = codeUrl; + } + + public SubAction withCodeUrl(String codeUrl) { + this.codeUrl = codeUrl; + return this; + } + + @JsonProperty("commit") + public String getCommit() { + return commit; + } + + @JsonProperty("commit") + public void setCommit(String commit) { + this.commit = commit; + } + + public SubAction withCommit(String commit) { + this.commit = commit; + return this; + } + + @JsonProperty("endpoint_url") + public String getEndpointUrl() { + return endpointUrl; + } + + @JsonProperty("endpoint_url") + public void setEndpointUrl(String endpointUrl) { + this.endpointUrl = endpointUrl; + } + + public SubAction withEndpointUrl(String endpointUrl) { + this.endpointUrl = endpointUrl; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public String toString() { + return ((((((((((((("SubAction"+" [name=")+ name)+", ver=")+ ver)+", codeUrl=")+ codeUrl)+", commit=")+ commit)+", endpointUrl=")+ endpointUrl)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/SubObjectIdentity.java b/client/src/main/java/us/kbase/workspace/SubObjectIdentity.java new file mode 100644 index 00000000..1bf1c66a --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/SubObjectIdentity.java @@ -0,0 +1,229 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: SubObjectIdentity

+ *
+ * DEPRECATED
+ *                 An object subset identifier.
+ *                 Select a subset of an object by:
+ *                 EITHER
+ *                         One, and only one, of the numerical id or name of the workspace.
+ *                                 ws_id wsid - the numerical ID of the workspace.
+ *                                 ws_name workspace - name of the workspace.
+ *                         AND
+ *                         One, and only one, of the numerical id or name of the object.
+ *                                 obj_id objid- the numerical ID of the object.
+ *                                 obj_name name - name of the object.
+ *                         OPTIONALLY
+ *                                 obj_ver ver - the version of the object.
+ *                 OR an object reference string:
+ *                         obj_ref ref - an object reference string.
+ *                 AND a subset specification:
+ *                         list included - the portions of the object to include
+ *                                 in the object subset.
+ *                 boolean strict_maps - if true, throw an exception if the subset
+ *                         specification traverses a non-existant map key (default false)
+ *                 boolean strict_arrays - if true, throw an exception if the subset
+ *                         specification exceeds the size of an array (default true)
+ *                 @deprecated Workspace.ObjectSpecification
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "workspace", + "wsid", + "name", + "objid", + "ver", + "ref", + "included", + "strict_maps", + "strict_arrays" +}) +public class SubObjectIdentity { + + @JsonProperty("workspace") + private java.lang.String workspace; + @JsonProperty("wsid") + private Long wsid; + @JsonProperty("name") + private java.lang.String name; + @JsonProperty("objid") + private Long objid; + @JsonProperty("ver") + private Long ver; + @JsonProperty("ref") + private java.lang.String ref; + @JsonProperty("included") + private List included; + @JsonProperty("strict_maps") + private Long strictMaps; + @JsonProperty("strict_arrays") + private Long strictArrays; + private Map additionalProperties = new HashMap(); + + @JsonProperty("workspace") + public java.lang.String getWorkspace() { + return workspace; + } + + @JsonProperty("workspace") + public void setWorkspace(java.lang.String workspace) { + this.workspace = workspace; + } + + public SubObjectIdentity withWorkspace(java.lang.String workspace) { + this.workspace = workspace; + return this; + } + + @JsonProperty("wsid") + public Long getWsid() { + return wsid; + } + + @JsonProperty("wsid") + public void setWsid(Long wsid) { + this.wsid = wsid; + } + + public SubObjectIdentity withWsid(Long wsid) { + this.wsid = wsid; + return this; + } + + @JsonProperty("name") + public java.lang.String getName() { + return name; + } + + @JsonProperty("name") + public void setName(java.lang.String name) { + this.name = name; + } + + public SubObjectIdentity withName(java.lang.String name) { + this.name = name; + return this; + } + + @JsonProperty("objid") + public Long getObjid() { + return objid; + } + + @JsonProperty("objid") + public void setObjid(Long objid) { + this.objid = objid; + } + + public SubObjectIdentity withObjid(Long objid) { + this.objid = objid; + return this; + } + + @JsonProperty("ver") + public Long getVer() { + return ver; + } + + @JsonProperty("ver") + public void setVer(Long ver) { + this.ver = ver; + } + + public SubObjectIdentity withVer(Long ver) { + this.ver = ver; + return this; + } + + @JsonProperty("ref") + public java.lang.String getRef() { + return ref; + } + + @JsonProperty("ref") + public void setRef(java.lang.String ref) { + this.ref = ref; + } + + public SubObjectIdentity withRef(java.lang.String ref) { + this.ref = ref; + return this; + } + + @JsonProperty("included") + public List getIncluded() { + return included; + } + + @JsonProperty("included") + public void setIncluded(List included) { + this.included = included; + } + + public SubObjectIdentity withIncluded(List included) { + this.included = included; + return this; + } + + @JsonProperty("strict_maps") + public Long getStrictMaps() { + return strictMaps; + } + + @JsonProperty("strict_maps") + public void setStrictMaps(Long strictMaps) { + this.strictMaps = strictMaps; + } + + public SubObjectIdentity withStrictMaps(Long strictMaps) { + this.strictMaps = strictMaps; + return this; + } + + @JsonProperty("strict_arrays") + public Long getStrictArrays() { + return strictArrays; + } + + @JsonProperty("strict_arrays") + public void setStrictArrays(Long strictArrays) { + this.strictArrays = strictArrays; + } + + public SubObjectIdentity withStrictArrays(Long strictArrays) { + this.strictArrays = strictArrays; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(java.lang.String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public java.lang.String toString() { + return ((((((((((((((((((((("SubObjectIdentity"+" [workspace=")+ workspace)+", wsid=")+ wsid)+", name=")+ name)+", objid=")+ objid)+", ver=")+ ver)+", ref=")+ ref)+", included=")+ included)+", strictMaps=")+ strictMaps)+", strictArrays=")+ strictArrays)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/TypeInfo.java b/client/src/main/java/us/kbase/workspace/TypeInfo.java new file mode 100644 index 00000000..6813938e --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/TypeInfo.java @@ -0,0 +1,280 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: TypeInfo

+ *
+ * Information about a type
+ *                 type_string type_def - resolved type definition id.
+ *                 string description - the description of the type from spec file.
+ *                 string spec_def - reconstruction of type definition from spec file.
+ *                 jsonschema json_schema - JSON schema of this type.
+ *                 string parsing_structure - json document describing parsing structure of type
+ *                         in spec file including involved sub-types.
+ *                 list module_vers - versions of spec-files containing
+ *                         given type version.
+ *                 list released_module_vers - versions of released spec-files
+ *                         containing given type version.
+ *                 list type_vers - all versions of type with given type name.
+ *                 list released_type_vers - all released versions of type with
+ *                         given type name.
+ *                 list using_func_defs - list of functions (with versions)
+ *                         referring to this type version.
+ *                 list using_type_defs - list of types (with versions)
+ *                         referring to this type version.
+ *                 list used_type_defs - list of types (with versions)
+ *                         referred from this type version.
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "type_def", + "description", + "spec_def", + "json_schema", + "parsing_structure", + "module_vers", + "released_module_vers", + "type_vers", + "released_type_vers", + "using_func_defs", + "using_type_defs", + "used_type_defs" +}) +public class TypeInfo { + + @JsonProperty("type_def") + private java.lang.String typeDef; + @JsonProperty("description") + private java.lang.String description; + @JsonProperty("spec_def") + private java.lang.String specDef; + @JsonProperty("json_schema") + private java.lang.String jsonSchema; + @JsonProperty("parsing_structure") + private java.lang.String parsingStructure; + @JsonProperty("module_vers") + private List moduleVers; + @JsonProperty("released_module_vers") + private List releasedModuleVers; + @JsonProperty("type_vers") + private List typeVers; + @JsonProperty("released_type_vers") + private List releasedTypeVers; + @JsonProperty("using_func_defs") + private List usingFuncDefs; + @JsonProperty("using_type_defs") + private List usingTypeDefs; + @JsonProperty("used_type_defs") + private List usedTypeDefs; + private Map additionalProperties = new HashMap(); + + @JsonProperty("type_def") + public java.lang.String getTypeDef() { + return typeDef; + } + + @JsonProperty("type_def") + public void setTypeDef(java.lang.String typeDef) { + this.typeDef = typeDef; + } + + public TypeInfo withTypeDef(java.lang.String typeDef) { + this.typeDef = typeDef; + return this; + } + + @JsonProperty("description") + public java.lang.String getDescription() { + return description; + } + + @JsonProperty("description") + public void setDescription(java.lang.String description) { + this.description = description; + } + + public TypeInfo withDescription(java.lang.String description) { + this.description = description; + return this; + } + + @JsonProperty("spec_def") + public java.lang.String getSpecDef() { + return specDef; + } + + @JsonProperty("spec_def") + public void setSpecDef(java.lang.String specDef) { + this.specDef = specDef; + } + + public TypeInfo withSpecDef(java.lang.String specDef) { + this.specDef = specDef; + return this; + } + + @JsonProperty("json_schema") + public java.lang.String getJsonSchema() { + return jsonSchema; + } + + @JsonProperty("json_schema") + public void setJsonSchema(java.lang.String jsonSchema) { + this.jsonSchema = jsonSchema; + } + + public TypeInfo withJsonSchema(java.lang.String jsonSchema) { + this.jsonSchema = jsonSchema; + return this; + } + + @JsonProperty("parsing_structure") + public java.lang.String getParsingStructure() { + return parsingStructure; + } + + @JsonProperty("parsing_structure") + public void setParsingStructure(java.lang.String parsingStructure) { + this.parsingStructure = parsingStructure; + } + + public TypeInfo withParsingStructure(java.lang.String parsingStructure) { + this.parsingStructure = parsingStructure; + return this; + } + + @JsonProperty("module_vers") + public List getModuleVers() { + return moduleVers; + } + + @JsonProperty("module_vers") + public void setModuleVers(List moduleVers) { + this.moduleVers = moduleVers; + } + + public TypeInfo withModuleVers(List moduleVers) { + this.moduleVers = moduleVers; + return this; + } + + @JsonProperty("released_module_vers") + public List getReleasedModuleVers() { + return releasedModuleVers; + } + + @JsonProperty("released_module_vers") + public void setReleasedModuleVers(List releasedModuleVers) { + this.releasedModuleVers = releasedModuleVers; + } + + public TypeInfo withReleasedModuleVers(List releasedModuleVers) { + this.releasedModuleVers = releasedModuleVers; + return this; + } + + @JsonProperty("type_vers") + public List getTypeVers() { + return typeVers; + } + + @JsonProperty("type_vers") + public void setTypeVers(List typeVers) { + this.typeVers = typeVers; + } + + public TypeInfo withTypeVers(List typeVers) { + this.typeVers = typeVers; + return this; + } + + @JsonProperty("released_type_vers") + public List getReleasedTypeVers() { + return releasedTypeVers; + } + + @JsonProperty("released_type_vers") + public void setReleasedTypeVers(List releasedTypeVers) { + this.releasedTypeVers = releasedTypeVers; + } + + public TypeInfo withReleasedTypeVers(List releasedTypeVers) { + this.releasedTypeVers = releasedTypeVers; + return this; + } + + @JsonProperty("using_func_defs") + public List getUsingFuncDefs() { + return usingFuncDefs; + } + + @JsonProperty("using_func_defs") + public void setUsingFuncDefs(List usingFuncDefs) { + this.usingFuncDefs = usingFuncDefs; + } + + public TypeInfo withUsingFuncDefs(List usingFuncDefs) { + this.usingFuncDefs = usingFuncDefs; + return this; + } + + @JsonProperty("using_type_defs") + public List getUsingTypeDefs() { + return usingTypeDefs; + } + + @JsonProperty("using_type_defs") + public void setUsingTypeDefs(List usingTypeDefs) { + this.usingTypeDefs = usingTypeDefs; + } + + public TypeInfo withUsingTypeDefs(List usingTypeDefs) { + this.usingTypeDefs = usingTypeDefs; + return this; + } + + @JsonProperty("used_type_defs") + public List getUsedTypeDefs() { + return usedTypeDefs; + } + + @JsonProperty("used_type_defs") + public void setUsedTypeDefs(List usedTypeDefs) { + this.usedTypeDefs = usedTypeDefs; + } + + public TypeInfo withUsedTypeDefs(List usedTypeDefs) { + this.usedTypeDefs = usedTypeDefs; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(java.lang.String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public java.lang.String toString() { + return ((((((((((((((((((((((((((("TypeInfo"+" [typeDef=")+ typeDef)+", description=")+ description)+", specDef=")+ specDef)+", jsonSchema=")+ jsonSchema)+", parsingStructure=")+ parsingStructure)+", moduleVers=")+ moduleVers)+", releasedModuleVers=")+ releasedModuleVers)+", typeVers=")+ typeVers)+", releasedTypeVers=")+ releasedTypeVers)+", usingFuncDefs=")+ usingFuncDefs)+", usingTypeDefs=")+ usingTypeDefs)+", usedTypeDefs=")+ usedTypeDefs)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/WorkspaceClient.java b/client/src/main/java/us/kbase/workspace/WorkspaceClient.java new file mode 100644 index 00000000..cd462c68 --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/WorkspaceClient.java @@ -0,0 +1,1426 @@ +package us.kbase.workspace; + +import com.fasterxml.jackson.core.type.TypeReference; +import java.io.File; +import java.io.IOException; +import java.net.MalformedURLException; +import java.net.URL; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import us.kbase.auth.AuthToken; +import us.kbase.common.service.JsonClientCaller; +import us.kbase.common.service.JsonClientException; +import us.kbase.common.service.RpcContext; +import us.kbase.common.service.Tuple11; +import us.kbase.common.service.Tuple12; +import us.kbase.common.service.Tuple7; +import us.kbase.common.service.Tuple9; +import us.kbase.common.service.UObject; +import us.kbase.common.service.UnauthorizedException; + +/** + *

Original spec-file module name: Workspace

+ *
+ * The Workspace Service (WSS) is primarily a language independent remote storage
+ * and retrieval system for KBase typed objects (TO) defined with the KBase
+ * Interface Description Language (KIDL). It has the following primary features:
+ * - Immutable storage of TOs with
+ *         - user defined metadata
+ *         - data provenance
+ * - Versioning of TOs
+ * - Referencing from TO to TO
+ * - Typechecking of all saved objects against a KIDL specification
+ * - Collecting typed objects into a workspace
+ * - Sharing workspaces with specific KBase users or the world
+ * - Freezing and publishing workspaces
+ * 
+ */ +public class WorkspaceClient { + private JsonClientCaller caller; + private String serviceVersion = null; + private static URL DEFAULT_URL = null; + static { + try { + DEFAULT_URL = new URL("https://ci.kbase.us/services/ws"); + } catch (MalformedURLException mue) { + throw new RuntimeException("Compile error in client - bad url compiled"); + } + } + + /** Constructs a client with the default url and no user credentials.*/ + public WorkspaceClient() { + caller = new JsonClientCaller(DEFAULT_URL); + } + + + /** Constructs a client with a custom URL and no user credentials. + * @param url the URL of the service. + */ + public WorkspaceClient(URL url) { + caller = new JsonClientCaller(url); + } + /** Constructs a client with a custom URL. + * @param url the URL of the service. + * @param token the user's authorization token. + * @throws UnauthorizedException if the token is not valid. + * @throws IOException if an IOException occurs when checking the token's + * validity. + */ + public WorkspaceClient(URL url, AuthToken token) throws UnauthorizedException, IOException { + caller = new JsonClientCaller(url, token); + } + + /** Constructs a client with a custom URL. + * @param url the URL of the service. + * @param user the user name. + * @param password the password for the user name. + * @throws UnauthorizedException if the credentials are not valid. + * @throws IOException if an IOException occurs when checking the user's + * credentials. + */ + public WorkspaceClient(URL url, String user, String password) throws UnauthorizedException, IOException { + caller = new JsonClientCaller(url, user, password); + } + + /** Constructs a client with a custom URL + * and a custom authorization service URL. + * @param url the URL of the service. + * @param user the user name. + * @param password the password for the user name. + * @param auth the URL of the authorization server. + * @throws UnauthorizedException if the credentials are not valid. + * @throws IOException if an IOException occurs when checking the user's + * credentials. + */ + public WorkspaceClient(URL url, String user, String password, URL auth) throws UnauthorizedException, IOException { + caller = new JsonClientCaller(url, user, password, auth); + } + + /** Constructs a client with the default URL. + * @param token the user's authorization token. + * @throws UnauthorizedException if the token is not valid. + * @throws IOException if an IOException occurs when checking the token's + * validity. + */ + public WorkspaceClient(AuthToken token) throws UnauthorizedException, IOException { + caller = new JsonClientCaller(DEFAULT_URL, token); + } + + /** Constructs a client with the default URL. + * @param user the user name. + * @param password the password for the user name. + * @throws UnauthorizedException if the credentials are not valid. + * @throws IOException if an IOException occurs when checking the user's + * credentials. + */ + public WorkspaceClient(String user, String password) throws UnauthorizedException, IOException { + caller = new JsonClientCaller(DEFAULT_URL, user, password); + } + + /** Get the token this client uses to communicate with the server. + * @return the authorization token. + */ + public AuthToken getToken() { + return caller.getToken(); + } + + /** Get the URL of the service with which this client communicates. + * @return the service URL. + */ + public URL getURL() { + return caller.getURL(); + } + + /** Set the timeout between establishing a connection to a server and + * receiving a response. A value of zero or null implies no timeout. + * @param milliseconds the milliseconds to wait before timing out when + * attempting to read from a server. + */ + public void setConnectionReadTimeOut(Integer milliseconds) { + this.caller.setConnectionReadTimeOut(milliseconds); + } + + /** Check if this client allows insecure http (vs https) connections. + * @return true if insecure connections are allowed. + */ + public boolean isInsecureHttpConnectionAllowed() { + return caller.isInsecureHttpConnectionAllowed(); + } + + /** Deprecated. Use isInsecureHttpConnectionAllowed(). + * @deprecated + */ + public boolean isAuthAllowedForHttp() { + return caller.isAuthAllowedForHttp(); + } + + /** Set whether insecure http (vs https) connections should be allowed by + * this client. + * @param allowed true to allow insecure connections. Default false + */ + public void setIsInsecureHttpConnectionAllowed(boolean allowed) { + caller.setInsecureHttpConnectionAllowed(allowed); + } + + /** Deprecated. Use setIsInsecureHttpConnectionAllowed(). + * @deprecated + */ + public void setAuthAllowedForHttp(boolean isAuthAllowedForHttp) { + caller.setAuthAllowedForHttp(isAuthAllowedForHttp); + } + + /** Set whether all SSL certificates, including self-signed certificates, + * should be trusted. + * @param trustAll true to trust all certificates. Default false. + */ + public void setAllSSLCertificatesTrusted(final boolean trustAll) { + caller.setAllSSLCertificatesTrusted(trustAll); + } + + /** Check if this client trusts all SSL certificates, including + * self-signed certificates. + * @return true if all certificates are trusted. + */ + public boolean isAllSSLCertificatesTrusted() { + return caller.isAllSSLCertificatesTrusted(); + } + /** Sets streaming mode on. In this case, the data will be streamed to + * the server in chunks as it is read from disk rather than buffered in + * memory. Many servers are not compatible with this feature. + * @param streamRequest true to set streaming mode on, false otherwise. + */ + public void setStreamingModeOn(boolean streamRequest) { + caller.setStreamingModeOn(streamRequest); + } + + /** Returns true if streaming mode is on. + * @return true if streaming mode is on. + */ + public boolean isStreamingModeOn() { + return caller.isStreamingModeOn(); + } + + public void _setFileForNextRpcResponse(File f) { + caller.setFileForNextRpcResponse(f); + } + + public String getServiceVersion() { + return this.serviceVersion; + } + + public void setServiceVersion(String newValue) { + this.serviceVersion = newValue; + } + + /** + *

Original spec-file function name: ver

+ *
+     * Returns the version of the workspace service.
+     * 
+ * @return parameter "ver" of String + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public String ver(RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + TypeReference> retType = new TypeReference>() {}; + List res = caller.jsonrpcCall("Workspace.ver", args, retType, true, false, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: create_workspace

+ *
+     * Creates a new workspace.
+     * 
+ * @param params instance of type {@link us.kbase.workspace.CreateWorkspaceParams CreateWorkspaceParams} + * @return parameter "info" of original type "workspace_info" (Information about a workspace. ws_id id - the numerical ID of the workspace. ws_name workspace - name of the workspace. username owner - name of the user who owns (e.g. created) this workspace. timestamp moddate - date when the workspace was last modified. int max_objid - the maximum object ID appearing in this workspace. Since cloning a workspace preserves object IDs, this number may be greater than the number of objects in a newly cloned workspace. permission user_permission - permissions for the authenticated user of this workspace. permission globalread - whether this workspace is globally readable. lock_status lockstat - the status of the workspace lock. usermeta metadata - arbitrary user-supplied metadata about the workspace.) → tuple of size 9: parameter "id" of original type "ws_id" (The unique, permanent numerical ID of a workspace.), parameter "workspace" of original type "ws_name" (A string used as a name for a workspace. Any string consisting of alphanumeric characters and "_", ".", or "-" that is not an integer is acceptable. The name may optionally be prefixed with the workspace owner's user name and a colon, e.g. kbasetest:my_workspace.), parameter "owner" of original type "username" (Login name of a KBase user account.), parameter "moddate" of original type "timestamp" (A time in the format YYYY-MM-DDThh:mm:ssZ, where Z is either the character Z (representing the UTC timezone) or the difference in time to UTC in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500 (EST time) 2013-04-03T08:56:32+0000 (UTC time) 2013-04-03T08:56:32Z (UTC time)), parameter "max_objid" of Long, parameter "user_permission" of original type "permission" (Represents the permissions a user or users have to a workspace: 'a' - administrator. All operations allowed. 'w' - read/write. 'r' - read. 'n' - no permissions.), parameter "globalread" of original type "permission" (Represents the permissions a user or users have to a workspace: 'a' - administrator. All operations allowed. 'w' - read/write. 'r' - read. 'n' - no permissions.), parameter "lockstat" of original type "lock_status" (The lock status of a workspace. One of 'unlocked', 'locked', or 'published'.), parameter "metadata" of original type "usermeta" (User provided metadata about an object. Arbitrary key-value pairs provided by the user.) → mapping from String to String + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public Tuple9> createWorkspace(CreateWorkspaceParams params, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(params); + TypeReference>>> retType = new TypeReference>>>() {}; + List>> res = caller.jsonrpcCall("Workspace.create_workspace", args, retType, true, true, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: alter_workspace_metadata

+ *
+     * Change the metadata associated with a workspace.
+     * 
+ * @param params instance of type {@link us.kbase.workspace.AlterWorkspaceMetadataParams AlterWorkspaceMetadataParams} + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public void alterWorkspaceMetadata(AlterWorkspaceMetadataParams params, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(params); + TypeReference retType = new TypeReference() {}; + caller.jsonrpcCall("Workspace.alter_workspace_metadata", args, retType, false, true, jsonRpcContext, this.serviceVersion); + } + + /** + *

Original spec-file function name: clone_workspace

+ *
+     * Clones a workspace.
+     * 
+ * @param params instance of type {@link us.kbase.workspace.CloneWorkspaceParams CloneWorkspaceParams} + * @return parameter "info" of original type "workspace_info" (Information about a workspace. ws_id id - the numerical ID of the workspace. ws_name workspace - name of the workspace. username owner - name of the user who owns (e.g. created) this workspace. timestamp moddate - date when the workspace was last modified. int max_objid - the maximum object ID appearing in this workspace. Since cloning a workspace preserves object IDs, this number may be greater than the number of objects in a newly cloned workspace. permission user_permission - permissions for the authenticated user of this workspace. permission globalread - whether this workspace is globally readable. lock_status lockstat - the status of the workspace lock. usermeta metadata - arbitrary user-supplied metadata about the workspace.) → tuple of size 9: parameter "id" of original type "ws_id" (The unique, permanent numerical ID of a workspace.), parameter "workspace" of original type "ws_name" (A string used as a name for a workspace. Any string consisting of alphanumeric characters and "_", ".", or "-" that is not an integer is acceptable. The name may optionally be prefixed with the workspace owner's user name and a colon, e.g. kbasetest:my_workspace.), parameter "owner" of original type "username" (Login name of a KBase user account.), parameter "moddate" of original type "timestamp" (A time in the format YYYY-MM-DDThh:mm:ssZ, where Z is either the character Z (representing the UTC timezone) or the difference in time to UTC in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500 (EST time) 2013-04-03T08:56:32+0000 (UTC time) 2013-04-03T08:56:32Z (UTC time)), parameter "max_objid" of Long, parameter "user_permission" of original type "permission" (Represents the permissions a user or users have to a workspace: 'a' - administrator. All operations allowed. 'w' - read/write. 'r' - read. 'n' - no permissions.), parameter "globalread" of original type "permission" (Represents the permissions a user or users have to a workspace: 'a' - administrator. All operations allowed. 'w' - read/write. 'r' - read. 'n' - no permissions.), parameter "lockstat" of original type "lock_status" (The lock status of a workspace. One of 'unlocked', 'locked', or 'published'.), parameter "metadata" of original type "usermeta" (User provided metadata about an object. Arbitrary key-value pairs provided by the user.) → mapping from String to String + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public Tuple9> cloneWorkspace(CloneWorkspaceParams params, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(params); + TypeReference>>> retType = new TypeReference>>>() {}; + List>> res = caller.jsonrpcCall("Workspace.clone_workspace", args, retType, true, true, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: lock_workspace

+ *
+     * Lock a workspace, preventing further changes.
+     *                 WARNING: Locking a workspace is permanent. A workspace, once locked,
+     *                 cannot be unlocked.
+     *                 The only changes allowed for a locked workspace are changing user
+     *                 based permissions or making a private workspace globally readable,
+     *                 thus permanently publishing the workspace. A locked, globally readable
+     *                 workspace cannot be made private.
+     * 
+ * @param wsi instance of type {@link us.kbase.workspace.WorkspaceIdentity WorkspaceIdentity} + * @return parameter "info" of original type "workspace_info" (Information about a workspace. ws_id id - the numerical ID of the workspace. ws_name workspace - name of the workspace. username owner - name of the user who owns (e.g. created) this workspace. timestamp moddate - date when the workspace was last modified. int max_objid - the maximum object ID appearing in this workspace. Since cloning a workspace preserves object IDs, this number may be greater than the number of objects in a newly cloned workspace. permission user_permission - permissions for the authenticated user of this workspace. permission globalread - whether this workspace is globally readable. lock_status lockstat - the status of the workspace lock. usermeta metadata - arbitrary user-supplied metadata about the workspace.) → tuple of size 9: parameter "id" of original type "ws_id" (The unique, permanent numerical ID of a workspace.), parameter "workspace" of original type "ws_name" (A string used as a name for a workspace. Any string consisting of alphanumeric characters and "_", ".", or "-" that is not an integer is acceptable. The name may optionally be prefixed with the workspace owner's user name and a colon, e.g. kbasetest:my_workspace.), parameter "owner" of original type "username" (Login name of a KBase user account.), parameter "moddate" of original type "timestamp" (A time in the format YYYY-MM-DDThh:mm:ssZ, where Z is either the character Z (representing the UTC timezone) or the difference in time to UTC in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500 (EST time) 2013-04-03T08:56:32+0000 (UTC time) 2013-04-03T08:56:32Z (UTC time)), parameter "max_objid" of Long, parameter "user_permission" of original type "permission" (Represents the permissions a user or users have to a workspace: 'a' - administrator. All operations allowed. 'w' - read/write. 'r' - read. 'n' - no permissions.), parameter "globalread" of original type "permission" (Represents the permissions a user or users have to a workspace: 'a' - administrator. All operations allowed. 'w' - read/write. 'r' - read. 'n' - no permissions.), parameter "lockstat" of original type "lock_status" (The lock status of a workspace. One of 'unlocked', 'locked', or 'published'.), parameter "metadata" of original type "usermeta" (User provided metadata about an object. Arbitrary key-value pairs provided by the user.) → mapping from String to String + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public Tuple9> lockWorkspace(WorkspaceIdentity wsi, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(wsi); + TypeReference>>> retType = new TypeReference>>>() {}; + List>> res = caller.jsonrpcCall("Workspace.lock_workspace", args, retType, true, true, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: get_workspacemeta

+ *
+     * Retrieves the metadata associated with the specified workspace.
+     * Provided for backwards compatibility.
+     * @deprecated Workspace.get_workspace_info
+     * 
+ * @param params instance of type {@link us.kbase.workspace.GetWorkspacemetaParams GetWorkspacemetaParams} (original type "get_workspacemeta_params") + * @return parameter "metadata" of original type "workspace_metadata" (Meta data associated with a workspace. Provided for backwards compatibility. To be replaced by workspace_info. ws_name id - name of the workspace username owner - name of the user who owns (who created) this workspace timestamp moddate - date when the workspace was last modified int objects - the approximate number of objects currently stored in the workspace. permission user_permission - permissions for the currently logged in user for the workspace permission global_permission - default permissions for the workspace for all KBase users ws_id num_id - numerical ID of the workspace @deprecated Workspace.workspace_info) → tuple of size 7: parameter "id" of original type "ws_name" (A string used as a name for a workspace. Any string consisting of alphanumeric characters and "_", ".", or "-" that is not an integer is acceptable. The name may optionally be prefixed with the workspace owner's user name and a colon, e.g. kbasetest:my_workspace.), parameter "owner" of original type "username" (Login name of a KBase user account.), parameter "moddate" of original type "timestamp" (A time in the format YYYY-MM-DDThh:mm:ssZ, where Z is either the character Z (representing the UTC timezone) or the difference in time to UTC in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500 (EST time) 2013-04-03T08:56:32+0000 (UTC time) 2013-04-03T08:56:32Z (UTC time)), parameter "objects" of Long, parameter "user_permission" of original type "permission" (Represents the permissions a user or users have to a workspace: 'a' - administrator. All operations allowed. 'w' - read/write. 'r' - read. 'n' - no permissions.), parameter "global_permission" of original type "permission" (Represents the permissions a user or users have to a workspace: 'a' - administrator. All operations allowed. 'w' - read/write. 'r' - read. 'n' - no permissions.), parameter "num_id" of original type "ws_id" (The unique, permanent numerical ID of a workspace.) + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public Tuple7 getWorkspacemeta(GetWorkspacemetaParams params, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(params); + TypeReference>> retType = new TypeReference>>() {}; + List> res = caller.jsonrpcCall("Workspace.get_workspacemeta", args, retType, true, false, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: get_workspace_info

+ *
+     * Get information associated with a workspace.
+     * 
+ * @param wsi instance of type {@link us.kbase.workspace.WorkspaceIdentity WorkspaceIdentity} + * @return parameter "info" of original type "workspace_info" (Information about a workspace. ws_id id - the numerical ID of the workspace. ws_name workspace - name of the workspace. username owner - name of the user who owns (e.g. created) this workspace. timestamp moddate - date when the workspace was last modified. int max_objid - the maximum object ID appearing in this workspace. Since cloning a workspace preserves object IDs, this number may be greater than the number of objects in a newly cloned workspace. permission user_permission - permissions for the authenticated user of this workspace. permission globalread - whether this workspace is globally readable. lock_status lockstat - the status of the workspace lock. usermeta metadata - arbitrary user-supplied metadata about the workspace.) → tuple of size 9: parameter "id" of original type "ws_id" (The unique, permanent numerical ID of a workspace.), parameter "workspace" of original type "ws_name" (A string used as a name for a workspace. Any string consisting of alphanumeric characters and "_", ".", or "-" that is not an integer is acceptable. The name may optionally be prefixed with the workspace owner's user name and a colon, e.g. kbasetest:my_workspace.), parameter "owner" of original type "username" (Login name of a KBase user account.), parameter "moddate" of original type "timestamp" (A time in the format YYYY-MM-DDThh:mm:ssZ, where Z is either the character Z (representing the UTC timezone) or the difference in time to UTC in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500 (EST time) 2013-04-03T08:56:32+0000 (UTC time) 2013-04-03T08:56:32Z (UTC time)), parameter "max_objid" of Long, parameter "user_permission" of original type "permission" (Represents the permissions a user or users have to a workspace: 'a' - administrator. All operations allowed. 'w' - read/write. 'r' - read. 'n' - no permissions.), parameter "globalread" of original type "permission" (Represents the permissions a user or users have to a workspace: 'a' - administrator. All operations allowed. 'w' - read/write. 'r' - read. 'n' - no permissions.), parameter "lockstat" of original type "lock_status" (The lock status of a workspace. One of 'unlocked', 'locked', or 'published'.), parameter "metadata" of original type "usermeta" (User provided metadata about an object. Arbitrary key-value pairs provided by the user.) → mapping from String to String + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public Tuple9> getWorkspaceInfo(WorkspaceIdentity wsi, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(wsi); + TypeReference>>> retType = new TypeReference>>>() {}; + List>> res = caller.jsonrpcCall("Workspace.get_workspace_info", args, retType, true, false, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: get_workspace_description

+ *
+     * Get a workspace's description.
+     * 
+ * @param wsi instance of type {@link us.kbase.workspace.WorkspaceIdentity WorkspaceIdentity} + * @return parameter "description" of String + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public String getWorkspaceDescription(WorkspaceIdentity wsi, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(wsi); + TypeReference> retType = new TypeReference>() {}; + List res = caller.jsonrpcCall("Workspace.get_workspace_description", args, retType, true, false, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: set_permissions

+ *
+     * Set permissions for a workspace.
+     * 
+ * @param params instance of type {@link us.kbase.workspace.SetPermissionsParams SetPermissionsParams} + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public void setPermissions(SetPermissionsParams params, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(params); + TypeReference retType = new TypeReference() {}; + caller.jsonrpcCall("Workspace.set_permissions", args, retType, false, true, jsonRpcContext, this.serviceVersion); + } + + /** + *

Original spec-file function name: set_global_permission

+ *
+     * Set the global permission for a workspace.
+     * 
+ * @param params instance of type {@link us.kbase.workspace.SetGlobalPermissionsParams SetGlobalPermissionsParams} + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public void setGlobalPermission(SetGlobalPermissionsParams params, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(params); + TypeReference retType = new TypeReference() {}; + caller.jsonrpcCall("Workspace.set_global_permission", args, retType, false, true, jsonRpcContext, this.serviceVersion); + } + + /** + *

Original spec-file function name: set_workspace_description

+ *
+     * Set the description for a workspace.
+     * 
+ * @param params instance of type {@link us.kbase.workspace.SetWorkspaceDescriptionParams SetWorkspaceDescriptionParams} + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public void setWorkspaceDescription(SetWorkspaceDescriptionParams params, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(params); + TypeReference retType = new TypeReference() {}; + caller.jsonrpcCall("Workspace.set_workspace_description", args, retType, false, true, jsonRpcContext, this.serviceVersion); + } + + /** + *

Original spec-file function name: get_permissions_mass

+ *
+     * Get permissions for multiple workspaces.
+     * 
+ * @param mass instance of type {@link us.kbase.workspace.GetPermissionsMassParams GetPermissionsMassParams} + * @return parameter "perms" of type {@link us.kbase.workspace.WorkspacePermissions WorkspacePermissions} + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public WorkspacePermissions getPermissionsMass(GetPermissionsMassParams mass, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(mass); + TypeReference> retType = new TypeReference>() {}; + List res = caller.jsonrpcCall("Workspace.get_permissions_mass", args, retType, true, false, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: get_permissions

+ *
+     * Get permissions for a workspace.
+     * @deprecated get_permissions_mass
+     * 
+ * @param wsi instance of type {@link us.kbase.workspace.WorkspaceIdentity WorkspaceIdentity} + * @return parameter "perms" of mapping from original type "username" (Login name of a KBase user account.) to original type "permission" (Represents the permissions a user or users have to a workspace: 'a' - administrator. All operations allowed. 'w' - read/write. 'r' - read. 'n' - no permissions.) + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public Map getPermissions(WorkspaceIdentity wsi, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(wsi); + TypeReference>> retType = new TypeReference>>() {}; + List> res = caller.jsonrpcCall("Workspace.get_permissions", args, retType, true, false, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: save_object

+ *
+     * Saves the input object data and metadata into the selected workspace,
+     *         returning the object_metadata of the saved object. Provided
+     *         for backwards compatibility.
+     * @deprecated Workspace.save_objects
+     * 
+ * @param params instance of type {@link us.kbase.workspace.SaveObjectParams SaveObjectParams} (original type "save_object_params") + * @return parameter "metadata" of original type "object_metadata" (Meta data associated with an object stored in a workspace. Provided for backwards compatibility. obj_name id - name of the object. type_string type - type of the object. timestamp moddate - date when the object was saved obj_ver instance - the version of the object string command - Deprecated. Always returns the empty string. username lastmodifier - name of the user who last saved the object, including copying the object username owner - Deprecated. Same as lastmodifier. ws_name workspace - name of the workspace in which the object is stored string ref - Deprecated. Always returns the empty string. string chsum - the md5 checksum of the object. usermeta metadata - arbitrary user-supplied metadata about the object. obj_id objid - the numerical id of the object. @deprecated object_info) → tuple of size 12: parameter "id" of original type "obj_name" (A string used as a name for an object. Any string consisting of alphanumeric characters and the characters |._- that is not an integer is acceptable.), parameter "type" of original type "type_string" (A type string. Specifies the type and its version in a single string in the format [module].[typename]-[major].[minor]: module - a string. The module name of the typespec containing the type. typename - a string. The name of the type as assigned by the typedef statement. major - an integer. The major version of the type. A change in the major version implies the type has changed in a non-backwards compatible way. minor - an integer. The minor version of the type. A change in the minor version implies that the type has changed in a way that is backwards compatible with previous type definitions. In many cases, the major and minor versions are optional, and if not provided the most recent version will be used. Example: MyModule.MyType-3.1), parameter "moddate" of original type "timestamp" (A time in the format YYYY-MM-DDThh:mm:ssZ, where Z is either the character Z (representing the UTC timezone) or the difference in time to UTC in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500 (EST time) 2013-04-03T08:56:32+0000 (UTC time) 2013-04-03T08:56:32Z (UTC time)), parameter "instance" of Long, parameter "command" of String, parameter "lastmodifier" of original type "username" (Login name of a KBase user account.), parameter "owner" of original type "username" (Login name of a KBase user account.), parameter "workspace" of original type "ws_name" (A string used as a name for a workspace. Any string consisting of alphanumeric characters and "_", ".", or "-" that is not an integer is acceptable. The name may optionally be prefixed with the workspace owner's user name and a colon, e.g. kbasetest:my_workspace.), parameter "ref" of String, parameter "chsum" of String, parameter "metadata" of original type "usermeta" (User provided metadata about an object. Arbitrary key-value pairs provided by the user.) → mapping from String to String, parameter "objid" of original type "obj_id" (The unique, permanent numerical ID of an object.) + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public Tuple12, Long> saveObject(SaveObjectParams params, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(params); + TypeReference, Long>>> retType = new TypeReference, Long>>>() {}; + List, Long>> res = caller.jsonrpcCall("Workspace.save_object", args, retType, true, false, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: save_objects

+ *
+     * Save objects to the workspace. Saving over a deleted object undeletes
+     * it.
+     * 
+ * @param params instance of type {@link us.kbase.workspace.SaveObjectsParams SaveObjectsParams} + * @return parameter "info" of list of original type "object_info" (Information about an object, including user provided metadata. obj_id objid - the numerical id of the object. obj_name name - the name of the object. type_string type - the type of the object. timestamp save_date - the save date of the object. obj_ver ver - the version of the object. username saved_by - the user that saved or copied the object. ws_id wsid - the workspace containing the object. ws_name workspace - the workspace containing the object. string chsum - the md5 checksum of the object. int size - the size of the object in bytes. usermeta meta - arbitrary user-supplied metadata about the object.) → tuple of size 11: parameter "objid" of original type "obj_id" (The unique, permanent numerical ID of an object.), parameter "name" of original type "obj_name" (A string used as a name for an object. Any string consisting of alphanumeric characters and the characters |._- that is not an integer is acceptable.), parameter "type" of original type "type_string" (A type string. Specifies the type and its version in a single string in the format [module].[typename]-[major].[minor]: module - a string. The module name of the typespec containing the type. typename - a string. The name of the type as assigned by the typedef statement. major - an integer. The major version of the type. A change in the major version implies the type has changed in a non-backwards compatible way. minor - an integer. The minor version of the type. A change in the minor version implies that the type has changed in a way that is backwards compatible with previous type definitions. In many cases, the major and minor versions are optional, and if not provided the most recent version will be used. Example: MyModule.MyType-3.1), parameter "save_date" of original type "timestamp" (A time in the format YYYY-MM-DDThh:mm:ssZ, where Z is either the character Z (representing the UTC timezone) or the difference in time to UTC in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500 (EST time) 2013-04-03T08:56:32+0000 (UTC time) 2013-04-03T08:56:32Z (UTC time)), parameter "version" of Long, parameter "saved_by" of original type "username" (Login name of a KBase user account.), parameter "wsid" of original type "ws_id" (The unique, permanent numerical ID of a workspace.), parameter "workspace" of original type "ws_name" (A string used as a name for a workspace. Any string consisting of alphanumeric characters and "_", ".", or "-" that is not an integer is acceptable. The name may optionally be prefixed with the workspace owner's user name and a colon, e.g. kbasetest:my_workspace.), parameter "chsum" of String, parameter "size" of Long, parameter "meta" of original type "usermeta" (User provided metadata about an object. Arbitrary key-value pairs provided by the user.) → mapping from String to String + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public List>> saveObjects(SaveObjectsParams params, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(params); + TypeReference>>>> retType = new TypeReference>>>>() {}; + List>>> res = caller.jsonrpcCall("Workspace.save_objects", args, retType, true, true, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: get_object

+ *
+     * Retrieves the specified object from the specified workspace.
+     * Both the object data and metadata are returned.
+     * Provided for backwards compatibility.
+     * @deprecated Workspace.get_objects
+     * 
+ * @param params instance of type {@link us.kbase.workspace.GetObjectParams GetObjectParams} (original type "get_object_params") + * @return parameter "output" of type {@link us.kbase.workspace.GetObjectOutput GetObjectOutput} (original type "get_object_output") + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public GetObjectOutput getObject(GetObjectParams params, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(params); + TypeReference> retType = new TypeReference>() {}; + List res = caller.jsonrpcCall("Workspace.get_object", args, retType, true, false, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: get_object_provenance

+ *
+     * DEPRECATED
+     * Get object provenance from the workspace.
+     * @deprecated Workspace.get_objects2
+     * 
+ * @param objectIds instance of list of type {@link us.kbase.workspace.ObjectIdentity ObjectIdentity} + * @return parameter "data" of list of type {@link us.kbase.workspace.ObjectProvenanceInfo ObjectProvenanceInfo} + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public List getObjectProvenance(List objectIds, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(objectIds); + TypeReference>> retType = new TypeReference>>() {}; + List> res = caller.jsonrpcCall("Workspace.get_object_provenance", args, retType, true, false, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: get_objects

+ *
+     * DEPRECATED
+     * Get objects from the workspace.
+     * @deprecated Workspace.get_objects2
+     * 
+ * @param objectIds instance of list of type {@link us.kbase.workspace.ObjectIdentity ObjectIdentity} + * @return parameter "data" of list of type {@link us.kbase.workspace.ObjectData ObjectData} + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public List getObjects(List objectIds, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(objectIds); + TypeReference>> retType = new TypeReference>>() {}; + List> res = caller.jsonrpcCall("Workspace.get_objects", args, retType, true, false, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: get_objects2

+ *
+     * Get objects from the workspace.
+     * 
+ * @param params instance of type {@link us.kbase.workspace.GetObjects2Params GetObjects2Params} + * @return parameter "results" of type {@link us.kbase.workspace.GetObjects2Results GetObjects2Results} + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public GetObjects2Results getObjects2(GetObjects2Params params, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(params); + TypeReference> retType = new TypeReference>() {}; + List res = caller.jsonrpcCall("Workspace.get_objects2", args, retType, true, false, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: get_object_subset

+ *
+     * DEPRECATED
+     * Get portions of objects from the workspace.
+     * When selecting a subset of an array in an object, the returned
+     * array is compressed to the size of the subset, but the ordering of
+     * the array is maintained. For example, if the array stored at the
+     * 'feature' key of a Genome object has 4000 entries, and the object paths
+     * provided are:
+     *         /feature/7
+     *         /feature/3015
+     *         /feature/700
+     * The returned feature array will be of length three and the entries will
+     * consist, in order, of the 7th, 700th, and 3015th entries of the
+     * original array.
+     * @deprecated Workspace.get_objects2
+     * 
+ * @param subObjectIds instance of list of type {@link us.kbase.workspace.SubObjectIdentity SubObjectIdentity} + * @return parameter "data" of list of type {@link us.kbase.workspace.ObjectData ObjectData} + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public List getObjectSubset(List subObjectIds, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(subObjectIds); + TypeReference>> retType = new TypeReference>>() {}; + List> res = caller.jsonrpcCall("Workspace.get_object_subset", args, retType, true, false, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: get_object_history

+ *
+     * Get an object's history. The version argument of the ObjectIdentity is
+     * ignored.
+     * 
+ * @param object instance of type {@link us.kbase.workspace.ObjectIdentity ObjectIdentity} + * @return parameter "history" of list of original type "object_info" (Information about an object, including user provided metadata. obj_id objid - the numerical id of the object. obj_name name - the name of the object. type_string type - the type of the object. timestamp save_date - the save date of the object. obj_ver ver - the version of the object. username saved_by - the user that saved or copied the object. ws_id wsid - the workspace containing the object. ws_name workspace - the workspace containing the object. string chsum - the md5 checksum of the object. int size - the size of the object in bytes. usermeta meta - arbitrary user-supplied metadata about the object.) → tuple of size 11: parameter "objid" of original type "obj_id" (The unique, permanent numerical ID of an object.), parameter "name" of original type "obj_name" (A string used as a name for an object. Any string consisting of alphanumeric characters and the characters |._- that is not an integer is acceptable.), parameter "type" of original type "type_string" (A type string. Specifies the type and its version in a single string in the format [module].[typename]-[major].[minor]: module - a string. The module name of the typespec containing the type. typename - a string. The name of the type as assigned by the typedef statement. major - an integer. The major version of the type. A change in the major version implies the type has changed in a non-backwards compatible way. minor - an integer. The minor version of the type. A change in the minor version implies that the type has changed in a way that is backwards compatible with previous type definitions. In many cases, the major and minor versions are optional, and if not provided the most recent version will be used. Example: MyModule.MyType-3.1), parameter "save_date" of original type "timestamp" (A time in the format YYYY-MM-DDThh:mm:ssZ, where Z is either the character Z (representing the UTC timezone) or the difference in time to UTC in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500 (EST time) 2013-04-03T08:56:32+0000 (UTC time) 2013-04-03T08:56:32Z (UTC time)), parameter "version" of Long, parameter "saved_by" of original type "username" (Login name of a KBase user account.), parameter "wsid" of original type "ws_id" (The unique, permanent numerical ID of a workspace.), parameter "workspace" of original type "ws_name" (A string used as a name for a workspace. Any string consisting of alphanumeric characters and "_", ".", or "-" that is not an integer is acceptable. The name may optionally be prefixed with the workspace owner's user name and a colon, e.g. kbasetest:my_workspace.), parameter "chsum" of String, parameter "size" of Long, parameter "meta" of original type "usermeta" (User provided metadata about an object. Arbitrary key-value pairs provided by the user.) → mapping from String to String + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public List>> getObjectHistory(ObjectIdentity object, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(object); + TypeReference>>>> retType = new TypeReference>>>>() {}; + List>>> res = caller.jsonrpcCall("Workspace.get_object_history", args, retType, true, false, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: list_referencing_objects

+ *
+     * List objects that reference one or more specified objects. References
+     * in the deleted state are not returned.
+     * 
+ * @param objectIds instance of list of type {@link us.kbase.workspace.ObjectIdentity ObjectIdentity} + * @return parameter "referrers" of list of list of original type "object_info" (Information about an object, including user provided metadata. obj_id objid - the numerical id of the object. obj_name name - the name of the object. type_string type - the type of the object. timestamp save_date - the save date of the object. obj_ver ver - the version of the object. username saved_by - the user that saved or copied the object. ws_id wsid - the workspace containing the object. ws_name workspace - the workspace containing the object. string chsum - the md5 checksum of the object. int size - the size of the object in bytes. usermeta meta - arbitrary user-supplied metadata about the object.) → tuple of size 11: parameter "objid" of original type "obj_id" (The unique, permanent numerical ID of an object.), parameter "name" of original type "obj_name" (A string used as a name for an object. Any string consisting of alphanumeric characters and the characters |._- that is not an integer is acceptable.), parameter "type" of original type "type_string" (A type string. Specifies the type and its version in a single string in the format [module].[typename]-[major].[minor]: module - a string. The module name of the typespec containing the type. typename - a string. The name of the type as assigned by the typedef statement. major - an integer. The major version of the type. A change in the major version implies the type has changed in a non-backwards compatible way. minor - an integer. The minor version of the type. A change in the minor version implies that the type has changed in a way that is backwards compatible with previous type definitions. In many cases, the major and minor versions are optional, and if not provided the most recent version will be used. Example: MyModule.MyType-3.1), parameter "save_date" of original type "timestamp" (A time in the format YYYY-MM-DDThh:mm:ssZ, where Z is either the character Z (representing the UTC timezone) or the difference in time to UTC in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500 (EST time) 2013-04-03T08:56:32+0000 (UTC time) 2013-04-03T08:56:32Z (UTC time)), parameter "version" of Long, parameter "saved_by" of original type "username" (Login name of a KBase user account.), parameter "wsid" of original type "ws_id" (The unique, permanent numerical ID of a workspace.), parameter "workspace" of original type "ws_name" (A string used as a name for a workspace. Any string consisting of alphanumeric characters and "_", ".", or "-" that is not an integer is acceptable. The name may optionally be prefixed with the workspace owner's user name and a colon, e.g. kbasetest:my_workspace.), parameter "chsum" of String, parameter "size" of Long, parameter "meta" of original type "usermeta" (User provided metadata about an object. Arbitrary key-value pairs provided by the user.) → mapping from String to String + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public List>>> listReferencingObjects(List objectIds, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(objectIds); + TypeReference>>>>> retType = new TypeReference>>>>>() {}; + List>>>> res = caller.jsonrpcCall("Workspace.list_referencing_objects", args, retType, true, false, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: list_referencing_object_counts

+ *
+     * DEPRECATED
+     * List the number of times objects have been referenced.
+     * This count includes both provenance and object-to-object references
+     * and, unlike list_referencing_objects, includes objects that are
+     * inaccessible to the user.
+     * @deprecated
+     * 
+ * @param objectIds instance of list of type {@link us.kbase.workspace.ObjectIdentity ObjectIdentity} + * @return parameter "counts" of list of Long + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public List listReferencingObjectCounts(List objectIds, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(objectIds); + TypeReference>> retType = new TypeReference>>() {}; + List> res = caller.jsonrpcCall("Workspace.list_referencing_object_counts", args, retType, true, false, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: get_referenced_objects

+ *
+     * DEPRECATED
+     *                 Get objects by references from other objects.
+     *                 NOTE: In the vast majority of cases, this method is not necessary and
+     *                 get_objects should be used instead.
+     *                 get_referenced_objects guarantees that a user that has access to an
+     *                 object can always see a) objects that are referenced inside the object
+     *                 and b) objects that are referenced in the object's provenance. This
+     *                 ensures that the user has visibility into the entire provenance of the
+     *                 object and the object's object dependencies (e.g. references).
+     *                 The user must have at least read access to the first object in each
+     *                 reference chain, but need not have access to any further objects in
+     *                 the chain, and those objects may be deleted.
+     *                 @deprecated Workspace.get_objects2
+     * 
+ * @param refChains instance of list of original type "ref_chain" (A chain of objects with references to one another. An object reference chain consists of a list of objects where the nth object possesses a reference, either in the object itself or in the object provenance, to the n+1th object.) → list of type {@link us.kbase.workspace.ObjectIdentity ObjectIdentity} + * @return parameter "data" of list of type {@link us.kbase.workspace.ObjectData ObjectData} + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public List getReferencedObjects(List> refChains, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(refChains); + TypeReference>> retType = new TypeReference>>() {}; + List> res = caller.jsonrpcCall("Workspace.get_referenced_objects", args, retType, true, false, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: list_workspaces

+ *
+     * Lists the metadata of all workspaces a user has access to. Provided for
+     * backwards compatibility - to be replaced by the functionality of
+     * list_workspace_info
+     * @deprecated Workspace.list_workspace_info
+     * 
+ * @param params instance of type {@link us.kbase.workspace.ListWorkspacesParams ListWorkspacesParams} (original type "list_workspaces_params") + * @return parameter "workspaces" of list of original type "workspace_metadata" (Meta data associated with a workspace. Provided for backwards compatibility. To be replaced by workspace_info. ws_name id - name of the workspace username owner - name of the user who owns (who created) this workspace timestamp moddate - date when the workspace was last modified int objects - the approximate number of objects currently stored in the workspace. permission user_permission - permissions for the currently logged in user for the workspace permission global_permission - default permissions for the workspace for all KBase users ws_id num_id - numerical ID of the workspace @deprecated Workspace.workspace_info) → tuple of size 7: parameter "id" of original type "ws_name" (A string used as a name for a workspace. Any string consisting of alphanumeric characters and "_", ".", or "-" that is not an integer is acceptable. The name may optionally be prefixed with the workspace owner's user name and a colon, e.g. kbasetest:my_workspace.), parameter "owner" of original type "username" (Login name of a KBase user account.), parameter "moddate" of original type "timestamp" (A time in the format YYYY-MM-DDThh:mm:ssZ, where Z is either the character Z (representing the UTC timezone) or the difference in time to UTC in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500 (EST time) 2013-04-03T08:56:32+0000 (UTC time) 2013-04-03T08:56:32Z (UTC time)), parameter "objects" of Long, parameter "user_permission" of original type "permission" (Represents the permissions a user or users have to a workspace: 'a' - administrator. All operations allowed. 'w' - read/write. 'r' - read. 'n' - no permissions.), parameter "global_permission" of original type "permission" (Represents the permissions a user or users have to a workspace: 'a' - administrator. All operations allowed. 'w' - read/write. 'r' - read. 'n' - no permissions.), parameter "num_id" of original type "ws_id" (The unique, permanent numerical ID of a workspace.) + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public List> listWorkspaces(ListWorkspacesParams params, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(params); + TypeReference>>> retType = new TypeReference>>>() {}; + List>> res = caller.jsonrpcCall("Workspace.list_workspaces", args, retType, true, false, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: list_workspace_info

+ *
+     * List workspaces viewable by the user.
+     * 
+ * @param params instance of type {@link us.kbase.workspace.ListWorkspaceInfoParams ListWorkspaceInfoParams} + * @return parameter "wsinfo" of list of original type "workspace_info" (Information about a workspace. ws_id id - the numerical ID of the workspace. ws_name workspace - name of the workspace. username owner - name of the user who owns (e.g. created) this workspace. timestamp moddate - date when the workspace was last modified. int max_objid - the maximum object ID appearing in this workspace. Since cloning a workspace preserves object IDs, this number may be greater than the number of objects in a newly cloned workspace. permission user_permission - permissions for the authenticated user of this workspace. permission globalread - whether this workspace is globally readable. lock_status lockstat - the status of the workspace lock. usermeta metadata - arbitrary user-supplied metadata about the workspace.) → tuple of size 9: parameter "id" of original type "ws_id" (The unique, permanent numerical ID of a workspace.), parameter "workspace" of original type "ws_name" (A string used as a name for a workspace. Any string consisting of alphanumeric characters and "_", ".", or "-" that is not an integer is acceptable. The name may optionally be prefixed with the workspace owner's user name and a colon, e.g. kbasetest:my_workspace.), parameter "owner" of original type "username" (Login name of a KBase user account.), parameter "moddate" of original type "timestamp" (A time in the format YYYY-MM-DDThh:mm:ssZ, where Z is either the character Z (representing the UTC timezone) or the difference in time to UTC in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500 (EST time) 2013-04-03T08:56:32+0000 (UTC time) 2013-04-03T08:56:32Z (UTC time)), parameter "max_objid" of Long, parameter "user_permission" of original type "permission" (Represents the permissions a user or users have to a workspace: 'a' - administrator. All operations allowed. 'w' - read/write. 'r' - read. 'n' - no permissions.), parameter "globalread" of original type "permission" (Represents the permissions a user or users have to a workspace: 'a' - administrator. All operations allowed. 'w' - read/write. 'r' - read. 'n' - no permissions.), parameter "lockstat" of original type "lock_status" (The lock status of a workspace. One of 'unlocked', 'locked', or 'published'.), parameter "metadata" of original type "usermeta" (User provided metadata about an object. Arbitrary key-value pairs provided by the user.) → mapping from String to String + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public List>> listWorkspaceInfo(ListWorkspaceInfoParams params, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(params); + TypeReference>>>> retType = new TypeReference>>>>() {}; + List>>> res = caller.jsonrpcCall("Workspace.list_workspace_info", args, retType, true, false, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: list_workspace_ids

+ *
+     * List workspace IDs to which the user has access.
+     * This function returns a subset of the information in the
+     * list_workspace_info method and should be substantially faster.
+     * 
+ * @param params instance of type {@link us.kbase.workspace.ListWorkspaceIDsParams ListWorkspaceIDsParams} + * @return parameter "results" of type {@link us.kbase.workspace.ListWorkspaceIDsResults ListWorkspaceIDsResults} + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public ListWorkspaceIDsResults listWorkspaceIds(ListWorkspaceIDsParams params, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(params); + TypeReference> retType = new TypeReference>() {}; + List res = caller.jsonrpcCall("Workspace.list_workspace_ids", args, retType, true, false, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: list_workspace_objects

+ *
+     * Lists the metadata of all objects in the specified workspace with the
+     * specified type (or with any type). Provided for backwards compatibility.
+     * @deprecated Workspace.list_objects
+     * 
+ * @param params instance of type {@link us.kbase.workspace.ListWorkspaceObjectsParams ListWorkspaceObjectsParams} (original type "list_workspace_objects_params") + * @return parameter "objects" of list of original type "object_metadata" (Meta data associated with an object stored in a workspace. Provided for backwards compatibility. obj_name id - name of the object. type_string type - type of the object. timestamp moddate - date when the object was saved obj_ver instance - the version of the object string command - Deprecated. Always returns the empty string. username lastmodifier - name of the user who last saved the object, including copying the object username owner - Deprecated. Same as lastmodifier. ws_name workspace - name of the workspace in which the object is stored string ref - Deprecated. Always returns the empty string. string chsum - the md5 checksum of the object. usermeta metadata - arbitrary user-supplied metadata about the object. obj_id objid - the numerical id of the object. @deprecated object_info) → tuple of size 12: parameter "id" of original type "obj_name" (A string used as a name for an object. Any string consisting of alphanumeric characters and the characters |._- that is not an integer is acceptable.), parameter "type" of original type "type_string" (A type string. Specifies the type and its version in a single string in the format [module].[typename]-[major].[minor]: module - a string. The module name of the typespec containing the type. typename - a string. The name of the type as assigned by the typedef statement. major - an integer. The major version of the type. A change in the major version implies the type has changed in a non-backwards compatible way. minor - an integer. The minor version of the type. A change in the minor version implies that the type has changed in a way that is backwards compatible with previous type definitions. In many cases, the major and minor versions are optional, and if not provided the most recent version will be used. Example: MyModule.MyType-3.1), parameter "moddate" of original type "timestamp" (A time in the format YYYY-MM-DDThh:mm:ssZ, where Z is either the character Z (representing the UTC timezone) or the difference in time to UTC in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500 (EST time) 2013-04-03T08:56:32+0000 (UTC time) 2013-04-03T08:56:32Z (UTC time)), parameter "instance" of Long, parameter "command" of String, parameter "lastmodifier" of original type "username" (Login name of a KBase user account.), parameter "owner" of original type "username" (Login name of a KBase user account.), parameter "workspace" of original type "ws_name" (A string used as a name for a workspace. Any string consisting of alphanumeric characters and "_", ".", or "-" that is not an integer is acceptable. The name may optionally be prefixed with the workspace owner's user name and a colon, e.g. kbasetest:my_workspace.), parameter "ref" of String, parameter "chsum" of String, parameter "metadata" of original type "usermeta" (User provided metadata about an object. Arbitrary key-value pairs provided by the user.) → mapping from String to String, parameter "objid" of original type "obj_id" (The unique, permanent numerical ID of an object.) + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public List, Long>> listWorkspaceObjects(ListWorkspaceObjectsParams params, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(params); + TypeReference, Long>>>> retType = new TypeReference, Long>>>>() {}; + List, Long>>> res = caller.jsonrpcCall("Workspace.list_workspace_objects", args, retType, true, false, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: list_objects

+ *
+     * List objects in one or more workspaces.
+     * 
+ * @param params instance of type {@link us.kbase.workspace.ListObjectsParams ListObjectsParams} + * @return parameter "objinfo" of list of original type "object_info" (Information about an object, including user provided metadata. obj_id objid - the numerical id of the object. obj_name name - the name of the object. type_string type - the type of the object. timestamp save_date - the save date of the object. obj_ver ver - the version of the object. username saved_by - the user that saved or copied the object. ws_id wsid - the workspace containing the object. ws_name workspace - the workspace containing the object. string chsum - the md5 checksum of the object. int size - the size of the object in bytes. usermeta meta - arbitrary user-supplied metadata about the object.) → tuple of size 11: parameter "objid" of original type "obj_id" (The unique, permanent numerical ID of an object.), parameter "name" of original type "obj_name" (A string used as a name for an object. Any string consisting of alphanumeric characters and the characters |._- that is not an integer is acceptable.), parameter "type" of original type "type_string" (A type string. Specifies the type and its version in a single string in the format [module].[typename]-[major].[minor]: module - a string. The module name of the typespec containing the type. typename - a string. The name of the type as assigned by the typedef statement. major - an integer. The major version of the type. A change in the major version implies the type has changed in a non-backwards compatible way. minor - an integer. The minor version of the type. A change in the minor version implies that the type has changed in a way that is backwards compatible with previous type definitions. In many cases, the major and minor versions are optional, and if not provided the most recent version will be used. Example: MyModule.MyType-3.1), parameter "save_date" of original type "timestamp" (A time in the format YYYY-MM-DDThh:mm:ssZ, where Z is either the character Z (representing the UTC timezone) or the difference in time to UTC in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500 (EST time) 2013-04-03T08:56:32+0000 (UTC time) 2013-04-03T08:56:32Z (UTC time)), parameter "version" of Long, parameter "saved_by" of original type "username" (Login name of a KBase user account.), parameter "wsid" of original type "ws_id" (The unique, permanent numerical ID of a workspace.), parameter "workspace" of original type "ws_name" (A string used as a name for a workspace. Any string consisting of alphanumeric characters and "_", ".", or "-" that is not an integer is acceptable. The name may optionally be prefixed with the workspace owner's user name and a colon, e.g. kbasetest:my_workspace.), parameter "chsum" of String, parameter "size" of Long, parameter "meta" of original type "usermeta" (User provided metadata about an object. Arbitrary key-value pairs provided by the user.) → mapping from String to String + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public List>> listObjects(ListObjectsParams params, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(params); + TypeReference>>>> retType = new TypeReference>>>>() {}; + List>>> res = caller.jsonrpcCall("Workspace.list_objects", args, retType, true, false, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: get_objectmeta

+ *
+     * Retrieves the metadata for a specified object from the specified
+     * workspace. Provides access to metadata for all versions of the object
+     * via the instance parameter. Provided for backwards compatibility.
+     * @deprecated Workspace.get_object_info3
+     * 
+ * @param params instance of type {@link us.kbase.workspace.GetObjectmetaParams GetObjectmetaParams} (original type "get_objectmeta_params") + * @return parameter "metadata" of original type "object_metadata" (Meta data associated with an object stored in a workspace. Provided for backwards compatibility. obj_name id - name of the object. type_string type - type of the object. timestamp moddate - date when the object was saved obj_ver instance - the version of the object string command - Deprecated. Always returns the empty string. username lastmodifier - name of the user who last saved the object, including copying the object username owner - Deprecated. Same as lastmodifier. ws_name workspace - name of the workspace in which the object is stored string ref - Deprecated. Always returns the empty string. string chsum - the md5 checksum of the object. usermeta metadata - arbitrary user-supplied metadata about the object. obj_id objid - the numerical id of the object. @deprecated object_info) → tuple of size 12: parameter "id" of original type "obj_name" (A string used as a name for an object. Any string consisting of alphanumeric characters and the characters |._- that is not an integer is acceptable.), parameter "type" of original type "type_string" (A type string. Specifies the type and its version in a single string in the format [module].[typename]-[major].[minor]: module - a string. The module name of the typespec containing the type. typename - a string. The name of the type as assigned by the typedef statement. major - an integer. The major version of the type. A change in the major version implies the type has changed in a non-backwards compatible way. minor - an integer. The minor version of the type. A change in the minor version implies that the type has changed in a way that is backwards compatible with previous type definitions. In many cases, the major and minor versions are optional, and if not provided the most recent version will be used. Example: MyModule.MyType-3.1), parameter "moddate" of original type "timestamp" (A time in the format YYYY-MM-DDThh:mm:ssZ, where Z is either the character Z (representing the UTC timezone) or the difference in time to UTC in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500 (EST time) 2013-04-03T08:56:32+0000 (UTC time) 2013-04-03T08:56:32Z (UTC time)), parameter "instance" of Long, parameter "command" of String, parameter "lastmodifier" of original type "username" (Login name of a KBase user account.), parameter "owner" of original type "username" (Login name of a KBase user account.), parameter "workspace" of original type "ws_name" (A string used as a name for a workspace. Any string consisting of alphanumeric characters and "_", ".", or "-" that is not an integer is acceptable. The name may optionally be prefixed with the workspace owner's user name and a colon, e.g. kbasetest:my_workspace.), parameter "ref" of String, parameter "chsum" of String, parameter "metadata" of original type "usermeta" (User provided metadata about an object. Arbitrary key-value pairs provided by the user.) → mapping from String to String, parameter "objid" of original type "obj_id" (The unique, permanent numerical ID of an object.) + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public Tuple12, Long> getObjectmeta(GetObjectmetaParams params, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(params); + TypeReference, Long>>> retType = new TypeReference, Long>>>() {}; + List, Long>> res = caller.jsonrpcCall("Workspace.get_objectmeta", args, retType, true, false, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: get_object_info

+ *
+     * Get information about objects from the workspace.
+     * Set includeMetadata true to include the user specified metadata.
+     * Otherwise the metadata in the object_info will be null.
+     * This method will be replaced by the behavior of get_object_info_new
+     * in the future.
+     * @deprecated Workspace.get_object_info3
+     * 
+ * @param objectIds instance of list of type {@link us.kbase.workspace.ObjectIdentity ObjectIdentity} + * @param includeMetadata instance of original type "boolean" (A boolean. 0 = false, other = true.) + * @return parameter "info" of list of original type "object_info" (Information about an object, including user provided metadata. obj_id objid - the numerical id of the object. obj_name name - the name of the object. type_string type - the type of the object. timestamp save_date - the save date of the object. obj_ver ver - the version of the object. username saved_by - the user that saved or copied the object. ws_id wsid - the workspace containing the object. ws_name workspace - the workspace containing the object. string chsum - the md5 checksum of the object. int size - the size of the object in bytes. usermeta meta - arbitrary user-supplied metadata about the object.) → tuple of size 11: parameter "objid" of original type "obj_id" (The unique, permanent numerical ID of an object.), parameter "name" of original type "obj_name" (A string used as a name for an object. Any string consisting of alphanumeric characters and the characters |._- that is not an integer is acceptable.), parameter "type" of original type "type_string" (A type string. Specifies the type and its version in a single string in the format [module].[typename]-[major].[minor]: module - a string. The module name of the typespec containing the type. typename - a string. The name of the type as assigned by the typedef statement. major - an integer. The major version of the type. A change in the major version implies the type has changed in a non-backwards compatible way. minor - an integer. The minor version of the type. A change in the minor version implies that the type has changed in a way that is backwards compatible with previous type definitions. In many cases, the major and minor versions are optional, and if not provided the most recent version will be used. Example: MyModule.MyType-3.1), parameter "save_date" of original type "timestamp" (A time in the format YYYY-MM-DDThh:mm:ssZ, where Z is either the character Z (representing the UTC timezone) or the difference in time to UTC in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500 (EST time) 2013-04-03T08:56:32+0000 (UTC time) 2013-04-03T08:56:32Z (UTC time)), parameter "version" of Long, parameter "saved_by" of original type "username" (Login name of a KBase user account.), parameter "wsid" of original type "ws_id" (The unique, permanent numerical ID of a workspace.), parameter "workspace" of original type "ws_name" (A string used as a name for a workspace. Any string consisting of alphanumeric characters and "_", ".", or "-" that is not an integer is acceptable. The name may optionally be prefixed with the workspace owner's user name and a colon, e.g. kbasetest:my_workspace.), parameter "chsum" of String, parameter "size" of Long, parameter "meta" of original type "usermeta" (User provided metadata about an object. Arbitrary key-value pairs provided by the user.) → mapping from String to String + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public List>> getObjectInfo(List objectIds, Long includeMetadata, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(objectIds); + args.add(includeMetadata); + TypeReference>>>> retType = new TypeReference>>>>() {}; + List>>> res = caller.jsonrpcCall("Workspace.get_object_info", args, retType, true, false, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: get_object_info_new

+ *
+     * Get information about objects from the workspace.
+     * @deprecated Workspace.get_object_info3
+     * 
+ * @param params instance of type {@link us.kbase.workspace.GetObjectInfoNewParams GetObjectInfoNewParams} + * @return parameter "info" of list of original type "object_info" (Information about an object, including user provided metadata. obj_id objid - the numerical id of the object. obj_name name - the name of the object. type_string type - the type of the object. timestamp save_date - the save date of the object. obj_ver ver - the version of the object. username saved_by - the user that saved or copied the object. ws_id wsid - the workspace containing the object. ws_name workspace - the workspace containing the object. string chsum - the md5 checksum of the object. int size - the size of the object in bytes. usermeta meta - arbitrary user-supplied metadata about the object.) → tuple of size 11: parameter "objid" of original type "obj_id" (The unique, permanent numerical ID of an object.), parameter "name" of original type "obj_name" (A string used as a name for an object. Any string consisting of alphanumeric characters and the characters |._- that is not an integer is acceptable.), parameter "type" of original type "type_string" (A type string. Specifies the type and its version in a single string in the format [module].[typename]-[major].[minor]: module - a string. The module name of the typespec containing the type. typename - a string. The name of the type as assigned by the typedef statement. major - an integer. The major version of the type. A change in the major version implies the type has changed in a non-backwards compatible way. minor - an integer. The minor version of the type. A change in the minor version implies that the type has changed in a way that is backwards compatible with previous type definitions. In many cases, the major and minor versions are optional, and if not provided the most recent version will be used. Example: MyModule.MyType-3.1), parameter "save_date" of original type "timestamp" (A time in the format YYYY-MM-DDThh:mm:ssZ, where Z is either the character Z (representing the UTC timezone) or the difference in time to UTC in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500 (EST time) 2013-04-03T08:56:32+0000 (UTC time) 2013-04-03T08:56:32Z (UTC time)), parameter "version" of Long, parameter "saved_by" of original type "username" (Login name of a KBase user account.), parameter "wsid" of original type "ws_id" (The unique, permanent numerical ID of a workspace.), parameter "workspace" of original type "ws_name" (A string used as a name for a workspace. Any string consisting of alphanumeric characters and "_", ".", or "-" that is not an integer is acceptable. The name may optionally be prefixed with the workspace owner's user name and a colon, e.g. kbasetest:my_workspace.), parameter "chsum" of String, parameter "size" of Long, parameter "meta" of original type "usermeta" (User provided metadata about an object. Arbitrary key-value pairs provided by the user.) → mapping from String to String + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public List>> getObjectInfoNew(GetObjectInfoNewParams params, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(params); + TypeReference>>>> retType = new TypeReference>>>>() {}; + List>>> res = caller.jsonrpcCall("Workspace.get_object_info_new", args, retType, true, false, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: get_object_info3

+ *
+     * 
+ * @param params instance of type {@link us.kbase.workspace.GetObjectInfo3Params GetObjectInfo3Params} + * @return parameter "results" of type {@link us.kbase.workspace.GetObjectInfo3Results GetObjectInfo3Results} + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public GetObjectInfo3Results getObjectInfo3(GetObjectInfo3Params params, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(params); + TypeReference> retType = new TypeReference>() {}; + List res = caller.jsonrpcCall("Workspace.get_object_info3", args, retType, true, false, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: rename_workspace

+ *
+     * Rename a workspace.
+     * 
+ * @param params instance of type {@link us.kbase.workspace.RenameWorkspaceParams RenameWorkspaceParams} + * @return parameter "renamed" of original type "workspace_info" (Information about a workspace. ws_id id - the numerical ID of the workspace. ws_name workspace - name of the workspace. username owner - name of the user who owns (e.g. created) this workspace. timestamp moddate - date when the workspace was last modified. int max_objid - the maximum object ID appearing in this workspace. Since cloning a workspace preserves object IDs, this number may be greater than the number of objects in a newly cloned workspace. permission user_permission - permissions for the authenticated user of this workspace. permission globalread - whether this workspace is globally readable. lock_status lockstat - the status of the workspace lock. usermeta metadata - arbitrary user-supplied metadata about the workspace.) → tuple of size 9: parameter "id" of original type "ws_id" (The unique, permanent numerical ID of a workspace.), parameter "workspace" of original type "ws_name" (A string used as a name for a workspace. Any string consisting of alphanumeric characters and "_", ".", or "-" that is not an integer is acceptable. The name may optionally be prefixed with the workspace owner's user name and a colon, e.g. kbasetest:my_workspace.), parameter "owner" of original type "username" (Login name of a KBase user account.), parameter "moddate" of original type "timestamp" (A time in the format YYYY-MM-DDThh:mm:ssZ, where Z is either the character Z (representing the UTC timezone) or the difference in time to UTC in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500 (EST time) 2013-04-03T08:56:32+0000 (UTC time) 2013-04-03T08:56:32Z (UTC time)), parameter "max_objid" of Long, parameter "user_permission" of original type "permission" (Represents the permissions a user or users have to a workspace: 'a' - administrator. All operations allowed. 'w' - read/write. 'r' - read. 'n' - no permissions.), parameter "globalread" of original type "permission" (Represents the permissions a user or users have to a workspace: 'a' - administrator. All operations allowed. 'w' - read/write. 'r' - read. 'n' - no permissions.), parameter "lockstat" of original type "lock_status" (The lock status of a workspace. One of 'unlocked', 'locked', or 'published'.), parameter "metadata" of original type "usermeta" (User provided metadata about an object. Arbitrary key-value pairs provided by the user.) → mapping from String to String + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public Tuple9> renameWorkspace(RenameWorkspaceParams params, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(params); + TypeReference>>> retType = new TypeReference>>>() {}; + List>> res = caller.jsonrpcCall("Workspace.rename_workspace", args, retType, true, true, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: rename_object

+ *
+     * Rename an object. User meta data is always returned as null.
+     * 
+ * @param params instance of type {@link us.kbase.workspace.RenameObjectParams RenameObjectParams} + * @return parameter "renamed" of original type "object_info" (Information about an object, including user provided metadata. obj_id objid - the numerical id of the object. obj_name name - the name of the object. type_string type - the type of the object. timestamp save_date - the save date of the object. obj_ver ver - the version of the object. username saved_by - the user that saved or copied the object. ws_id wsid - the workspace containing the object. ws_name workspace - the workspace containing the object. string chsum - the md5 checksum of the object. int size - the size of the object in bytes. usermeta meta - arbitrary user-supplied metadata about the object.) → tuple of size 11: parameter "objid" of original type "obj_id" (The unique, permanent numerical ID of an object.), parameter "name" of original type "obj_name" (A string used as a name for an object. Any string consisting of alphanumeric characters and the characters |._- that is not an integer is acceptable.), parameter "type" of original type "type_string" (A type string. Specifies the type and its version in a single string in the format [module].[typename]-[major].[minor]: module - a string. The module name of the typespec containing the type. typename - a string. The name of the type as assigned by the typedef statement. major - an integer. The major version of the type. A change in the major version implies the type has changed in a non-backwards compatible way. minor - an integer. The minor version of the type. A change in the minor version implies that the type has changed in a way that is backwards compatible with previous type definitions. In many cases, the major and minor versions are optional, and if not provided the most recent version will be used. Example: MyModule.MyType-3.1), parameter "save_date" of original type "timestamp" (A time in the format YYYY-MM-DDThh:mm:ssZ, where Z is either the character Z (representing the UTC timezone) or the difference in time to UTC in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500 (EST time) 2013-04-03T08:56:32+0000 (UTC time) 2013-04-03T08:56:32Z (UTC time)), parameter "version" of Long, parameter "saved_by" of original type "username" (Login name of a KBase user account.), parameter "wsid" of original type "ws_id" (The unique, permanent numerical ID of a workspace.), parameter "workspace" of original type "ws_name" (A string used as a name for a workspace. Any string consisting of alphanumeric characters and "_", ".", or "-" that is not an integer is acceptable. The name may optionally be prefixed with the workspace owner's user name and a colon, e.g. kbasetest:my_workspace.), parameter "chsum" of String, parameter "size" of Long, parameter "meta" of original type "usermeta" (User provided metadata about an object. Arbitrary key-value pairs provided by the user.) → mapping from String to String + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public Tuple11> renameObject(RenameObjectParams params, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(params); + TypeReference>>> retType = new TypeReference>>>() {}; + List>> res = caller.jsonrpcCall("Workspace.rename_object", args, retType, true, true, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: copy_object

+ *
+     * Copy an object. Returns the object_info for the newest version.
+     * 
+ * @param params instance of type {@link us.kbase.workspace.CopyObjectParams CopyObjectParams} + * @return parameter "copied" of original type "object_info" (Information about an object, including user provided metadata. obj_id objid - the numerical id of the object. obj_name name - the name of the object. type_string type - the type of the object. timestamp save_date - the save date of the object. obj_ver ver - the version of the object. username saved_by - the user that saved or copied the object. ws_id wsid - the workspace containing the object. ws_name workspace - the workspace containing the object. string chsum - the md5 checksum of the object. int size - the size of the object in bytes. usermeta meta - arbitrary user-supplied metadata about the object.) → tuple of size 11: parameter "objid" of original type "obj_id" (The unique, permanent numerical ID of an object.), parameter "name" of original type "obj_name" (A string used as a name for an object. Any string consisting of alphanumeric characters and the characters |._- that is not an integer is acceptable.), parameter "type" of original type "type_string" (A type string. Specifies the type and its version in a single string in the format [module].[typename]-[major].[minor]: module - a string. The module name of the typespec containing the type. typename - a string. The name of the type as assigned by the typedef statement. major - an integer. The major version of the type. A change in the major version implies the type has changed in a non-backwards compatible way. minor - an integer. The minor version of the type. A change in the minor version implies that the type has changed in a way that is backwards compatible with previous type definitions. In many cases, the major and minor versions are optional, and if not provided the most recent version will be used. Example: MyModule.MyType-3.1), parameter "save_date" of original type "timestamp" (A time in the format YYYY-MM-DDThh:mm:ssZ, where Z is either the character Z (representing the UTC timezone) or the difference in time to UTC in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500 (EST time) 2013-04-03T08:56:32+0000 (UTC time) 2013-04-03T08:56:32Z (UTC time)), parameter "version" of Long, parameter "saved_by" of original type "username" (Login name of a KBase user account.), parameter "wsid" of original type "ws_id" (The unique, permanent numerical ID of a workspace.), parameter "workspace" of original type "ws_name" (A string used as a name for a workspace. Any string consisting of alphanumeric characters and "_", ".", or "-" that is not an integer is acceptable. The name may optionally be prefixed with the workspace owner's user name and a colon, e.g. kbasetest:my_workspace.), parameter "chsum" of String, parameter "size" of Long, parameter "meta" of original type "usermeta" (User provided metadata about an object. Arbitrary key-value pairs provided by the user.) → mapping from String to String + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public Tuple11> copyObject(CopyObjectParams params, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(params); + TypeReference>>> retType = new TypeReference>>>() {}; + List>> res = caller.jsonrpcCall("Workspace.copy_object", args, retType, true, true, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: revert_object

+ *
+     * Revert an object.
+     *                 The object specified in the ObjectIdentity is reverted to the version
+     *                 specified in the ObjectIdentity.
+     * 
+ * @param object instance of type {@link us.kbase.workspace.ObjectIdentity ObjectIdentity} + * @return parameter "reverted" of original type "object_info" (Information about an object, including user provided metadata. obj_id objid - the numerical id of the object. obj_name name - the name of the object. type_string type - the type of the object. timestamp save_date - the save date of the object. obj_ver ver - the version of the object. username saved_by - the user that saved or copied the object. ws_id wsid - the workspace containing the object. ws_name workspace - the workspace containing the object. string chsum - the md5 checksum of the object. int size - the size of the object in bytes. usermeta meta - arbitrary user-supplied metadata about the object.) → tuple of size 11: parameter "objid" of original type "obj_id" (The unique, permanent numerical ID of an object.), parameter "name" of original type "obj_name" (A string used as a name for an object. Any string consisting of alphanumeric characters and the characters |._- that is not an integer is acceptable.), parameter "type" of original type "type_string" (A type string. Specifies the type and its version in a single string in the format [module].[typename]-[major].[minor]: module - a string. The module name of the typespec containing the type. typename - a string. The name of the type as assigned by the typedef statement. major - an integer. The major version of the type. A change in the major version implies the type has changed in a non-backwards compatible way. minor - an integer. The minor version of the type. A change in the minor version implies that the type has changed in a way that is backwards compatible with previous type definitions. In many cases, the major and minor versions are optional, and if not provided the most recent version will be used. Example: MyModule.MyType-3.1), parameter "save_date" of original type "timestamp" (A time in the format YYYY-MM-DDThh:mm:ssZ, where Z is either the character Z (representing the UTC timezone) or the difference in time to UTC in the format +/-HHMM, eg: 2012-12-17T23:24:06-0500 (EST time) 2013-04-03T08:56:32+0000 (UTC time) 2013-04-03T08:56:32Z (UTC time)), parameter "version" of Long, parameter "saved_by" of original type "username" (Login name of a KBase user account.), parameter "wsid" of original type "ws_id" (The unique, permanent numerical ID of a workspace.), parameter "workspace" of original type "ws_name" (A string used as a name for a workspace. Any string consisting of alphanumeric characters and "_", ".", or "-" that is not an integer is acceptable. The name may optionally be prefixed with the workspace owner's user name and a colon, e.g. kbasetest:my_workspace.), parameter "chsum" of String, parameter "size" of Long, parameter "meta" of original type "usermeta" (User provided metadata about an object. Arbitrary key-value pairs provided by the user.) → mapping from String to String + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public Tuple11> revertObject(ObjectIdentity object, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(object); + TypeReference>>> retType = new TypeReference>>>() {}; + List>> res = caller.jsonrpcCall("Workspace.revert_object", args, retType, true, true, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: get_names_by_prefix

+ *
+     * Get object names matching a prefix. At most 1000 names are returned.
+     * No particular ordering is guaranteed, nor is which names will be
+     * returned if more than 1000 are found.
+     * This function is intended for use as an autocomplete helper function.
+     * 
+ * @param params instance of type {@link us.kbase.workspace.GetNamesByPrefixParams GetNamesByPrefixParams} + * @return parameter "res" of type {@link us.kbase.workspace.GetNamesByPrefixResults GetNamesByPrefixResults} + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public GetNamesByPrefixResults getNamesByPrefix(GetNamesByPrefixParams params, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(params); + TypeReference> retType = new TypeReference>() {}; + List res = caller.jsonrpcCall("Workspace.get_names_by_prefix", args, retType, true, false, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: hide_objects

+ *
+     * Hide objects. All versions of an object are hidden, regardless of
+     * the version specified in the ObjectIdentity. Hidden objects do not
+     * appear in the list_objects method.
+     * 
+ * @param objectIds instance of list of type {@link us.kbase.workspace.ObjectIdentity ObjectIdentity} + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public void hideObjects(List objectIds, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(objectIds); + TypeReference retType = new TypeReference() {}; + caller.jsonrpcCall("Workspace.hide_objects", args, retType, false, true, jsonRpcContext, this.serviceVersion); + } + + /** + *

Original spec-file function name: unhide_objects

+ *
+     * Unhide objects. All versions of an object are unhidden, regardless
+     * of the version specified in the ObjectIdentity.
+     * 
+ * @param objectIds instance of list of type {@link us.kbase.workspace.ObjectIdentity ObjectIdentity} + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public void unhideObjects(List objectIds, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(objectIds); + TypeReference retType = new TypeReference() {}; + caller.jsonrpcCall("Workspace.unhide_objects", args, retType, false, true, jsonRpcContext, this.serviceVersion); + } + + /** + *

Original spec-file function name: delete_objects

+ *
+     * Delete objects. All versions of an object are deleted, regardless of
+     * the version specified in the ObjectIdentity.
+     * 
+ * @param objectIds instance of list of type {@link us.kbase.workspace.ObjectIdentity ObjectIdentity} + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public void deleteObjects(List objectIds, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(objectIds); + TypeReference retType = new TypeReference() {}; + caller.jsonrpcCall("Workspace.delete_objects", args, retType, false, true, jsonRpcContext, this.serviceVersion); + } + + /** + *

Original spec-file function name: undelete_objects

+ *
+     * Undelete objects. All versions of an object are undeleted, regardless
+     * of the version specified in the ObjectIdentity. If an object is not
+     * deleted, no error is thrown.
+     * 
+ * @param objectIds instance of list of type {@link us.kbase.workspace.ObjectIdentity ObjectIdentity} + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public void undeleteObjects(List objectIds, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(objectIds); + TypeReference retType = new TypeReference() {}; + caller.jsonrpcCall("Workspace.undelete_objects", args, retType, false, true, jsonRpcContext, this.serviceVersion); + } + + /** + *

Original spec-file function name: delete_workspace

+ *
+     * Delete a workspace. All objects contained in the workspace are deleted.
+     * 
+ * @param wsi instance of type {@link us.kbase.workspace.WorkspaceIdentity WorkspaceIdentity} + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public void deleteWorkspace(WorkspaceIdentity wsi, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(wsi); + TypeReference retType = new TypeReference() {}; + caller.jsonrpcCall("Workspace.delete_workspace", args, retType, false, true, jsonRpcContext, this.serviceVersion); + } + + /** + *

Original spec-file function name: request_module_ownership

+ *
+     * Request ownership of a module name. A Workspace administrator
+     * must approve the request.
+     * 
+ * @param mod instance of original type "modulename" (A module name defined in a KIDL typespec.) + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public void requestModuleOwnership(String mod, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(mod); + TypeReference retType = new TypeReference() {}; + caller.jsonrpcCall("Workspace.request_module_ownership", args, retType, false, true, jsonRpcContext, this.serviceVersion); + } + + /** + *

Original spec-file function name: register_typespec

+ *
+     * Register a new typespec or recompile a previously registered typespec
+     * with new options.
+     * See the documentation of RegisterTypespecParams for more details.
+     * Also see the release_types function.
+     * 
+ * @param params instance of type {@link us.kbase.workspace.RegisterTypespecParams RegisterTypespecParams} + * @return instance of mapping from original type "type_string" (A type string. Specifies the type and its version in a single string in the format [module].[typename]-[major].[minor]: module - a string. The module name of the typespec containing the type. typename - a string. The name of the type as assigned by the typedef statement. major - an integer. The major version of the type. A change in the major version implies the type has changed in a non-backwards compatible way. minor - an integer. The minor version of the type. A change in the minor version implies that the type has changed in a way that is backwards compatible with previous type definitions. In many cases, the major and minor versions are optional, and if not provided the most recent version will be used. Example: MyModule.MyType-3.1) to original type "jsonschema" (The JSON Schema (v4) representation of a type definition.) + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public Map registerTypespec(RegisterTypespecParams params, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(params); + TypeReference>> retType = new TypeReference>>() {}; + List> res = caller.jsonrpcCall("Workspace.register_typespec", args, retType, true, true, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: register_typespec_copy

+ *
+     * Register a copy of new typespec or refresh an existing typespec which is
+     * loaded from another workspace for synchronization. Method returns new
+     * version of module in current workspace.
+     * Also see the release_types function.
+     * 
+ * @param params instance of type {@link us.kbase.workspace.RegisterTypespecCopyParams RegisterTypespecCopyParams} + * @return parameter "new_local_version" of original type "spec_version" (The version of a typespec file.) + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public Long registerTypespecCopy(RegisterTypespecCopyParams params, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(params); + TypeReference> retType = new TypeReference>() {}; + List res = caller.jsonrpcCall("Workspace.register_typespec_copy", args, retType, true, true, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: release_module

+ *
+     * Release a module for general use of its types.
+     *                 Releases the most recent version of a module. Releasing a module does
+     *                 two things to the module's types:
+     *                 1) If a type's major version is 0, it is changed to 1. A major
+     *                         version of 0 implies that the type is in development and may have
+     *                         backwards incompatible changes from minor version to minor version.
+     *                         Once a type is released, backwards incompatible changes always
+     *                         cause a major version increment.
+     *                 2) This version of the type becomes the default version, and if a
+     *                         specific version is not supplied in a function call, this version
+     *                         will be used. This means that newer, unreleased versions of the
+     *                         type may be skipped.
+     * 
+ * @param mod instance of original type "modulename" (A module name defined in a KIDL typespec.) + * @return parameter "types" of list of original type "type_string" (A type string. Specifies the type and its version in a single string in the format [module].[typename]-[major].[minor]: module - a string. The module name of the typespec containing the type. typename - a string. The name of the type as assigned by the typedef statement. major - an integer. The major version of the type. A change in the major version implies the type has changed in a non-backwards compatible way. minor - an integer. The minor version of the type. A change in the minor version implies that the type has changed in a way that is backwards compatible with previous type definitions. In many cases, the major and minor versions are optional, and if not provided the most recent version will be used. Example: MyModule.MyType-3.1) + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public List releaseModule(String mod, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(mod); + TypeReference>> retType = new TypeReference>>() {}; + List> res = caller.jsonrpcCall("Workspace.release_module", args, retType, true, true, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: list_modules

+ *
+     * List typespec modules.
+     * 
+ * @param params instance of type {@link us.kbase.workspace.ListModulesParams ListModulesParams} + * @return parameter "modules" of list of original type "modulename" (A module name defined in a KIDL typespec.) + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public List listModules(ListModulesParams params, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(params); + TypeReference>> retType = new TypeReference>>() {}; + List> res = caller.jsonrpcCall("Workspace.list_modules", args, retType, true, false, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: list_module_versions

+ *
+     * List typespec module versions.
+     * 
+ * @param params instance of type {@link us.kbase.workspace.ListModuleVersionsParams ListModuleVersionsParams} + * @return parameter "vers" of type {@link us.kbase.workspace.ModuleVersions ModuleVersions} + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public ModuleVersions listModuleVersions(ListModuleVersionsParams params, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(params); + TypeReference> retType = new TypeReference>() {}; + List res = caller.jsonrpcCall("Workspace.list_module_versions", args, retType, true, false, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: get_module_info

+ *
+     * 
+ * @param params instance of type {@link us.kbase.workspace.GetModuleInfoParams GetModuleInfoParams} + * @return parameter "info" of type {@link us.kbase.workspace.ModuleInfo ModuleInfo} + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public ModuleInfo getModuleInfo(GetModuleInfoParams params, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(params); + TypeReference> retType = new TypeReference>() {}; + List res = caller.jsonrpcCall("Workspace.get_module_info", args, retType, true, false, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: get_jsonschema

+ *
+     * Get JSON schema for a type.
+     * 
+ * @param type instance of original type "type_string" (A type string. Specifies the type and its version in a single string in the format [module].[typename]-[major].[minor]: module - a string. The module name of the typespec containing the type. typename - a string. The name of the type as assigned by the typedef statement. major - an integer. The major version of the type. A change in the major version implies the type has changed in a non-backwards compatible way. minor - an integer. The minor version of the type. A change in the minor version implies that the type has changed in a way that is backwards compatible with previous type definitions. In many cases, the major and minor versions are optional, and if not provided the most recent version will be used. Example: MyModule.MyType-3.1) + * @return parameter "schema" of original type "jsonschema" (The JSON Schema (v4) representation of a type definition.) + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public String getJsonschema(String type, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(type); + TypeReference> retType = new TypeReference>() {}; + List res = caller.jsonrpcCall("Workspace.get_jsonschema", args, retType, true, false, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: translate_from_MD5_types

+ *
+     * Translation from types qualified with MD5 to their semantic versions
+     * 
+ * @param md5Types instance of list of original type "type_string" (A type string. Specifies the type and its version in a single string in the format [module].[typename]-[major].[minor]: module - a string. The module name of the typespec containing the type. typename - a string. The name of the type as assigned by the typedef statement. major - an integer. The major version of the type. A change in the major version implies the type has changed in a non-backwards compatible way. minor - an integer. The minor version of the type. A change in the minor version implies that the type has changed in a way that is backwards compatible with previous type definitions. In many cases, the major and minor versions are optional, and if not provided the most recent version will be used. Example: MyModule.MyType-3.1) + * @return parameter "sem_types" of mapping from original type "type_string" (A type string. Specifies the type and its version in a single string in the format [module].[typename]-[major].[minor]: module - a string. The module name of the typespec containing the type. typename - a string. The name of the type as assigned by the typedef statement. major - an integer. The major version of the type. A change in the major version implies the type has changed in a non-backwards compatible way. minor - an integer. The minor version of the type. A change in the minor version implies that the type has changed in a way that is backwards compatible with previous type definitions. In many cases, the major and minor versions are optional, and if not provided the most recent version will be used. Example: MyModule.MyType-3.1) to list of original type "type_string" (A type string. Specifies the type and its version in a single string in the format [module].[typename]-[major].[minor]: module - a string. The module name of the typespec containing the type. typename - a string. The name of the type as assigned by the typedef statement. major - an integer. The major version of the type. A change in the major version implies the type has changed in a non-backwards compatible way. minor - an integer. The minor version of the type. A change in the minor version implies that the type has changed in a way that is backwards compatible with previous type definitions. In many cases, the major and minor versions are optional, and if not provided the most recent version will be used. Example: MyModule.MyType-3.1) + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public Map> translateFromMD5Types(List md5Types, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(md5Types); + TypeReference>>> retType = new TypeReference>>>() {}; + List>> res = caller.jsonrpcCall("Workspace.translate_from_MD5_types", args, retType, true, false, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: translate_to_MD5_types

+ *
+     * Translation from types qualified with semantic versions to their MD5'ed versions
+     * 
+ * @param semTypes instance of list of original type "type_string" (A type string. Specifies the type and its version in a single string in the format [module].[typename]-[major].[minor]: module - a string. The module name of the typespec containing the type. typename - a string. The name of the type as assigned by the typedef statement. major - an integer. The major version of the type. A change in the major version implies the type has changed in a non-backwards compatible way. minor - an integer. The minor version of the type. A change in the minor version implies that the type has changed in a way that is backwards compatible with previous type definitions. In many cases, the major and minor versions are optional, and if not provided the most recent version will be used. Example: MyModule.MyType-3.1) + * @return parameter "md5_types" of mapping from original type "type_string" (A type string. Specifies the type and its version in a single string in the format [module].[typename]-[major].[minor]: module - a string. The module name of the typespec containing the type. typename - a string. The name of the type as assigned by the typedef statement. major - an integer. The major version of the type. A change in the major version implies the type has changed in a non-backwards compatible way. minor - an integer. The minor version of the type. A change in the minor version implies that the type has changed in a way that is backwards compatible with previous type definitions. In many cases, the major and minor versions are optional, and if not provided the most recent version will be used. Example: MyModule.MyType-3.1) to original type "type_string" (A type string. Specifies the type and its version in a single string in the format [module].[typename]-[major].[minor]: module - a string. The module name of the typespec containing the type. typename - a string. The name of the type as assigned by the typedef statement. major - an integer. The major version of the type. A change in the major version implies the type has changed in a non-backwards compatible way. minor - an integer. The minor version of the type. A change in the minor version implies that the type has changed in a way that is backwards compatible with previous type definitions. In many cases, the major and minor versions are optional, and if not provided the most recent version will be used. Example: MyModule.MyType-3.1) + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public Map translateToMD5Types(List semTypes, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(semTypes); + TypeReference>> retType = new TypeReference>>() {}; + List> res = caller.jsonrpcCall("Workspace.translate_to_MD5_types", args, retType, true, false, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: get_type_info

+ *
+     * 
+ * @param type instance of original type "type_string" (A type string. Specifies the type and its version in a single string in the format [module].[typename]-[major].[minor]: module - a string. The module name of the typespec containing the type. typename - a string. The name of the type as assigned by the typedef statement. major - an integer. The major version of the type. A change in the major version implies the type has changed in a non-backwards compatible way. minor - an integer. The minor version of the type. A change in the minor version implies that the type has changed in a way that is backwards compatible with previous type definitions. In many cases, the major and minor versions are optional, and if not provided the most recent version will be used. Example: MyModule.MyType-3.1) + * @return parameter "info" of type {@link us.kbase.workspace.TypeInfo TypeInfo} + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public TypeInfo getTypeInfo(String type, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(type); + TypeReference> retType = new TypeReference>() {}; + List res = caller.jsonrpcCall("Workspace.get_type_info", args, retType, true, false, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: get_all_type_info

+ *
+     * 
+ * @param mod instance of original type "modulename" (A module name defined in a KIDL typespec.) + * @return instance of list of type {@link us.kbase.workspace.TypeInfo TypeInfo} + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public List getAllTypeInfo(String mod, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(mod); + TypeReference>> retType = new TypeReference>>() {}; + List> res = caller.jsonrpcCall("Workspace.get_all_type_info", args, retType, true, false, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: get_func_info

+ *
+     * @deprecated
+     * 
+ * @param func instance of original type "func_string" (A function string for referencing a funcdef. Specifies the function and its version in a single string in the format [modulename].[funcname]-[major].[minor]: modulename - a string. The name of the module containing the function. funcname - a string. The name of the function as assigned by the funcdef statement. major - an integer. The major version of the function. A change in the major version implies the function has changed in a non-backwards compatible way. minor - an integer. The minor version of the function. A change in the minor version implies that the function has changed in a way that is backwards compatible with previous function definitions. In many cases, the major and minor versions are optional, and if not provided the most recent version will be used. Example: MyModule.MyFunc-3.1) + * @return parameter "info" of type {@link us.kbase.workspace.FuncInfo FuncInfo} + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public FuncInfo getFuncInfo(String func, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(func); + TypeReference> retType = new TypeReference>() {}; + List res = caller.jsonrpcCall("Workspace.get_func_info", args, retType, true, false, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: get_all_func_info

+ *
+     * @deprecated
+     * 
+ * @param mod instance of original type "modulename" (A module name defined in a KIDL typespec.) + * @return parameter "info" of list of type {@link us.kbase.workspace.FuncInfo FuncInfo} + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public List getAllFuncInfo(String mod, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(mod); + TypeReference>> retType = new TypeReference>>() {}; + List> res = caller.jsonrpcCall("Workspace.get_all_func_info", args, retType, true, false, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: grant_module_ownership

+ *
+     * Grant ownership of a module. You must have grant ability on the
+     * module.
+     * 
+ * @param params instance of type {@link us.kbase.workspace.GrantModuleOwnershipParams GrantModuleOwnershipParams} + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public void grantModuleOwnership(GrantModuleOwnershipParams params, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(params); + TypeReference retType = new TypeReference() {}; + caller.jsonrpcCall("Workspace.grant_module_ownership", args, retType, false, true, jsonRpcContext, this.serviceVersion); + } + + /** + *

Original spec-file function name: remove_module_ownership

+ *
+     * Remove ownership from a current owner. You must have the grant ability
+     * on the module.
+     * 
+ * @param params instance of type {@link us.kbase.workspace.RemoveModuleOwnershipParams RemoveModuleOwnershipParams} + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public void removeModuleOwnership(RemoveModuleOwnershipParams params, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(params); + TypeReference retType = new TypeReference() {}; + caller.jsonrpcCall("Workspace.remove_module_ownership", args, retType, false, true, jsonRpcContext, this.serviceVersion); + } + + /** + *

Original spec-file function name: list_all_types

+ *
+     * List all released types with released version from all modules. Return
+     * mapping from module name to mapping from type name to released type
+     * version.
+     * 
+ * @param params instance of type {@link us.kbase.workspace.ListAllTypesParams ListAllTypesParams} + * @return instance of mapping from original type "modulename" (A module name defined in a KIDL typespec.) to mapping from original type "typename" (A type definition name in a KIDL typespec.) to original type "typever" (A version of a type. Specifies the version of the type in a single string in the format [major].[minor]: major - an integer. The major version of the type. A change in the major version implies the type has changed in a non-backwards compatible way. minor - an integer. The minor version of the type. A change in the minor version implies that the type has changed in a way that is backwards compatible with previous type definitions.) + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public Map> listAllTypes(ListAllTypesParams params, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(params); + TypeReference>>> retType = new TypeReference>>>() {}; + List>> res = caller.jsonrpcCall("Workspace.list_all_types", args, retType, true, false, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: get_admin_role

+ *
+     * Get the administrative role for the current user.
+     * 
+ * @return parameter "results" of type {@link us.kbase.workspace.GetAdminRoleResults GetAdminRoleResults} + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public GetAdminRoleResults getAdminRole(RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + TypeReference> retType = new TypeReference>() {}; + List res = caller.jsonrpcCall("Workspace.get_admin_role", args, retType, true, true, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + /** + *

Original spec-file function name: alter_admin_object_metadata

+ *
+     * Update admin metadata for an object. The user must have full workspace service
+     * administration privileges.
+     * 
+ * @param params instance of type {@link us.kbase.workspace.AlterAdminObjectMetadataParams AlterAdminObjectMetadataParams} + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public void alterAdminObjectMetadata(AlterAdminObjectMetadataParams params, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(params); + TypeReference retType = new TypeReference() {}; + caller.jsonrpcCall("Workspace.alter_admin_object_metadata", args, retType, false, true, jsonRpcContext, this.serviceVersion); + } + + /** + *

Original spec-file function name: administer

+ *
+     * The administration interface.
+     * 
+ * @param command instance of unspecified object + * @return parameter "response" of unspecified object + * @throws IOException if an IO exception occurs + * @throws JsonClientException if a JSON RPC exception occurs + */ + public UObject administer(UObject command, RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + args.add(command); + TypeReference> retType = new TypeReference>() {}; + List res = caller.jsonrpcCall("Workspace.administer", args, retType, true, true, jsonRpcContext, this.serviceVersion); + return res.get(0); + } + + public Map status(RpcContext... jsonRpcContext) throws IOException, JsonClientException { + List args = new ArrayList(); + TypeReference>> retType = new TypeReference>>() {}; + List> res = caller.jsonrpcCall("Workspace.status", args, retType, true, false, jsonRpcContext, this.serviceVersion); + return res.get(0); + } +} diff --git a/client/src/main/java/us/kbase/workspace/WorkspaceIdentity.java b/client/src/main/java/us/kbase/workspace/WorkspaceIdentity.java new file mode 100644 index 00000000..02593ed8 --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/WorkspaceIdentity.java @@ -0,0 +1,83 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: WorkspaceIdentity

+ *
+ * A workspace identifier.
+ *                 Select a workspace by one, and only one, of the numerical id or name.
+ *                 ws_id id - the numerical ID of the workspace.
+ *                 ws_name workspace - the name of the workspace.
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "workspace", + "id" +}) +public class WorkspaceIdentity { + + @JsonProperty("workspace") + private String workspace; + @JsonProperty("id") + private Long id; + private Map additionalProperties = new HashMap(); + + @JsonProperty("workspace") + public String getWorkspace() { + return workspace; + } + + @JsonProperty("workspace") + public void setWorkspace(String workspace) { + this.workspace = workspace; + } + + public WorkspaceIdentity withWorkspace(String workspace) { + this.workspace = workspace; + return this; + } + + @JsonProperty("id") + public Long getId() { + return id; + } + + @JsonProperty("id") + public void setId(Long id) { + this.id = id; + } + + public WorkspaceIdentity withId(Long id) { + this.id = id; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public String toString() { + return ((((((("WorkspaceIdentity"+" [workspace=")+ workspace)+", id=")+ id)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/client/src/main/java/us/kbase/workspace/WorkspacePermissions.java b/client/src/main/java/us/kbase/workspace/WorkspacePermissions.java new file mode 100644 index 00000000..fa8342d3 --- /dev/null +++ b/client/src/main/java/us/kbase/workspace/WorkspacePermissions.java @@ -0,0 +1,64 @@ + +package us.kbase.workspace; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import javax.annotation.Generated; +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; + + +/** + *

Original spec-file type: WorkspacePermissions

+ *
+ * A set of workspace permissions.
+ * perms - the list of permissions for each requested workspace
+ * 
+ * + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Generated("com.googlecode.jsonschema2pojo") +@JsonPropertyOrder({ + "perms" +}) +public class WorkspacePermissions { + + @JsonProperty("perms") + private List> perms; + private Map additionalProperties = new HashMap(); + + @JsonProperty("perms") + public List> getPerms() { + return perms; + } + + @JsonProperty("perms") + public void setPerms(List> perms) { + this.perms = perms; + } + + public WorkspacePermissions withPerms(List> perms) { + this.perms = perms; + return this; + } + + @JsonAnyGetter + public Map getAdditionalProperties() { + return this.additionalProperties; + } + + @JsonAnySetter + public void setAdditionalProperties(java.lang.String name, Object value) { + this.additionalProperties.put(name, value); + } + + @Override + public java.lang.String toString() { + return ((((("WorkspacePermissions"+" [perms=")+ perms)+", additionalProperties=")+ additionalProperties)+"]"); + } + +} diff --git a/service/build.gradle b/service/build.gradle index 109129f9..e1018265 100644 --- a/service/build.gradle +++ b/service/build.gradle @@ -163,16 +163,6 @@ task jacocoTestQuickReport(type: JacocoReport, dependsOn: testQuick) { executionData(testQuick) } -jar { -// TODO NOW remove - // Much like javadoc, we hijack this task to build the client jar, since we don't need - // a service jar - include "us/kbase/workspace/*.class" - exclude "us/kbase/workspace/WorkspaceServer*.class" // exclude anonymous classes - include "us/kbase/common/service/Tuple*.class" - archiveAppendix = 'client' -} - shadowJar { // Be careful when updating jars - you may want to set the duplicates strategy to WARN // to see if any of the jars are shadowing the others when building the fat jar, which diff --git a/settings.gradle b/settings.gradle index 8c2e900a..8174acd3 100644 --- a/settings.gradle +++ b/settings.gradle @@ -10,3 +10,4 @@ rootProject.name = 'workspace_deluxe' include 'service' +include 'client' From b55a0eb59ee05b2c74ae3f18e3f07402dce941a3 Mon Sep 17 00:00:00 2001 From: Gavin Date: Fri, 26 Apr 2024 14:59:01 -0700 Subject: [PATCH 47/48] Update docs for subproject structure --- client/build.gradle | 7 +++---- docsource/buildandconfigure.rst | 11 ++++++----- docsource/builddocs.rst | 2 +- docsource/buildinitclient.rst | 12 +++++++----- docsource/developers.rst | 2 +- docsource/releasenotes.rst | 12 ++++++------ readme.md | 2 +- 7 files changed, 25 insertions(+), 23 deletions(-) diff --git a/client/build.gradle b/client/build.gradle index e6dd020f..3b61f692 100644 --- a/client/build.gradle +++ b/client/build.gradle @@ -17,8 +17,6 @@ group = 'com.github.kbase' var VER_JAVA_COMMON = "0.3.0" var VER_AUTH2_CLIENT = "0.5.0" -// TODO NOW update docs for jar locations & client use - var DEFAULT_URL = "https://ci.kbase.us/services/ws" @@ -45,7 +43,7 @@ java { } javadoc { - /* TODO DOCS the current sdk documenation looks like invalid html to javadoc + /* TODO DOCS the current sdk documentation looks like invalid html to javadoc * need to go through and remove * also some spots with < / > that need to be wrapped with {@code } in internal code */ @@ -112,8 +110,9 @@ publishing { dependencies { // using older dependencies to not force upgrades on services that might not be able to // handle them. Need to upgrade the services and then upgrade here - implementation "com.github.kbase:java_common:$VER_JAVA_COMMON" + implementation "com.fasterxml.jackson.core:jackson-annotations:2.5.4" implementation "com.fasterxml.jackson.core:jackson-databind:2.5.4" implementation "com.github.kbase:auth2_client_java:$VER_AUTH2_CLIENT" + implementation "com.github.kbase:java_common:$VER_JAVA_COMMON" implementation 'javax.annotation:javax.annotation-api:1.3.2' } diff --git a/docsource/buildandconfigure.rst b/docsource/buildandconfigure.rst index 5a18c43e..8233d16c 100644 --- a/docsource/buildandconfigure.rst +++ b/docsource/buildandconfigure.rst @@ -17,14 +17,15 @@ Build:: ~/workspace_deluxe$ ./gradlew buildAll *snip* -``buildAll`` will build 3 jars in ``build/libs``: +``buildAll`` will build several artifacts: -* A workspace client jar -* A workspace server WAR file -* A workspace shadow jar containing all test code. This is useful for starting a workpace server +* A workspace client jar at ``client/build/libs/client.jar`` +* A workspace server WAR file at ``service/build/libs/service.war`` +* A workspace shadow jar containing all test code at + ``service/build/libs/service-test-shadow-all.jar``. This is useful for starting a workpace server from other processes without needing a docker container, but should **only** be used for testing. -It will also build the ``build/update_workspace_database_schema`` script which is used to +It will also build the ``service/build/update_workspace_database_schema`` script which is used to update the workspace schema if it changes from one version to another. .. _servicedeps: diff --git a/docsource/builddocs.rst b/docsource/builddocs.rst index 83070033..ea4e37bc 100644 --- a/docsource/builddocs.rst +++ b/docsource/builddocs.rst @@ -31,4 +31,4 @@ Build the documentation:: bareubuntu@bu:~/ws$ cd workspace_deluxe/ bareubuntu@bu:~/ws/workspace_deluxe$ ./gradlew buildDocs -The build directory is ``build/docs``. +The build directory is ``service/build/docs``. diff --git a/docsource/buildinitclient.rst b/docsource/buildinitclient.rst index 83247756..25456555 100644 --- a/docsource/buildinitclient.rst +++ b/docsource/buildinitclient.rst @@ -40,13 +40,18 @@ auth server. Java client ----------- +The easiest way to use the client is with a build tool like Gradle or Maven, fetching the client +via https://jitpack.io/#kbase/workspace_deluxe. + +If you want to build the client manually read on. + The Java client build requires Java JDK 11+. Build the client:: bareubuntu@bu:~/ws/workspace_deluxe$ ./gradlew jar -The client jar is created in ``build/libs/workspace_deluxe-client.jar``. +The client jar is created in ``client/build/libs/client.jar``. For simplicity, copy the required jars into a single directory. You will also need the following jars, which can be downloaded from a maven repository or https://jitpack.io: @@ -65,12 +70,9 @@ jars, which can be downloaded from a maven repository or https://jitpack.io: auth2_client_java-0.5.0.jar java_common-0.3.0.jar jackson-annotations-2.9.9.jar javax.annotation-api-1.3.2.jar - jackson-core-2.9.9.jar workspace_deluxe-client.jar + jackson-core-2.9.9.jar client.jar jackson-databind-2.9.9.jar -When creating an application using the WSS it's advisable to use a build tool -like ``ant``, ``maven``, or ``gradle`` to organize the required jars. - This simple program initializes and calls a method on the WSS client:: bareubuntu@bu:~/ws/tryjavaclient$ cat TryWorkspaceClient.java diff --git a/docsource/developers.rst b/docsource/developers.rst index b94d2388..cff1baa3 100644 --- a/docsource/developers.rst +++ b/docsource/developers.rst @@ -22,7 +22,7 @@ Branches: Recompiling the generated code ------------------------------ -To compile the Workspace generated code from ``workspace.spec``, run ``./gradlew compile``. +To compile the Workspace generated code from ``workspace.spec``, run ``./gradlew sdkCompile``. Note that: diff --git a/docsource/releasenotes.rst b/docsource/releasenotes.rst index bd2b0717..728cfbd9 100644 --- a/docsource/releasenotes.rst +++ b/docsource/releasenotes.rst @@ -15,12 +15,12 @@ UPDATES: * The MongoDB clients have been updated to the most recent version and the service tested against Mongo 7. * Gradle has replaced Ant as the build tool. As a consequence, all the built artifacts are now - located in the build directory, including the ``update_workspace_database_schema`` script. -* A shadow jar has been published on jitpack.io for supporting tests in other repos. - This allows for starting the workspace service from a single jar in other applications. - All dependencies are included in the jar in shadow namespaces so they don't conflict with - different versions of the dependencies in the application under test. - + located in Gradle build directories, including the ``update_workspace_database_schema`` script. +* Client and test shadow jars have been published on jitpack.io. + * The shadow jar is intended for supporting tests in other repos. + This allows for starting the workspace service from a single jar in other applications. + All dependencies are included in the jar in shadow namespaces so they don't conflict with + different versions of the dependencies in the application under test. VERSION: 0.14.2 (Released 11/9/2023) ------------------------------------ diff --git a/readme.md b/readme.md index 429cf8c2..7be8a53a 100644 --- a/readme.md +++ b/readme.md @@ -55,7 +55,7 @@ Build the documentation: bareubuntu@bu:~/ws$ cd workspace_deluxe/ bareubuntu@bu:~/ws/workspace_deluxe$ ./gradlew buildDocs -The build directory is `build/docs`. +The build directory is `service/build/docs`. ### Notes on GitHub Actions automated tests From 8c9319b87174562c4828dba728379b2b5936ced1 Mon Sep 17 00:00:00 2001 From: Gavin Date: Wed, 8 May 2024 13:16:42 -0700 Subject: [PATCH 48/48] Bump release date --- docsource/releasenotes.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docsource/releasenotes.rst b/docsource/releasenotes.rst index 728cfbd9..bd8f0f4c 100644 --- a/docsource/releasenotes.rst +++ b/docsource/releasenotes.rst @@ -3,8 +3,8 @@ Workspace service release notes =============================== -VERSION: 0.15.0 (Released TBD) ------------------------------------- +VERSION: 0.15.0 (Released 05/08/2024) +------------------------------------- BACKWARDS INCOMPATIBILIES: