Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoberto E. Escobar2012-02-28 22:45:24 +0000
committerRyan D. Brooks2012-02-28 22:45:24 +0000
commit1ba8804ece65c87e780f3ccb5c81f3d5201f19f5 (patch)
tree0fb8d86a54496f180a14ed050876a241817ad4ef
parent18b9f39a0037727edcd8ae767531414dcff80b7f (diff)
downloadorg.eclipse.osee-1ba8804ece65c87e780f3ccb5c81f3d5201f19f5.tar.gz
org.eclipse.osee-1ba8804ece65c87e780f3ccb5c81f3d5201f19f5.tar.xz
org.eclipse.osee-1ba8804ece65c87e780f3ccb5c81f3d5201f19f5.zip
feature[ats_VVMH0]: Integrate server.admin with X server
-rw-r--r--plugins/org.eclipse.osee.framework.core.server/META-INF/MANIFEST.MF3
-rw-r--r--plugins/org.eclipse.osee.framework.core.server/OSGI-INF/server.schedule.console.command.xml7
-rw-r--r--plugins/org.eclipse.osee.framework.core.server/OSGI-INF/server.servlet.request.console.command.xml8
-rw-r--r--plugins/org.eclipse.osee.framework.core.server/OSGI-INF/server.shutdown.console.command.xml8
-rw-r--r--plugins/org.eclipse.osee.framework.core.server/OSGI-INF/server.stats.console.command.xml9
-rw-r--r--plugins/org.eclipse.osee.framework.core.server/OSGI-INF/server.version.console.command.xml8
-rw-r--r--plugins/org.eclipse.osee.framework.core.server/build.properties6
-rw-r--r--plugins/org.eclipse.osee.framework.core.server/src/org/eclipse/osee/framework/core/server/internal/console/ServerScheduleCommand.java67
-rw-r--r--plugins/org.eclipse.osee.framework.core.server/src/org/eclipse/osee/framework/core/server/internal/console/ServerServletRequestsCommand.java76
-rw-r--r--plugins/org.eclipse.osee.framework.core.server/src/org/eclipse/osee/framework/core/server/internal/console/ServerShutdownCommand.java95
-rw-r--r--plugins/org.eclipse.osee.framework.core.server/src/org/eclipse/osee/framework/core/server/internal/console/ServerStatsCommand.java151
-rw-r--r--plugins/org.eclipse.osee.framework.core.server/src/org/eclipse/osee/framework/core/server/internal/console/ServerVersionCommand.java88
-rw-r--r--plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/operation/FindInvalidUTF8CharsOperation.java66
-rw-r--r--plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/operation/InvalidTxCurrentsAndModTypes.java22
-rw-r--r--plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/operation/ParseWindowsDirectoryListingOperation.java73
-rw-r--r--plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/operation/PruneWorkspaceOperation.java80
-rw-r--r--plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/operation/PurgeUnusedBackingDataAndTransactions.java31
-rw-r--r--plugins/org.eclipse.osee.framework.server.admin/.classpath7
-rw-r--r--plugins/org.eclipse.osee.framework.server.admin/.pmd925
-rw-r--r--plugins/org.eclipse.osee.framework.server.admin/.project28
-rw-r--r--plugins/org.eclipse.osee.framework.server.admin/META-INF/MANIFEST.MF43
-rw-r--r--plugins/org.eclipse.osee.framework.server.admin/OSGI-INF/branch.cmds.xml7
-rw-r--r--plugins/org.eclipse.osee.framework.server.admin/OSGI-INF/search.tagger.cmds.xml7
-rw-r--r--plugins/org.eclipse.osee.framework.server.admin/OSGI-INF/server.admin.cmds.xml7
-rw-r--r--plugins/org.eclipse.osee.framework.server.admin/build.properties6
-rw-r--r--plugins/org.eclipse.osee.framework.server.admin/plugin.xml18
-rw-r--r--plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/BranchManagementCommandProvider.java270
-rw-r--r--plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/PurgeRelationType.java129
-rw-r--r--plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/SearchTaggerCommandProvider.java116
-rw-r--r--plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/ServerAdminCommandProvider.java265
-rw-r--r--plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/app/DataStoreBackupApplication.java128
-rw-r--r--plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/branch/BranchExportOperation.java78
-rw-r--r--plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/branch/BranchImportOperation.java52
-rw-r--r--plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/branch/ExchangeIntegrityOperation.java39
-rw-r--r--plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/internal/Activator.java117
-rw-r--r--plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/management/SchedulingCommand.java51
-rw-r--r--plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/management/ServerShutdownOperation.java57
-rw-r--r--plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/management/ServerStats.java102
-rw-r--r--plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/management/UpdateCachesOperation.java62
-rw-r--r--plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/management/UpdateServerVersionsOperation.java45
-rw-r--r--plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/search/SearchStats.java39
-rw-r--r--plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/search/TagItemOperation.java107
-rw-r--r--plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/search/TaggerAllOperation.java229
-rw-r--r--plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/search/TaggerDropAllOperation.java33
-rw-r--r--plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/search/TaggerStats.java59
-rw-r--r--plugins/org.eclipse.osee.orcs.core/META-INF/MANIFEST.MF2
-rw-r--r--plugins/org.eclipse.osee.orcs.core/OSGI-INF/orcs.branch.exchange.check.console.command.xml8
-rw-r--r--plugins/org.eclipse.osee.orcs.core/OSGI-INF/orcs.branch.export.console.command.xml9
-rw-r--r--plugins/org.eclipse.osee.orcs.core/OSGI-INF/orcs.branch.import.console.command.xml9
-rw-r--r--plugins/org.eclipse.osee.orcs.core/OSGI-INF/orcs.branch.purge.console.command.xml9
-rw-r--r--plugins/org.eclipse.osee.orcs.core/OSGI-INF/orcs.update.cache.console.command.xml8
-rw-r--r--plugins/org.eclipse.osee.orcs.core/build.properties3
-rw-r--r--plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/admin/AbstractAdminCallable.java2
-rw-r--r--plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/console/BranchExchangeCheckCommand.java83
-rw-r--r--plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/console/BranchExportCommand.java158
-rw-r--r--plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/console/BranchImportCommand.java131
-rw-r--r--plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/console/BranchPurgeCommand.java145
-rw-r--r--plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/console/CacheUpdateCommand.java119
-rw-r--r--plugins/org.eclipse.osee.orcs.db.test/META-INF/MANIFEST.MF1
-rw-r--r--plugins/org.eclipse.osee.orcs.db/META-INF/MANIFEST.MF3
-rw-r--r--plugins/org.eclipse.osee.orcs.db/OSGI-INF/consolidate.artifacts.console.command.xml9
-rw-r--r--plugins/org.eclipse.osee.orcs.db/OSGI-INF/consolidate.relations.console.command.xml9
-rw-r--r--plugins/org.eclipse.osee.orcs.db/OSGI-INF/fix.duplicate.attributes.console.command.xml10
-rw-r--r--plugins/org.eclipse.osee.orcs.db/OSGI-INF/purge.relation.type.console.command.xml11
-rw-r--r--plugins/org.eclipse.osee.orcs.db/OSGI-INF/purge.transaction.console.command.xml8
-rw-r--r--plugins/org.eclipse.osee.orcs.db/OSGI-INF/tx.currents.console.command.xml8
-rw-r--r--plugins/org.eclipse.osee.orcs.db/OSGI-INF/tx.prune.console.command.xml8
-rw-r--r--plugins/org.eclipse.osee.orcs.db/build.properties3
-rw-r--r--plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/callable/ConsolidateArtifactVersionDatabaseTxCallable.java (renamed from plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/operation/ConsolidateArtifactVersionTxOperation.java)43
-rw-r--r--plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/callable/ConsolidateRelationsDatabaseTxCallable.java (renamed from plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/operation/ConsolidateRelationsTxOperation.java)47
-rw-r--r--plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/callable/DuplicateAttributesDatabaseTxCallable.java (renamed from plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/DuplicateAttributesOperation.java)39
-rw-r--r--plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/callable/ExportBranchDatabaseCallable.java2
-rw-r--r--plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/callable/ImportBranchDatabaseCallable.java4
-rw-r--r--plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/callable/PurgeRelationTypeDatabaseTxCallable.java119
-rw-r--r--plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/ConsolidateArtifactVersionsCommand.java64
-rw-r--r--plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/ConsolidateRelationsCommand.java64
-rw-r--r--plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/FixDuplicateAttributesCommand.java75
-rw-r--r--plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/PurgeRelationTypeCommand.java89
-rw-r--r--plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/PurgeTransactionCommand.java70
-rw-r--r--plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/TxCurrentsCommand.java61
-rw-r--r--plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/TxPruneCommand.java60
-rw-r--r--plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/inwork/DataStoreBackupApplication.java106
-rw-r--r--plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/inwork/SearchStats.java34
-rw-r--r--plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/inwork/SearchTaggerCommandProvider.java97
-rw-r--r--plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/inwork/TagItemOperation.java97
-rw-r--r--plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/inwork/TaggerAllOperation.java211
-rw-r--r--plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/inwork/TaggerDropAllOperation.java27
-rw-r--r--plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/inwork/TaggerStats.java52
-rw-r--r--plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/ExportItemFactory.java1
-rw-r--r--plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/TranslationManager.java1
-rw-r--r--plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/TxCurrentsAndModTypesCommand.java17
-rw-r--r--plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/export/ManifestExportItem.java2
-rw-r--r--plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/handler/BranchDataSaxHandler.java2
-rw-r--r--plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/transform/ExchangeTransformer.java7
-rw-r--r--plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/transform/IOseeExchangeVersionTransformer.java3
-rw-r--r--plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/transform/V0_8_3Transformer.java3
-rw-r--r--plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/transform/V0_9_0Transformer.java3
-rw-r--r--plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/transform/V0_9_2Transformer.java7
-rw-r--r--plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/transform/V0_9_4Transformer.java3
-rw-r--r--plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/util/OperationCallableAdapter.java35
-rw-r--r--plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/util/OperationLoggerAdapter.java39
-rw-r--r--plugins/org.eclipse.osee.orcs/src/org/eclipse/osee/orcs/ExportOptions.java (renamed from plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/ExportOptions.java)2
-rw-r--r--plugins/org.eclipse.osee.orcs/src/org/eclipse/osee/orcs/ImportOptions.java (renamed from plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/ImportOptions.java)2
-rw-r--r--plugins/org.eclipse.osee.support.config/launchConfig/OSEE.X.Server.launch4
104 files changed, 2725 insertions, 3347 deletions
diff --git a/plugins/org.eclipse.osee.framework.core.server/META-INF/MANIFEST.MF b/plugins/org.eclipse.osee.framework.core.server/META-INF/MANIFEST.MF
index ccdc847ce87..c83b56557ef 100644
--- a/plugins/org.eclipse.osee.framework.core.server/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.osee.framework.core.server/META-INF/MANIFEST.MF
@@ -5,9 +5,10 @@ Bundle-SymbolicName: org.eclipse.osee.framework.core.server;singleton:=true
Bundle-Version: 0.9.9.qualifier
Bundle-Vendor: Eclipse Open System Engineering Environment
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Import-Package: javax.servlet;version="2.5.0",
+Import-Package: javax.servlet;version="2.5.0",
javax.servlet.http;version="2.5.0",
org.apache.commons.codec.binary;version="1.3.0",
+ org.eclipse.osee.console.admin,
org.eclipse.osee.framework.core.data,
org.eclipse.osee.framework.core.enums,
org.eclipse.osee.framework.core.exception,
diff --git a/plugins/org.eclipse.osee.framework.core.server/OSGI-INF/server.schedule.console.command.xml b/plugins/org.eclipse.osee.framework.core.server/OSGI-INF/server.schedule.console.command.xml
new file mode 100644
index 00000000000..cfb952d8872
--- /dev/null
+++ b/plugins/org.eclipse.osee.framework.core.server/OSGI-INF/server.schedule.console.command.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.osee.framework.core.server.internal.console.ServerScheduleCommand">
+ <implementation class="org.eclipse.osee.framework.core.server.internal.console.ServerScheduleCommand"/>
+ <service>
+ <provide interface="org.eclipse.osee.console.admin.ConsoleCommand"/>
+ </service>
+</scr:component>
diff --git a/plugins/org.eclipse.osee.framework.core.server/OSGI-INF/server.servlet.request.console.command.xml b/plugins/org.eclipse.osee.framework.core.server/OSGI-INF/server.servlet.request.console.command.xml
new file mode 100644
index 00000000000..838650016e6
--- /dev/null
+++ b/plugins/org.eclipse.osee.framework.core.server/OSGI-INF/server.servlet.request.console.command.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.osee.framework.core.server.internal.console.ServerServletRequestsCommand">
+ <implementation class="org.eclipse.osee.framework.core.server.internal.console.ServerServletRequestsCommand"/>
+ <service>
+ <provide interface="org.eclipse.osee.console.admin.ConsoleCommand"/>
+ </service>
+ <reference bind="setApplicationServerManager" cardinality="1..1" interface="org.eclipse.osee.framework.core.server.IApplicationServerManager" name="IApplicationServerManager" policy="static"/>
+</scr:component>
diff --git a/plugins/org.eclipse.osee.framework.core.server/OSGI-INF/server.shutdown.console.command.xml b/plugins/org.eclipse.osee.framework.core.server/OSGI-INF/server.shutdown.console.command.xml
new file mode 100644
index 00000000000..b0f4f8b6252
--- /dev/null
+++ b/plugins/org.eclipse.osee.framework.core.server/OSGI-INF/server.shutdown.console.command.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.osee.framework.core.server.internal.console.ServerShutdownCommand">
+ <implementation class="org.eclipse.osee.framework.core.server.internal.console.ServerShutdownCommand"/>
+ <service>
+ <provide interface="org.eclipse.osee.console.admin.ConsoleCommand"/>
+ </service>
+ <reference bind="setApplicationServerManager" cardinality="1..1" interface="org.eclipse.osee.framework.core.server.IApplicationServerManager" name="IApplicationServerManager" policy="static"/>
+</scr:component>
diff --git a/plugins/org.eclipse.osee.framework.core.server/OSGI-INF/server.stats.console.command.xml b/plugins/org.eclipse.osee.framework.core.server/OSGI-INF/server.stats.console.command.xml
new file mode 100644
index 00000000000..5276c1c15e7
--- /dev/null
+++ b/plugins/org.eclipse.osee.framework.core.server/OSGI-INF/server.stats.console.command.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.osee.framework.core.server.internal.console.ServerStatsCommand">
+ <implementation class="org.eclipse.osee.framework.core.server.internal.console.ServerStatsCommand"/>
+ <service>
+ <provide interface="org.eclipse.osee.console.admin.ConsoleCommand"/>
+ </service>
+ <reference bind="setApplicationServerManager" cardinality="1..1" interface="org.eclipse.osee.framework.core.server.IApplicationServerManager" name="IApplicationServerManager" policy="static"/>
+ <reference bind="setSessionManager" cardinality="1..1" interface="org.eclipse.osee.framework.core.server.ISessionManager" name="ISessionManager" policy="static"/>
+</scr:component>
diff --git a/plugins/org.eclipse.osee.framework.core.server/OSGI-INF/server.version.console.command.xml b/plugins/org.eclipse.osee.framework.core.server/OSGI-INF/server.version.console.command.xml
new file mode 100644
index 00000000000..aad894a9775
--- /dev/null
+++ b/plugins/org.eclipse.osee.framework.core.server/OSGI-INF/server.version.console.command.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.osee.framework.core.server.internal.console.ServerVersionCommand">
+ <implementation class="org.eclipse.osee.framework.core.server.internal.console.ServerVersionCommand"/>
+ <service>
+ <provide interface="org.eclipse.osee.console.admin.ConsoleCommand"/>
+ </service>
+ <reference bind="setApplicationServerManager" cardinality="1..1" interface="org.eclipse.osee.framework.core.server.IApplicationServerManager" name="IApplicationServerManager" policy="static"/>
+</scr:component>
diff --git a/plugins/org.eclipse.osee.framework.core.server/build.properties b/plugins/org.eclipse.osee.framework.core.server/build.properties
index 002f1772e61..aabcc85ab19 100644
--- a/plugins/org.eclipse.osee.framework.core.server/build.properties
+++ b/plugins/org.eclipse.osee.framework.core.server/build.properties
@@ -3,7 +3,9 @@ bin.includes = META-INF/,\
.,\
OSGI-INF/,\
OSGI-INF/application.server.manager.xml,\
- OSGI-INF/session.manager.xml
+ OSGI-INF/session.manager.xml,\
+ OSGI-INF/server.stats.console.command.xml
source.. = src/
additional.bundles = org.eclipse.osee.logger,\
- org.eclipse.osee.framework.jdk.core
+ org.eclipse.osee.framework.jdk.core,\
+ org.eclipse.osee.console.admin
diff --git a/plugins/org.eclipse.osee.framework.core.server/src/org/eclipse/osee/framework/core/server/internal/console/ServerScheduleCommand.java b/plugins/org.eclipse.osee.framework.core.server/src/org/eclipse/osee/framework/core/server/internal/console/ServerScheduleCommand.java
new file mode 100644
index 00000000000..50438ff0473
--- /dev/null
+++ b/plugins/org.eclipse.osee.framework.core.server/src/org/eclipse/osee/framework/core/server/internal/console/ServerScheduleCommand.java
@@ -0,0 +1,67 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.framework.core.server.internal.console;
+
+import java.util.concurrent.Callable;
+import org.eclipse.osee.console.admin.Console;
+import org.eclipse.osee.console.admin.ConsoleCommand;
+import org.eclipse.osee.console.admin.ConsoleParameters;
+
+/**
+ * @author Ryan D. Brooks
+ */
+public class ServerScheduleCommand implements ConsoleCommand {
+
+ @Override
+ public String getName() {
+ return "server_schedule_cmd";
+ }
+
+ @Override
+ public String getDescription() {
+ return "Schedules a console command";
+ }
+
+ @Override
+ public String getUsage() {
+ return "iterate=<NUMBER_OF_TIMES_TO_SCHEDULE> delay=<DELAY_IN_SECONDS> cmd=\"<CMD + PARAMETERS>\"";
+ }
+
+ @Override
+ public Callable<?> createCallable(Console console, ConsoleParameters params) {
+ return new SchedulingCallable(console, params);
+ }
+
+ private final class SchedulingCallable implements Callable<Boolean> {
+ private final Console ci;
+ private final ConsoleParameters params;
+
+ public SchedulingCallable(Console ci, ConsoleParameters params) {
+ this.ci = ci;
+ this.params = params;
+ }
+
+ @Override
+ public Boolean call() throws Exception {
+ long delayMiliseconds = params.getInt("delay") * 1000;
+ int iterations = params.getInt("iterate");
+
+ String command = params.get("cmd");
+
+ for (int i = 0; i < iterations; i++) {
+ Thread.sleep(delayMiliseconds);
+ ci.execute(command);
+ }
+ return Boolean.TRUE;
+ }
+ }
+
+} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.framework.core.server/src/org/eclipse/osee/framework/core/server/internal/console/ServerServletRequestsCommand.java b/plugins/org.eclipse.osee.framework.core.server/src/org/eclipse/osee/framework/core/server/internal/console/ServerServletRequestsCommand.java
new file mode 100644
index 00000000000..4c12affd301
--- /dev/null
+++ b/plugins/org.eclipse.osee.framework.core.server/src/org/eclipse/osee/framework/core/server/internal/console/ServerServletRequestsCommand.java
@@ -0,0 +1,76 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 2007 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.framework.core.server.internal.console;
+
+import java.util.concurrent.Callable;
+import org.eclipse.osee.console.admin.Console;
+import org.eclipse.osee.console.admin.ConsoleCommand;
+import org.eclipse.osee.console.admin.ConsoleParameters;
+import org.eclipse.osee.framework.core.server.IApplicationServerManager;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class ServerServletRequestsCommand implements ConsoleCommand {
+
+ private IApplicationServerManager appManager;
+
+ public void setApplicationServerManager(IApplicationServerManager appManager) {
+ this.appManager = appManager;
+ }
+
+ private IApplicationServerManager getApplicationServerManager() {
+ return appManager;
+ }
+
+ @Override
+ public String getName() {
+ return "server_servlet_requests";
+ }
+
+ @Override
+ public String getDescription() {
+ return "Set servlets to accept/reject requests";
+ }
+
+ @Override
+ public String getUsage() {
+ return "accept=<TRUE|FALSE>";
+ }
+
+ @Override
+ public Callable<?> createCallable(Console console, ConsoleParameters params) {
+ return new ServerServletRequestsCallable(getApplicationServerManager(), console, params);
+ }
+
+ private static final class ServerServletRequestsCallable implements Callable<Boolean> {
+ private final Console console;
+ private final ConsoleParameters parameters;
+
+ private final IApplicationServerManager appManager;
+
+ public ServerServletRequestsCallable(IApplicationServerManager appManager, Console console, ConsoleParameters parameters) {
+ this.appManager = appManager;
+ this.console = console;
+ this.parameters = parameters;
+ }
+
+ @Override
+ public Boolean call() throws Exception {
+ boolean value = parameters.getBoolean("accept");
+ appManager.setServletRequestsAllowed(value);
+ console.writeln("Osee Application Server: [%s] - servlet requests",
+ appManager.isAcceptingRequests() ? "ACCEPTING" : "REJECTING");
+ return Boolean.TRUE;
+ }
+ }
+
+} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.framework.core.server/src/org/eclipse/osee/framework/core/server/internal/console/ServerShutdownCommand.java b/plugins/org.eclipse.osee.framework.core.server/src/org/eclipse/osee/framework/core/server/internal/console/ServerShutdownCommand.java
new file mode 100644
index 00000000000..e5d486bbfe7
--- /dev/null
+++ b/plugins/org.eclipse.osee.framework.core.server/src/org/eclipse/osee/framework/core/server/internal/console/ServerShutdownCommand.java
@@ -0,0 +1,95 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 2007 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.framework.core.server.internal.console;
+
+import java.util.concurrent.Callable;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.osee.console.admin.Console;
+import org.eclipse.osee.console.admin.ConsoleCommand;
+import org.eclipse.osee.console.admin.ConsoleParameters;
+import org.eclipse.osee.framework.core.server.IApplicationServerManager;
+import org.osgi.framework.Bundle;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class ServerShutdownCommand implements ConsoleCommand {
+
+ private IApplicationServerManager appManager;
+
+ public void setApplicationServerManager(IApplicationServerManager appManager) {
+ this.appManager = appManager;
+ }
+
+ private IApplicationServerManager getApplicationServerManager() {
+ return appManager;
+ }
+
+ @Override
+ public String getName() {
+ return "server_shutdown";
+ }
+
+ @Override
+ public String getDescription() {
+ return "Shutdown server instance";
+ }
+
+ @Override
+ public String getUsage() {
+ return "[oseeOnly=<TRUE|FALSE>] - To shutdown only the osee server instance without shutting down OSGI framework\n" + //
+ " - Shutsdown both osee server instance and OSGI framework\n";
+ }
+
+ @Override
+ public Callable<?> createCallable(Console console, ConsoleParameters params) {
+ return new ServerShutdownCallable(getApplicationServerManager(), console, params);
+ }
+
+ private static final class ServerShutdownCallable implements Callable<Boolean> {
+ private final Console console;
+ private final ConsoleParameters parameters;
+
+ private final IApplicationServerManager manager;
+
+ public ServerShutdownCallable(IApplicationServerManager manager, Console console, ConsoleParameters parameters) {
+ this.manager = manager;
+ this.console = console;
+ this.parameters = parameters;
+ }
+
+ @Override
+ public Boolean call() throws Exception {
+ Bundle equinoxHttpBundle = Platform.getBundle("org.eclipse.equinox.http.jetty");
+ equinoxHttpBundle.stop();
+
+ manager.setServletRequestsAllowed(false);
+
+ while (!manager.isSystemIdle()) {
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException ex) {
+ console.write(ex);
+ }
+ }
+ manager.shutdown();
+
+ if (parameters.getBoolean("oseeOnly")) {
+ console.writeln("Osee Shutdown Complete");
+ } else {
+ // Call Close on OSGI
+ console.execute("close");
+ }
+ return Boolean.TRUE;
+ }
+ }
+
+} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.framework.core.server/src/org/eclipse/osee/framework/core/server/internal/console/ServerStatsCommand.java b/plugins/org.eclipse.osee.framework.core.server/src/org/eclipse/osee/framework/core/server/internal/console/ServerStatsCommand.java
new file mode 100644
index 00000000000..78b236c40e5
--- /dev/null
+++ b/plugins/org.eclipse.osee.framework.core.server/src/org/eclipse/osee/framework/core/server/internal/console/ServerStatsCommand.java
@@ -0,0 +1,151 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 2007 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.framework.core.server.internal.console;
+
+import java.text.DateFormat;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+import java.util.concurrent.Callable;
+import org.eclipse.core.runtime.jobs.IJobManager;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.osee.console.admin.Console;
+import org.eclipse.osee.console.admin.ConsoleCommand;
+import org.eclipse.osee.console.admin.ConsoleParameters;
+import org.eclipse.osee.framework.core.server.IApplicationServerManager;
+import org.eclipse.osee.framework.core.server.ISessionManager;
+import org.eclipse.osee.framework.core.server.OseeServerProperties;
+import org.eclipse.osee.framework.database.core.DatabaseInfoManager;
+import org.eclipse.osee.framework.jdk.core.util.Lib;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class ServerStatsCommand implements ConsoleCommand {
+
+ private IApplicationServerManager appManager;
+ private ISessionManager sessionManager;
+
+ public void setApplicationServerManager(IApplicationServerManager appManager) {
+ this.appManager = appManager;
+ }
+
+ public void setSessionManager(ISessionManager sessionManager) {
+ this.sessionManager = sessionManager;
+ }
+
+ private IApplicationServerManager getApplicationServerManager() {
+ return appManager;
+ }
+
+ private ISessionManager getSessionManager() {
+ return sessionManager;
+ }
+
+ @Override
+ public String getName() {
+ return "server_status";
+ }
+
+ @Override
+ public String getDescription() {
+ return "Displays server status information";
+ }
+
+ @Override
+ public String getUsage() {
+ return "";
+ }
+
+ @Override
+ public Callable<?> createCallable(Console console, ConsoleParameters params) {
+ return new ServerStatsCallable(getApplicationServerManager(), getSessionManager(), console);
+ }
+
+ private static final class ServerStatsCallable implements Callable<Boolean> {
+ private final IApplicationServerManager manager;
+ private final ISessionManager sessionManager;
+ private final Console console;
+
+ public ServerStatsCallable(IApplicationServerManager manager, ISessionManager sessionManager, Console console) {
+ super();
+ this.manager = manager;
+ this.sessionManager = sessionManager;
+ this.console = console;
+ }
+
+ @Override
+ public Boolean call() throws Exception {
+
+ console.writeln("\n----------------------------------------------");
+ console.writeln(" Server Stats");
+ console.writeln("----------------------------------------------");
+
+ console.writeln("Server:[%s:%s]", manager.getServerAddress(), manager.getPort());
+ console.writeln("Id: [%s]", manager.getId());
+ console.writeln("Running Since: [%s]\n",
+ DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG).format(manager.getDateStarted()));
+
+ console.writeln("Code Base Location: [%s]", System.getProperty("user.dir"));
+ console.writeln("Datastore: [%s]", DatabaseInfoManager.getDefault().toString());
+ console.writeln("Binary Data Path: [%s]", OseeServerProperties.getOseeApplicationServerData(null));
+ console.writeln();
+
+ console.writeln("Supported Versions: %s", Arrays.deepToString(manager.getSupportedVersions()));
+ console.writeln("Accepting Requests: [%s]", manager.isAcceptingRequests());
+ console.writeln(Lib.getMemoryInfo());
+
+ logServlets(manager);
+
+ console.writeln("\nSessionsManaged: [%s]", sessionManager.getAllSessions(false).size());
+ console.writeln("\nServer State: [%s]", manager.isSystemIdle() ? "IDLE" : "BUSY");
+ console.writeln("Active Threads: [%s]", manager.getNumberOfActiveThreads());
+
+ IJobManager jobManager = Job.getJobManager();
+ console.writeln("Job Manager: [%s]", jobManager.isIdle() ? "IDLE" : "BUSY");
+ console.writeln("Current Job: [%s]", jobManager.currentJob().getName());
+
+ console.writeln("Current Tasks: ");
+ List<String> entries = manager.getCurrentProcesses();
+ if (entries.isEmpty()) {
+ console.writeln("[NONE]");
+ } else {
+ console.writeln();
+ for (int index = 0; index < entries.size(); index++) {
+ console.writeln("[%s] ", index);
+ console.writeln(entries.get(index));
+ if (index + 1 < entries.size()) {
+ console.writeln();
+ }
+ }
+ }
+
+ console.writeln();
+ return Boolean.TRUE;
+ }
+
+ private void logServlets(IApplicationServerManager manager) {
+ console.writeln("Servlets:");
+ List<String> contexts = new ArrayList<String>(manager.getRegisteredServlets());
+ Collections.sort(contexts);
+ if (contexts.size() % 2 == 1) {
+ contexts.add("");
+ }
+ int midPoint = contexts.size() / 2;
+ for (int i = 0; i < midPoint; i++) {
+ console.writeln("%-40.40s%s", contexts.get(i), contexts.get(i + midPoint));
+ }
+ }
+
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.framework.core.server/src/org/eclipse/osee/framework/core/server/internal/console/ServerVersionCommand.java b/plugins/org.eclipse.osee.framework.core.server/src/org/eclipse/osee/framework/core/server/internal/console/ServerVersionCommand.java
new file mode 100644
index 00000000000..b4f2116fd6e
--- /dev/null
+++ b/plugins/org.eclipse.osee.framework.core.server/src/org/eclipse/osee/framework/core/server/internal/console/ServerVersionCommand.java
@@ -0,0 +1,88 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 2007 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.framework.core.server.internal.console;
+
+import java.util.Arrays;
+import java.util.concurrent.Callable;
+import org.eclipse.osee.console.admin.Console;
+import org.eclipse.osee.console.admin.ConsoleCommand;
+import org.eclipse.osee.console.admin.ConsoleParameters;
+import org.eclipse.osee.framework.core.server.IApplicationServerManager;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class ServerVersionCommand implements ConsoleCommand {
+
+ private IApplicationServerManager appManager;
+
+ public void setApplicationServerManager(IApplicationServerManager appManager) {
+ this.appManager = appManager;
+ }
+
+ private IApplicationServerManager getApplicationServerManager() {
+ return appManager;
+ }
+
+ @Override
+ public String getName() {
+ return "server_version";
+ }
+
+ @Override
+ public String getDescription() {
+ return "Adds/Removes/Lists supported versions from this osee server instance";
+ }
+
+ @Override
+ public String getUsage() {
+ return "[add=<VERSIONS>] [remove=<VERSIONS>]";
+ }
+
+ @Override
+ public Callable<?> createCallable(Console console, ConsoleParameters params) {
+ return new ServerVersionCallable(getApplicationServerManager(), console, params);
+ }
+
+ private static final class ServerVersionCallable implements Callable<Boolean> {
+ private final Console console;
+ private final ConsoleParameters parameters;
+
+ private final IApplicationServerManager appManager;
+
+ public ServerVersionCallable(IApplicationServerManager appManager, Console console, ConsoleParameters parameters) {
+ this.appManager = appManager;
+ this.console = console;
+ this.parameters = parameters;
+ }
+
+ @Override
+ public Boolean call() throws Exception {
+ String[] toAdd = parameters.getArray("add");
+ String[] toRemove = parameters.getArray("remove");
+
+ if (toAdd != null && toAdd.length > 0) {
+ for (String version : toAdd) {
+ appManager.addSupportedVersion(version);
+ }
+ }
+
+ if (toRemove != null && toRemove.length > 0) {
+ for (String version : toRemove) {
+ appManager.removeSupportedVersion(version);
+ }
+ }
+ console.writeln("Osee Application Server: %s", Arrays.deepToString(appManager.getSupportedVersions()));
+ return Boolean.TRUE;
+ }
+ }
+
+} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/operation/FindInvalidUTF8CharsOperation.java b/plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/operation/FindInvalidUTF8CharsOperation.java
deleted file mode 100644
index 7e7986e72b3..00000000000
--- a/plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/operation/FindInvalidUTF8CharsOperation.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.framework.database.operation;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.core.operation.OperationLogger;
-import org.eclipse.osee.framework.core.services.IOseeCachingService;
-import org.eclipse.osee.framework.database.IOseeDatabaseService;
-import org.eclipse.osee.framework.database.core.AbstractDbTxOperation;
-import org.eclipse.osee.framework.database.core.ConnectionHandler;
-import org.eclipse.osee.framework.database.core.IOseeStatement;
-import org.eclipse.osee.framework.database.core.OseeConnection;
-import org.eclipse.osee.framework.database.internal.Activator;
-
-/**
- * @author Ryan D. Brooks
- * @author Shawn F. Cook
- */
-public class FindInvalidUTF8CharsOperation extends AbstractDbTxOperation {
- private static final String READ_ATTRIBUTE_VALUES = "SELECT art_id, value FROM osee_attribute";
-
- public FindInvalidUTF8CharsOperation(IOseeDatabaseService databaseService, IOseeCachingService cachingService, OperationLogger logger) {
- super(databaseService, "Find Invalid UTF8 Chars Operation", Activator.PLUGIN_ID, logger);
- }
-
- @Override
- protected void doTxWork(IProgressMonitor monitor, OseeConnection connection) throws OseeCoreException {
-
- log();
- log("Find Invalid UTF8 Chars in Table osee_attribute:");
-
- int count = 0;
- IOseeStatement chStmt = ConnectionHandler.getStatement();
- try {
- chStmt.runPreparedQuery(1000, READ_ATTRIBUTE_VALUES);
- while (chStmt.next()) {
- String value = chStmt.getString("value");
- if (value != null) {
- count++;
- int length = value.length();
- for (int i = 0; i < length; i++) {
- char c = value.charAt(i);
- // based on http://www.w3.org/TR/2006/REC-xml-20060816/#charsets
- if (c < 0x20 && c != 0x9 && c != 0xA && c != 0xD || c > 0xD7FF && c < 0xE000 || c > 0xFFFD && c < 0x10000 || c > 0x10FFFF) {
- log("artifact id: " + chStmt.getInt("art_id") + " char: " + (int) c);
- }
- }
- }
- }
- } finally {
- chStmt.close();
- log("count: " + count);
- }
-
- log("...done.");
- }
-}
diff --git a/plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/operation/InvalidTxCurrentsAndModTypes.java b/plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/operation/InvalidTxCurrentsAndModTypes.java
index 37a070060c8..a963c6431ea 100644
--- a/plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/operation/InvalidTxCurrentsAndModTypes.java
+++ b/plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/operation/InvalidTxCurrentsAndModTypes.java
@@ -17,9 +17,10 @@ import org.eclipse.osee.framework.core.enums.ModificationType;
import org.eclipse.osee.framework.core.enums.TransactionDetailsType;
import org.eclipse.osee.framework.core.enums.TxChange;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.core.exception.OseeDataStoreException;
import org.eclipse.osee.framework.core.operation.AbstractOperation;
import org.eclipse.osee.framework.core.operation.OperationLogger;
-import org.eclipse.osee.framework.database.core.ConnectionHandler;
+import org.eclipse.osee.framework.database.IOseeDatabaseService;
import org.eclipse.osee.framework.database.core.IOseeStatement;
import org.eclipse.osee.framework.database.internal.Activator;
@@ -43,22 +44,33 @@ public class InvalidTxCurrentsAndModTypes extends AbstractOperation {
private final String columnName;
private final boolean isFixOperationEnabled;
private final String txsTableName;
+ private final IOseeDatabaseService dbService;
- public InvalidTxCurrentsAndModTypes(String operationName, String tableName, String columnName, OperationLogger logger, boolean isFixOperationEnabled, boolean archived) {
+ public InvalidTxCurrentsAndModTypes(String operationName, String tableName, String columnName, OperationLogger logger, boolean isFixOperationEnabled, boolean archived) throws OseeDataStoreException {
+ this(Activator.getInstance().getOseeDatabaseService(), operationName, tableName, columnName, logger,
+ isFixOperationEnabled, archived);
+ }
+
+ public InvalidTxCurrentsAndModTypes(IOseeDatabaseService dbService, String operationName, String tableName, String columnName, OperationLogger logger, boolean isFixOperationEnabled, boolean archived) {
super(
"InvalidTxCurrentsAndModTypes " + operationName + tableName + " fix:" + isFixOperationEnabled + " archived:" + archived,
Activator.PLUGIN_ID, logger);
+ this.dbService = dbService;
this.tableName = tableName;
this.columnName = columnName;
this.isFixOperationEnabled = isFixOperationEnabled;
txsTableName = archived ? "_archived" : "";
}
+ private IOseeDatabaseService getDatabaseService() {
+ return dbService;
+ }
+
private void fixIssues(IProgressMonitor monitor) throws OseeCoreException {
if (isFixOperationEnabled) {
checkForCancelledStatus(monitor);
- ConnectionHandler.runBatchUpdate(String.format(DELETE_ADDRESS, txsTableName), purgeData);
- ConnectionHandler.runBatchUpdate(String.format(UPDATE_ADDRESS, txsTableName), currentData);
+ getDatabaseService().runBatchUpdate(String.format(DELETE_ADDRESS, txsTableName), purgeData);
+ getDatabaseService().runBatchUpdate(String.format(UPDATE_ADDRESS, txsTableName), currentData);
}
monitor.worked(calculateWork(0.1));
}
@@ -164,7 +176,7 @@ public class InvalidTxCurrentsAndModTypes extends AbstractOperation {
checkForCancelledStatus(monitor);
- IOseeStatement chStmt = ConnectionHandler.getStatement();
+ IOseeStatement chStmt = getDatabaseService().getStatement();
String sql = String.format(SELECT_ADDRESSES, columnName, tableName, txsTableName, columnName);
try {
chStmt.runPreparedQuery(10000, sql);
diff --git a/plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/operation/ParseWindowsDirectoryListingOperation.java b/plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/operation/ParseWindowsDirectoryListingOperation.java
deleted file mode 100644
index fa81bba926d..00000000000
--- a/plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/operation/ParseWindowsDirectoryListingOperation.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.framework.database.operation;
-
-import java.io.BufferedWriter;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.osee.framework.core.operation.OperationLogger;
-import org.eclipse.osee.framework.core.services.IOseeCachingService;
-import org.eclipse.osee.framework.database.IOseeDatabaseService;
-import org.eclipse.osee.framework.database.core.AbstractDbTxOperation;
-import org.eclipse.osee.framework.database.core.OseeConnection;
-import org.eclipse.osee.framework.database.internal.Activator;
-import org.eclipse.osee.framework.jdk.core.util.Lib;
-
-/**
- * @author Ryan D. Brooks
- * @author Shawn F. Cook
- */
-public class ParseWindowsDirectoryListingOperation extends AbstractDbTxOperation {
- private static final String DIRECTORY_PREFIX = " Directory of Y:\\";
- private final String listingFile;
-
- public ParseWindowsDirectoryListingOperation(IOseeDatabaseService databaseService, IOseeCachingService cachingService, OperationLogger logger, String listingFile) {
- super(databaseService, "Parsing Windows Directory Listing", Activator.PLUGIN_ID, logger);
- this.listingFile = listingFile;
- }
-
- @Override
- protected void doTxWork(IProgressMonitor monitor, OseeConnection connection) {
-
- log();
- log("Parsing windows directory listing:");
-
- Matcher matcher = Pattern.compile("(\\d+/\\d+/\\d+).*<DIR>.*?SW\\\\(\\S+)\\s+(.*)").matcher("");
- BufferedWriter writer;
- try {
- writer = new BufferedWriter(new FileWriter(Lib.removeExtension(listingFile) + ".csv"));
-
- String path = null;
- for (String line : Lib.readListFromFile(listingFile)) {
- if (line.startsWith(DIRECTORY_PREFIX)) {
- path = line.substring(DIRECTORY_PREFIX.length());
- } else {
- matcher.reset(line);
- if (matcher.find()) {
- String summary = matcher.group(1) + "|" + matcher.group(2) + "|" + path + "\\" + matcher.group(3);
- if (!summary.endsWith(".")) {
- writer.write(summary);
- writer.write(Lib.lineSeparator);
- }
- }
- }
- }
- writer.close();
- } catch (IOException ex) {
- log("ParseWindowsDirectoryListingOperation::doTxWork: Caught IOException:" + ex.toString());
- } finally {
- log("...done.");
- }
- }
-}
diff --git a/plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/operation/PruneWorkspaceOperation.java b/plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/operation/PruneWorkspaceOperation.java
deleted file mode 100644
index 29eb3d504d6..00000000000
--- a/plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/operation/PruneWorkspaceOperation.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.framework.database.operation;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.regex.Pattern;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.core.exception.OseeExceptions;
-import org.eclipse.osee.framework.core.operation.OperationLogger;
-import org.eclipse.osee.framework.core.services.IOseeCachingService;
-import org.eclipse.osee.framework.database.IOseeDatabaseService;
-import org.eclipse.osee.framework.database.core.AbstractDbTxOperation;
-import org.eclipse.osee.framework.database.core.OseeConnection;
-import org.eclipse.osee.framework.database.internal.Activator;
-import org.eclipse.osee.framework.jdk.core.util.Lib;
-
-/**
- * @author Ryan D. Brooks
- * @author Shawn F. Cook
- */
-public class PruneWorkspaceOperation extends AbstractDbTxOperation {
- private final String preserveFilePattern;
- private final String workspacePathStr;
- private final String purgeFilePattern;
-
- public PruneWorkspaceOperation(IOseeDatabaseService databaseService, IOseeCachingService cachingService, OperationLogger logger, String preserveFilePattern, String workspacePathStr, String purgeFilePattern) {
- super(databaseService, "Prune Workspace", Activator.PLUGIN_ID, logger);
- this.preserveFilePattern = preserveFilePattern;
- this.workspacePathStr = workspacePathStr;
- this.purgeFilePattern = purgeFilePattern;
- }
-
- @Override
- protected void doTxWork(IProgressMonitor monitor, OseeConnection connection) throws OseeCoreException {
-
- log();
- log("Pruning Workspace:");
-
- File keeperFile = new File(preserveFilePattern);
- File workspacePath = new File(workspacePathStr);
- String filePathPattern = purgeFilePattern;
-
- ArrayList<String> preserveList;
- try {
- if (!preserveFilePattern.isEmpty()) {
- preserveList = Lib.readListFromFile(keeperFile, true);
- } else {
- preserveList = new ArrayList<String>();
- }
-
- HashSet<String> preserveSet = new HashSet<String>(preserveList);
-
- List<File> files = Lib.recursivelyListFiles(workspacePath, Pattern.compile(filePathPattern));
- for (File file : files) {
- if (monitor.isCanceled()) {
- return;
- }
- if (!preserveSet.contains(file.getName())) {
- file.delete();
- }
- }
- } catch (IOException ex) {
- OseeExceptions.wrapAndThrow(ex);
- }
- log("...done.");
- }
-}
diff --git a/plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/operation/PurgeUnusedBackingDataAndTransactions.java b/plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/operation/PurgeUnusedBackingDataAndTransactions.java
index 887acea2f45..39ac8fd88b6 100644
--- a/plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/operation/PurgeUnusedBackingDataAndTransactions.java
+++ b/plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/operation/PurgeUnusedBackingDataAndTransactions.java
@@ -14,8 +14,10 @@ import java.util.LinkedList;
import java.util.List;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.core.exception.OseeDataStoreException;
import org.eclipse.osee.framework.core.operation.AbstractOperation;
import org.eclipse.osee.framework.core.operation.OperationLogger;
+import org.eclipse.osee.framework.database.IOseeDatabaseService;
import org.eclipse.osee.framework.database.core.ConnectionHandler;
import org.eclipse.osee.framework.database.core.IOseeStatement;
import org.eclipse.osee.framework.database.internal.Activator;
@@ -52,18 +54,33 @@ public class PurgeUnusedBackingDataAndTransactions extends AbstractOperation {
"DELETE FROM osee_tx_details WHERE branch_id = ? and transaction_id = ?";
private final Integer forBranchId;
- public PurgeUnusedBackingDataAndTransactions(OperationLogger logger) {
- this(logger, null);
+ private final IOseeDatabaseService dbService;
+
+ public PurgeUnusedBackingDataAndTransactions(OperationLogger logger) throws OseeDataStoreException {
+ this(Activator.getInstance().getOseeDatabaseService(), logger, null);
+ }
+
+ public PurgeUnusedBackingDataAndTransactions(OperationLogger logger, Integer forBranchId) throws OseeDataStoreException {
+ this(Activator.getInstance().getOseeDatabaseService(), logger, forBranchId);
+ }
+
+ public PurgeUnusedBackingDataAndTransactions(IOseeDatabaseService dbService, OperationLogger logger) {
+ this(dbService, logger, null);
}
- public PurgeUnusedBackingDataAndTransactions(OperationLogger logger, Integer forBranchId) {
+ public PurgeUnusedBackingDataAndTransactions(IOseeDatabaseService dbService, OperationLogger logger, Integer forBranchId) {
super("Data with no TXS Addressing and empty transactions", Activator.PLUGIN_ID, logger);
+ this.dbService = dbService;
this.forBranchId = forBranchId;
}
+ private IOseeDatabaseService getDatabaseService() {
+ return dbService;
+ }
+
private void processNotAddressedGammas(String tableName) throws OseeCoreException {
List<Object[]> notAddressedGammas = new LinkedList<Object[]>();
- IOseeStatement chStmt = ConnectionHandler.getStatement();
+ IOseeStatement chStmt = getDatabaseService().getStatement();
String sql = null;
if (forBranchId == null) {
sql = String.format(NOT_ADDRESSESED_GAMMAS, tableName);
@@ -82,12 +99,12 @@ public class PurgeUnusedBackingDataAndTransactions extends AbstractOperation {
}
sql = String.format(DELETE_GAMMAS, tableName);
- ConnectionHandler.runBatchUpdate(sql, notAddressedGammas);
+ getDatabaseService().runBatchUpdate(sql, notAddressedGammas);
}
private void processAddressedButNonexistentGammas(String tableName) throws OseeCoreException {
List<Object[]> nonexistentGammas = new LinkedList<Object[]>();
- IOseeStatement chStmt = ConnectionHandler.getStatement();
+ IOseeStatement chStmt = getDatabaseService().getStatement();
try {
String sql = null;
@@ -106,7 +123,7 @@ public class PurgeUnusedBackingDataAndTransactions extends AbstractOperation {
chStmt.close();
}
- ConnectionHandler.runBatchUpdate(String.format(DELETE_GAMMAS, tableName), nonexistentGammas);
+ getDatabaseService().runBatchUpdate(String.format(DELETE_GAMMAS, tableName), nonexistentGammas);
}
private void processEmptyTransactions() throws OseeCoreException {
diff --git a/plugins/org.eclipse.osee.framework.server.admin/.classpath b/plugins/org.eclipse.osee.framework.server.admin/.classpath
deleted file mode 100644
index ad32c83a788..00000000000
--- a/plugins/org.eclipse.osee.framework.server.admin/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.osee.framework.server.admin/.pmd b/plugins/org.eclipse.osee.framework.server.admin/.pmd
deleted file mode 100644
index c7b0a9fb3f5..00000000000
--- a/plugins/org.eclipse.osee.framework.server.admin/.pmd
+++ /dev/null
@@ -1,925 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<pmd>
- <useProjectRuleSet>false</useProjectRuleSet>
- <ruleSetFile>.ruleset</ruleSetFile>
- <rules>
- <rule>
- <name>LooseCoupling</name>
- <ruleset>Type Resolution Rules</ruleset>
- </rule>
- <rule>
- <name>CloneMethodMustImplementCloneable</name>
- <ruleset>Type Resolution Rules</ruleset>
- </rule>
- <rule>
- <name>UnusedImports</name>
- <ruleset>Type Resolution Rules</ruleset>
- </rule>
- <rule>
- <name>SignatureDeclareThrowsException</name>
- <ruleset>Type Resolution Rules</ruleset>
- </rule>
- <rule>
- <name>IfStmtsMustUseBraces</name>
- <ruleset>Braces Rules</ruleset>
- </rule>
- <rule>
- <name>WhileLoopsMustUseBraces</name>
- <ruleset>Braces Rules</ruleset>
- </rule>
- <rule>
- <name>IfElseStmtsMustUseBraces</name>
- <ruleset>Braces Rules</ruleset>
- </rule>
- <rule>
- <name>ForLoopsMustUseBraces</name>
- <ruleset>Braces Rules</ruleset>
- </rule>
- <rule>
- <name>UseSingleton</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>SimplifyBooleanReturns</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>SimplifyBooleanExpressions</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>SwitchStmtsShouldHaveDefault</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>AvoidDeeplyNestedIfStmts</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>AvoidReassigningParameters</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>SwitchDensity</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>ConstructorCallsOverridableMethod</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>AccessorClassGeneration</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>FinalFieldCouldBeStatic</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>CloseResource</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>NonStaticInitializer</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>DefaultLabelNotLastInSwitchStmt</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>NonCaseLabelInSwitchStatement</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>OptimizableToArrayCall</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>BadComparison</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>EqualsNull</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>ConfusingTernary</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>InstantiationToGetClass</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>IdempotentOperations</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>SimpleDateFormatNeedsLocale</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>ImmutableField</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>UseLocaleWithCaseConversions</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>AvoidProtectedFieldInFinalClass</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>AssignmentToNonFinalStatic</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>MissingStaticMethodInNonInstantiatableClass</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>AvoidSynchronizedAtMethodLevel</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>MissingBreakInSwitch</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>UseNotifyAllInsteadOfNotify</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>AvoidInstanceofChecksInCatchClause</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>AbstractClassWithoutAbstractMethod</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>SimplifyConditional</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>CompareObjectsWithEquals</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>PositionLiteralsFirstInComparisons</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>UnnecessaryLocalBeforeReturn</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>NonThreadSafeSingleton</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>UncommentedEmptyMethod</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>UncommentedEmptyConstructor</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>AvoidConstantsInterface</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>UnsynchronizedStaticDateFormatter</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>PreserveStackTrace</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>UseCollectionIsEmpty</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>ClassWithOnlyPrivateConstructorsShouldBeFinal</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>EmptyMethodInAbstractClassShouldBeAbstract</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>SingularField</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>ReturnEmptyArrayRatherThanNull</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>AbstractClassWithoutAnyMethod</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>TooFewBranchesForASwitchStatement</name>
- <ruleset>Design Rules</ruleset>
- </rule>
- <rule>
- <name>AvoidCatchingThrowable</name>
- <ruleset>Strict Exception Rules</ruleset>
- </rule>
- <rule>
- <name>SignatureDeclareThrowsException</name>
- <ruleset>Type Resolution Rules</ruleset>
- </rule>
- <rule>
- <name>ExceptionAsFlowControl</name>
- <ruleset>Strict Exception Rules</ruleset>
- </rule>
- <rule>
- <name>AvoidCatchingNPE</name>
- <ruleset>Strict Exception Rules</ruleset>
- </rule>
- <rule>
- <name>AvoidThrowingRawExceptionTypes</name>
- <ruleset>Strict Exception Rules</ruleset>
- </rule>
- <rule>
- <name>AvoidThrowingNullPointerException</name>
- <ruleset>Strict Exception Rules</ruleset>
- </rule>
- <rule>
- <name>AvoidRethrowingException</name>
- <ruleset>Strict Exception Rules</ruleset>
- </rule>
- <rule>
- <name>DoNotExtendJavaLangError</name>
- <ruleset>Strict Exception Rules</ruleset>
- </rule>
- <rule>
- <name>DoNotThrowExceptionInFinally</name>
- <ruleset>Strict Exception Rules</ruleset>
- </rule>
- <rule>
- <name>AvoidThrowingNewInstanceOfSameException</name>
- <ruleset>Strict Exception Rules</ruleset>
- </rule>
- <rule>
- <name>UnusedPrivateField</name>
- <ruleset>Unused Code Rules</ruleset>
- </rule>
- <rule>
- <name>UnusedLocalVariable</name>
- <ruleset>Unused Code Rules</ruleset>
- </rule>
- <rule>
- <name>UnusedPrivateMethod</name>
- <ruleset>Unused Code Rules</ruleset>
- </rule>
- <rule>
- <name>UnusedFormalParameter</name>
- <ruleset>Unused Code Rules</ruleset>
- </rule>
- <rule>
- <name>MoreThanOneLogger</name>
- <ruleset>Java Logging Rules</ruleset>
- </rule>
- <rule>
- <name>LoggerIsNotStaticFinal</name>
- <ruleset>Java Logging Rules</ruleset>
- </rule>
- <rule>
- <name>SystemPrintln</name>
- <ruleset>Java Logging Rules</ruleset>
- </rule>
- <rule>
- <name>AvoidPrintStackTrace</name>
- <ruleset>Java Logging Rules</ruleset>
- </rule>
- <rule>
- <name>AvoidDuplicateLiterals</name>
- <ruleset>String and StringBuffer Rules</ruleset>
- </rule>
- <rule>
- <name>StringInstantiation</name>
- <ruleset>String and StringBuffer Rules</ruleset>
- </rule>
- <rule>
- <name>StringToString</name>
- <ruleset>String and StringBuffer Rules</ruleset>
- </rule>
- <rule>
- <name>InefficientStringBuffering</name>
- <ruleset>String and StringBuffer Rules</ruleset>
- </rule>
- <rule>
- <name>UnnecessaryCaseChange</name>
- <ruleset>String and StringBuffer Rules</ruleset>
- </rule>
- <rule>
- <name>UseStringBufferLength</name>
- <ruleset>String and StringBuffer Rules</ruleset>
- </rule>
- <rule>
- <name>AppendCharacterWithChar</name>
- <ruleset>String and StringBuffer Rules</ruleset>
- </rule>
- <rule>
- <name>ConsecutiveLiteralAppends</name>
- <ruleset>String and StringBuffer Rules</ruleset>
- </rule>
- <rule>
- <name>UseIndexOfChar</name>
- <ruleset>String and StringBuffer Rules</ruleset>
- </rule>
- <rule>
- <name>InefficientEmptyStringCheck</name>
- <ruleset>String and StringBuffer Rules</ruleset>
- </rule>
- <rule>
- <name>InsufficientStringBufferDeclaration</name>
- <ruleset>String and StringBuffer Rules</ruleset>
- </rule>
- <rule>
- <name>UselessStringValueOf</name>
- <ruleset>String and StringBuffer Rules</ruleset>
- </rule>
- <rule>
- <name>StringBufferInstantiationWithChar</name>
- <ruleset>String and StringBuffer Rules</ruleset>
- </rule>
- <rule>
- <name>UseEqualsToCompareStrings</name>
- <ruleset>String and StringBuffer Rules</ruleset>
- </rule>
- <rule>
- <name>AvoidStringBufferField</name>
- <ruleset>String and StringBuffer Rules</ruleset>
- </rule>
- <rule>
- <name>ReplaceVectorWithList</name>
- <ruleset>Migration Rules</ruleset>
- </rule>
- <rule>
- <name>ReplaceHashtableWithMap</name>
- <ruleset>Migration Rules</ruleset>
- </rule>
- <rule>
- <name>ReplaceEnumerationWithIterator</name>
- <ruleset>Migration Rules</ruleset>
- </rule>
- <rule>
- <name>AvoidEnumAsIdentifier</name>
- <ruleset>Migration Rules</ruleset>
- </rule>
- <rule>
- <name>AvoidAssertAsIdentifier</name>
- <ruleset>Migration Rules</ruleset>
- </rule>
- <rule>
- <name>IntegerInstantiation</name>
- <ruleset>Migration Rules</ruleset>
- </rule>
- <rule>
- <name>ByteInstantiation</name>
- <ruleset>Migration Rules</ruleset>
- </rule>
- <rule>
- <name>ShortInstantiation</name>
- <ruleset>Migration Rules</ruleset>
- </rule>
- <rule>
- <name>LongInstantiation</name>
- <ruleset>Migration Rules</ruleset>
- </rule>
- <rule>
- <name>JUnit4TestShouldUseBeforeAnnotation</name>
- <ruleset>Migration Rules</ruleset>
- </rule>
- <rule>
- <name>JUnit4TestShouldUseAfterAnnotation</name>
- <ruleset>Migration Rules</ruleset>
- </rule>
- <rule>
- <name>JUnit4TestShouldUseTestAnnotation</name>
- <ruleset>Migration Rules</ruleset>
- </rule>
- <rule>
- <name>JUnit4SuitesShouldUseSuiteAnnotation</name>
- <ruleset>Migration Rules</ruleset>
- </rule>
- <rule>
- <name>JUnitUseExpected</name>
- <ruleset>Migration Rules</ruleset>
- </rule>
- <rule>
- <name>UseProperClassLoader</name>
- <ruleset>J2EE Rules</ruleset>
- </rule>
- <rule>
- <name>MDBAndSessionBeanNamingConvention</name>
- <ruleset>J2EE Rules</ruleset>
- </rule>
- <rule>
- <name>RemoteSessionInterfaceNamingConvention</name>
- <ruleset>J2EE Rules</ruleset>
- </rule>
- <rule>
- <name>LocalInterfaceSessionNamingConvention</name>
- <ruleset>J2EE Rules</ruleset>
- </rule>
- <rule>
- <name>LocalHomeNamingConvention</name>
- <ruleset>J2EE Rules</ruleset>
- </rule>
- <rule>
- <name>RemoteInterfaceNamingConvention</name>
- <ruleset>J2EE Rules</ruleset>
- </rule>
- <rule>
- <name>DoNotCallSystemExit</name>
- <ruleset>J2EE Rules</ruleset>
- </rule>
- <rule>
- <name>StaticEJBFieldShouldBeFinal</name>
- <ruleset>J2EE Rules</ruleset>
- </rule>
- <rule>
- <name>DoNotUseThreads</name>
- <ruleset>J2EE Rules</ruleset>
- </rule>
- <rule>
- <name>AvoidInstantiatingObjectsInLoops</name>
- <ruleset>Optimization Rules</ruleset>
- </rule>
- <rule>
- <name>UseArrayListInsteadOfVector</name>
- <ruleset>Optimization Rules</ruleset>
- </rule>
- <rule>
- <name>SimplifyStartsWith</name>
- <ruleset>Optimization Rules</ruleset>
- </rule>
- <rule>
- <name>UseStringBufferForStringAppends</name>
- <ruleset>Optimization Rules</ruleset>
- </rule>
- <rule>
- <name>UseArraysAsList</name>
- <ruleset>Optimization Rules</ruleset>
- </rule>
- <rule>
- <name>AvoidArrayLoops</name>
- <ruleset>Optimization Rules</ruleset>
- </rule>
- <rule>
- <name>UnnecessaryWrapperObjectCreation</name>
- <ruleset>Optimization Rules</ruleset>
- </rule>
- <rule>
- <name>AddEmptyString</name>
- <ruleset>Optimization Rules</ruleset>
- </rule>
- <rule>
- <name>EmptyCatchBlock</name>
- <ruleset>Basic Rules</ruleset>
- </rule>
- <rule>
- <name>EmptyIfStmt</name>
- <ruleset>Basic Rules</ruleset>
- </rule>
- <rule>
- <name>EmptyWhileStmt</name>
- <ruleset>Basic Rules</ruleset>
- </rule>
- <rule>
- <name>EmptyTryBlock</name>
- <ruleset>Basic Rules</ruleset>
- </rule>
- <rule>
- <name>EmptyFinallyBlock</name>
- <ruleset>Basic Rules</ruleset>
- </rule>
- <rule>
- <name>EmptySwitchStatements</name>
- <ruleset>Basic Rules</ruleset>
- </rule>
- <rule>
- <name>JumbledIncrementer</name>
- <ruleset>Basic Rules</ruleset>
- </rule>
- <rule>
- <name>ForLoopShouldBeWhileLoop</name>
- <ruleset>Basic Rules</ruleset>
- </rule>
- <rule>
- <name>UnnecessaryConversionTemporary</name>
- <ruleset>Basic Rules</ruleset>
- </rule>
- <rule>
- <name>OverrideBothEqualsAndHashcode</name>
- <ruleset>Basic Rules</ruleset>
- </rule>
- <rule>
- <name>DoubleCheckedLocking</name>
- <ruleset>Basic Rules</ruleset>
- </rule>
- <rule>
- <name>ReturnFromFinallyBlock</name>
- <ruleset>Basic Rules</ruleset>
- </rule>
- <rule>
- <name>EmptySynchronizedBlock</name>
- <ruleset>Basic Rules</ruleset>
- </rule>
- <rule>
- <name>UnnecessaryReturn</name>
- <ruleset>Basic Rules</ruleset>
- </rule>
- <rule>
- <name>EmptyStaticInitializer</name>
- <ruleset>Basic Rules</ruleset>
- </rule>
- <rule>
- <name>UnconditionalIfStatement</name>
- <ruleset>Basic Rules</ruleset>
- </rule>
- <rule>
- <name>EmptyStatementNotInLoop</name>
- <ruleset>Basic Rules</ruleset>
- </rule>
- <rule>
- <name>BooleanInstantiation</name>
- <ruleset>Basic Rules</ruleset>
- </rule>
- <rule>
- <name>UnnecessaryFinalModifier</name>
- <ruleset>Basic Rules</ruleset>
- </rule>
- <rule>
- <name>CollapsibleIfStatements</name>
- <ruleset>Basic Rules</ruleset>
- </rule>
- <rule>
- <name>UselessOverridingMethod</name>
- <ruleset>Basic Rules</ruleset>
- </rule>
- <rule>
- <name>ClassCastExceptionWithToArray</name>
- <ruleset>Basic Rules</ruleset>
- </rule>
- <rule>
- <name>AvoidDecimalLiteralsInBigDecimalConstructor</name>
- <ruleset>Basic Rules</ruleset>
- </rule>
- <rule>
- <name>UselessOperationOnImmutable</name>
- <ruleset>Basic Rules</ruleset>
- </rule>
- <rule>
- <name>MisplacedNullCheck</name>
- <ruleset>Basic Rules</ruleset>
- </rule>
- <rule>
- <name>UnusedNullCheckInEquals</name>
- <ruleset>Basic Rules</ruleset>
- </rule>
- <rule>
- <name>AvoidThreadGroup</name>
- <ruleset>Basic Rules</ruleset>
- </rule>
- <rule>
- <name>BrokenNullCheck</name>
- <ruleset>Basic Rules</ruleset>
- </rule>
- <rule>
- <name>BigIntegerInstantiation</name>
- <ruleset>Basic Rules</ruleset>
- </rule>
- <rule>
- <name>AvoidUsingOctalValues</name>
- <ruleset>Basic Rules</ruleset>
- </rule>
- <rule>
- <name>AvoidUsingHardCodedIP</name>
- <ruleset>Basic Rules</ruleset>
- </rule>
- <rule>
- <name>CheckResultSet</name>
- <ruleset>Basic Rules</ruleset>
- </rule>
- <rule>
- <name>AvoidMultipleUnaryOperators</name>
- <ruleset>Basic Rules</ruleset>
- </rule>
- <rule>
- <name>EmptyInitializer</name>
- <ruleset>Basic Rules</ruleset>
- </rule>
- <rule>
- <name>MethodReturnsInternalArray</name>
- <ruleset>Security Code Guidelines</ruleset>
- </rule>
- <rule>
- <name>ArrayIsStoredDirectly</name>
- <ruleset>Security Code Guidelines</ruleset>
- </rule>
- <rule>
- <name>CouplingBetweenObjects</name>
- <ruleset>Coupling Rules</ruleset>
- </rule>
- <rule>
- <name>ExcessiveImports</name>
- <ruleset>Coupling Rules</ruleset>
- </rule>
- <rule>
- <name>LooseCoupling</name>
- <ruleset>Type Resolution Rules</ruleset>
- </rule>
- <rule>
- <name>DuplicateImports</name>
- <ruleset>Import Statement Rules</ruleset>
- </rule>
- <rule>
- <name>DontImportJavaLang</name>
- <ruleset>Import Statement Rules</ruleset>
- </rule>
- <rule>
- <name>UnusedImports</name>
- <ruleset>Type Resolution Rules</ruleset>
- </rule>
- <rule>
- <name>ImportFromSamePackage</name>
- <ruleset>Import Statement Rules</ruleset>
- </rule>
- <rule>
- <name>TooManyStaticImports</name>
- <ruleset>Import Statement Rules</ruleset>
- </rule>
- <rule>
- <name>JUnitStaticSuite</name>
- <ruleset>JUnit Rules</ruleset>
- </rule>
- <rule>
- <name>JUnitSpelling</name>
- <ruleset>JUnit Rules</ruleset>
- </rule>
- <rule>
- <name>JUnitAssertionsShouldIncludeMessage</name>
- <ruleset>JUnit Rules</ruleset>
- </rule>
- <rule>
- <name>JUnitTestsShouldIncludeAssert</name>
- <ruleset>JUnit Rules</ruleset>
- </rule>
- <rule>
- <name>TestClassWithoutTestCases</name>
- <ruleset>JUnit Rules</ruleset>
- </rule>
- <rule>
- <name>UnnecessaryBooleanAssertion</name>
- <ruleset>JUnit Rules</ruleset>
- </rule>
- <rule>
- <name>UseAssertEqualsInsteadOfAssertTrue</name>
- <ruleset>JUnit Rules</ruleset>
- </rule>
- <rule>
- <name>UseAssertSameInsteadOfAssertTrue</name>
- <ruleset>JUnit Rules</ruleset>
- </rule>
- <rule>
- <name>UseAssertNullInsteadOfAssertTrue</name>
- <ruleset>JUnit Rules</ruleset>
- </rule>
- <rule>
- <name>SimplifyBooleanAssertion</name>
- <ruleset>JUnit Rules</ruleset>
- </rule>
- <rule>
- <name>UnnecessaryConstructor</name>
- <ruleset>Controversial Rules</ruleset>
- </rule>
- <rule>
- <name>NullAssignment</name>
- <ruleset>Controversial Rules</ruleset>
- </rule>
- <rule>
- <name>UnusedModifier</name>
- <ruleset>Controversial Rules</ruleset>
- </rule>
- <rule>
- <name>AssignmentInOperand</name>
- <ruleset>Controversial Rules</ruleset>
- </rule>
- <rule>
- <name>AtLeastOneConstructor</name>
- <ruleset>Controversial Rules</ruleset>
- </rule>
- <rule>
- <name>DontImportSun</name>
- <ruleset>Controversial Rules</ruleset>
- </rule>
- <rule>
- <name>SuspiciousOctalEscape</name>
- <ruleset>Controversial Rules</ruleset>
- </rule>
- <rule>
- <name>CallSuperInConstructor</name>
- <ruleset>Controversial Rules</ruleset>
- </rule>
- <rule>
- <name>UnnecessaryParentheses</name>
- <ruleset>Controversial Rules</ruleset>
- </rule>
- <rule>
- <name>DefaultPackage</name>
- <ruleset>Controversial Rules</ruleset>
- </rule>
- <rule>
- <name>BooleanInversion</name>
- <ruleset>Controversial Rules</ruleset>
- </rule>
- <rule>
- <name>DataflowAnomalyAnalysis</name>
- <ruleset>Controversial Rules</ruleset>
- </rule>
- <rule>
- <name>AvoidFinalLocalVariable</name>
- <ruleset>Controversial Rules</ruleset>
- </rule>
- <rule>
- <name>AvoidUsingShortType</name>
- <ruleset>Controversial Rules</ruleset>
- </rule>
- <rule>
- <name>AvoidUsingVolatile</name>
- <ruleset>Controversial Rules</ruleset>
- </rule>
- <rule>
- <name>AvoidUsingNativeCode</name>
- <ruleset>Controversial Rules</ruleset>
- </rule>
- <rule>
- <name>AvoidAccessibilityAlteration</name>
- <ruleset>Controversial Rules</ruleset>
- </rule>
- <rule>
- <name>DoNotCallGarbageCollectionExplicitly</name>
- <ruleset>Controversial Rules</ruleset>
- </rule>
- <rule>
- <name>MethodNamingConventions</name>
- <ruleset>Naming Rules</ruleset>
- </rule>
- <rule>
- <name>ClassNamingConventions</name>
- <ruleset>Naming Rules</ruleset>
- </rule>
- <rule>
- <name>AbstractNaming</name>
- <ruleset>Naming Rules</ruleset>
- </rule>
- <rule>
- <name>AvoidDollarSigns</name>
- <ruleset>Naming Rules</ruleset>
- </rule>
- <rule>
- <name>MethodWithSameNameAsEnclosingClass</name>
- <ruleset>Naming Rules</ruleset>
- </rule>
- <rule>
- <name>SuspiciousHashcodeMethodName</name>
- <ruleset>Naming Rules</ruleset>
- </rule>
- <rule>
- <name>SuspiciousConstantFieldName</name>
- <ruleset>Naming Rules</ruleset>
- </rule>
- <rule>
- <name>SuspiciousEqualsMethodName</name>
- <ruleset>Naming Rules</ruleset>
- </rule>
- <rule>
- <name>AvoidFieldNameMatchingTypeName</name>
- <ruleset>Naming Rules</ruleset>
- </rule>
- <rule>
- <name>AvoidFieldNameMatchingMethodName</name>
- <ruleset>Naming Rules</ruleset>
- </rule>
- <rule>
- <name>NoPackage</name>
- <ruleset>Naming Rules</ruleset>
- </rule>
- <rule>
- <name>PackageCase</name>
- <ruleset>Naming Rules</ruleset>
- </rule>
- <rule>
- <name>MisleadingVariableName</name>
- <ruleset>Naming Rules</ruleset>
- </rule>
- <rule>
- <name>BooleanGetMethodName</name>
- <ruleset>Naming Rules</ruleset>
- </rule>
- <rule>
- <name>NPathComplexity</name>
- <ruleset>Code Size Rules</ruleset>
- </rule>
- <rule>
- <name>ExcessiveMethodLength</name>
- <ruleset>Code Size Rules</ruleset>
- </rule>
- <rule>
- <name>ExcessiveParameterList</name>
- <ruleset>Code Size Rules</ruleset>
- </rule>
- <rule>
- <name>ExcessiveClassLength</name>
- <ruleset>Code Size Rules</ruleset>
- </rule>
- <rule>
- <name>CyclomaticComplexity</name>
- <ruleset>Code Size Rules</ruleset>
- </rule>
- <rule>
- <name>ExcessivePublicCount</name>
- <ruleset>Code Size Rules</ruleset>
- </rule>
- <rule>
- <name>TooManyFields</name>
- <ruleset>Code Size Rules</ruleset>
- </rule>
- <rule>
- <name>NcssMethodCount</name>
- <ruleset>Code Size Rules</ruleset>
- </rule>
- <rule>
- <name>NcssTypeCount</name>
- <ruleset>Code Size Rules</ruleset>
- </rule>
- <rule>
- <name>NcssConstructorCount</name>
- <ruleset>Code Size Rules</ruleset>
- </rule>
- <rule>
- <name>TooManyMethods</name>
- <ruleset>Code Size Rules</ruleset>
- </rule>
- <rule>
- <name>EmptyFinalizer</name>
- <ruleset>Finalizer Rules</ruleset>
- </rule>
- <rule>
- <name>FinalizeOnlyCallsSuperFinalize</name>
- <ruleset>Finalizer Rules</ruleset>
- </rule>
- <rule>
- <name>FinalizeOverloaded</name>
- <ruleset>Finalizer Rules</ruleset>
- </rule>
- <rule>
- <name>FinalizeDoesNotCallSuperFinalize</name>
- <ruleset>Finalizer Rules</ruleset>
- </rule>
- <rule>
- <name>FinalizeShouldBeProtected</name>
- <ruleset>Finalizer Rules</ruleset>
- </rule>
- <rule>
- <name>AvoidCallingFinalize</name>
- <ruleset>Finalizer Rules</ruleset>
- </rule>
- <rule>
- <name>UseCorrectExceptionLogging</name>
- <ruleset>Jakarta Commons Logging Rules</ruleset>
- </rule>
- <rule>
- <name>ProperLogger</name>
- <ruleset>Jakarta Commons Logging Rules</ruleset>
- </rule>
- <rule>
- <name>MissingSerialVersionUID</name>
- <ruleset>JavaBean Rules</ruleset>
- </rule>
- <rule>
- <name>ProperCloneImplementation</name>
- <ruleset>Clone Implementation Rules</ruleset>
- </rule>
- <rule>
- <name>CloneThrowsCloneNotSupportedException</name>
- <ruleset>Clone Implementation Rules</ruleset>
- </rule>
- <rule>
- <name>CloneMethodMustImplementCloneable</name>
- <ruleset>Type Resolution Rules</ruleset>
- </rule>
- </rules>
- <includeDerivedFiles>false</includeDerivedFiles>
- <violationsAsErrors>true</violationsAsErrors>
-</pmd>
diff --git a/plugins/org.eclipse.osee.framework.server.admin/.project b/plugins/org.eclipse.osee.framework.server.admin/.project
deleted file mode 100644
index 13b097df489..00000000000
--- a/plugins/org.eclipse.osee.framework.server.admin/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.osee.framework.server.admin</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.osee.framework.server.admin/META-INF/MANIFEST.MF b/plugins/org.eclipse.osee.framework.server.admin/META-INF/MANIFEST.MF
deleted file mode 100644
index f016fe8c130..00000000000
--- a/plugins/org.eclipse.osee.framework.server.admin/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,43 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Tool Plug-in
-Bundle-SymbolicName: org.eclipse.osee.framework.server.admin;singleton:=true
-Bundle-Version: 0.9.9.qualifier
-Bundle-Activator: org.eclipse.osee.framework.server.admin.internal.Activator
-Bundle-Vendor: Eclipse Open System Engineering Environment
-Bundle-ActivationPolicy: lazy
-Import-Package: org.eclipse.core.runtime,
- org.eclipse.core.runtime.jobs,
- org.eclipse.equinox.app,
- org.eclipse.osee.framework.branch.management,
- org.eclipse.osee.framework.branch.management.purge,
- org.eclipse.osee.framework.core.data,
- org.eclipse.osee.framework.core.datastore,
- org.eclipse.osee.framework.core.enums,
- org.eclipse.osee.framework.core.exception,
- org.eclipse.osee.framework.core.model,
- org.eclipse.osee.framework.core.model.cache,
- org.eclipse.osee.framework.core.operation,
- org.eclipse.osee.framework.core.server,
- org.eclipse.osee.framework.core.services,
- org.eclipse.osee.framework.core.util,
- org.eclipse.osee.framework.database,
- org.eclipse.osee.framework.database.core,
- org.eclipse.osee.framework.database.operation,
- org.eclipse.osee.framework.jdk.core.type,
- org.eclipse.osee.framework.jdk.core.util,
- org.eclipse.osee.framework.logging,
- org.eclipse.osee.framework.resource.management,
- org.eclipse.osee.framework.resource.management.exception,
- org.eclipse.osee.framework.resource.management.util,
- org.eclipse.osee.framework.search.engine,
- org.eclipse.osee.framework.search.engine.attribute,
- org.eclipse.osee.logger,
- org.eclipse.osgi.framework.console,
- org.osgi.framework,
- org.osgi.util.tracker
-Service-Component: OSGI-INF/server.admin.cmds.xml,
- OSGI-INF/search.tagger.cmds.xml,
- OSGI-INF/branch.cmds.xml
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Require-Bundle: org.eclipse.osee.framework.core.model
diff --git a/plugins/org.eclipse.osee.framework.server.admin/OSGI-INF/branch.cmds.xml b/plugins/org.eclipse.osee.framework.server.admin/OSGI-INF/branch.cmds.xml
deleted file mode 100644
index 2df16386d92..00000000000
--- a/plugins/org.eclipse.osee.framework.server.admin/OSGI-INF/branch.cmds.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0"?>
-<component name="branch.management.cmds">
- <implementation class="org.eclipse.osee.framework.server.admin.BranchManagementCommandProvider"/>
- <service>
- <provide interface="org.eclipse.osgi.framework.console.CommandProvider"/>
- </service>
-</component>
diff --git a/plugins/org.eclipse.osee.framework.server.admin/OSGI-INF/search.tagger.cmds.xml b/plugins/org.eclipse.osee.framework.server.admin/OSGI-INF/search.tagger.cmds.xml
deleted file mode 100644
index d0e6239d9b8..00000000000
--- a/plugins/org.eclipse.osee.framework.server.admin/OSGI-INF/search.tagger.cmds.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0"?>
-<component name="search.tagger.cmds">
- <implementation class="org.eclipse.osee.framework.server.admin.SearchTaggerCommandProvider"/>
- <service>
- <provide interface="org.eclipse.osgi.framework.console.CommandProvider"/>
- </service>
-</component>
diff --git a/plugins/org.eclipse.osee.framework.server.admin/OSGI-INF/server.admin.cmds.xml b/plugins/org.eclipse.osee.framework.server.admin/OSGI-INF/server.admin.cmds.xml
deleted file mode 100644
index 673af6326c9..00000000000
--- a/plugins/org.eclipse.osee.framework.server.admin/OSGI-INF/server.admin.cmds.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0"?>
-<component name="compressed.content.fix">
- <implementation class="org.eclipse.osee.framework.server.admin.ServerAdminCommandProvider"/>
- <service>
- <provide interface="org.eclipse.osgi.framework.console.CommandProvider"/>
- </service>
-</component>
diff --git a/plugins/org.eclipse.osee.framework.server.admin/build.properties b/plugins/org.eclipse.osee.framework.server.admin/build.properties
deleted file mode 100644
index 948f0bdf020..00000000000
--- a/plugins/org.eclipse.osee.framework.server.admin/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- OSGI-INF/,\
- plugin.xml
diff --git a/plugins/org.eclipse.osee.framework.server.admin/plugin.xml b/plugins/org.eclipse.osee.framework.server.admin/plugin.xml
deleted file mode 100644
index a56d9ef206d..00000000000
--- a/plugins/org.eclipse.osee.framework.server.admin/plugin.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
- <extension
- id="OseeBackup"
- name="OseeBackup"
- point="org.eclipse.core.runtime.applications">
- <application
- cardinality="singleton-global"
- thread="main"
- visible="true">
- <run
- class="org.eclipse.osee.framework.server.admin.app.DataStoreBackupApplication">
- </run>
- </application>
- </extension>
-
-</plugin>
diff --git a/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/BranchManagementCommandProvider.java b/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/BranchManagementCommandProvider.java
deleted file mode 100644
index 2675e4b1500..00000000000
--- a/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/BranchManagementCommandProvider.java
+++ /dev/null
@@ -1,270 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.framework.server.admin;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.jobs.IJobChangeEvent;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.core.runtime.jobs.JobChangeAdapter;
-import org.eclipse.osee.framework.branch.management.ExportOptions;
-import org.eclipse.osee.framework.branch.management.ImportOptions;
-import org.eclipse.osee.framework.branch.management.purge.BranchOperation;
-import org.eclipse.osee.framework.branch.management.purge.DeletedBranchProvider;
-import org.eclipse.osee.framework.branch.management.purge.IBranchOperationFactory;
-import org.eclipse.osee.framework.branch.management.purge.IBranchesProvider;
-import org.eclipse.osee.framework.branch.management.purge.MultiBranchProvider;
-import org.eclipse.osee.framework.branch.management.purge.PurgeBranchOperationFactory;
-import org.eclipse.osee.framework.core.enums.BranchType;
-import org.eclipse.osee.framework.core.exception.OseeArgumentException;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.core.model.Branch;
-import org.eclipse.osee.framework.core.model.cache.BranchCache;
-import org.eclipse.osee.framework.core.model.cache.BranchFilter;
-import org.eclipse.osee.framework.core.operation.CommandInterpreterLogger;
-import org.eclipse.osee.framework.core.operation.IOperation;
-import org.eclipse.osee.framework.core.operation.MutexSchedulingRule;
-import org.eclipse.osee.framework.core.operation.OperationLogger;
-import org.eclipse.osee.framework.core.operation.Operations;
-import org.eclipse.osee.framework.database.IOseeDatabaseService;
-import org.eclipse.osee.framework.jdk.core.type.PropertyStore;
-import org.eclipse.osee.framework.jdk.core.util.Lib;
-import org.eclipse.osee.framework.jdk.core.util.Strings;
-import org.eclipse.osee.framework.server.admin.branch.BranchExportOperation;
-import org.eclipse.osee.framework.server.admin.branch.BranchImportOperation;
-import org.eclipse.osee.framework.server.admin.branch.ExchangeIntegrityOperation;
-import org.eclipse.osee.framework.server.admin.internal.Activator;
-import org.eclipse.osgi.framework.console.CommandInterpreter;
-import org.eclipse.osgi.framework.console.CommandProvider;
-
-/**
- * @author Roberto E. Escobar
- */
-public class BranchManagementCommandProvider implements CommandProvider {
- private final ISchedulingRule branchMutex = new MutexSchedulingRule();
-
- public Job _export_branch(CommandInterpreter ci) {
- PropertyStore propertyStore = new PropertyStore();
- String exportFileName = null;
- boolean includeArchivedBranches = false;
- boolean excludeBranchIds = false;
- List<Integer> branchIds = new ArrayList<Integer>();
- exportFileName = ci.nextArgument();
-
- for (String arg = ci.nextArgument(); Strings.isValid(arg); arg = ci.nextArgument()) {
- if (arg.equals("-includeArchivedBranches")) {
- includeArchivedBranches = true;
- } else if (arg.equals("-excludeBranchIds")) {
- excludeBranchIds = true;
- } else if (arg.equals("-compress")) {
- propertyStore.put(ExportOptions.COMPRESS.name(), true);
- } else if (arg.equals("-minTx")) {
- arg = ci.nextArgument();
- if (Strings.isValid(arg)) {
- propertyStore.put(ExportOptions.MIN_TXS.name(), arg);
- }
- } else if (arg.equals("-maxTx")) {
- arg = ci.nextArgument();
- if (Strings.isValid(arg)) {
- propertyStore.put(ExportOptions.MAX_TXS.name(), arg);
- }
- } else {
- branchIds.add(new Integer(arg));
- }
- }
-
- OperationLogger logger = new CommandInterpreterLogger(ci);
- IOperation op =
- new BranchExportOperation(logger, propertyStore, exportFileName, includeArchivedBranches, branchIds,
- excludeBranchIds);
- return Operations.executeAsJob(op, false, Job.LONG, new JobStatusListener(logger), branchMutex);
- }
-
- public Job _import_branch(CommandInterpreter ci) {
- PropertyStore propertyStore = new PropertyStore();
- String arg = null;
- int count = 0;
-
- List<Integer> branchIds = new ArrayList<Integer>();
- List<String> importFiles = new ArrayList<String>();
- do {
- arg = ci.nextArgument();
- if (Strings.isValid(arg)) {
- if (arg.equals("-excludeBaselineTxs")) {
- propertyStore.put(ImportOptions.EXCLUDE_BASELINE_TXS.name(), true);
- } else if (arg.equals("-clean")) {
- propertyStore.put(ImportOptions.CLEAN_BEFORE_IMPORT.name(), true);
- } else if (arg.equals("-allAsRootBranches")) {
- propertyStore.put(ImportOptions.ALL_AS_ROOT_BRANCHES.name(), true);
- } else if (arg.equals("-minTx")) {
- arg = ci.nextArgument();
- if (Strings.isValid(arg)) {
- propertyStore.put(ImportOptions.MIN_TXS.name(), arg);
- }
- count++;
- } else if (arg.equals("-maxTx")) {
- arg = ci.nextArgument();
- if (Strings.isValid(arg)) {
- propertyStore.put(ImportOptions.MAX_TXS.name(), arg);
- }
- count++;
- } else if (count == 0 && !arg.startsWith("-")) {
- importFiles.add(arg);
- } else {
- branchIds.add(new Integer(arg));
- }
- count++;
- }
- } while (Strings.isValid(arg));
-
- final OperationLogger logger = new CommandInterpreterLogger(ci);
- IOperation op = new BranchImportOperation(logger, propertyStore, importFiles, branchIds);
- return Operations.executeAsJob(op, false, Job.LONG, new JobStatusListener(logger), branchMutex);
- }
-
- public Job _check_exchange(CommandInterpreter ci) throws OseeArgumentException {
- String arg = ci.nextArgument();
- ArrayList<String> importFiles = new ArrayList<String>();
- if (Strings.isValid(arg) && !arg.startsWith("-")) {
- importFiles.add(arg);
- } else {
- throw new OseeArgumentException("File to check was not specified");
- }
-
- OperationLogger logger = new CommandInterpreterLogger(ci);
- IOperation op = new ExchangeIntegrityOperation(logger, importFiles);
- return Operations.executeAsJob(op, false, Job.LONG, new JobStatusListener(logger), branchMutex);
- }
-
- public Job _purge_deleted_branches(CommandInterpreter ci) {
- OperationLogger logger = new CommandInterpreterLogger(ci);
- BranchCache branchCache = Activator.getOseeCachingService().getBranchCache();
- IBranchesProvider provider = new DeletedBranchProvider(branchCache);
-
- return internalPurgeBranch(logger, branchCache, provider);
- }
-
- public Job _purge_branch(CommandInterpreter ci) throws OseeCoreException {
- OperationLogger logger = new CommandInterpreterLogger(ci);
- String arg = ci.nextArgument();
- boolean recursive = false;
- Set<String> guids = new HashSet<String>();
-
- while (Strings.isValid(arg)) {
- if (arg.equals("-recursive")) {
- recursive = true;
- } else {
- guids.add(arg);
- }
- arg = ci.nextArgument();
- }
-
- Set<Branch> branches = new HashSet<Branch>();
- BranchCache branchCache = Activator.getOseeCachingService().getBranchCache();
- for (String guid : guids) {
- branches.add(branchCache.getByGuid(guid));
- }
-
- BranchFilter filter = new BranchFilter();
- filter.setNegatedBranchTypes(BranchType.BASELINE);
-
- IBranchesProvider provider = new MultiBranchProvider(recursive, branches, filter);
- return internalPurgeBranch(logger, branchCache, provider);
- }
-
- private Job internalPurgeBranch(OperationLogger logger, BranchCache branchCache, IBranchesProvider provider) {
- IOseeDatabaseService databaseService = Activator.getOseeDatabaseService();
- IBranchOperationFactory factory = new PurgeBranchOperationFactory(logger, branchCache, databaseService);
-
- IOperation operation = new BranchOperation(logger, factory, provider);
- return Operations.executeAsJob(operation, false);
- }
-
- @Override
- public String getHelp() {
- StringBuilder sb = new StringBuilder();
- sb.append("\n---OSEE Branch Commands---\n");
- sb.append("\texport_branch <exchangeFileName> [-compress] [-minTx <value>] [-maxTx <value>] [-includeArchivedBranches] -excludeBranchIds [<branchId>]+ - export a specific set of branches into an exchange zip file.\n");
- sb.append("\timport_branch <exchangeFileName> [-exclude_baseline_txs] [-allAsRootBranches] [-minTx <value>] [-maxTx <value>] [-clean] [<branchId>]+ - import a specific set of branches from an exchange zip file.\n");
- sb.append("\tcheck_exchange <exchangeFileName> - checks an exchange file to ensure data integrity\n");
- sb.append("\tpurge_deleted_branches - permenatly remove all branches that are both archived and deleted \n");
- sb.append("\tpurge_branch <guids...> [-recursive] - removes branches defined by guids, if recursive all its children excluding baseline branches are removed\n");
- return sb.toString();
- }
-
- private final class JobStatusListener extends JobChangeAdapter {
-
- private final OperationLogger logger;
- private long startTime;
-
- public JobStatusListener(OperationLogger logger) {
- super();
- this.logger = logger;
- this.startTime = 0L;
- }
-
- @Override
- public void aboutToRun(IJobChangeEvent event) {
- super.aboutToRun(event);
- startTime = System.currentTimeMillis();
- logger.logf("Starting [%s]", event.getJob().getName());
- }
-
- private String toStatus(IStatus status) {
- boolean addDetails = true;
- StringBuilder builder = new StringBuilder();
- switch (status.getSeverity()) {
- case IStatus.OK:
- addDetails = false;
- builder.append("[Ok]");
- break;
- case IStatus.CANCEL:
- addDetails = false;
- builder.append("[Cancelled]");
- break;
- case IStatus.INFO:
- builder.append("[Info]");
- break;
- case IStatus.ERROR:
- builder.append("[Error]");
- break;
- case IStatus.WARNING:
- builder.append("[Warning]");
- break;
- default:
- builder.append("[Unknown]");
- break;
- }
-
- if (addDetails) {
- builder.append("\n");
- builder.append(status.getMessage());
- builder.append("\n");
- Throwable th = status.getException();
- if (th != null) {
- builder.append(th.getLocalizedMessage());
- }
- }
- return builder.toString();
- }
-
- @Override
- public void done(IJobChangeEvent event) {
- super.done(event);
- logger.logf("Completed [%s] in [%s] - status:%s", event.getJob().getName(), Lib.getElapseString(startTime),
- toStatus(event.getResult()));
- }
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/PurgeRelationType.java b/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/PurgeRelationType.java
deleted file mode 100644
index d8ceb5586b6..00000000000
--- a/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/PurgeRelationType.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.framework.server.admin;
-
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.osee.framework.core.exception.OseeArgumentException;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.core.model.cache.RelationTypeCache;
-import org.eclipse.osee.framework.core.model.type.RelationType;
-import org.eclipse.osee.framework.core.operation.OperationLogger;
-import org.eclipse.osee.framework.core.services.IOseeCachingService;
-import org.eclipse.osee.framework.core.services.IdentityService;
-import org.eclipse.osee.framework.database.IOseeDatabaseService;
-import org.eclipse.osee.framework.database.core.AbstractDbTxOperation;
-import org.eclipse.osee.framework.database.core.ConnectionHandler;
-import org.eclipse.osee.framework.database.core.IOseeStatement;
-import org.eclipse.osee.framework.database.core.OseeConnection;
-import org.eclipse.osee.framework.server.admin.internal.Activator;
-
-/**
- * Purges given relation types.<br/>
- * <p>
- * Tables involved:
- * <li>osee_txs</li>
- * <li>osee_txs_archived</li>
- * <li>osee_relation_link</li>
- * </p>
- * <br/>
- *
- * @author Karol M. Wilk
- */
-public final class PurgeRelationType extends AbstractDbTxOperation {
- private static final String RETRIEVE_GAMMAS_OF_REL_LINK_TXS =
- "SELECT rel_link.gamma_id FROM osee_relation_link rel_link WHERE rel_link.rel_link_type_id = ?";
-
- private static final String DELETE_BY_GAMMAS = "DELETE FROM %s WHERE gamma_id = ?";
-
- private static final String DELETE_FROM_CONFLICT_TABLE_SOURCE_SIDE =
- "DELETE FROM osee_conflict WHERE source_gamma_id = ?";
- private static final String DELETE_FROM_CONFLICT_TABLE_DEST_SIDE =
- "DELETE FROM osee_conflict WHERE dest_gamma_id = ?";
-
- private final RelationTypeCache cache;
- private final String[] typesToPurge;
- private final boolean forcePurge;
- private final List<Long[]> relationTypeGuids;
- private final IdentityService identityService;
-
- public PurgeRelationType(IOseeDatabaseService databaseService, IOseeCachingService cachingService, IdentityService identityService, OperationLogger logger, boolean force, String... typesToPurge) {
- super(databaseService, "Purge Relation Type", Activator.PLUGIN_ID, logger);
- this.cache = cachingService.getRelationTypeCache();
- this.forcePurge = force;
- this.typesToPurge = typesToPurge;
- this.relationTypeGuids = new ArrayList<Long[]>(typesToPurge.length);
- this.identityService = identityService;
- }
-
- @Override
- protected void doTxWork(IProgressMonitor monitor, OseeConnection connection) throws OseeCoreException {
-
- log();
- log(!forcePurge ? "Relation Types:" : "Purging relation types:");
-
- boolean found = collectInfo();
-
- if (forcePurge && found) {
- log("Removing from osee_* tables...");
- processDeletes(connection, retrieveGammaIds());
- }
-
- log((found && !forcePurge) ? "To >DELETE Relation DATA!< add --force to confirm." : "Operation finished.");
- }
-
- private boolean collectInfo() throws OseeCoreException {
- for (int i = 0; i < typesToPurge.length; i++) {
-
- Long guid;
-
- try {
- RelationType type = cache.getBySoleName(typesToPurge[i]);
- guid = type.getGuid();
- logf("Type [%s] found. Guid: [%s]\n", typesToPurge[i], guid);
- relationTypeGuids.add(new Long[] {guid});
- } catch (OseeArgumentException ex) {
- logf("Type [%s] NOT found. \n", typesToPurge[i]);
- log(ex);
- }
-
- }
-
- return !relationTypeGuids.isEmpty();
- }
-
- private List<Integer[]> retrieveGammaIds() throws OseeCoreException {
- List<Integer[]> gammas = new ArrayList<Integer[]>(50000);
- IOseeStatement chStmt = ConnectionHandler.getStatement();
-
- try {
- for (Long[] relationTypeId : relationTypeGuids) {
- chStmt.runPreparedQuery(RETRIEVE_GAMMAS_OF_REL_LINK_TXS, identityService.getLocalId(relationTypeId[0]));
- while (chStmt.next()) {
- gammas.add(new Integer[] {chStmt.getInt("gamma_id")});
- }
- }
- } finally {
- chStmt.close();
- }
-
- return gammas;
- }
-
- private void processDeletes(OseeConnection connection, List<Integer[]> gammas) throws OseeCoreException {
- ConnectionHandler.runBatchUpdate(connection, String.format(DELETE_BY_GAMMAS, "osee_txs"), gammas);
- ConnectionHandler.runBatchUpdate(connection, String.format(DELETE_BY_GAMMAS, "osee_txs_archived"), gammas);
- ConnectionHandler.runBatchUpdate(connection, String.format(DELETE_BY_GAMMAS, "osee_relation_link"), gammas);
- ConnectionHandler.runBatchUpdate(connection, String.format(DELETE_FROM_CONFLICT_TABLE_SOURCE_SIDE), gammas);
- ConnectionHandler.runBatchUpdate(connection, String.format(DELETE_FROM_CONFLICT_TABLE_DEST_SIDE), gammas);
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/SearchTaggerCommandProvider.java b/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/SearchTaggerCommandProvider.java
deleted file mode 100644
index 75f4f526140..00000000000
--- a/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/SearchTaggerCommandProvider.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.framework.server.admin;
-
-import java.util.HashSet;
-import java.util.LinkedHashSet;
-import java.util.Set;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.osee.framework.core.model.cache.AttributeTypeCache;
-import org.eclipse.osee.framework.core.operation.CommandInterpreterLogger;
-import org.eclipse.osee.framework.core.operation.MutexSchedulingRule;
-import org.eclipse.osee.framework.core.operation.OperationLogger;
-import org.eclipse.osee.framework.core.operation.Operations;
-import org.eclipse.osee.framework.jdk.core.util.Strings;
-import org.eclipse.osee.framework.server.admin.internal.Activator;
-import org.eclipse.osee.framework.server.admin.search.SearchStats;
-import org.eclipse.osee.framework.server.admin.search.TagItemOperation;
-import org.eclipse.osee.framework.server.admin.search.TaggerAllOperation;
-import org.eclipse.osee.framework.server.admin.search.TaggerDropAllOperation;
-import org.eclipse.osee.framework.server.admin.search.TaggerStats;
-import org.eclipse.osgi.framework.console.CommandInterpreter;
-import org.eclipse.osgi.framework.console.CommandProvider;
-
-/**
- * @author Roberto E. Escobar
- */
-public final class SearchTaggerCommandProvider implements CommandProvider {
- private final ISchedulingRule tagMutex = new MutexSchedulingRule();
- private Job tagAllJob;
-
- public Job _tag_all(CommandInterpreter ci) {
- OperationLogger logger = new CommandInterpreterLogger(ci);
-
- Set<Integer> branchIds = new LinkedHashSet<Integer>();
- boolean tagOnlyMissingGammas = false;
- String arg = ci.nextArgument();
- while (arg != null) {
- if (Strings.isValid(arg)) {
- if (arg.equals("-missing")) {
- tagOnlyMissingGammas = true;
- } else {
- branchIds.add(new Integer(arg));
- }
- }
- arg = ci.nextArgument();
- }
-
- AttributeTypeCache attTypeCache = Activator.getOseeCachingService().getAttributeTypeCache();
-
- tagAllJob =
- Operations.executeAsJob(new TaggerAllOperation(logger, attTypeCache, branchIds, tagOnlyMissingGammas), false,
- tagMutex);
- return tagAllJob;
- }
-
- public void _tag_all_stop(CommandInterpreter ci) {
- tagAllJob.cancel();
- }
-
- public Job _drop_all_tags(CommandInterpreter ci) {
- OperationLogger logger = new CommandInterpreterLogger(ci);
- return Operations.executeAsJob(new TaggerDropAllOperation(logger), false, tagMutex);
- }
-
- public Job _tagger_stats(CommandInterpreter ci) {
- TaggerStats stats = new TaggerStats(new CommandInterpreterLogger(ci));
- return Operations.executeAsJob(stats, false);
- }
-
- public void _tagger_stats_clear(CommandInterpreter ci) {
- Activator.getSearchTagger().clearStatistics();
- }
-
- public Job _search_stats(CommandInterpreter ci) {
- OperationLogger logger = new CommandInterpreterLogger(ci);
- return Operations.executeAsJob(new SearchStats(logger), false);
- }
-
- public void _search_stats_clear(CommandInterpreter ci) {
- Activator.getSearchEngine().clearStatistics();
- }
-
- public Job _tag(CommandInterpreter ci) {
- OperationLogger logger = new CommandInterpreterLogger(ci);
-
- Set<Long> gammas = new HashSet<Long>();
- String arg;
- while ((arg = ci.nextArgument()) != null) {
- gammas.add(new Long(arg));
- }
- return Operations.executeAsJob(new TagItemOperation(logger, gammas), false, tagMutex);
- }
-
- @Override
- public String getHelp() {
- StringBuilder sb = new StringBuilder();
- sb.append("\n---OSEE Search & Tag Commands---\n");
- sb.append(" tag_all [-missing] [<branchId>] - tag all attributes in a branch or tag all attributes in all branches if id not specified\n");
- sb.append(" tag_all_stop - stop tagging all attributes\n");
- sb.append(" tag [<gammaId> <gammaId> ...]- tag individual item\n");
- sb.append(" tagger_stats - get tagger stats\n");
- sb.append(" tagger_stats_clear - clear tagger stats\n");
- sb.append(" search_stats - get tagger stats\n");
- sb.append(" search_stats_clear - clear tagger stats\n");
- return sb.toString();
- }
-}
diff --git a/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/ServerAdminCommandProvider.java b/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/ServerAdminCommandProvider.java
deleted file mode 100644
index 00f06e31ed9..00000000000
--- a/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/ServerAdminCommandProvider.java
+++ /dev/null
@@ -1,265 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.framework.server.admin;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import org.eclipse.core.runtime.jobs.ISchedulingRule;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.osee.framework.branch.management.TxCurrentsAndModTypesCommand;
-import org.eclipse.osee.framework.core.enums.OseeCacheEnum;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.core.exception.OseeDataStoreException;
-import org.eclipse.osee.framework.core.model.cache.AttributeTypeCache;
-import org.eclipse.osee.framework.core.operation.CommandInterpreterLogger;
-import org.eclipse.osee.framework.core.operation.IOperation;
-import org.eclipse.osee.framework.core.operation.MutexSchedulingRule;
-import org.eclipse.osee.framework.core.operation.OperationLogger;
-import org.eclipse.osee.framework.core.operation.Operations;
-import org.eclipse.osee.framework.database.operation.ConsolidateArtifactVersionTxOperation;
-import org.eclipse.osee.framework.database.operation.ConsolidateRelationsTxOperation;
-import org.eclipse.osee.framework.database.operation.FindInvalidUTF8CharsOperation;
-import org.eclipse.osee.framework.database.operation.ParseWindowsDirectoryListingOperation;
-import org.eclipse.osee.framework.database.operation.PruneWorkspaceOperation;
-import org.eclipse.osee.framework.database.operation.PurgeTransactionOperation;
-import org.eclipse.osee.framework.database.operation.PurgeUnusedBackingDataAndTransactions;
-import org.eclipse.osee.framework.jdk.core.util.Strings;
-import org.eclipse.osee.framework.server.admin.internal.Activator;
-import org.eclipse.osee.framework.server.admin.management.SchedulingCommand;
-import org.eclipse.osee.framework.server.admin.management.ServerShutdownOperation;
-import org.eclipse.osee.framework.server.admin.management.ServerStats;
-import org.eclipse.osee.framework.server.admin.management.UpdateCachesOperation;
-import org.eclipse.osee.framework.server.admin.management.UpdateServerVersionsOperation;
-import org.eclipse.osgi.framework.console.CommandInterpreter;
-import org.eclipse.osgi.framework.console.CommandProvider;
-
-/**
- * @author Roberto E. Escobar
- */
-public class ServerAdminCommandProvider implements CommandProvider {
-
- private final ISchedulingRule versionMutex = new MutexSchedulingRule();
- private final ISchedulingRule cacheMutex = new MutexSchedulingRule();
- private final ISchedulingRule shutdownMutex = new MutexSchedulingRule();
-
- private final OseeCacheEnum[] reloadableCaches = {
- OseeCacheEnum.ARTIFACT_TYPE_CACHE,
- OseeCacheEnum.BRANCH_CACHE,
- OseeCacheEnum.TRANSACTION_CACHE};
-
- public Job _server_status(CommandInterpreter ci) {
- OperationLogger logger = new CommandInterpreterLogger(ci);
- return Operations.executeAsJob(new ServerStats(logger), false);
- }
-
- public void _server_process_requests(CommandInterpreter ci) throws OseeCoreException {
- String value = ci.nextArgument();
- Activator.getApplicationServerManager().setServletRequestsAllowed(new Boolean(value));
- }
-
- public Job _add_osee_version(CommandInterpreter ci) {
- return updateServerVersions(ci, true);
- }
-
- public Job _remove_osee_version(CommandInterpreter ci) {
- return updateServerVersions(ci, false);
- }
-
- private Job updateServerVersions(CommandInterpreter ci, boolean add) {
- String version = ci.nextArgument();
- OperationLogger logger = new CommandInterpreterLogger(ci);
- return Operations.executeAsJob(new UpdateServerVersionsOperation(logger, version, add), false, versionMutex);
- }
-
- public void _osee_version(CommandInterpreter ci) {
- ci.print("Osee Application Server: ");
- ci.println(Arrays.deepToString(Activator.getApplicationServerManager().getSupportedVersions()));
- }
-
- public Job _reload_cache(CommandInterpreter ci) {
- return updateCaches(ci, true);
- }
-
- private Job updateCaches(CommandInterpreter ci, boolean reload) {
- Set<OseeCacheEnum> cacheIds = new HashSet<OseeCacheEnum>();
-
- for (String arg = ci.nextArgument(); Strings.isValid(arg); arg = ci.nextArgument()) {
- cacheIds.add(OseeCacheEnum.valueOf(arg));
- }
-
- if (cacheIds.isEmpty()) {
- cacheIds.addAll(Arrays.asList(reloadableCaches));
- }
-
- OperationLogger logger = new CommandInterpreterLogger(ci);
- return Operations.executeAsJob(new UpdateCachesOperation(logger, cacheIds, reload), false, cacheMutex);
- }
-
- public Job _consolidate_artifact_versions(CommandInterpreter ci) {
- OperationLogger logger = new CommandInterpreterLogger(ci);
- IOperation operation = new ConsolidateArtifactVersionTxOperation(Activator.getOseeDatabaseService(), logger);
- return Operations.executeAsJob(operation, false);
- }
-
- public Job _schedule(CommandInterpreter ci) {
- OperationLogger logger = new CommandInterpreterLogger(ci);
- return Operations.executeAsJob(new SchedulingCommand(logger, ci), false);
- }
-
- public Job _tx_currents(CommandInterpreter ci) {
- OperationLogger logger = new CommandInterpreterLogger(ci);
- boolean archived = Boolean.parseBoolean(ci.nextArgument());
- return Operations.executeAsJob(new TxCurrentsAndModTypesCommand(logger, archived), false);
- }
-
- public Job _purge_relation_type(CommandInterpreter ci) {
- OperationLogger logger = new CommandInterpreterLogger(ci);
-
- //to be purged
- final Collection<String> relationTypes = new ArrayList<String>();
-
- boolean force = false;
- for (String arg = ci.nextArgument(); Strings.isValid(arg); arg = ci.nextArgument()) {
- if (arg.equals("-force")) {
- force = true;
- } else {
- relationTypes.add(arg);
- }
- }
-
- IOperation operation =
- new PurgeRelationType(Activator.getOseeDatabaseService(), Activator.getOseeCachingService(),
- Activator.getIdentityService(), logger, force, relationTypes.toArray(new String[relationTypes.size()]));
-
- return Operations.executeAsJob(operation, false);
- }
-
- public Job _tx_prune(CommandInterpreter ci) {
- OperationLogger logger = new CommandInterpreterLogger(ci);
- return Operations.executeAsJob(new PurgeUnusedBackingDataAndTransactions(logger), false);
- }
-
- public Job _duplicate_attr(CommandInterpreter ci) throws OseeDataStoreException {
- OperationLogger logger = new CommandInterpreterLogger(ci);
- AttributeTypeCache attTypeCache = Activator.getOseeCachingService().getAttributeTypeCache();
- return Operations.executeAsJob(
- new DuplicateAttributesOperation(logger, attTypeCache, Activator.getOseeDatabaseService()), false);
- }
-
- public Job _osee_shutdown(CommandInterpreter ci) {
- OperationLogger logger = new CommandInterpreterLogger(ci);
- return Operations.executeAsJob(new ServerShutdownOperation(logger, ci), true, shutdownMutex);
- }
-
- public Job _parse_dir(CommandInterpreter ci) {
- OperationLogger logger = new CommandInterpreterLogger(ci);
- String listingFile = ci.nextArgument();
- IOperation operation =
- new ParseWindowsDirectoryListingOperation(Activator.getOseeDatabaseService(),
- Activator.getOseeCachingService(), logger, listingFile);
-
- return Operations.executeAsJob(operation, false);
- }
-
- public Job _consolidate_relations(CommandInterpreter ci) {
- OperationLogger logger = new CommandInterpreterLogger(ci);
-
- IOperation operation = new ConsolidateRelationsTxOperation(Activator.getOseeDatabaseService(), logger);
-
- return Operations.executeAsJob(operation, false);
- }
-
- public Job _find_invalid_utf8(CommandInterpreter ci) {
- OperationLogger logger = new CommandInterpreterLogger(ci);
-
- IOperation operation =
- new FindInvalidUTF8CharsOperation(Activator.getOseeDatabaseService(), Activator.getOseeCachingService(),
- logger);
-
- return Operations.executeAsJob(operation, false);
- }
-
- public Job _prune_workspace(CommandInterpreter ci) {
- OperationLogger logger = new CommandInterpreterLogger(ci);
-
- String preserveFilePattern = "";
- String workspacePathStr = "";
- String purgeFilePattern = "";
-
- //to be purged
- final ArrayList<String> args = new ArrayList<String>();
-
- for (String arg = ci.nextArgument(); Strings.isValid(arg); arg = ci.nextArgument()) {
- args.add(arg);
- }
-
- if (args.size() <= 1) {
- ci.print(getHelp());
- } else if (args.size() == 2) {
- workspacePathStr = args.get(0);
- purgeFilePattern = args.get(1);
- } else {
- preserveFilePattern = args.get(0);
- workspacePathStr = args.get(1);
- purgeFilePattern = args.get(2);
- }
-
- IOperation operation =
- new PruneWorkspaceOperation(Activator.getOseeDatabaseService(), Activator.getOseeCachingService(), logger,
- preserveFilePattern, workspacePathStr, purgeFilePattern);
-
- return Operations.executeAsJob(operation, false);
- }
-
- public Job _purge_transactions(CommandInterpreter ci) {
- OperationLogger logger = new CommandInterpreterLogger(ci);
- final List<Integer> transactions = new ArrayList<Integer>();
-
- for (String arg = ci.nextArgument(); Strings.isValid(arg); arg = ci.nextArgument()) {
- transactions.add(Integer.parseInt(arg));
- }
-
- IOperation operation = new PurgeTransactionOperation(Activator.getOseeDatabaseService(), logger, transactions);
- return Operations.executeAsJob(operation, false);
- }
-
- @Override
- public String getHelp() {
- StringBuilder sb = new StringBuilder();
- sb.append("\n---OSEE Server Admin Commands---\n");
- sb.append(" server_status - displays server status\n");
- sb.append(" server_process_requests [true | false]- command servlets to accept/reject requests\n");
- sb.append(" osee_version - displays the supported osee versions\n");
- sb.append(" add_osee_version [version string]- add the version string to the list of supported osee versions\n");
- sb.append(" remove_osee_version [version string]- removes the version string from the list of supported osee versions\n");
- sb.append(" finish_partial_archives - move txs addressing to osee_txs_archived for archived branches\n");
- sb.append(" consolidate_artifact_versions - migrate to 0.9.2 database schema\n");
- sb.append(" tx_currents [true | false] - detect and fix tx current and mod types inconsistencies on archive txs or txs\n");
- sb.append(" tx_prune - Purge artifact, attribute, and relation versions that are not addressed or nonexistent and purge empty transactions\n");
- sb.append(" duplicate_attr - detect and fix duplicate attributes\n");
- sb.append(" osee_shutdown [-oseeOnly] - immediately release the listening port then waits for all existing operations to finish. \n");
- sb.append(" schedule <delay seconds> <iterations> <command> - runs the command after the specified delay and repeat given number of times\n");
- sb.append(" purge_relation_type -force excute the operation, relationType1 ...\n");
- sb.append(" parse_dir - converts the given file into a formatted CSV file\n");
- sb.append(" purge_transactions <transaction ids> - ");
- sb.append(" prune_workspace [preserve_file_pattern] workspace_path purge_file_pattern - delete files that are found in workspace_path and whose filenames match purge_file_pattern. Any filename that matches the optional preserve_file_pattern are not deleted\n");
- sb.append(" find_invalid_utf8 - finds invalid UTF8 chars in table osee_attribute\n");
- sb.append(" consolidate_relations - consolidate rows of relations\n");
- sb.append(String.format(" reload_cache %s? - reloads server caches\n",
- Arrays.deepToString(reloadableCaches).replaceAll(",", " | ")));
- return sb.toString();
- }
-
-}
diff --git a/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/app/DataStoreBackupApplication.java b/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/app/DataStoreBackupApplication.java
deleted file mode 100644
index c5b635954b6..00000000000
--- a/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/app/DataStoreBackupApplication.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.framework.server.admin.app;
-
-import java.io.BufferedOutputStream;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.logging.Level;
-import org.eclipse.equinox.app.IApplication;
-import org.eclipse.equinox.app.IApplicationContext;
-import org.eclipse.osee.framework.branch.management.ExportOptions;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.database.core.ConnectionHandler;
-import org.eclipse.osee.framework.database.core.IOseeStatement;
-import org.eclipse.osee.framework.jdk.core.type.PropertyStore;
-import org.eclipse.osee.framework.jdk.core.util.Lib;
-import org.eclipse.osee.framework.jdk.core.util.Strings;
-import org.eclipse.osee.framework.logging.OseeLog;
-import org.eclipse.osee.framework.resource.management.IResource;
-import org.eclipse.osee.framework.resource.management.IResourceLocator;
-import org.eclipse.osee.framework.server.admin.internal.Activator;
-
-/**
- * @author Roberto E. Escobar
- */
-public class DataStoreBackupApplication implements IApplication {
- private static final String ALL_BRANCHES_QUERY = "select branch_id from osee_branch";
-
- private List<Integer> getAllBranches() throws OseeCoreException {
- List<Integer> toReturn = new ArrayList<Integer>();
- IOseeStatement chStmt = ConnectionHandler.getStatement();
- try {
- chStmt.runPreparedQuery(100, ALL_BRANCHES_QUERY);
- while (chStmt.next()) {
- toReturn.add(chStmt.getInt("branch_id"));
- }
- } finally {
- chStmt.close();
- }
- return toReturn;
- }
-
- private void transferToBackupLocation(IResourceLocator locator, File backupFolder) throws Exception {
- InputStream inputStream = null;
- OutputStream outputStream = null;
- try {
- IResource resource = Activator.getResourceManager().acquire(locator, new PropertyStore());
- inputStream = resource.getContent();
-
- outputStream = new BufferedOutputStream(new FileOutputStream(new File(backupFolder, resource.getName())));
-
- Lib.inputStreamToOutputStream(inputStream, outputStream);
- } finally {
- try {
- if (inputStream != null) {
- inputStream.close();
- }
- } finally {
- if (outputStream != null) {
- outputStream.flush();
- outputStream.close();
- }
- }
- }
- }
-
- @Override
- public Object start(IApplicationContext context) throws Exception {
- try {
- String backupName = "osee_" + Lib.getDateTimeString();
-
- PropertyStore options = new PropertyStore();
- options.put(ExportOptions.COMPRESS.name(), true);
-
- List<Integer> branchIds = getAllBranches();
-
- int totalBranches = branchIds.size();
- OseeLog.logf(Activator.class, Level.INFO,
- "Exporting [%s] branch%s", totalBranches, totalBranches == 1 ? "" : "es");
-
- IResourceLocator exportLocator = Activator.getBranchExchange().exportBranch(backupName, options, branchIds);
-
- OseeLog.logf(Activator.class, Level.INFO,
- "Verifying export file integrity [%s]", exportLocator.getLocation());
-
- IResourceLocator exportCheckLocator = Activator.getBranchExchange().checkIntegrity(exportLocator);
- OseeLog.logf(Activator.class, Level.INFO, "Verified [%s]", exportCheckLocator.getLocation());
-
- OseeLog.logf(Activator.class, Level.INFO,
- "Completed export - [%s] branch%s", totalBranches, totalBranches == 1 ? "" : "es");
-
- String backupPath = (String) context.getArguments().get("osee.backup.path");
- if (Strings.isValid(backupPath)) {
- if (!backupPath.endsWith(File.separator)) {
- backupPath = backupPath + File.separator;
- }
- File backupFolder = new File(backupPath);
- backupFolder.mkdirs();
- transferToBackupLocation(exportLocator, backupFolder);
- transferToBackupLocation(exportCheckLocator, backupFolder);
-
- Activator.getResourceManager().delete(exportLocator);
- Activator.getResourceManager().delete(exportCheckLocator);
- }
- } catch (Throwable ex) {
- OseeLog.log(Activator.class, Level.SEVERE, ex);
- }
- return IApplication.EXIT_OK;
- }
-
- @Override
- public void stop() {
- //
- }
-
-}
diff --git a/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/branch/BranchExportOperation.java b/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/branch/BranchExportOperation.java
deleted file mode 100644
index 7b405ce38c2..00000000000
--- a/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/branch/BranchExportOperation.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.framework.server.admin.branch;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.osee.framework.core.exception.OseeArgumentException;
-import org.eclipse.osee.framework.core.operation.AbstractOperation;
-import org.eclipse.osee.framework.core.operation.OperationLogger;
-import org.eclipse.osee.framework.database.core.ConnectionHandler;
-import org.eclipse.osee.framework.database.core.IOseeStatement;
-import org.eclipse.osee.framework.jdk.core.type.PropertyStore;
-import org.eclipse.osee.framework.jdk.core.util.Strings;
-import org.eclipse.osee.framework.server.admin.internal.Activator;
-
-/**
- * @author Roberto E. Escobar
- */
-public final class BranchExportOperation extends AbstractOperation {
- private static final String SELECT_BRANCHES = "SELECT branch_id FROM osee_branch %s ORDER BY branch_id";
-
- private final PropertyStore propertyStore;
- private final String exportFileName;
- private final boolean includeArchivedBranches;
- private final List<Integer> branchIds;
- private final List<Integer> excludedBranchIds;
-
- public BranchExportOperation(OperationLogger logger, PropertyStore propertyStore, String exportFileName, boolean includeArchivedBranches, List<Integer> branchIds, boolean excludeBranchIds) {
- super("Branch Export", Activator.PLUGIN_ID, logger);
- this.propertyStore = propertyStore;
- this.exportFileName = exportFileName;
- this.includeArchivedBranches = includeArchivedBranches;
-
- if (excludeBranchIds) {
- excludedBranchIds = branchIds;
- this.branchIds = new ArrayList<Integer>();
- } else {
- this.branchIds = branchIds;
- excludedBranchIds = Collections.emptyList();
- }
- }
-
- @Override
- protected void doWork(IProgressMonitor monitor) throws Exception {
- if (!Strings.isValid(exportFileName)) {
- throw new OseeArgumentException("exportFileName was invalid: [%s]", exportFileName);
- }
-
- if (branchIds.isEmpty()) {
- IOseeStatement chStmt = ConnectionHandler.getStatement();
- try {
- chStmt.runPreparedQuery(10000,
- String.format(SELECT_BRANCHES, includeArchivedBranches ? "" : "where archived = 0"));
- while (chStmt.next()) {
- branchIds.add(chStmt.getInt("branch_id"));
- }
- } finally {
- chStmt.close();
- }
- for (Integer branchId : excludedBranchIds) {
- branchIds.remove(branchId);
- }
- }
- logf("Exporting: [%s] branches\n", branchIds.size());
-
- Activator.getBranchExchange().exportBranch(exportFileName, propertyStore, branchIds);
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/branch/BranchImportOperation.java b/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/branch/BranchImportOperation.java
deleted file mode 100644
index 3331db8d77a..00000000000
--- a/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/branch/BranchImportOperation.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.framework.server.admin.branch;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.List;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.osee.framework.core.exception.OseeArgumentException;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.core.operation.AbstractOperation;
-import org.eclipse.osee.framework.core.operation.OperationLogger;
-import org.eclipse.osee.framework.jdk.core.type.PropertyStore;
-import org.eclipse.osee.framework.resource.management.util.ResourceLocator;
-import org.eclipse.osee.framework.server.admin.internal.Activator;
-
-/**
- * @author Roberto E. Escobar
- */
-public final class BranchImportOperation extends AbstractOperation {
- private final List<String> importFiles;
- private final PropertyStore propertyStore;
- private final List<Integer> branchIds;
-
- public BranchImportOperation(OperationLogger logger, PropertyStore propertyStore, List<String> importFiles, List<Integer> branchIds) {
- super("Branch Import", Activator.PLUGIN_ID, logger);
- this.importFiles = importFiles;
- this.propertyStore = propertyStore;
- this.branchIds = branchIds;
- }
-
- @Override
- protected void doWork(IProgressMonitor monitor) throws OseeCoreException, URISyntaxException {
-
- if (importFiles.isEmpty()) {
- throw new OseeArgumentException("Files to import were not specified");
- }
-
- for (String fileToImport : importFiles) {
- URI uri = new URI("exchange://" + fileToImport);
- Activator.getBranchExchange().importBranch(new ResourceLocator(uri), propertyStore, branchIds, getLogger());
- }
- }
-}
diff --git a/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/branch/ExchangeIntegrityOperation.java b/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/branch/ExchangeIntegrityOperation.java
deleted file mode 100644
index 019da10e074..00000000000
--- a/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/branch/ExchangeIntegrityOperation.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.framework.server.admin.branch;
-
-import java.net.URI;
-import java.util.List;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.osee.framework.core.operation.AbstractOperation;
-import org.eclipse.osee.framework.core.operation.OperationLogger;
-import org.eclipse.osee.framework.resource.management.util.ResourceLocator;
-import org.eclipse.osee.framework.server.admin.internal.Activator;
-
-/**
- * @author Roberto E. Escobar
- */
-public class ExchangeIntegrityOperation extends AbstractOperation {
- private final List<String> importFiles;
-
- public ExchangeIntegrityOperation(OperationLogger logger, List<String> importFiles) {
- super("Verify Exchange File", Activator.PLUGIN_ID, logger);
- this.importFiles = importFiles;
- }
-
- @Override
- protected void doWork(IProgressMonitor monitor) throws Exception {
- for (String fileToImport : importFiles) {
- URI uri = new URI("exchange://" + fileToImport);
- Activator.getBranchExchange().checkIntegrity(new ResourceLocator(uri));
- }
- }
-}
diff --git a/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/internal/Activator.java b/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/internal/Activator.java
deleted file mode 100644
index e3588a90901..00000000000
--- a/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/internal/Activator.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.framework.server.admin.internal;
-
-import java.util.HashMap;
-import java.util.Map;
-import org.eclipse.osee.framework.branch.management.IBranchExchange;
-import org.eclipse.osee.framework.core.enums.OseeServiceTrackerId;
-import org.eclipse.osee.framework.core.server.IApplicationServerManager;
-import org.eclipse.osee.framework.core.server.ISessionManager;
-import org.eclipse.osee.framework.core.services.IOseeCachingService;
-import org.eclipse.osee.framework.core.services.IdentityService;
-import org.eclipse.osee.framework.database.IOseeDatabaseService;
-import org.eclipse.osee.framework.resource.management.IResourceLocatorManager;
-import org.eclipse.osee.framework.resource.management.IResourceManager;
-import org.eclipse.osee.framework.search.engine.ISearchEngine;
-import org.eclipse.osee.framework.search.engine.ISearchEngineTagger;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-import org.osgi.util.tracker.ServiceTracker;
-
-public class Activator implements BundleActivator {
- public static final String PLUGIN_ID = "org.eclipse.osee.framework.server.admin";
- private static Activator instance;
-
- private final Map<OseeServiceTrackerId, ServiceTracker> mappedTrackers;
-
- public Activator() {
- this.mappedTrackers = new HashMap<OseeServiceTrackerId, ServiceTracker>();
- }
-
- @Override
- public void start(BundleContext context) throws Exception {
- instance = this;
-
- createServiceTracker(context, IResourceManager.class, OseeServiceTrackerId.RESOURCE_MANAGER);
- createServiceTracker(context, IResourceLocatorManager.class, OseeServiceTrackerId.RESOURCE_LOCATOR);
- createServiceTracker(context, ISearchEngineTagger.class, OseeServiceTrackerId.SEARCH_TAGGER);
- createServiceTracker(context, ISearchEngine.class, OseeServiceTrackerId.SEARCH_ENGINE);
- createServiceTracker(context, IBranchExchange.class, OseeServiceTrackerId.BRANCH_EXCHANGE);
- createServiceTracker(context, IOseeCachingService.class, OseeServiceTrackerId.OSEE_CACHING_SERVICE);
- createServiceTracker(context, IOseeDatabaseService.class, OseeServiceTrackerId.OSEE_DATABASE_SERVICE);
- createServiceTracker(context, IApplicationServerManager.class, OseeServiceTrackerId.APPLICATION_MANAGER);
- createServiceTracker(context, ISessionManager.class, OseeServiceTrackerId.SESSION_MANAGER);
- createServiceTracker(context, IdentityService.class, OseeServiceTrackerId.IDENTITY_SERVICE);
- }
-
- @Override
- public void stop(BundleContext context) throws Exception {
- for (ServiceTracker tracker : mappedTrackers.values()) {
- tracker.close();
- }
- mappedTrackers.clear();
-
- instance = null;
- }
-
- public static IOseeDatabaseService getOseeDatabaseService() {
- return getTracker(OseeServiceTrackerId.OSEE_DATABASE_SERVICE, IOseeDatabaseService.class);
- }
-
- private void createServiceTracker(BundleContext context, Class<?> clazz, OseeServiceTrackerId trackerId) {
- ServiceTracker tracker = new ServiceTracker(context, clazz.getName(), null);
- tracker.open();
- mappedTrackers.put(trackerId, tracker);
- }
-
- public static IBranchExchange getBranchExchange() {
- return getTracker(OseeServiceTrackerId.BRANCH_EXCHANGE, IBranchExchange.class);
- }
-
- public static IResourceManager getResourceManager() {
- return getTracker(OseeServiceTrackerId.RESOURCE_MANAGER, IResourceManager.class);
- }
-
- public static IResourceLocatorManager getResourceLocatorManager() {
- return getTracker(OseeServiceTrackerId.RESOURCE_LOCATOR, IResourceLocatorManager.class);
- }
-
- public static ISearchEngineTagger getSearchTagger() {
- return getTracker(OseeServiceTrackerId.SEARCH_TAGGER, ISearchEngineTagger.class);
- }
-
- public static ISearchEngine getSearchEngine() {
- return getTracker(OseeServiceTrackerId.SEARCH_ENGINE, ISearchEngine.class);
- }
-
- public static IOseeCachingService getOseeCachingService() {
- return getTracker(OseeServiceTrackerId.OSEE_CACHING_SERVICE, IOseeCachingService.class);
- }
-
- public static IApplicationServerManager getApplicationServerManager() {
- return getTracker(OseeServiceTrackerId.APPLICATION_MANAGER, IApplicationServerManager.class);
- }
-
- public static ISessionManager getSessionManager() {
- return getTracker(OseeServiceTrackerId.SESSION_MANAGER, ISessionManager.class);
- }
-
- public static IdentityService getIdentityService() {
- return getTracker(OseeServiceTrackerId.IDENTITY_SERVICE, IdentityService.class);
- }
-
- private static <T> T getTracker(OseeServiceTrackerId trackerId, Class<T> clazz) {
- ServiceTracker tracker = instance.mappedTrackers.get(trackerId);
- Object service = tracker.getService();
- return clazz.cast(service);
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/management/SchedulingCommand.java b/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/management/SchedulingCommand.java
deleted file mode 100644
index a46807e8158..00000000000
--- a/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/management/SchedulingCommand.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.framework.server.admin.management;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.osee.framework.core.operation.AbstractOperation;
-import org.eclipse.osee.framework.core.operation.OperationLogger;
-import org.eclipse.osee.framework.server.admin.internal.Activator;
-import org.eclipse.osgi.framework.console.CommandInterpreter;
-
-/**
- * @author Ryan D. Brooks
- */
-public class SchedulingCommand extends AbstractOperation {
- private final long delayMiliseconds;
- private final int iterations;
- private final String command;
- private final CommandInterpreter ci;
-
- public SchedulingCommand(OperationLogger logger, CommandInterpreter ci) {
- super("Schedule", Activator.PLUGIN_ID, logger);
- delayMiliseconds = Integer.parseInt(ci.nextArgument()) * 1000;
- iterations = Integer.parseInt(ci.nextArgument());
-
- StringBuilder strB = new StringBuilder(200);
- String argument;
- while ((argument = ci.nextArgument()) != null) {
- strB.append(argument);
- strB.append(" ");
- }
-
- command = strB.toString();
- this.ci = ci;
- }
-
- @Override
- protected void doWork(IProgressMonitor monitor) throws Exception {
- for (int i = 0; i < iterations; i++) {
- Thread.sleep(delayMiliseconds);
- ci.execute(command);
- }
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/management/ServerShutdownOperation.java b/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/management/ServerShutdownOperation.java
deleted file mode 100644
index 6c98e037a4c..00000000000
--- a/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/management/ServerShutdownOperation.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.framework.server.admin.management;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.osee.framework.core.operation.AbstractOperation;
-import org.eclipse.osee.framework.core.operation.OperationLogger;
-import org.eclipse.osee.framework.core.server.IApplicationServerManager;
-import org.eclipse.osee.framework.server.admin.internal.Activator;
-import org.eclipse.osgi.framework.console.CommandInterpreter;
-import org.osgi.framework.Bundle;
-
-/**
- * @author Roberto E. Escobar
- */
-public class ServerShutdownOperation extends AbstractOperation {
- private final CommandInterpreter ci;
-
- public ServerShutdownOperation(OperationLogger logger, CommandInterpreter ci) {
- super("Server Shutdown", Activator.PLUGIN_ID, logger);
- this.ci = ci;
- }
-
- @Override
- protected void doWork(IProgressMonitor monitor) throws Exception {
- IApplicationServerManager manager = Activator.getApplicationServerManager();
-
- Bundle equinoxHttpBundle = Platform.getBundle("org.eclipse.equinox.http.jetty");
- equinoxHttpBundle.stop();
-
- manager.setServletRequestsAllowed(false);
-
- while (!manager.isSystemIdle()) {
- try {
- Thread.sleep(1000);
- } catch (InterruptedException ex) {
- log(ex);
- }
- }
- manager.shutdown();
-
- if ("-oseeOnly".equalsIgnoreCase(ci.nextArgument())) {
- log("Osee Shutdown Complete");
- } else {
- ci.execute("close");
- }
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/management/ServerStats.java b/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/management/ServerStats.java
deleted file mode 100644
index 156d869e572..00000000000
--- a/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/management/ServerStats.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.framework.server.admin.management;
-
-import java.text.DateFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.jobs.IJobManager;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.osee.framework.core.operation.AbstractOperation;
-import org.eclipse.osee.framework.core.operation.OperationLogger;
-import org.eclipse.osee.framework.core.server.IApplicationServerManager;
-import org.eclipse.osee.framework.core.server.ISessionManager;
-import org.eclipse.osee.framework.core.server.OseeServerProperties;
-import org.eclipse.osee.framework.database.core.DatabaseInfoManager;
-import org.eclipse.osee.framework.jdk.core.util.Lib;
-import org.eclipse.osee.framework.server.admin.internal.Activator;
-
-/**
- * @author Roberto E. Escobar
- */
-public class ServerStats extends AbstractOperation {
-
- public ServerStats(OperationLogger logger) {
- super("Server Stats", Activator.PLUGIN_ID, logger);
- }
-
- @Override
- protected void doWork(IProgressMonitor monitor) throws Exception {
- IApplicationServerManager manager = Activator.getApplicationServerManager();
- ISessionManager sessionManager = Activator.getSessionManager();
-
- log("\n----------------------------------------------");
- log(" Server Stats");
- log("----------------------------------------------");
-
- logf("Server:[%s:%s]", manager.getServerAddress(), manager.getPort());
- logf("Id: [%s]", manager.getId());
- log(String.format("Running Since: [%s]\n",
- DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG).format(manager.getDateStarted())));
-
- logf("Code Base Location: [%s]", System.getProperty("user.dir"));
- logf("Datastore: [%s]", DatabaseInfoManager.getDefault().toString());
- logf("Binary Data Path: [%s]\n", OseeServerProperties.getOseeApplicationServerData(null));
-
- logf("Supported Versions: %s", Arrays.deepToString(manager.getSupportedVersions()));
- logf("Accepting Requests: [%s]", manager.isAcceptingRequests());
- log(Lib.getMemoryInfo());
-
- logServlets(manager);
-
- logf("\nSessionsManaged: [%s]", sessionManager.getAllSessions(false).size());
- logf("\nServer State: [%s]", manager.isSystemIdle() ? "IDLE" : "BUSY");
- logf("Active Threads: [%s]", manager.getNumberOfActiveThreads());
-
- IJobManager jobManager = Job.getJobManager();
- logf("Job Manager: [%s]", jobManager.isIdle() ? "IDLE" : "BUSY");
- logf("Current Job: [%s]", jobManager.currentJob().getName());
-
- log("Current Tasks: ");
- List<String> entries = manager.getCurrentProcesses();
- if (entries.isEmpty()) {
- log("[NONE]");
- } else {
- log();
- for (int index = 0; index < entries.size(); index++) {
- logf("[%s] ", index);
- log(entries.get(index));
- if (index + 1 < entries.size()) {
- log();
- }
- }
- }
-
- log();
-
- }
-
- private void logServlets(IApplicationServerManager manager) {
- log("Servlets:");
- List<String> contexts = new ArrayList<String>(manager.getRegisteredServlets());
- Collections.sort(contexts);
- if (contexts.size() % 2 == 1) {
- contexts.add("");
- }
- int midPoint = contexts.size() / 2;
- for (int i = 0; i < midPoint; i++) {
- logf("%-40.40s%s", contexts.get(i), contexts.get(i + midPoint));
- }
- }
-}
diff --git a/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/management/UpdateCachesOperation.java b/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/management/UpdateCachesOperation.java
deleted file mode 100644
index 29133a433a9..00000000000
--- a/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/management/UpdateCachesOperation.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.framework.server.admin.management;
-
-import java.util.Arrays;
-import java.util.Set;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.osee.framework.core.enums.OseeCacheEnum;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.core.model.cache.IOseeCache;
-import org.eclipse.osee.framework.core.operation.AbstractOperation;
-import org.eclipse.osee.framework.core.operation.OperationLogger;
-import org.eclipse.osee.framework.core.services.IOseeCachingService;
-import org.eclipse.osee.framework.server.admin.internal.Activator;
-
-/**
- * @author Roberto E. Escobar
- */
-public class UpdateCachesOperation extends AbstractOperation {
- private final Set<OseeCacheEnum> cacheIds;
- private final boolean reload;
- private final String verb;
-
- public UpdateCachesOperation(OperationLogger logger, Set<OseeCacheEnum> cacheIds, boolean reload) {
- super("Clear Cache(s)", Activator.PLUGIN_ID, logger);
- this.cacheIds = cacheIds;
- this.reload = reload;
- this.verb = reload ? "Reloaded" : "Cleared";
- }
-
- @Override
- protected void doWork(IProgressMonitor monitor) throws OseeCoreException {
- IOseeCachingService service = Activator.getOseeCachingService();
- if (cacheIds.isEmpty()) {
- if (reload) {
- service.reloadAll();
- } else {
- service.clearAll();
- }
- logf("%s the following caches: %s", verb,
- Arrays.deepToString(OseeCacheEnum.values()).replaceAll(", SESSION_CACHE", ""));
- } else {
- for (OseeCacheEnum cacheId : cacheIds) {
- IOseeCache<?, ?> cache = service.getCache(cacheId);
- if (reload) {
- cache.reloadCache();
- } else {
- cache.decacheAll();
- }
- }
- logf("%s %s", verb, cacheIds);
- }
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/management/UpdateServerVersionsOperation.java b/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/management/UpdateServerVersionsOperation.java
deleted file mode 100644
index f2c362666c4..00000000000
--- a/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/management/UpdateServerVersionsOperation.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.framework.server.admin.management;
-
-import java.util.Arrays;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.core.operation.AbstractOperation;
-import org.eclipse.osee.framework.core.operation.OperationLogger;
-import org.eclipse.osee.framework.core.server.IApplicationServerManager;
-import org.eclipse.osee.framework.server.admin.internal.Activator;
-
-/**
- * @author Roberto E. Escobar
- */
-public class UpdateServerVersionsOperation extends AbstractOperation {
- private final String version;
- private final boolean add;
-
- public UpdateServerVersionsOperation(OperationLogger logger, String version, boolean add) {
- super("Add Version", Activator.PLUGIN_ID, logger);
- this.version = version;
- this.add = add;
- }
-
- @Override
- protected void doWork(IProgressMonitor monitor) throws OseeCoreException {
- IApplicationServerManager appManager = Activator.getApplicationServerManager();
- if (add) {
- appManager.addSupportedVersion(version);
- } else {
- appManager.removeSupportedVersion(version);
- }
- logf("Osee Application Server: %s",
- Arrays.deepToString(Activator.getApplicationServerManager().getSupportedVersions()));
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/search/SearchStats.java b/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/search/SearchStats.java
deleted file mode 100644
index 19f125106f4..00000000000
--- a/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/search/SearchStats.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.framework.server.admin.search;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.osee.framework.core.operation.AbstractOperation;
-import org.eclipse.osee.framework.core.operation.OperationLogger;
-import org.eclipse.osee.framework.search.engine.ISearchStatistics;
-import org.eclipse.osee.framework.server.admin.internal.Activator;
-
-/**
- * @author Roberto E. Escobar
- */
-public class SearchStats extends AbstractOperation {
-
- public SearchStats(OperationLogger logger) {
- super("Search Engine Stats", Activator.PLUGIN_ID, logger);
- }
-
- @Override
- protected void doWork(IProgressMonitor monitor) {
- ISearchStatistics stats = Activator.getSearchEngine().getStatistics();
- log("\n----------------------------------------------");
- log(" Search Stats");
- log("----------------------------------------------");
- logf("Total Searches - [%d]", stats.getTotalSearches());
- logf("Search Time - avg: [%s] ms - longest: [%s] ms", stats.getAverageSearchTime(),
- stats.getLongestSearchTime());
- logf("Longest Search - %s", stats.getLongestSearch());
- }
-}
diff --git a/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/search/TagItemOperation.java b/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/search/TagItemOperation.java
deleted file mode 100644
index 286e0b8dc90..00000000000
--- a/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/search/TagItemOperation.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.framework.server.admin.search;
-
-import java.util.Set;
-import java.util.logging.Level;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.core.operation.AbstractOperation;
-import org.eclipse.osee.framework.core.operation.OperationLogger;
-import org.eclipse.osee.framework.database.core.JoinUtility;
-import org.eclipse.osee.framework.database.core.TagQueueJoinQuery;
-import org.eclipse.osee.framework.logging.OseeLog;
-import org.eclipse.osee.framework.search.engine.TagListenerAdapter;
-import org.eclipse.osee.framework.server.admin.internal.Activator;
-
-/**
- * @author Roberto E. Escobar
- */
-public class TagItemOperation extends AbstractOperation {
- private final Set<Long> gammas;
- private TagListener tagListener = null;
-
- public TagItemOperation(OperationLogger logger, Set<Long> gammas) {
- super("Tag Individual Items", Activator.PLUGIN_ID, logger);
- this.gammas = gammas;
- }
-
- private final class TagListener extends TagListenerAdapter {
- private int joinQuery;
- private boolean isProcessing;
-
- public TagListener() {
- this.isProcessing = true;
- this.joinQuery = -1;
- }
-
- @Override
- public void onTagQueryIdSubmit(int queryId) {
- joinQuery = queryId;
- }
-
- public boolean isProcessing() {
- return isProcessing;
- }
-
- @Override
- public void onAttributeTagComplete(int queryId, long gammaId, int totalTags, long processingTime) {
- if (queryId == joinQuery) {
- logf("GammaId: [%d] Tags: [%d] Processed In: [%d] ms", gammaId, totalTags, processingTime);
- }
- }
-
- @Override
- synchronized public void onTagQueryIdTagComplete(int queryId, long waitTime, long processingTime) {
- if (queryId == joinQuery) {
- this.isProcessing = false;
- this.notify();
- }
- }
-
- @Override
- public void onAttributeAddTagEvent(int queryId, long gammaId, String word, long codedTag) {
- if (queryId == joinQuery) {
- logf("QueryId: [%d] GammaId: [%d] Word: [%s] Tag: [%d]", queryId, gammaId, word, codedTag);
- }
- }
-
- }
-
- @Override
- protected void doWork(IProgressMonitor monitor) throws OseeCoreException {
- tagListener = null;
- final Set<Long> toTag = gammas;
- if (!toTag.isEmpty()) {
- TagQueueJoinQuery joinQuery = JoinUtility.createTagQueueJoinQuery();
- for (Long item : toTag) {
- joinQuery.add(item);
- }
- joinQuery.store();
-
- tagListener = new TagListener();
- Activator.getSearchTagger().tagByQueueQueryId(tagListener, joinQuery.getQueryId());
- synchronized (tagListener) {
- try {
- tagListener.wait();
- } catch (InterruptedException ex) {
- OseeLog.log(Activator.class, Level.SEVERE, ex);
- }
- }
- if (tagListener.isProcessing()) {
- joinQuery.delete();
- }
-
- } else {
- log("No Items to Tag.");
- }
- }
-}
diff --git a/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/search/TaggerAllOperation.java b/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/search/TaggerAllOperation.java
deleted file mode 100644
index 2ea08d34e56..00000000000
--- a/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/search/TaggerAllOperation.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.framework.server.admin.search;
-
-import java.util.Collection;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.core.model.cache.AttributeTypeCache;
-import org.eclipse.osee.framework.core.model.type.AttributeType;
-import org.eclipse.osee.framework.core.operation.AbstractOperation;
-import org.eclipse.osee.framework.core.operation.OperationLogger;
-import org.eclipse.osee.framework.database.core.ConnectionHandler;
-import org.eclipse.osee.framework.database.core.IOseeStatement;
-import org.eclipse.osee.framework.database.core.IdJoinQuery;
-import org.eclipse.osee.framework.database.core.JoinUtility;
-import org.eclipse.osee.framework.database.core.TagQueueJoinQuery;
-import org.eclipse.osee.framework.jdk.core.util.Lib;
-import org.eclipse.osee.framework.search.engine.TagListenerAdapter;
-import org.eclipse.osee.framework.server.admin.internal.Activator;
-
-/**
- * @author Roberto E. Escobar
- */
-public final class TaggerAllOperation extends AbstractOperation {
- private static final int BATCH_SIZE = 1000;
-
- private static final String FIND_ALL_TAGGABLE_ATTRIBUTES =
- "SELECT att.gamma_id FROM osee_join_id oji, osee_attribute att WHERE oji.query_id = ? AND oji.id = att.attr_type_id";
-
- private static final String COUNT_ALL_TAGGABLE_ATTRIBUTES = FIND_ALL_TAGGABLE_ATTRIBUTES.replace("att.gamma_id",
- "count(1)");
-
- private static final String FIND_MISSING =
- FIND_ALL_TAGGABLE_ATTRIBUTES + " AND att.gamma_id NOT IN (SELECT gamma_id FROM osee_search_tags)";
-
- private static final String COUNT_MISSING = FIND_MISSING.replaceFirst("att.gamma_id", "count(1)");
-
- private static final String FIND_TAGGABLE_ATTRIBUTES_BY_BRANCH =
- "SELECT DISTINCT att.gamma_id FROM osee_join_id jid1, osee_join_id jid2, osee_txs txs, osee_attribute att WHERE jid1.query_id = ? AND jid1.id = txs.branch_id AND txs.gamma_id = att.gamma_id AND att.attr_type_id = jid2.id and jid2.query_id = ?";
-
- private static final String COUNT_TAGGABLE_ATTRIBUTES_BY_BRANCH = FIND_TAGGABLE_ATTRIBUTES_BY_BRANCH.replace(
- "DISTINCT att.gamma_id", "count(DISTINCT att.gamma_id)");
-
- private static final String FIND_MISSING_BY_BRANCH =
- FIND_TAGGABLE_ATTRIBUTES_BY_BRANCH + " AND att.gamma_id NOT IN (SELECT gamma_id FROM osee_search_tags)";
-
- private static final String COUNT_MISSING_BY_BRANCH =
- COUNT_TAGGABLE_ATTRIBUTES_BY_BRANCH + " AND att.gamma_id NOT IN (SELECT gamma_id FROM osee_search_tags)";
-
- private final Set<Integer> branchIds;
- private final boolean tagOnlyMissingGammas;
- private final AttributeTypeCache attTypeCache;
- private TagProcessListener processor;
-
- public TaggerAllOperation(OperationLogger logger, AttributeTypeCache attTypeCache, Set<Integer> branchIds, boolean tagOnlyMissingGammas) {
- super("Tag Attributes", Activator.PLUGIN_ID, logger);
- this.branchIds = branchIds;
- this.tagOnlyMissingGammas = tagOnlyMissingGammas;
- this.attTypeCache = attTypeCache;
- }
-
- private TagProcessListener process(long startTime, Collection<Integer> branchIds, boolean tagOnlyMissingGammas) throws OseeCoreException {
- logTaggingStart();
-
- IdJoinQuery branchJoin = JoinUtility.createIdJoinQuery();
- IdJoinQuery typeJoin = JoinUtility.createIdJoinQuery();
- Object[] params;
- String countQuery;
- String searchQuery;
-
- if (branchIds.isEmpty()) {
- params = new Object[] {typeJoin.getQueryId()};
- if (tagOnlyMissingGammas) {
- countQuery = COUNT_MISSING;
- searchQuery = FIND_MISSING;
- } else {
- countQuery = COUNT_ALL_TAGGABLE_ATTRIBUTES;
- searchQuery = FIND_ALL_TAGGABLE_ATTRIBUTES;
- }
- } else {
- for (Integer id : branchIds) {
- branchJoin.add(id);
- }
- branchJoin.store();
- params = new Object[] {branchJoin.getQueryId(), typeJoin.getQueryId()};
- if (tagOnlyMissingGammas) {
- countQuery = COUNT_MISSING_BY_BRANCH;
- searchQuery = FIND_MISSING_BY_BRANCH;
- } else {
- countQuery = COUNT_TAGGABLE_ATTRIBUTES_BY_BRANCH;
- searchQuery = FIND_TAGGABLE_ATTRIBUTES_BY_BRANCH;
- }
- }
-
- populateAttributeTypeJoin(typeJoin);
-
- int totalAttributes = ConnectionHandler.runPreparedQueryFetchInt(-1, countQuery, params);
- TagProcessListener processor = new TagProcessListener(startTime, totalAttributes);
- try {
- fetchAndProcessGammas(processor, searchQuery, params);
- } finally {
- branchJoin.delete();
- }
- return processor;
- }
-
- private void logTaggingStart() {
- StringBuilder builder = new StringBuilder();
- builder.append("Tagging");
- if (tagOnlyMissingGammas) {
- builder.append(" (Only Missing)");
- }
- builder.append(" Attributes for ");
- if (branchIds.isEmpty()) {
- builder.append("All Branches");
- } else {
- builder.append("Branch(es) ").append(branchIds);
- }
- log(builder.toString());
- }
-
- private void fetchAndProcessGammas(TagProcessListener processor, String query, Object... params) throws OseeCoreException {
- IOseeStatement chStmt = ConnectionHandler.getStatement();
- try {
- chStmt.runPreparedQuery(query, params);
- TagQueueJoinQuery joinQuery = JoinUtility.createTagQueueJoinQuery();
- while (chStmt.next()) {
- long gammaId = chStmt.getLong("gamma_id");
- joinQuery.add(gammaId);
- if (joinQuery.size() >= BATCH_SIZE) {
- processor.storeAndAddQueryId(joinQuery);
- joinQuery = JoinUtility.createTagQueueJoinQuery();
- }
- }
- processor.storeAndAddQueryId(joinQuery);
- } finally {
- chStmt.close();
- }
- }
-
- private final class TagProcessListener extends TagListenerAdapter {
-
- private final Map<Integer, TagQueueJoinQuery> queryIdMap;
- private int attributesProcessed;
- private int queriesProcessed;
- private final long startTime;
- private final int totalAttributes;
-
- public TagProcessListener(long startTime, int totalAttributes) {
- this.queryIdMap = new ConcurrentHashMap<Integer, TagQueueJoinQuery>();
- this.startTime = startTime;
- this.totalAttributes = totalAttributes;
- this.attributesProcessed = 0;
- this.queriesProcessed = 0;
- }
-
- public void storeAndAddQueryId(TagQueueJoinQuery joinQuery) throws OseeCoreException {
- if (joinQuery.size() > 0) {
- joinQuery.store();
- this.queryIdMap.put(joinQuery.getQueryId(), joinQuery);
- Activator.getSearchTagger().tagByQueueQueryId(this, joinQuery.getQueryId());
- }
- }
-
- public boolean isProcessingDone() {
- return queriesProcessed == totalQueries();
- }
-
- public int totalQueries() {
- int remainder = totalAttributes % 1000;
- return totalAttributes / 1000 + (remainder > 0 ? 1 : 0);
- }
-
- public void printStats() {
- logf("QueryIds: [ %d of %d] Attributes: [%d of %d] - Elapsed Time = %s.", queriesProcessed, totalQueries(),
- attributesProcessed, totalAttributes, Lib.getElapseString(startTime));
- }
-
- @Override
- public void onAttributeTagComplete(int queryId, long gammaId, int totalTags, long processingTime) {
- if (queryIdMap.containsKey(queryId)) {
- attributesProcessed++;
- if (attributesProcessed % 1000 == 0) {
- printStats();
- }
- }
- }
-
- @Override
- synchronized public void onTagQueryIdTagComplete(int queryId, long waitTime, long processingTime) {
- TagQueueJoinQuery joinQuery = this.queryIdMap.get(queryId);
- if (joinQuery != null) {
- this.queryIdMap.remove(joinQuery);
- queriesProcessed++;
- if (isProcessingDone()) {
- this.notify();
- }
- }
- }
- }
-
- @Override
- protected void doWork(IProgressMonitor monitor) throws Exception {
- long startTime = System.currentTimeMillis();
- processor = process(startTime, branchIds, tagOnlyMissingGammas);
- processor.printStats();
- log("Tagging Complete");
- }
-
- private void populateAttributeTypeJoin(IdJoinQuery typeJoin) throws OseeCoreException {
- for (AttributeType attributeType : attTypeCache.getAll()) {
- if (attributeType.isTaggable()) {
- typeJoin.add(attributeType.getId());
- }
- }
- typeJoin.store();
- }
-} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/search/TaggerDropAllOperation.java b/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/search/TaggerDropAllOperation.java
deleted file mode 100644
index abd0e0ba385..00000000000
--- a/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/search/TaggerDropAllOperation.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.framework.server.admin.search;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.core.operation.AbstractOperation;
-import org.eclipse.osee.framework.core.operation.OperationLogger;
-import org.eclipse.osee.framework.database.core.ConnectionHandler;
-import org.eclipse.osee.framework.server.admin.internal.Activator;
-
-/**
- * @author Roberto E. Escobar
- */
-public final class TaggerDropAllOperation extends AbstractOperation {
-
- public TaggerDropAllOperation(OperationLogger logger) {
- super("Drop All Search Tags", Activator.PLUGIN_ID, logger);
- }
-
- @Override
- protected void doWork(IProgressMonitor monitor) throws OseeCoreException {
- ConnectionHandler.runPreparedUpdate("TRUNCATE osee_search_tags");
- }
-}
diff --git a/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/search/TaggerStats.java b/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/search/TaggerStats.java
deleted file mode 100644
index bab4ce8476f..00000000000
--- a/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/search/TaggerStats.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.framework.server.admin.search;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.osee.framework.core.operation.AbstractOperation;
-import org.eclipse.osee.framework.core.operation.OperationLogger;
-import org.eclipse.osee.framework.search.engine.ISearchEngineTagger;
-import org.eclipse.osee.framework.search.engine.ITagItemStatistics;
-import org.eclipse.osee.framework.search.engine.ITaggerStatistics;
-import org.eclipse.osee.framework.server.admin.internal.Activator;
-
-/**
- * @author Roberto E. Escobar
- */
-public final class TaggerStats extends AbstractOperation {
-
- public TaggerStats(OperationLogger logger) {
- super("Tag Engine Stats", Activator.PLUGIN_ID, logger);
- }
-
- private String toString(ITagItemStatistics task) {
- return String.format("id: [%d] - processed [%d] tags in [%d] ms", task.getGammaId(), task.getTotalTags(),
- task.getProcessingTime());
- }
-
- @Override
- protected void doWork(IProgressMonitor monitor) throws Exception {
- ISearchEngineTagger tagger = Activator.getSearchTagger();
-
- ITaggerStatistics stats = tagger.getStatistics();
-
- log("\n----------------------------------------------");
- log(" Tagger Stats");
- log("----------------------------------------------");
- logf("Query Id Processing Time - avg: [%s] ms - longest: [%s] ms", stats.getAverageQueryIdProcessingTime(),
- stats.getLongestQueryIdProcessingTime());
- logf("Query Id Wait Time - avg: [%s] ms - longest: [%s] ms", stats.getAverageQueryIdWaitTime(),
- stats.getLongestQueryIdWaitTime());
-
- logf("Attribute Processing Time - avg: [%s] ms - longest: [%s] ms", stats.getAverageAttributeProcessingTime(),
- stats.getLongestAttributeProcessingTime());
- logf("Attribute with longest processing time - %s", toString(stats.getLongestTask()));
- logf("Attribute with most tags - %s", toString(stats.getMostTagsTask()));
- logf("Total - QueryIds: [%d] Attributes: [%d] Tags: [%d]", stats.getTotalQueryIdsProcessed(),
- stats.getTotalAttributesProcessed(), stats.getTotalTags());
- logf("Total Query Ids Waiting to be Processed - [%d]", tagger.getWorkersInQueue());
- logf("Total Query Ids in Tag Queue Table - [%d]", stats.getTotalQueryIdsInQueue());
- logf("Total Tags in System - [%d]\n", stats.getTagsInSystem());
- }
-}
diff --git a/plugins/org.eclipse.osee.orcs.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.osee.orcs.core/META-INF/MANIFEST.MF
index c0317f7d161..0373fae6c5d 100644
--- a/plugins/org.eclipse.osee.orcs.core/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.osee.orcs.core/META-INF/MANIFEST.MF
@@ -7,6 +7,7 @@ Bundle-Vendor: Eclipse Open System Engineering Environment
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Service-Component: OSGI-INF/*.xml
Import-Package: com.google.common.collect;version="1.0.0",
+ org.eclipse.osee.console.admin,
org.eclipse.osee.executor.admin,
org.eclipse.osee.framework.core.data,
org.eclipse.osee.framework.core.enums,
@@ -15,6 +16,7 @@ Import-Package: com.google.common.collect;version="1.0.0",
org.eclipse.osee.framework.core.model.cache,
org.eclipse.osee.framework.core.model.change,
org.eclipse.osee.framework.core.model.type,
+ org.eclipse.osee.framework.core.operation,
org.eclipse.osee.framework.core.services,
org.eclipse.osee.framework.core.util,
org.eclipse.osee.framework.jdk.core.type,
diff --git a/plugins/org.eclipse.osee.orcs.core/OSGI-INF/orcs.branch.exchange.check.console.command.xml b/plugins/org.eclipse.osee.orcs.core/OSGI-INF/orcs.branch.exchange.check.console.command.xml
new file mode 100644
index 00000000000..b59a8cae337
--- /dev/null
+++ b/plugins/org.eclipse.osee.orcs.core/OSGI-INF/orcs.branch.exchange.check.console.command.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.osee.orcs.core.internal.console.BranchExchangeCheckCommand">
+ <implementation class="org.eclipse.osee.orcs.core.internal.console.BranchExchangeCheckCommand"/>
+ <service>
+ <provide interface="org.eclipse.osee.console.admin.ConsoleCommand"/>
+ </service>
+ <reference bind="setOrcsApi" cardinality="1..1" interface="org.eclipse.osee.orcs.OrcsApi" name="OrcsApi" policy="static"/>
+</scr:component>
diff --git a/plugins/org.eclipse.osee.orcs.core/OSGI-INF/orcs.branch.export.console.command.xml b/plugins/org.eclipse.osee.orcs.core/OSGI-INF/orcs.branch.export.console.command.xml
new file mode 100644
index 00000000000..1a6660c9c9a
--- /dev/null
+++ b/plugins/org.eclipse.osee.orcs.core/OSGI-INF/orcs.branch.export.console.command.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.osee.orcs.core.internal.console.BranchExportCommand">
+ <implementation class="org.eclipse.osee.orcs.core.internal.console.BranchExportCommand"/>
+ <service>
+ <provide interface="org.eclipse.osee.console.admin.ConsoleCommand"/>
+ </service>
+ <reference bind="setOrcsApi" cardinality="1..1" interface="org.eclipse.osee.orcs.OrcsApi" name="OrcsApi" policy="static"/>
+ <reference bind="setCachingService" cardinality="1..1" interface="org.eclipse.osee.framework.core.services.IOseeCachingService" name="IOseeCachingService" policy="static"/>
+</scr:component>
diff --git a/plugins/org.eclipse.osee.orcs.core/OSGI-INF/orcs.branch.import.console.command.xml b/plugins/org.eclipse.osee.orcs.core/OSGI-INF/orcs.branch.import.console.command.xml
new file mode 100644
index 00000000000..e036c7cf3e5
--- /dev/null
+++ b/plugins/org.eclipse.osee.orcs.core/OSGI-INF/orcs.branch.import.console.command.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.osee.orcs.core.internal.console.BranchImportCommand">
+ <implementation class="org.eclipse.osee.orcs.core.internal.console.BranchImportCommand"/>
+ <service>
+ <provide interface="org.eclipse.osee.console.admin.ConsoleCommand"/>
+ </service>
+ <reference bind="setOrcsApi" cardinality="1..1" interface="org.eclipse.osee.orcs.OrcsApi" name="OrcsApi" policy="static"/>
+ <reference bind="setCachingService" cardinality="1..1" interface="org.eclipse.osee.framework.core.services.IOseeCachingService" name="IOseeCachingService" policy="static"/>
+</scr:component>
diff --git a/plugins/org.eclipse.osee.orcs.core/OSGI-INF/orcs.branch.purge.console.command.xml b/plugins/org.eclipse.osee.orcs.core/OSGI-INF/orcs.branch.purge.console.command.xml
new file mode 100644
index 00000000000..d56fa61b10d
--- /dev/null
+++ b/plugins/org.eclipse.osee.orcs.core/OSGI-INF/orcs.branch.purge.console.command.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.osee.orcs.core.internal.console.BranchPurgeCommand">
+ <implementation class="org.eclipse.osee.orcs.core.internal.console.BranchPurgeCommand"/>
+ <service>
+ <provide interface="org.eclipse.osee.console.admin.ConsoleCommand"/>
+ </service>
+ <reference bind="setOrcsApi" cardinality="1..1" interface="org.eclipse.osee.orcs.OrcsApi" name="OrcsApi" policy="static"/>
+ <reference bind="setCachingService" cardinality="1..1" interface="org.eclipse.osee.framework.core.services.IOseeCachingService" name="IOseeCachingService" policy="static"/>
+</scr:component>
diff --git a/plugins/org.eclipse.osee.orcs.core/OSGI-INF/orcs.update.cache.console.command.xml b/plugins/org.eclipse.osee.orcs.core/OSGI-INF/orcs.update.cache.console.command.xml
new file mode 100644
index 00000000000..c0db68d9ce4
--- /dev/null
+++ b/plugins/org.eclipse.osee.orcs.core/OSGI-INF/orcs.update.cache.console.command.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.osee.orcs.core.internal.console.CacheUpdateCommand">
+ <implementation class="org.eclipse.osee.orcs.core.internal.console.CacheUpdateCommand"/>
+ <service>
+ <provide interface="org.eclipse.osee.console.admin.ConsoleCommand"/>
+ </service>
+ <reference bind="setCachingService" cardinality="1..1" interface="org.eclipse.osee.framework.core.services.IOseeCachingService" name="IOseeCachingService" policy="static"/>
+</scr:component>
diff --git a/plugins/org.eclipse.osee.orcs.core/build.properties b/plugins/org.eclipse.osee.orcs.core/build.properties
index 2410df16adb..88f87400214 100644
--- a/plugins/org.eclipse.osee.orcs.core/build.properties
+++ b/plugins/org.eclipse.osee.orcs.core/build.properties
@@ -10,4 +10,5 @@ additional.bundles = org.eclipse.osee.logger,\
org.eclipse.osee.framework.core.model,\
org.eclipse.core.runtime,\
com.google.collect,\
- org.eclipse.osee.executor.admin
+ org.eclipse.osee.executor.admin,\
+ org.eclipse.osee.console.admin
diff --git a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/admin/AbstractAdminCallable.java b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/admin/AbstractAdminCallable.java
index f4ff2ddf28b..9d7b78ad6f7 100644
--- a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/admin/AbstractAdminCallable.java
+++ b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/admin/AbstractAdminCallable.java
@@ -53,7 +53,7 @@ public abstract class AbstractAdminCallable<T> extends CancellableCallable<T> {
result = innerCall();
} finally {
if (logger.isTraceEnabled()) {
- logger.trace("Branch [%s] completed in [%s]", getClass().getSimpleName(), Lib.getElapseString(startTime));
+ logger.trace("Admin [%s] completed in [%s]", getClass().getSimpleName(), Lib.getElapseString(startTime));
}
}
return result;
diff --git a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/console/BranchExchangeCheckCommand.java b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/console/BranchExchangeCheckCommand.java
new file mode 100644
index 00000000000..4564424d8b5
--- /dev/null
+++ b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/console/BranchExchangeCheckCommand.java
@@ -0,0 +1,83 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 2007 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.orcs.core.internal.console;
+
+import java.net.URI;
+import java.util.Arrays;
+import java.util.List;
+import java.util.concurrent.Callable;
+import org.eclipse.osee.console.admin.Console;
+import org.eclipse.osee.console.admin.ConsoleCommand;
+import org.eclipse.osee.console.admin.ConsoleParameters;
+import org.eclipse.osee.executor.admin.CancellableCallable;
+import org.eclipse.osee.orcs.OrcsApi;
+import org.eclipse.osee.orcs.OrcsBranch;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class BranchExchangeCheckCommand implements ConsoleCommand {
+
+ private OrcsApi orcsApi;
+
+ public void setOrcsApi(OrcsApi orcsApi) {
+ this.orcsApi = orcsApi;
+ }
+
+ public OrcsApi getOrcsApi() {
+ return orcsApi;
+ }
+
+ @Override
+ public String getName() {
+ return "branch_check_exchange";
+ }
+
+ @Override
+ public String getDescription() {
+ return "Checks the integrity of a branch exchange file.";
+ }
+
+ @Override
+ public String getUsage() {
+ return "uri=<EXCHANGE_FILE_LOCATION> - exchange file location relative to exchange storage path";
+ }
+
+ @Override
+ public Callable<?> createCallable(Console console, ConsoleParameters params) {
+ List<String> importFiles = Arrays.asList(params.getArray("uri"));
+ OrcsBranch orcsBranch = getOrcsApi().getBranchOps(null);
+ return new CheckBranchExchangeCallable(console, orcsBranch, importFiles);
+ }
+
+ private static class CheckBranchExchangeCallable extends CancellableCallable<Boolean> {
+
+ private final Console console;
+ private final OrcsBranch orcsBranch;
+ private final List<String> importFiles;
+
+ public CheckBranchExchangeCallable(Console console, OrcsBranch orcsBranch, List<String> importFiles) {
+ this.console = console;
+ this.orcsBranch = orcsBranch;
+ this.importFiles = importFiles;
+ }
+
+ @Override
+ public Boolean call() throws Exception {
+ for (String fileToImport : importFiles) {
+ console.writeln("Checking branch exchange [%]", fileToImport);
+ URI uriToCheck = new URI("exchange://" + fileToImport);
+ orcsBranch.checkBranchExchangeIntegrity(uriToCheck);
+ }
+ return Boolean.TRUE;
+ }
+ }
+}
diff --git a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/console/BranchExportCommand.java b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/console/BranchExportCommand.java
new file mode 100644
index 00000000000..0e0fc1320a1
--- /dev/null
+++ b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/console/BranchExportCommand.java
@@ -0,0 +1,158 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 2007 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.orcs.core.internal.console;
+
+import java.net.URI;
+import java.util.Arrays;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.concurrent.Callable;
+import org.eclipse.osee.console.admin.Console;
+import org.eclipse.osee.console.admin.ConsoleCommand;
+import org.eclipse.osee.console.admin.ConsoleParameters;
+import org.eclipse.osee.executor.admin.CancellableCallable;
+import org.eclipse.osee.framework.core.data.IOseeBranch;
+import org.eclipse.osee.framework.core.enums.BranchArchivedState;
+import org.eclipse.osee.framework.core.enums.BranchType;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.core.model.Branch;
+import org.eclipse.osee.framework.core.model.cache.BranchCache;
+import org.eclipse.osee.framework.core.model.cache.BranchFilter;
+import org.eclipse.osee.framework.core.services.IOseeCachingService;
+import org.eclipse.osee.framework.core.util.Conditions;
+import org.eclipse.osee.framework.jdk.core.type.PropertyStore;
+import org.eclipse.osee.orcs.ExportOptions;
+import org.eclipse.osee.orcs.OrcsApi;
+import org.eclipse.osee.orcs.OrcsBranch;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public final class BranchExportCommand implements ConsoleCommand {
+
+ private OrcsApi orcsApi;
+ private IOseeCachingService cachingService;
+
+ public void setOrcsApi(OrcsApi orcsApi) {
+ this.orcsApi = orcsApi;
+ }
+
+ public OrcsApi getOrcsApi() {
+ return orcsApi;
+ }
+
+ public void setCachingService(IOseeCachingService cachingService) {
+ this.cachingService = cachingService;
+ }
+
+ public IOseeCachingService getCachingService() {
+ return cachingService;
+ }
+
+ @Override
+ public String getName() {
+ return "branch_export";
+ }
+
+ @Override
+ public String getDescription() {
+ return "Export a specific set of branches into an exchange zip file.";
+ }
+
+ @Override
+ public String getUsage() {
+ return "uri=<EXCHANGE_FILE_LOCATION> [compress=<TRUE|FALSE>] [minTx=<TX_ID>] [maxTx=<TX_ID>] [includeArchivedBranches=<TRUE|FALSE>] " + //
+ "[excludeBranchIds=<BRANCH_IDS,...>] [includeBranchIds=<BRANCH_IDS>]";
+ }
+
+ @Override
+ public Callable<?> createCallable(Console console, ConsoleParameters params) {
+ String exportFileName = params.get("uri");
+ boolean includeArchivedBranches = params.getBoolean("includeArchivedBranches");
+
+ PropertyStore options = new PropertyStore();
+ if (params.exists("minTx")) {
+ options.put(ExportOptions.MIN_TXS.name(), params.getLong("minTx"));
+ }
+ if (params.exists("maxTx")) {
+ options.put(ExportOptions.MAX_TXS.name(), params.getLong("maxTx"));
+ }
+
+ List<String> excludeBranchIds = Arrays.asList(params.getArray("excludeBranchIds"));
+ List<String> includeBranchIds = Arrays.asList(params.getArray("includeBranchIds"));
+
+ OrcsBranch orcsBranch = getOrcsApi().getBranchOps(null);
+ return new ExportBranchCallable(console, orcsBranch, getCachingService().getBranchCache(), exportFileName,
+ options, includeArchivedBranches, includeBranchIds, excludeBranchIds);
+ }
+
+ private static class ExportBranchCallable extends CancellableCallable<URI> {
+
+ private final Console console;
+ private final OrcsBranch orcsBranch;
+ private final BranchCache branchCache;
+ private final PropertyStore options;
+ private final String exportFileName;
+ private final boolean includeArchivedBranches;
+
+ private final List<String> includeBranchIds;
+ private final List<String> excludeBranchIds;
+
+ public ExportBranchCallable(Console console, OrcsBranch orcsBranch, BranchCache branchCache, String exportFileName, PropertyStore options, boolean includeArchivedBranches, List<String> includeBranchIds, List<String> excludeBranchIds) {
+ this.console = console;
+ this.orcsBranch = orcsBranch;
+ this.branchCache = branchCache;
+ this.options = options;
+ this.exportFileName = exportFileName;
+ this.includeArchivedBranches = includeArchivedBranches;
+ this.includeBranchIds = includeBranchIds;
+ this.excludeBranchIds = excludeBranchIds;
+ }
+
+ private List<IOseeBranch> getBranchesToExport() throws OseeCoreException {
+ List<IOseeBranch> branches = new LinkedList<IOseeBranch>();
+ if (includeBranchIds.isEmpty()) {
+ BranchFilter filter;
+ if (includeArchivedBranches) {
+ filter = new BranchFilter(BranchArchivedState.ALL, BranchType.values());
+ } else {
+ filter = new BranchFilter(BranchArchivedState.UNARCHIVED, BranchType.values());
+ }
+ for (Branch branch : branchCache.getBranches(filter)) {
+ branches.add(branch);
+ }
+ } else {
+ for (String branchIdString : includeBranchIds) {
+ int branchId = Integer.parseInt(branchIdString);
+ branches.add(branchCache.getById(branchId));
+ }
+ }
+
+ if (!excludeBranchIds.isEmpty()) {
+ for (String branchIdString : excludeBranchIds) {
+ int branchId = Integer.parseInt(branchIdString);
+ Branch toExclude = branchCache.getById(branchId);
+ branches.remove(toExclude);
+ }
+ }
+ return branches;
+ }
+
+ @Override
+ public URI call() throws Exception {
+ Conditions.checkNotNullOrEmpty(exportFileName, "exportFileName");
+ List<IOseeBranch> branches = getBranchesToExport();
+ console.writeln("Exporting: [%s] branches", branches.size());
+ Callable<URI> callable = orcsBranch.exportBranch(branches, options, exportFileName);
+ return callable.call();
+ }
+ }
+} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/console/BranchImportCommand.java b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/console/BranchImportCommand.java
new file mode 100644
index 00000000000..5f26e257b5d
--- /dev/null
+++ b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/console/BranchImportCommand.java
@@ -0,0 +1,131 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 2007 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.orcs.core.internal.console;
+
+import java.net.URI;
+import java.util.Arrays;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.concurrent.Callable;
+import org.eclipse.osee.console.admin.Console;
+import org.eclipse.osee.console.admin.ConsoleCommand;
+import org.eclipse.osee.console.admin.ConsoleParameters;
+import org.eclipse.osee.executor.admin.CancellableCallable;
+import org.eclipse.osee.framework.core.data.IOseeBranch;
+import org.eclipse.osee.framework.core.exception.OseeArgumentException;
+import org.eclipse.osee.framework.core.model.cache.BranchCache;
+import org.eclipse.osee.framework.core.services.IOseeCachingService;
+import org.eclipse.osee.framework.jdk.core.type.PropertyStore;
+import org.eclipse.osee.orcs.ExportOptions;
+import org.eclipse.osee.orcs.ImportOptions;
+import org.eclipse.osee.orcs.OrcsApi;
+import org.eclipse.osee.orcs.OrcsBranch;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public final class BranchImportCommand implements ConsoleCommand {
+
+ private OrcsApi orcsApi;
+ private IOseeCachingService cachingService;
+
+ public void setOrcsApi(OrcsApi orcsApi) {
+ this.orcsApi = orcsApi;
+ }
+
+ public OrcsApi getOrcsApi() {
+ return orcsApi;
+ }
+
+ public void setCachingService(IOseeCachingService cachingService) {
+ this.cachingService = cachingService;
+ }
+
+ public IOseeCachingService getCachingService() {
+ return cachingService;
+ }
+
+ @Override
+ public String getName() {
+ return "branch_import";
+ }
+
+ @Override
+ public String getDescription() {
+ return "Import a specific set of branches from an exchange zip file";
+ }
+
+ @Override
+ public String getUsage() {
+ return "uri=<EXCHANGE_FILE_LOCATION,...> [branchIds=<BRANCH_IDS,...>] [minTx=<TX_ID>] [maxTx=<TX_ID>] [excludeBaselineTxs=<TRUE|FALSE>] [allAsRootBranches=<TRUE|FALSE>] [clean=<TRUE|FALSE>]";
+ }
+
+ @Override
+ public Callable<?> createCallable(Console console, ConsoleParameters params) {
+ List<String> importFiles = Arrays.asList(params.getArray("uri"));
+ List<String> branchIds = Arrays.asList(params.getArray("branchIds"));
+
+ PropertyStore options = new PropertyStore();
+ if (params.exists("minTx")) {
+ options.put(ExportOptions.MIN_TXS.name(), params.getLong("minTx"));
+ }
+ if (params.exists("maxTx")) {
+ options.put(ExportOptions.MAX_TXS.name(), params.getLong("maxTx"));
+ }
+ options.put(ImportOptions.EXCLUDE_BASELINE_TXS.name(), params.getBoolean("excludeBaselineTxs"));
+ options.put(ImportOptions.ALL_AS_ROOT_BRANCHES.name(), params.getBoolean("allAsRootBranches"));
+ options.put(ImportOptions.CLEAN_BEFORE_IMPORT.name(), params.getBoolean("clean"));
+
+ OrcsBranch orcsBranch = getOrcsApi().getBranchOps(null);
+ return new ImportBranchDelegateCallable(console, orcsBranch, getCachingService().getBranchCache(), options,
+ importFiles, branchIds);
+ }
+
+ private static final class ImportBranchDelegateCallable extends CancellableCallable<Boolean> {
+
+ private final Console console;
+ private final OrcsBranch orcsBranch;
+ private final BranchCache branchCache;
+ private final PropertyStore options;
+ private final List<String> importFiles;
+ private final List<String> branchIds;
+
+ public ImportBranchDelegateCallable(Console console, OrcsBranch orcsBranch, BranchCache branchCache, PropertyStore options, List<String> importFiles, List<String> branchIds) {
+ super();
+ this.console = console;
+ this.orcsBranch = orcsBranch;
+ this.branchCache = branchCache;
+ this.options = options;
+ this.importFiles = importFiles;
+ this.branchIds = branchIds;
+ }
+
+ @Override
+ public Boolean call() throws Exception {
+ if (importFiles.isEmpty()) {
+ throw new OseeArgumentException("Files to import were not specified");
+ }
+
+ List<IOseeBranch> branches = new LinkedList<IOseeBranch>();
+ for (String branchIdString : branchIds) {
+ IOseeBranch branch = branchCache.getById(Integer.parseInt(branchIdString));
+ branches.add(branch);
+ }
+
+ for (String fileToImport : importFiles) {
+ URI uri = new URI("exchange://" + fileToImport);
+ console.writeln("Importing from [%s]", uri);
+ orcsBranch.importBranch(uri, branches, options);
+ }
+ return Boolean.TRUE;
+ }
+ }
+}
diff --git a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/console/BranchPurgeCommand.java b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/console/BranchPurgeCommand.java
new file mode 100644
index 00000000000..7e076b1e24f
--- /dev/null
+++ b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/console/BranchPurgeCommand.java
@@ -0,0 +1,145 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 2007 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.orcs.core.internal.console;
+
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Set;
+import java.util.concurrent.Callable;
+import org.eclipse.osee.console.admin.Console;
+import org.eclipse.osee.console.admin.ConsoleCommand;
+import org.eclipse.osee.console.admin.ConsoleParameters;
+import org.eclipse.osee.executor.admin.CancellableCallable;
+import org.eclipse.osee.framework.core.enums.BranchArchivedState;
+import org.eclipse.osee.framework.core.enums.BranchState;
+import org.eclipse.osee.framework.core.enums.BranchType;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.core.model.Branch;
+import org.eclipse.osee.framework.core.model.ReadableBranch;
+import org.eclipse.osee.framework.core.model.cache.BranchCache;
+import org.eclipse.osee.framework.core.model.cache.BranchFilter;
+import org.eclipse.osee.framework.core.services.IOseeCachingService;
+import org.eclipse.osee.framework.core.util.Conditions;
+import org.eclipse.osee.orcs.OrcsApi;
+import org.eclipse.osee.orcs.OrcsBranch;
+import org.eclipse.osee.orcs.core.internal.branch.BranchUtil;
+import org.eclipse.osee.orcs.core.internal.branch.provider.BranchProvider;
+import org.eclipse.osee.orcs.core.internal.branch.provider.MultiBranchProvider;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public final class BranchPurgeCommand implements ConsoleCommand {
+
+ private OrcsApi orcsApi;
+ private IOseeCachingService cachingService;
+
+ public void setOrcsApi(OrcsApi orcsApi) {
+ this.orcsApi = orcsApi;
+ }
+
+ public OrcsApi getOrcsApi() {
+ return orcsApi;
+ }
+
+ public void setCachingService(IOseeCachingService cachingService) {
+ this.cachingService = cachingService;
+ }
+
+ public IOseeCachingService getCachingService() {
+ return cachingService;
+ }
+
+ @Override
+ public String getName() {
+ return "branch_purge";
+ }
+
+ @Override
+ public String getDescription() {
+ return "Permenatly remove all branches matching the passed in criteria";
+ }
+
+ @Override
+ public String getUsage() {
+ // includeChildren excludes baseline branches
+ return "[branchGuids=<BRANCH_GUID,..>] [includeChildren=<TRUE|FALSE>] [deletedAndArchivedOnly=<TRUE|FALSE>]";
+ }
+
+ @Override
+ public Callable<?> createCallable(Console console, ConsoleParameters params) {
+ List<String> branchGuids = Arrays.asList(params.getArray("branchGuids"));
+ boolean includeChildren = params.getBoolean("includeChildren");
+ boolean deletedAndArchivedOnly = params.getBoolean("deletedAndArchivedOnly");
+
+ OrcsBranch orcsBranch = getOrcsApi().getBranchOps(null);
+ return new PurgeBranchCallable(console, orcsBranch, getCachingService().getBranchCache(), branchGuids,
+ includeChildren, deletedAndArchivedOnly);
+ }
+
+ private static class PurgeBranchCallable extends CancellableCallable<List<ReadableBranch>> {
+
+ private final Console console;
+ private final OrcsBranch orcsBranch;
+ private final BranchCache branchCache;
+ private final List<String> branchGuids;
+ private final boolean includeChildren;
+ private final boolean deletedAndArchivedOnly;
+
+ public PurgeBranchCallable(Console console, OrcsBranch orcsBranch, BranchCache branchCache, List<String> branchGuids, boolean includeChildren, boolean deletedAndArchivedOnly) {
+ this.console = console;
+ this.orcsBranch = orcsBranch;
+ this.branchCache = branchCache;
+ this.branchGuids = branchGuids;
+ this.includeChildren = includeChildren;
+ this.deletedAndArchivedOnly = deletedAndArchivedOnly;
+ }
+
+ private Collection<Branch> getBranchesToPurge() throws OseeCoreException {
+ Set<Branch> branches = new HashSet<Branch>();
+ for (String guid : branchGuids) {
+ branches.add(branchCache.getByGuid(guid));
+ }
+ BranchFilter branchFilter;
+ if (deletedAndArchivedOnly) {
+ branchFilter = new BranchFilter(BranchArchivedState.ARCHIVED);
+ branchFilter.setBranchStates(BranchState.DELETED);
+ } else {
+ branchFilter = new BranchFilter();
+ }
+ branchFilter.setNegatedBranchTypes(BranchType.BASELINE);
+
+ BranchProvider provider = new MultiBranchProvider(includeChildren, branches, branchFilter);
+ return provider.getBranches();
+ }
+
+ @Override
+ public List<ReadableBranch> call() throws Exception {
+ Collection<Branch> branchesToPurge = getBranchesToPurge();
+ Conditions.checkNotNull(branchesToPurge, "branchesToPurge");
+
+ List<ReadableBranch> purged = new LinkedList<ReadableBranch>();
+ List<Branch> orderedBranches = BranchUtil.orderByParent(branchesToPurge);
+ int size = orderedBranches.size();
+ int count = 0;
+ for (Branch aBranch : orderedBranches) {
+ console.writeln("Purging Branch [%s of %s]: [%s]", ++count, size, aBranch);
+ Callable<List<ReadableBranch>> callable = orcsBranch.purgeBranch(aBranch, false);
+ purged.addAll(callable.call());
+ }
+ return purged;
+ }
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/console/CacheUpdateCommand.java b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/console/CacheUpdateCommand.java
new file mode 100644
index 00000000000..79fcea2e0dc
--- /dev/null
+++ b/plugins/org.eclipse.osee.orcs.core/src/org/eclipse/osee/orcs/core/internal/console/CacheUpdateCommand.java
@@ -0,0 +1,119 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 2007 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.orcs.core.internal.console;
+
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+import java.util.concurrent.Callable;
+import org.eclipse.osee.console.admin.Console;
+import org.eclipse.osee.console.admin.ConsoleCommand;
+import org.eclipse.osee.console.admin.ConsoleParameters;
+import org.eclipse.osee.executor.admin.CancellableCallable;
+import org.eclipse.osee.framework.core.enums.OseeCacheEnum;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.core.model.cache.IOseeCache;
+import org.eclipse.osee.framework.core.services.IOseeCachingService;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class CacheUpdateCommand implements ConsoleCommand {
+
+ private static final OseeCacheEnum[] reloadableCaches = {
+ OseeCacheEnum.ARTIFACT_TYPE_CACHE,
+ OseeCacheEnum.BRANCH_CACHE,
+ OseeCacheEnum.TRANSACTION_CACHE};
+
+ private IOseeCachingService cachingService;
+
+ public IOseeCachingService getCachingService() {
+ return cachingService;
+ }
+
+ public void setCachingService(IOseeCachingService cachingService) {
+ this.cachingService = cachingService;
+ }
+
+ @Override
+ public String getName() {
+ return "update_cache";
+ }
+
+ @Override
+ public String getDescription() {
+ return "Updates server caches";
+ }
+
+ @Override
+ public String getUsage() {
+ StringBuilder builder = new StringBuilder();
+ builder.append(" - Update all caches.\n");
+ builder.append("cache=<");
+ builder.append(Arrays.deepToString(reloadableCaches).replaceAll(",", " | "));
+ builder.append("> - Caches to update.\n");
+ return builder.toString();
+ }
+
+ @Override
+ public Callable<?> createCallable(Console console, ConsoleParameters params) {
+ Set<OseeCacheEnum> cacheIds = new HashSet<OseeCacheEnum>();
+ for (String cacheId : params.getArray("cacheId")) {
+ cacheIds.add(OseeCacheEnum.valueOf(cacheId.toUpperCase()));
+ }
+ if (cacheIds.isEmpty()) {
+ cacheIds.addAll(Arrays.asList(reloadableCaches));
+ }
+ return new CacheUpdateCallable(console, getCachingService(), cacheIds, true);
+ }
+
+ private final static class CacheUpdateCallable extends CancellableCallable<Boolean> {
+
+ private final Console console;
+ private final IOseeCachingService cachingService;
+ private final Set<OseeCacheEnum> cacheIds;
+ private final boolean reload;
+ private final String verb;
+
+ public CacheUpdateCallable(Console console, IOseeCachingService cachingService, Set<OseeCacheEnum> cacheIds, boolean reload) {
+ this.console = console;
+ this.cachingService = cachingService;
+ this.cacheIds = cacheIds;
+ this.reload = reload;
+ this.verb = reload ? "Reloaded" : "Cleared";
+ }
+
+ @Override
+ public Boolean call() throws OseeCoreException {
+ if (cacheIds.isEmpty()) {
+ if (reload) {
+ cachingService.reloadAll();
+ } else {
+ cachingService.clearAll();
+ }
+ console.writeln("%s the following caches: %s", verb,
+ Arrays.deepToString(OseeCacheEnum.values()).replaceAll(", SESSION_CACHE", ""));
+ } else {
+ for (OseeCacheEnum cacheId : cacheIds) {
+ IOseeCache<?, ?> cache = cachingService.getCache(cacheId);
+ if (reload) {
+ cache.reloadCache();
+ } else {
+ cache.decacheAll();
+ }
+ }
+ console.writeln("%s %s", verb, cacheIds);
+ }
+ return Boolean.TRUE;
+ }
+ }
+
+} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.orcs.db.test/META-INF/MANIFEST.MF b/plugins/org.eclipse.osee.orcs.db.test/META-INF/MANIFEST.MF
index 05760fd58fd..a88ec392bd6 100644
--- a/plugins/org.eclipse.osee.orcs.db.test/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.osee.orcs.db.test/META-INF/MANIFEST.MF
@@ -19,3 +19,4 @@ Import-Package: org.eclipse.osee.framework.core.data,
org.junit.rules;version="4.8.2",
org.junit.runner;version="4.8.2",
org.junit.runners;version="4.8.2"
+Require-Bundle: org.eclipse.osee.framework.core
diff --git a/plugins/org.eclipse.osee.orcs.db/META-INF/MANIFEST.MF b/plugins/org.eclipse.osee.orcs.db/META-INF/MANIFEST.MF
index 29d2b1a3575..3c19586905e 100644
--- a/plugins/org.eclipse.osee.orcs.db/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.osee.orcs.db/META-INF/MANIFEST.MF
@@ -6,7 +6,8 @@ Bundle-Version: 0.9.9.qualifier
Bundle-Vendor: Eclipse Open System Engineering Environment
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Service-Component: OSGI-INF/*.xml
-Import-Package: org.eclipse.osee.database.schema,
+Import-Package: org.eclipse.osee.console.admin,
+ org.eclipse.osee.database.schema,
org.eclipse.osee.event,
org.eclipse.osee.executor.admin,
org.eclipse.osee.framework.core.data,
diff --git a/plugins/org.eclipse.osee.orcs.db/OSGI-INF/consolidate.artifacts.console.command.xml b/plugins/org.eclipse.osee.orcs.db/OSGI-INF/consolidate.artifacts.console.command.xml
new file mode 100644
index 00000000000..a204b7f1086
--- /dev/null
+++ b/plugins/org.eclipse.osee.orcs.db/OSGI-INF/consolidate.artifacts.console.command.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.osee.orcs.db.internal.console.ConsolidateArtifactVersionsCommand">
+ <implementation class="org.eclipse.osee.orcs.db.internal.console.ConsolidateArtifactVersionsCommand"/>
+ <service>
+ <provide interface="org.eclipse.osee.console.admin.ConsoleCommand"/>
+ </service>
+ <reference bind="setLogger" cardinality="1..1" interface="org.eclipse.osee.logger.Log" name="Log" policy="static"/>
+ <reference bind="setDatabaseService" cardinality="1..1" interface="org.eclipse.osee.framework.database.IOseeDatabaseService" name="IOseeDatabaseService" policy="static"/>
+</scr:component>
diff --git a/plugins/org.eclipse.osee.orcs.db/OSGI-INF/consolidate.relations.console.command.xml b/plugins/org.eclipse.osee.orcs.db/OSGI-INF/consolidate.relations.console.command.xml
new file mode 100644
index 00000000000..1010916a947
--- /dev/null
+++ b/plugins/org.eclipse.osee.orcs.db/OSGI-INF/consolidate.relations.console.command.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.osee.orcs.db.internal.console.ConsolidateRelationsCommand">
+ <implementation class="org.eclipse.osee.orcs.db.internal.console.ConsolidateRelationsCommand"/>
+ <service>
+ <provide interface="org.eclipse.osee.console.admin.ConsoleCommand"/>
+ </service>
+ <reference bind="setLogger" cardinality="1..1" interface="org.eclipse.osee.logger.Log" name="Log" policy="static"/>
+ <reference bind="setDatabaseService" cardinality="1..1" interface="org.eclipse.osee.framework.database.IOseeDatabaseService" name="IOseeDatabaseService" policy="static"/>
+</scr:component>
diff --git a/plugins/org.eclipse.osee.orcs.db/OSGI-INF/fix.duplicate.attributes.console.command.xml b/plugins/org.eclipse.osee.orcs.db/OSGI-INF/fix.duplicate.attributes.console.command.xml
new file mode 100644
index 00000000000..c0cfb8b32e0
--- /dev/null
+++ b/plugins/org.eclipse.osee.orcs.db/OSGI-INF/fix.duplicate.attributes.console.command.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.osee.orcs.db.internal.console.FixDuplicateAttributesCommand">
+ <implementation class="org.eclipse.osee.orcs.db.internal.console.FixDuplicateAttributesCommand"/>
+ <service>
+ <provide interface="org.eclipse.osee.console.admin.ConsoleCommand"/>
+ </service>
+ <reference bind="setLogger" cardinality="1..1" interface="org.eclipse.osee.logger.Log" name="Log" policy="static"/>
+ <reference bind="setDatabaseService" cardinality="1..1" interface="org.eclipse.osee.framework.database.IOseeDatabaseService" name="IOseeDatabaseService" policy="static"/>
+ <reference bind="setCachingService" cardinality="1..1" interface="org.eclipse.osee.framework.core.services.IOseeCachingService" name="IOseeCachingService" policy="static"/>
+</scr:component>
diff --git a/plugins/org.eclipse.osee.orcs.db/OSGI-INF/purge.relation.type.console.command.xml b/plugins/org.eclipse.osee.orcs.db/OSGI-INF/purge.relation.type.console.command.xml
new file mode 100644
index 00000000000..59e2ff2f622
--- /dev/null
+++ b/plugins/org.eclipse.osee.orcs.db/OSGI-INF/purge.relation.type.console.command.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.osee.orcs.db.internal.console.PurgeRelationTypeCommand">
+ <implementation class="org.eclipse.osee.orcs.db.internal.console.PurgeRelationTypeCommand"/>
+ <service>
+ <provide interface="org.eclipse.osee.console.admin.ConsoleCommand"/>
+ </service>
+ <reference bind="setLogger" cardinality="1..1" interface="org.eclipse.osee.logger.Log" name="Log" policy="static"/>
+ <reference bind="setDatabaseService" cardinality="1..1" interface="org.eclipse.osee.framework.database.IOseeDatabaseService" name="IOseeDatabaseService" policy="static"/>
+ <reference bind="setCachingService" cardinality="1..1" interface="org.eclipse.osee.framework.core.services.IOseeCachingService" name="IOseeCachingService" policy="static"/>
+ <reference bind="setIdentityService" cardinality="1..1" interface="org.eclipse.osee.framework.core.services.IdentityService" name="IdentityService" policy="static"/>
+</scr:component>
diff --git a/plugins/org.eclipse.osee.orcs.db/OSGI-INF/purge.transaction.console.command.xml b/plugins/org.eclipse.osee.orcs.db/OSGI-INF/purge.transaction.console.command.xml
new file mode 100644
index 00000000000..6337c341e33
--- /dev/null
+++ b/plugins/org.eclipse.osee.orcs.db/OSGI-INF/purge.transaction.console.command.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.osee.orcs.db.internal.console.PurgeTransactionCommand">
+ <implementation class="org.eclipse.osee.orcs.db.internal.console.PurgeTransactionCommand"/>
+ <service>
+ <provide interface="org.eclipse.osee.console.admin.ConsoleCommand"/>
+ </service>
+ <reference bind="setDatabaseService" cardinality="1..1" interface="org.eclipse.osee.framework.database.IOseeDatabaseService" name="IOseeDatabaseService" policy="static"/>
+</scr:component>
diff --git a/plugins/org.eclipse.osee.orcs.db/OSGI-INF/tx.currents.console.command.xml b/plugins/org.eclipse.osee.orcs.db/OSGI-INF/tx.currents.console.command.xml
new file mode 100644
index 00000000000..5f740ee9053
--- /dev/null
+++ b/plugins/org.eclipse.osee.orcs.db/OSGI-INF/tx.currents.console.command.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.osee.orcs.db.internal.console.TxCurrentsCommand">
+ <implementation class="org.eclipse.osee.orcs.db.internal.console.TxCurrentsCommand"/>
+ <service>
+ <provide interface="org.eclipse.osee.console.admin.ConsoleCommand"/>
+ </service>
+ <reference bind="setDatabaseService" cardinality="1..1" interface="org.eclipse.osee.framework.database.IOseeDatabaseService" name="IOseeDatabaseService" policy="static"/>
+</scr:component>
diff --git a/plugins/org.eclipse.osee.orcs.db/OSGI-INF/tx.prune.console.command.xml b/plugins/org.eclipse.osee.orcs.db/OSGI-INF/tx.prune.console.command.xml
new file mode 100644
index 00000000000..fbf6765e580
--- /dev/null
+++ b/plugins/org.eclipse.osee.orcs.db/OSGI-INF/tx.prune.console.command.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.osee.orcs.db.internal.console.TxPruneCommand">
+ <implementation class="org.eclipse.osee.orcs.db.internal.console.TxPruneCommand"/>
+ <service>
+ <provide interface="org.eclipse.osee.console.admin.ConsoleCommand"/>
+ </service>
+ <reference bind="setDatabaseService" cardinality="1..1" interface="org.eclipse.osee.framework.database.IOseeDatabaseService" name="IOseeDatabaseService" policy="static"/>
+</scr:component>
diff --git a/plugins/org.eclipse.osee.orcs.db/build.properties b/plugins/org.eclipse.osee.orcs.db/build.properties
index d1d6ed90773..84f5166f881 100644
--- a/plugins/org.eclipse.osee.orcs.db/build.properties
+++ b/plugins/org.eclipse.osee.orcs.db/build.properties
@@ -16,4 +16,5 @@ additional.bundles = org.eclipse.osee.framework.database,\
org.eclipse.osee.orcs,\
org.eclipse.osee.event,\
org.eclipse.osee.executor.admin,\
- org.eclipse.osee.database.schema
+ org.eclipse.osee.database.schema,\
+ org.eclipse.osee.console.admin
diff --git a/plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/operation/ConsolidateArtifactVersionTxOperation.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/callable/ConsolidateArtifactVersionDatabaseTxCallable.java
index 2336909bce9..8b81396c898 100644
--- a/plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/operation/ConsolidateArtifactVersionTxOperation.java
+++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/callable/ConsolidateArtifactVersionDatabaseTxCallable.java
@@ -8,7 +8,7 @@
* Contributors:
* Boeing - initial API and implementation
*******************************************************************************/
-package org.eclipse.osee.framework.database.operation;
+package org.eclipse.osee.orcs.db.internal.callable;
import static org.eclipse.osee.framework.core.enums.ModificationType.DELETED;
import static org.eclipse.osee.framework.core.enums.ModificationType.INTRODUCED;
@@ -17,25 +17,25 @@ import static org.eclipse.osee.framework.core.enums.ModificationType.MODIFIED;
import static org.eclipse.osee.framework.core.enums.ModificationType.NEW;
import java.util.ArrayList;
import java.util.List;
-import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.osee.console.admin.Console;
+import org.eclipse.osee.database.schema.DatabaseTxCallable;
import org.eclipse.osee.framework.core.enums.ModificationType;
import org.eclipse.osee.framework.core.enums.TxChange;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.core.exception.OseeStateException;
-import org.eclipse.osee.framework.core.operation.OperationLogger;
import org.eclipse.osee.framework.database.IOseeDatabaseService;
-import org.eclipse.osee.framework.database.core.AbstractDbTxOperation;
import org.eclipse.osee.framework.database.core.ArtifactJoinQuery;
import org.eclipse.osee.framework.database.core.ExportImportJoinQuery;
import org.eclipse.osee.framework.database.core.IOseeStatement;
import org.eclipse.osee.framework.database.core.JoinUtility;
import org.eclipse.osee.framework.database.core.OseeConnection;
-import org.eclipse.osee.framework.database.internal.Activator;
+import org.eclipse.osee.framework.database.operation.Address;
+import org.eclipse.osee.logger.Log;
/**
* @author Ryan D. Brooks
*/
-public class ConsolidateArtifactVersionTxOperation extends AbstractDbTxOperation {
+public class ConsolidateArtifactVersionDatabaseTxCallable extends DatabaseTxCallable<Object> {
private static final String SELECT_ARTIFACT_VERSIONS = "select * from osee_artifact order by art_id, gamma_id";
private static final String SELECT_ADDRESSING =
@@ -76,8 +76,11 @@ public class ConsolidateArtifactVersionTxOperation extends AbstractDbTxOperation
private int updateTxsCounter;
private int deleteTxsCounter;
- public ConsolidateArtifactVersionTxOperation(IOseeDatabaseService databaseService, OperationLogger logger) {
- super(databaseService, "Consolidate Artifact Versions", Activator.PLUGIN_ID, logger);
+ private final Console console;
+
+ public ConsolidateArtifactVersionDatabaseTxCallable(Log logger, IOseeDatabaseService databaseService, Console console) {
+ super(logger, databaseService, "Consolidate Artifact Versions");
+ this.console = console;
}
private void init() throws OseeCoreException {
@@ -187,28 +190,29 @@ public class ConsolidateArtifactVersionTxOperation extends AbstractDbTxOperation
}
}
if (!knownCase) {
- logf("unknown case: artifact id: %d branch_id: %d", previousArtifactId, previousBranchId);
+ console.writeln("unknown case: artifact id: %d branch_id: %d", previousArtifactId, previousBranchId);
}
}
@Override
- protected void doTxWork(IProgressMonitor monitor, OseeConnection connection) throws OseeCoreException {
+ protected Object handleTxWork(OseeConnection connection) throws OseeCoreException {
+
this.connection = connection;
init();
findArtifactMods();
- logf("updateTxsCurrentModData size: %d", updateTxsCurrentModData.size());
- logf("addressingToDelete size: %d", addressingToDelete.size());
+ console.writeln("updateTxsCurrentModData size: %d", updateTxsCurrentModData.size());
+ console.writeln("addressingToDelete size: %d", addressingToDelete.size());
getDatabaseService().runBatchUpdate(connection, prepareSql(UPDATE_TXS_MOD_CURRENT, false),
updateTxsCurrentModData);
getDatabaseService().runBatchUpdate(connection, prepareSql(DELETE_TXS, false), addressingToDelete);
findObsoleteGammas();
- logf("gamma join size: %d", gammaJoin.size());
+ console.writeln("gamma join size: %d", gammaJoin.size());
- logf("Number of artifact version rows deleted: %d",
+ console.writeln("Number of artifact version rows deleted: %d",
getDatabaseService().runBatchUpdate(connection, DELETE_ARTIFACT_VERSIONS, deleteArtifactVersionData));
deleteArtifactVersionData = null;
@@ -221,11 +225,13 @@ public class ConsolidateArtifactVersionTxOperation extends AbstractDbTxOperation
determineAffectedAddressingAndFix(true);
gammaJoin.delete(connection);
+
+ return null;
}
private void updataConflicts(String columnName) throws OseeCoreException {
int count = getDatabaseService().runPreparedUpdate(connection, String.format(UPDATE_CONFLICTS, columnName));
- logf("updated %s in %d rows", columnName, count);
+ console.writeln("updated %s in %d rows", columnName, count);
}
private void findObsoleteGammas() throws OseeCoreException {
@@ -258,7 +264,7 @@ public class ConsolidateArtifactVersionTxOperation extends AbstractDbTxOperation
private void determineAffectedAddressingAndFix(boolean archived) throws OseeCoreException {
try {
- logf("query id: %d", gammaJoin.getQueryId());
+ console.writeln("query id: %d", gammaJoin.getQueryId());
chStmt.runPreparedQuery(10000, String.format(SELECT_ADDRESSING, archived ? "_archived" : ""),
gammaJoin.getQueryId());
@@ -321,7 +327,7 @@ public class ConsolidateArtifactVersionTxOperation extends AbstractDbTxOperation
if (addressingToDelete.size() > 99960 || force) {
deleteTxsCounter +=
getDatabaseService().runBatchUpdate(connection, prepareSql(DELETE_TXS, archived), addressingToDelete);
- logf("Number of txs%s rows deleted: %d", archivedStr, deleteTxsCounter);
+ console.writeln("Number of txs%s rows deleted: %d", archivedStr, deleteTxsCounter);
addressingToDelete.clear();
}
@@ -329,7 +335,7 @@ public class ConsolidateArtifactVersionTxOperation extends AbstractDbTxOperation
updateTxsCounter +=
getDatabaseService().runBatchUpdate(connection, prepareSql(UPDATE_TXS_GAMMAS, archived),
updateAddressingData);
- logf("Number of txs%s rows updated: %d", archivedStr, updateTxsCounter);
+ console.writeln("Number of txs%s rows updated: %d", archivedStr, updateTxsCounter);
updateAddressingData.clear();
}
@@ -344,4 +350,5 @@ public class ConsolidateArtifactVersionTxOperation extends AbstractDbTxOperation
previousArtifactId = artifactId;
netGamma = chStmt.getInt("gamma_id");
}
+
} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/operation/ConsolidateRelationsTxOperation.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/callable/ConsolidateRelationsDatabaseTxCallable.java
index fe9da980a10..e6de68d28e6 100644
--- a/plugins/org.eclipse.osee.framework.database/src/org/eclipse/osee/framework/database/operation/ConsolidateRelationsTxOperation.java
+++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/callable/ConsolidateRelationsDatabaseTxCallable.java
@@ -8,30 +8,29 @@
* Contributors:
* Boeing - initial API and implementation
*******************************************************************************/
-package org.eclipse.osee.framework.database.operation;
+package org.eclipse.osee.orcs.db.internal.callable;
import java.util.ArrayList;
import java.util.List;
-import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.osee.console.admin.Console;
+import org.eclipse.osee.database.schema.DatabaseTxCallable;
import org.eclipse.osee.framework.core.enums.ModificationType;
import org.eclipse.osee.framework.core.enums.TxChange;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.core.exception.OseeStateException;
-import org.eclipse.osee.framework.core.operation.OperationLogger;
import org.eclipse.osee.framework.database.IOseeDatabaseService;
-import org.eclipse.osee.framework.database.core.AbstractDbTxOperation;
import org.eclipse.osee.framework.database.core.ConnectionHandler;
import org.eclipse.osee.framework.database.core.ExportImportJoinQuery;
import org.eclipse.osee.framework.database.core.IOseeStatement;
import org.eclipse.osee.framework.database.core.JoinUtility;
import org.eclipse.osee.framework.database.core.OseeConnection;
-import org.eclipse.osee.framework.database.internal.Activator;
import org.eclipse.osee.framework.jdk.core.util.Strings;
+import org.eclipse.osee.logger.Log;
/**
* @author Ryan D. Brooks
*/
-public class ConsolidateRelationsTxOperation extends AbstractDbTxOperation {
+public class ConsolidateRelationsDatabaseTxCallable extends DatabaseTxCallable<Object> {
private static final String SELECT_RELATIONS =
"select * from osee_relation_link order by rel_link_type_id, a_art_id, b_art_id, gamma_id";
@@ -63,14 +62,17 @@ public class ConsolidateRelationsTxOperation extends AbstractDbTxOperation {
private int counter;
private IOseeStatement chStmt;
+ private final Console console;
+
long previousNetGammaId;
long previousObsoleteGammaId;
int previousTransactionId;
ModificationType netModType;
TxChange netTxCurrent;
- public ConsolidateRelationsTxOperation(IOseeDatabaseService databaseService, OperationLogger logger) {
- super(databaseService, "Consolidate Relations", Activator.PLUGIN_ID, logger);
+ public ConsolidateRelationsDatabaseTxCallable(Log logger, IOseeDatabaseService databaseService, Console console) {
+ super(logger, databaseService, "Consolidate Relations");
+ this.console = console;
}
private void init() throws OseeCoreException {
@@ -94,19 +96,20 @@ public class ConsolidateRelationsTxOperation extends AbstractDbTxOperation {
}
@Override
- protected void doTxWork(IProgressMonitor monitor, OseeConnection connection) throws OseeCoreException {
+ protected Object handleTxWork(OseeConnection connection) throws OseeCoreException {
this.connection = connection;
- log("Consolidating relations:");
+ console.writeln("Consolidating relations:");
init();
findObsoleteRelations();
- log("gamma join size: " + gammaJoin.size());
+ console.writeln("gamma join size: [%s]", gammaJoin.size());
determineAffectedAddressing();
updateGammas();
- log("...done.");
+ console.writeln("...done.");
+ return null;
}
private void findObsoleteRelations() throws OseeCoreException {
@@ -140,7 +143,8 @@ public class ConsolidateRelationsTxOperation extends AbstractDbTxOperation {
}
if (materiallyDifferent) {
counter++;
- log("rel type: " + previousRelationTypeId + " A art id: " + previousArtifactAId + " B art id: " + previousArtiafctBId);
+ console.writeln("rel_type:[%s] a_art_id:[%s] b_art_id:[%s]", previousRelationTypeId, previousArtifactAId,
+ previousArtiafctBId);
}
}
@@ -148,8 +152,8 @@ public class ConsolidateRelationsTxOperation extends AbstractDbTxOperation {
gammaJoin.store();
try {
- log("counter: " + counter);
- log("query id: " + gammaJoin.getQueryId());
+ console.writeln("counter: [%s]", counter);
+ console.writeln("query id: [%s]", gammaJoin.getQueryId());
chStmt.runPreparedQuery(10000, SELECT_RELATION_ADDRESSING, gammaJoin.getQueryId());
while (chStmt.next()) {
@@ -228,13 +232,14 @@ public class ConsolidateRelationsTxOperation extends AbstractDbTxOperation {
}
private void updateGammas() throws OseeCoreException {
- log("Number of txs rows deleted: " + ConnectionHandler.runBatchUpdate(connection, DELETE_TXS, addressingToDelete));
+ console.writeln("Number of txs rows deleted: [%s]",
+ ConnectionHandler.runBatchUpdate(connection, DELETE_TXS, addressingToDelete));
- log("Number of relation rows deleted: " + ConnectionHandler.runBatchUpdate(connection, DELETE_RELATIONS,
- relationDeleteData));
+ console.writeln("Number of relation rows deleted: [%s]",
+ ConnectionHandler.runBatchUpdate(connection, DELETE_RELATIONS, relationDeleteData));
- log("Number of txs rows updated: " + ConnectionHandler.runBatchUpdate(connection, UPDATE_TXS_GAMMAS,
- updateAddressingData));
+ console.writeln("Number of txs rows updated: [%s]",
+ ConnectionHandler.runBatchUpdate(connection, UPDATE_TXS_GAMMAS, updateAddressingData));
}
private void writeAddressingBackup(long obsoleteGammaId, int transactionId, long netGammaId, int modType, TxChange txCurrent) {
@@ -250,7 +255,7 @@ public class ConsolidateRelationsTxOperation extends AbstractDbTxOperation {
strB.append(",");
strB.append(txCurrent.getValue());
strB.append("\n");
- log(strB.toString());
+ console.writeln(strB.toString());
}
private boolean isNextConceptualRelation(int relationTypeId, int artifactAId, int artiafctBId) {
diff --git a/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/DuplicateAttributesOperation.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/callable/DuplicateAttributesDatabaseTxCallable.java
index 91d85ce2a10..c30b4360f1a 100644
--- a/plugins/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/DuplicateAttributesOperation.java
+++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/callable/DuplicateAttributesDatabaseTxCallable.java
@@ -8,55 +8,57 @@
* Contributors:
* Boeing - initial API and implementation
*******************************************************************************/
-package org.eclipse.osee.framework.server.admin;
+package org.eclipse.osee.orcs.db.internal.callable;
/**
* @author Ryan D. Brooks
*/
-import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.osee.console.admin.Console;
+import org.eclipse.osee.database.schema.DatabaseTxCallable;
import org.eclipse.osee.framework.core.enums.TxChange;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.core.exception.OseeDataStoreException;
import org.eclipse.osee.framework.core.model.cache.AttributeTypeCache;
import org.eclipse.osee.framework.core.model.type.AttributeType;
-import org.eclipse.osee.framework.core.operation.OperationLogger;
import org.eclipse.osee.framework.database.IOseeDatabaseService;
-import org.eclipse.osee.framework.database.core.AbstractDbTxOperation;
import org.eclipse.osee.framework.database.core.ExportImportJoinQuery;
import org.eclipse.osee.framework.database.core.IOseeStatement;
import org.eclipse.osee.framework.database.core.IdJoinQuery;
import org.eclipse.osee.framework.database.core.JoinUtility;
import org.eclipse.osee.framework.database.core.OseeConnection;
-import org.eclipse.osee.framework.server.admin.internal.Activator;
+import org.eclipse.osee.logger.Log;
-public final class DuplicateAttributesOperation extends AbstractDbTxOperation {
+public final class DuplicateAttributesDatabaseTxCallable extends DatabaseTxCallable<Object> {
private static final String SELECT_ATTRIBUTES =
"select att1.gamma_id as gamma1, att2.gamma_id as gamma2 from osee_join_id oji, osee_attribute att1, osee_attribute att2 where oji.query_id = ? AND oji.id = att1.attr_type_id and att1.art_id = att2.art_id and att1.attr_type_id = att2.attr_type_id and att1.attr_id <> att2.attr_id";
private static final String SELECT_DUPLICATES =
"select txs1.branch_id, txs1.gamma_id as gamma1, txs2.gamma_id as gamma2 from osee_join_export_import idj, osee_txs txs1, osee_txs txs2 where idj.query_id = ? and idj.id1 = txs1.gamma_id and idj.id2 = txs2.gamma_id and txs1.branch_id = txs2.branch_id and txs1.tx_current = ? and txs2.tx_current = ?";
- private final ExportImportJoinQuery gammaJoin;
+
+ private final Console console;
private final AttributeTypeCache attTypeCache;
- public DuplicateAttributesOperation(OperationLogger logger, AttributeTypeCache attTypeCache, IOseeDatabaseService databaseService) throws OseeDataStoreException {
- super(databaseService, "Duplicate Attributes", Activator.PLUGIN_ID, logger);
- gammaJoin = JoinUtility.createExportImportJoinQuery();
+ public DuplicateAttributesDatabaseTxCallable(Log logger, IOseeDatabaseService databaseService, Console console, AttributeTypeCache attTypeCache) {
+ super(logger, databaseService, "Duplicate Attributes");
+ this.console = console;
this.attTypeCache = attTypeCache;
}
@Override
- protected void doTxWork(IProgressMonitor monitor, OseeConnection connection) throws OseeCoreException {
+ protected Object handleTxWork(OseeConnection connection) throws OseeCoreException {
+ ExportImportJoinQuery gammaJoin = JoinUtility.createExportImportJoinQuery();
try {
- selectAttributes(connection);
+ selectAttributes(gammaJoin, connection);
gammaJoin.store(connection);
- selectDuplicates(connection);
+ selectDuplicates(gammaJoin, connection);
} catch (Exception ex) {
- log(ex);
+ console.write(ex);
+ getLogger().error(ex, "Error fixing duplicate attributes");
} finally {
gammaJoin.delete(connection);
}
+ return null;
}
- private void selectAttributes(OseeConnection connection) throws OseeCoreException {
+ private void selectAttributes(ExportImportJoinQuery gammaJoin, OseeConnection connection) throws OseeCoreException {
IdJoinQuery typeJoin = JoinUtility.createIdJoinQuery();
populateAttributeTypeJoin(typeJoin);
@@ -72,13 +74,13 @@ public final class DuplicateAttributesOperation extends AbstractDbTxOperation {
}
}
- private void selectDuplicates(OseeConnection connection) throws OseeCoreException {
+ private void selectDuplicates(ExportImportJoinQuery gammaJoin, OseeConnection connection) throws OseeCoreException {
IOseeStatement chStmt = getDatabaseService().getStatement(connection);
try {
chStmt.runPreparedQuery(SELECT_DUPLICATES, gammaJoin.getQueryId(), TxChange.CURRENT.getValue(),
TxChange.CURRENT.getValue());
while (chStmt.next()) {
- log("branch: " + chStmt.getInt("branch_id"), "gamma1: " + chStmt.getLong("gamma1"),
+ console.writeln("branch: " + chStmt.getInt("branch_id"), "gamma1: " + chStmt.getLong("gamma1"),
"gamma2: " + chStmt.getLong("gamma2"));
}
} finally {
@@ -94,4 +96,5 @@ public final class DuplicateAttributesOperation extends AbstractDbTxOperation {
}
typeJoin.store();
}
+
} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/callable/ExportBranchDatabaseCallable.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/callable/ExportBranchDatabaseCallable.java
index 536dcaee111..8f5614df376 100644
--- a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/callable/ExportBranchDatabaseCallable.java
+++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/callable/ExportBranchDatabaseCallable.java
@@ -31,10 +31,10 @@ import org.eclipse.osee.framework.jdk.core.type.PropertyStore;
import org.eclipse.osee.framework.jdk.core.util.Lib;
import org.eclipse.osee.framework.jdk.core.util.Strings;
import org.eclipse.osee.framework.resource.management.IResourceLocatorManager;
+import org.eclipse.osee.orcs.ExportOptions;
import org.eclipse.osee.orcs.core.SystemPreferences;
import org.eclipse.osee.orcs.db.internal.exchange.ExchangeUtil;
import org.eclipse.osee.orcs.db.internal.exchange.ExportItemFactory;
-import org.eclipse.osee.orcs.db.internal.exchange.ExportOptions;
import org.eclipse.osee.orcs.db.internal.exchange.export.AbstractExportItem;
import org.eclipse.osee.orcs.db.internal.resource.ResourceConstants;
diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/callable/ImportBranchDatabaseCallable.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/callable/ImportBranchDatabaseCallable.java
index 07c35073fce..deeced86b75 100644
--- a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/callable/ImportBranchDatabaseCallable.java
+++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/callable/ImportBranchDatabaseCallable.java
@@ -41,10 +41,10 @@ import org.eclipse.osee.framework.resource.management.IResourceLocator;
import org.eclipse.osee.framework.resource.management.IResourceLocatorManager;
import org.eclipse.osee.framework.resource.management.IResourceManager;
import org.eclipse.osee.logger.Log;
+import org.eclipse.osee.orcs.ImportOptions;
import org.eclipse.osee.orcs.core.SystemPreferences;
import org.eclipse.osee.orcs.db.internal.exchange.ExchangeUtil;
import org.eclipse.osee.orcs.db.internal.exchange.IOseeExchangeDataProvider;
-import org.eclipse.osee.orcs.db.internal.exchange.ImportOptions;
import org.eclipse.osee.orcs.db.internal.exchange.SavePointManager;
import org.eclipse.osee.orcs.db.internal.exchange.StandardOseeDbExportDataProvider;
import org.eclipse.osee.orcs.db.internal.exchange.TranslationManager;
@@ -178,7 +178,7 @@ public class ImportBranchDatabaseCallable extends DatabaseCallable<URI> {
savePointManager.setCurrentSetPointId("sourceSetup");
IExchangeTransformProvider transformProvider = new ExchangeTransformProvider(cachingService);
- exchangeTransformer = new ExchangeTransformer(transformProvider, exchangeDataProcessor);
+ exchangeTransformer = new ExchangeTransformer(getDatabaseService(), transformProvider, exchangeDataProcessor);
exchangeTransformer.applyTransforms(legacyLogger);
savePointManager.setCurrentSetPointId("manifest");
diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/callable/PurgeRelationTypeDatabaseTxCallable.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/callable/PurgeRelationTypeDatabaseTxCallable.java
new file mode 100644
index 00000000000..6eb5c435bd1
--- /dev/null
+++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/callable/PurgeRelationTypeDatabaseTxCallable.java
@@ -0,0 +1,119 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.orcs.db.internal.callable;
+
+import java.util.ArrayList;
+import java.util.List;
+import org.eclipse.osee.console.admin.Console;
+import org.eclipse.osee.database.schema.DatabaseTxCallable;
+import org.eclipse.osee.framework.core.exception.OseeArgumentException;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.core.model.cache.RelationTypeCache;
+import org.eclipse.osee.framework.core.model.type.RelationType;
+import org.eclipse.osee.framework.core.services.IdentityService;
+import org.eclipse.osee.framework.database.IOseeDatabaseService;
+import org.eclipse.osee.framework.database.core.IOseeStatement;
+import org.eclipse.osee.framework.database.core.OseeConnection;
+import org.eclipse.osee.logger.Log;
+
+/**
+ * Purges given relation types.<br/>
+ * <p>
+ * Tables involved:
+ * <li>osee_txs</li>
+ * <li>osee_txs_archived</li>
+ * <li>osee_relation_link</li>
+ * </p>
+ * <br/>
+ *
+ * @author Karol M. Wilk
+ */
+public final class PurgeRelationTypeDatabaseTxCallable extends DatabaseTxCallable<Object> {
+ private static final String RETRIEVE_GAMMAS_OF_REL_LINK_TXS =
+ "SELECT rel_link.gamma_id FROM osee_relation_link rel_link WHERE rel_link.rel_link_type_id = ?";
+
+ private static final String DELETE_BY_GAMMAS = "DELETE FROM %s WHERE gamma_id = ?";
+ private static final String DELETE_FROM_CONFLICT_TABLE_SOURCE_SIDE =
+ "DELETE FROM osee_conflict WHERE source_gamma_id = ?";
+ private static final String DELETE_FROM_CONFLICT_TABLE_DEST_SIDE =
+ "DELETE FROM osee_conflict WHERE dest_gamma_id = ?";
+
+ private final RelationTypeCache relationCache;
+ private final String[] typesToPurge;
+ private final boolean forcePurge;
+ private final IdentityService identityService;
+ private final Console console;
+
+ public PurgeRelationTypeDatabaseTxCallable(Log logger, IOseeDatabaseService databaseService, IdentityService identityService, RelationTypeCache relationCache, Console console, boolean force, String... typesToPurge) {
+ super(logger, databaseService, "Purge Relation Type");
+ this.identityService = identityService;
+ this.relationCache = relationCache;
+ this.console = console;
+ this.forcePurge = force;
+ this.typesToPurge = typesToPurge;
+ }
+
+ @Override
+ protected Object handleTxWork(OseeConnection connection) throws OseeCoreException {
+ console.writeln();
+ console.writeln(!forcePurge ? "Relation Types:" : "Purging relation types:");
+
+ List<Long> types = convertTypeNamesToUuids();
+ boolean found = !types.isEmpty();
+ if (forcePurge && found) {
+ console.writeln("Removing from osee_* tables...");
+ processDeletes(connection, retrieveGammaIds(types));
+ }
+
+ console.writeln((found && !forcePurge) ? "To >DELETE Relation DATA!< add --force to confirm." : "Operation finished.");
+ return null;
+ }
+
+ private List<Long> convertTypeNamesToUuids() throws OseeCoreException {
+ List<Long> guids = new ArrayList<Long>();
+ for (String typeName : typesToPurge) {
+ try {
+ RelationType type = relationCache.getBySoleName(typeName);
+ console.writeln("Type [%s] found. Guid: [%s]", typeName, type.getGuid());
+ guids.add(type.getGuid());
+ } catch (OseeArgumentException ex) {
+ console.writeln("Type [%s] NOT found.", typeName);
+ console.writeln(ex);
+ }
+ }
+ return guids;
+ }
+
+ private List<Integer[]> retrieveGammaIds(List<Long> types) throws OseeCoreException {
+ List<Integer[]> gammas = new ArrayList<Integer[]>(50000);
+ IOseeStatement chStmt = getDatabaseService().getStatement();
+ try {
+ for (Long relationTypeId : types) {
+ chStmt.runPreparedQuery(RETRIEVE_GAMMAS_OF_REL_LINK_TXS, identityService.getLocalId(relationTypeId));
+ while (chStmt.next()) {
+ gammas.add(new Integer[] {chStmt.getInt("gamma_id")});
+ }
+ }
+ } finally {
+ chStmt.close();
+ }
+
+ return gammas;
+ }
+
+ private void processDeletes(OseeConnection connection, List<Integer[]> gammas) throws OseeCoreException {
+ getDatabaseService().runBatchUpdate(connection, String.format(DELETE_BY_GAMMAS, "osee_txs"), gammas);
+ getDatabaseService().runBatchUpdate(connection, String.format(DELETE_BY_GAMMAS, "osee_txs_archived"), gammas);
+ getDatabaseService().runBatchUpdate(connection, String.format(DELETE_BY_GAMMAS, "osee_relation_link"), gammas);
+ getDatabaseService().runBatchUpdate(connection, String.format(DELETE_FROM_CONFLICT_TABLE_SOURCE_SIDE), gammas);
+ getDatabaseService().runBatchUpdate(connection, String.format(DELETE_FROM_CONFLICT_TABLE_DEST_SIDE), gammas);
+ }
+} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/ConsolidateArtifactVersionsCommand.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/ConsolidateArtifactVersionsCommand.java
new file mode 100644
index 00000000000..641fd2637fe
--- /dev/null
+++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/ConsolidateArtifactVersionsCommand.java
@@ -0,0 +1,64 @@
+/*******************************************************************************
+ * Copyright (c) 2012 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.orcs.db.internal.console;
+
+import java.util.concurrent.Callable;
+import org.eclipse.osee.console.admin.Console;
+import org.eclipse.osee.console.admin.ConsoleCommand;
+import org.eclipse.osee.console.admin.ConsoleParameters;
+import org.eclipse.osee.framework.database.IOseeDatabaseService;
+import org.eclipse.osee.logger.Log;
+import org.eclipse.osee.orcs.db.internal.callable.ConsolidateArtifactVersionDatabaseTxCallable;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class ConsolidateArtifactVersionsCommand implements ConsoleCommand {
+
+ private Log logger;
+ private IOseeDatabaseService dbService;
+
+ public Log getLogger() {
+ return logger;
+ }
+
+ public void setLogger(Log logger) {
+ this.logger = logger;
+ }
+
+ public IOseeDatabaseService getDatabaseService() {
+ return dbService;
+ }
+
+ public void setDatabaseService(IOseeDatabaseService dbService) {
+ this.dbService = dbService;
+ }
+
+ @Override
+ public String getName() {
+ return "db_consolidate_artifact_versions";
+ }
+
+ @Override
+ public String getDescription() {
+ return "Consolidate artifact versions - used to migrate to 0.9.2 database schema";
+ }
+
+ @Override
+ public String getUsage() {
+ return "";
+ }
+
+ @Override
+ public Callable<?> createCallable(Console console, ConsoleParameters params) {
+ return new ConsolidateArtifactVersionDatabaseTxCallable(getLogger(), getDatabaseService(), console);
+ }
+}
diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/ConsolidateRelationsCommand.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/ConsolidateRelationsCommand.java
new file mode 100644
index 00000000000..f8fe0b12664
--- /dev/null
+++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/ConsolidateRelationsCommand.java
@@ -0,0 +1,64 @@
+/*******************************************************************************
+ * Copyright (c) 2012 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.orcs.db.internal.console;
+
+import java.util.concurrent.Callable;
+import org.eclipse.osee.console.admin.Console;
+import org.eclipse.osee.console.admin.ConsoleCommand;
+import org.eclipse.osee.console.admin.ConsoleParameters;
+import org.eclipse.osee.framework.database.IOseeDatabaseService;
+import org.eclipse.osee.logger.Log;
+import org.eclipse.osee.orcs.db.internal.callable.ConsolidateRelationsDatabaseTxCallable;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class ConsolidateRelationsCommand implements ConsoleCommand {
+
+ private Log logger;
+ private IOseeDatabaseService dbService;
+
+ public Log getLogger() {
+ return logger;
+ }
+
+ public void setLogger(Log logger) {
+ this.logger = logger;
+ }
+
+ public IOseeDatabaseService getDatabaseService() {
+ return dbService;
+ }
+
+ public void setDatabaseService(IOseeDatabaseService dbService) {
+ this.dbService = dbService;
+ }
+
+ @Override
+ public String getName() {
+ return "db_consolidate_relations";
+ }
+
+ @Override
+ public String getDescription() {
+ return "Consolidate rows of relations";
+ }
+
+ @Override
+ public String getUsage() {
+ return "";
+ }
+
+ @Override
+ public Callable<?> createCallable(Console console, ConsoleParameters params) {
+ return new ConsolidateRelationsDatabaseTxCallable(getLogger(), getDatabaseService(), console);
+ }
+}
diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/FixDuplicateAttributesCommand.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/FixDuplicateAttributesCommand.java
new file mode 100644
index 00000000000..6286f7b4fc0
--- /dev/null
+++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/FixDuplicateAttributesCommand.java
@@ -0,0 +1,75 @@
+/*******************************************************************************
+ * Copyright (c) 2012 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.orcs.db.internal.console;
+
+import java.util.concurrent.Callable;
+import org.eclipse.osee.console.admin.Console;
+import org.eclipse.osee.console.admin.ConsoleCommand;
+import org.eclipse.osee.console.admin.ConsoleParameters;
+import org.eclipse.osee.framework.core.services.IOseeCachingService;
+import org.eclipse.osee.framework.database.IOseeDatabaseService;
+import org.eclipse.osee.logger.Log;
+import org.eclipse.osee.orcs.db.internal.callable.DuplicateAttributesDatabaseTxCallable;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class FixDuplicateAttributesCommand implements ConsoleCommand {
+
+ private Log logger;
+ private IOseeDatabaseService dbService;
+ private IOseeCachingService cachingService;
+
+ public Log getLogger() {
+ return logger;
+ }
+
+ public void setLogger(Log logger) {
+ this.logger = logger;
+ }
+
+ public IOseeDatabaseService getDatabaseService() {
+ return dbService;
+ }
+
+ public void setDatabaseService(IOseeDatabaseService dbService) {
+ this.dbService = dbService;
+ }
+
+ public IOseeCachingService getCachingService() {
+ return cachingService;
+ }
+
+ public void setCachingService(IOseeCachingService cachingService) {
+ this.cachingService = cachingService;
+ }
+
+ @Override
+ public String getName() {
+ return "db_fix_duplicate_attributes";
+ }
+
+ @Override
+ public String getDescription() {
+ return "Detect and fix duplicate attributes";
+ }
+
+ @Override
+ public String getUsage() {
+ return "";
+ }
+
+ @Override
+ public Callable<?> createCallable(Console console, ConsoleParameters params) {
+ return new DuplicateAttributesDatabaseTxCallable(getLogger(), getDatabaseService(), console,
+ getCachingService().getAttributeTypeCache());
+ }
+}
diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/PurgeRelationTypeCommand.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/PurgeRelationTypeCommand.java
new file mode 100644
index 00000000000..e27050170df
--- /dev/null
+++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/PurgeRelationTypeCommand.java
@@ -0,0 +1,89 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 2007 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.orcs.db.internal.console;
+
+import java.util.concurrent.Callable;
+import org.eclipse.osee.console.admin.Console;
+import org.eclipse.osee.console.admin.ConsoleCommand;
+import org.eclipse.osee.console.admin.ConsoleParameters;
+import org.eclipse.osee.framework.core.services.IOseeCachingService;
+import org.eclipse.osee.framework.core.services.IdentityService;
+import org.eclipse.osee.framework.database.IOseeDatabaseService;
+import org.eclipse.osee.logger.Log;
+import org.eclipse.osee.orcs.db.internal.callable.PurgeRelationTypeDatabaseTxCallable;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class PurgeRelationTypeCommand implements ConsoleCommand {
+
+ private Log logger;
+ private IOseeDatabaseService dbService;
+ private IOseeCachingService cachingService;
+ private IdentityService identityService;
+
+ public Log getLogger() {
+ return logger;
+ }
+
+ public void setLogger(Log logger) {
+ this.logger = logger;
+ }
+
+ public IOseeDatabaseService getDatabaseService() {
+ return dbService;
+ }
+
+ public void setDatabaseService(IOseeDatabaseService dbService) {
+ this.dbService = dbService;
+ }
+
+ public IOseeCachingService getCachingService() {
+ return cachingService;
+ }
+
+ public void setCachingService(IOseeCachingService cachingService) {
+ this.cachingService = cachingService;
+ }
+
+ public IdentityService getIdentityService() {
+ return identityService;
+ }
+
+ public void setIdentityService(IdentityService identityService) {
+ this.identityService = identityService;
+ }
+
+ @Override
+ public String getName() {
+ return "db_purge_relation_type";
+ }
+
+ @Override
+ public String getDescription() {
+ return "Purges relation types from the database";
+ }
+
+ @Override
+ public String getUsage() {
+ return "[force=<TRUE|FALSE>] relTypes=<RELATION_TYPES,...>";
+ }
+
+ @Override
+ public Callable<?> createCallable(Console console, ConsoleParameters params) {
+ boolean force = params.getBoolean("force");
+ String[] typesToPurge = params.getArray("relTypes");
+
+ return new PurgeRelationTypeDatabaseTxCallable(getLogger(), getDatabaseService(), getIdentityService(),
+ getCachingService().getRelationTypeCache(), console, force, typesToPurge);
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/PurgeTransactionCommand.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/PurgeTransactionCommand.java
new file mode 100644
index 00000000000..aec71db0311
--- /dev/null
+++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/PurgeTransactionCommand.java
@@ -0,0 +1,70 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 2007 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.orcs.db.internal.console;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.Callable;
+import org.eclipse.osee.console.admin.Console;
+import org.eclipse.osee.console.admin.ConsoleCommand;
+import org.eclipse.osee.console.admin.ConsoleParameters;
+import org.eclipse.osee.framework.core.operation.IOperation;
+import org.eclipse.osee.framework.core.operation.OperationLogger;
+import org.eclipse.osee.framework.database.IOseeDatabaseService;
+import org.eclipse.osee.framework.database.operation.PurgeTransactionOperation;
+import org.eclipse.osee.orcs.db.internal.util.OperationCallableAdapter;
+import org.eclipse.osee.orcs.db.internal.util.OperationLoggerAdapter;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class PurgeTransactionCommand implements ConsoleCommand {
+
+ private IOseeDatabaseService dbService;
+
+ public IOseeDatabaseService getDatabaseService() {
+ return dbService;
+ }
+
+ public void setDatabaseService(IOseeDatabaseService dbService) {
+ this.dbService = dbService;
+ }
+
+ @Override
+ public String getName() {
+ return "db_purge_transaction";
+ }
+
+ @Override
+ public String getDescription() {
+ return "Purges transactions from the database";
+ }
+
+ @Override
+ public String getUsage() {
+ return "txIds=<TX_IDS,...>";
+ }
+
+ @Override
+ public Callable<?> createCallable(Console console, ConsoleParameters params) {
+ String[] stringIds = params.getArray("txIds");
+
+ final List<Integer> transactions = new ArrayList<Integer>();
+ for (String arg : stringIds) {
+ transactions.add(Integer.parseInt(arg));
+ }
+
+ OperationLogger logger = new OperationLoggerAdapter(console);
+ IOperation operation = new PurgeTransactionOperation(getDatabaseService(), logger, transactions);
+ return new OperationCallableAdapter(operation);
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/TxCurrentsCommand.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/TxCurrentsCommand.java
new file mode 100644
index 00000000000..6930f05c9d4
--- /dev/null
+++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/TxCurrentsCommand.java
@@ -0,0 +1,61 @@
+/*******************************************************************************
+ * Copyright (c) 2012 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.orcs.db.internal.console;
+
+import java.util.concurrent.Callable;
+import org.eclipse.osee.console.admin.Console;
+import org.eclipse.osee.console.admin.ConsoleCommand;
+import org.eclipse.osee.console.admin.ConsoleParameters;
+import org.eclipse.osee.framework.core.operation.IOperation;
+import org.eclipse.osee.framework.core.operation.OperationLogger;
+import org.eclipse.osee.framework.database.IOseeDatabaseService;
+import org.eclipse.osee.orcs.db.internal.exchange.TxCurrentsAndModTypesCommand;
+import org.eclipse.osee.orcs.db.internal.util.OperationCallableAdapter;
+import org.eclipse.osee.orcs.db.internal.util.OperationLoggerAdapter;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class TxCurrentsCommand implements ConsoleCommand {
+
+ private IOseeDatabaseService dbService;
+
+ public IOseeDatabaseService getDatabaseService() {
+ return dbService;
+ }
+
+ public void setDatabaseService(IOseeDatabaseService dbService) {
+ this.dbService = dbService;
+ }
+
+ @Override
+ public String getName() {
+ return "db_tx_currents";
+ }
+
+ @Override
+ public String getDescription() {
+ return "Detect and fix tx current and mod types inconsistencies on archive txs or txs";
+ }
+
+ @Override
+ public String getUsage() {
+ return "[onTxsArchived=<TRUE|FALSE>]";
+ }
+
+ @Override
+ public Callable<?> createCallable(Console console, ConsoleParameters params) {
+ boolean isArchivedTable = params.getBoolean("onTxsArchived");
+ OperationLogger logger = new OperationLoggerAdapter(console);
+ IOperation operation = new TxCurrentsAndModTypesCommand(getDatabaseService(), logger, isArchivedTable);
+ return new OperationCallableAdapter(operation);
+ }
+}
diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/TxPruneCommand.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/TxPruneCommand.java
new file mode 100644
index 00000000000..842278cd6fc
--- /dev/null
+++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/TxPruneCommand.java
@@ -0,0 +1,60 @@
+/*******************************************************************************
+ * Copyright (c) 2012 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.orcs.db.internal.console;
+
+import java.util.concurrent.Callable;
+import org.eclipse.osee.console.admin.Console;
+import org.eclipse.osee.console.admin.ConsoleCommand;
+import org.eclipse.osee.console.admin.ConsoleParameters;
+import org.eclipse.osee.framework.core.operation.IOperation;
+import org.eclipse.osee.framework.core.operation.OperationLogger;
+import org.eclipse.osee.framework.database.IOseeDatabaseService;
+import org.eclipse.osee.framework.database.operation.PurgeUnusedBackingDataAndTransactions;
+import org.eclipse.osee.orcs.db.internal.util.OperationCallableAdapter;
+import org.eclipse.osee.orcs.db.internal.util.OperationLoggerAdapter;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class TxPruneCommand implements ConsoleCommand {
+
+ private IOseeDatabaseService dbService;
+
+ public IOseeDatabaseService getDatabaseService() {
+ return dbService;
+ }
+
+ public void setDatabaseService(IOseeDatabaseService dbService) {
+ this.dbService = dbService;
+ }
+
+ @Override
+ public String getName() {
+ return "db_tx_prune";
+ }
+
+ @Override
+ public String getDescription() {
+ return "Purge artifact, attribute, and relation versions that are not addressed or non-existent and purge empty transactions";
+ }
+
+ @Override
+ public String getUsage() {
+ return "";
+ }
+
+ @Override
+ public Callable<?> createCallable(Console console, ConsoleParameters params) {
+ OperationLogger logger = new OperationLoggerAdapter(console);
+ IOperation operation = new PurgeUnusedBackingDataAndTransactions(getDatabaseService(), logger);
+ return new OperationCallableAdapter(operation);
+ }
+}
diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/inwork/DataStoreBackupApplication.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/inwork/DataStoreBackupApplication.java
new file mode 100644
index 00000000000..562a13dc7bc
--- /dev/null
+++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/inwork/DataStoreBackupApplication.java
@@ -0,0 +1,106 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 2007 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.orcs.db.internal.console.inwork;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class DataStoreBackupApplication {
+ // implements IApplication {
+ // private static final String ALL_BRANCHES_QUERY = "select branch_id from osee_branch";
+ //
+ // private List<Integer> getAllBranches() throws OseeCoreException {
+ // List<Integer> toReturn = new ArrayList<Integer>();
+ // IOseeStatement chStmt = ConnectionHandler.getStatement();
+ // try {
+ // chStmt.runPreparedQuery(100, ALL_BRANCHES_QUERY);
+ // while (chStmt.next()) {
+ // toReturn.add(chStmt.getInt("branch_id"));
+ // }
+ // } finally {
+ // chStmt.close();
+ // }
+ // return toReturn;
+ // }
+ //
+ // private void transferToBackupLocation(IResourceLocator locator, File backupFolder) throws Exception {
+ // InputStream inputStream = null;
+ // OutputStream outputStream = null;
+ // try {
+ // IResource resource = Activator.getResourceManager().acquire(locator, new PropertyStore());
+ // inputStream = resource.getContent();
+ //
+ // outputStream = new BufferedOutputStream(new FileOutputStream(new File(backupFolder, resource.getName())));
+ //
+ // Lib.inputStreamToOutputStream(inputStream, outputStream);
+ // } finally {
+ // try {
+ // if (inputStream != null) {
+ // inputStream.close();
+ // }
+ // } finally {
+ // if (outputStream != null) {
+ // outputStream.flush();
+ // outputStream.close();
+ // }
+ // }
+ // }
+ // }
+ //
+ // @Override
+ // public Object start(IApplicationContext context) throws Exception {
+ // try {
+ // String backupName = "osee_" + Lib.getDateTimeString();
+ //
+ // PropertyStore options = new PropertyStore();
+ // options.put(ExportOptions.COMPRESS.name(), true);
+ //
+ // List<Integer> branchIds = getAllBranches();
+ //
+ // int totalBranches = branchIds.size();
+ // OseeLog.logf(Activator.class, Level.INFO, "Exporting [%s] branch%s", totalBranches,
+ // totalBranches == 1 ? "" : "es");
+ //
+ // IResourceLocator exportLocator = Activator.getBranchExchange().exportBranch(backupName, options, branchIds);
+ //
+ // OseeLog.logf(Activator.class, Level.INFO, "Verifying export file integrity [%s]", exportLocator.getLocation());
+ //
+ // IResourceLocator exportCheckLocator = Activator.getBranchExchange().checkIntegrity(exportLocator);
+ // OseeLog.logf(Activator.class, Level.INFO, "Verified [%s]", exportCheckLocator.getLocation());
+ //
+ // OseeLog.logf(Activator.class, Level.INFO, "Completed export - [%s] branch%s", totalBranches,
+ // totalBranches == 1 ? "" : "es");
+ //
+ // String backupPath = (String) context.getArguments().get("osee.backup.path");
+ // if (Strings.isValid(backupPath)) {
+ // if (!backupPath.endsWith(File.separator)) {
+ // backupPath = backupPath + File.separator;
+ // }
+ // File backupFolder = new File(backupPath);
+ // backupFolder.mkdirs();
+ // transferToBackupLocation(exportLocator, backupFolder);
+ // transferToBackupLocation(exportCheckLocator, backupFolder);
+ //
+ // Activator.getResourceManager().delete(exportLocator);
+ // Activator.getResourceManager().delete(exportCheckLocator);
+ // }
+ // } catch (Throwable ex) {
+ // OseeLog.log(Activator.class, Level.SEVERE, ex);
+ // }
+ // return IApplication.EXIT_OK;
+ // }
+ //
+ // @Override
+ // public void stop() {
+ // //
+ // }
+
+}
diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/inwork/SearchStats.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/inwork/SearchStats.java
new file mode 100644
index 00000000000..c7fab71f10e
--- /dev/null
+++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/inwork/SearchStats.java
@@ -0,0 +1,34 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 2007 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.orcs.db.internal.console.inwork;
+
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class SearchStats {
+
+ // public SearchStats(OperationLogger logger) {
+ // super("Search Engine Stats", Activator.PLUGIN_ID, logger);
+ // }
+ //
+ // @Override
+ // protected void doWork(IProgressMonitor monitor) {
+ // ISearchStatistics stats = Activator.getSearchEngine().getStatistics();
+ // log("\n----------------------------------------------");
+ // log(" Search Stats");
+ // log("----------------------------------------------");
+ // logf("Total Searches - [%d]", stats.getTotalSearches());
+ // logf("Search Time - avg: [%s] ms - longest: [%s] ms", stats.getAverageSearchTime(),
+ // stats.getLongestSearchTime());
+ // logf("Longest Search - %s", stats.getLongestSearch());
+ // }
+}
diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/inwork/SearchTaggerCommandProvider.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/inwork/SearchTaggerCommandProvider.java
new file mode 100644
index 00000000000..17b0bf9d6e7
--- /dev/null
+++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/inwork/SearchTaggerCommandProvider.java
@@ -0,0 +1,97 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 2007 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.orcs.db.internal.console.inwork;
+
+
+/**
+ * @author Roberto E. Escobar
+ */
+public final class SearchTaggerCommandProvider {
+ // private final ISchedulingRule tagMutex = new MutexSchedulingRule();
+ // private Job tagAllJob;
+ //
+ // public Job _tag_all(CommandInterpreter ci) {
+ // OperationLogger logger = new CommandInterpreterLogger(ci);
+ //
+ // Set<Integer> branchIds = new LinkedHashSet<Integer>();
+ // boolean tagOnlyMissingGammas = false;
+ // String arg = ci.nextArgument();
+ // while (arg != null) {
+ // if (Strings.isValid(arg)) {
+ // if (arg.equals("-missing")) {
+ // tagOnlyMissingGammas = true;
+ // } else {
+ // branchIds.add(new Integer(arg));
+ // }
+ // }
+ // arg = ci.nextArgument();
+ // }
+ //
+ // AttributeTypeCache attTypeCache = Activator.getOseeCachingService().getAttributeTypeCache();
+ //
+ // tagAllJob =
+ // Operations.executeAsJob(new TaggerAllOperation(logger, attTypeCache, branchIds, tagOnlyMissingGammas), false,
+ // tagMutex);
+ // return tagAllJob;
+ // }
+ //
+ // public void _tag_all_stop(CommandInterpreter ci) {
+ // tagAllJob.cancel();
+ // }
+ //
+ // public Job _drop_all_tags(CommandInterpreter ci) {
+ // OperationLogger logger = new CommandInterpreterLogger(ci);
+ // return Operations.executeAsJob(new TaggerDropAllOperation(logger), false, tagMutex);
+ // }
+ //
+ // public Job _tagger_stats(CommandInterpreter ci) {
+ // TaggerStats stats = new TaggerStats(new CommandInterpreterLogger(ci));
+ // return Operations.executeAsJob(stats, false);
+ // }
+ //
+ // public void _tagger_stats_clear(CommandInterpreter ci) {
+ // Activator.getSearchTagger().clearStatistics();
+ // }
+ //
+ // public Job _search_stats(CommandInterpreter ci) {
+ // OperationLogger logger = new CommandInterpreterLogger(ci);
+ // return Operations.executeAsJob(new SearchStats(logger), false);
+ // }
+ //
+ // public void _search_stats_clear(CommandInterpreter ci) {
+ // Activator.getSearchEngine().clearStatistics();
+ // }
+ //
+ // public Job _tag(CommandInterpreter ci) {
+ // OperationLogger logger = new CommandInterpreterLogger(ci);
+ //
+ // Set<Long> gammas = new HashSet<Long>();
+ // String arg;
+ // while ((arg = ci.nextArgument()) != null) {
+ // gammas.add(new Long(arg));
+ // }
+ // return Operations.executeAsJob(new TagItemOperation(logger, gammas), false, tagMutex);
+ // }
+ //
+ // @Override
+ // public String getHelp() {
+ // StringBuilder sb = new StringBuilder();
+ // sb.append("\n---OSEE Search & Tag Commands---\n");
+ // sb.append(" tag_all [-missing] [<branchId>] - tag all attributes in a branch or tag all attributes in all branches if id not specified\n");
+ // sb.append(" tag_all_stop - stop tagging all attributes\n");
+ // sb.append(" tag [<gammaId> <gammaId> ...]- tag individual item\n");
+ // sb.append(" tagger_stats - get tagger stats\n");
+ // sb.append(" tagger_stats_clear - clear tagger stats\n");
+ // sb.append(" search_stats - get tagger stats\n");
+ // sb.append(" search_stats_clear - clear tagger stats\n");
+ // return sb.toString();
+ // }
+}
diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/inwork/TagItemOperation.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/inwork/TagItemOperation.java
new file mode 100644
index 00000000000..333ef3c7f2f
--- /dev/null
+++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/inwork/TagItemOperation.java
@@ -0,0 +1,97 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 2007 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.orcs.db.internal.console.inwork;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class TagItemOperation {
+ //
+ //
+ // private final Set<Long> gammas;
+ // private TagListener tagListener = null;
+ //
+ // public TagItemOperation(OperationLogger logger, Set<Long> gammas) {
+ // super("Tag Individual Items", Activator.PLUGIN_ID, logger);
+ // this.gammas = gammas;
+ // }
+ //
+ // private final class TagListener extends TagListenerAdapter {
+ // private int joinQuery;
+ // private boolean isProcessing;
+ //
+ // public TagListener() {
+ // this.isProcessing = true;
+ // this.joinQuery = -1;
+ // }
+ //
+ // @Override
+ // public void onTagQueryIdSubmit(int queryId) {
+ // joinQuery = queryId;
+ // }
+ //
+ // public boolean isProcessing() {
+ // return isProcessing;
+ // }
+ //
+ // @Override
+ // public void onAttributeTagComplete(int queryId, long gammaId, int totalTags, long processingTime) {
+ // if (queryId == joinQuery) {
+ // logf("GammaId: [%d] Tags: [%d] Processed In: [%d] ms", gammaId, totalTags, processingTime);
+ // }
+ // }
+ //
+ // @Override
+ // synchronized public void onTagQueryIdTagComplete(int queryId, long waitTime, long processingTime) {
+ // if (queryId == joinQuery) {
+ // this.isProcessing = false;
+ // this.notify();
+ // }
+ // }
+ //
+ // @Override
+ // public void onAttributeAddTagEvent(int queryId, long gammaId, String word, long codedTag) {
+ // if (queryId == joinQuery) {
+ // logf("QueryId: [%d] GammaId: [%d] Word: [%s] Tag: [%d]", queryId, gammaId, word, codedTag);
+ // }
+ // }
+ //
+ // }
+ //
+ // @Override
+ // protected void doWork(IProgressMonitor monitor) throws OseeCoreException {
+ // tagListener = null;
+ // final Set<Long> toTag = gammas;
+ // if (!toTag.isEmpty()) {
+ // TagQueueJoinQuery joinQuery = JoinUtility.createTagQueueJoinQuery();
+ // for (Long item : toTag) {
+ // joinQuery.add(item);
+ // }
+ // joinQuery.store();
+ //
+ // tagListener = new TagListener();
+ // Activator.getSearchTagger().tagByQueueQueryId(tagListener, joinQuery.getQueryId());
+ // synchronized (tagListener) {
+ // try {
+ // tagListener.wait();
+ // } catch (InterruptedException ex) {
+ // OseeLog.log(Activator.class, Level.SEVERE, ex);
+ // }
+ // }
+ // if (tagListener.isProcessing()) {
+ // joinQuery.delete();
+ // }
+ //
+ // } else {
+ // log("No Items to Tag.");
+ // }
+ // }
+}
diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/inwork/TaggerAllOperation.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/inwork/TaggerAllOperation.java
new file mode 100644
index 00000000000..dcfb0c8b2b0
--- /dev/null
+++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/inwork/TaggerAllOperation.java
@@ -0,0 +1,211 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 2007 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.orcs.db.internal.console.inwork;
+
+
+/**
+ * @author Roberto E. Escobar
+ */
+public final class TaggerAllOperation {
+ // private static final int BATCH_SIZE = 1000;
+ //
+ // private static final String FIND_ALL_TAGGABLE_ATTRIBUTES =
+ // "SELECT att.gamma_id FROM osee_join_id oji, osee_attribute att WHERE oji.query_id = ? AND oji.id = att.attr_type_id";
+ //
+ // private static final String COUNT_ALL_TAGGABLE_ATTRIBUTES = FIND_ALL_TAGGABLE_ATTRIBUTES.replace("att.gamma_id",
+ // "count(1)");
+ //
+ // private static final String FIND_MISSING =
+ // FIND_ALL_TAGGABLE_ATTRIBUTES + " AND att.gamma_id NOT IN (SELECT gamma_id FROM osee_search_tags)";
+ //
+ // private static final String COUNT_MISSING = FIND_MISSING.replaceFirst("att.gamma_id", "count(1)");
+ //
+ // private static final String FIND_TAGGABLE_ATTRIBUTES_BY_BRANCH =
+ // "SELECT DISTINCT att.gamma_id FROM osee_join_id jid1, osee_join_id jid2, osee_txs txs, osee_attribute att WHERE jid1.query_id = ? AND jid1.id = txs.branch_id AND txs.gamma_id = att.gamma_id AND att.attr_type_id = jid2.id and jid2.query_id = ?";
+ //
+ // private static final String COUNT_TAGGABLE_ATTRIBUTES_BY_BRANCH = FIND_TAGGABLE_ATTRIBUTES_BY_BRANCH.replace(
+ // "DISTINCT att.gamma_id", "count(DISTINCT att.gamma_id)");
+ //
+ // private static final String FIND_MISSING_BY_BRANCH =
+ // FIND_TAGGABLE_ATTRIBUTES_BY_BRANCH + " AND att.gamma_id NOT IN (SELECT gamma_id FROM osee_search_tags)";
+ //
+ // private static final String COUNT_MISSING_BY_BRANCH =
+ // COUNT_TAGGABLE_ATTRIBUTES_BY_BRANCH + " AND att.gamma_id NOT IN (SELECT gamma_id FROM osee_search_tags)";
+ //
+ // private final Set<Integer> branchIds;
+ // private final boolean tagOnlyMissingGammas;
+ // private final AttributeTypeCache attTypeCache;
+ // private TagProcessListener processor;
+ //
+ // public TaggerAllOperation(OperationLogger logger, AttributeTypeCache attTypeCache, Set<Integer> branchIds, boolean tagOnlyMissingGammas) {
+ // super("Tag Attributes", Activator.PLUGIN_ID, logger);
+ // this.branchIds = branchIds;
+ // this.tagOnlyMissingGammas = tagOnlyMissingGammas;
+ // this.attTypeCache = attTypeCache;
+ // }
+ //
+ // private TagProcessListener process(long startTime, Collection<Integer> branchIds, boolean tagOnlyMissingGammas) throws OseeCoreException {
+ // logTaggingStart();
+ //
+ // IdJoinQuery branchJoin = JoinUtility.createIdJoinQuery();
+ // IdJoinQuery typeJoin = JoinUtility.createIdJoinQuery();
+ // Object[] params;
+ // String countQuery;
+ // String searchQuery;
+ //
+ // if (branchIds.isEmpty()) {
+ // params = new Object[] {typeJoin.getQueryId()};
+ // if (tagOnlyMissingGammas) {
+ // countQuery = COUNT_MISSING;
+ // searchQuery = FIND_MISSING;
+ // } else {
+ // countQuery = COUNT_ALL_TAGGABLE_ATTRIBUTES;
+ // searchQuery = FIND_ALL_TAGGABLE_ATTRIBUTES;
+ // }
+ // } else {
+ // for (Integer id : branchIds) {
+ // branchJoin.add(id);
+ // }
+ // branchJoin.store();
+ // params = new Object[] {branchJoin.getQueryId(), typeJoin.getQueryId()};
+ // if (tagOnlyMissingGammas) {
+ // countQuery = COUNT_MISSING_BY_BRANCH;
+ // searchQuery = FIND_MISSING_BY_BRANCH;
+ // } else {
+ // countQuery = COUNT_TAGGABLE_ATTRIBUTES_BY_BRANCH;
+ // searchQuery = FIND_TAGGABLE_ATTRIBUTES_BY_BRANCH;
+ // }
+ // }
+ //
+ // populateAttributeTypeJoin(typeJoin);
+ //
+ // int totalAttributes = ConnectionHandler.runPreparedQueryFetchInt(-1, countQuery, params);
+ // TagProcessListener processor = new TagProcessListener(startTime, totalAttributes);
+ // try {
+ // fetchAndProcessGammas(processor, searchQuery, params);
+ // } finally {
+ // branchJoin.delete();
+ // }
+ // return processor;
+ // }
+ //
+ // private void logTaggingStart() {
+ // StringBuilder builder = new StringBuilder();
+ // builder.append("Tagging");
+ // if (tagOnlyMissingGammas) {
+ // builder.append(" (Only Missing)");
+ // }
+ // builder.append(" Attributes for ");
+ // if (branchIds.isEmpty()) {
+ // builder.append("All Branches");
+ // } else {
+ // builder.append("Branch(es) ").append(branchIds);
+ // }
+ // log(builder.toString());
+ // }
+ //
+ // private void fetchAndProcessGammas(TagProcessListener processor, String query, Object... params) throws OseeCoreException {
+ // IOseeStatement chStmt = ConnectionHandler.getStatement();
+ // try {
+ // chStmt.runPreparedQuery(query, params);
+ // TagQueueJoinQuery joinQuery = JoinUtility.createTagQueueJoinQuery();
+ // while (chStmt.next()) {
+ // long gammaId = chStmt.getLong("gamma_id");
+ // joinQuery.add(gammaId);
+ // if (joinQuery.size() >= BATCH_SIZE) {
+ // processor.storeAndAddQueryId(joinQuery);
+ // joinQuery = JoinUtility.createTagQueueJoinQuery();
+ // }
+ // }
+ // processor.storeAndAddQueryId(joinQuery);
+ // } finally {
+ // chStmt.close();
+ // }
+ // }
+ //
+ // private final class TagProcessListener extends TagListenerAdapter {
+ //
+ // private final Map<Integer, TagQueueJoinQuery> queryIdMap;
+ // private int attributesProcessed;
+ // private int queriesProcessed;
+ // private final long startTime;
+ // private final int totalAttributes;
+ //
+ // public TagProcessListener(long startTime, int totalAttributes) {
+ // this.queryIdMap = new ConcurrentHashMap<Integer, TagQueueJoinQuery>();
+ // this.startTime = startTime;
+ // this.totalAttributes = totalAttributes;
+ // this.attributesProcessed = 0;
+ // this.queriesProcessed = 0;
+ // }
+ //
+ // public void storeAndAddQueryId(TagQueueJoinQuery joinQuery) throws OseeCoreException {
+ // if (joinQuery.size() > 0) {
+ // joinQuery.store();
+ // this.queryIdMap.put(joinQuery.getQueryId(), joinQuery);
+ // Activator.getSearchTagger().tagByQueueQueryId(this, joinQuery.getQueryId());
+ // }
+ // }
+ //
+ // public boolean isProcessingDone() {
+ // return queriesProcessed == totalQueries();
+ // }
+ //
+ // public int totalQueries() {
+ // int remainder = totalAttributes % 1000;
+ // return totalAttributes / 1000 + (remainder > 0 ? 1 : 0);
+ // }
+ //
+ // public void printStats() {
+ // logf("QueryIds: [ %d of %d] Attributes: [%d of %d] - Elapsed Time = %s.", queriesProcessed, totalQueries(),
+ // attributesProcessed, totalAttributes, Lib.getElapseString(startTime));
+ // }
+ //
+ // @Override
+ // public void onAttributeTagComplete(int queryId, long gammaId, int totalTags, long processingTime) {
+ // if (queryIdMap.containsKey(queryId)) {
+ // attributesProcessed++;
+ // if (attributesProcessed % 1000 == 0) {
+ // printStats();
+ // }
+ // }
+ // }
+ //
+ // @Override
+ // synchronized public void onTagQueryIdTagComplete(int queryId, long waitTime, long processingTime) {
+ // TagQueueJoinQuery joinQuery = this.queryIdMap.get(queryId);
+ // if (joinQuery != null) {
+ // this.queryIdMap.remove(joinQuery);
+ // queriesProcessed++;
+ // if (isProcessingDone()) {
+ // this.notify();
+ // }
+ // }
+ // }
+ // }
+ //
+ // @Override
+ // protected void doWork(IProgressMonitor monitor) throws Exception {
+ // long startTime = System.currentTimeMillis();
+ // processor = process(startTime, branchIds, tagOnlyMissingGammas);
+ // processor.printStats();
+ // log("Tagging Complete");
+ // }
+ //
+ // private void populateAttributeTypeJoin(IdJoinQuery typeJoin) throws OseeCoreException {
+ // for (AttributeType attributeType : attTypeCache.getAll()) {
+ // if (attributeType.isTaggable()) {
+ // typeJoin.add(attributeType.getId());
+ // }
+ // }
+ // typeJoin.store();
+ // }
+} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/inwork/TaggerDropAllOperation.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/inwork/TaggerDropAllOperation.java
new file mode 100644
index 00000000000..ffbff418bd5
--- /dev/null
+++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/inwork/TaggerDropAllOperation.java
@@ -0,0 +1,27 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 2007 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.orcs.db.internal.console.inwork;
+
+
+/**
+ * @author Roberto E. Escobar
+ */
+public final class TaggerDropAllOperation {
+
+ // public TaggerDropAllOperation(OperationLogger logger) {
+ // super("Drop All Search Tags", Activator.PLUGIN_ID, logger);
+ // }
+ //
+ // @Override
+ // protected void doWork(IProgressMonitor monitor) throws OseeCoreException {
+ // ConnectionHandler.runPreparedUpdate("TRUNCATE osee_search_tags");
+ // }
+}
diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/inwork/TaggerStats.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/inwork/TaggerStats.java
new file mode 100644
index 00000000000..914153ddd3a
--- /dev/null
+++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/console/inwork/TaggerStats.java
@@ -0,0 +1,52 @@
+/*******************************************************************************
+ * Copyright (c) 2004, 2007 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.orcs.db.internal.console.inwork;
+
+
+/**
+ * @author Roberto E. Escobar
+ */
+public final class TaggerStats {
+
+ // public TaggerStats(OperationLogger logger) {
+ // super("Tag Engine Stats", Activator.PLUGIN_ID, logger);
+ // }
+ //
+ // private String toString(ITagItemStatistics task) {
+ // return String.format("id: [%d] - processed [%d] tags in [%d] ms", task.getGammaId(), task.getTotalTags(),
+ // task.getProcessingTime());
+ // }
+ //
+ // @Override
+ // protected void doWork(IProgressMonitor monitor) throws Exception {
+ // ISearchEngineTagger tagger = Activator.getSearchTagger();
+ //
+ // ITaggerStatistics stats = tagger.getStatistics();
+ //
+ // log("\n----------------------------------------------");
+ // log(" Tagger Stats");
+ // log("----------------------------------------------");
+ // logf("Query Id Processing Time - avg: [%s] ms - longest: [%s] ms", stats.getAverageQueryIdProcessingTime(),
+ // stats.getLongestQueryIdProcessingTime());
+ // logf("Query Id Wait Time - avg: [%s] ms - longest: [%s] ms", stats.getAverageQueryIdWaitTime(),
+ // stats.getLongestQueryIdWaitTime());
+ //
+ // logf("Attribute Processing Time - avg: [%s] ms - longest: [%s] ms", stats.getAverageAttributeProcessingTime(),
+ // stats.getLongestAttributeProcessingTime());
+ // logf("Attribute with longest processing time - %s", toString(stats.getLongestTask()));
+ // logf("Attribute with most tags - %s", toString(stats.getMostTagsTask()));
+ // logf("Total - QueryIds: [%d] Attributes: [%d] Tags: [%d]", stats.getTotalQueryIdsProcessed(),
+ // stats.getTotalAttributesProcessed(), stats.getTotalTags());
+ // logf("Total Query Ids Waiting to be Processed - [%d]", tagger.getWorkersInQueue());
+ // logf("Total Query Ids in Tag Queue Table - [%d]", stats.getTotalQueryIdsInQueue());
+ // logf("Total Tags in System - [%d]\n", stats.getTagsInSystem());
+ // }
+}
diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/ExportItemFactory.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/ExportItemFactory.java
index 0f14d1d6980..ce68e430939 100644
--- a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/ExportItemFactory.java
+++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/ExportItemFactory.java
@@ -26,6 +26,7 @@ import org.eclipse.osee.framework.jdk.core.util.Strings;
import org.eclipse.osee.framework.resource.management.IResourceLocatorManager;
import org.eclipse.osee.framework.resource.management.IResourceManager;
import org.eclipse.osee.logger.Log;
+import org.eclipse.osee.orcs.ExportOptions;
import org.eclipse.osee.orcs.db.internal.exchange.export.AbstractExportItem;
import org.eclipse.osee.orcs.db.internal.exchange.export.DbTableExportItem;
import org.eclipse.osee.orcs.db.internal.exchange.export.ManifestExportItem;
diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/TranslationManager.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/TranslationManager.java
index 19027fb7bd7..ff7a970b243 100644
--- a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/TranslationManager.java
+++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/TranslationManager.java
@@ -18,6 +18,7 @@ import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.database.IOseeDatabaseService;
import org.eclipse.osee.framework.database.core.OseeConnection;
import org.eclipse.osee.framework.jdk.core.type.PropertyStore;
+import org.eclipse.osee.orcs.ImportOptions;
public class TranslationManager {
private static final String INSERT_INTO_IMPORT_MAP =
diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/TxCurrentsAndModTypesCommand.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/TxCurrentsAndModTypesCommand.java
index c03ab777900..3d96abb2a77 100644
--- a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/TxCurrentsAndModTypesCommand.java
+++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/TxCurrentsAndModTypesCommand.java
@@ -15,6 +15,7 @@ import java.util.List;
import org.eclipse.osee.framework.core.operation.CompositeOperation;
import org.eclipse.osee.framework.core.operation.IOperation;
import org.eclipse.osee.framework.core.operation.OperationLogger;
+import org.eclipse.osee.framework.database.IOseeDatabaseService;
import org.eclipse.osee.framework.database.operation.InvalidTxCurrentsAndModTypes;
/**
@@ -22,19 +23,19 @@ import org.eclipse.osee.framework.database.operation.InvalidTxCurrentsAndModType
*/
public class TxCurrentsAndModTypesCommand extends CompositeOperation {
- public TxCurrentsAndModTypesCommand(OperationLogger logger, boolean archived) {
- super("TxCurrents And Mod Types", "Plugin Id", logger, buildSubOperations(logger, archived));
+ public TxCurrentsAndModTypesCommand(IOseeDatabaseService db, OperationLogger logger, boolean archived) {
+ super("TxCurrents And Mod Types", "Plugin Id", logger, buildSubOperations(db, logger, archived));
}
- private static List<IOperation> buildSubOperations(OperationLogger logger, boolean archived) {
+ private static List<IOperation> buildSubOperations(IOseeDatabaseService db, OperationLogger logger, boolean archived) {
List<IOperation> operations = new ArrayList<IOperation>(3);
- operations.add(buildFixOperation(logger, archived, "1/3 ", "osee_artifact", "art_id"));
- operations.add(buildFixOperation(logger, archived, "2/3 ", "osee_attribute", "attr_id"));
- operations.add(buildFixOperation(logger, archived, "3/3 ", "osee_relation_link", "rel_link_id"));
+ operations.add(buildFixOperation(db, logger, archived, "1/3 ", "osee_artifact", "art_id"));
+ operations.add(buildFixOperation(db, logger, archived, "2/3 ", "osee_attribute", "attr_id"));
+ operations.add(buildFixOperation(db, logger, archived, "3/3 ", "osee_relation_link", "rel_link_id"));
return operations;
}
- private static IOperation buildFixOperation(OperationLogger logger, boolean archived, String operationName, String tableName, String columnName) {
- return new InvalidTxCurrentsAndModTypes(operationName, tableName, columnName, logger, true, archived);
+ private static IOperation buildFixOperation(IOseeDatabaseService db, OperationLogger logger, boolean archived, String operationName, String tableName, String columnName) {
+ return new InvalidTxCurrentsAndModTypes(db, operationName, tableName, columnName, logger, true, archived);
}
} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/export/ManifestExportItem.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/export/ManifestExportItem.java
index ffa0d3d9836..b0b80f5a55f 100644
--- a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/export/ManifestExportItem.java
+++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/export/ManifestExportItem.java
@@ -17,8 +17,8 @@ import org.eclipse.osee.framework.core.data.OseeCodeVersion;
import org.eclipse.osee.framework.database.core.OseeInfo;
import org.eclipse.osee.framework.jdk.core.type.PropertyStore;
import org.eclipse.osee.logger.Log;
+import org.eclipse.osee.orcs.ExportOptions;
import org.eclipse.osee.orcs.db.internal.exchange.ExportImportXml;
-import org.eclipse.osee.orcs.db.internal.exchange.ExportOptions;
import org.eclipse.osee.orcs.db.internal.exchange.handler.ExportItem;
/**
diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/handler/BranchDataSaxHandler.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/handler/BranchDataSaxHandler.java
index b716a25fb0d..db7bef89841 100644
--- a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/handler/BranchDataSaxHandler.java
+++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/handler/BranchDataSaxHandler.java
@@ -28,8 +28,8 @@ import org.eclipse.osee.framework.database.core.IOseeStatement;
import org.eclipse.osee.framework.database.core.OseeConnection;
import org.eclipse.osee.framework.jdk.core.util.Strings;
import org.eclipse.osee.logger.Log;
+import org.eclipse.osee.orcs.ImportOptions;
import org.eclipse.osee.orcs.db.internal.exchange.ExchangeDb;
-import org.eclipse.osee.orcs.db.internal.exchange.ImportOptions;
/**
* @author Roberto E. Escobar
diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/transform/ExchangeTransformer.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/transform/ExchangeTransformer.java
index 282f927ee03..64996aac646 100644
--- a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/transform/ExchangeTransformer.java
+++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/transform/ExchangeTransformer.java
@@ -14,18 +14,21 @@ import java.util.Collection;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.core.operation.OperationLogger;
import org.eclipse.osee.framework.core.util.Conditions;
+import org.eclipse.osee.framework.database.IOseeDatabaseService;
import org.eclipse.osee.framework.jdk.core.util.Strings;
import org.eclipse.osee.orcs.db.internal.exchange.handler.ExportItem;
import org.osgi.framework.Version;
public class ExchangeTransformer {
+ private final IOseeDatabaseService dbService;
private final IExchangeTransformProvider provider;
private final ExchangeDataProcessor processor;
private Collection<IOseeExchangeVersionTransformer> transformers;
- public ExchangeTransformer(IExchangeTransformProvider provider, ExchangeDataProcessor processor) {
+ public ExchangeTransformer(IOseeDatabaseService dbService, IExchangeTransformProvider provider, ExchangeDataProcessor processor) {
+ this.dbService = dbService;
this.provider = provider;
this.processor = processor;
}
@@ -48,7 +51,7 @@ public class ExchangeTransformer {
public void applyFinalTransforms(OperationLogger logger) throws Exception {
Conditions.checkNotNull(transformers, "transformers", "forgot to call apply transforms first");
for (IOseeExchangeVersionTransformer transform : transformers) {
- transform.finalizeTransform(processor, logger);
+ transform.finalizeTransform(dbService, processor, logger);
}
transformers = null;
}
diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/transform/IOseeExchangeVersionTransformer.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/transform/IOseeExchangeVersionTransformer.java
index 8af90b1b4dd..5e214b18261 100644
--- a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/transform/IOseeExchangeVersionTransformer.java
+++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/transform/IOseeExchangeVersionTransformer.java
@@ -12,6 +12,7 @@ package org.eclipse.osee.orcs.db.internal.exchange.transform;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.core.operation.OperationLogger;
+import org.eclipse.osee.framework.database.IOseeDatabaseService;
import org.osgi.framework.Version;
/**
@@ -23,5 +24,5 @@ public interface IOseeExchangeVersionTransformer {
public abstract Version getMaxVersion();
- public abstract void finalizeTransform(ExchangeDataProcessor processor, OperationLogger logger) throws OseeCoreException;
+ public abstract void finalizeTransform(IOseeDatabaseService dbService, ExchangeDataProcessor processor, OperationLogger logger) throws OseeCoreException;
}
diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/transform/V0_8_3Transformer.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/transform/V0_8_3Transformer.java
index fd097b2eb8e..3ce7bc0e9bd 100644
--- a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/transform/V0_8_3Transformer.java
+++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/transform/V0_8_3Transformer.java
@@ -13,6 +13,7 @@ package org.eclipse.osee.orcs.db.internal.exchange.transform;
import java.util.regex.Pattern;
import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.core.operation.OperationLogger;
+import org.eclipse.osee.framework.database.IOseeDatabaseService;
import org.eclipse.osee.framework.jdk.core.text.rules.ReplaceAll;
import org.eclipse.osee.framework.jdk.core.type.HashCollection;
import org.eclipse.osee.orcs.db.internal.exchange.handler.ExportItem;
@@ -41,7 +42,7 @@ public class V0_8_3Transformer implements IOseeExchangeVersionTransformer {
}
@Override
- public void finalizeTransform(ExchangeDataProcessor ruleProcessor, OperationLogger logger) {
+ public void finalizeTransform(IOseeDatabaseService dbService, ExchangeDataProcessor ruleProcessor, OperationLogger logger) {
//
}
diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/transform/V0_9_0Transformer.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/transform/V0_9_0Transformer.java
index f443d3a14a5..000798023cb 100644
--- a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/transform/V0_9_0Transformer.java
+++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/transform/V0_9_0Transformer.java
@@ -15,6 +15,7 @@ import org.eclipse.osee.framework.core.exception.OseeCoreException;
import org.eclipse.osee.framework.core.model.cache.AbstractOseeCache;
import org.eclipse.osee.framework.core.operation.OperationLogger;
import org.eclipse.osee.framework.core.services.IOseeCachingService;
+import org.eclipse.osee.framework.database.IOseeDatabaseService;
import org.eclipse.osee.framework.jdk.core.text.rules.ReplaceAll;
import org.eclipse.osee.framework.jdk.core.util.io.xml.SaxTransformer;
import org.eclipse.osee.orcs.db.internal.exchange.handler.ExportItem;
@@ -64,7 +65,7 @@ public class V0_9_0Transformer implements IOseeExchangeVersionTransformer {
}
@Override
- public void finalizeTransform(ExchangeDataProcessor processor, OperationLogger logger) {
+ public void finalizeTransform(IOseeDatabaseService dbService, ExchangeDataProcessor processor, OperationLogger logger) {
//
}
diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/transform/V0_9_2Transformer.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/transform/V0_9_2Transformer.java
index 4fe4be20c5b..f31c3974412 100644
--- a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/transform/V0_9_2Transformer.java
+++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/transform/V0_9_2Transformer.java
@@ -28,6 +28,7 @@ import org.eclipse.osee.framework.core.exception.OseeExceptions;
import org.eclipse.osee.framework.core.exception.OseeStateException;
import org.eclipse.osee.framework.core.operation.OperationLogger;
import org.eclipse.osee.framework.core.operation.Operations;
+import org.eclipse.osee.framework.database.IOseeDatabaseService;
import org.eclipse.osee.framework.database.operation.Address;
import org.eclipse.osee.framework.jdk.core.text.rules.ReplaceAll;
import org.eclipse.osee.framework.jdk.core.type.HashCollection;
@@ -81,9 +82,9 @@ public class V0_9_2Transformer implements IOseeExchangeVersionTransformer {
}
@Override
- public void finalizeTransform(ExchangeDataProcessor processor, OperationLogger logger) throws OseeCoreException {
- Operations.executeWorkAndCheckStatus(new TxCurrentsAndModTypesCommand(logger, false));
- Operations.executeWorkAndCheckStatus(new TxCurrentsAndModTypesCommand(logger, true));
+ public void finalizeTransform(IOseeDatabaseService dbService, ExchangeDataProcessor processor, OperationLogger logger) throws OseeCoreException {
+ Operations.executeWorkAndCheckStatus(new TxCurrentsAndModTypesCommand(dbService, logger, false));
+ Operations.executeWorkAndCheckStatus(new TxCurrentsAndModTypesCommand(dbService, logger, true));
}
private List<Integer> convertBranchTable(ExchangeDataProcessor processor) throws OseeCoreException {
diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/transform/V0_9_4Transformer.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/transform/V0_9_4Transformer.java
index f4c8fe3658e..72580e3573b 100644
--- a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/transform/V0_9_4Transformer.java
+++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/transform/V0_9_4Transformer.java
@@ -11,6 +11,7 @@
package org.eclipse.osee.orcs.db.internal.exchange.transform;
import org.eclipse.osee.framework.core.operation.OperationLogger;
+import org.eclipse.osee.framework.database.IOseeDatabaseService;
import org.osgi.framework.Version;
/**
@@ -30,7 +31,7 @@ public class V0_9_4Transformer implements IOseeExchangeVersionTransformer {
}
@Override
- public void finalizeTransform(ExchangeDataProcessor processor, OperationLogger logger) {
+ public void finalizeTransform(IOseeDatabaseService dbService, ExchangeDataProcessor processor, OperationLogger logger) {
//
}
} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/util/OperationCallableAdapter.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/util/OperationCallableAdapter.java
new file mode 100644
index 00000000000..fd76ed0d54f
--- /dev/null
+++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/util/OperationCallableAdapter.java
@@ -0,0 +1,35 @@
+/*******************************************************************************
+ * Copyright (c) 2012 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.orcs.db.internal.util;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.osee.executor.admin.CancellableCallable;
+import org.eclipse.osee.framework.core.operation.IOperation;
+import org.eclipse.osee.framework.core.operation.Operations;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class OperationCallableAdapter extends CancellableCallable<IStatus> {
+
+ private final IOperation operation;
+
+ public OperationCallableAdapter(IOperation operation) {
+ this.operation = operation;
+ }
+
+ @Override
+ public IStatus call() throws Exception {
+ IStatus status = Operations.executeWork(operation);
+ Operations.checkForErrorStatus(status);
+ return status;
+ }
+} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/util/OperationLoggerAdapter.java b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/util/OperationLoggerAdapter.java
new file mode 100644
index 00000000000..1275da87998
--- /dev/null
+++ b/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/util/OperationLoggerAdapter.java
@@ -0,0 +1,39 @@
+/*******************************************************************************
+ * Copyright (c) 2010 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.orcs.db.internal.util;
+
+import org.eclipse.osee.console.admin.Console;
+import org.eclipse.osee.framework.core.operation.OperationLogger;
+
+/**
+ * @author Ryan D. Brooks
+ */
+public class OperationLoggerAdapter extends OperationLogger {
+ private final Console ci;
+
+ public OperationLoggerAdapter(Console ci) {
+ this.ci = ci;
+ }
+
+ @Override
+ public void log(String... row) {
+ for (String cell : row) {
+ ci.write(cell);
+ ci.write(" ");
+ }
+ ci.writeln();
+ }
+
+ @Override
+ public void log(Throwable th) {
+ ci.writeln(th);
+ }
+} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/ExportOptions.java b/plugins/org.eclipse.osee.orcs/src/org/eclipse/osee/orcs/ExportOptions.java
index e03b8298ae0..4c031655c49 100644
--- a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/ExportOptions.java
+++ b/plugins/org.eclipse.osee.orcs/src/org/eclipse/osee/orcs/ExportOptions.java
@@ -8,7 +8,7 @@
* Contributors:
* Boeing - initial API and implementation
*******************************************************************************/
-package org.eclipse.osee.orcs.db.internal.exchange;
+package org.eclipse.osee.orcs;
/**
* @author Roberto E. Escobar
diff --git a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/ImportOptions.java b/plugins/org.eclipse.osee.orcs/src/org/eclipse/osee/orcs/ImportOptions.java
index d0444480b48..9ff7ac39060 100644
--- a/plugins/org.eclipse.osee.orcs.db/src/org/eclipse/osee/orcs/db/internal/exchange/ImportOptions.java
+++ b/plugins/org.eclipse.osee.orcs/src/org/eclipse/osee/orcs/ImportOptions.java
@@ -8,7 +8,7 @@
* Contributors:
* Boeing - initial API and implementation
*******************************************************************************/
-package org.eclipse.osee.orcs.db.internal.exchange;
+package org.eclipse.osee.orcs;
/**
* @author Roberto E. Escobar
diff --git a/plugins/org.eclipse.osee.support.config/launchConfig/OSEE.X.Server.launch b/plugins/org.eclipse.osee.support.config/launchConfig/OSEE.X.Server.launch
index b2fd2835cbd..5f2462e91ef 100644
--- a/plugins/org.eclipse.osee.support.config/launchConfig/OSEE.X.Server.launch
+++ b/plugins/org.eclipse.osee.support.config/launchConfig/OSEE.X.Server.launch
@@ -20,9 +20,9 @@
<stringAttribute key="pde.version" value="3.3"/>
<booleanAttribute key="show_selected_only" value="false"/>
<stringAttribute key="target_bundles" value="ch.qos.logback.classic@default:default,ch.qos.logback.core@default:default,ch.qos.logback.slf4j@default:false,com.google.collect@default:default,com.google.inject@default:default,com.ibm.icu@default:default,javax.activation@default:default,javax.mail.glassfish@default:default,javax.servlet@default:default,javax.xml@default:default,org.antlr.runtime@default:default,org.aopalliance@default:default,org.apache.commons.codec@default:default,org.apache.commons.httpclient@default:default,org.apache.commons.lang@default:default,org.apache.commons.logging@default:default,org.apache.log4j@default:default,org.apache.xerces@default:default,org.apache.xml.resolver@default:default,org.apache.xml.serializer@default:default,org.eclipse.ant.core@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.filesystem.win32.x86@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.net.win32.x86@default:false,org.eclipse.core.net@default:default,org.eclipse.core.resources.win32.x86@default:false,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.compare.diff@default:default,org.eclipse.emf.compare.match@default:default,org.eclipse.emf.compare@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.security.win32.x86@default:false,org.eclipse.equinox.security@default:default,org.eclipse.equinox.servletbridge.extensionbundle@default:false,org.eclipse.equinox.transforms.hook@default:false,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi.util@default:default,org.eclipse.osgi@-1:true,org.eclipse.team.core@default:default,org.eclipse.xtext.logging@default:false,org.eclipse.xtext.util@default:default,org.eclipse.xtext@default:default,org.h2@default:default,org.hamcrest.core@default:default,org.junit*4.8.2.v4_8_2_v20110321-1705@default:default,org.mortbay.jetty.server@default:default,org.mortbay.jetty.util@default:default,org.objectweb.asm@default:default,org.slf4j.api@default:default,org.slf4j.jcl@default:default"/>
-<stringAttribute key="timestamp" value="1329958743981"/>
+<stringAttribute key="timestamp" value="1330468850179"/>
<booleanAttribute key="tracing" value="false"/>
<booleanAttribute key="useCustomFeatures" value="false"/>
<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<stringAttribute key="workspace_bundles" value="com.sun.jersey@default:default,com.vaadin@default:default,javax.ws.rs@default:default,org.eclipse.osee.database.schema@default:default,org.eclipse.osee.database@default:default,org.eclipse.osee.demo.db.connection@default:default,org.eclipse.osee.distributed@default:default,org.eclipse.osee.event.osgi@default:default,org.eclipse.osee.event@default:default,org.eclipse.osee.executor.admin.test@default:false,org.eclipse.osee.executor.admin@default:default,org.eclipse.osee.framework.core.dsl.integration.test@default:false,org.eclipse.osee.framework.core.dsl.integration@default:default,org.eclipse.osee.framework.core.dsl@default:default,org.eclipse.osee.framework.core.message@default:default,org.eclipse.osee.framework.core.model.test@default:false,org.eclipse.osee.framework.core.model@default:default,org.eclipse.osee.framework.core.server@default:default,org.eclipse.osee.framework.core.test@default:false,org.eclipse.osee.framework.core@default:default,org.eclipse.osee.framework.database.test@default:false,org.eclipse.osee.framework.database@default:default,org.eclipse.osee.framework.h2@default:default,org.eclipse.osee.framework.jdk.core.test@default:false,org.eclipse.osee.framework.jdk.core@default:default,org.eclipse.osee.framework.logging.test@default:false,org.eclipse.osee.framework.logging@default:default,org.eclipse.osee.framework.manager.servlet@default:default,org.eclipse.osee.framework.resource.management.test@default:false,org.eclipse.osee.framework.resource.management@default:default,org.eclipse.osee.logback.config@default:false,org.eclipse.osee.logger.slf4j@default:default,org.eclipse.osee.logger@default:default,org.eclipse.osee.orcs.core.integration.test@default:false,org.eclipse.osee.orcs.core.test@default:false,org.eclipse.osee.orcs.core@default:default,org.eclipse.osee.orcs.db.mock@default:default,org.eclipse.osee.orcs.db.test@default:false,org.eclipse.osee.orcs.db@default:default,org.eclipse.osee.orcs.rest@default:default,org.eclipse.osee.orcs@default:default,org.eclipse.osee.rest.admin@default:default,org.eclipse.osee.vaadin.themes@default:false,org.eclipse.osee.vaadin.widgets@default:default,org.eclipse.osee.vaadin@default:default,org.jvnet.mimepull@default:default"/>
+<stringAttribute key="workspace_bundles" value="com.sun.jersey@default:default,com.vaadin@default:default,javax.ws.rs@default:default,org.eclipse.osee.console.admin@default:default,org.eclipse.osee.database.schema@default:default,org.eclipse.osee.database@default:default,org.eclipse.osee.demo.db.connection@default:default,org.eclipse.osee.distributed@default:default,org.eclipse.osee.event.osgi@default:default,org.eclipse.osee.event@default:default,org.eclipse.osee.executor.admin.test@default:false,org.eclipse.osee.executor.admin@default:default,org.eclipse.osee.framework.core.dsl.integration.test@default:false,org.eclipse.osee.framework.core.dsl.integration@default:default,org.eclipse.osee.framework.core.dsl@default:default,org.eclipse.osee.framework.core.message@default:default,org.eclipse.osee.framework.core.model.test@default:false,org.eclipse.osee.framework.core.model@default:default,org.eclipse.osee.framework.core.server@default:default,org.eclipse.osee.framework.core.test@default:false,org.eclipse.osee.framework.core@default:default,org.eclipse.osee.framework.database.test@default:false,org.eclipse.osee.framework.database@default:default,org.eclipse.osee.framework.h2@default:default,org.eclipse.osee.framework.jdk.core.test@default:false,org.eclipse.osee.framework.jdk.core@default:default,org.eclipse.osee.framework.logging.test@default:false,org.eclipse.osee.framework.logging@default:default,org.eclipse.osee.framework.manager.servlet@default:default,org.eclipse.osee.framework.resource.management.test@default:false,org.eclipse.osee.framework.resource.management@default:default,org.eclipse.osee.logback.config@default:false,org.eclipse.osee.logger.slf4j@default:default,org.eclipse.osee.logger@default:default,org.eclipse.osee.orcs.core.integration.test@default:false,org.eclipse.osee.orcs.core.test@default:false,org.eclipse.osee.orcs.core@default:default,org.eclipse.osee.orcs.db.mock@default:default,org.eclipse.osee.orcs.db.test@default:false,org.eclipse.osee.orcs.db@default:default,org.eclipse.osee.orcs.rest@default:default,org.eclipse.osee.orcs@default:default,org.eclipse.osee.rest.admin@default:default,org.eclipse.osee.vaadin.themes@default:false,org.eclipse.osee.vaadin.widgets@default:default,org.eclipse.osee.vaadin@default:default,org.jvnet.mimepull@default:default"/>
</launchConfiguration>

Back to the top