Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorafinkbein2009-01-14 23:38:51 +0000
committerafinkbein2009-01-14 23:38:51 +0000
commitcb1c7d0ad6868a396b37c5866bbf1a6a25c0c842 (patch)
tree14856edef772459c4c29024e9fd3285558b94541
parent55e509370f57dcc4a3f74daf080c33e117b18123 (diff)
downloadorg.eclipse.osee-cb1c7d0ad6868a396b37c5866bbf1a6a25c0c842.tar.gz
org.eclipse.osee-cb1c7d0ad6868a396b37c5866bbf1a6a25c0c842.tar.xz
org.eclipse.osee-cb1c7d0ad6868a396b37c5866bbf1a6a25c0c842.zip
-rw-r--r--org.eclipse.osee.framework.server.admin/.classpath8
-rw-r--r--org.eclipse.osee.framework.server.admin/.project28
-rw-r--r--org.eclipse.osee.framework.server.admin/.settings/org.eclipse.pde.core.prefs4
-rw-r--r--org.eclipse.osee.framework.server.admin/META-INF/MANIFEST.MF33
-rw-r--r--org.eclipse.osee.framework.server.admin/OSGI-INF/branch.cmds.xml7
-rw-r--r--org.eclipse.osee.framework.server.admin/OSGI-INF/search.tagger.cmds.xml7
-rw-r--r--org.eclipse.osee.framework.server.admin/OSGI-INF/server.admin.cmds.xml7
-rw-r--r--org.eclipse.osee.framework.server.admin/Server Release Instructions.xml3
-rw-r--r--org.eclipse.osee.framework.server.admin/ant_src/ConfigIniGeneration.java54
-rw-r--r--org.eclipse.osee.framework.server.admin/build.properties7
-rw-r--r--org.eclipse.osee.framework.server.admin/build_server_release.xml60
-rw-r--r--org.eclipse.osee.framework.server.admin/buildsupport.jarbin0 -> 213142 bytes
-rw-r--r--org.eclipse.osee.framework.server.admin/config.ini31
-rw-r--r--org.eclipse.osee.framework.server.admin/osee_server_bundles/javax.servlet_2.4.0.v200803061910.jarbin0 -> 107572 bytes
-rw-r--r--org.eclipse.osee.framework.server.admin/osee_server_bundles/org.apache.commons.logging_1.0.4.v200803061811.jarbin0 -> 43510 bytes
-rw-r--r--org.eclipse.osee.framework.server.admin/osee_server_bundles/org.eclipse.equinox.app_1.1.0.v20080421-2006.jarbin0 -> 79866 bytes
-rw-r--r--org.eclipse.osee.framework.server.admin/osee_server_bundles/org.eclipse.equinox.common_3.4.0.v20080421-2006.jarbin0 -> 94649 bytes
-rw-r--r--org.eclipse.osee.framework.server.admin/osee_server_bundles/org.eclipse.equinox.ds_1.0.0.v20080310.jarbin0 -> 137312 bytes
-rw-r--r--org.eclipse.osee.framework.server.admin/osee_server_bundles/org.eclipse.equinox.http.jetty_1.0.100.v20080303.jarbin0 -> 18395 bytes
-rw-r--r--org.eclipse.osee.framework.server.admin/osee_server_bundles/org.eclipse.equinox.http.servlet_1.0.100.v20080201.jarbin0 -> 34317 bytes
-rw-r--r--org.eclipse.osee.framework.server.admin/osee_server_bundles/org.eclipse.equinox.log_1.1.0.v20080303.jarbin0 -> 25343 bytes
-rw-r--r--org.eclipse.osee.framework.server.admin/osee_server_bundles/org.eclipse.equinox.registry_3.4.0.v20080516-0950.jarbin0 -> 172936 bytes
-rw-r--r--org.eclipse.osee.framework.server.admin/osee_server_bundles/org.eclipse.equinox.util_1.0.0.v20080303.jarbin0 -> 74893 bytes
-rw-r--r--org.eclipse.osee.framework.server.admin/osee_server_bundles/org.eclipse.osgi.services_3.1.200.v20071203.jarbin0 -> 63665 bytes
-rw-r--r--org.eclipse.osee.framework.server.admin/osee_server_bundles/org.eclipse.osgi_3.4.0.v20080326.jarbin0 -> 985059 bytes
-rw-r--r--org.eclipse.osee.framework.server.admin/osee_server_bundles/org.mortbay.jetty_5.1.11.v200803061811.jarbin0 -> 700425 bytes
-rw-r--r--org.eclipse.osee.framework.server.admin/osee_server_bundles/runServer-PostgresqlLocal.sh1
-rw-r--r--org.eclipse.osee.framework.server.admin/osee_server_bundles/runServer-Production.sh1
-rw-r--r--org.eclipse.osee.framework.server.admin/osee_server_bundles/runServer-ProductionDev.sh1
-rw-r--r--org.eclipse.osee.framework.server.admin/plugin.xml18
-rw-r--r--org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/Activator.java99
-rw-r--r--org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/BaseCmdWorker.java101
-rw-r--r--org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/BranchManagementCommandProvider.java80
-rw-r--r--org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/SearchTaggerCommandProvider.java102
-rw-r--r--org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/ServerAdminCommandProvider.java82
-rw-r--r--org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/app/DataStoreBackupApplication.java137
-rw-r--r--org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/branch/BranchCommands.java126
-rw-r--r--org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/branch/BranchExportWorker.java109
-rw-r--r--org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/branch/BranchImportWorker.java91
-rw-r--r--org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/branch/ExchangeIntegrityWorker.java66
-rw-r--r--org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/conversion/CompressedContentFix.java231
-rw-r--r--org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/conversion/DbResource.java117
-rw-r--r--org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/conversion/Util.java45
-rw-r--r--org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/management/AdminCommands.java74
-rw-r--r--org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/management/ServerRequestsWorker.java29
-rw-r--r--org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/management/ServerShutdownWorker.java32
-rw-r--r--org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/management/ServerStats.java52
-rw-r--r--org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/search/SearchStats.java38
-rw-r--r--org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/search/SearchTaggerCommands.java150
-rw-r--r--org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/search/TagItemWorker.java138
-rw-r--r--org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/search/TaggerAllWorker.java193
-rw-r--r--org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/search/TaggerDropAllWorker.java33
-rw-r--r--org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/search/TaggerStats.java54
-rw-r--r--org.eclipse.osee.framework.server.admin/supportExport.jardesc17
54 files changed, 2466 insertions, 0 deletions
diff --git a/org.eclipse.osee.framework.server.admin/.classpath b/org.eclipse.osee.framework.server.admin/.classpath
new file mode 100644
index 00000000000..2979e2c4ef0
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/.classpath
@@ -0,0 +1,8 @@
+<?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="src" path="ant_src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/org.eclipse.osee.framework.server.admin/.project b/org.eclipse.osee.framework.server.admin/.project
new file mode 100644
index 00000000000..3d5da73c193
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/.project
@@ -0,0 +1,28 @@
+<?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/org.eclipse.osee.framework.server.admin/.settings/org.eclipse.pde.core.prefs b/org.eclipse.osee.framework.server.admin/.settings/org.eclipse.pde.core.prefs
new file mode 100644
index 00000000000..f6b3a7df97e
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/.settings/org.eclipse.pde.core.prefs
@@ -0,0 +1,4 @@
+#Tue Dec 09 15:47:29 MST 2008
+eclipse.preferences.version=1
+pluginProject.extensions=true
+resolve.requirebundle=false
diff --git a/org.eclipse.osee.framework.server.admin/META-INF/MANIFEST.MF b/org.eclipse.osee.framework.server.admin/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..7bd65d87402
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/META-INF/MANIFEST.MF
@@ -0,0 +1,33 @@
+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.4.0.qualifier
+Bundle-Activator: org.eclipse.osee.framework.server.admin.Activator
+Bundle-Vendor: Boeing
+Bundle-ActivationPolicy: lazy
+Import-Package: org.eclipse.equinox.app;version="1.0.0",
+ org.eclipse.osee.framework.branch.management,
+ org.eclipse.osee.framework.core.data,
+ org.eclipse.osee.framework.core.server,
+ org.eclipse.osee.framework.db.connection,
+ org.eclipse.osee.framework.db.connection.core,
+ org.eclipse.osee.framework.db.connection.core.query,
+ org.eclipse.osee.framework.db.connection.core.schema,
+ org.eclipse.osee.framework.db.connection.core.transaction,
+ org.eclipse.osee.framework.db.connection.exception,
+ org.eclipse.osee.framework.db.connection.info,
+ 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.provider.common.resources,
+ org.eclipse.osee.framework.search.engine,
+ org.eclipse.osee.framework.search.engine.attribute,
+ org.eclipse.osgi.framework.console;version="1.0.0",
+ org.osgi.framework;version="1.3.0",
+ org.osgi.util.tracker;version="1.3.3"
+Service-Component: OSGI-INF/server.admin.cmds.xml,
+ OSGI-INF/search.tagger.cmds.xml,
+ OSGI-INF/branch.cmds.xml
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
diff --git a/org.eclipse.osee.framework.server.admin/OSGI-INF/branch.cmds.xml b/org.eclipse.osee.framework.server.admin/OSGI-INF/branch.cmds.xml
new file mode 100644
index 00000000000..c76a81ac4ba
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/OSGI-INF/branch.cmds.xml
@@ -0,0 +1,7 @@
+<?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/org.eclipse.osee.framework.server.admin/OSGI-INF/search.tagger.cmds.xml b/org.eclipse.osee.framework.server.admin/OSGI-INF/search.tagger.cmds.xml
new file mode 100644
index 00000000000..ddc580dceea
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/OSGI-INF/search.tagger.cmds.xml
@@ -0,0 +1,7 @@
+<?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/org.eclipse.osee.framework.server.admin/OSGI-INF/server.admin.cmds.xml b/org.eclipse.osee.framework.server.admin/OSGI-INF/server.admin.cmds.xml
new file mode 100644
index 00000000000..3c84a201837
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/OSGI-INF/server.admin.cmds.xml
@@ -0,0 +1,7 @@
+<?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/org.eclipse.osee.framework.server.admin/Server Release Instructions.xml b/org.eclipse.osee.framework.server.admin/Server Release Instructions.xml
new file mode 100644
index 00000000000..e7466312fa1
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/Server Release Instructions.xml
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<?mso-application progid="Word.Document"?>
+<w:wordDocument xmlns:w="http://schemas.microsoft.com/office/word/2003/wordml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:sl="http://schemas.microsoft.com/schemaLibrary/2003/core" xmlns:aml="http://schemas.microsoft.com/aml/2001/core" xmlns:wx="http://schemas.microsoft.com/office/word/2003/auxHint" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:wsp="http://schemas.microsoft.com/office/word/2003/wordml/sp2" w:macrosPresent="no" w:embeddedObjPresent="no" w:ocxPresent="no" xml:space="preserve"><w:ignoreElements w:val="http://schemas.microsoft.com/office/word/2003/wordml/sp2"/><o:DocumentProperties><o:Title>Releasing New Application Server:</o:Title><o:Author>b1122182</o:Author><o:LastAuthor>b1122182</o:LastAuthor><o:Revision>3</o:Revision><o:TotalTime>38</o:TotalTime><o:Created>2008-05-29T18:45:00Z</o:Created><o:LastSaved>2008-05-29T19:23:00Z</o:LastSaved><o:Pages>1</o:Pages><o:Words>352</o:Words><o:Characters>2011</o:Characters><o:Company>The Boeing Company</o:Company><o:Lines>16</o:Lines><o:Paragraphs>4</o:Paragraphs><o:CharactersWithSpaces>2359</o:CharactersWithSpaces><o:Version>11.0000</o:Version></o:DocumentProperties><w:fonts><w:defaultFonts w:ascii="Times New Roman" w:fareast="Times New Roman" w:h-ansi="Times New Roman" w:cs="Times New Roman"/><w:font w:name="Wingdings"><w:panose-1 w:val="05000000000000000000"/><w:charset w:val="02"/><w:family w:val="Auto"/><w:pitch w:val="variable"/><w:sig w:usb-0="00000000" w:usb-1="10000000" w:usb-2="00000000" w:usb-3="00000000" w:csb-0="80000000" w:csb-1="00000000"/></w:font></w:fonts><w:lists><w:listDef w:listDefId="0"><w:lsid w:val="1D5F696F"/><w:plt w:val="HybridMultilevel"/><w:tmpl w:val="16229328"/><w:lvl w:ilvl="0" w:tplc="0409000F"><w:start w:val="1"/><w:lvlText w:val="%1."/><w:lvlJc w:val="left"/><w:pPr><w:tabs><w:tab w:val="list" w:pos="1440"/></w:tabs><w:ind w:left="1440" w:hanging="360"/></w:pPr></w:lvl><w:lvl w:ilvl="1" w:tplc="04090019" w:tentative="on"><w:start w:val="1"/><w:nfc w:val="4"/><w:lvlText w:val="%2."/><w:lvlJc w:val="left"/><w:pPr><w:tabs><w:tab w:val="list" w:pos="2160"/></w:tabs><w:ind w:left="2160" w:hanging="360"/></w:pPr></w:lvl><w:lvl w:ilvl="2" w:tplc="0409001B" w:tentative="on"><w:start w:val="1"/><w:nfc w:val="2"/><w:lvlText w:val="%3."/><w:lvlJc w:val="right"/><w:pPr><w:tabs><w:tab w:val="list" w:pos="2880"/></w:tabs><w:ind w:left="2880" w:hanging="180"/></w:pPr></w:lvl><w:lvl w:ilvl="3" w:tplc="0409000F" w:tentative="on"><w:start w:val="1"/><w:lvlText w:val="%4."/><w:lvlJc w:val="left"/><w:pPr><w:tabs><w:tab w:val="list" w:pos="3600"/></w:tabs><w:ind w:left="3600" w:hanging="360"/></w:pPr></w:lvl><w:lvl w:ilvl="4" w:tplc="04090019" w:tentative="on"><w:start w:val="1"/><w:nfc w:val="4"/><w:lvlText w:val="%5."/><w:lvlJc w:val="left"/><w:pPr><w:tabs><w:tab w:val="list" w:pos="4320"/></w:tabs><w:ind w:left="4320" w:hanging="360"/></w:pPr></w:lvl><w:lvl w:ilvl="5" w:tplc="0409001B" w:tentative="on"><w:start w:val="1"/><w:nfc w:val="2"/><w:lvlText w:val="%6."/><w:lvlJc w:val="right"/><w:pPr><w:tabs><w:tab w:val="list" w:pos="5040"/></w:tabs><w:ind w:left="5040" w:hanging="180"/></w:pPr></w:lvl><w:lvl w:ilvl="6" w:tplc="0409000F" w:tentative="on"><w:start w:val="1"/><w:lvlText w:val="%7."/><w:lvlJc w:val="left"/><w:pPr><w:tabs><w:tab w:val="list" w:pos="5760"/></w:tabs><w:ind w:left="5760" w:hanging="360"/></w:pPr></w:lvl><w:lvl w:ilvl="7" w:tplc="04090019" w:tentative="on"><w:start w:val="1"/><w:nfc w:val="4"/><w:lvlText w:val="%8."/><w:lvlJc w:val="left"/><w:pPr><w:tabs><w:tab w:val="list" w:pos="6480"/></w:tabs><w:ind w:left="6480" w:hanging="360"/></w:pPr></w:lvl><w:lvl w:ilvl="8" w:tplc="0409001B" w:tentative="on"><w:start w:val="1"/><w:nfc w:val="2"/><w:lvlText w:val="%9."/><w:lvlJc w:val="right"/><w:pPr><w:tabs><w:tab w:val="list" w:pos="7200"/></w:tabs><w:ind w:left="7200" w:hanging="180"/></w:pPr></w:lvl></w:listDef><w:listDef w:listDefId="1"><w:lsid w:val="2EAC47C6"/><w:plt w:val="HybridMultilevel"/><w:tmpl w:val="6838CCC8"/><w:lvl w:ilvl="0" w:tplc="0409000F"><w:start w:val="1"/><w:lvlText w:val="%1."/><w:lvlJc w:val="left"/><w:pPr><w:tabs><w:tab w:val="list" w:pos="1440"/></w:tabs><w:ind w:left="1440" w:hanging="360"/></w:pPr></w:lvl><w:lvl w:ilvl="1" w:tplc="04090019"><w:start w:val="1"/><w:nfc w:val="4"/><w:lvlText w:val="%2."/><w:lvlJc w:val="left"/><w:pPr><w:tabs><w:tab w:val="list" w:pos="2160"/></w:tabs><w:ind w:left="2160" w:hanging="360"/></w:pPr></w:lvl><w:lvl w:ilvl="2" w:tplc="0409001B"><w:start w:val="1"/><w:nfc w:val="2"/><w:lvlText w:val="%3."/><w:lvlJc w:val="right"/><w:pPr><w:tabs><w:tab w:val="list" w:pos="2880"/></w:tabs><w:ind w:left="2880" w:hanging="180"/></w:pPr></w:lvl><w:lvl w:ilvl="3" w:tplc="0409000F" w:tentative="on"><w:start w:val="1"/><w:lvlText w:val="%4."/><w:lvlJc w:val="left"/><w:pPr><w:tabs><w:tab w:val="list" w:pos="3600"/></w:tabs><w:ind w:left="3600" w:hanging="360"/></w:pPr></w:lvl><w:lvl w:ilvl="4" w:tplc="04090019" w:tentative="on"><w:start w:val="1"/><w:nfc w:val="4"/><w:lvlText w:val="%5."/><w:lvlJc w:val="left"/><w:pPr><w:tabs><w:tab w:val="list" w:pos="4320"/></w:tabs><w:ind w:left="4320" w:hanging="360"/></w:pPr></w:lvl><w:lvl w:ilvl="5" w:tplc="0409001B" w:tentative="on"><w:start w:val="1"/><w:nfc w:val="2"/><w:lvlText w:val="%6."/><w:lvlJc w:val="right"/><w:pPr><w:tabs><w:tab w:val="list" w:pos="5040"/></w:tabs><w:ind w:left="5040" w:hanging="180"/></w:pPr></w:lvl><w:lvl w:ilvl="6" w:tplc="0409000F" w:tentative="on"><w:start w:val="1"/><w:lvlText w:val="%7."/><w:lvlJc w:val="left"/><w:pPr><w:tabs><w:tab w:val="list" w:pos="5760"/></w:tabs><w:ind w:left="5760" w:hanging="360"/></w:pPr></w:lvl><w:lvl w:ilvl="7" w:tplc="04090019" w:tentative="on"><w:start w:val="1"/><w:nfc w:val="4"/><w:lvlText w:val="%8."/><w:lvlJc w:val="left"/><w:pPr><w:tabs><w:tab w:val="list" w:pos="6480"/></w:tabs><w:ind w:left="6480" w:hanging="360"/></w:pPr></w:lvl><w:lvl w:ilvl="8" w:tplc="0409001B" w:tentative="on"><w:start w:val="1"/><w:nfc w:val="2"/><w:lvlText w:val="%9."/><w:lvlJc w:val="right"/><w:pPr><w:tabs><w:tab w:val="list" w:pos="7200"/></w:tabs><w:ind w:left="7200" w:hanging="180"/></w:pPr></w:lvl></w:listDef><w:listDef w:listDefId="2"><w:lsid w:val="43426C77"/><w:plt w:val="HybridMultilevel"/><w:tmpl w:val="31087D5E"/><w:lvl w:ilvl="0" w:tplc="04090005"><w:start w:val="1"/><w:nfc w:val="23"/><w:lvlText w:val=""/><w:lvlJc w:val="left"/><w:pPr><w:tabs><w:tab w:val="list" w:pos="1080"/></w:tabs><w:ind w:left="1080" w:hanging="360"/></w:pPr><w:rPr><w:rFonts w:ascii="Wingdings" w:h-ansi="Wingdings" w:hint="default"/></w:rPr></w:lvl><w:lvl w:ilvl="1" w:tplc="0409000F"><w:start w:val="1"/><w:lvlText w:val="%2."/><w:lvlJc w:val="left"/><w:pPr><w:tabs><w:tab w:val="list" w:pos="1800"/></w:tabs><w:ind w:left="1800" w:hanging="360"/></w:pPr><w:rPr><w:rFonts w:hint="default"/></w:rPr></w:lvl><w:lvl w:ilvl="2" w:tplc="04090005" w:tentative="on"><w:start w:val="1"/><w:nfc w:val="23"/><w:lvlText w:val=""/><w:lvlJc w:val="left"/><w:pPr><w:tabs><w:tab w:val="list" w:pos="2520"/></w:tabs><w:ind w:left="2520" w:hanging="360"/></w:pPr><w:rPr><w:rFonts w:ascii="Wingdings" w:h-ansi="Wingdings" w:hint="default"/></w:rPr></w:lvl><w:lvl w:ilvl="3" w:tplc="04090001" w:tentative="on"><w:start w:val="1"/><w:nfc w:val="23"/><w:lvlText w:val=""/><w:lvlJc w:val="left"/><w:pPr><w:tabs><w:tab w:val="list" w:pos="3240"/></w:tabs><w:ind w:left="3240" w:hanging="360"/></w:pPr><w:rPr><w:rFonts w:ascii="Symbol" w:h-ansi="Symbol" w:hint="default"/></w:rPr></w:lvl><w:lvl w:ilvl="4" w:tplc="04090003" w:tentative="on"><w:start w:val="1"/><w:nfc w:val="23"/><w:lvlText w:val="o"/><w:lvlJc w:val="left"/><w:pPr><w:tabs><w:tab w:val="list" w:pos="3960"/></w:tabs><w:ind w:left="3960" w:hanging="360"/></w:pPr><w:rPr><w:rFonts w:ascii="Courier New" w:h-ansi="Courier New" w:cs="Courier New" w:hint="default"/></w:rPr></w:lvl><w:lvl w:ilvl="5" w:tplc="04090005" w:tentative="on"><w:start w:val="1"/><w:nfc w:val="23"/><w:lvlText w:val=""/><w:lvlJc w:val="left"/><w:pPr><w:tabs><w:tab w:val="list" w:pos="4680"/></w:tabs><w:ind w:left="4680" w:hanging="360"/></w:pPr><w:rPr><w:rFonts w:ascii="Wingdings" w:h-ansi="Wingdings" w:hint="default"/></w:rPr></w:lvl><w:lvl w:ilvl="6" w:tplc="04090001" w:tentative="on"><w:start w:val="1"/><w:nfc w:val="23"/><w:lvlText w:val=""/><w:lvlJc w:val="left"/><w:pPr><w:tabs><w:tab w:val="list" w:pos="5400"/></w:tabs><w:ind w:left="5400" w:hanging="360"/></w:pPr><w:rPr><w:rFonts w:ascii="Symbol" w:h-ansi="Symbol" w:hint="default"/></w:rPr></w:lvl><w:lvl w:ilvl="7" w:tplc="04090003" w:tentative="on"><w:start w:val="1"/><w:nfc w:val="23"/><w:lvlText w:val="o"/><w:lvlJc w:val="left"/><w:pPr><w:tabs><w:tab w:val="list" w:pos="6120"/></w:tabs><w:ind w:left="6120" w:hanging="360"/></w:pPr><w:rPr><w:rFonts w:ascii="Courier New" w:h-ansi="Courier New" w:cs="Courier New" w:hint="default"/></w:rPr></w:lvl><w:lvl w:ilvl="8" w:tplc="04090005" w:tentative="on"><w:start w:val="1"/><w:nfc w:val="23"/><w:lvlText w:val=""/><w:lvlJc w:val="left"/><w:pPr><w:tabs><w:tab w:val="list" w:pos="6840"/></w:tabs><w:ind w:left="6840" w:hanging="360"/></w:pPr><w:rPr><w:rFonts w:ascii="Wingdings" w:h-ansi="Wingdings" w:hint="default"/></w:rPr></w:lvl></w:listDef><w:list w:ilfo="1"><w:ilst w:val="1"/></w:list><w:list w:ilfo="2"><w:ilst w:val="2"/></w:list><w:list w:ilfo="3"><w:ilst w:val="0"/></w:list></w:lists><w:styles><w:versionOfBuiltInStylenames w:val="4"/><w:latentStyles w:defLockedState="off" w:latentStyleCount="156"/><w:style w:type="paragraph" w:default="on" w:styleId="Normal"><w:name w:val="Normal"/><w:rsid w:val="00A1102E"/><w:rPr><wx:font wx:val="Times New Roman"/><w:sz w:val="24"/><w:sz-cs w:val="24"/><w:lang w:val="EN-US" w:fareast="EN-US" w:bidi="AR-SA"/></w:rPr></w:style><w:style w:type="character" w:default="on" w:styleId="DefaultParagraphFont"><w:name w:val="Default Paragraph Font"/><w:semiHidden/></w:style><w:style w:type="table" w:default="on" w:styleId="TableNormal"><w:name w:val="Normal Table"/><wx:uiName wx:val="Table Normal"/><w:semiHidden/><w:rPr><wx:font wx:val="Times New Roman"/></w:rPr><w:tblPr><w:tblInd w:w="0" w:type="dxa"/><w:tblCellMar><w:top w:w="0" w:type="dxa"/><w:left w:w="108" w:type="dxa"/><w:bottom w:w="0" w:type="dxa"/><w:right w:w="108" w:type="dxa"/></w:tblCellMar></w:tblPr></w:style><w:style w:type="list" w:default="on" w:styleId="NoList"><w:name w:val="No List"/><w:semiHidden/></w:style></w:styles><w:docPr><w:view w:val="print"/><w:zoom w:percent="100"/><w:displayBackgroundShape/><w:doNotEmbedSystemFonts/><w:proofState w:spelling="clean" w:grammar="clean"/><w:attachedTemplate w:val=""/><w:defaultTabStop w:val="720"/><w:punctuationKerning/><w:characterSpacingControl w:val="DontCompress"/><w:optimizeForBrowser/><w:validateAgainstSchema/><w:saveInvalidXML w:val="off"/><w:ignoreMixedContent w:val="off"/><w:alwaysShowPlaceholderText w:val="off"/><w:compat><w:breakWrappedTables/><w:snapToGridInCell/><w:wrapTextWithPunct/><w:useAsianBreakRules/><w:dontGrowAutofit/></w:compat><wsp:rsids><wsp:rsidRoot wsp:val="00731989"/><wsp:rsid wsp:val="00731989"/><wsp:rsid wsp:val="00766272"/><wsp:rsid wsp:val="00821BA3"/><wsp:rsid wsp:val="00850125"/><wsp:rsid wsp:val="008B68C7"/><wsp:rsid wsp:val="00A1102E"/><wsp:rsid wsp:val="00C65B36"/><wsp:rsid wsp:val="00CC477E"/><wsp:rsid wsp:val="00E93320"/><wsp:rsid wsp:val="00FA03CC"/></wsp:rsids></w:docPr><w:body><wx:sect><w:p wsp:rsidR="00CC477E" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="00CC477E" wsp:rsidP="00CC477E"><w:pPr><w:jc w:val="center"/><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:b/><w:u w:val="single"/></w:rPr></w:pPr><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:b/><w:u w:val="single"/></w:rPr><w:t>OSEE APPLICATION SERVER INSTRUCTIONS</w:t></w:r></w:p><w:p wsp:rsidR="00CC477E" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="00CC477E" wsp:rsidP="00CC477E"><w:pPr><w:jc w:val="center"/><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:b/></w:rPr></w:pPr></w:p><w:p wsp:rsidR="00766272" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="00766272"><w:pPr><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:b/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:b/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>Releasing New Application Server:</w:t></w:r></w:p><w:p wsp:rsidR="008B68C7" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="008B68C7"><w:pPr><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:b/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr></w:p><w:p wsp:rsidR="00766272" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="00766272" wsp:rsidP="00766272"><w:pPr><w:listPr><w:ilvl w:val="0"/><w:ilfo w:val="1"/><wx:t wx:val="1." wx:wTabBefore="1080" wx:wTabAfter="210"/><wx:font wx:val="Times New Roman"/></w:listPr><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>Select target platform</w:t></w:r></w:p><w:p wsp:rsidR="00766272" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="00766272" wsp:rsidP="00766272"><w:pPr><w:listPr><w:ilvl w:val="1"/><w:ilfo w:val="1"/><wx:t wx:val="a." wx:wTabBefore="1800" wx:wTabAfter="210"/><wx:font wx:val="Times New Roman"/></w:listPr><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>Open Target Platform project</w:t></w:r></w:p><w:p wsp:rsidR="00766272" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="00766272" wsp:rsidP="00766272"><w:pPr><w:listPr><w:ilvl w:val="1"/><w:ilfo w:val="1"/><wx:t wx:val="b." wx:wTabBefore="1800" wx:wTabAfter="210"/><wx:font wx:val="Times New Roman"/></w:listPr><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>Open equinox[XX].target file this will open an editor</w:t></w:r></w:p><w:p wsp:rsidR="00766272" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="00766272" wsp:rsidP="00766272"><w:pPr><w:listPr><w:ilvl w:val="1"/><w:ilfo w:val="1"/><wx:t wx:val="c." wx:wTabBefore="1800" wx:wTabAfter="225"/><wx:font wx:val="Times New Roman"/></w:listPr><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>Click on Set as target platform on the top right of the editor</w:t></w:r></w:p><w:p wsp:rsidR="008B68C7" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="008B68C7" wsp:rsidP="008B68C7"><w:pPr><w:ind w:left="1800"/><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr></w:p><w:p wsp:rsidR="00766272" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="00766272" wsp:rsidP="00766272"><w:pPr><w:listPr><w:ilvl w:val="0"/><w:ilfo w:val="1"/><wx:t wx:val="2." wx:wTabBefore="1080" wx:wTabAfter="210"/><wx:font wx:val="Times New Roman"/></w:listPr><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>Ensure PDE ant task configured correctly</w:t></w:r></w:p><w:p wsp:rsidR="00766272" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="00766272" wsp:rsidP="00766272"><w:pPr><w:listPr><w:ilvl w:val="1"/><w:ilfo w:val="1"/><wx:t wx:val="a." wx:wTabBefore="1800" wx:wTabAfter="210"/><wx:font wx:val="Times New Roman"/></w:listPr><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>Open </w:t></w:r><w:proofErr w:type="spellStart"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>org.eclipse.osee.framework.server.admin</w:t></w:r><w:proofErr w:type="spellEnd"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t> project</w:t></w:r></w:p><w:p wsp:rsidR="00766272" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="00766272" wsp:rsidP="00766272"><w:pPr><w:listPr><w:ilvl w:val="1"/><w:ilfo w:val="1"/><wx:t wx:val="b." wx:wTabBefore="1800" wx:wTabAfter="210"/><wx:font wx:val="Times New Roman"/></w:listPr><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>Right-Click on </w:t></w:r><w:proofErr w:type="spellStart"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>build_server_release.xml</w:t></w:r><w:proofErr w:type="spellEnd"/></w:p><w:p wsp:rsidR="00766272" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="00766272" wsp:rsidP="00766272"><w:pPr><w:listPr><w:ilvl w:val="1"/><w:ilfo w:val="1"/><wx:t wx:val="c." wx:wTabBefore="1800" wx:wTabAfter="225"/><wx:font wx:val="Times New Roman"/></w:listPr><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>Select Run As-&gt;Ant Build…</w:t></w:r></w:p><w:p wsp:rsidR="00766272" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="00766272" wsp:rsidP="00766272"><w:pPr><w:listPr><w:ilvl w:val="1"/><w:ilfo w:val="1"/><wx:t wx:val="d." wx:wTabBefore="1800" wx:wTabAfter="210"/><wx:font wx:val="Times New Roman"/></w:listPr><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>On the JRE tab select “Run in the same JRE as the workspace”</w:t></w:r></w:p><w:p wsp:rsidR="008B68C7" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="008B68C7" wsp:rsidP="008B68C7"><w:pPr><w:ind w:left="1800"/><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr></w:p><w:p wsp:rsidR="00766272" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="00766272" wsp:rsidP="00766272"><w:pPr><w:listPr><w:ilvl w:val="0"/><w:ilfo w:val="1"/><wx:t wx:val="3." wx:wTabBefore="1080" wx:wTabAfter="210"/><wx:font wx:val="Times New Roman"/></w:listPr><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>Run Ant Script to build server configuration</w:t></w:r></w:p><w:p wsp:rsidR="00766272" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="00766272" wsp:rsidP="00766272"><w:pPr><w:listPr><w:ilvl w:val="1"/><w:ilfo w:val="1"/><wx:t wx:val="a." wx:wTabBefore="1800" wx:wTabAfter="210"/><wx:font wx:val="Times New Roman"/></w:listPr><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>Open Ant view by selecting Window-&gt;Show View-&gt;Ant</w:t></w:r></w:p><w:p wsp:rsidR="00766272" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="00766272" wsp:rsidP="00766272"><w:pPr><w:listPr><w:ilvl w:val="1"/><w:ilfo w:val="1"/><wx:t wx:val="b." wx:wTabBefore="1800" wx:wTabAfter="210"/><wx:font wx:val="Times New Roman"/></w:listPr><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>Drag and Drop </w:t></w:r><w:proofErr w:type="spellStart"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>build_server_release.xml</w:t></w:r><w:proofErr w:type="spellEnd"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t> into Ant View</w:t></w:r></w:p><w:p wsp:rsidR="00766272" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="008B68C7" wsp:rsidP="00766272"><w:pPr><w:listPr><w:ilvl w:val="1"/><w:ilfo w:val="1"/><wx:t wx:val="c." wx:wTabBefore="1800" wx:wTabAfter="225"/><wx:font wx:val="Times New Roman"/></w:listPr><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>Double Click on RUN_FIRST Ant </w:t></w:r><w:r wsp:rsidR="00766272" wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>Task </w:t></w:r></w:p><w:p wsp:rsidR="00766272" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="00766272" wsp:rsidP="00766272"><w:pPr><w:listPr><w:ilvl w:val="2"/><w:ilfo w:val="1"/><wx:t wx:val="i." wx:wTabBefore="2610" wx:wTabAfter="180"/><wx:font wx:val="Times New Roman"/></w:listPr><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>Wait until complete – Check that the PDE export task has complete</w:t></w:r><w:r wsp:rsidR="008B68C7" wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>d by looking at the jobs running – icon is located on the bottom right hand corner of eclipse.</w:t></w:r></w:p><w:p wsp:rsidR="008B68C7" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="008B68C7" wsp:rsidP="008B68C7"><w:pPr><w:listPr><w:ilvl w:val="1"/><w:ilfo w:val="1"/><wx:t wx:val="d." wx:wTabBefore="1800" wx:wTabAfter="210"/><wx:font wx:val="Times New Roman"/></w:listPr><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>Double Click on RUN_SECOND Ant Task</w:t></w:r></w:p><w:p wsp:rsidR="008B68C7" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="008B68C7" wsp:rsidP="008B68C7"><w:pPr><w:listPr><w:ilvl w:val="1"/><w:ilfo w:val="1"/><wx:t wx:val="e." wx:wTabBefore="1800" wx:wTabAfter="210"/><wx:font wx:val="Times New Roman"/></w:listPr><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>The server files are located in the “</w:t></w:r><w:proofErr w:type="spellStart"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>osee_servers_bundles</w:t></w:r><w:proofErr w:type="spellEnd"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>” folder</w:t></w:r></w:p><w:p wsp:rsidR="008B68C7" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="008B68C7" wsp:rsidP="008B68C7"><w:pPr><w:ind w:left="1800"/><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr></w:p><w:p wsp:rsidR="008B68C7" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="008B68C7" wsp:rsidP="008B68C7"><w:pPr><w:listPr><w:ilvl w:val="0"/><w:ilfo w:val="1"/><wx:t wx:val="4." wx:wTabBefore="1080" wx:wTabAfter="210"/><wx:font wx:val="Times New Roman"/></w:listPr><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>UNIX server setup</w:t></w:r></w:p><w:p wsp:rsidR="00C65B36" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="008B68C7" wsp:rsidP="008B68C7"><w:pPr><w:listPr><w:ilvl w:val="1"/><w:ilfo w:val="1"/><wx:t wx:val="a." wx:wTabBefore="1800" wx:wTabAfter="210"/><wx:font wx:val="Times New Roman"/></w:listPr><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>FTP </w:t></w:r><w:r wsp:rsidR="00C65B36" wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>as OSEE user the </w:t></w:r><w:proofErr w:type="spellStart"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>osee_server_bundles</w:t></w:r><w:proofErr w:type="spellEnd"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t> folder from your workspace into a folder named after today’s date and time </w:t></w:r><w:r wsp:rsidR="00C65B36" wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>located as </w:t></w:r><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>/</w:t></w:r><w:proofErr w:type="spellStart"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>lba_ws/osee_common/osee_installs/osee_server</w:t></w:r><w:proofErr w:type="spellEnd"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>/</w:t></w:r></w:p><w:p wsp:rsidR="00C65B36" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="00C65B36" wsp:rsidP="00C65B36"><w:pPr><w:ind w:left="2160"/><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr></w:p><w:p wsp:rsidR="008B68C7" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="00C65B36" wsp:rsidP="00C65B36"><w:pPr><w:ind w:left="2160"/><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>Example: </w:t></w:r><w:r wsp:rsidR="008B68C7" wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>[YYYY_MM_DDD_HH_MM/</w:t></w:r><w:proofErr w:type="spellStart"/><w:r wsp:rsidR="008B68C7" wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>osee_server_bundles</w:t></w:r><w:proofErr w:type="spellEnd"/><w:r wsp:rsidR="008B68C7" wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>]</w:t></w:r></w:p><w:p wsp:rsidR="00C65B36" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="00C65B36" wsp:rsidP="00C65B36"><w:pPr><w:ind w:left="2160"/><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr></w:p><w:p wsp:rsidR="00C65B36" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="00C65B36" wsp:rsidP="008B68C7"><w:pPr><w:listPr><w:ilvl w:val="1"/><w:ilfo w:val="1"/><wx:t wx:val="b." wx:wTabBefore="1800" wx:wTabAfter="210"/><wx:font wx:val="Times New Roman"/></w:listPr><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>Log into sun802 and </w:t></w:r><w:proofErr w:type="spellStart"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>cd</w:t></w:r><w:proofErr w:type="spellEnd"/><w:r wsp:rsidR="008B68C7" wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t> into</w:t></w:r><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t> the </w:t></w:r><w:proofErr w:type="spellStart"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>osee_server_bundles</w:t></w:r><w:proofErr w:type="spellEnd"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t> folder</w:t></w:r></w:p><w:p wsp:rsidR="00C65B36" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="00C65B36" wsp:rsidP="008B68C7"><w:pPr><w:listPr><w:ilvl w:val="1"/><w:ilfo w:val="1"/><wx:t wx:val="c." wx:wTabBefore="1800" wx:wTabAfter="225"/><wx:font wx:val="Times New Roman"/></w:listPr><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>Add execute permissions to </w:t></w:r><w:proofErr w:type="spellStart"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>runServer.sh</w:t></w:r><w:proofErr w:type="spellEnd"/></w:p><w:p wsp:rsidR="00C65B36" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="00C65B36" wsp:rsidP="008B68C7"><w:pPr><w:listPr><w:ilvl w:val="1"/><w:ilfo w:val="1"/><wx:t wx:val="d." wx:wTabBefore="1800" wx:wTabAfter="210"/><wx:font wx:val="Times New Roman"/></w:listPr><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>Ensure no other server using port 8015 is running on sun802</w:t></w:r></w:p><w:proofErr w:type="spellStart"/><w:p wsp:rsidR="00C65B36" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="00C65B36" wsp:rsidP="00C65B36"><w:pPr><w:listPr><w:ilvl w:val="2"/><w:ilfo w:val="1"/><wx:t wx:val="i." wx:wTabBefore="2610" wx:wTabAfter="180"/><wx:font wx:val="Times New Roman"/></w:listPr><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>ps</w:t></w:r><w:proofErr w:type="spellEnd"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t> –</w:t></w:r><w:proofErr w:type="spellStart"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>eaf</w:t></w:r><w:proofErr w:type="spellEnd"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t> | </w:t></w:r><w:proofErr w:type="spellStart"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>grep</w:t></w:r><w:proofErr w:type="spellEnd"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t> </w:t></w:r><w:proofErr w:type="spellStart"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>osee</w:t></w:r><w:proofErr w:type="spellEnd"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t> | </w:t></w:r><w:proofErr w:type="spellStart"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>grep</w:t></w:r><w:proofErr w:type="spellEnd"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t> 8015</w:t></w:r></w:p><w:p wsp:rsidR="008B68C7" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="00C65B36" wsp:rsidP="008B68C7"><w:pPr><w:listPr><w:ilvl w:val="1"/><w:ilfo w:val="1"/><wx:t wx:val="e." wx:wTabBefore="1800" wx:wTabAfter="210"/><wx:font wx:val="Times New Roman"/></w:listPr><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>Execute </w:t></w:r><w:proofErr w:type="spellStart"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>runServer.sh</w:t></w:r><w:proofErr w:type="spellEnd"/><w:r wsp:rsidR="008B68C7" wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t> </w:t></w:r></w:p><w:p wsp:rsidR="00C65B36" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="00C65B36" wsp:rsidP="008B68C7"><w:pPr><w:listPr><w:ilvl w:val="1"/><w:ilfo w:val="1"/><wx:t wx:val="f." wx:wTabBefore="1800" wx:wTabAfter="270"/><wx:font wx:val="Times New Roman"/></w:listPr><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>Check that all bundles are active by typing </w:t></w:r><w:proofErr w:type="spellStart"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>ss</w:t></w:r><w:proofErr w:type="spellEnd"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t> on the </w:t></w:r><w:proofErr w:type="spellStart"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>osgi</w:t></w:r><w:proofErr w:type="spellEnd"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t> console</w:t></w:r></w:p><w:p wsp:rsidR="008B68C7" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="008B68C7" wsp:rsidP="00C65B36"><w:pPr><w:ind w:left="1080"/><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr></w:p><w:p wsp:rsidR="00C65B36" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="00C65B36" wsp:rsidP="00C65B36"><w:pPr><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:b/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr></w:p><w:p wsp:rsidR="00C65B36" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="00C65B36" wsp:rsidP="00C65B36"><w:pPr><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:b/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:b/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>Configuring Application Server</w:t></w:r></w:p><w:p wsp:rsidR="00C65B36" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="00C65B36" wsp:rsidP="00C65B36"><w:pPr><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:b/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:b/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:tab wx:wTab="720" wx:tlc="none" wx:cTlc="15"/></w:r></w:p><w:p wsp:rsidR="00FA03CC" wsp:rsidRDefault="00FA03CC" wsp:rsidP="00C65B36"><w:pPr><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>The application server configuration is divided into two </w:t></w:r><w:proofErr w:type="gramStart"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>part</w:t></w:r><w:proofErr w:type="gramEnd"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>: the config.ini file and the base </w:t></w:r><w:proofErr w:type="spellStart"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>osgi</w:t></w:r><w:proofErr w:type="spellEnd"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t> bundles located in </w:t></w:r><w:proofErr w:type="spellStart"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>osee_servers_bundles</w:t></w:r><w:proofErr w:type="spellEnd"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t> folder. </w:t></w:r></w:p><w:p wsp:rsidR="00CC477E" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="00CC477E" wsp:rsidP="00C65B36"><w:pPr><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr></w:p><w:p wsp:rsidR="00FA03CC" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="00FA03CC" wsp:rsidP="00FA03CC"><w:pPr><w:listPr><w:ilvl w:val="0"/><w:ilfo w:val="2"/><wx:t wx:val="§" wx:wTabBefore="720" wx:wTabAfter="285"/><wx:font wx:val="Wingdings"/></w:listPr><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>The config.ini file is </w:t></w:r><w:proofErr w:type="spellStart"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>autogenerated</w:t></w:r><w:proofErr w:type="spellEnd"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t> by an ant task located in the </w:t></w:r><w:proofErr w:type="spellStart"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>ant_src</w:t></w:r><w:proofErr w:type="spellEnd"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t> folder </w:t></w:r><w:proofErr w:type="spellStart"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>ConfigIniGeneration.java</w:t></w:r><w:proofErr w:type="spellEnd"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t> file.</w:t></w:r></w:p><w:p wsp:rsidR="00FA03CC" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="00FA03CC" wsp:rsidP="00FA03CC"><w:pPr><w:listPr><w:ilvl w:val="0"/><w:ilfo w:val="2"/><wx:t wx:val="§" wx:wTabBefore="720" wx:wTabAfter="285"/><wx:font wx:val="Wingdings"/></w:listPr><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>The </w:t></w:r><w:proofErr w:type="spellStart"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>osee_servers_bundle/plugins</w:t></w:r><w:proofErr w:type="spellEnd"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t> folder is populated when the ant tasks are executed </w:t></w:r></w:p><w:p wsp:rsidR="00CC477E" wsp:rsidRDefault="00CC477E" wsp:rsidP="00FA03CC"><w:pPr><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr></w:p><w:p wsp:rsidR="00FA03CC" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="00FA03CC" wsp:rsidP="00FA03CC"><w:pPr><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>To add new base </w:t></w:r><w:proofErr w:type="spellStart"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>osgi</w:t></w:r><w:proofErr w:type="spellEnd"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t> bundles:</w:t></w:r></w:p><w:p wsp:rsidR="00FA03CC" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="00FA03CC" wsp:rsidP="00FA03CC"><w:pPr><w:listPr><w:ilvl w:val="1"/><w:ilfo w:val="2"/><wx:t wx:val="1." wx:wTabBefore="1440" wx:wTabAfter="210"/><wx:font wx:val="Times New Roman"/></w:listPr><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>Copy bundles from the </w:t></w:r><w:proofErr w:type="spellStart"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>targetPlatforms</w:t></w:r><w:proofErr w:type="spellEnd"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>/equinox[XX]/eclipse/</w:t></w:r><w:proofErr w:type="spellStart"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>plugins</w:t></w:r><w:proofErr w:type="spellEnd"/></w:p><w:p wsp:rsidR="00FA03CC" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="00FA03CC" wsp:rsidP="00FA03CC"><w:pPr><w:listPr><w:ilvl w:val="1"/><w:ilfo w:val="2"/><wx:t wx:val="2." wx:wTabBefore="1440" wx:wTabAfter="210"/><wx:font wx:val="Times New Roman"/></w:listPr><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>Paste bundles into </w:t></w:r><w:proofErr w:type="spellStart"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>osee_servers_bundle</w:t></w:r><w:proofErr w:type="spellEnd"/></w:p><w:p wsp:rsidR="00FA03CC" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="00FA03CC" wsp:rsidP="00FA03CC"><w:pPr><w:listPr><w:ilvl w:val="1"/><w:ilfo w:val="2"/><wx:t wx:val="3." wx:wTabBefore="1440" wx:wTabAfter="210"/><wx:font wx:val="Times New Roman"/></w:listPr><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>Now we need to add these bundles to the config.ini file</w:t></w:r></w:p><w:p wsp:rsidR="00FA03CC" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="00FA03CC" wsp:rsidP="00FA03CC"><w:pPr><w:listPr><w:ilvl w:val="1"/><w:ilfo w:val="2"/><wx:t wx:val="4." wx:wTabBefore="1440" wx:wTabAfter="210"/><wx:font wx:val="Times New Roman"/></w:listPr><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>Open </w:t></w:r><w:proofErr w:type="spellStart"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>ant_src/ConfigIniGeneration.java</w:t></w:r><w:proofErr w:type="spellEnd"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t> and add the </w:t></w:r><w:r wsp:rsidR="00E93320" wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>bundle name to the list of bundles to be activated.</w:t></w:r></w:p><w:p wsp:rsidR="00E93320" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="00E93320" wsp:rsidP="00FA03CC"><w:pPr><w:listPr><w:ilvl w:val="1"/><w:ilfo w:val="2"/><wx:t wx:val="5." wx:wTabBefore="1440" wx:wTabAfter="210"/><wx:font wx:val="Times New Roman"/></w:listPr><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>Right Click on </w:t></w:r><w:proofErr w:type="spellStart"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>supportExport.jardesc</w:t></w:r><w:proofErr w:type="spellEnd"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t> and select create JAR this will create the </w:t></w:r><w:proofErr w:type="spellStart"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>buildsupport.jar</w:t></w:r><w:proofErr w:type="spellEnd"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>.</w:t></w:r></w:p><w:p wsp:rsidR="00E93320" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="00E93320" wsp:rsidP="00E93320"><w:pPr><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr></w:p><w:p wsp:rsidR="00E93320" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="00E93320" wsp:rsidP="00E93320"><w:pPr><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>To add additional </w:t></w:r><w:proofErr w:type="spellStart"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>plugins</w:t></w:r><w:proofErr w:type="spellEnd"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t> to the server:</w:t></w:r></w:p><w:p wsp:rsidR="00E93320" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="00E93320" wsp:rsidP="00E93320"><w:pPr><w:listPr><w:ilvl w:val="0"/><w:ilfo w:val="3"/><wx:t wx:val="1." wx:wTabBefore="1080" wx:wTabAfter="210"/><wx:font wx:val="Times New Roman"/></w:listPr><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>Open </w:t></w:r><w:proofErr w:type="spellStart"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>build_server_release.xml</w:t></w:r><w:proofErr w:type="spellEnd"/></w:p><w:p wsp:rsidR="00E93320" wsp:rsidRPr="00CC477E" wsp:rsidRDefault="00E93320" wsp:rsidP="00E93320"><w:pPr><w:listPr><w:ilvl w:val="0"/><w:ilfo w:val="3"/><wx:t wx:val="2." wx:wTabBefore="1080" wx:wTabAfter="210"/><wx:font wx:val="Times New Roman"/></w:listPr><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr></w:pPr><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>Add the </w:t></w:r><w:proofErr w:type="spellStart"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>plugin</w:t></w:r><w:proofErr w:type="spellEnd"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t> name to the </w:t></w:r><w:proofErr w:type="spellStart"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>plugins</w:t></w:r><w:proofErr w:type="spellEnd"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t> list located in the </w:t></w:r><w:proofErr w:type="spellStart"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t>pde.exportPlugins</w:t></w:r><w:proofErr w:type="spellEnd"/><w:r wsp:rsidRPr="00CC477E"><w:rPr><w:rFonts w:ascii="Arial" w:h-ansi="Arial" w:cs="Arial"/><wx:font wx:val="Arial"/><w:sz w:val="18"/><w:sz-cs w:val="18"/></w:rPr><w:t> entry.</w:t></w:r></w:p><w:sectPr wsp:rsidR="00E93320" wsp:rsidRPr="00CC477E" wsp:rsidSect="00A1102E"><w:pgSz w:w="12240" w:h="15840"/><w:pgMar w:top="1440" w:right="1800" w:bottom="1440" w:left="1800" w:header="720" w:footer="720" w:gutter="0"/><w:cols w:space="720"/><w:docGrid w:line-pitch="360"/></w:sectPr></wx:sect></w:body></w:wordDocument> \ No newline at end of file
diff --git a/org.eclipse.osee.framework.server.admin/ant_src/ConfigIniGeneration.java b/org.eclipse.osee.framework.server.admin/ant_src/ConfigIniGeneration.java
new file mode 100644
index 00000000000..c8bf787b2b2
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/ant_src/ConfigIniGeneration.java
@@ -0,0 +1,54 @@
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+
+/*
+ * Created on May 27, 2008
+ *
+ * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE
+ */
+
+/**
+ * @author b1528444
+ */
+public class ConfigIniGeneration {
+ public static void main(String[] args) {
+ StringBuilder builder = new StringBuilder();
+ builder.append("osgi.bundles= \\\n");
+ builder.append("org.eclipse.equinox.app_1.1.0.v20080421-2006.jar@start, \\\n");
+ builder.append("org.eclipse.equinox.registry_3.4.0.v20080516-0950.jar@start, \\\n");
+ builder.append("org.eclipse.equinox.common_3.4.0.v20080421-2006.jar@start, \\\n");
+ builder.append("org.eclipse.equinox.log_1.1.0.v20080303.jar@start, \\\n");
+ builder.append("org.eclipse.equinox.ds_1.0.0.v20080310.jar@start, \\\n");
+ builder.append("org.mortbay.jetty_5.1.11.v200803061811.jar@start, \\\n");
+ builder.append("org.eclipse.osgi.services_3.1.200.v20071203.jar@start, \\\n");
+ builder.append("org.eclipse.equinox.util_1.0.0.v20080303.jar@start, \\\n");
+ builder.append("org.eclipse.equinox.http.servlet_1.0.100.v20080201.jar@start, \\\n");
+ builder.append("org.eclipse.equinox.http.jetty_1.0.100.v20080303.jar@start, \\\n");
+ builder.append("org.apache.commons.logging_1.0.4.v200803061811.jar@start, \\\n");
+ builder.append("javax.servlet_2.4.0.v200803061910.jar@start, \\\n");
+ File pluginDir = new File(args[0] + "/osee_server_bundles/plugins");
+ File[] files = pluginDir.listFiles();
+ for (File file : files) {
+ builder.append("plugins/");
+ builder.append(file.getName());
+ builder.append("@start, \\\n");
+ }
+ builder.delete(builder.length() - 4, builder.length() - 1);
+ builder.append("eclipse.ignoreApp=true\n");
+
+ try {
+ FileOutputStream fos = new FileOutputStream(args[0] + "/osee_server_bundles/configuration/config.ini");
+ System.out.println(new File("config.ini").getAbsolutePath());
+ fos.write(builder.toString().getBytes());
+ fos.flush();
+ fos.close();
+ } catch (FileNotFoundException ex) {
+ ex.printStackTrace();
+ } catch (IOException ex) {
+ ex.printStackTrace();
+ }
+
+ }
+}
diff --git a/org.eclipse.osee.framework.server.admin/build.properties b/org.eclipse.osee.framework.server.admin/build.properties
new file mode 100644
index 00000000000..d32ac412364
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/build.properties
@@ -0,0 +1,7 @@
+source.. = src/,\
+ ant_src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ OSGI-INF/,\
+ plugin.xml
diff --git a/org.eclipse.osee.framework.server.admin/build_server_release.xml b/org.eclipse.osee.framework.server.admin/build_server_release.xml
new file mode 100644
index 00000000000..08c2f1dbf8e
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/build_server_release.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project default="RUN_FIRST_FOR_LBA" name="build">
+
+ <property name="releaseName" value="0.6.0_RC_2008_12_23-14-46_2" />
+
+ <target name="plugin_export_lba">
+ <pde.exportPlugins destination="osee_server_bundles" exportSource="false" exportType="directory"
+ plugins="lba.db.connection,org.postgresql.driver,oracle.driver,org.eclipse.osee.framework.postgresql,org.eclipse.osee.framework.session.management.servlet,org.eclipse.osee.framework.server.lookup.servlet,org.eclipse.osee.framework.core,org.eclipse.osee.framework.core.server,org.eclipse.osee.framework.oracle,org.eclipse.osee.framework.client.info.servlet,org.eclipse.osee.framework.artifact.servlet,org.eclipse.osee.framework.search.engine,org.eclipse.osee.framework.search.engine.servlet,org.eclipse.osee.framework.branch.management,org.eclipse.osee.framework.branch.management.servlet,org.eclipse.osee.framework.db.connection,org.eclipse.osee.framework.jdk.core,org.eclipse.osee.framework.logging,org.eclipse.osee.framework.resource.locator.attribute,org.eclipse.osee.framework.resource.locator.snapshot,org.eclipse.osee.framework.resource.management,org.eclipse.osee.framework.resource.management.servlet,org.eclipse.osee.framework.resource.provider.attribute,org.eclipse.osee.framework.resource.provider.common,org.eclipse.osee.framework.resource.provider.snapshot,org.eclipse.osee.framework.server.admin" useJARFormat="true"/>
+ </target>
+
+ <target name="plugin_export_demo">
+ <pde.exportPlugins destination="osee_server_bundles" exportSource="false" exportType="directory"
+ plugins="org.eclipse.osee.demo.db.connection,derby.driver,org.eclipse.osee.framework.derby,org.postgresql.driver,org.eclipse.osee.framework.postgresql,org.eclipse.osee.framework.session.management.servlet,org.eclipse.osee.framework.server.lookup.servlet,org.eclipse.osee.framework.core,org.eclipse.osee.framework.core.server,org.eclipse.osee.framework.client.info.servlet,org.eclipse.osee.framework.search.engine,org.eclipse.osee.framework.search.engine.servlet,org.eclipse.osee.framework.artifact.servlet,org.eclipse.osee.framework.branch.management,org.eclipse.osee.framework.branch.management.servlet,org.eclipse.osee.framework.db.connection,org.eclipse.osee.framework.jdk.core,org.eclipse.osee.framework.logging,org.eclipse.osee.framework.resource.locator.attribute,org.eclipse.osee.framework.resource.locator.snapshot,org.eclipse.osee.framework.resource.management,org.eclipse.osee.framework.resource.management.servlet,org.eclipse.osee.framework.resource.provider.attribute,org.eclipse.osee.framework.resource.provider.common,org.eclipse.osee.framework.resource.provider.snapshot,org.eclipse.osee.framework.server.admin" useJARFormat="true"/>
+ </target>
+
+ <target name="generateconfigIni">
+ <java classname="ConfigIniGeneration" failonerror="true" fork="true">
+ <arg value="${basedir}/"/>
+ <classpath>
+ <pathelement location="buildsupport.jar"/>
+ <pathelement path="${java.class.path}"/>
+ </classpath>
+ </java>
+ </target>
+
+ <target name="clean">
+ <delete includeemptydirs="true">
+ <fileset dir="osee_server_bundles/configuration" includes="**/*"/>
+ </delete>
+ <delete includeemptydirs="true">
+ <fileset dir="osee_server_bundles/plugins" includes="**/*"/>
+ </delete>
+ </target>
+
+ <target name="RUN_FIRST_FOR_LBA">
+ <antcall target="clean"/>
+ <antcall target="plugin_export_lba"/>
+ </target>
+
+ <target name="RUN_FIRST_FOR_DEMO">
+ <antcall target="clean"/>
+ <antcall target="plugin_export_demo"/>
+ </target>
+
+ <target name="RUN_SECOND">
+ <antcall target="generateconfigIni"/>
+ </target>
+
+ <target name="COPY">
+ <copy todir="/lba_ws/osee_common/osee_installs/osee_server/${releaseName}">
+ <fileset dir="${basedir}/osee_server_bundles" excludes="**/.svn" />
+ </copy>
+ <chmod perm="+x" type="file">
+ <fileset dir="/lba_ws/osee_common/osee_installs/osee_server/${releaseName}">
+ <include name="*.sh"/>
+ </fileset>
+ </chmod>
+ </target>
+
+</project>
diff --git a/org.eclipse.osee.framework.server.admin/buildsupport.jar b/org.eclipse.osee.framework.server.admin/buildsupport.jar
new file mode 100644
index 00000000000..63235e877ff
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/buildsupport.jar
Binary files differ
diff --git a/org.eclipse.osee.framework.server.admin/config.ini b/org.eclipse.osee.framework.server.admin/config.ini
new file mode 100644
index 00000000000..a518e0825da
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/config.ini
@@ -0,0 +1,31 @@
+osgi.bundles= \
+org.eclipse.equinox.log_1.1.0.v20080303.jar@start, \
+org.eclipse.equinox.app_1.1.0.v20080421-2006.jar@start, \
+org.eclipse.equinox.registry_3.4.0.v20080516-0950.jar@start, \
+org.eclipse.equinox.common_3.4.0.v20080421-2006.jar@start, \
+org.eclipse.equinox.ds_1.0.0.v20080310.jar@start, \
+org.mortbay.jetty_5.1.11.v200803061811.jar@start, \
+org.eclipse.osgi.services_3.1.200.v20071203.jar@start, \
+org.eclipse.equinox.util_1.0.0.v20080303.jar@start, \
+org.eclipse.equinox.http.servlet_1.0.100.v20080201.jar@start, \
+org.eclipse.equinox.http.jetty_1.0.100.v20080303.jar@start, \
+org.apache.commons.logging_1.0.4.v200803061811.jar@start, \
+javax.servlet_2.4.0.v200803061910.jar@start, \
+plugins/lba.db.connection_0.2.0.200805271044.jar@start, \
+plugins/oracle.driver_9.0.17.200805271044.jar@start, \
+plugins/org.eclipse.osee.framework.branch.management.servlet_0.2.0.200805271044.jar@start, \
+plugins/org.eclipse.osee.framework.branch.management_0.2.0.200805271044.jar@start, \
+plugins/org.eclipse.osee.framework.db.connection_0.2.0.200805271044.jar@start, \
+plugins/org.eclipse.osee.framework.jdk.core_0.2.0.200805271044.jar@start, \
+plugins/org.eclipse.osee.framework.logging_0.2.0.200805271044.jar@start, \
+plugins/org.eclipse.osee.framework.resource.common_0.2.0.200805271044.jar@start, \
+plugins/org.eclipse.osee.framework.resource.locator.attribute_0.2.0.200805271044.jar@start, \
+plugins/org.eclipse.osee.framework.resource.locator.snapshot_0.2.0.200805271044.jar@start, \
+plugins/org.eclipse.osee.framework.resource.management.servlet_0.2.0.200805271044.jar@start, \
+plugins/org.eclipse.osee.framework.resource.management_0.2.0.200805271044.jar@start, \
+plugins/org.eclipse.osee.framework.resource.provider.attribute_0.2.0.200805271044.jar@start, \
+plugins/org.eclipse.osee.framework.resource.provider.common_0.2.0.200805271044.jar@start, \
+plugins/org.eclipse.osee.framework.resource.provider.snapshot_0.2.0.200805271044.jar@start, \
+plugins/org.eclipse.osee.framework.server.admin_0.2.0.200805271044.jar@start, \
+plugins/org.postgresql.driver_8.2.0.200805271044.jar@start
+eclipse.ignoreApp=true
diff --git a/org.eclipse.osee.framework.server.admin/osee_server_bundles/javax.servlet_2.4.0.v200803061910.jar b/org.eclipse.osee.framework.server.admin/osee_server_bundles/javax.servlet_2.4.0.v200803061910.jar
new file mode 100644
index 00000000000..b89feff1cab
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/osee_server_bundles/javax.servlet_2.4.0.v200803061910.jar
Binary files differ
diff --git a/org.eclipse.osee.framework.server.admin/osee_server_bundles/org.apache.commons.logging_1.0.4.v200803061811.jar b/org.eclipse.osee.framework.server.admin/osee_server_bundles/org.apache.commons.logging_1.0.4.v200803061811.jar
new file mode 100644
index 00000000000..1c88b29b458
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/osee_server_bundles/org.apache.commons.logging_1.0.4.v200803061811.jar
Binary files differ
diff --git a/org.eclipse.osee.framework.server.admin/osee_server_bundles/org.eclipse.equinox.app_1.1.0.v20080421-2006.jar b/org.eclipse.osee.framework.server.admin/osee_server_bundles/org.eclipse.equinox.app_1.1.0.v20080421-2006.jar
new file mode 100644
index 00000000000..4639bb5dfdf
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/osee_server_bundles/org.eclipse.equinox.app_1.1.0.v20080421-2006.jar
Binary files differ
diff --git a/org.eclipse.osee.framework.server.admin/osee_server_bundles/org.eclipse.equinox.common_3.4.0.v20080421-2006.jar b/org.eclipse.osee.framework.server.admin/osee_server_bundles/org.eclipse.equinox.common_3.4.0.v20080421-2006.jar
new file mode 100644
index 00000000000..ecac7a850d0
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/osee_server_bundles/org.eclipse.equinox.common_3.4.0.v20080421-2006.jar
Binary files differ
diff --git a/org.eclipse.osee.framework.server.admin/osee_server_bundles/org.eclipse.equinox.ds_1.0.0.v20080310.jar b/org.eclipse.osee.framework.server.admin/osee_server_bundles/org.eclipse.equinox.ds_1.0.0.v20080310.jar
new file mode 100644
index 00000000000..71719a751a1
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/osee_server_bundles/org.eclipse.equinox.ds_1.0.0.v20080310.jar
Binary files differ
diff --git a/org.eclipse.osee.framework.server.admin/osee_server_bundles/org.eclipse.equinox.http.jetty_1.0.100.v20080303.jar b/org.eclipse.osee.framework.server.admin/osee_server_bundles/org.eclipse.equinox.http.jetty_1.0.100.v20080303.jar
new file mode 100644
index 00000000000..2d30aa6ae70
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/osee_server_bundles/org.eclipse.equinox.http.jetty_1.0.100.v20080303.jar
Binary files differ
diff --git a/org.eclipse.osee.framework.server.admin/osee_server_bundles/org.eclipse.equinox.http.servlet_1.0.100.v20080201.jar b/org.eclipse.osee.framework.server.admin/osee_server_bundles/org.eclipse.equinox.http.servlet_1.0.100.v20080201.jar
new file mode 100644
index 00000000000..d9b62846b3e
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/osee_server_bundles/org.eclipse.equinox.http.servlet_1.0.100.v20080201.jar
Binary files differ
diff --git a/org.eclipse.osee.framework.server.admin/osee_server_bundles/org.eclipse.equinox.log_1.1.0.v20080303.jar b/org.eclipse.osee.framework.server.admin/osee_server_bundles/org.eclipse.equinox.log_1.1.0.v20080303.jar
new file mode 100644
index 00000000000..f63ddfd88ce
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/osee_server_bundles/org.eclipse.equinox.log_1.1.0.v20080303.jar
Binary files differ
diff --git a/org.eclipse.osee.framework.server.admin/osee_server_bundles/org.eclipse.equinox.registry_3.4.0.v20080516-0950.jar b/org.eclipse.osee.framework.server.admin/osee_server_bundles/org.eclipse.equinox.registry_3.4.0.v20080516-0950.jar
new file mode 100644
index 00000000000..6c45bb9b459
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/osee_server_bundles/org.eclipse.equinox.registry_3.4.0.v20080516-0950.jar
Binary files differ
diff --git a/org.eclipse.osee.framework.server.admin/osee_server_bundles/org.eclipse.equinox.util_1.0.0.v20080303.jar b/org.eclipse.osee.framework.server.admin/osee_server_bundles/org.eclipse.equinox.util_1.0.0.v20080303.jar
new file mode 100644
index 00000000000..57e6bdb9073
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/osee_server_bundles/org.eclipse.equinox.util_1.0.0.v20080303.jar
Binary files differ
diff --git a/org.eclipse.osee.framework.server.admin/osee_server_bundles/org.eclipse.osgi.services_3.1.200.v20071203.jar b/org.eclipse.osee.framework.server.admin/osee_server_bundles/org.eclipse.osgi.services_3.1.200.v20071203.jar
new file mode 100644
index 00000000000..ee50b0f9522
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/osee_server_bundles/org.eclipse.osgi.services_3.1.200.v20071203.jar
Binary files differ
diff --git a/org.eclipse.osee.framework.server.admin/osee_server_bundles/org.eclipse.osgi_3.4.0.v20080326.jar b/org.eclipse.osee.framework.server.admin/osee_server_bundles/org.eclipse.osgi_3.4.0.v20080326.jar
new file mode 100644
index 00000000000..b3df4efb38d
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/osee_server_bundles/org.eclipse.osgi_3.4.0.v20080326.jar
Binary files differ
diff --git a/org.eclipse.osee.framework.server.admin/osee_server_bundles/org.mortbay.jetty_5.1.11.v200803061811.jar b/org.eclipse.osee.framework.server.admin/osee_server_bundles/org.mortbay.jetty_5.1.11.v200803061811.jar
new file mode 100644
index 00000000000..bb5af9d77aa
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/osee_server_bundles/org.mortbay.jetty_5.1.11.v200803061811.jar
Binary files differ
diff --git a/org.eclipse.osee.framework.server.admin/osee_server_bundles/runServer-PostgresqlLocal.sh b/org.eclipse.osee.framework.server.admin/osee_server_bundles/runServer-PostgresqlLocal.sh
new file mode 100644
index 00000000000..3f8740fbc67
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/osee_server_bundles/runServer-PostgresqlLocal.sh
@@ -0,0 +1 @@
+java -Dorg.osgi.service.http.port=8089 -Dosgi.compatibility.bootdelegation=true -Xmx512m -Dosee.db.connection.id=postgresqlLocalhost -Dequinox.ds.debug=true -jar org.eclipse.osgi_3.4.0.v20080326.jar -console \ No newline at end of file
diff --git a/org.eclipse.osee.framework.server.admin/osee_server_bundles/runServer-Production.sh b/org.eclipse.osee.framework.server.admin/osee_server_bundles/runServer-Production.sh
new file mode 100644
index 00000000000..2a357b69085
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/osee_server_bundles/runServer-Production.sh
@@ -0,0 +1 @@
+java -Dorg.osgi.service.http.port=8015 -Dosgi.compatibility.bootdelegation=true -Xmx512m -Dosee.db.connection.id=oracle8Client -Dequinox.ds.debug=true -Dosee.application.server.data=/lba_oseex/osee_backup/datastore_lba8_fs -Dosee.check.tag.queue.on.startup=true -jar org.eclipse.osgi_3.4.0.v20080326.jar -console \ No newline at end of file
diff --git a/org.eclipse.osee.framework.server.admin/osee_server_bundles/runServer-ProductionDev.sh b/org.eclipse.osee.framework.server.admin/osee_server_bundles/runServer-ProductionDev.sh
new file mode 100644
index 00000000000..673f8bc047d
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/osee_server_bundles/runServer-ProductionDev.sh
@@ -0,0 +1 @@
+java -Dorg.osgi.service.http.port=8091 -Dosgi.compatibility.bootdelegation=true -Xmx512m -Dosee.db.connection.id=oracle8Client -Dequinox.ds.debug=true -Dosee.application.server.data=/lba_oseex/osee_backup/datastore_lba8_fs -Dosee.check.tag.queue.on.startup=true -jar org.eclipse.osgi_3.4.0.v20080326.jar -console \ No newline at end of file
diff --git a/org.eclipse.osee.framework.server.admin/plugin.xml b/org.eclipse.osee.framework.server.admin/plugin.xml
new file mode 100644
index 00000000000..86c70f6d7ad
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/plugin.xml
@@ -0,0 +1,18 @@
+<?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/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/Activator.java b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/Activator.java
new file mode 100644
index 00000000000..3cb3ffc03a3
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/Activator.java
@@ -0,0 +1,99 @@
+/*******************************************************************************
+ * 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 org.eclipse.osee.framework.branch.management.IBranchExchange;
+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 {
+
+ private static Activator instance;
+ private ServiceTracker resourceManagementTracker;
+ private ServiceTracker resourceLocatorManagerTracker;
+ private ServiceTracker searchTaggerTracker;
+ private ServiceTracker searchEngineTracker;
+ private ServiceTracker branchExchangeTracker;
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
+ */
+ public void start(BundleContext context) throws Exception {
+ instance = this;
+ resourceManagementTracker = new ServiceTracker(context, IResourceManager.class.getName(), null);
+ resourceManagementTracker.open();
+
+ resourceLocatorManagerTracker = new ServiceTracker(context, IResourceLocatorManager.class.getName(), null);
+ resourceLocatorManagerTracker.open();
+
+ searchTaggerTracker = new ServiceTracker(context, ISearchEngineTagger.class.getName(), null);
+ searchTaggerTracker.open();
+
+ searchEngineTracker = new ServiceTracker(context, ISearchEngine.class.getName(), null);
+ searchEngineTracker.open();
+
+ branchExchangeTracker = new ServiceTracker(context, IBranchExchange.class.getName(), null);
+ branchExchangeTracker.open();
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
+ */
+ public void stop(BundleContext context) throws Exception {
+ resourceManagementTracker.close();
+ resourceManagementTracker = null;
+
+ resourceLocatorManagerTracker.close();
+ resourceLocatorManagerTracker = null;
+
+ searchTaggerTracker.close();
+ searchTaggerTracker = null;
+
+ searchEngineTracker.close();
+ searchEngineTracker = null;
+
+ branchExchangeTracker.close();
+ branchExchangeTracker = null;
+ }
+
+ public IResourceManager getResourceManager() {
+ return (IResourceManager) resourceManagementTracker.getService();
+ }
+
+ public IResourceLocatorManager getResourceLocatorManager() {
+ return (IResourceLocatorManager) resourceLocatorManagerTracker.getService();
+ }
+
+ public ISearchEngineTagger getSearchTagger() {
+ return (ISearchEngineTagger) searchTaggerTracker.getService();
+ }
+
+ public ISearchEngine getSearchEngine() {
+ return (ISearchEngine) searchEngineTracker.getService();
+ }
+
+ public IBranchExchange getBranchExchange() {
+ return (IBranchExchange) branchExchangeTracker.getService();
+ }
+
+ public static Activator getInstance() {
+ return Activator.instance;
+ }
+}
diff --git a/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/BaseCmdWorker.java b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/BaseCmdWorker.java
new file mode 100644
index 00000000000..c34bb903693
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/BaseCmdWorker.java
@@ -0,0 +1,101 @@
+/*******************************************************************************
+ * 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 org.eclipse.osgi.framework.console.CommandInterpreter;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public abstract class BaseCmdWorker implements Runnable {
+
+ private CommandInterpreter ci;
+
+ private volatile boolean isRunning;
+ private volatile boolean isVerbose;
+ private volatile boolean isExecutionAllowed;
+
+ protected BaseCmdWorker() {
+ this.isRunning = false;
+ this.isVerbose = true;
+ this.isExecutionAllowed = true;
+ }
+
+ public boolean isRunning() {
+ return isRunning;
+ }
+
+ public void setExecutionAllowed(boolean value) {
+ this.isExecutionAllowed = value;
+ }
+
+ public void setCommandInterpreter(CommandInterpreter ci) {
+ this.ci = ci;
+ }
+
+ public CommandInterpreter getCommandInterpreter() {
+ return this.ci;
+ }
+
+ public boolean isVerbose() {
+ return isVerbose;
+ }
+
+ public void setVerbose(boolean isVerbose) {
+ this.isVerbose = isVerbose;
+ }
+
+ public boolean isExecutionAllowed() {
+ return isExecutionAllowed;
+ }
+
+ protected void println(Object value) {
+ ci.println(value);
+ }
+
+ protected void printStackTrace(Exception ex) {
+ ci.printStackTrace(ex);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see java.lang.Runnable#run()
+ */
+ @Override
+ public void run() {
+ this.isRunning = true;
+ long startTime = System.currentTimeMillis();
+ try {
+ doWork(startTime);
+ } catch (Exception ex) {
+ ci.printStackTrace(ex);
+ }
+ ci.println(String.format("Done. Elapsed Time = %s.", getElapsedTime(startTime)));
+ this.isRunning = false;
+ }
+
+ protected String getElapsedTime(long startTime) {
+ return timeToString(System.currentTimeMillis() - startTime);
+ }
+
+ protected String timeToString(long value) {
+ long leftOverMs = value % 1000;
+ long seconds = value / 1000;
+ long leftOverSeconds = seconds % 60;
+ long minutes = seconds / 60;
+ long leftOverMinutes = minutes % 60;
+ long hours = minutes / 60;
+ return String.format("%d:%02d:%02d.%03d", hours, leftOverMinutes, leftOverSeconds, leftOverMs);
+ }
+
+ protected abstract void doWork(long startTime) throws Exception;
+}
diff --git a/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/BranchManagementCommandProvider.java b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/BranchManagementCommandProvider.java
new file mode 100644
index 00000000000..1f2ba4b313e
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/BranchManagementCommandProvider.java
@@ -0,0 +1,80 @@
+/*******************************************************************************
+ * 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.io.File;
+import org.eclipse.osee.framework.server.admin.branch.BranchCommands;
+import org.eclipse.osgi.framework.console.CommandInterpreter;
+import org.eclipse.osgi.framework.console.CommandProvider;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class BranchManagementCommandProvider implements CommandProvider {
+
+ public void _export_branch(CommandInterpreter ci) {
+ BranchCommands.getInstance().startBranchExport(ci);
+ }
+
+ public void _export_branch_stop(CommandInterpreter ci) {
+ BranchCommands.getInstance().stopBranchExport(ci);
+ }
+
+ public void _import_branch(CommandInterpreter ci) {
+ BranchCommands.getInstance().startBranchImport(ci);
+ }
+
+ public void _import_branch_stop(CommandInterpreter ci) {
+ BranchCommands.getInstance().stopBranchImport(ci);
+ }
+
+ public void _check_exchange(CommandInterpreter ci) {
+ BranchCommands.getInstance().startBranchIntegrityCheck(ci);
+ }
+
+ public void _check_exchange_stop(CommandInterpreter ci) {
+ BranchCommands.getInstance().stopBranchIntegrityCheck(ci);
+ }
+
+ public void _configini(CommandInterpreter ci) {
+ StringBuilder sb = new StringBuilder();
+ sb.append("eclipse.ignoreApp=true\n");
+ sb.append("osgi.bundles= \\\n");
+
+ String arg = ci.nextArgument();
+
+ File folder = new File(arg);
+ File[] files = folder.listFiles();
+ for (File f : files) {
+ if (!f.isDirectory()) {
+ sb.append(f.toURI());
+ sb.append("@start, \\\n");
+ }
+ }
+ System.out.println(sb.toString());
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osgi.framework.console.CommandProvider#getHelp()
+ */
+ @Override
+ public String getHelp() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("\n---OSEE Branch Commands---\n");
+ sb.append(" export_branch <exchangeFileName> [-compress] [-minTx <value>] [-maxTx <value>] [-exclude_baseline_txs] [-includeArchivedBranches][<branchId>]+ - export a specific set of branches into an exchange zip file.\n");
+ sb.append(" export_branch_stop - stop branch export\n");
+ sb.append(" import_branch <exchangeFilePath> [-exclude_baseline_txs] [-allAsRootBranches] [-minTx <value>] [-maxTx <value>] [-clean] [<branchId>]+ - import a specific set of branches from an exchange zip file.\n");
+ sb.append(" check_exchange <exchangeFilePath> - checks an exchange file to ensure data integrity\n");
+ sb.append(" check_exchange_stop - stop exchange integrity check\n");
+ return sb.toString();
+ }
+
+}
diff --git a/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/SearchTaggerCommandProvider.java b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/SearchTaggerCommandProvider.java
new file mode 100644
index 00000000000..317f3a7958f
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/SearchTaggerCommandProvider.java
@@ -0,0 +1,102 @@
+/*******************************************************************************
+ * 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.io.File;
+import org.eclipse.osee.framework.server.admin.search.SearchTaggerCommands;
+import org.eclipse.osgi.framework.console.CommandInterpreter;
+import org.eclipse.osgi.framework.console.CommandProvider;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class SearchTaggerCommandProvider implements CommandProvider {
+
+ public void _tag_all(CommandInterpreter ci) {
+ SearchTaggerCommands.getInstance().startTagAll(ci);
+ }
+
+ public void _tag_all_stop(CommandInterpreter ci) {
+ SearchTaggerCommands.getInstance().stopTagAll(ci);
+ }
+
+ public void _drop_all_tags(CommandInterpreter ci) {
+ SearchTaggerCommands.getInstance().startDropAll(ci);
+ }
+
+ public void _drop_all_tags_stop(CommandInterpreter ci) {
+ SearchTaggerCommands.getInstance().stopDropAll(ci);
+ }
+
+ public void _tagger_stats(CommandInterpreter ci) {
+ SearchTaggerCommands.getInstance().getTaggerStatistics(ci);
+ }
+
+ public void _tagger_stats_clear(CommandInterpreter ci) {
+ SearchTaggerCommands.getInstance().clearTaggerStats();
+ }
+
+ public void _search_stats(CommandInterpreter ci) {
+ SearchTaggerCommands.getInstance().getSearchStatistics(ci);
+ }
+
+ public void _search_stats_clear(CommandInterpreter ci) {
+ SearchTaggerCommands.getInstance().clearSearchStats();
+ }
+
+ public void _tag(CommandInterpreter ci) {
+ SearchTaggerCommands.getInstance().startTagItem(ci);
+ }
+
+ public void _tag_stop(CommandInterpreter ci) {
+ SearchTaggerCommands.getInstance().stopTagItem(ci);
+ }
+
+ public void _configini(CommandInterpreter ci) {
+ StringBuilder sb = new StringBuilder();
+ sb.append("eclipse.ignoreApp=true\n");
+ sb.append("osgi.bundles= \\\n");
+
+ String arg = ci.nextArgument();
+
+ File folder = new File(arg);
+ File[] files = folder.listFiles();
+ for (File f : files) {
+ if (!f.isDirectory()) {
+ sb.append(f.toURI());
+ sb.append("@start, \\\n");
+ }
+ }
+ System.out.println(sb.toString());
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.osgi.framework.console.CommandProvider#getHelp()
+ */
+ @Override
+ public String getHelp() {
+ StringBuilder sb = new StringBuilder();
+ sb.append("\n---OSEE Search & Tag Commands---\n");
+ sb.append(" tag_all [<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(" tag_stop - stop tagging individual items\n");
+ sb.append(" drop_all_tags - drops all tags\n");
+ sb.append(" drop_all_tags_stop - stop dropping all tags\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/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/ServerAdminCommandProvider.java b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/ServerAdminCommandProvider.java
new file mode 100644
index 00000000000..0f7588416b6
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/ServerAdminCommandProvider.java
@@ -0,0 +1,82 @@
+/*******************************************************************************
+ * 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.io.File;
+import org.eclipse.osee.framework.server.admin.management.AdminCommands;
+import org.eclipse.osgi.framework.console.CommandInterpreter;
+import org.eclipse.osgi.framework.console.CommandProvider;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class ServerAdminCommandProvider implements CommandProvider {
+
+ // public void _native_content_fix(CommandInterpreter ci) {
+ // CompressedContentFix.getInstance().execute(ci);
+ // }
+ //
+ // public void _native_content_fix_stop(CommandInterpreter ci) {
+ // CompressedContentFix.getInstance().executeStop(ci);
+ // }
+ //
+ // public void _convert(CommandInterpreter ci) {
+ // DataConversion.getInstance().convert(ci);
+ // }
+ //
+ // public void _convertstop(CommandInterpreter ci) {
+ // DataConversion.getInstance().convertStop(ci);
+ // }
+
+ public void _server_status(CommandInterpreter ci) {
+ AdminCommands.getInstance().getServerStatus(ci);
+ }
+
+ public void _server_process_requests(CommandInterpreter ci) {
+ AdminCommands.getInstance().setServletRequestProcessing(ci);
+ }
+
+ public void _configini(CommandInterpreter ci) {
+ StringBuilder sb = new StringBuilder();
+ sb.append("eclipse.ignoreApp=true\n");
+ sb.append("osgi.bundles= \\\n");
+
+ String arg = ci.nextArgument();
+
+ File folder = new File(arg);
+ File[] files = folder.listFiles();
+ for (File f : files) {
+ if (!f.isDirectory()) {
+ sb.append(f.toURI());
+ sb.append("@start, \\\n");
+ }
+ }
+ System.out.println(sb.toString());
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.osgi.framework.console.CommandProvider#getHelp()
+ */
+ @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(" native_content_fix - converts some data\n");
+ // sb.append(" native_content_fix_stop - stop the conversion\n");
+ // sb.append(" convert - converts some data\n");
+ // sb.append(" convertstop - stop the conversion\n");
+ return sb.toString();
+ }
+}
diff --git a/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/app/DataStoreBackupApplication.java b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/app/DataStoreBackupApplication.java
new file mode 100644
index 00000000000..e436085197c
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/app/DataStoreBackupApplication.java
@@ -0,0 +1,137 @@
+/*******************************************************************************
+ * 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.db.connection.ConnectionHandlerStatement;
+import org.eclipse.osee.framework.db.connection.exception.OseeDataStoreException;
+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.resource.management.Options;
+import org.eclipse.osee.framework.server.admin.Activator;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class DataStoreBackupApplication implements IApplication {
+ private static final String ALL_BRANCHES_QUERY = "select branch_id from osee_branch";
+
+ public DataStoreBackupApplication() {
+ }
+
+ private List<Integer> getAllBranches() throws OseeDataStoreException {
+ List<Integer> toReturn = new ArrayList<Integer>();
+ ConnectionHandlerStatement chStmt = new ConnectionHandlerStatement();
+ 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.getInstance().getResourceManager().acquire(locator, new Options());
+ 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();
+ }
+ }
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.equinox.app.IApplication#start(org.eclipse.equinox.app.IApplicationContext)
+ */
+ @Override
+ public Object start(IApplicationContext context) throws Exception {
+ try {
+ String backupName = "osee_" + Lib.getDateTimeString();
+
+ Options options = new Options();
+ options.put(ExportOptions.COMPRESS.name(), true);
+
+ List<Integer> branchIds = getAllBranches();
+
+ int totalBranches = branchIds.size();
+ OseeLog.log(Activator.class, Level.INFO, String.format("Exporting [%s] branch%s", totalBranches,
+ totalBranches == 1 ? "" : "es"));
+
+ IResourceLocator exportLocator =
+ Activator.getInstance().getBranchExchange().exportBranch(backupName, options, branchIds);
+
+ OseeLog.log(Activator.class, Level.INFO, String.format("Verifying export file integrity [%s]",
+ exportLocator.getLocation()));
+
+ IResourceLocator exportCheckLocator =
+ Activator.getInstance().getBranchExchange().checkIntegrity(exportLocator);
+ OseeLog.log(Activator.class, Level.INFO, String.format("Verified [%s]", exportCheckLocator.getLocation()));
+
+ OseeLog.log(Activator.class, Level.INFO, String.format("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.getInstance().getResourceManager().delete(exportLocator);
+ Activator.getInstance().getResourceManager().delete(exportCheckLocator);
+ }
+ } catch (Throwable ex) {
+ OseeLog.log(Activator.class, Level.SEVERE, ex);
+ }
+ return IApplication.EXIT_OK;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.equinox.app.IApplication#stop()
+ */
+ @Override
+ public void stop() {
+ }
+
+}
diff --git a/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/branch/BranchCommands.java b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/branch/BranchCommands.java
new file mode 100644
index 00000000000..b6c0ca81d57
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/branch/BranchCommands.java
@@ -0,0 +1,126 @@
+/*******************************************************************************
+ * 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 org.eclipse.osgi.framework.console.CommandInterpreter;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class BranchCommands {
+
+ private static BranchCommands instance = null;
+ private BranchExportWorker branchExportWorker;
+ private BranchImportWorker branchImportWorker;
+ private ExchangeIntegrityWorker integrityWorker;
+
+ public static BranchCommands getInstance() {
+ if (instance == null) {
+ instance = new BranchCommands();
+ }
+ return instance;
+ }
+
+ private BranchCommands() {
+ this.branchExportWorker = new BranchExportWorker();
+ this.branchExportWorker.setExecutionAllowed(true);
+
+ this.branchImportWorker = new BranchImportWorker();
+ this.branchImportWorker.setExecutionAllowed(true);
+
+ this.integrityWorker = new ExchangeIntegrityWorker();
+ this.integrityWorker.setExecutionAllowed(true);
+ }
+
+ public void startBranchExport(CommandInterpreter ci) {
+ if (!this.branchExportWorker.isRunning() && !this.branchImportWorker.isRunning() && !this.integrityWorker.isRunning()) {
+ this.branchExportWorker.setCommandInterpreter(ci);
+ this.branchExportWorker.setExecutionAllowed(true);
+ Thread th = new Thread(branchExportWorker);
+ th.setName("Branch Export");
+ th.start();
+ } else {
+ if (this.branchExportWorker.isRunning()) {
+ ci.println("Branch Export is already running.");
+ }
+ if (this.branchImportWorker.isRunning()) {
+ ci.println("Branch Import is already running.");
+ }
+ if (this.integrityWorker.isRunning()) {
+ ci.println("Branch Integrity Check is already running.");
+ }
+ }
+ }
+
+ public void stopBranchExport(CommandInterpreter ci) {
+ if (this.branchExportWorker.isRunning()) {
+ this.branchExportWorker.setExecutionAllowed(false);
+ } else {
+ ci.println("Branch Export is not running.");
+ }
+ }
+
+ public void startBranchImport(CommandInterpreter ci) {
+ if (!this.branchExportWorker.isRunning() && !this.branchImportWorker.isRunning() && !this.integrityWorker.isRunning()) {
+ this.branchImportWorker.setCommandInterpreter(ci);
+ this.branchImportWorker.setExecutionAllowed(true);
+ Thread th = new Thread(branchImportWorker);
+ th.setName("Branch Import");
+ th.start();
+ } else {
+ if (this.branchExportWorker.isRunning()) {
+ ci.println("Branch Export is already running.");
+ }
+ if (this.branchImportWorker.isRunning()) {
+ ci.println("Branch Import is already running.");
+ }
+ if (this.integrityWorker.isRunning()) {
+ ci.println("Branch Integrity Check is already running.");
+ }
+ }
+ }
+
+ public void stopBranchImport(CommandInterpreter ci) {
+ if (this.branchImportWorker.isRunning()) {
+ this.branchImportWorker.setExecutionAllowed(false);
+ } else {
+ ci.println("Branch Import is not running.");
+ }
+ }
+
+ public void startBranchIntegrityCheck(CommandInterpreter ci) {
+ if (!this.branchExportWorker.isRunning() && !this.branchImportWorker.isRunning() && !this.integrityWorker.isRunning()) {
+ this.integrityWorker.setCommandInterpreter(ci);
+ this.integrityWorker.setExecutionAllowed(true);
+ Thread th = new Thread(integrityWorker);
+ th.setName("Branch Integrity Check");
+ th.start();
+ } else {
+ if (this.branchExportWorker.isRunning()) {
+ ci.println("Branch Export is already running.");
+ }
+ if (this.branchImportWorker.isRunning()) {
+ ci.println("Branch Import is already running.");
+ }
+ if (this.integrityWorker.isRunning()) {
+ ci.println("Branch Integrity Check is already running.");
+ }
+ }
+ }
+
+ public void stopBranchIntegrityCheck(CommandInterpreter ci) {
+ if (this.integrityWorker.isRunning()) {
+ this.integrityWorker.setExecutionAllowed(false);
+ } else {
+ ci.println("Branch Integrity Check is not running.");
+ }
+ }
+}
diff --git a/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/branch/BranchExportWorker.java b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/branch/BranchExportWorker.java
new file mode 100644
index 00000000000..117b6cf42a3
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/branch/BranchExportWorker.java
@@ -0,0 +1,109 @@
+/*******************************************************************************
+ * 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.List;
+import org.eclipse.osee.framework.branch.management.ExportOptions;
+import org.eclipse.osee.framework.db.connection.ConnectionHandlerStatement;
+import org.eclipse.osee.framework.resource.management.Options;
+import org.eclipse.osee.framework.server.admin.Activator;
+import org.eclipse.osee.framework.server.admin.BaseCmdWorker;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class BranchExportWorker extends BaseCmdWorker {
+
+ private static final String ALL_BRANCHES_QUERY =
+ "SELECT x1.branch_id FROM (" +
+ "SELECT br1.branch_id FROM osee_branch br1%s br1.branch_type <> 3 " +
+ "UNION " +
+ "SELECT om1.merge_branch_id FROM osee_merge om1, osee_branch ob1 WHERE om1.dest_branch_id = ob1.branch_id%s " +
+ "UNION " +
+ "SELECT om2.source_branch_id from osee_merge om2, osee_branch ob2 WHERE om2.dest_branch_id = ob2.branch_id%s " +
+ ") x1 ORDER BY x1.branch_id";
+
+ private boolean isValidArg(String arg) {
+ return arg != null && arg.length() > 0;
+ }
+
+ private String getAllBranchesQuery(boolean includeArchivedBranches) {
+ return String.format(ALL_BRANCHES_QUERY, includeArchivedBranches ? " where" : " where br1.archived <> 1 and",
+ includeArchivedBranches ? "" : " and ob1.archived <> 1",
+ includeArchivedBranches ? "" : " and ob2.archived <> 1");
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.osee.framework.server.admin.BaseCmdWorker#doWork(long)
+ */
+ @Override
+ protected void doWork(long startTime) throws Exception {
+ Options options = new Options();
+ String arg = null;
+ int count = 0;
+ String exportFileName = null;
+ boolean includeArchivedBranches = false;
+ List<Integer> branchIds = new ArrayList<Integer>();
+ do {
+ arg = getCommandInterpreter().nextArgument();
+ if (isValidArg(arg)) {
+ if (arg.equals("-excludeBaselineTxs")) {
+ options.put(ExportOptions.EXCLUDE_BASELINE_TXS.name(), true);
+ } else if (arg.equals("-includeArchivedBranches")) {
+ includeArchivedBranches = true;
+ } else if (arg.equals("-compress")) {
+ options.put(ExportOptions.COMPRESS.name(), true);
+ } else if (arg.equals("-minTx")) {
+ arg = getCommandInterpreter().nextArgument();
+ if (isValidArg(arg)) {
+ options.put(ExportOptions.MIN_TXS.name(), arg);
+ }
+ count++;
+ } else if (arg.equals("-maxTx")) {
+ arg = getCommandInterpreter().nextArgument();
+ if (isValidArg(arg)) {
+ options.put(ExportOptions.MAX_TXS.name(), arg);
+ }
+ count++;
+ } else {
+ if (count == 0 && !arg.startsWith("-")) {
+ exportFileName = arg;
+ } else {
+ branchIds.add(new Integer(arg));
+ }
+ }
+ }
+ count++;
+ } while (isValidArg(arg));
+
+ if (!isValidArg(exportFileName)) {
+ throw new IllegalArgumentException(String.format("exportFileName was invalid: [%s]", exportFileName));
+ }
+
+ if (branchIds.isEmpty()) {
+ ConnectionHandlerStatement chStmt = new ConnectionHandlerStatement();
+ try {
+ chStmt.runPreparedQuery(getAllBranchesQuery(includeArchivedBranches));
+ while (chStmt.next()) {
+ branchIds.add(chStmt.getInt("branch_id"));
+ }
+ } finally {
+ chStmt.close();
+ }
+ }
+ println(String.format("Exporting: [%s] branches\n", branchIds.size()));
+
+ Activator.getInstance().getBranchExchange().exportBranch(exportFileName, options, branchIds);
+ }
+}
diff --git a/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/branch/BranchImportWorker.java b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/branch/BranchImportWorker.java
new file mode 100644
index 00000000000..28f96a9fb43
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/branch/BranchImportWorker.java
@@ -0,0 +1,91 @@
+/*******************************************************************************
+ * 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.io.File;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.List;
+import org.eclipse.osee.framework.branch.management.ImportOptions;
+import org.eclipse.osee.framework.jdk.core.util.Lib;
+import org.eclipse.osee.framework.resource.management.Options;
+import org.eclipse.osee.framework.resource.management.ResourceLocator;
+import org.eclipse.osee.framework.server.admin.Activator;
+import org.eclipse.osee.framework.server.admin.BaseCmdWorker;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class BranchImportWorker extends BaseCmdWorker {
+
+ private boolean isValidArg(String arg) {
+ return arg != null && arg.length() > 0;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osee.framework.server.admin.BaseCmdWorker#doWork(long)
+ */
+ @Override
+ protected void doWork(long startTime) throws Exception {
+ Options options = new Options();
+ String arg = null;
+ int count = 0;
+
+ List<Integer> branchIds = new ArrayList<Integer>();
+ List<File> importFiles = new ArrayList<File>();
+ do {
+ arg = getCommandInterpreter().nextArgument();
+ if (isValidArg(arg)) {
+ if (arg.equals("-excludeBaselineTxs")) {
+ options.put(ImportOptions.EXCLUDE_BASELINE_TXS.name(), true);
+ } else if (arg.equals("-clean")) {
+ options.put(ImportOptions.CLEAN_BEFORE_IMPORT.name(), true);
+ } else if (arg.equals("-allAsRootBranches")) {
+ options.put(ImportOptions.ALL_AS_ROOT_BRANCHES.name(), true);
+ } else if (arg.equals("-minTx")) {
+ arg = getCommandInterpreter().nextArgument();
+ if (isValidArg(arg)) {
+ options.put(ImportOptions.MIN_TXS.name(), arg);
+ }
+ count++;
+ } else if (arg.equals("-maxTx")) {
+ arg = getCommandInterpreter().nextArgument();
+ if (isValidArg(arg)) {
+ options.put(ImportOptions.MAX_TXS.name(), arg);
+ }
+ count++;
+ } else if (count == 0 && !arg.startsWith("-")) {
+ importFiles.add(new File(arg));
+ } else {
+ branchIds.add(new Integer(arg));
+ }
+ count++;
+ }
+ } while (isValidArg(arg));
+
+ if (importFiles.isEmpty()) {
+ throw new IllegalArgumentException("Files to import were not specified");
+ }
+
+ for (File file : importFiles) {
+ if (file == null || !file.exists() || !file.canRead()) {
+ throw new IllegalArgumentException(String.format("File was not accessible: [%s]", file));
+ } else if (file.isFile() && !Lib.isCompressed(file)) {
+ throw new IllegalArgumentException(String.format("Invalid File: [%s]", file));
+ }
+ }
+
+ for (File fileToImport : importFiles) {
+ URI uri = new URI("exchange://" + fileToImport.toURI().toASCIIString());
+ Activator.getInstance().getBranchExchange().importBranch(new ResourceLocator(uri), options, branchIds);
+ }
+ }
+}
diff --git a/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/branch/ExchangeIntegrityWorker.java b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/branch/ExchangeIntegrityWorker.java
new file mode 100644
index 00000000000..713fee9863c
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/branch/ExchangeIntegrityWorker.java
@@ -0,0 +1,66 @@
+/*******************************************************************************
+ * 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.io.File;
+import java.net.URI;
+import java.util.ArrayList;
+import java.util.List;
+import org.eclipse.osee.framework.jdk.core.util.Lib;
+import org.eclipse.osee.framework.resource.management.ResourceLocator;
+import org.eclipse.osee.framework.server.admin.Activator;
+import org.eclipse.osee.framework.server.admin.BaseCmdWorker;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class ExchangeIntegrityWorker extends BaseCmdWorker {
+
+ private boolean isValidArg(String arg) {
+ return arg != null && arg.length() > 0;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osee.framework.server.admin.BaseCmdWorker#doWork(long)
+ */
+ @Override
+ protected void doWork(long startTime) throws Exception {
+ String arg = null;
+ int count = 0;
+ List<File> importFiles = new ArrayList<File>();
+ do {
+ arg = getCommandInterpreter().nextArgument();
+ if (isValidArg(arg)) {
+ if (count == 0 && !arg.startsWith("-")) {
+ importFiles.add(new File(arg));
+ }
+ count++;
+ }
+ } while (isValidArg(arg));
+
+ if (importFiles.isEmpty()) {
+ throw new IllegalArgumentException("File to check was not specified");
+ }
+
+ for (File file : importFiles) {
+ if (file == null || !file.exists() || !file.canRead()) {
+ throw new IllegalArgumentException(String.format("File was not accessible: [%s]", file));
+ } else if (file.isFile() && !Lib.isCompressed(file)) {
+ throw new IllegalArgumentException(String.format("Invalid File: [%s]", file));
+ }
+ }
+
+ for (File fileToImport : importFiles) {
+ URI uri = new URI("exchange://" + fileToImport.toURI().toASCIIString());
+ Activator.getInstance().getBranchExchange().checkIntegrity(new ResourceLocator(uri));
+ }
+ }
+}
diff --git a/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/conversion/CompressedContentFix.java b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/conversion/CompressedContentFix.java
new file mode 100644
index 00000000000..d9e14a611ab
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/conversion/CompressedContentFix.java
@@ -0,0 +1,231 @@
+/*******************************************************************************
+ * 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.conversion;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.URLEncoder;
+import java.util.Map;
+import java.util.logging.Level;
+import org.eclipse.osee.framework.db.connection.ConnectionHandlerStatement;
+import org.eclipse.osee.framework.db.connection.exception.OseeDataStoreException;
+import org.eclipse.osee.framework.jdk.core.util.Lib;
+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.resource.management.IResourceLocatorManager;
+import org.eclipse.osee.framework.resource.management.IResourceManager;
+import org.eclipse.osee.framework.resource.management.Options;
+import org.eclipse.osee.framework.resource.management.StandardOptions;
+import org.eclipse.osee.framework.resource.provider.common.resources.CompressedResourceBridge;
+import org.eclipse.osee.framework.resource.provider.common.resources.Streams;
+import org.eclipse.osee.framework.server.admin.Activator;
+import org.eclipse.osgi.framework.console.CommandInterpreter;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class CompressedContentFix {
+
+ private static CompressedContentFix instance = null;
+
+ private static final String FIND_ALL_NATIVE_CONTENT_SQL =
+ "SELECT art1.art_id, art1.human_readable_id, art1.guid, attr1.uri FROM osee_attribute attr1, osee_attribute_type attyp1, osee_artifact art1 WHERE attyp1.NAME = 'Native Content' AND attyp1.attr_type_id = attr1.attr_type_id AND art1.ART_ID = attr1.ART_ID";
+
+ public static CompressedContentFix getInstance() {
+ if (instance == null) {
+ instance = new CompressedContentFix();
+ }
+ return instance;
+ }
+
+ private volatile boolean execute;
+ private volatile boolean isRunning = false;
+ private volatile boolean verbose = true;
+
+ private CompressedContentFix() {
+ }
+
+ public void executeStop(CommandInterpreter ci) {
+ execute = false;
+ }
+
+ public void execute(CommandInterpreter ci) {
+ if (!isRunning) {
+ execute = true;
+ isRunning = true;
+ Thread th = new Thread(new Worker(ci));
+ th.setName("CompressedContentFix");
+ th.start();
+ }
+ }
+
+ private class Worker implements Runnable {
+
+ private CommandInterpreter ci;
+ private IResourceManager resourceManager;
+ private IResourceLocatorManager locatorManager;
+ private Map<Long, String> nativeExtension;
+ private Map<Long, String> nameMap;
+
+ private Worker(CommandInterpreter cmdi) {
+ ci = cmdi;
+ resourceManager = Activator.getInstance().getResourceManager();
+ locatorManager = Activator.getInstance().getResourceLocatorManager();
+ nativeExtension = null;
+ nameMap = null;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see java.lang.Runnable#run()
+ */
+ @Override
+ public void run() {
+ long time = System.currentTimeMillis();
+ try {
+ initializeData();
+ doWork(time);
+ } catch (OseeDataStoreException ex) {
+ OseeLog.log(Activator.class, Level.SEVERE, ex);
+ } finally {
+ clear();
+ }
+ long seconds = (System.currentTimeMillis() - time) / 1000;
+ long leftOverSeconds = seconds % 60;
+ long minutes = seconds / 60;
+ long leftOverMinutes = minutes % 60;
+ long hours = minutes / 60;
+ ci.println(String.format("Done. Elapsed Time = %d:%02d:%02d.", hours, leftOverMinutes, leftOverSeconds));
+ isRunning = false;
+ }
+
+ private void initializeData() throws OseeDataStoreException {
+ nativeExtension = Util.getArtIdMap("Extension");
+ nameMap = Util.getArtIdMap("Name");
+ }
+
+ private void clear() {
+ if (nativeExtension != null) {
+ nativeExtension.clear();
+ nativeExtension = null;
+ }
+
+ if (nameMap != null) {
+ nameMap.clear();
+ nameMap = null;
+ }
+ }
+
+ private void processEntry(long artId, String hrid, String guid, String uri) throws Exception {
+ boolean resourceExists = isResourceAvailable(uri);
+ if (resourceExists) {
+ IResourceLocator locator = locatorManager.getResourceLocator(uri);
+ Options options = new Options();
+ IResource resource = resourceManager.acquire(locator, options);
+
+ ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
+ String oldEntryName = getContent(resource, outputStream);
+ String extension = nativeExtension.get(artId);
+ String newEntryName = generateFileName(nameMap.get(artId), hrid, extension);
+
+ byte[] compressed = Lib.compressStream(new ByteArrayInputStream(outputStream.toByteArray()), newEntryName);
+ IResource modifiedResource = new CompressedResourceBridge(compressed, locator.getLocation(), true);
+ options.put(StandardOptions.Overwrite.name(), true);
+ resourceManager.save(locator, modifiedResource, options);
+
+ ci.println(String.format("hrid [%s] uri [%s] fileName[%s] newName[%s] extension[%s]", hrid, uri,
+ oldEntryName, newEntryName, extension));
+ }
+ }
+
+ public String generateFileName(String name, String hrid, String fileTypeExtension) {
+ StringBuilder builder = new StringBuilder();
+ if (name != null && name.length() > 0) {
+ try {
+ if (name.length() > 60) {
+ name = name.substring(0, 60);
+ }
+ builder.append(URLEncoder.encode(name, "UTF-8"));
+ builder.append(".");
+ } catch (Exception ex) {
+ // Do Nothing - this is not important
+ }
+ }
+ builder.append(hrid);
+
+ if (fileTypeExtension != null && fileTypeExtension.length() > 0) {
+ builder.append(".");
+ builder.append(fileTypeExtension);
+ }
+ return builder.toString();
+ }
+
+ private String getContent(IResource resource, OutputStream outputStream) throws IOException {
+ String name = null;
+ InputStream inputStream = null;
+ try {
+ inputStream = resource.getContent();
+ name = Streams.decompressStream(inputStream, outputStream);
+ } finally {
+ if (inputStream != null) {
+ inputStream.close();
+ }
+ }
+ return name;
+ }
+
+ private boolean isResourceAvailable(String uri) throws Exception {
+ boolean resourceExists = false;
+ if (uri != null && uri.length() > 0) {
+ IResourceLocator locator = locatorManager.getResourceLocator(uri);
+ resourceExists = resourceManager.exists(locator);
+ }
+ return resourceExists;
+ }
+
+ private void doWork(long time) {
+ ConnectionHandlerStatement chStmt = new ConnectionHandlerStatement();
+ try {
+ chStmt.runPreparedQuery(FIND_ALL_NATIVE_CONTENT_SQL);
+ int count = 0;
+ while (chStmt.next() && execute) {
+ long artId = chStmt.getLong("art_id");
+ String hrid = chStmt.getString("human_readable_id");
+ String guid = chStmt.getString("guid");
+ String uri = chStmt.getString("uri");
+ processEntry(artId, hrid, guid, uri);
+
+ count++;
+ if (count % 100 == 0) {
+ if (verbose) {
+ long seconds = (System.currentTimeMillis() - time) / 1000;
+ long leftOverSeconds = seconds % 60;
+ long minutes = seconds / 60;
+ long leftOverMinutes = minutes % 60;
+ long hours = minutes / 60;
+ ci.println(String.format("%d files processed, Elapsed Time = %d:%02d:%02d.", count, hours,
+ leftOverMinutes, leftOverSeconds));
+ }
+ }
+ }
+ } catch (Exception ex) {
+ OseeLog.log(Activator.class, Level.SEVERE, ex);
+ } finally {
+ chStmt.close();
+ }
+ }
+ }
+}
diff --git a/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/conversion/DbResource.java b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/conversion/DbResource.java
new file mode 100644
index 00000000000..f1a6757cde5
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/conversion/DbResource.java
@@ -0,0 +1,117 @@
+/*******************************************************************************
+ * 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.conversion;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.net.URLEncoder;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipInputStream;
+import org.eclipse.osee.framework.resource.management.IResource;
+
+/**
+ * @author Andrew M. Finkbeiner
+ */
+public class DbResource implements IResource {
+
+ // private String name = "unknown";
+ private InputStream inputStream;
+ private boolean isCompressed = false;
+ private URI uri;
+ private String hrid;
+ private String artName;
+ private String fileTypeExtension;
+
+ /**
+ * @param binaryStream
+ */
+ public DbResource(InputStream inputStream, String artName, String hrid, String fileTypeExtension) {
+ this.hrid = hrid;
+ this.artName = artName;
+ this.fileTypeExtension = fileTypeExtension;
+ this.inputStream = inputStream;
+ try {
+ uri = new URI("db://");
+ } catch (URISyntaxException ex1) {
+ }
+ if (inputStream.markSupported()) {
+ inputStream.mark(1000);
+ ZipInputStream in = new ZipInputStream(inputStream);
+ // find out if it was compressed
+ try {
+ ZipEntry entry = in.getNextEntry();
+ if (entry == null) {
+ isCompressed = false;
+ } else {
+ // name = entry.getName();
+ isCompressed = true;
+ }
+ } catch (IOException ex) {
+ isCompressed = false;
+ }
+ try {
+ inputStream.reset();
+ } catch (IOException ex) {
+ }
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osee.framework.resource.management.IResource#getContent()
+ */
+ @Override
+ public InputStream getContent() throws IOException {
+ return inputStream;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osee.framework.resource.management.IResource#getLocation()
+ */
+ @Override
+ public URI getLocation() {
+ return uri;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osee.framework.resource.management.IResource#getName()
+ */
+ @Override
+ public String getName() {
+ return generateFileName(artName, hrid, fileTypeExtension);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osee.framework.resource.management.IResource#isCompressed()
+ */
+ @Override
+ public boolean isCompressed() {
+ return isCompressed;
+ }
+
+ private String generateFileName(String artName, String hrid, String fileTypeExtension) {
+ StringBuilder builder = new StringBuilder();
+ try {
+ builder.append(URLEncoder.encode(artName, "UTF-8"));
+ builder.append(".");
+ } catch (Exception ex) {
+ // Do Nothing - this is not important
+ }
+ builder.append(hrid);
+
+ if (fileTypeExtension != null && fileTypeExtension.length() > 0) {
+ builder.append(".");
+ builder.append(fileTypeExtension);
+ }
+ return builder.toString();
+ }
+}
diff --git a/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/conversion/Util.java b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/conversion/Util.java
new file mode 100644
index 00000000000..fb7fb441ae3
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/conversion/Util.java
@@ -0,0 +1,45 @@
+/*******************************************************************************
+ * 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.conversion;
+
+import java.util.HashMap;
+import java.util.Map;
+import org.eclipse.osee.framework.db.connection.ConnectionHandler;
+import org.eclipse.osee.framework.db.connection.ConnectionHandlerStatement;
+import org.eclipse.osee.framework.db.connection.exception.OseeDataStoreException;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class Util {
+
+ private static final String sqlExtensionTypeId =
+ "Select attrt1.ATTR_TYPE_ID from osee_attribute_type attrt1 where name = ?";
+
+ private static final String sqlExtensionTypes =
+ "SELECT attr1.art_id, attr1.value FROM osee_attribute attr1 WHERE attr1.ATTR_TYPE_ID = ?";
+
+ public static Map<Long, String> getArtIdMap(String attrTypeName) throws OseeDataStoreException {
+ Map<Long, String> toReturn = new HashMap<Long, String>(250);
+
+ ConnectionHandlerStatement chStmt = new ConnectionHandlerStatement();
+ try {
+ int typeId = ConnectionHandler.runPreparedQueryFetchInt(-1, sqlExtensionTypeId, attrTypeName);
+ chStmt.runPreparedQuery(sqlExtensionTypes, typeId);
+ while (chStmt.next()) {
+ toReturn.put(chStmt.getLong("art_id"), chStmt.getString("value"));
+ }
+ } finally {
+ chStmt.close();
+ }
+ return toReturn;
+ }
+}
diff --git a/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/management/AdminCommands.java b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/management/AdminCommands.java
new file mode 100644
index 00000000000..d00b00486f7
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/management/AdminCommands.java
@@ -0,0 +1,74 @@
+/*******************************************************************************
+ * 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.osgi.framework.console.CommandInterpreter;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class AdminCommands {
+ private static AdminCommands instance = null;
+
+ private ServerShutdownWorker shutdownWorker;
+
+ public static AdminCommands getInstance() {
+ if (instance == null) {
+ instance = new AdminCommands();
+ }
+ return instance;
+ }
+
+ private AdminCommands() {
+ this.shutdownWorker = new ServerShutdownWorker();
+ this.shutdownWorker.setExecutionAllowed(true);
+ }
+
+ public void getServerStatus(CommandInterpreter ci) {
+ ServerStats stats = new ServerStats();
+ stats.setCommandInterpreter(ci);
+ stats.setExecutionAllowed(true);
+ Thread th = new Thread(stats);
+ th.setName("Server Statistics");
+ th.start();
+ }
+
+ public void startServerShutdown(CommandInterpreter ci) {
+ if (!this.shutdownWorker.isRunning()) {
+ this.shutdownWorker.setCommandInterpreter(ci);
+ this.shutdownWorker.setExecutionAllowed(true);
+ Thread th = new Thread(shutdownWorker);
+ th.setName("Server Shutdown requested.... please wait");
+ th.start();
+ } else {
+ if (this.shutdownWorker.isRunning()) {
+ ci.println("Waiting for shutdown");
+ }
+ }
+ }
+
+ public void stopServerShutdown(CommandInterpreter ci) {
+ if (this.shutdownWorker.isRunning()) {
+ this.shutdownWorker.setExecutionAllowed(false);
+ } else {
+ ci.println("Server shutdown is not running.");
+ }
+ }
+
+ public void setServletRequestProcessing(CommandInterpreter ci) {
+ ServerRequestsWorker worker = new ServerRequestsWorker();
+ worker.setCommandInterpreter(ci);
+ worker.setExecutionAllowed(true);
+ Thread th = new Thread(worker);
+ th.setName("Server Requests");
+ th.start();
+ }
+}
diff --git a/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/management/ServerRequestsWorker.java b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/management/ServerRequestsWorker.java
new file mode 100644
index 00000000000..024323a90a3
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/management/ServerRequestsWorker.java
@@ -0,0 +1,29 @@
+/*******************************************************************************
+ * 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.osee.framework.core.server.CoreServerActivator;
+import org.eclipse.osee.framework.server.admin.BaseCmdWorker;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class ServerRequestsWorker extends BaseCmdWorker {
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osee.framework.server.admin.BaseCmdWorker#doWork(long)
+ */
+ @Override
+ protected void doWork(long startTime) throws Exception {
+ String value = getCommandInterpreter().nextArgument();
+ CoreServerActivator.getApplicationServerManager().setServletRequestsAllowed(new Boolean(value));
+ }
+}
diff --git a/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/management/ServerShutdownWorker.java b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/management/ServerShutdownWorker.java
new file mode 100644
index 00000000000..26181997c6d
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/management/ServerShutdownWorker.java
@@ -0,0 +1,32 @@
+/*******************************************************************************
+ * 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.osee.framework.core.server.CoreServerActivator;
+import org.eclipse.osee.framework.core.server.IApplicationServerManager;
+import org.eclipse.osee.framework.server.admin.BaseCmdWorker;
+
+/**
+ * @author Roberto E. Escobar
+ */
+class ServerShutdownWorker extends BaseCmdWorker {
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osee.framework.server.admin.search.BaseCmdWorker#doWork(long)
+ */
+ @Override
+ protected void doWork(long startTime) throws Exception {
+ IApplicationServerManager manager = CoreServerActivator.getApplicationServerManager();
+ manager.shutdown();
+
+ // TODO - more here!
+ }
+}
diff --git a/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/management/ServerStats.java b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/management/ServerStats.java
new file mode 100644
index 00000000000..50d3a4bf59f
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/management/ServerStats.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.framework.server.admin.management;
+
+import java.util.List;
+import org.eclipse.osee.framework.core.server.CoreServerActivator;
+import org.eclipse.osee.framework.core.server.IApplicationServerManager;
+import org.eclipse.osee.framework.server.admin.BaseCmdWorker;
+
+/**
+ * @author Roberto E. Escobar
+ */
+class ServerStats extends BaseCmdWorker {
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osee.framework.server.admin.search.BaseCmdWorker#doWork(long)
+ */
+ @Override
+ protected void doWork(long startTime) throws Exception {
+ IApplicationServerManager manager = CoreServerActivator.getApplicationServerManager();
+
+ StringBuffer buffer = new StringBuffer();
+ buffer.append("\n----------------------------------------------\n");
+ buffer.append(" Server Stats \n");
+ buffer.append("----------------------------------------------\n");
+ buffer.append(String.format("Server State: [%s]\n", manager.isSystemIdle() ? "IDLE" : "BUSY"));
+ buffer.append(String.format("Active Threads: [%s]\n", manager.getNumberOfActiveThreads()));
+ buffer.append("Current Tasks: ");
+ List<String> entries = manager.getCurrentProcesses();
+ if (entries.isEmpty()) {
+ buffer.append("[NONE]");
+ } else {
+ buffer.append("\n");
+ for (int index = 0; index < entries.size(); index++) {
+ buffer.append(String.format("[%s] ", index));
+ buffer.append(entries.get(index));
+ if (index + 1 < entries.size()) {
+ buffer.append("\n");
+ }
+ }
+ }
+ println(buffer.toString());
+ }
+}
diff --git a/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/search/SearchStats.java b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/search/SearchStats.java
new file mode 100644
index 00000000000..960d15f351b
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/search/SearchStats.java
@@ -0,0 +1,38 @@
+/*******************************************************************************
+ * 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.osee.framework.search.engine.ISearchStatistics;
+import org.eclipse.osee.framework.server.admin.Activator;
+import org.eclipse.osee.framework.server.admin.BaseCmdWorker;
+
+/**
+ * @author Roberto E. Escobar
+ */
+class SearchStats extends BaseCmdWorker {
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osee.framework.server.admin.search.BaseCmdWorker#doWork(long)
+ */
+ @Override
+ protected void doWork(long startTime) throws Exception {
+ ISearchStatistics stats = Activator.getInstance().getSearchEngine().getStatistics();
+ StringBuffer buffer = new StringBuffer();
+ buffer.append("\n----------------------------------------------\n");
+ buffer.append(" Search Stats \n");
+ buffer.append("----------------------------------------------\n");
+ buffer.append(String.format("Total Searches - [%d]\n", stats.getTotalSearches()));
+ buffer.append(String.format("Search Time - avg: [%s] ms - longest: [%s] ms\n", stats.getAverageSearchTime(),
+ stats.getLongestSearchTime()));
+ buffer.append(String.format("Longest Search - %s\n", stats.getLongestSearch()));
+ println(buffer.toString());
+ }
+}
diff --git a/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/search/SearchTaggerCommands.java b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/search/SearchTaggerCommands.java
new file mode 100644
index 00000000000..b706d306c47
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/search/SearchTaggerCommands.java
@@ -0,0 +1,150 @@
+/*******************************************************************************
+ * 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.osee.framework.server.admin.Activator;
+import org.eclipse.osgi.framework.console.CommandInterpreter;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class SearchTaggerCommands {
+
+ private static SearchTaggerCommands instance = null;
+ private TaggerAllWorker tagAllWorker;
+ private TaggerDropAllWorker dropAllWorker;
+ private TagItemWorker tagItemWorker;
+
+ public static SearchTaggerCommands getInstance() {
+ if (instance == null) {
+ instance = new SearchTaggerCommands();
+ }
+ return instance;
+ }
+
+ private SearchTaggerCommands() {
+ this.tagAllWorker = new TaggerAllWorker();
+ this.tagAllWorker.setExecutionAllowed(true);
+
+ this.dropAllWorker = new TaggerDropAllWorker();
+ this.dropAllWorker.setExecutionAllowed(true);
+
+ this.tagItemWorker = new TagItemWorker();
+ this.tagItemWorker.setExecutionAllowed(true);
+ }
+
+ public void startTagItem(CommandInterpreter ci) {
+ if (!this.dropAllWorker.isRunning() && !this.tagAllWorker.isRunning()) {
+ this.tagItemWorker.setCommandInterpreter(ci);
+ this.tagItemWorker.setExecutionAllowed(true);
+ Thread th = new Thread(tagItemWorker);
+ th.setName("Tag Individual Items");
+ th.start();
+ } else {
+ if (this.dropAllWorker.isRunning()) {
+ ci.println("Drop All Tags is running.");
+ }
+ if (this.tagAllWorker.isRunning()) {
+ ci.println("Tag All is running.");
+ }
+ }
+ }
+
+ public void stopTagItem(CommandInterpreter ci) {
+ if (this.tagItemWorker.isRunning()) {
+ this.tagItemWorker.setExecutionAllowed(false);
+ } else {
+ ci.println("Tag Item is not running.");
+ }
+ }
+
+ public void startDropAll(CommandInterpreter ci) {
+ if (!this.dropAllWorker.isRunning() && !this.tagAllWorker.isRunning() && !this.tagItemWorker.isRunning()) {
+ this.dropAllWorker.setCommandInterpreter(ci);
+ this.dropAllWorker.setExecutionAllowed(true);
+ Thread th = new Thread(dropAllWorker);
+ th.setName("Drop All Tags");
+ th.start();
+ } else {
+ if (this.dropAllWorker.isRunning()) {
+ ci.println("Drop All Tags is running.");
+ }
+ if (this.tagAllWorker.isRunning()) {
+ ci.println("Tag All is running.");
+ }
+ if (this.tagItemWorker.isRunning()) {
+ ci.println("Tag Item is running.");
+ }
+ }
+ }
+
+ public void stopDropAll(CommandInterpreter ci) {
+ if (this.dropAllWorker.isRunning()) {
+ this.dropAllWorker.setExecutionAllowed(false);
+ } else {
+ ci.println("Drop All Tags is not running.");
+ }
+ }
+
+ public void stopTagAll(CommandInterpreter ci) {
+ if (this.tagAllWorker.isRunning()) {
+ this.tagAllWorker.setExecutionAllowed(false);
+ } else {
+ ci.println("Tag All is not running.");
+ }
+ }
+
+ public void startTagAll(CommandInterpreter ci) {
+ if (!this.dropAllWorker.isRunning() && !this.tagAllWorker.isRunning() && !this.tagItemWorker.isRunning()) {
+ this.tagAllWorker.setCommandInterpreter(ci);
+ this.tagAllWorker.setExecutionAllowed(true);
+ Thread th = new Thread(tagAllWorker);
+ th.setName("Tagger All Attributes");
+ th.start();
+ } else {
+ if (this.dropAllWorker.isRunning()) {
+ ci.println("Drop All Tags is running.");
+ }
+ if (this.tagAllWorker.isRunning()) {
+ ci.println("Tag All is running.");
+ }
+ if (this.tagItemWorker.isRunning()) {
+ ci.println("Tag Item is running.");
+ }
+ }
+ }
+
+ public void getTaggerStatistics(CommandInterpreter ci) {
+ TaggerStats stats = new TaggerStats();
+ stats.setCommandInterpreter(ci);
+ stats.setExecutionAllowed(true);
+ Thread th = new Thread(stats);
+ th.setName("Tagger Statistics");
+ th.start();
+ }
+
+ public void clearTaggerStats() {
+ Activator.getInstance().getSearchTagger().clearStatistics();
+ }
+
+ public void getSearchStatistics(CommandInterpreter ci) {
+ SearchStats stats = new SearchStats();
+ stats.setCommandInterpreter(ci);
+ stats.setExecutionAllowed(true);
+ Thread th = new Thread(stats);
+ th.setName("Search Statistics");
+ th.start();
+ }
+
+ public void clearSearchStats() {
+ Activator.getInstance().getSearchEngine().clearStatistics();
+ }
+}
diff --git a/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/search/TagItemWorker.java b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/search/TagItemWorker.java
new file mode 100644
index 00000000000..1bc27d8a03f
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/search/TagItemWorker.java
@@ -0,0 +1,138 @@
+/*******************************************************************************
+ * 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.HashSet;
+import java.util.Set;
+import java.util.logging.Level;
+import org.eclipse.osee.framework.core.data.JoinUtility;
+import org.eclipse.osee.framework.core.data.JoinUtility.TagQueueJoinQuery;
+import org.eclipse.osee.framework.db.connection.exception.OseeCoreException;
+import org.eclipse.osee.framework.logging.OseeLog;
+import org.eclipse.osee.framework.search.engine.TagListenerAdapter;
+import org.eclipse.osee.framework.server.admin.Activator;
+import org.eclipse.osee.framework.server.admin.BaseCmdWorker;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class TagItemWorker extends BaseCmdWorker {
+
+ private TagListener tagListener = null;
+
+ private Set<Long> getGammas() {
+ Set<Long> toReturn = new HashSet<Long>();
+ String arg = null;
+ while ((arg = getCommandInterpreter().nextArgument()) != null) {
+ toReturn.add(new Long(arg));
+ }
+ return toReturn;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osee.framework.server.admin.search.BaseCmdWorker#setExecutionAllowed(boolean)
+ */
+ @Override
+ public void setExecutionAllowed(boolean value) {
+ super.setExecutionAllowed(value);
+ if (tagListener != null && !value) {
+ synchronized (tagListener) {
+ tagListener.notify();
+ }
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osee.framework.server.admin.search.BaseCmdWorker#doWork(long)
+ */
+ @Override
+ protected void doWork(long startTime) throws OseeCoreException {
+ tagListener = null;
+ final Set<Long> toTag = getGammas();
+ if (toTag.isEmpty() != true) {
+ TagQueueJoinQuery joinQuery = JoinUtility.createTagQueueJoinQuery();
+ for (Long item : toTag) {
+ joinQuery.add(item);
+ }
+ joinQuery.store();
+
+ tagListener = new TagListener();
+ Activator.getInstance().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 {
+ println("No Items to Tag.");
+ }
+ }
+
+ private final class TagListener extends TagListenerAdapter {
+ private int joinQuery;
+ private boolean isProcessing;
+
+ public TagListener() {
+ this.isProcessing = true;
+ this.joinQuery = -1;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osee.framework.search.engine.TagListenerAdapter#onTagQueryIdSubmit(int)
+ */
+ @Override
+ public void onTagQueryIdSubmit(int queryId) {
+ joinQuery = queryId;
+ }
+
+ public boolean isProcessing() {
+ return isProcessing;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osee.framework.search.engine.ITagListener#onAttributeTagComplete(int, long, int, long)
+ */
+ @Override
+ public void onAttributeTagComplete(int queryId, long gammaId, int totalTags, long processingTime) {
+ if (queryId == joinQuery) {
+ println(String.format("GammaId: [%d] Tags: [%d] Processed In: [%d] ms", gammaId, totalTags, processingTime));
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osee.framework.search.engine.ITagListener#onTagQueryIdTagComplete(int, long, long)
+ */
+ @Override
+ synchronized public void onTagQueryIdTagComplete(int queryId, long waitTime, long processingTime) {
+ if (queryId == joinQuery) {
+ this.isProcessing = false;
+ this.notify();
+ }
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osee.framework.search.engine.ITagListener#onAttributeAddTagEvent(int, long, java.lang.String, long)
+ */
+ @Override
+ public void onAttributeAddTagEvent(int queryId, long gammaId, String word, long codedTag) {
+ if (queryId == joinQuery && isVerbose()) {
+ println(String.format("QueryId: [%d] GammaId: [%d] Word: [%s] Tag: [%d]", queryId, gammaId, word, codedTag));
+ }
+ }
+
+ }
+}
diff --git a/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/search/TaggerAllWorker.java b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/search/TaggerAllWorker.java
new file mode 100644
index 00000000000..ea5a6a3a82a
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/search/TaggerAllWorker.java
@@ -0,0 +1,193 @@
+/*******************************************************************************
+ * 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.Collections;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+import org.eclipse.osee.framework.core.data.JoinUtility;
+import org.eclipse.osee.framework.core.data.JoinUtility.TagQueueJoinQuery;
+import org.eclipse.osee.framework.db.connection.ConnectionHandlerStatement;
+import org.eclipse.osee.framework.db.connection.OseeConnection;
+import org.eclipse.osee.framework.db.connection.OseeDbConnection;
+import org.eclipse.osee.framework.db.connection.exception.OseeDataStoreException;
+import org.eclipse.osee.framework.search.engine.TagListenerAdapter;
+import org.eclipse.osee.framework.search.engine.attribute.AttributeDataStore;
+import org.eclipse.osee.framework.server.admin.Activator;
+import org.eclipse.osee.framework.server.admin.BaseCmdWorker;
+
+/**
+ * @author Roberto E. Escobar
+ */
+class TaggerAllWorker extends BaseCmdWorker {
+ private static final int BATCH_SIZE = 1000;
+
+ private TagProcessListener processor;
+
+ TaggerAllWorker() {
+ super();
+ this.processor = null;
+ }
+
+ private void fetchAndProcessGammas(OseeConnection connection, int branchId, TagProcessListener processor) throws OseeDataStoreException {
+ ConnectionHandlerStatement chStmt = new ConnectionHandlerStatement(connection);
+ try {
+ chStmt.runPreparedQuery(AttributeDataStore.getAllTaggableGammasByBranchQuery(branchId),
+ AttributeDataStore.getAllTaggableGammasByBranchQueryData(branchId));
+ TagQueueJoinQuery joinQuery = JoinUtility.createTagQueueJoinQuery();
+ while (chStmt.next() && isExecutionAllowed()) {
+ long gammaId = chStmt.getLong("gamma_id");
+ joinQuery.add(gammaId);
+ if (joinQuery.size() >= BATCH_SIZE) {
+ processor.storeAndAddQueryId(connection, joinQuery);
+ joinQuery = JoinUtility.createTagQueueJoinQuery();
+ }
+ }
+ processor.storeAndAddQueryId(connection, joinQuery);
+ } finally {
+ chStmt.close();
+ }
+ }
+
+ protected void doWork(final long startTime) throws OseeDataStoreException, InterruptedException {
+ OseeConnection connection = OseeDbConnection.getConnection();
+ try {
+ String arg = getCommandInterpreter().nextArgument();
+ int branchId = -1;
+ if (arg != null && arg.length() > 0) {
+ branchId = Integer.parseInt(arg);
+ }
+ println(String.format("Tagging Attributes For: [%s]", branchId > -1 ? "Branch " + branchId : "All Branches"));
+
+ int totalAttributes = AttributeDataStore.getTotalTaggableItems(connection, branchId);
+ processor = new TagProcessListener(startTime, totalAttributes);
+ fetchAndProcessGammas(connection, branchId, processor);
+ if (!processor.isProcessingDone()) {
+ synchronized (processor) {
+ processor.wait();
+ }
+ }
+
+ if (!isExecutionAllowed() && !processor.isProcessingDone()) {
+ processor.cancelProcessing(connection);
+ }
+ processor.printStats();
+ } finally {
+ processor = null;
+ connection.close();
+ }
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.osee.framework.server.admin.search.BaseCmdWorker#setExecutionAllowed(boolean)
+ */
+ @Override
+ public void setExecutionAllowed(boolean value) {
+ super.setExecutionAllowed(value);
+ if (!value && processor != null) {
+ synchronized (processor) {
+ processor.notify();
+ }
+ }
+ }
+
+ private final class TagProcessListener extends TagListenerAdapter {
+
+ private final Map<Integer, TagQueueJoinQuery> queryIdMap;
+ private int attributesProcessed;
+ private int queriesProcessed;
+ private long startTime;
+ private int totalAttributes;
+
+ public TagProcessListener(long startTime, int totalAttributes) {
+ this.queryIdMap = Collections.synchronizedMap(new HashMap<Integer, TagQueueJoinQuery>());
+ this.startTime = startTime;
+ this.totalAttributes = totalAttributes;
+ this.attributesProcessed = 0;
+ this.queriesProcessed = 0;
+ }
+
+ /**
+ * @param connection
+ */
+ public void cancelProcessing(OseeConnection connection) {
+ Set<Integer> list = queryIdMap.keySet();
+ int[] toStop = new int[list.size()];
+ int index = 0;
+ for (Integer item : list) {
+ toStop[index] = item;
+ index++;
+ }
+ Activator.getInstance().getSearchTagger().stopTaggingByQueueQueryId(toStop);
+ }
+
+ public void storeAndAddQueryId(OseeConnection connection, TagQueueJoinQuery joinQuery) throws OseeDataStoreException {
+ if (joinQuery.size() > 0) {
+ joinQuery.store(connection);
+ this.queryIdMap.put(joinQuery.getQueryId(), joinQuery);
+ Activator.getInstance().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() {
+ if (isVerbose()) {
+ println(String.format("QueryIds: [ %d of %d] Attributes: [%d of %d] - Elapsed Time = %s.",
+ queriesProcessed, totalQueries(), attributesProcessed, totalAttributes, getElapsedTime(startTime)));
+ }
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.osee.framework.search.engine.ITagListener#onItemTagged(int,
+ * long, int, long)
+ */
+ @Override
+ public void onAttributeTagComplete(int queryId, long gammaId, int totalTags, long processingTime) {
+ if (queryIdMap.containsKey(queryId)) {
+ attributesProcessed++;
+ if (attributesProcessed % 1000 == 0) {
+ printStats();
+ }
+ }
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.osee.framework.search.engine.ITagListener#onTagWorkerEnd(int,
+ * long)
+ */
+ @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();
+ }
+ }
+ }
+ }
+}
diff --git a/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/search/TaggerDropAllWorker.java b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/search/TaggerDropAllWorker.java
new file mode 100644
index 00000000000..7774c5e1be1
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/search/TaggerDropAllWorker.java
@@ -0,0 +1,33 @@
+/*
+ * Created on Jul 16, 2008
+ *
+ * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE
+ */
+package org.eclipse.osee.framework.server.admin.search;
+
+import org.eclipse.osee.framework.db.connection.ConnectionHandler;
+import org.eclipse.osee.framework.db.connection.info.SupportedDatabase;
+import org.eclipse.osee.framework.server.admin.BaseCmdWorker;
+
+/**
+ * @author Roberto E. Escobar
+ */
+class TaggerDropAllWorker extends BaseCmdWorker {
+ private static final String TRUNCATE_SQL = "TRUNCATE osee_search_tags";
+ private static final String DELETE_TABLE_SQL = "DELETE FROM osee_search_tags";
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osee.framework.server.admin.search.BaseCmdWorker#doWork(java.sql.Connection, long)
+ */
+ @Override
+ protected void doWork(long startTime) throws Exception {
+ String deleteSql = null;
+ if (SupportedDatabase.getDatabaseType() == SupportedDatabase.postgresql) {
+ deleteSql = TRUNCATE_SQL;
+ } else {
+ deleteSql = DELETE_TABLE_SQL;
+ }
+ ConnectionHandler.runPreparedUpdate(deleteSql);
+ println(String.format("Dropped all tags in %s.", getElapsedTime(startTime)));
+ }
+}
diff --git a/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/search/TaggerStats.java b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/search/TaggerStats.java
new file mode 100644
index 00000000000..a859ae9f9f5
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/src/org/eclipse/osee/framework/server/admin/search/TaggerStats.java
@@ -0,0 +1,54 @@
+/*
+ * Created on Jul 16, 2008
+ *
+ * PLACE_YOUR_DISTRIBUTION_STATEMENT_RIGHT_HERE
+ */
+package org.eclipse.osee.framework.server.admin.search;
+
+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.Activator;
+import org.eclipse.osee.framework.server.admin.BaseCmdWorker;
+
+/**
+ * @author Roberto E. Escobar
+ */
+class TaggerStats extends BaseCmdWorker {
+
+ /* (non-Javadoc)
+ * @see org.eclipse.osee.framework.server.admin.search.BaseCmdWorker#doWork(long)
+ */
+ @Override
+ protected void doWork(long startTime) throws Exception {
+ ISearchEngineTagger tagger = Activator.getInstance().getSearchTagger();
+
+ ITaggerStatistics stats = tagger.getStatistics();
+
+ StringBuffer buffer = new StringBuffer();
+ buffer.append("\n----------------------------------------------\n");
+ buffer.append(" Tagger Stats \n");
+ buffer.append("----------------------------------------------\n");
+ buffer.append(String.format("Query Id Processing Time - avg: [%s] ms - longest: [%s] ms\n",
+ stats.getAverageQueryIdProcessingTime(), stats.getLongestQueryIdProcessingTime()));
+ buffer.append(String.format("Query Id Wait Time - avg: [%s] ms - longest: [%s] ms\n",
+ stats.getAverageQueryIdWaitTime(), stats.getLongestQueryIdWaitTime()));
+
+ buffer.append(String.format("Attribute Processing Time - avg: [%s] ms - longest: [%s] ms\n",
+ stats.getAverageAttributeProcessingTime(), stats.getLongestAttributeProcessingTime()));
+ buffer.append(String.format("Attribute with longest processing time - %s\n", toString(stats.getLongestTask())));
+ buffer.append(String.format("Attribute with most tags - %s\n", toString(stats.getMostTagsTask())));
+ buffer.append(String.format("Total - QueryIds: [%d] Attributes: [%d] Tags: [%d]\n",
+ stats.getTotalQueryIdsProcessed(), stats.getTotalAttributesProcessed(), stats.getTotalTags()));
+ buffer.append(String.format("Total Query Ids Waiting to be Processed - [%d]\n", tagger.getWorkersInQueue()));
+ buffer.append(String.format("Total Query Ids in Tag Queue Table - [%d]\n", stats.getTotalQueryIdsInQueue()));
+ buffer.append(String.format("Total Tags in System - [%d]\n\n", stats.getTagsInSystem()));
+
+ println(buffer.toString());
+ }
+
+ private String toString(ITagItemStatistics task) {
+ return String.format("id: [%d] - processed [%d] tags in [%d] ms", task.getGammaId(), task.getTotalTags(),
+ task.getProcessingTime());
+ }
+}
diff --git a/org.eclipse.osee.framework.server.admin/supportExport.jardesc b/org.eclipse.osee.framework.server.admin/supportExport.jardesc
new file mode 100644
index 00000000000..893709cb6ec
--- /dev/null
+++ b/org.eclipse.osee.framework.server.admin/supportExport.jardesc
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="WINDOWS-1252" standalone="no"?>
+<jardesc>
+ <jar path="org.eclipse.osee.framework.server.admin/buildsupport.jar"/>
+ <options buildIfNeeded="true" compress="false" descriptionLocation="/org.eclipse.osee.framework.server.admin/supportExport.jardesc" exportErrors="true" exportWarnings="true" includeDirectoryEntries="false" overwrite="false" saveDescription="true" storeRefactorings="false" useSourceFolders="false"/>
+ <storedRefactorings deprecationInfo="true" structuralOnly="false"/>
+ <selectedProjects/>
+ <manifest generateManifest="true" manifestLocation="" manifestVersion="1.0" reuseManifest="false" saveManifest="false" usesManifest="true">
+ <sealing sealJar="false">
+ <packagesToSeal/>
+ <packagesToUnSeal/>
+ </sealing>
+ </manifest>
+ <selectedElements exportClassFiles="true" exportJavaFiles="true" exportOutputFolder="false">
+ <javaElement handleIdentifier="=org.eclipse.osee.framework.server.admin/src"/>
+ <javaElement handleIdentifier="=org.eclipse.osee.framework.server.admin/ant_src"/>
+ </selectedElements>
+</jardesc>

Back to the top