Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.osee.framework.manager.servlet')
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/.classpath14
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/.project66
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/build.properties12
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ArtifactFileServlet.java304
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/AtsServlet.java182
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/BranchExchangeServlet.java296
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/BranchManagerServlet.java194
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ClientInstallInfo.java246
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ClientInstallInfoServlet.java262
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ConfigurationServlet.java254
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/DataServlet.java182
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/InstallLinkPageGenerator.java296
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ModCompatible.java176
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/OseeCacheServlet.java506
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/OseeModelServlet.java214
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ResourceManagerServlet.java402
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/SearchEngineServlet.java326
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/SearchEngineTaggerServlet.java266
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ServerLookupServlet.java206
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/SessionClientLoopbackServlet.java384
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/SessionManagementServlet.java316
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/SystemManagerServlet.java606
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/UnsubscribeRequest.java106
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/UnsubscribeTransaction.java216
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ats/AtsResourceLocatorProvider.java152
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ats/AtsResourceProvider.java186
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ats/AtsService.java310
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ats/AtsXmlMessages.java150
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ats/AtsXmlSearch.java170
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ats/IdUtils.java82
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ats/OperationData.java216
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ats/XmlMessage.java418
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ats/XmlUtil.java338
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/data/ArtifactUtil.java148
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/data/DefaultOseeArtifact.java94
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/data/HttpArtifactFileInfo.java114
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/data/HttpBranchExchangeInfo.java222
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/data/HttpRequestDecoder.java172
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/data/HttpSearchInfo.java150
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/data/HttpSystemManagerCreationInfo.java70
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/data/ServletResourceBridge.java132
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/data/TagListener.java190
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/function/ChangeBranchArchiveStateFunction.java110
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/function/ChangeBranchStateFunction.java112
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/function/ChangeBranchTypeFunction.java112
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/function/ChangeReportFunction.java120
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/function/CreateBranchFunction.java126
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/function/CreateCommitFunction.java118
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/function/PurgeBranchFunction.java112
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/internal/Activator.java76
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/internal/ServletRegistrationHandler.java300
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/internal/ServletUtil.java102
-rw-r--r--plugins/org.eclipse.osee.framework.manager.servlet/templates/unsubscribeTemplate.html62
53 files changed, 5348 insertions, 5348 deletions
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/.classpath b/plugins/org.eclipse.osee.framework.manager.servlet/.classpath
index 8a8f1668cdc..ad32c83a788 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/.classpath
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/.classpath
@@ -1,7 +1,7 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/.project b/plugins/org.eclipse.osee.framework.manager.servlet/.project
index b16c5a926b2..8a1f6b54b3e 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/.project
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/.project
@@ -1,33 +1,33 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.osee.framework.manager.servlet</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>
- <buildCommand>
- <name>org.eclipse.pde.ds.core.builder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.osee.framework.manager.servlet</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>
+ <buildCommand>
+ <name>org.eclipse.pde.ds.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/build.properties b/plugins/org.eclipse.osee.framework.manager.servlet/build.properties
index 057468c8f16..8a44ba09d21 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/build.properties
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/build.properties
@@ -1,6 +1,6 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- OSGI-INF/,\
- templates/
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ OSGI-INF/,\
+ templates/
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ArtifactFileServlet.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ArtifactFileServlet.java
index 491650d7faf..8236cfb21e0 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ArtifactFileServlet.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ArtifactFileServlet.java
@@ -1,152 +1,152 @@
-/*******************************************************************************
- * 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.manager.servlet;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.HttpURLConnection;
-import java.util.logging.Level;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.core.exception.OseeExceptions;
-import org.eclipse.osee.framework.core.server.UnsecuredOseeHttpServlet;
-import org.eclipse.osee.framework.jdk.core.type.Pair;
-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.manager.servlet.data.ArtifactUtil;
-import org.eclipse.osee.framework.manager.servlet.data.DefaultOseeArtifact;
-import org.eclipse.osee.framework.manager.servlet.data.HttpArtifactFileInfo;
-import org.eclipse.osee.framework.manager.servlet.internal.Activator;
-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;
-
-/**
- * @author Roberto E. Escobar
- */
-public class ArtifactFileServlet extends UnsecuredOseeHttpServlet {
-
- private static final long serialVersionUID = -6334080268467740905L;
-
- private final IResourceLocatorManager locatorManager;
- private final IResourceManager resourceManager;
-
- public ArtifactFileServlet(IResourceLocatorManager locatorManager, IResourceManager resourceManager) {
- super();
- this.locatorManager = locatorManager;
- this.resourceManager = resourceManager;
- }
-
- @Override
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
- try {
- HttpArtifactFileInfo artifactFileInfo = null;
-
- String servletPath = request.getServletPath();
- // System.out.println("servletPath: " + servletPath);
- if (!Strings.isValid(servletPath) || "/".equals(servletPath) || "/index".equals(servletPath)) {
- // Enumeration<?> enumeration = request.getHeaderNames();
- // while (enumeration.hasMoreElements()) {
- // String headerField = (String) enumeration.nextElement();
- // String value = request.getHeader(headerField);
- // System.out.println(String.format("%s: %s", headerField, value));
- // }
-
- Pair<String, String> defaultArtifact = DefaultOseeArtifact.get();
- if (defaultArtifact != null) {
- artifactFileInfo =
- new HttpArtifactFileInfo(defaultArtifact.getFirst(), null, defaultArtifact.getSecond());
- }
- } else {
- artifactFileInfo = new HttpArtifactFileInfo(request);
- }
-
- String uri = null;
- if (artifactFileInfo != null) {
- if (artifactFileInfo.isBranchNameValid()) {
- uri = ArtifactUtil.getUri(artifactFileInfo.getGuid(), artifactFileInfo.getBranchName());
- } else {
- uri = ArtifactUtil.getUri(artifactFileInfo.getGuid(), artifactFileInfo.getId());
- }
- }
- handleArtifactUri(locatorManager, resourceManager, request.getQueryString(), uri, response);
- } catch (NumberFormatException ex) {
- handleError(response, HttpServletResponse.SC_BAD_REQUEST,
- String.format("Invalid Branch Id: [%s]", request.getQueryString()), ex);
- } catch (Exception ex) {
- handleError(response, HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
- String.format("Unable to acquire resource: [%s]", request.getQueryString()), ex);
- } finally {
- response.flushBuffer();
- }
- }
-
- public static void handleArtifactUri(IResourceLocatorManager locatorManager, IResourceManager resourceManager, String request, String uri, HttpServletResponse response) throws OseeCoreException {
- boolean wasProcessed = false;
- if (Strings.isValid(uri)) {
- IResourceLocator locator = locatorManager.getResourceLocator(uri);
- Options options = new Options();
- options.put(StandardOptions.DecompressOnAquire.name(), true);
- IResource resource = resourceManager.acquire(locator, options);
-
- if (resource != null) {
- wasProcessed = true;
-
- InputStream inputStream = null;
- try {
- inputStream = resource.getContent();
-
- response.setStatus(HttpServletResponse.SC_OK);
- response.setContentLength(inputStream.available());
- response.setCharacterEncoding("ISO-8859-1");
- String mimeType = HttpURLConnection.guessContentTypeFromStream(inputStream);
- if (mimeType == null) {
- mimeType = HttpURLConnection.guessContentTypeFromName(resource.getLocation().toString());
- if (mimeType == null) {
- mimeType = "application/*";
- }
- }
- response.setContentType(mimeType);
- if (!mimeType.equals("text/html")) {
- response.setHeader("Content-Disposition", "attachment; filename=" + resource.getName());
- }
- Lib.inputStreamToOutputStream(inputStream, response.getOutputStream());
- response.flushBuffer();
- } catch (IOException ex) {
- OseeExceptions.wrapAndThrow(ex);
- } finally {
- Lib.close(inputStream);
- }
- }
- }
- if (!wasProcessed) {
- response.setStatus(HttpServletResponse.SC_NOT_FOUND);
- response.setContentType("text/plain");
- try {
- response.getWriter().write(String.format("Unable to find resource: [%s]", request));
- } catch (IOException ex) {
- OseeExceptions.wrapAndThrow(ex);
- }
- }
- }
-
- private void handleError(HttpServletResponse response, int status, String message, Throwable ex) throws IOException {
- response.setStatus(status);
- response.setContentType("text/plain");
- OseeLog.log(Activator.class, Level.SEVERE, message, ex);
- response.getWriter().write(Lib.exceptionToString(ex));
- }
-}
+/*******************************************************************************
+ * 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.manager.servlet;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.HttpURLConnection;
+import java.util.logging.Level;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.core.exception.OseeExceptions;
+import org.eclipse.osee.framework.core.server.UnsecuredOseeHttpServlet;
+import org.eclipse.osee.framework.jdk.core.type.Pair;
+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.manager.servlet.data.ArtifactUtil;
+import org.eclipse.osee.framework.manager.servlet.data.DefaultOseeArtifact;
+import org.eclipse.osee.framework.manager.servlet.data.HttpArtifactFileInfo;
+import org.eclipse.osee.framework.manager.servlet.internal.Activator;
+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;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class ArtifactFileServlet extends UnsecuredOseeHttpServlet {
+
+ private static final long serialVersionUID = -6334080268467740905L;
+
+ private final IResourceLocatorManager locatorManager;
+ private final IResourceManager resourceManager;
+
+ public ArtifactFileServlet(IResourceLocatorManager locatorManager, IResourceManager resourceManager) {
+ super();
+ this.locatorManager = locatorManager;
+ this.resourceManager = resourceManager;
+ }
+
+ @Override
+ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
+ try {
+ HttpArtifactFileInfo artifactFileInfo = null;
+
+ String servletPath = request.getServletPath();
+ // System.out.println("servletPath: " + servletPath);
+ if (!Strings.isValid(servletPath) || "/".equals(servletPath) || "/index".equals(servletPath)) {
+ // Enumeration<?> enumeration = request.getHeaderNames();
+ // while (enumeration.hasMoreElements()) {
+ // String headerField = (String) enumeration.nextElement();
+ // String value = request.getHeader(headerField);
+ // System.out.println(String.format("%s: %s", headerField, value));
+ // }
+
+ Pair<String, String> defaultArtifact = DefaultOseeArtifact.get();
+ if (defaultArtifact != null) {
+ artifactFileInfo =
+ new HttpArtifactFileInfo(defaultArtifact.getFirst(), null, defaultArtifact.getSecond());
+ }
+ } else {
+ artifactFileInfo = new HttpArtifactFileInfo(request);
+ }
+
+ String uri = null;
+ if (artifactFileInfo != null) {
+ if (artifactFileInfo.isBranchNameValid()) {
+ uri = ArtifactUtil.getUri(artifactFileInfo.getGuid(), artifactFileInfo.getBranchName());
+ } else {
+ uri = ArtifactUtil.getUri(artifactFileInfo.getGuid(), artifactFileInfo.getId());
+ }
+ }
+ handleArtifactUri(locatorManager, resourceManager, request.getQueryString(), uri, response);
+ } catch (NumberFormatException ex) {
+ handleError(response, HttpServletResponse.SC_BAD_REQUEST,
+ String.format("Invalid Branch Id: [%s]", request.getQueryString()), ex);
+ } catch (Exception ex) {
+ handleError(response, HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
+ String.format("Unable to acquire resource: [%s]", request.getQueryString()), ex);
+ } finally {
+ response.flushBuffer();
+ }
+ }
+
+ public static void handleArtifactUri(IResourceLocatorManager locatorManager, IResourceManager resourceManager, String request, String uri, HttpServletResponse response) throws OseeCoreException {
+ boolean wasProcessed = false;
+ if (Strings.isValid(uri)) {
+ IResourceLocator locator = locatorManager.getResourceLocator(uri);
+ Options options = new Options();
+ options.put(StandardOptions.DecompressOnAquire.name(), true);
+ IResource resource = resourceManager.acquire(locator, options);
+
+ if (resource != null) {
+ wasProcessed = true;
+
+ InputStream inputStream = null;
+ try {
+ inputStream = resource.getContent();
+
+ response.setStatus(HttpServletResponse.SC_OK);
+ response.setContentLength(inputStream.available());
+ response.setCharacterEncoding("ISO-8859-1");
+ String mimeType = HttpURLConnection.guessContentTypeFromStream(inputStream);
+ if (mimeType == null) {
+ mimeType = HttpURLConnection.guessContentTypeFromName(resource.getLocation().toString());
+ if (mimeType == null) {
+ mimeType = "application/*";
+ }
+ }
+ response.setContentType(mimeType);
+ if (!mimeType.equals("text/html")) {
+ response.setHeader("Content-Disposition", "attachment; filename=" + resource.getName());
+ }
+ Lib.inputStreamToOutputStream(inputStream, response.getOutputStream());
+ response.flushBuffer();
+ } catch (IOException ex) {
+ OseeExceptions.wrapAndThrow(ex);
+ } finally {
+ Lib.close(inputStream);
+ }
+ }
+ }
+ if (!wasProcessed) {
+ response.setStatus(HttpServletResponse.SC_NOT_FOUND);
+ response.setContentType("text/plain");
+ try {
+ response.getWriter().write(String.format("Unable to find resource: [%s]", request));
+ } catch (IOException ex) {
+ OseeExceptions.wrapAndThrow(ex);
+ }
+ }
+ }
+
+ private void handleError(HttpServletResponse response, int status, String message, Throwable ex) throws IOException {
+ response.setStatus(status);
+ response.setContentType("text/plain");
+ OseeLog.log(Activator.class, Level.SEVERE, message, ex);
+ response.getWriter().write(Lib.exceptionToString(ex));
+ }
+}
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/AtsServlet.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/AtsServlet.java
index c116dafc2e8..ad8f10682b3 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/AtsServlet.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/AtsServlet.java
@@ -1,91 +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.manager.servlet;
-
-import java.net.URI;
-import java.net.URL;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.core.server.UnsecuredOseeHttpServlet;
-import org.eclipse.osee.framework.manager.servlet.ats.AtsService;
-import org.eclipse.osee.framework.manager.servlet.ats.AtsXmlMessages;
-import org.eclipse.osee.framework.manager.servlet.ats.AtsXmlSearch;
-import org.eclipse.osee.framework.manager.servlet.ats.XmlMessage;
-import org.eclipse.osee.framework.manager.servlet.data.ServletResourceBridge;
-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;
-
-/**
- * @author Roberto E. Escobar
- */
-public class AtsServlet extends UnsecuredOseeHttpServlet {
-
- private static final long serialVersionUID = -9064467328387640427L;
-
- private final AtsService atsService;
-
- private final IResourceLocatorManager locatorManager;
- private final IResourceManager resourceManager;
-
- public AtsServlet(IResourceLocatorManager locatorManager, IResourceManager resourceManager) {
- super();
- this.locatorManager = locatorManager;
- this.resourceManager = resourceManager;
- AtsService.IResourceProvider provider = new ResourceProvider();
- AtsXmlSearch xmlSearch = new AtsXmlSearch();
- AtsXmlMessages messages = new AtsXmlMessages(new XmlMessage());
- this.atsService = new AtsService(provider, xmlSearch, messages, locatorManager, resourceManager);
- }
-
- @Override
- protected void doGet(HttpServletRequest request, HttpServletResponse response) {
- atsService.sendClient(request, response);
- }
-
- @Override
- protected void doPost(final HttpServletRequest request, HttpServletResponse response) {
- IResourceLocator locator = new IResourceLocator() {
-
- @Override
- public String getRawPath() {
- return request.getRequestURL().toString();
- }
-
- @Override
- public String getProtocol() {
- return request.getProtocol();
- }
-
- @Override
- public URI getLocation() {
- try {
- return new URL(request.getRequestURL().toString()).toURI();
- } catch (Exception ex) {
- return null;
- }
- }
- };
- atsService.performOperation(new ServletResourceBridge(request, locator), response);
- }
-
- private final class ResourceProvider implements AtsService.IResourceProvider {
- @Override
- public IResource getResource(String path) throws OseeCoreException {
- IResourceLocator locator = locatorManager.getResourceLocator(path);
- return resourceManager.acquire(locator, new Options());
- }
- }
-
-}
+/*******************************************************************************
+ * 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.manager.servlet;
+
+import java.net.URI;
+import java.net.URL;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.core.server.UnsecuredOseeHttpServlet;
+import org.eclipse.osee.framework.manager.servlet.ats.AtsService;
+import org.eclipse.osee.framework.manager.servlet.ats.AtsXmlMessages;
+import org.eclipse.osee.framework.manager.servlet.ats.AtsXmlSearch;
+import org.eclipse.osee.framework.manager.servlet.ats.XmlMessage;
+import org.eclipse.osee.framework.manager.servlet.data.ServletResourceBridge;
+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;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class AtsServlet extends UnsecuredOseeHttpServlet {
+
+ private static final long serialVersionUID = -9064467328387640427L;
+
+ private final AtsService atsService;
+
+ private final IResourceLocatorManager locatorManager;
+ private final IResourceManager resourceManager;
+
+ public AtsServlet(IResourceLocatorManager locatorManager, IResourceManager resourceManager) {
+ super();
+ this.locatorManager = locatorManager;
+ this.resourceManager = resourceManager;
+ AtsService.IResourceProvider provider = new ResourceProvider();
+ AtsXmlSearch xmlSearch = new AtsXmlSearch();
+ AtsXmlMessages messages = new AtsXmlMessages(new XmlMessage());
+ this.atsService = new AtsService(provider, xmlSearch, messages, locatorManager, resourceManager);
+ }
+
+ @Override
+ protected void doGet(HttpServletRequest request, HttpServletResponse response) {
+ atsService.sendClient(request, response);
+ }
+
+ @Override
+ protected void doPost(final HttpServletRequest request, HttpServletResponse response) {
+ IResourceLocator locator = new IResourceLocator() {
+
+ @Override
+ public String getRawPath() {
+ return request.getRequestURL().toString();
+ }
+
+ @Override
+ public String getProtocol() {
+ return request.getProtocol();
+ }
+
+ @Override
+ public URI getLocation() {
+ try {
+ return new URL(request.getRequestURL().toString()).toURI();
+ } catch (Exception ex) {
+ return null;
+ }
+ }
+ };
+ atsService.performOperation(new ServletResourceBridge(request, locator), response);
+ }
+
+ private final class ResourceProvider implements AtsService.IResourceProvider {
+ @Override
+ public IResource getResource(String path) throws OseeCoreException {
+ IResourceLocator locator = locatorManager.getResourceLocator(path);
+ return resourceManager.acquire(locator, new Options());
+ }
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/BranchExchangeServlet.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/BranchExchangeServlet.java
index 3c27ec06016..3f3d89ad1bd 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/BranchExchangeServlet.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/BranchExchangeServlet.java
@@ -1,148 +1,148 @@
-/*******************************************************************************
- * 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.manager.servlet;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.logging.Level;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.eclipse.osee.framework.branch.management.IBranchExchange;
-import org.eclipse.osee.framework.core.server.ISessionManager;
-import org.eclipse.osee.framework.core.server.SecureOseeHttpServlet;
-import org.eclipse.osee.framework.jdk.core.util.Lib;
-import org.eclipse.osee.framework.logging.OseeLog;
-import org.eclipse.osee.framework.manager.servlet.data.HttpBranchExchangeInfo;
-import org.eclipse.osee.framework.manager.servlet.internal.Activator;
-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;
-
-/**
- * @author Roberto E. Escobar
- */
-public class BranchExchangeServlet extends SecureOseeHttpServlet {
-
- private static final long serialVersionUID = -1642995618810911260L;
-
- private final IBranchExchange branchExchangeService;
- private final IResourceLocatorManager locatorManager;
- private final IResourceManager resourceManager;
-
- public BranchExchangeServlet(ISessionManager sessionManager, IBranchExchange branchExchangeService, IResourceLocatorManager locatorManager, IResourceManager resourceManager) {
- super(sessionManager);
- this.branchExchangeService = branchExchangeService;
- this.locatorManager = locatorManager;
- this.resourceManager = resourceManager;
- }
-
- @Override
- protected void doPost(HttpServletRequest req, HttpServletResponse response) throws IOException {
- try {
- HttpBranchExchangeInfo exchangeInfo = new HttpBranchExchangeInfo(req);
- switch (exchangeInfo.getFunction()) {
- case exportBranch:
- executeExport(exchangeInfo, response);
- break;
- case importBranch:
- executeImport(exchangeInfo, response);
- break;
- case checkExchange:
- executeCheckExchange(exchangeInfo, response);
- default:
- break;
- }
- } catch (Exception ex) {
- response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
- response.setContentType("text/plain");
- OseeLog.log(Activator.class, Level.SEVERE, String.format("Error processing [%s]", req.toString()), ex);
- response.getWriter().write(Lib.exceptionToString(ex));
- }
- response.getWriter().flush();
- response.getWriter().close();
- }
-
- private void executeCheckExchange(HttpBranchExchangeInfo exchangeInfo, HttpServletResponse response) throws Exception {
- int status = HttpServletResponse.SC_INTERNAL_SERVER_ERROR;
- StringBuffer message = new StringBuffer();
-
- String path = exchangeInfo.getPath();
- IResourceLocator exchangeLocator = locatorManager.getResourceLocator(path);
- IResourceLocator verifyLocator = branchExchangeService.checkIntegrity(exchangeLocator);
- status = HttpServletResponse.SC_ACCEPTED;
- message.append(String.format("Verification at: [%s]", verifyLocator.getLocation().toASCIIString()));
-
- response.setStatus(status);
- response.setContentType("text/plain");
- response.getWriter().write(message.toString());
- }
-
- private void executeExport(HttpBranchExchangeInfo exchangeInfo, HttpServletResponse response) throws Exception {
- int status = HttpServletResponse.SC_INTERNAL_SERVER_ERROR;
- StringBuffer message = new StringBuffer();
- IResourceLocator exchangeLocator =
- branchExchangeService.exportBranch(exchangeInfo.getExchangeFileName(), exchangeInfo.getOptions(),
- exchangeInfo.getSelectedBranchIds());
- status = HttpServletResponse.SC_ACCEPTED;
- message.append(String.format("Exported: [%s]", exchangeLocator.getLocation().toASCIIString()));
-
- if (exchangeInfo.isSendExportFile()) {
- InputStream exportFileStream = null;
- try {
- IResource resource = resourceManager.acquire(exchangeLocator, new Options());
- exportFileStream = resource.getContent();
- response.setStatus(HttpServletResponse.SC_OK);
- response.setContentLength(exportFileStream.available());
- response.setCharacterEncoding("ISO-8859-1");
- response.setContentType("application/zip");
- response.setHeader("Content-Disposition", "attachment; filename=" + resource.getName());
- Lib.inputStreamToOutputStream(exportFileStream, response.getOutputStream());
- } finally {
- if (exportFileStream != null) {
- exportFileStream.close();
- }
- }
- }
-
- if (exchangeInfo.isDeleteExportFile()) {
- int deleteResult = resourceManager.delete(exchangeLocator);
- if (deleteResult == IResourceManager.OK) {
- status = HttpServletResponse.SC_ACCEPTED;
- } else {
- status = HttpServletResponse.SC_INTERNAL_SERVER_ERROR;
- message.append(String.format("Error during deletion of: [%s]",
- exchangeLocator.getLocation().toASCIIString()));
- }
- }
- response.setStatus(status);
- response.setContentType("text/plain");
- response.getWriter().write(message.toString());
- }
-
- private void executeImport(HttpBranchExchangeInfo exchangeInfo, HttpServletResponse response) throws Exception {
- IResourceLocator locator = locatorManager.getResourceLocator(exchangeInfo.getPath());
- branchExchangeService.importBranch(locator, exchangeInfo.getOptions(), exchangeInfo.getSelectedBranchIds());
-
- response.setStatus(HttpServletResponse.SC_ACCEPTED);
- response.setContentType("text/plain");
- response.getWriter().write(String.format("Successfully imported: [%s]", exchangeInfo.getPath()));
- }
-
- @Override
- protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- super.doGet(req, resp);
- // Get available export files.
- // Get export file metadata for options.
- }
-}
+/*******************************************************************************
+ * 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.manager.servlet;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.logging.Level;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.eclipse.osee.framework.branch.management.IBranchExchange;
+import org.eclipse.osee.framework.core.server.ISessionManager;
+import org.eclipse.osee.framework.core.server.SecureOseeHttpServlet;
+import org.eclipse.osee.framework.jdk.core.util.Lib;
+import org.eclipse.osee.framework.logging.OseeLog;
+import org.eclipse.osee.framework.manager.servlet.data.HttpBranchExchangeInfo;
+import org.eclipse.osee.framework.manager.servlet.internal.Activator;
+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;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class BranchExchangeServlet extends SecureOseeHttpServlet {
+
+ private static final long serialVersionUID = -1642995618810911260L;
+
+ private final IBranchExchange branchExchangeService;
+ private final IResourceLocatorManager locatorManager;
+ private final IResourceManager resourceManager;
+
+ public BranchExchangeServlet(ISessionManager sessionManager, IBranchExchange branchExchangeService, IResourceLocatorManager locatorManager, IResourceManager resourceManager) {
+ super(sessionManager);
+ this.branchExchangeService = branchExchangeService;
+ this.locatorManager = locatorManager;
+ this.resourceManager = resourceManager;
+ }
+
+ @Override
+ protected void doPost(HttpServletRequest req, HttpServletResponse response) throws IOException {
+ try {
+ HttpBranchExchangeInfo exchangeInfo = new HttpBranchExchangeInfo(req);
+ switch (exchangeInfo.getFunction()) {
+ case exportBranch:
+ executeExport(exchangeInfo, response);
+ break;
+ case importBranch:
+ executeImport(exchangeInfo, response);
+ break;
+ case checkExchange:
+ executeCheckExchange(exchangeInfo, response);
+ default:
+ break;
+ }
+ } catch (Exception ex) {
+ response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
+ response.setContentType("text/plain");
+ OseeLog.log(Activator.class, Level.SEVERE, String.format("Error processing [%s]", req.toString()), ex);
+ response.getWriter().write(Lib.exceptionToString(ex));
+ }
+ response.getWriter().flush();
+ response.getWriter().close();
+ }
+
+ private void executeCheckExchange(HttpBranchExchangeInfo exchangeInfo, HttpServletResponse response) throws Exception {
+ int status = HttpServletResponse.SC_INTERNAL_SERVER_ERROR;
+ StringBuffer message = new StringBuffer();
+
+ String path = exchangeInfo.getPath();
+ IResourceLocator exchangeLocator = locatorManager.getResourceLocator(path);
+ IResourceLocator verifyLocator = branchExchangeService.checkIntegrity(exchangeLocator);
+ status = HttpServletResponse.SC_ACCEPTED;
+ message.append(String.format("Verification at: [%s]", verifyLocator.getLocation().toASCIIString()));
+
+ response.setStatus(status);
+ response.setContentType("text/plain");
+ response.getWriter().write(message.toString());
+ }
+
+ private void executeExport(HttpBranchExchangeInfo exchangeInfo, HttpServletResponse response) throws Exception {
+ int status = HttpServletResponse.SC_INTERNAL_SERVER_ERROR;
+ StringBuffer message = new StringBuffer();
+ IResourceLocator exchangeLocator =
+ branchExchangeService.exportBranch(exchangeInfo.getExchangeFileName(), exchangeInfo.getOptions(),
+ exchangeInfo.getSelectedBranchIds());
+ status = HttpServletResponse.SC_ACCEPTED;
+ message.append(String.format("Exported: [%s]", exchangeLocator.getLocation().toASCIIString()));
+
+ if (exchangeInfo.isSendExportFile()) {
+ InputStream exportFileStream = null;
+ try {
+ IResource resource = resourceManager.acquire(exchangeLocator, new Options());
+ exportFileStream = resource.getContent();
+ response.setStatus(HttpServletResponse.SC_OK);
+ response.setContentLength(exportFileStream.available());
+ response.setCharacterEncoding("ISO-8859-1");
+ response.setContentType("application/zip");
+ response.setHeader("Content-Disposition", "attachment; filename=" + resource.getName());
+ Lib.inputStreamToOutputStream(exportFileStream, response.getOutputStream());
+ } finally {
+ if (exportFileStream != null) {
+ exportFileStream.close();
+ }
+ }
+ }
+
+ if (exchangeInfo.isDeleteExportFile()) {
+ int deleteResult = resourceManager.delete(exchangeLocator);
+ if (deleteResult == IResourceManager.OK) {
+ status = HttpServletResponse.SC_ACCEPTED;
+ } else {
+ status = HttpServletResponse.SC_INTERNAL_SERVER_ERROR;
+ message.append(String.format("Error during deletion of: [%s]",
+ exchangeLocator.getLocation().toASCIIString()));
+ }
+ }
+ response.setStatus(status);
+ response.setContentType("text/plain");
+ response.getWriter().write(message.toString());
+ }
+
+ private void executeImport(HttpBranchExchangeInfo exchangeInfo, HttpServletResponse response) throws Exception {
+ IResourceLocator locator = locatorManager.getResourceLocator(exchangeInfo.getPath());
+ branchExchangeService.importBranch(locator, exchangeInfo.getOptions(), exchangeInfo.getSelectedBranchIds());
+
+ response.setStatus(HttpServletResponse.SC_ACCEPTED);
+ response.setContentType("text/plain");
+ response.getWriter().write(String.format("Successfully imported: [%s]", exchangeInfo.getPath()));
+ }
+
+ @Override
+ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+ super.doGet(req, resp);
+ // Get available export files.
+ // Get export file metadata for options.
+ }
+}
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/BranchManagerServlet.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/BranchManagerServlet.java
index 6455923f7ca..b6abf5742c6 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/BranchManagerServlet.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/BranchManagerServlet.java
@@ -1,97 +1,97 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.osee.framework.manager.servlet;
-
-import java.io.IOException;
-import java.net.HttpURLConnection;
-import java.util.logging.Level;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.eclipse.osee.framework.branch.management.IOseeBranchService;
-import org.eclipse.osee.framework.core.enums.Function;
-import org.eclipse.osee.framework.core.operation.IOperation;
-import org.eclipse.osee.framework.core.operation.LogProgressMonitor;
-import org.eclipse.osee.framework.core.operation.Operations;
-import org.eclipse.osee.framework.core.server.ISessionManager;
-import org.eclipse.osee.framework.core.server.SecureOseeHttpServlet;
-import org.eclipse.osee.framework.core.translation.IDataTranslationService;
-import org.eclipse.osee.framework.jdk.core.util.Lib;
-import org.eclipse.osee.framework.logging.OseeLog;
-import org.eclipse.osee.framework.manager.servlet.function.ChangeBranchArchiveStateFunction;
-import org.eclipse.osee.framework.manager.servlet.function.ChangeBranchStateFunction;
-import org.eclipse.osee.framework.manager.servlet.function.ChangeBranchTypeFunction;
-import org.eclipse.osee.framework.manager.servlet.function.ChangeReportFunction;
-import org.eclipse.osee.framework.manager.servlet.function.CreateBranchFunction;
-import org.eclipse.osee.framework.manager.servlet.function.CreateCommitFunction;
-import org.eclipse.osee.framework.manager.servlet.function.PurgeBranchFunction;
-import org.eclipse.osee.framework.manager.servlet.internal.Activator;
-
-/**
- * @author Andrew M Finkbeiner
- */
-public class BranchManagerServlet extends SecureOseeHttpServlet {
-
- private static final long serialVersionUID = 226986283540461526L;
-
- private final IOseeBranchService branchService;
- private final IDataTranslationService translationService;
-
- public BranchManagerServlet(ISessionManager sessionManager, IOseeBranchService branchService, IDataTranslationService translationService) {
- super(sessionManager);
- this.branchService = branchService;
- this.translationService = translationService;
- }
-
- @Override
- protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- try {
- String rawFunction = req.getParameter("function");
- Function function = Function.fromString(rawFunction);
- IOperation op = null;
- switch (function) {
- case BRANCH_COMMIT:
- op = new CreateCommitFunction(req, resp, branchService, translationService);
- break;
- case CREATE_BRANCH:
- op = new CreateBranchFunction(req, resp, branchService, translationService);
- break;
- case CHANGE_REPORT:
- op = new ChangeReportFunction(req, resp, branchService, translationService);
- break;
- case PURGE_BRANCH:
- op = new PurgeBranchFunction(req, resp, branchService, translationService);
- break;
- case UPDATE_BRANCH_TYPE:
- op = new ChangeBranchTypeFunction(req, resp, branchService, translationService);
- break;
- case UPDATE_BRANCH_STATE:
- op = new ChangeBranchStateFunction(req, resp, branchService, translationService);
- break;
- case UPDATE_ARCHIVE_STATE:
- op = new ChangeBranchArchiveStateFunction(req, resp, branchService, translationService);
- break;
- default:
- throw new UnsupportedOperationException();
- }
- Operations.executeWorkAndCheckStatus(op, new LogProgressMonitor(), -1.0);
- } catch (Exception ex) {
- OseeLog.log(Activator.class, Level.SEVERE,
- String.format("Branch servlet request error: [%s]", req.toString()), ex);
- resp.setStatus(HttpURLConnection.HTTP_INTERNAL_ERROR);
- resp.setContentType("text/plain");
- resp.getWriter().write(Lib.exceptionToString(ex));
- resp.getWriter().flush();
- resp.getWriter().close();
- }
- }
-}
+/*******************************************************************************
+ * 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.manager.servlet;
+
+import java.io.IOException;
+import java.net.HttpURLConnection;
+import java.util.logging.Level;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.eclipse.osee.framework.branch.management.IOseeBranchService;
+import org.eclipse.osee.framework.core.enums.Function;
+import org.eclipse.osee.framework.core.operation.IOperation;
+import org.eclipse.osee.framework.core.operation.LogProgressMonitor;
+import org.eclipse.osee.framework.core.operation.Operations;
+import org.eclipse.osee.framework.core.server.ISessionManager;
+import org.eclipse.osee.framework.core.server.SecureOseeHttpServlet;
+import org.eclipse.osee.framework.core.translation.IDataTranslationService;
+import org.eclipse.osee.framework.jdk.core.util.Lib;
+import org.eclipse.osee.framework.logging.OseeLog;
+import org.eclipse.osee.framework.manager.servlet.function.ChangeBranchArchiveStateFunction;
+import org.eclipse.osee.framework.manager.servlet.function.ChangeBranchStateFunction;
+import org.eclipse.osee.framework.manager.servlet.function.ChangeBranchTypeFunction;
+import org.eclipse.osee.framework.manager.servlet.function.ChangeReportFunction;
+import org.eclipse.osee.framework.manager.servlet.function.CreateBranchFunction;
+import org.eclipse.osee.framework.manager.servlet.function.CreateCommitFunction;
+import org.eclipse.osee.framework.manager.servlet.function.PurgeBranchFunction;
+import org.eclipse.osee.framework.manager.servlet.internal.Activator;
+
+/**
+ * @author Andrew M Finkbeiner
+ */
+public class BranchManagerServlet extends SecureOseeHttpServlet {
+
+ private static final long serialVersionUID = 226986283540461526L;
+
+ private final IOseeBranchService branchService;
+ private final IDataTranslationService translationService;
+
+ public BranchManagerServlet(ISessionManager sessionManager, IOseeBranchService branchService, IDataTranslationService translationService) {
+ super(sessionManager);
+ this.branchService = branchService;
+ this.translationService = translationService;
+ }
+
+ @Override
+ protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+ try {
+ String rawFunction = req.getParameter("function");
+ Function function = Function.fromString(rawFunction);
+ IOperation op = null;
+ switch (function) {
+ case BRANCH_COMMIT:
+ op = new CreateCommitFunction(req, resp, branchService, translationService);
+ break;
+ case CREATE_BRANCH:
+ op = new CreateBranchFunction(req, resp, branchService, translationService);
+ break;
+ case CHANGE_REPORT:
+ op = new ChangeReportFunction(req, resp, branchService, translationService);
+ break;
+ case PURGE_BRANCH:
+ op = new PurgeBranchFunction(req, resp, branchService, translationService);
+ break;
+ case UPDATE_BRANCH_TYPE:
+ op = new ChangeBranchTypeFunction(req, resp, branchService, translationService);
+ break;
+ case UPDATE_BRANCH_STATE:
+ op = new ChangeBranchStateFunction(req, resp, branchService, translationService);
+ break;
+ case UPDATE_ARCHIVE_STATE:
+ op = new ChangeBranchArchiveStateFunction(req, resp, branchService, translationService);
+ break;
+ default:
+ throw new UnsupportedOperationException();
+ }
+ Operations.executeWorkAndCheckStatus(op, new LogProgressMonitor(), -1.0);
+ } catch (Exception ex) {
+ OseeLog.log(Activator.class, Level.SEVERE,
+ String.format("Branch servlet request error: [%s]", req.toString()), ex);
+ resp.setStatus(HttpURLConnection.HTTP_INTERNAL_ERROR);
+ resp.setContentType("text/plain");
+ resp.getWriter().write(Lib.exceptionToString(ex));
+ resp.getWriter().flush();
+ resp.getWriter().close();
+ }
+ }
+}
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ClientInstallInfo.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ClientInstallInfo.java
index 8fe952934bd..a2a8aa9dbcf 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ClientInstallInfo.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ClientInstallInfo.java
@@ -1,123 +1,123 @@
-/*******************************************************************************
- * 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.manager.servlet;
-
-import java.io.StringReader;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.jdk.core.util.io.xml.AbstractSaxHandler;
-import org.xml.sax.Attributes;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.XMLReader;
-import org.xml.sax.helpers.XMLReaderFactory;
-
-/**
- * @author Roberto E. Escobar
- */
-class ClientInstallInfo {
- private final static String XML_HEADER = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
- private final static String EMPTY_STRING = "";
-
- private final String name;
- private String os;
- private boolean isActive;
- private String execPath;
- private String comment;
-
- private ClientInstallInfo(String name) {
- this.name = name;
- this.os = null;
- this.execPath = EMPTY_STRING;
- this.isActive = false;
- this.comment = EMPTY_STRING;
- }
-
- public String getName() {
- return name;
- }
-
- public String getOs() {
- return os;
- }
-
- public String getExecPath() {
- return execPath;
- }
-
- public boolean isActive() {
- return this.isActive;
- }
-
- public String getComment() {
- return comment;
- }
-
- @Override
- public String toString() {
- return String.format("name:[%s] os:[%s] isActive:[%s] comment:[%s] location:[%s]", name, os, isActive, comment,
- execPath);
- }
-
- public static ClientInstallInfo createFromXml(String name, String data) throws OseeCoreException {
- ClientInstallInfo info = new ClientInstallInfo(name);
- try {
- if (!data.startsWith(XML_HEADER)) {
- data = XML_HEADER + data;
- }
- XMLReader reader = XMLReaderFactory.createXMLReader();
- reader.setContentHandler(new Parser(info));
- reader.parse(new InputSource(new StringReader(data)));
- } catch (Exception ex) {
- throw new OseeCoreException(String.format("Error parsing data for client install: [%s]", name), ex);
- }
- return info;
- }
-
- private final static class Parser extends AbstractSaxHandler {
- private final ClientInstallInfo info;
-
- private Parser(ClientInstallInfo info) {
- this.info = info;
- }
-
- @Override
- public void startElementFound(String uri, String localName, String name, Attributes attributes) throws SAXException {
- if (localName.equalsIgnoreCase("install")) {
- info.os = attributes.getValue("os");
- if (info.os != null) {
- info.os = info.os.toLowerCase();
- } else {
- info.os = EMPTY_STRING;
- }
- info.isActive = Boolean.valueOf(attributes.getValue("isActive"));
- }
- }
-
- @Override
- public void endElementFound(String uri, String localName, String name) throws SAXException {
- try {
- if (localName.equalsIgnoreCase("location")) {
- info.execPath = getContents();
- if (info.execPath == null) {
- info.execPath = EMPTY_STRING;
- }
- } else if (localName.equalsIgnoreCase("comment")) {
- info.comment = getContents();
- if (info.comment == null) {
- info.comment = EMPTY_STRING;
- }
- }
- } catch (Exception ex) {
- throw new IllegalStateException(ex);
- }
- }
- }
-}
+/*******************************************************************************
+ * 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.manager.servlet;
+
+import java.io.StringReader;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.jdk.core.util.io.xml.AbstractSaxHandler;
+import org.xml.sax.Attributes;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+import org.xml.sax.XMLReader;
+import org.xml.sax.helpers.XMLReaderFactory;
+
+/**
+ * @author Roberto E. Escobar
+ */
+class ClientInstallInfo {
+ private final static String XML_HEADER = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
+ private final static String EMPTY_STRING = "";
+
+ private final String name;
+ private String os;
+ private boolean isActive;
+ private String execPath;
+ private String comment;
+
+ private ClientInstallInfo(String name) {
+ this.name = name;
+ this.os = null;
+ this.execPath = EMPTY_STRING;
+ this.isActive = false;
+ this.comment = EMPTY_STRING;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public String getOs() {
+ return os;
+ }
+
+ public String getExecPath() {
+ return execPath;
+ }
+
+ public boolean isActive() {
+ return this.isActive;
+ }
+
+ public String getComment() {
+ return comment;
+ }
+
+ @Override
+ public String toString() {
+ return String.format("name:[%s] os:[%s] isActive:[%s] comment:[%s] location:[%s]", name, os, isActive, comment,
+ execPath);
+ }
+
+ public static ClientInstallInfo createFromXml(String name, String data) throws OseeCoreException {
+ ClientInstallInfo info = new ClientInstallInfo(name);
+ try {
+ if (!data.startsWith(XML_HEADER)) {
+ data = XML_HEADER + data;
+ }
+ XMLReader reader = XMLReaderFactory.createXMLReader();
+ reader.setContentHandler(new Parser(info));
+ reader.parse(new InputSource(new StringReader(data)));
+ } catch (Exception ex) {
+ throw new OseeCoreException(String.format("Error parsing data for client install: [%s]", name), ex);
+ }
+ return info;
+ }
+
+ private final static class Parser extends AbstractSaxHandler {
+ private final ClientInstallInfo info;
+
+ private Parser(ClientInstallInfo info) {
+ this.info = info;
+ }
+
+ @Override
+ public void startElementFound(String uri, String localName, String name, Attributes attributes) throws SAXException {
+ if (localName.equalsIgnoreCase("install")) {
+ info.os = attributes.getValue("os");
+ if (info.os != null) {
+ info.os = info.os.toLowerCase();
+ } else {
+ info.os = EMPTY_STRING;
+ }
+ info.isActive = Boolean.valueOf(attributes.getValue("isActive"));
+ }
+ }
+
+ @Override
+ public void endElementFound(String uri, String localName, String name) throws SAXException {
+ try {
+ if (localName.equalsIgnoreCase("location")) {
+ info.execPath = getContents();
+ if (info.execPath == null) {
+ info.execPath = EMPTY_STRING;
+ }
+ } else if (localName.equalsIgnoreCase("comment")) {
+ info.comment = getContents();
+ if (info.comment == null) {
+ info.comment = EMPTY_STRING;
+ }
+ }
+ } catch (Exception ex) {
+ throw new IllegalStateException(ex);
+ }
+ }
+ }
+}
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ClientInstallInfoServlet.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ClientInstallInfoServlet.java
index f85f90b6db0..084312fbece 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ClientInstallInfoServlet.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ClientInstallInfoServlet.java
@@ -1,131 +1,131 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.framework.manager.servlet;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.logging.Level;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.core.server.UnsecuredOseeHttpServlet;
-import org.eclipse.osee.framework.database.core.ConnectionHandler;
-import org.eclipse.osee.framework.database.core.IOseeStatement;
-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.manager.servlet.internal.Activator;
-
-/**
- * Sends a page with links to OSEE client install locations.
- * <p>
- * Client Install information are entries in the OSEE Info Table:
- * <ul>
- * <li><b>osee_key:</b> uniquely identifies this install record <br/>
- * <b>NOTE:</b> must with prefixed with "<b><i>osee.install.</i></b>"</li>
- * <li><b>osee_value:</b> contains client install information
- *
- * <pre>
- * Data for this field is formatted as follows:
- * &lt;client&gt;
- * &lt;install os=&quot;Windows&quot; isActive=&quot;true&quot; /&gt;
- * &lt;comment&gt; This is a shared installation &lt;/comment&gt;
- * &lt;location&gt;\\server\\OSEE\\Shared\\osee.exe&lt;/location&gt;
- * &lt;client&gt;
- * </pre>
- *
- * </li>
- * </ul>
- * <code>
- * </p>
- *
- * @author Roberto E. Escobar
- */
-public class ClientInstallInfoServlet extends UnsecuredOseeHttpServlet {
-
- private static final long serialVersionUID = -4089363221030046759L;
-
- private static final String QUERY = "Select OSEE_KEY, OSEE_VALUE FROM osee_info where OSEE_KEY LIKE ?";
-
- private enum CommandType {
- exec_path;
- }
-
- @Override
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- try {
- String cmd = request.getParameter("cmd");
- String key = request.getParameter("key");
- boolean isCloseAllowed = Boolean.valueOf(request.getParameter("close"));
- boolean isPromptAllowed = Boolean.valueOf(request.getParameter("prompt"));
- if (Strings.isValid(cmd)) {
- CommandType cmdType = CommandType.valueOf(cmd);
- switch (cmdType) {
- case exec_path:
- if (!Strings.isValid(key)) {
- key = "osee.install.%";
- }
- if (key.startsWith("osee.install.")) {
- List<ClientInstallInfo> infos = getInfoEntry(key);
- response.setStatus(HttpServletResponse.SC_OK);
- response.setContentType("text/html");
- if (infos.isEmpty()) {
- response.getWriter().write("<html><body>No installations found</body></html>");
- } else {
- String html = InstallLinkPageGenerator.generate(infos, isCloseAllowed, isPromptAllowed);
- response.getWriter().print(html);
- }
- } else {
- response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
- response.setContentType("text/plain");
- response.getWriter().write("key parameter was invalid. must start with: osee.install.");
- }
- break;
- default:
- response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
- break;
- }
- } else {
- response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
- response.setContentType("text/plain");
- response.getWriter().write(
- String.format("cmd parameter was invalid. use any of the following: %s",
- Arrays.deepToString(CommandType.values())));
- }
- } catch (Exception ex) {
- OseeLog.log(Activator.class, Level.SEVERE,
- String.format("Failed to process client install info request [%s]", request.toString()), ex);
- response.setContentType("text/plain");
- response.getWriter().write(Lib.exceptionToString(ex));
- }
- response.getWriter().flush();
- response.getWriter().close();
- }
-
- private List<ClientInstallInfo> getInfoEntry(String key) throws OseeCoreException {
- List<ClientInstallInfo> infos = new ArrayList<ClientInstallInfo>();
- IOseeStatement chStmt = ConnectionHandler.getStatement();
- try {
- chStmt.runPreparedQuery(QUERY, key);
- while (chStmt.next()) {
- String name = chStmt.getString("osee_key");
- String data = chStmt.getString("osee_value");
- infos.add(ClientInstallInfo.createFromXml(name, data));
- }
- } finally {
- chStmt.close();
- }
- return infos;
- }
-}
+/*******************************************************************************
+ * 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.manager.servlet;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.logging.Level;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.core.server.UnsecuredOseeHttpServlet;
+import org.eclipse.osee.framework.database.core.ConnectionHandler;
+import org.eclipse.osee.framework.database.core.IOseeStatement;
+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.manager.servlet.internal.Activator;
+
+/**
+ * Sends a page with links to OSEE client install locations.
+ * <p>
+ * Client Install information are entries in the OSEE Info Table:
+ * <ul>
+ * <li><b>osee_key:</b> uniquely identifies this install record <br/>
+ * <b>NOTE:</b> must with prefixed with "<b><i>osee.install.</i></b>"</li>
+ * <li><b>osee_value:</b> contains client install information
+ *
+ * <pre>
+ * Data for this field is formatted as follows:
+ * &lt;client&gt;
+ * &lt;install os=&quot;Windows&quot; isActive=&quot;true&quot; /&gt;
+ * &lt;comment&gt; This is a shared installation &lt;/comment&gt;
+ * &lt;location&gt;\\server\\OSEE\\Shared\\osee.exe&lt;/location&gt;
+ * &lt;client&gt;
+ * </pre>
+ *
+ * </li>
+ * </ul>
+ * <code>
+ * </p>
+ *
+ * @author Roberto E. Escobar
+ */
+public class ClientInstallInfoServlet extends UnsecuredOseeHttpServlet {
+
+ private static final long serialVersionUID = -4089363221030046759L;
+
+ private static final String QUERY = "Select OSEE_KEY, OSEE_VALUE FROM osee_info where OSEE_KEY LIKE ?";
+
+ private enum CommandType {
+ exec_path;
+ }
+
+ @Override
+ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ try {
+ String cmd = request.getParameter("cmd");
+ String key = request.getParameter("key");
+ boolean isCloseAllowed = Boolean.valueOf(request.getParameter("close"));
+ boolean isPromptAllowed = Boolean.valueOf(request.getParameter("prompt"));
+ if (Strings.isValid(cmd)) {
+ CommandType cmdType = CommandType.valueOf(cmd);
+ switch (cmdType) {
+ case exec_path:
+ if (!Strings.isValid(key)) {
+ key = "osee.install.%";
+ }
+ if (key.startsWith("osee.install.")) {
+ List<ClientInstallInfo> infos = getInfoEntry(key);
+ response.setStatus(HttpServletResponse.SC_OK);
+ response.setContentType("text/html");
+ if (infos.isEmpty()) {
+ response.getWriter().write("<html><body>No installations found</body></html>");
+ } else {
+ String html = InstallLinkPageGenerator.generate(infos, isCloseAllowed, isPromptAllowed);
+ response.getWriter().print(html);
+ }
+ } else {
+ response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
+ response.setContentType("text/plain");
+ response.getWriter().write("key parameter was invalid. must start with: osee.install.");
+ }
+ break;
+ default:
+ response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
+ break;
+ }
+ } else {
+ response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
+ response.setContentType("text/plain");
+ response.getWriter().write(
+ String.format("cmd parameter was invalid. use any of the following: %s",
+ Arrays.deepToString(CommandType.values())));
+ }
+ } catch (Exception ex) {
+ OseeLog.log(Activator.class, Level.SEVERE,
+ String.format("Failed to process client install info request [%s]", request.toString()), ex);
+ response.setContentType("text/plain");
+ response.getWriter().write(Lib.exceptionToString(ex));
+ }
+ response.getWriter().flush();
+ response.getWriter().close();
+ }
+
+ private List<ClientInstallInfo> getInfoEntry(String key) throws OseeCoreException {
+ List<ClientInstallInfo> infos = new ArrayList<ClientInstallInfo>();
+ IOseeStatement chStmt = ConnectionHandler.getStatement();
+ try {
+ chStmt.runPreparedQuery(QUERY, key);
+ while (chStmt.next()) {
+ String name = chStmt.getString("osee_key");
+ String data = chStmt.getString("osee_value");
+ infos.add(ClientInstallInfo.createFromXml(name, data));
+ }
+ } finally {
+ chStmt.close();
+ }
+ return infos;
+ }
+}
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ConfigurationServlet.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ConfigurationServlet.java
index 057b73a3493..99d611da5db 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ConfigurationServlet.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ConfigurationServlet.java
@@ -1,127 +1,127 @@
-/*******************************************************************************
- * 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.manager.servlet;
-
-import java.io.BufferedInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.StringWriter;
-import java.net.HttpURLConnection;
-import java.util.logging.Level;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.eclipse.osee.framework.branch.management.IOseeBranchService;
-import org.eclipse.osee.framework.core.datastore.DatastoreInitOperation;
-import org.eclipse.osee.framework.core.datastore.IOseeSchemaProvider;
-import org.eclipse.osee.framework.core.datastore.IOseeSchemaResource;
-import org.eclipse.osee.framework.core.datastore.OseeSchemaProvider;
-import org.eclipse.osee.framework.core.datastore.SchemaCreationOptions;
-import org.eclipse.osee.framework.core.enums.CoreTranslatorId;
-import org.eclipse.osee.framework.core.message.DatastoreInitRequest;
-import org.eclipse.osee.framework.core.operation.IOperation;
-import org.eclipse.osee.framework.core.operation.LogProgressMonitor;
-import org.eclipse.osee.framework.core.operation.Operations;
-import org.eclipse.osee.framework.core.server.IApplicationServerManager;
-import org.eclipse.osee.framework.core.server.UnsecuredOseeHttpServlet;
-import org.eclipse.osee.framework.core.translation.IDataTranslationService;
-import org.eclipse.osee.framework.database.IOseeDatabaseService;
-import org.eclipse.osee.framework.jdk.core.util.Lib;
-import org.eclipse.osee.framework.logging.OseeLog;
-import org.eclipse.osee.framework.manager.servlet.internal.Activator;
-
-/**
- * @author Roberto E. Escobar
- */
-public class ConfigurationServlet extends UnsecuredOseeHttpServlet {
-
- private static final long serialVersionUID = -5421308349950133041L;
-
- private final IDataTranslationService translationService;
- private final IOseeDatabaseService databaseService;
- private final IOseeBranchService branchService;
- private final IApplicationServerManager appServerService;
-
- public ConfigurationServlet(IApplicationServerManager appServerService, IDataTranslationService translationService, IOseeDatabaseService databaseService, IOseeBranchService branchService) {
- this.translationService = translationService;
- this.databaseService = databaseService;
- this.branchService = branchService;
- this.appServerService = appServerService;
- }
-
- @Override
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- String servletPath = request.getServletPath();
- String urlPath = request.getRequestURI().replace(servletPath, "");
- if (urlPath.startsWith("/datastore/schema")) {
- StringWriter writer = new StringWriter();
- IOseeSchemaProvider schemaProvider = new OseeSchemaProvider();
- for (IOseeSchemaResource resource : schemaProvider.getSchemaResources()) {
- InputStream inputStream = null;
- try {
- inputStream = new BufferedInputStream(resource.getContent());
- writer.write(Lib.inputStreamToString(inputStream));
- } catch (Exception ex) {
- OseeLog.log(Activator.class, Level.SEVERE, ex);
- } finally {
- Lib.close(inputStream);
- }
- }
- sendMessage(response, HttpURLConnection.HTTP_OK, writer.toString(), null);
- } else {
- String message = String.format("[%s] not found", request.getRequestURI());
- sendMessage(response, HttpURLConnection.HTTP_NOT_FOUND, message, null);
- }
- }
-
- @Override
- protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- String servletPath = request.getServletPath();
- String urlPath = request.getRequestURI().replace(servletPath, "");
- if (urlPath.startsWith("/datastore/initialize")) {
- try {
- SchemaCreationOptions options = getInitOptions(request);
- IOseeSchemaProvider schemaProvider = new OseeSchemaProvider();
- IOperation operation =
- new DatastoreInitOperation(appServerService, databaseService, branchService, schemaProvider,
- options);
- Operations.executeWorkAndCheckStatus(operation, new LogProgressMonitor(), -1.0);
- } catch (Exception ex) {
- String message = String.format("Datastore Initialization: [%s]\n%s", response.toString(), ex.toString());
- sendMessage(response, HttpURLConnection.HTTP_INTERNAL_ERROR, message, ex);
- }
- } else {
- String message = String.format("[%s] not found", request.getRequestURI());
- sendMessage(response, HttpURLConnection.HTTP_NOT_FOUND, message, null);
- }
- }
-
- private SchemaCreationOptions getInitOptions(HttpServletRequest request) throws Exception {
- DatastoreInitRequest data =
- translationService.convert(request.getInputStream(), CoreTranslatorId.OSEE_DATASTORE_INIT_REQUEST);
-
- SchemaCreationOptions options =
- new SchemaCreationOptions(data.getTableDataSpace(), data.getIndexDataSpace(),
- data.isUseFileSpecifiedSchemas());
- return options;
- }
-
- private void sendMessage(HttpServletResponse response, int status, String message, Throwable ex) throws IOException {
- if (ex != null) {
- OseeLog.log(Activator.class, Level.SEVERE, message, ex);
- }
- response.setStatus(status);
- response.setContentType("text/plain");
- response.getWriter().write(message);
- response.getWriter().flush();
- response.getWriter().close();
- }
-}
+/*******************************************************************************
+ * 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.manager.servlet;
+
+import java.io.BufferedInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.StringWriter;
+import java.net.HttpURLConnection;
+import java.util.logging.Level;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.eclipse.osee.framework.branch.management.IOseeBranchService;
+import org.eclipse.osee.framework.core.datastore.DatastoreInitOperation;
+import org.eclipse.osee.framework.core.datastore.IOseeSchemaProvider;
+import org.eclipse.osee.framework.core.datastore.IOseeSchemaResource;
+import org.eclipse.osee.framework.core.datastore.OseeSchemaProvider;
+import org.eclipse.osee.framework.core.datastore.SchemaCreationOptions;
+import org.eclipse.osee.framework.core.enums.CoreTranslatorId;
+import org.eclipse.osee.framework.core.message.DatastoreInitRequest;
+import org.eclipse.osee.framework.core.operation.IOperation;
+import org.eclipse.osee.framework.core.operation.LogProgressMonitor;
+import org.eclipse.osee.framework.core.operation.Operations;
+import org.eclipse.osee.framework.core.server.IApplicationServerManager;
+import org.eclipse.osee.framework.core.server.UnsecuredOseeHttpServlet;
+import org.eclipse.osee.framework.core.translation.IDataTranslationService;
+import org.eclipse.osee.framework.database.IOseeDatabaseService;
+import org.eclipse.osee.framework.jdk.core.util.Lib;
+import org.eclipse.osee.framework.logging.OseeLog;
+import org.eclipse.osee.framework.manager.servlet.internal.Activator;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class ConfigurationServlet extends UnsecuredOseeHttpServlet {
+
+ private static final long serialVersionUID = -5421308349950133041L;
+
+ private final IDataTranslationService translationService;
+ private final IOseeDatabaseService databaseService;
+ private final IOseeBranchService branchService;
+ private final IApplicationServerManager appServerService;
+
+ public ConfigurationServlet(IApplicationServerManager appServerService, IDataTranslationService translationService, IOseeDatabaseService databaseService, IOseeBranchService branchService) {
+ this.translationService = translationService;
+ this.databaseService = databaseService;
+ this.branchService = branchService;
+ this.appServerService = appServerService;
+ }
+
+ @Override
+ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ String servletPath = request.getServletPath();
+ String urlPath = request.getRequestURI().replace(servletPath, "");
+ if (urlPath.startsWith("/datastore/schema")) {
+ StringWriter writer = new StringWriter();
+ IOseeSchemaProvider schemaProvider = new OseeSchemaProvider();
+ for (IOseeSchemaResource resource : schemaProvider.getSchemaResources()) {
+ InputStream inputStream = null;
+ try {
+ inputStream = new BufferedInputStream(resource.getContent());
+ writer.write(Lib.inputStreamToString(inputStream));
+ } catch (Exception ex) {
+ OseeLog.log(Activator.class, Level.SEVERE, ex);
+ } finally {
+ Lib.close(inputStream);
+ }
+ }
+ sendMessage(response, HttpURLConnection.HTTP_OK, writer.toString(), null);
+ } else {
+ String message = String.format("[%s] not found", request.getRequestURI());
+ sendMessage(response, HttpURLConnection.HTTP_NOT_FOUND, message, null);
+ }
+ }
+
+ @Override
+ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ String servletPath = request.getServletPath();
+ String urlPath = request.getRequestURI().replace(servletPath, "");
+ if (urlPath.startsWith("/datastore/initialize")) {
+ try {
+ SchemaCreationOptions options = getInitOptions(request);
+ IOseeSchemaProvider schemaProvider = new OseeSchemaProvider();
+ IOperation operation =
+ new DatastoreInitOperation(appServerService, databaseService, branchService, schemaProvider,
+ options);
+ Operations.executeWorkAndCheckStatus(operation, new LogProgressMonitor(), -1.0);
+ } catch (Exception ex) {
+ String message = String.format("Datastore Initialization: [%s]\n%s", response.toString(), ex.toString());
+ sendMessage(response, HttpURLConnection.HTTP_INTERNAL_ERROR, message, ex);
+ }
+ } else {
+ String message = String.format("[%s] not found", request.getRequestURI());
+ sendMessage(response, HttpURLConnection.HTTP_NOT_FOUND, message, null);
+ }
+ }
+
+ private SchemaCreationOptions getInitOptions(HttpServletRequest request) throws Exception {
+ DatastoreInitRequest data =
+ translationService.convert(request.getInputStream(), CoreTranslatorId.OSEE_DATASTORE_INIT_REQUEST);
+
+ SchemaCreationOptions options =
+ new SchemaCreationOptions(data.getTableDataSpace(), data.getIndexDataSpace(),
+ data.isUseFileSpecifiedSchemas());
+ return options;
+ }
+
+ private void sendMessage(HttpServletResponse response, int status, String message, Throwable ex) throws IOException {
+ if (ex != null) {
+ OseeLog.log(Activator.class, Level.SEVERE, message, ex);
+ }
+ response.setStatus(status);
+ response.setContentType("text/plain");
+ response.getWriter().write(message);
+ response.getWriter().flush();
+ response.getWriter().close();
+ }
+}
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/DataServlet.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/DataServlet.java
index 9127857377e..5faba1611bc 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/DataServlet.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/DataServlet.java
@@ -8,94 +8,94 @@
* Contributors:
* Boeing - initial API and implementation
*******************************************************************************/
-package org.eclipse.osee.framework.manager.servlet;
-
-import java.io.IOException;
-import java.net.HttpURLConnection;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.logging.Level;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.core.exception.OseeNotFoundException;
-import org.eclipse.osee.framework.core.server.UnsecuredOseeHttpServlet;
-import org.eclipse.osee.framework.core.util.Conditions;
-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.manager.servlet.data.ArtifactUtil;
-import org.eclipse.osee.framework.manager.servlet.internal.Activator;
-import org.eclipse.osee.framework.resource.management.IResourceLocatorManager;
-import org.eclipse.osee.framework.resource.management.IResourceManager;
-
-public class DataServlet extends UnsecuredOseeHttpServlet {
-
- private static final long serialVersionUID = -1399699606153734250L;
-
- private final IResourceLocatorManager locatorManager;
- private final IResourceManager resourceManager;
-
- public DataServlet(IResourceLocatorManager locatorManager, IResourceManager resourceManager) {
- super();
- this.locatorManager = locatorManager;
- this.resourceManager = resourceManager;
- }
-
- @Override
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
- String urlRequest = request.getRequestURI();
- try {
- handleUriRequest(locatorManager, resourceManager, urlRequest, response);
- } catch (OseeCoreException ex) {
- handleError(response, HttpURLConnection.HTTP_INTERNAL_ERROR, "", ex);
- }
- }
-
- private void handleError(HttpServletResponse response, int status, String message, Throwable ex) throws IOException {
- response.setContentType("text/plain");
- OseeLog.log(Activator.class, Level.SEVERE, message, ex);
- response.sendError(status, Lib.exceptionToString(ex));
- }
-
- public static void handleUriRequest(IResourceLocatorManager locatorManager, IResourceManager resourceManager, String urlRequest, HttpServletResponse response) throws OseeCoreException {
- UrlParser parser = new UrlParser();
- parser.parse(urlRequest);
- String branchGuid = parser.getAttribute("branch");
- String artifactGuid = parser.getAttribute("artifact");
- String uri = ArtifactUtil.getUriByGuids(branchGuid, artifactGuid);
- ArtifactFileServlet.handleArtifactUri(locatorManager, resourceManager, urlRequest, uri, response);
- }
-
- private static final class UrlParser {
- private final List<String> contexts;
-
- public UrlParser() {
- this.contexts = new ArrayList<String>();
- }
-
- public void parse(String urlPath) {
- contexts.clear();
- if (Strings.isValid(urlPath)) {
- String[] items = urlPath.split("/");
- for (String item : items) {
- contexts.add(item);
- }
- }
- }
-
- public String getAttribute(String key) throws OseeCoreException {
- Conditions.checkNotNull(key, "attribute");
- int contextCount = contexts.size();
- for (int index = 0; index < contextCount; index++) {
- String context = contexts.get(index);
- if (context.equals(key)) {
- if (index + 1 < contextCount) {
- return contexts.get(index + 1);
- }
- }
- }
- throw new OseeNotFoundException(String.format("Unable to find [%s]", key));
- }
- }
-}
+package org.eclipse.osee.framework.manager.servlet;
+
+import java.io.IOException;
+import java.net.HttpURLConnection;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.logging.Level;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.core.exception.OseeNotFoundException;
+import org.eclipse.osee.framework.core.server.UnsecuredOseeHttpServlet;
+import org.eclipse.osee.framework.core.util.Conditions;
+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.manager.servlet.data.ArtifactUtil;
+import org.eclipse.osee.framework.manager.servlet.internal.Activator;
+import org.eclipse.osee.framework.resource.management.IResourceLocatorManager;
+import org.eclipse.osee.framework.resource.management.IResourceManager;
+
+public class DataServlet extends UnsecuredOseeHttpServlet {
+
+ private static final long serialVersionUID = -1399699606153734250L;
+
+ private final IResourceLocatorManager locatorManager;
+ private final IResourceManager resourceManager;
+
+ public DataServlet(IResourceLocatorManager locatorManager, IResourceManager resourceManager) {
+ super();
+ this.locatorManager = locatorManager;
+ this.resourceManager = resourceManager;
+ }
+
+ @Override
+ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
+ String urlRequest = request.getRequestURI();
+ try {
+ handleUriRequest(locatorManager, resourceManager, urlRequest, response);
+ } catch (OseeCoreException ex) {
+ handleError(response, HttpURLConnection.HTTP_INTERNAL_ERROR, "", ex);
+ }
+ }
+
+ private void handleError(HttpServletResponse response, int status, String message, Throwable ex) throws IOException {
+ response.setContentType("text/plain");
+ OseeLog.log(Activator.class, Level.SEVERE, message, ex);
+ response.sendError(status, Lib.exceptionToString(ex));
+ }
+
+ public static void handleUriRequest(IResourceLocatorManager locatorManager, IResourceManager resourceManager, String urlRequest, HttpServletResponse response) throws OseeCoreException {
+ UrlParser parser = new UrlParser();
+ parser.parse(urlRequest);
+ String branchGuid = parser.getAttribute("branch");
+ String artifactGuid = parser.getAttribute("artifact");
+ String uri = ArtifactUtil.getUriByGuids(branchGuid, artifactGuid);
+ ArtifactFileServlet.handleArtifactUri(locatorManager, resourceManager, urlRequest, uri, response);
+ }
+
+ private static final class UrlParser {
+ private final List<String> contexts;
+
+ public UrlParser() {
+ this.contexts = new ArrayList<String>();
+ }
+
+ public void parse(String urlPath) {
+ contexts.clear();
+ if (Strings.isValid(urlPath)) {
+ String[] items = urlPath.split("/");
+ for (String item : items) {
+ contexts.add(item);
+ }
+ }
+ }
+
+ public String getAttribute(String key) throws OseeCoreException {
+ Conditions.checkNotNull(key, "attribute");
+ int contextCount = contexts.size();
+ for (int index = 0; index < contextCount; index++) {
+ String context = contexts.get(index);
+ if (context.equals(key)) {
+ if (index + 1 < contextCount) {
+ return contexts.get(index + 1);
+ }
+ }
+ }
+ throw new OseeNotFoundException(String.format("Unable to find [%s]", key));
+ }
+ }
+}
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/InstallLinkPageGenerator.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/InstallLinkPageGenerator.java
index 8a8b18b44d2..aa709a1a7d9 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/InstallLinkPageGenerator.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/InstallLinkPageGenerator.java
@@ -1,148 +1,148 @@
-/*******************************************************************************
- * 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.manager.servlet;
-
-import java.util.List;
-
-/**
- * @author Roberto E. Escobar
- */
-public class InstallLinkPageGenerator {
-
- private static final String HTML_HEADER =
- "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html14/loose.dtd\">\n";
-
- private static final String CSS_SHEET =
- "<style type=\"text/css\"> table.oseeTable { border-width: 1px 1px 1px 1px; border-spacing: 2px; border-style: solid solid solid solid; border-color: blue blue blue blue; border-collapse: separate; background-color: rgb(255, 250, 250); } " + " table.oseeTable th { border-width: 1px 1px 1px 1px; padding: 4px 4px 4px 4px; border-style: solid solid solid solid; border-color: black black black black; background-color: white; -moz-border-radius: 0px 0px 0px 0px; } " + " table.oseeTable td { border-width: 1px 1px 1px 1px; padding: 4px 4px 4px 4px; border-style: solid solid solid solid; border-color: black black black black; background-color: white; -moz-border-radius: 0px 0px 0px 0px; } </style>\n";
-
- private static final String MULTI_LINK_TEMPLATE =
- HTML_HEADER + "<html>\n<head>\n" + CSS_SHEET + "%s</head>\n<body onload=\"initialize()\">\n%s</body>\n</html>";
- private static final String LAUNCH_PAGE_TEMPLATE =
- HTML_HEADER + "<html>\n<head>\n" + CSS_SHEET + "%s</head>\n<body onload=\"initialize()\">\n<div id='xmsg'/>\n</body>\n</html>";
-
- private static final String LAUNCH_ERROR_MESSAGE =
- "Please use Internet Explorer. Your browser does not support this operation.";
-
- private static final String LINK_ERROR_MESSAGE = "Links below will not work unless you use Internet Explorer.";
-
- private static final String JS_CHECK =
- "if (document.implementation && document.implementation.createDocument) {\nalert('%s');\n return;}\n";
-
- private InstallLinkPageGenerator() {
- }
-
- private static String normalizePath(String path) {
- StringBuilder pathBuilder = new StringBuilder();
- boolean wasLastPathSeparator = false;
- for (int charIndex = 0; charIndex < path.length(); charIndex++) {
- char charVal = path.charAt(charIndex);
- if (charVal == '\\' && !wasLastPathSeparator) {
- if (charIndex + 1 < path.length()) {
- if (path.charAt(charIndex + 1) != '\\') {
- pathBuilder.append('\\');
- }
- } else {
- pathBuilder.append('\\');
- }
- wasLastPathSeparator = true;
- } else {
- wasLastPathSeparator = false;
- }
- pathBuilder.append(charVal);
- }
- return pathBuilder.toString();
- }
-
- private static String getOpenScript(ClientInstallInfo info, boolean isCloseAllowed, boolean isPromptAllowed) {
- StringBuilder builder = new StringBuilder();
- builder.append("<script type=\"text/javascript\">\n");
- builder.append("function initialize()\n{\n");
- builder.append(String.format(JS_CHECK, LAUNCH_ERROR_MESSAGE));
- String path = info.getExecPath();
- if (info.getOs().contains("win") && info.isActive()) {
- String execName = null;
- String execPath = "";
- int index = path.lastIndexOf("\\");
- if (index > -1) {
- execName = path.substring(index + 1, path.length());
- execPath = normalizePath(path.substring(0, index));
- } else {
- execName = path;
- execPath = "";
- }
- builder.append("var v = new ActiveXObject(\"Shell.Application\");\n");
- builder.append(String.format("v.ShellExecute(\"%s\",\"\",\"%s\", \"open\", 10);\n", execName, execPath));
- if (!isPromptAllowed) {
- builder.append("window.opener=\"self\";\n");
- }
- if (isCloseAllowed) {
- builder.append("window.close();\n");
- }
- builder.append("}\n");
- } else {
- // INVALID LINK PAGE
- builder.append(String.format(
- "var ex=\"No valid link found. Contact your OSEE administrator. Key was: [%s]\";", info.getName()));
- builder.append("document.getElementById('xmsg').innerHTML=ex;");
- builder.append("}\n");
- }
- builder.append("</script>\n");
- return builder.toString();
- }
-
- private static String getCheckScript() {
- StringBuilder builder = new StringBuilder();
- builder.append("<script type=\"text/javascript\">\n");
- builder.append("function initialize()\n{\n");
- builder.append(String.format(JS_CHECK, LINK_ERROR_MESSAGE));
- builder.append("}\n</script>\n");
- return builder.toString();
- }
-
- private static String getLinkTable(List<ClientInstallInfo> infos) {
- StringBuilder builder = new StringBuilder();
- builder.append("<h3>OSEE Client Installs</h3>");
- builder.append("<p>Click on the <i>Active</i> install names to launch OSEE.</p>");
- builder.append("<table class=\"oseeTable\" width=\"95%\">");
- builder.append("<tr style=\"background:gray\" ><th>Name</th> <th>Comment</th><th>Status</th>");
- for (ClientInstallInfo info : infos) {
- builder.append("<tr>");
- if (info.isActive()) {
- String path = info.getExecPath();
- builder.append("<td>");
- builder.append(String.format("<a href=\"%s\"> %s</a>",
- path.startsWith("file://") ? path : "file://" + path,
- info.getName().replaceAll("osee.install", "").toUpperCase().replaceAll("\\.", " ")));
- builder.append("</td>");
- builder.append(String.format("<td>%s</td>", info.getComment()));
- builder.append("<td>Active</td>");
- } else {
- builder.append(String.format("<td>%s</td>",
- info.getName().replaceAll("osee.install", "").toUpperCase().replaceAll("\\.", " ")));
- builder.append(String.format("<td>%s</td>", info.getComment()));
- builder.append("<td>In Active</td>");
- }
- builder.append("</tr>");
- }
- builder.append("</table>");
- return builder.toString();
- }
-
- public static String generate(List<ClientInstallInfo> infos, boolean isCloseAllowed, boolean isPromptAllowed) {
- String toReturn = null;
- if (infos.size() == 1) {
- toReturn = String.format(LAUNCH_PAGE_TEMPLATE, getOpenScript(infos.get(0), isCloseAllowed, isPromptAllowed));
- } else {
- toReturn = String.format(MULTI_LINK_TEMPLATE, getCheckScript(), getLinkTable(infos));
- }
- return toReturn;
- }
-}
+/*******************************************************************************
+ * 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.manager.servlet;
+
+import java.util.List;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class InstallLinkPageGenerator {
+
+ private static final String HTML_HEADER =
+ "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html14/loose.dtd\">\n";
+
+ private static final String CSS_SHEET =
+ "<style type=\"text/css\"> table.oseeTable { border-width: 1px 1px 1px 1px; border-spacing: 2px; border-style: solid solid solid solid; border-color: blue blue blue blue; border-collapse: separate; background-color: rgb(255, 250, 250); } " + " table.oseeTable th { border-width: 1px 1px 1px 1px; padding: 4px 4px 4px 4px; border-style: solid solid solid solid; border-color: black black black black; background-color: white; -moz-border-radius: 0px 0px 0px 0px; } " + " table.oseeTable td { border-width: 1px 1px 1px 1px; padding: 4px 4px 4px 4px; border-style: solid solid solid solid; border-color: black black black black; background-color: white; -moz-border-radius: 0px 0px 0px 0px; } </style>\n";
+
+ private static final String MULTI_LINK_TEMPLATE =
+ HTML_HEADER + "<html>\n<head>\n" + CSS_SHEET + "%s</head>\n<body onload=\"initialize()\">\n%s</body>\n</html>";
+ private static final String LAUNCH_PAGE_TEMPLATE =
+ HTML_HEADER + "<html>\n<head>\n" + CSS_SHEET + "%s</head>\n<body onload=\"initialize()\">\n<div id='xmsg'/>\n</body>\n</html>";
+
+ private static final String LAUNCH_ERROR_MESSAGE =
+ "Please use Internet Explorer. Your browser does not support this operation.";
+
+ private static final String LINK_ERROR_MESSAGE = "Links below will not work unless you use Internet Explorer.";
+
+ private static final String JS_CHECK =
+ "if (document.implementation && document.implementation.createDocument) {\nalert('%s');\n return;}\n";
+
+ private InstallLinkPageGenerator() {
+ }
+
+ private static String normalizePath(String path) {
+ StringBuilder pathBuilder = new StringBuilder();
+ boolean wasLastPathSeparator = false;
+ for (int charIndex = 0; charIndex < path.length(); charIndex++) {
+ char charVal = path.charAt(charIndex);
+ if (charVal == '\\' && !wasLastPathSeparator) {
+ if (charIndex + 1 < path.length()) {
+ if (path.charAt(charIndex + 1) != '\\') {
+ pathBuilder.append('\\');
+ }
+ } else {
+ pathBuilder.append('\\');
+ }
+ wasLastPathSeparator = true;
+ } else {
+ wasLastPathSeparator = false;
+ }
+ pathBuilder.append(charVal);
+ }
+ return pathBuilder.toString();
+ }
+
+ private static String getOpenScript(ClientInstallInfo info, boolean isCloseAllowed, boolean isPromptAllowed) {
+ StringBuilder builder = new StringBuilder();
+ builder.append("<script type=\"text/javascript\">\n");
+ builder.append("function initialize()\n{\n");
+ builder.append(String.format(JS_CHECK, LAUNCH_ERROR_MESSAGE));
+ String path = info.getExecPath();
+ if (info.getOs().contains("win") && info.isActive()) {
+ String execName = null;
+ String execPath = "";
+ int index = path.lastIndexOf("\\");
+ if (index > -1) {
+ execName = path.substring(index + 1, path.length());
+ execPath = normalizePath(path.substring(0, index));
+ } else {
+ execName = path;
+ execPath = "";
+ }
+ builder.append("var v = new ActiveXObject(\"Shell.Application\");\n");
+ builder.append(String.format("v.ShellExecute(\"%s\",\"\",\"%s\", \"open\", 10);\n", execName, execPath));
+ if (!isPromptAllowed) {
+ builder.append("window.opener=\"self\";\n");
+ }
+ if (isCloseAllowed) {
+ builder.append("window.close();\n");
+ }
+ builder.append("}\n");
+ } else {
+ // INVALID LINK PAGE
+ builder.append(String.format(
+ "var ex=\"No valid link found. Contact your OSEE administrator. Key was: [%s]\";", info.getName()));
+ builder.append("document.getElementById('xmsg').innerHTML=ex;");
+ builder.append("}\n");
+ }
+ builder.append("</script>\n");
+ return builder.toString();
+ }
+
+ private static String getCheckScript() {
+ StringBuilder builder = new StringBuilder();
+ builder.append("<script type=\"text/javascript\">\n");
+ builder.append("function initialize()\n{\n");
+ builder.append(String.format(JS_CHECK, LINK_ERROR_MESSAGE));
+ builder.append("}\n</script>\n");
+ return builder.toString();
+ }
+
+ private static String getLinkTable(List<ClientInstallInfo> infos) {
+ StringBuilder builder = new StringBuilder();
+ builder.append("<h3>OSEE Client Installs</h3>");
+ builder.append("<p>Click on the <i>Active</i> install names to launch OSEE.</p>");
+ builder.append("<table class=\"oseeTable\" width=\"95%\">");
+ builder.append("<tr style=\"background:gray\" ><th>Name</th> <th>Comment</th><th>Status</th>");
+ for (ClientInstallInfo info : infos) {
+ builder.append("<tr>");
+ if (info.isActive()) {
+ String path = info.getExecPath();
+ builder.append("<td>");
+ builder.append(String.format("<a href=\"%s\"> %s</a>",
+ path.startsWith("file://") ? path : "file://" + path,
+ info.getName().replaceAll("osee.install", "").toUpperCase().replaceAll("\\.", " ")));
+ builder.append("</td>");
+ builder.append(String.format("<td>%s</td>", info.getComment()));
+ builder.append("<td>Active</td>");
+ } else {
+ builder.append(String.format("<td>%s</td>",
+ info.getName().replaceAll("osee.install", "").toUpperCase().replaceAll("\\.", " ")));
+ builder.append(String.format("<td>%s</td>", info.getComment()));
+ builder.append("<td>In Active</td>");
+ }
+ builder.append("</tr>");
+ }
+ builder.append("</table>");
+ return builder.toString();
+ }
+
+ public static String generate(List<ClientInstallInfo> infos, boolean isCloseAllowed, boolean isPromptAllowed) {
+ String toReturn = null;
+ if (infos.size() == 1) {
+ toReturn = String.format(LAUNCH_PAGE_TEMPLATE, getOpenScript(infos.get(0), isCloseAllowed, isPromptAllowed));
+ } else {
+ toReturn = String.format(MULTI_LINK_TEMPLATE, getCheckScript(), getLinkTable(infos));
+ }
+ return toReturn;
+ }
+}
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ModCompatible.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ModCompatible.java
index 472749e8c1c..ba8469f76c5 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ModCompatible.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ModCompatible.java
@@ -8,91 +8,91 @@
* Contributors:
* Boeing - initial API and implementation
*******************************************************************************/
-package org.eclipse.osee.framework.manager.servlet;
-
-import org.eclipse.osee.framework.core.enums.StorageState;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.core.message.ArtifactTypeCacheUpdateResponse;
-import org.eclipse.osee.framework.core.message.ArtifactTypeCacheUpdateResponse.ArtifactTypeRow;
-import org.eclipse.osee.framework.core.message.AttributeTypeCacheUpdateResponse;
-import org.eclipse.osee.framework.core.message.BranchCacheUpdateResponse;
-import org.eclipse.osee.framework.core.message.BranchRow;
-import org.eclipse.osee.framework.core.message.OseeEnumTypeCacheUpdateResponse;
-import org.eclipse.osee.framework.core.message.RelationTypeCacheUpdateResponse;
-import org.eclipse.osee.framework.core.message.RelationTypeCacheUpdateResponse.RelationTypeRow;
-import org.eclipse.osee.framework.core.model.type.AttributeType;
-import org.eclipse.osee.framework.core.server.ISession;
-import org.eclipse.osee.framework.core.server.ISessionManager;
-import org.eclipse.osee.framework.jdk.core.util.Strings;
-
-public final class ModCompatible {
-
- private ModCompatible() {
-
- }
-
- public static boolean is_0_9_2_Compatible(String clientVersion) {
- boolean result = false;
- if (Strings.isValid(clientVersion)) {
- String toCheck = clientVersion.toLowerCase();
- if (!toCheck.startsWith("0.9.0") && !toCheck.startsWith("0.9.1")) {
- result = true;
- }
- }
- return result;
- }
-
- public static String getClientVersion(ISessionManager manager, String sessionId) throws OseeCoreException {
- String clientVersion = null;
- if (Strings.isValid(sessionId)) {
- ISession session = manager.getSessionById(sessionId);
- if (session != null) {
- clientVersion = session.getClientVersion();
- }
- }
- return clientVersion;
- }
-
- private static StorageState getCompatibleState(StorageState state) {
- StorageState toReturn = state;
- if (state == StorageState.PURGED) {
- toReturn = StorageState.DELETED;
- } else if (state == StorageState.LOADED) {
- toReturn = StorageState.MODIFIED;
- }
- return toReturn;
- }
-
- public static void makeSendCompatible(boolean isCompatible, Object response) {
- if (!isCompatible) {
- if (response instanceof BranchCacheUpdateResponse) {
- BranchCacheUpdateResponse data = (BranchCacheUpdateResponse) response;
- for (BranchRow row : data.getBranchRows()) {
- row.setStorageState(getCompatibleState(row.getStorageState()));
- }
- } else if (response instanceof ArtifactTypeCacheUpdateResponse) {
- ArtifactTypeCacheUpdateResponse data = (ArtifactTypeCacheUpdateResponse) response;
- for (ArtifactTypeRow row : data.getArtTypeRows()) {
- row.setStorageState(getCompatibleState(row.getStorageState()));
- }
-
- } else if (response instanceof AttributeTypeCacheUpdateResponse) {
- AttributeTypeCacheUpdateResponse data = (AttributeTypeCacheUpdateResponse) response;
- for (AttributeType row : data.getAttrTypeRows()) {
- row.setStorageState(getCompatibleState(row.getStorageState()));
- }
- } else if (response instanceof RelationTypeCacheUpdateResponse) {
- RelationTypeCacheUpdateResponse data = (RelationTypeCacheUpdateResponse) response;
- for (RelationTypeRow row : data.getRelationTypeRows()) {
- row.setStorageState(getCompatibleState(row.getStorageState()));
- }
-
- } else if (response instanceof OseeEnumTypeCacheUpdateResponse) {
- OseeEnumTypeCacheUpdateResponse data = (OseeEnumTypeCacheUpdateResponse) response;
- for (String[] types : data.getEnumTypeRows()) {
- types[1] = getCompatibleState(StorageState.valueOf(types[1])).name();
- }
- }
- }
- }
-}
+package org.eclipse.osee.framework.manager.servlet;
+
+import org.eclipse.osee.framework.core.enums.StorageState;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.core.message.ArtifactTypeCacheUpdateResponse;
+import org.eclipse.osee.framework.core.message.ArtifactTypeCacheUpdateResponse.ArtifactTypeRow;
+import org.eclipse.osee.framework.core.message.AttributeTypeCacheUpdateResponse;
+import org.eclipse.osee.framework.core.message.BranchCacheUpdateResponse;
+import org.eclipse.osee.framework.core.message.BranchRow;
+import org.eclipse.osee.framework.core.message.OseeEnumTypeCacheUpdateResponse;
+import org.eclipse.osee.framework.core.message.RelationTypeCacheUpdateResponse;
+import org.eclipse.osee.framework.core.message.RelationTypeCacheUpdateResponse.RelationTypeRow;
+import org.eclipse.osee.framework.core.model.type.AttributeType;
+import org.eclipse.osee.framework.core.server.ISession;
+import org.eclipse.osee.framework.core.server.ISessionManager;
+import org.eclipse.osee.framework.jdk.core.util.Strings;
+
+public final class ModCompatible {
+
+ private ModCompatible() {
+
+ }
+
+ public static boolean is_0_9_2_Compatible(String clientVersion) {
+ boolean result = false;
+ if (Strings.isValid(clientVersion)) {
+ String toCheck = clientVersion.toLowerCase();
+ if (!toCheck.startsWith("0.9.0") && !toCheck.startsWith("0.9.1")) {
+ result = true;
+ }
+ }
+ return result;
+ }
+
+ public static String getClientVersion(ISessionManager manager, String sessionId) throws OseeCoreException {
+ String clientVersion = null;
+ if (Strings.isValid(sessionId)) {
+ ISession session = manager.getSessionById(sessionId);
+ if (session != null) {
+ clientVersion = session.getClientVersion();
+ }
+ }
+ return clientVersion;
+ }
+
+ private static StorageState getCompatibleState(StorageState state) {
+ StorageState toReturn = state;
+ if (state == StorageState.PURGED) {
+ toReturn = StorageState.DELETED;
+ } else if (state == StorageState.LOADED) {
+ toReturn = StorageState.MODIFIED;
+ }
+ return toReturn;
+ }
+
+ public static void makeSendCompatible(boolean isCompatible, Object response) {
+ if (!isCompatible) {
+ if (response instanceof BranchCacheUpdateResponse) {
+ BranchCacheUpdateResponse data = (BranchCacheUpdateResponse) response;
+ for (BranchRow row : data.getBranchRows()) {
+ row.setStorageState(getCompatibleState(row.getStorageState()));
+ }
+ } else if (response instanceof ArtifactTypeCacheUpdateResponse) {
+ ArtifactTypeCacheUpdateResponse data = (ArtifactTypeCacheUpdateResponse) response;
+ for (ArtifactTypeRow row : data.getArtTypeRows()) {
+ row.setStorageState(getCompatibleState(row.getStorageState()));
+ }
+
+ } else if (response instanceof AttributeTypeCacheUpdateResponse) {
+ AttributeTypeCacheUpdateResponse data = (AttributeTypeCacheUpdateResponse) response;
+ for (AttributeType row : data.getAttrTypeRows()) {
+ row.setStorageState(getCompatibleState(row.getStorageState()));
+ }
+ } else if (response instanceof RelationTypeCacheUpdateResponse) {
+ RelationTypeCacheUpdateResponse data = (RelationTypeCacheUpdateResponse) response;
+ for (RelationTypeRow row : data.getRelationTypeRows()) {
+ row.setStorageState(getCompatibleState(row.getStorageState()));
+ }
+
+ } else if (response instanceof OseeEnumTypeCacheUpdateResponse) {
+ OseeEnumTypeCacheUpdateResponse data = (OseeEnumTypeCacheUpdateResponse) response;
+ for (String[] types : data.getEnumTypeRows()) {
+ types[1] = getCompatibleState(StorageState.valueOf(types[1])).name();
+ }
+ }
+ }
+ }
+}
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/OseeCacheServlet.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/OseeCacheServlet.java
index 36956a16c96..27daf38df34 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/OseeCacheServlet.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/OseeCacheServlet.java
@@ -1,253 +1,253 @@
-/*******************************************************************************
- * 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.manager.servlet;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.logging.Level;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.eclipse.osee.framework.core.enums.CacheOperation;
-import org.eclipse.osee.framework.core.enums.CoreTranslatorId;
-import org.eclipse.osee.framework.core.enums.OseeCacheEnum;
-import org.eclipse.osee.framework.core.enums.StorageState;
-import org.eclipse.osee.framework.core.exception.OseeArgumentException;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.core.exception.OseeExceptions;
-import org.eclipse.osee.framework.core.message.ArtifactTypeCacheUpdateResponse;
-import org.eclipse.osee.framework.core.message.AttributeTypeCacheUpdateResponse;
-import org.eclipse.osee.framework.core.message.BranchCacheStoreRequest;
-import org.eclipse.osee.framework.core.message.BranchCacheUpdateResponse;
-import org.eclipse.osee.framework.core.message.BranchCacheUpdateUtil;
-import org.eclipse.osee.framework.core.message.CacheUpdateRequest;
-import org.eclipse.osee.framework.core.message.OseeEnumTypeCacheUpdateResponse;
-import org.eclipse.osee.framework.core.message.RelationTypeCacheUpdateResponse;
-import org.eclipse.osee.framework.core.message.TransactionCacheUpdateResponse;
-import org.eclipse.osee.framework.core.model.Branch;
-import org.eclipse.osee.framework.core.model.TransactionRecord;
-import org.eclipse.osee.framework.core.model.cache.BranchCache;
-import org.eclipse.osee.framework.core.model.cache.TransactionCache;
-import org.eclipse.osee.framework.core.server.ISessionManager;
-import org.eclipse.osee.framework.core.server.UnsecuredOseeHttpServlet;
-import org.eclipse.osee.framework.core.services.IOseeCachingService;
-import org.eclipse.osee.framework.core.services.IOseeModelFactoryService;
-import org.eclipse.osee.framework.core.translation.IDataTranslationService;
-import org.eclipse.osee.framework.core.translation.ITranslatorId;
-import org.eclipse.osee.framework.core.util.Conditions;
-import org.eclipse.osee.framework.jdk.core.type.Pair;
-import org.eclipse.osee.framework.jdk.core.util.Lib;
-import org.eclipse.osee.framework.logging.OseeLog;
-import org.eclipse.osee.framework.manager.servlet.internal.Activator;
-
-/**
- * @author Roberto E. Escobar
- */
-public class OseeCacheServlet extends UnsecuredOseeHttpServlet {
-
- private static final long serialVersionUID = 6693534844874109524L;
- private final IDataTranslationService translationService;
- private final IOseeCachingService cachingService;
- private final IOseeModelFactoryService factoryService;
- private final ISessionManager sessionManager;
-
- public OseeCacheServlet(ISessionManager sessionManager, IDataTranslationService translationService, IOseeCachingService cachingService, IOseeModelFactoryService factoryService) {
- super();
- this.sessionManager = sessionManager;
- this.translationService = translationService;
- this.cachingService = cachingService;
- this.factoryService = factoryService;
- }
-
- public IDataTranslationService getTranslationService() {
- return translationService;
- }
-
- public IOseeCachingService getCachingService() {
- return cachingService;
- }
-
- @Override
- protected void doGet(HttpServletRequest req, HttpServletResponse resp) {
- OseeCacheEnum cacheId = OseeCacheEnum.valueOf(req.getParameter("cacheId"));
- try {
- IOseeCachingService caching = getCachingService();
- IDataTranslationService service = getTranslationService();
- Pair<Object, ITranslatorId> pair = createResponse(true, new CacheUpdateRequest(cacheId), caching);
- resp.setStatus(HttpServletResponse.SC_ACCEPTED);
- resp.setContentType("text/xml");
- resp.setCharacterEncoding("UTF-8");
- InputStream inputStream = service.convertToStream(pair.getFirst(), pair.getSecond());
- OutputStream outputStream = resp.getOutputStream();
- Lib.inputStreamToOutputStream(inputStream, outputStream);
- } catch (Exception ex) {
- OseeLog.log(getClass(), Level.SEVERE, ex);
- }
- }
-
- @Override
- protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
- try {
- String sessionId = req.getParameter("sessionId");
- String clientVersion = ModCompatible.getClientVersion(sessionManager, sessionId);
- boolean isCompatible = ModCompatible.is_0_9_2_Compatible(clientVersion);
-
- CacheOperation operation = CacheOperation.fromString(req.getParameter("function"));
- switch (operation) {
- case UPDATE:
- sendUpdates(isCompatible, req, resp);
- break;
- case STORE:
- storeUpdates(isCompatible, req, resp);
- break;
- default:
- throw new UnsupportedOperationException();
- }
- } catch (Exception ex) {
- handleError(resp, req.toString(), ex);
- }
- }
-
- private void handleError(HttpServletResponse resp, String request, Throwable th) throws IOException {
- OseeLog.log(Activator.class, Level.SEVERE, String.format("Osee Cache request error: [%s]", request), th);
- resp.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
- resp.setContentType("text/plain");
- resp.getWriter().write(Lib.exceptionToString(th));
- resp.getWriter().flush();
- resp.getWriter().close();
- }
-
- private void storeUpdates(boolean isCompatible, HttpServletRequest req, HttpServletResponse resp) throws OseeCoreException {
- IDataTranslationService service = getTranslationService();
- IOseeCachingService caching = getCachingService();
- TransactionCache txCache = caching.getTransactionCache();
-
- BranchCacheStoreRequest updateRequest = null;
- InputStream inputStream = null;
- try {
- inputStream = req.getInputStream();
- updateRequest = service.convert(inputStream, CoreTranslatorId.BRANCH_CACHE_STORE_REQUEST);
- } catch (IOException ex) {
- OseeExceptions.wrapAndThrow(ex);
- } finally {
- Lib.close(inputStream);
- }
- Collection<Branch> updated =
- new BranchCacheUpdateUtil(factoryService.getBranchFactory(), txCache).updateCache(updateRequest,
- caching.getBranchCache());
-
- BranchCache cache = caching.getBranchCache();
- if (updateRequest.isServerUpdateMessage()) {
- for (Branch branch : updated) {
- if (StorageState.CREATED == branch.getStorageState()) {
- branch.setStorageState(StorageState.MODIFIED);
- }
- branch.clearDirty();
- cache.decache(branch);
- cache.cache(branch);
- }
- } else {
- cache.storeItems(updated);
- }
- try {
- resp.setStatus(HttpServletResponse.SC_ACCEPTED);
- resp.setContentType("text/plain");
- resp.setCharacterEncoding("UTF-8");
- resp.getWriter().write("Branch Store Successful");
- } catch (IOException ex) {
- OseeExceptions.wrapAndThrow(ex);
- }
- }
-
- private void sendUpdates(boolean isCompatible, HttpServletRequest req, HttpServletResponse resp) throws OseeCoreException {
- IDataTranslationService service = getTranslationService();
- IOseeCachingService caching = getCachingService();
-
- CacheUpdateRequest updateRequest = null;
- InputStream inputStream = null;
- try {
- inputStream = req.getInputStream();
- updateRequest = service.convert(inputStream, CoreTranslatorId.OSEE_CACHE_UPDATE_REQUEST);
- } catch (IOException ex) {
- OseeExceptions.wrapAndThrow(ex);
- } finally {
- Lib.close(inputStream);
- }
-
- OutputStream outputStream = null;
- try {
- Pair<Object, ITranslatorId> pair = createResponse(isCompatible, updateRequest, caching);
-
- resp.setStatus(HttpServletResponse.SC_ACCEPTED);
- resp.setContentType("text/xml");
- resp.setCharacterEncoding("UTF-8");
-
- ModCompatible.makeSendCompatible(isCompatible, pair.getFirst());
-
- inputStream = service.convertToStream(pair.getFirst(), pair.getSecond());
- outputStream = resp.getOutputStream();
- Lib.inputStreamToOutputStream(inputStream, outputStream);
- } catch (IOException ex) {
- OseeExceptions.wrapAndThrow(ex);
- }
- }
-
- private Pair<Object, ITranslatorId> createResponse(boolean isCompatible, CacheUpdateRequest updateRequest, IOseeCachingService caching) throws OseeCoreException {
- Conditions.checkNotNull(caching, "caching service");
- Object response = null;
- ITranslatorId transalatorId = null;
- switch (updateRequest.getCacheId()) {
- case BRANCH_CACHE:
- response = BranchCacheUpdateResponse.fromCache(caching.getBranchCache(), caching.getBranchCache().getAll());
- transalatorId = CoreTranslatorId.BRANCH_CACHE_UPDATE_RESPONSE;
- break;
- case TRANSACTION_CACHE:
- Collection<TransactionRecord> record;
- TransactionCache txCache = caching.getTransactionCache();
-
- if (updateRequest.getItemsIds().isEmpty()) {
- record = txCache.getAll();
- } else {
- record = new ArrayList<TransactionRecord>();
- for (Integer item : updateRequest.getItemsIds()) {
- record.add(txCache.getOrLoad(item));
- }
- }
- response = TransactionCacheUpdateResponse.fromCache(factoryService.getTransactionFactory(), record);
- transalatorId = CoreTranslatorId.TX_CACHE_UPDATE_RESPONSE;
- break;
- case ARTIFACT_TYPE_CACHE:
- response = ArtifactTypeCacheUpdateResponse.fromCache(caching.getArtifactTypeCache().getAll());
- transalatorId = CoreTranslatorId.ARTIFACT_TYPE_CACHE_UPDATE_RESPONSE;
- break;
- case ATTRIBUTE_TYPE_CACHE:
- response =
- AttributeTypeCacheUpdateResponse.fromCache(factoryService.getAttributeTypeFactory(),
- caching.getAttributeTypeCache().getAll());
- transalatorId = CoreTranslatorId.ATTRIBUTE_TYPE_CACHE_UPDATE_RESPONSE;
- break;
- case OSEE_ENUM_TYPE_CACHE:
- response = OseeEnumTypeCacheUpdateResponse.fromCache(caching.getEnumTypeCache().getAll());
- transalatorId = CoreTranslatorId.OSEE_ENUM_TYPE_CACHE_UPDATE_RESPONSE;
- break;
- case RELATION_TYPE_CACHE:
- response = RelationTypeCacheUpdateResponse.fromCache(caching.getRelationTypeCache().getAll());
- transalatorId = CoreTranslatorId.RELATION_TYPE_CACHE_UPDATE_RESPONSE;
- break;
- default:
- throw new OseeArgumentException(String.format("Invalid cacheId [%s]", updateRequest.getCacheId()));
- }
- return new Pair<Object, ITranslatorId>(response, transalatorId);
- }
-
-}
+/*******************************************************************************
+ * 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.manager.servlet;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.logging.Level;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.eclipse.osee.framework.core.enums.CacheOperation;
+import org.eclipse.osee.framework.core.enums.CoreTranslatorId;
+import org.eclipse.osee.framework.core.enums.OseeCacheEnum;
+import org.eclipse.osee.framework.core.enums.StorageState;
+import org.eclipse.osee.framework.core.exception.OseeArgumentException;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.core.exception.OseeExceptions;
+import org.eclipse.osee.framework.core.message.ArtifactTypeCacheUpdateResponse;
+import org.eclipse.osee.framework.core.message.AttributeTypeCacheUpdateResponse;
+import org.eclipse.osee.framework.core.message.BranchCacheStoreRequest;
+import org.eclipse.osee.framework.core.message.BranchCacheUpdateResponse;
+import org.eclipse.osee.framework.core.message.BranchCacheUpdateUtil;
+import org.eclipse.osee.framework.core.message.CacheUpdateRequest;
+import org.eclipse.osee.framework.core.message.OseeEnumTypeCacheUpdateResponse;
+import org.eclipse.osee.framework.core.message.RelationTypeCacheUpdateResponse;
+import org.eclipse.osee.framework.core.message.TransactionCacheUpdateResponse;
+import org.eclipse.osee.framework.core.model.Branch;
+import org.eclipse.osee.framework.core.model.TransactionRecord;
+import org.eclipse.osee.framework.core.model.cache.BranchCache;
+import org.eclipse.osee.framework.core.model.cache.TransactionCache;
+import org.eclipse.osee.framework.core.server.ISessionManager;
+import org.eclipse.osee.framework.core.server.UnsecuredOseeHttpServlet;
+import org.eclipse.osee.framework.core.services.IOseeCachingService;
+import org.eclipse.osee.framework.core.services.IOseeModelFactoryService;
+import org.eclipse.osee.framework.core.translation.IDataTranslationService;
+import org.eclipse.osee.framework.core.translation.ITranslatorId;
+import org.eclipse.osee.framework.core.util.Conditions;
+import org.eclipse.osee.framework.jdk.core.type.Pair;
+import org.eclipse.osee.framework.jdk.core.util.Lib;
+import org.eclipse.osee.framework.logging.OseeLog;
+import org.eclipse.osee.framework.manager.servlet.internal.Activator;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class OseeCacheServlet extends UnsecuredOseeHttpServlet {
+
+ private static final long serialVersionUID = 6693534844874109524L;
+ private final IDataTranslationService translationService;
+ private final IOseeCachingService cachingService;
+ private final IOseeModelFactoryService factoryService;
+ private final ISessionManager sessionManager;
+
+ public OseeCacheServlet(ISessionManager sessionManager, IDataTranslationService translationService, IOseeCachingService cachingService, IOseeModelFactoryService factoryService) {
+ super();
+ this.sessionManager = sessionManager;
+ this.translationService = translationService;
+ this.cachingService = cachingService;
+ this.factoryService = factoryService;
+ }
+
+ public IDataTranslationService getTranslationService() {
+ return translationService;
+ }
+
+ public IOseeCachingService getCachingService() {
+ return cachingService;
+ }
+
+ @Override
+ protected void doGet(HttpServletRequest req, HttpServletResponse resp) {
+ OseeCacheEnum cacheId = OseeCacheEnum.valueOf(req.getParameter("cacheId"));
+ try {
+ IOseeCachingService caching = getCachingService();
+ IDataTranslationService service = getTranslationService();
+ Pair<Object, ITranslatorId> pair = createResponse(true, new CacheUpdateRequest(cacheId), caching);
+ resp.setStatus(HttpServletResponse.SC_ACCEPTED);
+ resp.setContentType("text/xml");
+ resp.setCharacterEncoding("UTF-8");
+ InputStream inputStream = service.convertToStream(pair.getFirst(), pair.getSecond());
+ OutputStream outputStream = resp.getOutputStream();
+ Lib.inputStreamToOutputStream(inputStream, outputStream);
+ } catch (Exception ex) {
+ OseeLog.log(getClass(), Level.SEVERE, ex);
+ }
+ }
+
+ @Override
+ protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
+ try {
+ String sessionId = req.getParameter("sessionId");
+ String clientVersion = ModCompatible.getClientVersion(sessionManager, sessionId);
+ boolean isCompatible = ModCompatible.is_0_9_2_Compatible(clientVersion);
+
+ CacheOperation operation = CacheOperation.fromString(req.getParameter("function"));
+ switch (operation) {
+ case UPDATE:
+ sendUpdates(isCompatible, req, resp);
+ break;
+ case STORE:
+ storeUpdates(isCompatible, req, resp);
+ break;
+ default:
+ throw new UnsupportedOperationException();
+ }
+ } catch (Exception ex) {
+ handleError(resp, req.toString(), ex);
+ }
+ }
+
+ private void handleError(HttpServletResponse resp, String request, Throwable th) throws IOException {
+ OseeLog.log(Activator.class, Level.SEVERE, String.format("Osee Cache request error: [%s]", request), th);
+ resp.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
+ resp.setContentType("text/plain");
+ resp.getWriter().write(Lib.exceptionToString(th));
+ resp.getWriter().flush();
+ resp.getWriter().close();
+ }
+
+ private void storeUpdates(boolean isCompatible, HttpServletRequest req, HttpServletResponse resp) throws OseeCoreException {
+ IDataTranslationService service = getTranslationService();
+ IOseeCachingService caching = getCachingService();
+ TransactionCache txCache = caching.getTransactionCache();
+
+ BranchCacheStoreRequest updateRequest = null;
+ InputStream inputStream = null;
+ try {
+ inputStream = req.getInputStream();
+ updateRequest = service.convert(inputStream, CoreTranslatorId.BRANCH_CACHE_STORE_REQUEST);
+ } catch (IOException ex) {
+ OseeExceptions.wrapAndThrow(ex);
+ } finally {
+ Lib.close(inputStream);
+ }
+ Collection<Branch> updated =
+ new BranchCacheUpdateUtil(factoryService.getBranchFactory(), txCache).updateCache(updateRequest,
+ caching.getBranchCache());
+
+ BranchCache cache = caching.getBranchCache();
+ if (updateRequest.isServerUpdateMessage()) {
+ for (Branch branch : updated) {
+ if (StorageState.CREATED == branch.getStorageState()) {
+ branch.setStorageState(StorageState.MODIFIED);
+ }
+ branch.clearDirty();
+ cache.decache(branch);
+ cache.cache(branch);
+ }
+ } else {
+ cache.storeItems(updated);
+ }
+ try {
+ resp.setStatus(HttpServletResponse.SC_ACCEPTED);
+ resp.setContentType("text/plain");
+ resp.setCharacterEncoding("UTF-8");
+ resp.getWriter().write("Branch Store Successful");
+ } catch (IOException ex) {
+ OseeExceptions.wrapAndThrow(ex);
+ }
+ }
+
+ private void sendUpdates(boolean isCompatible, HttpServletRequest req, HttpServletResponse resp) throws OseeCoreException {
+ IDataTranslationService service = getTranslationService();
+ IOseeCachingService caching = getCachingService();
+
+ CacheUpdateRequest updateRequest = null;
+ InputStream inputStream = null;
+ try {
+ inputStream = req.getInputStream();
+ updateRequest = service.convert(inputStream, CoreTranslatorId.OSEE_CACHE_UPDATE_REQUEST);
+ } catch (IOException ex) {
+ OseeExceptions.wrapAndThrow(ex);
+ } finally {
+ Lib.close(inputStream);
+ }
+
+ OutputStream outputStream = null;
+ try {
+ Pair<Object, ITranslatorId> pair = createResponse(isCompatible, updateRequest, caching);
+
+ resp.setStatus(HttpServletResponse.SC_ACCEPTED);
+ resp.setContentType("text/xml");
+ resp.setCharacterEncoding("UTF-8");
+
+ ModCompatible.makeSendCompatible(isCompatible, pair.getFirst());
+
+ inputStream = service.convertToStream(pair.getFirst(), pair.getSecond());
+ outputStream = resp.getOutputStream();
+ Lib.inputStreamToOutputStream(inputStream, outputStream);
+ } catch (IOException ex) {
+ OseeExceptions.wrapAndThrow(ex);
+ }
+ }
+
+ private Pair<Object, ITranslatorId> createResponse(boolean isCompatible, CacheUpdateRequest updateRequest, IOseeCachingService caching) throws OseeCoreException {
+ Conditions.checkNotNull(caching, "caching service");
+ Object response = null;
+ ITranslatorId transalatorId = null;
+ switch (updateRequest.getCacheId()) {
+ case BRANCH_CACHE:
+ response = BranchCacheUpdateResponse.fromCache(caching.getBranchCache(), caching.getBranchCache().getAll());
+ transalatorId = CoreTranslatorId.BRANCH_CACHE_UPDATE_RESPONSE;
+ break;
+ case TRANSACTION_CACHE:
+ Collection<TransactionRecord> record;
+ TransactionCache txCache = caching.getTransactionCache();
+
+ if (updateRequest.getItemsIds().isEmpty()) {
+ record = txCache.getAll();
+ } else {
+ record = new ArrayList<TransactionRecord>();
+ for (Integer item : updateRequest.getItemsIds()) {
+ record.add(txCache.getOrLoad(item));
+ }
+ }
+ response = TransactionCacheUpdateResponse.fromCache(factoryService.getTransactionFactory(), record);
+ transalatorId = CoreTranslatorId.TX_CACHE_UPDATE_RESPONSE;
+ break;
+ case ARTIFACT_TYPE_CACHE:
+ response = ArtifactTypeCacheUpdateResponse.fromCache(caching.getArtifactTypeCache().getAll());
+ transalatorId = CoreTranslatorId.ARTIFACT_TYPE_CACHE_UPDATE_RESPONSE;
+ break;
+ case ATTRIBUTE_TYPE_CACHE:
+ response =
+ AttributeTypeCacheUpdateResponse.fromCache(factoryService.getAttributeTypeFactory(),
+ caching.getAttributeTypeCache().getAll());
+ transalatorId = CoreTranslatorId.ATTRIBUTE_TYPE_CACHE_UPDATE_RESPONSE;
+ break;
+ case OSEE_ENUM_TYPE_CACHE:
+ response = OseeEnumTypeCacheUpdateResponse.fromCache(caching.getEnumTypeCache().getAll());
+ transalatorId = CoreTranslatorId.OSEE_ENUM_TYPE_CACHE_UPDATE_RESPONSE;
+ break;
+ case RELATION_TYPE_CACHE:
+ response = RelationTypeCacheUpdateResponse.fromCache(caching.getRelationTypeCache().getAll());
+ transalatorId = CoreTranslatorId.RELATION_TYPE_CACHE_UPDATE_RESPONSE;
+ break;
+ default:
+ throw new OseeArgumentException(String.format("Invalid cacheId [%s]", updateRequest.getCacheId()));
+ }
+ return new Pair<Object, ITranslatorId>(response, transalatorId);
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/OseeModelServlet.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/OseeModelServlet.java
index 83d62193723..c733d0cad4e 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/OseeModelServlet.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/OseeModelServlet.java
@@ -1,107 +1,107 @@
-/*******************************************************************************
- * 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.manager.servlet;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.logging.Level;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.eclipse.osee.framework.core.enums.CoreTranslatorId;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.core.message.IOseeModelingService;
-import org.eclipse.osee.framework.core.message.OseeImportModelRequest;
-import org.eclipse.osee.framework.core.message.OseeImportModelResponse;
-import org.eclipse.osee.framework.core.operation.LogProgressMonitor;
-import org.eclipse.osee.framework.core.server.ISessionManager;
-import org.eclipse.osee.framework.core.server.SecureOseeHttpServlet;
-import org.eclipse.osee.framework.core.translation.IDataTranslationService;
-import org.eclipse.osee.framework.jdk.core.util.Lib;
-import org.eclipse.osee.framework.logging.OseeLog;
-import org.eclipse.osee.framework.manager.servlet.internal.Activator;
-
-/**
- * @author Roberto E. Escobar
- */
-public class OseeModelServlet extends SecureOseeHttpServlet {
-
- private static final long serialVersionUID = -2639113870500561780L;
-
- private final IOseeModelingService modelingService;
- private final IDataTranslationService dataTransalatorService;
-
- public OseeModelServlet(ISessionManager sessionManager, IDataTranslationService dataTransalatorService, IOseeModelingService modelingService) {
- super(sessionManager);
- this.dataTransalatorService = dataTransalatorService;
- this.modelingService = modelingService;
- }
-
- private IOseeModelingService getModelingService() {
- return modelingService;
- }
-
- @Override
- protected void checkAccessControl(HttpServletRequest request) throws OseeCoreException {
- if (!request.getMethod().equalsIgnoreCase("GET")) {
- super.checkAccessControl(request);
- }
- }
-
- private void handleError(HttpServletResponse resp, String request, Throwable th) throws IOException {
- OseeLog.log(Activator.class, Level.SEVERE, String.format("Osee Cache request error: [%s]", request), th);
- resp.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
- resp.setContentType("text/plain");
- resp.getWriter().write(Lib.exceptionToString(th));
- resp.getWriter().flush();
- resp.getWriter().close();
- }
-
- @Override
- protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
- try {
- ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
-
- getModelingService().exportOseeTypes(new LogProgressMonitor(), outputStream);
- resp.setStatus(HttpServletResponse.SC_ACCEPTED);
- resp.setContentType("text/plain");
- resp.setCharacterEncoding("UTF-8");
-
- Lib.inputStreamToOutputStream(new ByteArrayInputStream(outputStream.toByteArray()), resp.getOutputStream());
- } catch (Exception ex) {
- handleError(resp, req.getQueryString(), ex);
- }
- }
-
- @Override
- protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
- try {
- IDataTranslationService service = dataTransalatorService;
- OseeImportModelRequest modelRequest =
- service.convert(req.getInputStream(), CoreTranslatorId.OSEE_IMPORT_MODEL_REQUEST);
-
- OseeImportModelResponse modelResponse = new OseeImportModelResponse();
-
- getModelingService().importOseeTypes(new LogProgressMonitor(), isInitializing(req), modelRequest,
- modelResponse);
-
- resp.setStatus(HttpServletResponse.SC_ACCEPTED);
- resp.setContentType("text/xml");
- resp.setCharacterEncoding("UTF-8");
-
- InputStream inputStream = service.convertToStream(modelResponse, CoreTranslatorId.OSEE_IMPORT_MODEL_RESPONSE);
- Lib.inputStreamToOutputStream(inputStream, resp.getOutputStream());
- } catch (Exception ex) {
- handleError(resp, req.toString(), ex);
- }
- }
-}
+/*******************************************************************************
+ * 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.manager.servlet;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.logging.Level;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.eclipse.osee.framework.core.enums.CoreTranslatorId;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.core.message.IOseeModelingService;
+import org.eclipse.osee.framework.core.message.OseeImportModelRequest;
+import org.eclipse.osee.framework.core.message.OseeImportModelResponse;
+import org.eclipse.osee.framework.core.operation.LogProgressMonitor;
+import org.eclipse.osee.framework.core.server.ISessionManager;
+import org.eclipse.osee.framework.core.server.SecureOseeHttpServlet;
+import org.eclipse.osee.framework.core.translation.IDataTranslationService;
+import org.eclipse.osee.framework.jdk.core.util.Lib;
+import org.eclipse.osee.framework.logging.OseeLog;
+import org.eclipse.osee.framework.manager.servlet.internal.Activator;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class OseeModelServlet extends SecureOseeHttpServlet {
+
+ private static final long serialVersionUID = -2639113870500561780L;
+
+ private final IOseeModelingService modelingService;
+ private final IDataTranslationService dataTransalatorService;
+
+ public OseeModelServlet(ISessionManager sessionManager, IDataTranslationService dataTransalatorService, IOseeModelingService modelingService) {
+ super(sessionManager);
+ this.dataTransalatorService = dataTransalatorService;
+ this.modelingService = modelingService;
+ }
+
+ private IOseeModelingService getModelingService() {
+ return modelingService;
+ }
+
+ @Override
+ protected void checkAccessControl(HttpServletRequest request) throws OseeCoreException {
+ if (!request.getMethod().equalsIgnoreCase("GET")) {
+ super.checkAccessControl(request);
+ }
+ }
+
+ private void handleError(HttpServletResponse resp, String request, Throwable th) throws IOException {
+ OseeLog.log(Activator.class, Level.SEVERE, String.format("Osee Cache request error: [%s]", request), th);
+ resp.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
+ resp.setContentType("text/plain");
+ resp.getWriter().write(Lib.exceptionToString(th));
+ resp.getWriter().flush();
+ resp.getWriter().close();
+ }
+
+ @Override
+ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
+ try {
+ ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
+
+ getModelingService().exportOseeTypes(new LogProgressMonitor(), outputStream);
+ resp.setStatus(HttpServletResponse.SC_ACCEPTED);
+ resp.setContentType("text/plain");
+ resp.setCharacterEncoding("UTF-8");
+
+ Lib.inputStreamToOutputStream(new ByteArrayInputStream(outputStream.toByteArray()), resp.getOutputStream());
+ } catch (Exception ex) {
+ handleError(resp, req.getQueryString(), ex);
+ }
+ }
+
+ @Override
+ protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
+ try {
+ IDataTranslationService service = dataTransalatorService;
+ OseeImportModelRequest modelRequest =
+ service.convert(req.getInputStream(), CoreTranslatorId.OSEE_IMPORT_MODEL_REQUEST);
+
+ OseeImportModelResponse modelResponse = new OseeImportModelResponse();
+
+ getModelingService().importOseeTypes(new LogProgressMonitor(), isInitializing(req), modelRequest,
+ modelResponse);
+
+ resp.setStatus(HttpServletResponse.SC_ACCEPTED);
+ resp.setContentType("text/xml");
+ resp.setCharacterEncoding("UTF-8");
+
+ InputStream inputStream = service.convertToStream(modelResponse, CoreTranslatorId.OSEE_IMPORT_MODEL_RESPONSE);
+ Lib.inputStreamToOutputStream(inputStream, resp.getOutputStream());
+ } catch (Exception ex) {
+ handleError(resp, req.toString(), ex);
+ }
+ }
+}
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ResourceManagerServlet.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ResourceManagerServlet.java
index 295195fda63..8808462ef75 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ResourceManagerServlet.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ResourceManagerServlet.java
@@ -1,201 +1,201 @@
-/*******************************************************************************
- * 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.manager.servlet;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.HttpURLConnection;
-import java.util.HashSet;
-import java.util.Set;
-import java.util.logging.Level;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.core.server.ISessionManager;
-import org.eclipse.osee.framework.core.server.SecureOseeHttpServlet;
-import org.eclipse.osee.framework.jdk.core.type.Pair;
-import org.eclipse.osee.framework.jdk.core.util.Lib;
-import org.eclipse.osee.framework.logging.OseeLog;
-import org.eclipse.osee.framework.manager.servlet.data.HttpRequestDecoder;
-import org.eclipse.osee.framework.manager.servlet.data.ServletResourceBridge;
-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.exception.EmptyResourceException;
-import org.eclipse.osee.framework.resource.management.exception.MalformedLocatorException;
-
-/**
- * This class is responsible for managing server-side resources. The class accepts HTTP requests to perform uploads,
- * deletes, and gets from clients granting access to server-side managed resources.
- *
- * @author Robeto E. Escobar
- */
-public class ResourceManagerServlet extends SecureOseeHttpServlet {
- private static final long serialVersionUID = 3777506351978711657L;
-
- private final IResourceLocatorManager locatorManager;
- private final IResourceManager resourceManager;
-
- public ResourceManagerServlet(ISessionManager sessionManager, IResourceLocatorManager locatorManager, IResourceManager resourceManager) {
- super(sessionManager);
- this.locatorManager = locatorManager;
- this.resourceManager = resourceManager;
- }
-
- private void handleError(HttpServletResponse response, String message, Throwable ex) {
- OseeLog.log(this.getClass(), Level.SEVERE, message, ex);
- try {
- response.getWriter().println(message);
- } catch (IOException ex1) {
- OseeLog.log(this.getClass(), Level.SEVERE, message, ex);
- }
- }
-
- @Override
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- InputStream inputStream = null;
- try {
- Pair<String, Boolean> parameters = HttpRequestDecoder.fromGetRequest(request);
- String path = parameters.getFirst();
- boolean isCheckExistance = parameters.getSecond();
- Options options = HttpRequestDecoder.getOptions(request);
-
- IResourceLocator locator = locatorManager.getResourceLocator(path);
-
- if (isCheckExistance) {
- boolean exists = resourceManager.exists(locator);
- response.setStatus(exists ? HttpServletResponse.SC_OK : HttpServletResponse.SC_NOT_FOUND);
- response.setContentType("text/plain");
- response.setCharacterEncoding("UTF-8");
- response.getWriter().println(String.format("[%s] was %sfound.", path, exists ? "" : "not "));
- } else {
- IResource resource = resourceManager.acquire(locator, options);
- if (resource != null) {
- inputStream = resource.getContent();
-
- response.setStatus(HttpServletResponse.SC_OK);
- response.setContentLength(inputStream.available());
- response.setCharacterEncoding("ISO-8859-1");
- String mimeType = HttpURLConnection.guessContentTypeFromStream(inputStream);
- if (mimeType == null) {
- mimeType = HttpURLConnection.guessContentTypeFromName(resource.getLocation().toString());
- if (mimeType == null) {
- mimeType = "application/*";
- }
- }
- response.setContentType(mimeType);
- response.setHeader("Content-Disposition", "attachment; filename=" + resource.getName());
-
- Lib.inputStreamToOutputStream(inputStream, response.getOutputStream());
- } else {
- response.setStatus(HttpServletResponse.SC_NOT_FOUND);
- response.flushBuffer();
- }
- }
- } catch (MalformedLocatorException ex) {
- response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
- response.setContentType("text/plain");
- response.setCharacterEncoding("UTF-8");
- handleError(response, String.format("Unable to locate resource: [%s]", request.getRequestURI()), ex);
- } catch (Exception ex) {
- response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
- response.setContentType("text/plain");
- response.setCharacterEncoding("UTF-8");
- handleError(response, String.format("Unable to acquire resource: [%s]", request.getRequestURI()), ex);
- } finally {
- if (inputStream != null) {
- inputStream.close();
- }
- }
- }
-
- @Override
- protected void doPut(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- int result = HttpServletResponse.SC_BAD_REQUEST;
- try {
- String[] args = HttpRequestDecoder.fromPutRequest(request);
- Options options = HttpRequestDecoder.getOptions(request);
-
- IResourceLocator locator = locatorManager.generateResourceLocator(args[0], args[1], args[2]);
- IResource tempResource = new ServletResourceBridge(request, locator);
-
- IResourceLocator actualLocator = resourceManager.save(locator, tempResource, options);
- result = HttpServletResponse.SC_CREATED;
- response.setStatus(result);
- response.setContentType("text/plain");
- response.getWriter().write(actualLocator.toString());
- } catch (MalformedLocatorException ex) {
- response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
- response.setContentType("text/plain");
- handleError(
- response,
- String.format("Unable to locate resource: [%s] - %s", request.getRequestURI(),
- ex.getLocalizedMessage()), ex);
- } catch (EmptyResourceException ex) {
- response.setStatus(HttpServletResponse.SC_NO_CONTENT);
- response.setContentType("text/plain");
- handleError(
- response,
- String.format("Unable to store empty resource: [%s] - %s", request.getRequestURI(),
- ex.getLocalizedMessage()), ex);
- } catch (Exception ex) {
- response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
- response.setContentType("text/plain");
- handleError(response, String.format("Error saving resource: [%s]", ex.getLocalizedMessage()), ex);
- }
- }
-
- @Override
- protected void doDelete(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- int result = HttpServletResponse.SC_BAD_REQUEST;
- try {
- String path = HttpRequestDecoder.fromDeleteRequest(request);
- IResourceLocator locator = locatorManager.getResourceLocator(path);
- int status = IResourceManager.OK;
- //Activator.getInstance().getResourceManager().delete(locator);
- if (status == IResourceManager.OK) {
- result = HttpServletResponse.SC_ACCEPTED;
- } else {
- result = HttpServletResponse.SC_INTERNAL_SERVER_ERROR;
- }
- response.setStatus(result);
- response.setContentType("text/plain");
- response.getWriter().write("Deleted: " + locator.toString());
- response.flushBuffer();
- } catch (MalformedLocatorException ex) {
- response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
- response.setContentType("text/plain");
- handleError(response, String.format("Unable to locate resource: [%s]", request.getRequestURI()), ex);
- } catch (Exception ex) {
- response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
- response.setContentType("text/plain");
- handleError(response, String.format("Unable to delete resource: [%s]", request.getRequestURI()), ex);
- }
- }
-
- // TODO Allow for bulk loading of resources
- @Override
- protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- super.doPost(req, resp); // Remove this line once implemented
-
- Set<IResourceLocator> locators = new HashSet<IResourceLocator>();
- for (IResourceLocator locator : locators) {
- try {
- Options options = new Options();
- resourceManager.acquire(locator, options);
- } catch (OseeCoreException ex) {
- }
- }
- }
-}
+/*******************************************************************************
+ * 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.manager.servlet;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.HttpURLConnection;
+import java.util.HashSet;
+import java.util.Set;
+import java.util.logging.Level;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.core.server.ISessionManager;
+import org.eclipse.osee.framework.core.server.SecureOseeHttpServlet;
+import org.eclipse.osee.framework.jdk.core.type.Pair;
+import org.eclipse.osee.framework.jdk.core.util.Lib;
+import org.eclipse.osee.framework.logging.OseeLog;
+import org.eclipse.osee.framework.manager.servlet.data.HttpRequestDecoder;
+import org.eclipse.osee.framework.manager.servlet.data.ServletResourceBridge;
+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.exception.EmptyResourceException;
+import org.eclipse.osee.framework.resource.management.exception.MalformedLocatorException;
+
+/**
+ * This class is responsible for managing server-side resources. The class accepts HTTP requests to perform uploads,
+ * deletes, and gets from clients granting access to server-side managed resources.
+ *
+ * @author Robeto E. Escobar
+ */
+public class ResourceManagerServlet extends SecureOseeHttpServlet {
+ private static final long serialVersionUID = 3777506351978711657L;
+
+ private final IResourceLocatorManager locatorManager;
+ private final IResourceManager resourceManager;
+
+ public ResourceManagerServlet(ISessionManager sessionManager, IResourceLocatorManager locatorManager, IResourceManager resourceManager) {
+ super(sessionManager);
+ this.locatorManager = locatorManager;
+ this.resourceManager = resourceManager;
+ }
+
+ private void handleError(HttpServletResponse response, String message, Throwable ex) {
+ OseeLog.log(this.getClass(), Level.SEVERE, message, ex);
+ try {
+ response.getWriter().println(message);
+ } catch (IOException ex1) {
+ OseeLog.log(this.getClass(), Level.SEVERE, message, ex);
+ }
+ }
+
+ @Override
+ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ InputStream inputStream = null;
+ try {
+ Pair<String, Boolean> parameters = HttpRequestDecoder.fromGetRequest(request);
+ String path = parameters.getFirst();
+ boolean isCheckExistance = parameters.getSecond();
+ Options options = HttpRequestDecoder.getOptions(request);
+
+ IResourceLocator locator = locatorManager.getResourceLocator(path);
+
+ if (isCheckExistance) {
+ boolean exists = resourceManager.exists(locator);
+ response.setStatus(exists ? HttpServletResponse.SC_OK : HttpServletResponse.SC_NOT_FOUND);
+ response.setContentType("text/plain");
+ response.setCharacterEncoding("UTF-8");
+ response.getWriter().println(String.format("[%s] was %sfound.", path, exists ? "" : "not "));
+ } else {
+ IResource resource = resourceManager.acquire(locator, options);
+ if (resource != null) {
+ inputStream = resource.getContent();
+
+ response.setStatus(HttpServletResponse.SC_OK);
+ response.setContentLength(inputStream.available());
+ response.setCharacterEncoding("ISO-8859-1");
+ String mimeType = HttpURLConnection.guessContentTypeFromStream(inputStream);
+ if (mimeType == null) {
+ mimeType = HttpURLConnection.guessContentTypeFromName(resource.getLocation().toString());
+ if (mimeType == null) {
+ mimeType = "application/*";
+ }
+ }
+ response.setContentType(mimeType);
+ response.setHeader("Content-Disposition", "attachment; filename=" + resource.getName());
+
+ Lib.inputStreamToOutputStream(inputStream, response.getOutputStream());
+ } else {
+ response.setStatus(HttpServletResponse.SC_NOT_FOUND);
+ response.flushBuffer();
+ }
+ }
+ } catch (MalformedLocatorException ex) {
+ response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
+ response.setContentType("text/plain");
+ response.setCharacterEncoding("UTF-8");
+ handleError(response, String.format("Unable to locate resource: [%s]", request.getRequestURI()), ex);
+ } catch (Exception ex) {
+ response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
+ response.setContentType("text/plain");
+ response.setCharacterEncoding("UTF-8");
+ handleError(response, String.format("Unable to acquire resource: [%s]", request.getRequestURI()), ex);
+ } finally {
+ if (inputStream != null) {
+ inputStream.close();
+ }
+ }
+ }
+
+ @Override
+ protected void doPut(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ int result = HttpServletResponse.SC_BAD_REQUEST;
+ try {
+ String[] args = HttpRequestDecoder.fromPutRequest(request);
+ Options options = HttpRequestDecoder.getOptions(request);
+
+ IResourceLocator locator = locatorManager.generateResourceLocator(args[0], args[1], args[2]);
+ IResource tempResource = new ServletResourceBridge(request, locator);
+
+ IResourceLocator actualLocator = resourceManager.save(locator, tempResource, options);
+ result = HttpServletResponse.SC_CREATED;
+ response.setStatus(result);
+ response.setContentType("text/plain");
+ response.getWriter().write(actualLocator.toString());
+ } catch (MalformedLocatorException ex) {
+ response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
+ response.setContentType("text/plain");
+ handleError(
+ response,
+ String.format("Unable to locate resource: [%s] - %s", request.getRequestURI(),
+ ex.getLocalizedMessage()), ex);
+ } catch (EmptyResourceException ex) {
+ response.setStatus(HttpServletResponse.SC_NO_CONTENT);
+ response.setContentType("text/plain");
+ handleError(
+ response,
+ String.format("Unable to store empty resource: [%s] - %s", request.getRequestURI(),
+ ex.getLocalizedMessage()), ex);
+ } catch (Exception ex) {
+ response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
+ response.setContentType("text/plain");
+ handleError(response, String.format("Error saving resource: [%s]", ex.getLocalizedMessage()), ex);
+ }
+ }
+
+ @Override
+ protected void doDelete(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ int result = HttpServletResponse.SC_BAD_REQUEST;
+ try {
+ String path = HttpRequestDecoder.fromDeleteRequest(request);
+ IResourceLocator locator = locatorManager.getResourceLocator(path);
+ int status = IResourceManager.OK;
+ //Activator.getInstance().getResourceManager().delete(locator);
+ if (status == IResourceManager.OK) {
+ result = HttpServletResponse.SC_ACCEPTED;
+ } else {
+ result = HttpServletResponse.SC_INTERNAL_SERVER_ERROR;
+ }
+ response.setStatus(result);
+ response.setContentType("text/plain");
+ response.getWriter().write("Deleted: " + locator.toString());
+ response.flushBuffer();
+ } catch (MalformedLocatorException ex) {
+ response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
+ response.setContentType("text/plain");
+ handleError(response, String.format("Unable to locate resource: [%s]", request.getRequestURI()), ex);
+ } catch (Exception ex) {
+ response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
+ response.setContentType("text/plain");
+ handleError(response, String.format("Unable to delete resource: [%s]", request.getRequestURI()), ex);
+ }
+ }
+
+ // TODO Allow for bulk loading of resources
+ @Override
+ protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+ super.doPost(req, resp); // Remove this line once implemented
+
+ Set<IResourceLocator> locators = new HashSet<IResourceLocator>();
+ for (IResourceLocator locator : locators) {
+ try {
+ Options options = new Options();
+ resourceManager.acquire(locator, options);
+ } catch (OseeCoreException ex) {
+ }
+ }
+ }
+}
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/SearchEngineServlet.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/SearchEngineServlet.java
index 5e97ba39034..6aa291aa89b 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/SearchEngineServlet.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/SearchEngineServlet.java
@@ -1,163 +1,163 @@
-/*******************************************************************************
- * 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.manager.servlet;
-
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.Collection;
-import java.util.logging.Level;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.eclipse.osee.framework.core.model.cache.AttributeTypeCache;
-import org.eclipse.osee.framework.core.model.type.AttributeType;
-import org.eclipse.osee.framework.core.server.ISessionManager;
-import org.eclipse.osee.framework.core.server.SecureOseeHttpServlet;
-import org.eclipse.osee.framework.core.services.IOseeCachingService;
-import org.eclipse.osee.framework.database.core.JoinUtility;
-import org.eclipse.osee.framework.database.core.JoinUtility.ArtifactJoinQuery;
-import org.eclipse.osee.framework.jdk.core.util.Lib;
-import org.eclipse.osee.framework.logging.OseeLog;
-import org.eclipse.osee.framework.manager.servlet.data.HttpSearchInfo;
-import org.eclipse.osee.framework.manager.servlet.internal.Activator;
-import org.eclipse.osee.framework.search.engine.ISearchEngine;
-import org.eclipse.osee.framework.search.engine.MatchLocation;
-import org.eclipse.osee.framework.search.engine.SearchOptions.SearchOptionsEnum;
-import org.eclipse.osee.framework.search.engine.SearchResult;
-import org.eclipse.osee.framework.search.engine.SearchResult.ArtifactMatch;
-
-/**
- * @author Roberto E. Escobar
- */
-public class SearchEngineServlet extends SecureOseeHttpServlet {
-
- private static final long serialVersionUID = 3722992788943330970L;
-
- private final ISearchEngine searchEngine;
- private final IOseeCachingService cacheService;
-
- public SearchEngineServlet(ISessionManager sessionManager, ISearchEngine searchEngine, IOseeCachingService cacheService) {
- super(sessionManager);
- this.searchEngine = searchEngine;
- this.cacheService = cacheService;
- }
-
- @Override
- protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- try {
- HttpSearchInfo searchInfo = HttpSearchInfo.loadFromPost(request);
-
- String clientVersion = ModCompatible.getClientVersion(getSessionManager(), request.getParameter("sessionId"));
- boolean isCompatible = ModCompatible.is_0_9_2_Compatible(clientVersion);
-
- executeSearch(isCompatible, searchInfo, response, false);
- } catch (Exception ex) {
- response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
- response.setContentType("text/plain");
- OseeLog.log(Activator.class, Level.SEVERE,
- String.format("Failed to respond to a search engine servlet request [%s]", request.getRequestURL()),
- ex);
- response.getWriter().write(Lib.exceptionToString(ex));
- }
- }
-
- private void executeSearch(boolean isCompatible, HttpSearchInfo searchInfo, HttpServletResponse response, boolean wasFromGet) throws IOException {
- try {
- AttributeTypeCache attributeTypeCache = cacheService.getAttributeTypeCache();
-
- String[] attributeTypeGuids = searchInfo.getAttributeTypeGuids();
- AttributeType[] attributeTypes = new AttributeType[attributeTypeGuids.length];
-
- int index = 0;
- for (String attributeTypeValue : attributeTypeGuids) {
- if (!isCompatible) {
- attributeTypes[index++] = attributeTypeCache.getBySoleName(attributeTypeValue);
- } else {
- attributeTypes[index++] = attributeTypeCache.getByGuid(attributeTypeValue);
- }
- }
-
- SearchResult results =
- searchEngine.search(searchInfo.getQuery(), searchInfo.getId(), searchInfo.getOptions(),
- attributeTypes);
- response.setStatus(wasFromGet ? HttpServletResponse.SC_OK : HttpServletResponse.SC_ACCEPTED);
- if (!results.isEmpty()) {
- long start = System.currentTimeMillis();
- if (!searchInfo.getOptions().getBoolean(SearchOptionsEnum.as_xml.asStringOption())) {
- sendAsDbJoin(response, results);
- } else {
- sendAsXml(response, results);
- }
- System.out.println(String.format("Search for [%s] - [%d results sent in %d ms]", searchInfo.getQuery(),
- results.size(), System.currentTimeMillis() - start));
- } else {
- response.setCharacterEncoding("UTF-8");
- response.setContentType("text/plain");
- }
- } catch (Exception ex) {
- response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
- response.setContentType("text/plain");
- OseeLog.log(Activator.class, Level.SEVERE,
- String.format("Failed to respond to a search engine servlet request [%s]", searchInfo.toString()), ex);
- response.getWriter().write(Lib.exceptionToString(ex));
- }
- response.getWriter().flush();
- response.getWriter().close();
- }
-
- private void sendAsDbJoin(HttpServletResponse response, SearchResult results) throws Exception {
- response.setCharacterEncoding("UTF-8");
- response.setContentType("text/plain");
-
- ArtifactJoinQuery joinQuery = JoinUtility.createArtifactJoinQuery();
- for (Integer branchId : results.getBranchIds()) {
- for (Integer artId : results.getArtifactIds(branchId)) {
- joinQuery.add(artId, branchId);
- }
- }
- joinQuery.store();
- response.getWriter().write(String.format("%d,%d", joinQuery.getQueryId(), joinQuery.size()));
- }
-
- /**
- * <match artId="" branchId=""> <attr gammaId=""><location start="" end="" /></attr> </match>
- *
- * @throws Exception
- */
- private void sendAsXml(HttpServletResponse response, SearchResult results) throws Exception {
- response.setCharacterEncoding("UTF-8");
- response.setContentType("text/xml");
- PrintWriter writer = response.getWriter();
-
- writer.write("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>");
- writer.write("<search>");
- for (Integer branchId : results.getBranchIds()) {
- writer.write(String.format("<match branchId=\"%s\">", branchId));
- for (ArtifactMatch match : results.getArtifacts(branchId)) {
- writer.write(String.format("<art artId=\"%s\" >", match.getArtId()));
- for (Long gammaId : match.getAttributes()) {
- Collection<MatchLocation> locations = match.getMatchLocations(gammaId);
- writer.write(String.format("<attr gammaId=\"%s\">", gammaId));
- if (locations != null) {
- for (MatchLocation location : locations) {
- writer.write(String.format("<location start=\"%s\" end=\"%s\" />", location.getStartPosition(),
- location.getEndPosition()));
- }
- }
- writer.write("</attr>");
- }
- writer.write("</art>");
- }
- writer.write("</match>");
- }
- writer.write("</search>");
- }
-}
+/*******************************************************************************
+ * 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.manager.servlet;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.Collection;
+import java.util.logging.Level;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.eclipse.osee.framework.core.model.cache.AttributeTypeCache;
+import org.eclipse.osee.framework.core.model.type.AttributeType;
+import org.eclipse.osee.framework.core.server.ISessionManager;
+import org.eclipse.osee.framework.core.server.SecureOseeHttpServlet;
+import org.eclipse.osee.framework.core.services.IOseeCachingService;
+import org.eclipse.osee.framework.database.core.JoinUtility;
+import org.eclipse.osee.framework.database.core.JoinUtility.ArtifactJoinQuery;
+import org.eclipse.osee.framework.jdk.core.util.Lib;
+import org.eclipse.osee.framework.logging.OseeLog;
+import org.eclipse.osee.framework.manager.servlet.data.HttpSearchInfo;
+import org.eclipse.osee.framework.manager.servlet.internal.Activator;
+import org.eclipse.osee.framework.search.engine.ISearchEngine;
+import org.eclipse.osee.framework.search.engine.MatchLocation;
+import org.eclipse.osee.framework.search.engine.SearchOptions.SearchOptionsEnum;
+import org.eclipse.osee.framework.search.engine.SearchResult;
+import org.eclipse.osee.framework.search.engine.SearchResult.ArtifactMatch;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class SearchEngineServlet extends SecureOseeHttpServlet {
+
+ private static final long serialVersionUID = 3722992788943330970L;
+
+ private final ISearchEngine searchEngine;
+ private final IOseeCachingService cacheService;
+
+ public SearchEngineServlet(ISessionManager sessionManager, ISearchEngine searchEngine, IOseeCachingService cacheService) {
+ super(sessionManager);
+ this.searchEngine = searchEngine;
+ this.cacheService = cacheService;
+ }
+
+ @Override
+ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ try {
+ HttpSearchInfo searchInfo = HttpSearchInfo.loadFromPost(request);
+
+ String clientVersion = ModCompatible.getClientVersion(getSessionManager(), request.getParameter("sessionId"));
+ boolean isCompatible = ModCompatible.is_0_9_2_Compatible(clientVersion);
+
+ executeSearch(isCompatible, searchInfo, response, false);
+ } catch (Exception ex) {
+ response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
+ response.setContentType("text/plain");
+ OseeLog.log(Activator.class, Level.SEVERE,
+ String.format("Failed to respond to a search engine servlet request [%s]", request.getRequestURL()),
+ ex);
+ response.getWriter().write(Lib.exceptionToString(ex));
+ }
+ }
+
+ private void executeSearch(boolean isCompatible, HttpSearchInfo searchInfo, HttpServletResponse response, boolean wasFromGet) throws IOException {
+ try {
+ AttributeTypeCache attributeTypeCache = cacheService.getAttributeTypeCache();
+
+ String[] attributeTypeGuids = searchInfo.getAttributeTypeGuids();
+ AttributeType[] attributeTypes = new AttributeType[attributeTypeGuids.length];
+
+ int index = 0;
+ for (String attributeTypeValue : attributeTypeGuids) {
+ if (!isCompatible) {
+ attributeTypes[index++] = attributeTypeCache.getBySoleName(attributeTypeValue);
+ } else {
+ attributeTypes[index++] = attributeTypeCache.getByGuid(attributeTypeValue);
+ }
+ }
+
+ SearchResult results =
+ searchEngine.search(searchInfo.getQuery(), searchInfo.getId(), searchInfo.getOptions(),
+ attributeTypes);
+ response.setStatus(wasFromGet ? HttpServletResponse.SC_OK : HttpServletResponse.SC_ACCEPTED);
+ if (!results.isEmpty()) {
+ long start = System.currentTimeMillis();
+ if (!searchInfo.getOptions().getBoolean(SearchOptionsEnum.as_xml.asStringOption())) {
+ sendAsDbJoin(response, results);
+ } else {
+ sendAsXml(response, results);
+ }
+ System.out.println(String.format("Search for [%s] - [%d results sent in %d ms]", searchInfo.getQuery(),
+ results.size(), System.currentTimeMillis() - start));
+ } else {
+ response.setCharacterEncoding("UTF-8");
+ response.setContentType("text/plain");
+ }
+ } catch (Exception ex) {
+ response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
+ response.setContentType("text/plain");
+ OseeLog.log(Activator.class, Level.SEVERE,
+ String.format("Failed to respond to a search engine servlet request [%s]", searchInfo.toString()), ex);
+ response.getWriter().write(Lib.exceptionToString(ex));
+ }
+ response.getWriter().flush();
+ response.getWriter().close();
+ }
+
+ private void sendAsDbJoin(HttpServletResponse response, SearchResult results) throws Exception {
+ response.setCharacterEncoding("UTF-8");
+ response.setContentType("text/plain");
+
+ ArtifactJoinQuery joinQuery = JoinUtility.createArtifactJoinQuery();
+ for (Integer branchId : results.getBranchIds()) {
+ for (Integer artId : results.getArtifactIds(branchId)) {
+ joinQuery.add(artId, branchId);
+ }
+ }
+ joinQuery.store();
+ response.getWriter().write(String.format("%d,%d", joinQuery.getQueryId(), joinQuery.size()));
+ }
+
+ /**
+ * <match artId="" branchId=""> <attr gammaId=""><location start="" end="" /></attr> </match>
+ *
+ * @throws Exception
+ */
+ private void sendAsXml(HttpServletResponse response, SearchResult results) throws Exception {
+ response.setCharacterEncoding("UTF-8");
+ response.setContentType("text/xml");
+ PrintWriter writer = response.getWriter();
+
+ writer.write("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>");
+ writer.write("<search>");
+ for (Integer branchId : results.getBranchIds()) {
+ writer.write(String.format("<match branchId=\"%s\">", branchId));
+ for (ArtifactMatch match : results.getArtifacts(branchId)) {
+ writer.write(String.format("<art artId=\"%s\" >", match.getArtId()));
+ for (Long gammaId : match.getAttributes()) {
+ Collection<MatchLocation> locations = match.getMatchLocations(gammaId);
+ writer.write(String.format("<attr gammaId=\"%s\">", gammaId));
+ if (locations != null) {
+ for (MatchLocation location : locations) {
+ writer.write(String.format("<location start=\"%s\" end=\"%s\" />", location.getStartPosition(),
+ location.getEndPosition()));
+ }
+ }
+ writer.write("</attr>");
+ }
+ writer.write("</art>");
+ }
+ writer.write("</match>");
+ }
+ writer.write("</search>");
+ }
+}
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/SearchEngineTaggerServlet.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/SearchEngineTaggerServlet.java
index 2a13bc31d36..2c572d4d7dd 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/SearchEngineTaggerServlet.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/SearchEngineTaggerServlet.java
@@ -1,133 +1,133 @@
-/*******************************************************************************
- * 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.manager.servlet;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.logging.Level;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.eclipse.osee.framework.core.server.ISessionManager;
-import org.eclipse.osee.framework.core.server.SecureOseeHttpServlet;
-import org.eclipse.osee.framework.jdk.core.util.Lib;
-import org.eclipse.osee.framework.logging.OseeLog;
-import org.eclipse.osee.framework.manager.servlet.data.TagListener;
-import org.eclipse.osee.framework.manager.servlet.internal.Activator;
-import org.eclipse.osee.framework.search.engine.ISearchEngineTagger;
-
-/**
- * @author Roberto E. Escobar
- */
-public class SearchEngineTaggerServlet extends SecureOseeHttpServlet {
- private static final long serialVersionUID = 5104108752343302320L;
-
- private final ISearchEngineTagger searchTaggerService;
-
- public SearchEngineTaggerServlet(ISessionManager sessionManager, ISearchEngineTagger searchTaggerService) {
- super(sessionManager);
- this.searchTaggerService = searchTaggerService;
- }
-
- @Override
- protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- long start = System.currentTimeMillis();
- try {
- StringBuffer message = new StringBuffer();
- int branchId = Integer.parseInt(request.getParameter("branchId"));
- boolean waitForTags = Boolean.parseBoolean(request.getParameter("wait"));
- if (waitForTags) {
- TagListener listener = new TagListener();
- searchTaggerService.tagByBranchId(listener, branchId);
- if (listener.wasProcessed() != true) {
- synchronized (listener) {
- listener.wait();
- }
- }
- message.append(String.format("Processed %d queries containing %d attributes in %d ms.",
- listener.getQueryCount(), listener.getAttributeCount(), System.currentTimeMillis() - start));
- } else {
- searchTaggerService.tagByBranchId(branchId);
- }
- response.setContentType("text/plain");
- response.setCharacterEncoding("UTF-8");
- response.setStatus(HttpServletResponse.SC_ACCEPTED);
- response.getWriter().write(message.toString());
- } catch (Exception ex) {
- response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
- response.setContentType("text/plain");
- OseeLog.log(Activator.class, Level.SEVERE,
- String.format("Error submitting for tagging - [%s]", request.toString()), ex);
- response.getWriter().write(Lib.exceptionToString(ex));
- }
- response.getWriter().flush();
- response.getWriter().close();
- }
-
- @Override
- protected void doPut(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- InputStream inputStream = null;
- try {
- boolean waitForTags = Boolean.parseBoolean(request.getParameter("wait"));
- inputStream = request.getInputStream();
- if (waitForTags) {
- TagListener listener = new TagListener();
- searchTaggerService.tagFromXmlStream(listener, inputStream);
- if (listener.wasProcessed() != true) {
- synchronized (listener) {
- listener.wait();
- }
- }
- } else {
- searchTaggerService.tagFromXmlStream(inputStream);
- }
- response.setContentType("text/plain");
- response.setCharacterEncoding("UTF-8");
- response.setStatus(HttpServletResponse.SC_CREATED);
- } catch (Exception ex) {
- response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
- response.setContentType("text/plain");
- OseeLog.log(Activator.class, Level.SEVERE,
- String.format("Error submitting for tagging - [%s]", request.toString()), ex);
- response.getWriter().write(Lib.exceptionToString(ex));
- } finally {
- if (inputStream != null) {
- inputStream.close();
- }
- response.getWriter().flush();
- response.getWriter().close();
- }
- }
-
- @Override
- protected void doDelete(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- try {
- String queryId = request.getParameter("queryId");
- int value = searchTaggerService.deleteTags(Integer.parseInt(queryId));
- response.setContentType("text/plain");
- response.setCharacterEncoding("UTF-8");
- if (value > 0) {
- response.setStatus(HttpServletResponse.SC_ACCEPTED);
- } else {
- response.setStatus(HttpServletResponse.SC_NOT_FOUND);
- }
- } catch (Exception ex) {
- response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
- response.setContentType("text/plain");
- OseeLog.log(Activator.class, Level.SEVERE,
- String.format("Error submitting for tagging - [%s]", request.toString()), ex);
- response.getWriter().write(Lib.exceptionToString(ex));
- } finally {
- response.getWriter().flush();
- response.getWriter().close();
- }
- }
-}
+/*******************************************************************************
+ * 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.manager.servlet;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.logging.Level;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.eclipse.osee.framework.core.server.ISessionManager;
+import org.eclipse.osee.framework.core.server.SecureOseeHttpServlet;
+import org.eclipse.osee.framework.jdk.core.util.Lib;
+import org.eclipse.osee.framework.logging.OseeLog;
+import org.eclipse.osee.framework.manager.servlet.data.TagListener;
+import org.eclipse.osee.framework.manager.servlet.internal.Activator;
+import org.eclipse.osee.framework.search.engine.ISearchEngineTagger;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class SearchEngineTaggerServlet extends SecureOseeHttpServlet {
+ private static final long serialVersionUID = 5104108752343302320L;
+
+ private final ISearchEngineTagger searchTaggerService;
+
+ public SearchEngineTaggerServlet(ISessionManager sessionManager, ISearchEngineTagger searchTaggerService) {
+ super(sessionManager);
+ this.searchTaggerService = searchTaggerService;
+ }
+
+ @Override
+ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ long start = System.currentTimeMillis();
+ try {
+ StringBuffer message = new StringBuffer();
+ int branchId = Integer.parseInt(request.getParameter("branchId"));
+ boolean waitForTags = Boolean.parseBoolean(request.getParameter("wait"));
+ if (waitForTags) {
+ TagListener listener = new TagListener();
+ searchTaggerService.tagByBranchId(listener, branchId);
+ if (listener.wasProcessed() != true) {
+ synchronized (listener) {
+ listener.wait();
+ }
+ }
+ message.append(String.format("Processed %d queries containing %d attributes in %d ms.",
+ listener.getQueryCount(), listener.getAttributeCount(), System.currentTimeMillis() - start));
+ } else {
+ searchTaggerService.tagByBranchId(branchId);
+ }
+ response.setContentType("text/plain");
+ response.setCharacterEncoding("UTF-8");
+ response.setStatus(HttpServletResponse.SC_ACCEPTED);
+ response.getWriter().write(message.toString());
+ } catch (Exception ex) {
+ response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
+ response.setContentType("text/plain");
+ OseeLog.log(Activator.class, Level.SEVERE,
+ String.format("Error submitting for tagging - [%s]", request.toString()), ex);
+ response.getWriter().write(Lib.exceptionToString(ex));
+ }
+ response.getWriter().flush();
+ response.getWriter().close();
+ }
+
+ @Override
+ protected void doPut(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ InputStream inputStream = null;
+ try {
+ boolean waitForTags = Boolean.parseBoolean(request.getParameter("wait"));
+ inputStream = request.getInputStream();
+ if (waitForTags) {
+ TagListener listener = new TagListener();
+ searchTaggerService.tagFromXmlStream(listener, inputStream);
+ if (listener.wasProcessed() != true) {
+ synchronized (listener) {
+ listener.wait();
+ }
+ }
+ } else {
+ searchTaggerService.tagFromXmlStream(inputStream);
+ }
+ response.setContentType("text/plain");
+ response.setCharacterEncoding("UTF-8");
+ response.setStatus(HttpServletResponse.SC_CREATED);
+ } catch (Exception ex) {
+ response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
+ response.setContentType("text/plain");
+ OseeLog.log(Activator.class, Level.SEVERE,
+ String.format("Error submitting for tagging - [%s]", request.toString()), ex);
+ response.getWriter().write(Lib.exceptionToString(ex));
+ } finally {
+ if (inputStream != null) {
+ inputStream.close();
+ }
+ response.getWriter().flush();
+ response.getWriter().close();
+ }
+ }
+
+ @Override
+ protected void doDelete(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ try {
+ String queryId = request.getParameter("queryId");
+ int value = searchTaggerService.deleteTags(Integer.parseInt(queryId));
+ response.setContentType("text/plain");
+ response.setCharacterEncoding("UTF-8");
+ if (value > 0) {
+ response.setStatus(HttpServletResponse.SC_ACCEPTED);
+ } else {
+ response.setStatus(HttpServletResponse.SC_NOT_FOUND);
+ }
+ } catch (Exception ex) {
+ response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
+ response.setContentType("text/plain");
+ OseeLog.log(Activator.class, Level.SEVERE,
+ String.format("Error submitting for tagging - [%s]", request.toString()), ex);
+ response.getWriter().write(Lib.exceptionToString(ex));
+ } finally {
+ response.getWriter().flush();
+ response.getWriter().close();
+ }
+ }
+}
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ServerLookupServlet.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ServerLookupServlet.java
index 3ce25807b5f..8ee097e0b62 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ServerLookupServlet.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ServerLookupServlet.java
@@ -1,103 +1,103 @@
-/*******************************************************************************
- * 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.manager.servlet;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.util.logging.Level;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.eclipse.osee.framework.core.data.OseeServerInfo;
-import org.eclipse.osee.framework.core.server.IApplicationServerLookup;
-import org.eclipse.osee.framework.core.server.IApplicationServerManager;
-import org.eclipse.osee.framework.core.server.UnsecuredOseeHttpServlet;
-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.manager.servlet.internal.Activator;
-
-/**
- * @author Roberto E. Escobar
- */
-public class ServerLookupServlet extends UnsecuredOseeHttpServlet {
-
- private static final long serialVersionUID = -7055381632202456561L;
-
- private final IApplicationServerLookup lookupService;
- private final IApplicationServerManager applicationServerManager;
-
- public ServerLookupServlet(IApplicationServerLookup lookupService, IApplicationServerManager applicationServerManager) {
- this.lookupService = lookupService;
- this.applicationServerManager = applicationServerManager;
-
- }
-
- @Override
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
- try {
- String version = request.getParameter("version");
- boolean wasBadRequest = false;
-
- OseeServerInfo info = null;
- if (Strings.isValid(version)) {
- version = version.trim();
- info = lookupService.getServerInfoBy(version);
- } else {
- wasBadRequest = true;
- }
-
- if (info == null) {
- response.setStatus(wasBadRequest ? HttpServletResponse.SC_BAD_REQUEST : HttpServletResponse.SC_NO_CONTENT);
- response.setContentType("txt/plain");
- response.getWriter().write(
- String.format("Unable to locate application server matching - [%s]", request.toString()));
- response.getWriter().flush();
- response.getWriter().close();
- } else {
- ByteArrayOutputStream stream = new ByteArrayOutputStream();
- info.write(stream);
- response.setStatus(HttpServletResponse.SC_OK);
- response.setContentType("application/xml");
- response.setCharacterEncoding("UTF-8");
- response.setContentLength(stream.size());
- Lib.inputStreamToOutputStream(new ByteArrayInputStream(stream.toByteArray()), response.getOutputStream());
- response.getOutputStream().flush();
- }
- } catch (Exception ex) {
- OseeLog.log(Activator.class, Level.SEVERE,
- String.format("Failed to process application server lookup request [%s]", request.toString()), ex);
- response.getWriter().write(Lib.exceptionToString(ex));
- response.getWriter().flush();
- response.getWriter().close();
- }
- }
-
- @Override
- protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException {
- try {
- boolean isRegistrationToLookupTableRequested = Boolean.valueOf(request.getParameter("registerToLookup"));
- if (isRegistrationToLookupTableRequested) {
- boolean wasSuccessful = applicationServerManager.executeLookupRegistration();
- response.setStatus(wasSuccessful ? HttpServletResponse.SC_ACCEPTED : HttpServletResponse.SC_CONFLICT);
- response.setContentType("txt/plain");
- response.getWriter().write(
- String.format("Registration into server lookup was a [%s]", wasSuccessful ? "success" : "failure"));
- }
- } catch (Exception ex) {
- OseeLog.log(Activator.class, Level.SEVERE,
- String.format("Failed to process application server lookup request [%s]", request.toString()), ex);
- response.getWriter().write(Lib.exceptionToString(ex));
- }
- response.getWriter().flush();
- response.getWriter().close();
- }
-}
+/*******************************************************************************
+ * 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.manager.servlet;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.util.logging.Level;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.eclipse.osee.framework.core.data.OseeServerInfo;
+import org.eclipse.osee.framework.core.server.IApplicationServerLookup;
+import org.eclipse.osee.framework.core.server.IApplicationServerManager;
+import org.eclipse.osee.framework.core.server.UnsecuredOseeHttpServlet;
+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.manager.servlet.internal.Activator;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class ServerLookupServlet extends UnsecuredOseeHttpServlet {
+
+ private static final long serialVersionUID = -7055381632202456561L;
+
+ private final IApplicationServerLookup lookupService;
+ private final IApplicationServerManager applicationServerManager;
+
+ public ServerLookupServlet(IApplicationServerLookup lookupService, IApplicationServerManager applicationServerManager) {
+ this.lookupService = lookupService;
+ this.applicationServerManager = applicationServerManager;
+
+ }
+
+ @Override
+ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
+ try {
+ String version = request.getParameter("version");
+ boolean wasBadRequest = false;
+
+ OseeServerInfo info = null;
+ if (Strings.isValid(version)) {
+ version = version.trim();
+ info = lookupService.getServerInfoBy(version);
+ } else {
+ wasBadRequest = true;
+ }
+
+ if (info == null) {
+ response.setStatus(wasBadRequest ? HttpServletResponse.SC_BAD_REQUEST : HttpServletResponse.SC_NO_CONTENT);
+ response.setContentType("txt/plain");
+ response.getWriter().write(
+ String.format("Unable to locate application server matching - [%s]", request.toString()));
+ response.getWriter().flush();
+ response.getWriter().close();
+ } else {
+ ByteArrayOutputStream stream = new ByteArrayOutputStream();
+ info.write(stream);
+ response.setStatus(HttpServletResponse.SC_OK);
+ response.setContentType("application/xml");
+ response.setCharacterEncoding("UTF-8");
+ response.setContentLength(stream.size());
+ Lib.inputStreamToOutputStream(new ByteArrayInputStream(stream.toByteArray()), response.getOutputStream());
+ response.getOutputStream().flush();
+ }
+ } catch (Exception ex) {
+ OseeLog.log(Activator.class, Level.SEVERE,
+ String.format("Failed to process application server lookup request [%s]", request.toString()), ex);
+ response.getWriter().write(Lib.exceptionToString(ex));
+ response.getWriter().flush();
+ response.getWriter().close();
+ }
+ }
+
+ @Override
+ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException {
+ try {
+ boolean isRegistrationToLookupTableRequested = Boolean.valueOf(request.getParameter("registerToLookup"));
+ if (isRegistrationToLookupTableRequested) {
+ boolean wasSuccessful = applicationServerManager.executeLookupRegistration();
+ response.setStatus(wasSuccessful ? HttpServletResponse.SC_ACCEPTED : HttpServletResponse.SC_CONFLICT);
+ response.setContentType("txt/plain");
+ response.getWriter().write(
+ String.format("Registration into server lookup was a [%s]", wasSuccessful ? "success" : "failure"));
+ }
+ } catch (Exception ex) {
+ OseeLog.log(Activator.class, Level.SEVERE,
+ String.format("Failed to process application server lookup request [%s]", request.toString()), ex);
+ response.getWriter().write(Lib.exceptionToString(ex));
+ }
+ response.getWriter().flush();
+ response.getWriter().close();
+ }
+}
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/SessionClientLoopbackServlet.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/SessionClientLoopbackServlet.java
index cbc589fef06..cadb6744a6f 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/SessionClientLoopbackServlet.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/SessionClientLoopbackServlet.java
@@ -1,192 +1,192 @@
-/*******************************************************************************
- * 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.manager.servlet;
-
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.net.HttpURLConnection;
-import java.net.InetAddress;
-import java.net.URL;
-import java.net.URLEncoder;
-import java.net.UnknownHostException;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Enumeration;
-import java.util.logging.Level;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.eclipse.osee.framework.core.data.OseeServerContext;
-import org.eclipse.osee.framework.core.enums.StorageState;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.core.server.ISession;
-import org.eclipse.osee.framework.core.server.ISessionManager;
-import org.eclipse.osee.framework.core.server.UnsecuredOseeHttpServlet;
-import org.eclipse.osee.framework.jdk.core.util.Strings;
-import org.eclipse.osee.framework.logging.OseeLog;
-import org.eclipse.osee.framework.manager.servlet.internal.Activator;
-
-/**
- * @author Roberto E. Escobar
- */
-public class SessionClientLoopbackServlet extends UnsecuredOseeHttpServlet {
-
- private static final long serialVersionUID = 6402608843937837246L;
-
- private final ISessionManager sessionManager;
-
- public SessionClientLoopbackServlet(ISessionManager sessionManager) {
- super();
- this.sessionManager = sessionManager;
- }
-
- @Override
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
- try {
- int remotePort = getSessionPort(request);
- response.setContentType("text/plain");
- String url = null;
- if (remotePort > -1) {
- // Session found - redirect to client.
- url = String.format("http://%s:%s/%s", request.getRemoteAddr(), remotePort, getLoopbackPostfix(request));
- } else {
- // No session found - redirect to web browser request handler.
- url =
- String.format("http://%s:%s/%s?%s", getNormalizedAddress(request.getLocalAddr()),
- request.getLocalPort(), OseeServerContext.ARTIFACT_CONTEXT, request.getQueryString());
- }
- response.sendRedirect(url);
- } catch (Exception ex) {
- response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
- String.format("Error processing request [%s]", request.getQueryString()));
- } finally {
- response.flushBuffer();
- }
- }
-
- private String getRemoteHostUrl(ISession session) {
- String clientAddress = session.getClientAddress();
- try {
- if (Arrays.equals(InetAddress.getByName(clientAddress).getAddress(), InetAddress.getLocalHost().getAddress())) {
- clientAddress = "localhost";
- }
- } catch (UnknownHostException ex) {
- OseeLog.log(Activator.class, Level.SEVERE, ex);
- }
- return String.format("http://%s:%s/", clientAddress, session.getClientPort());
- }
-
- private String getLoopbackPostfix(HttpServletRequest request) throws UnsupportedEncodingException {
- StringBuffer buffer = new StringBuffer();
- String context = "";
- Enumeration<?> enumeration = request.getParameterNames();
- int count = 0;
- while (enumeration.hasMoreElements()) {
- Object object = enumeration.nextElement();
- if (object instanceof String) {
- String key = (String) object;
- if (!key.equals("sessionId")) {
- String value = request.getParameter(key);
- if (Strings.isValid(value)) {
- if (key.equals("context")) {
- context = value;
- if (context.startsWith("/")) {
- context = context.substring(1, context.length());
- }
- } else {
- if (count != 0) {
- buffer.append("&");
- }
- buffer.append(key);
- buffer.append("=");
- buffer.append(URLEncoder.encode(value, "UTF-8"));
- count++;
- }
- }
- }
- }
- }
- if (buffer.length() > 0) {
- buffer.insert(0, '?');
- }
- return String.format("%s%s", context, buffer.toString());
- }
-
- private boolean canConnect(String urlString) throws IOException {
- boolean canConnect = false;
- HttpURLConnection connection = null;
- try {
- URL url = new URL(urlString);
- connection = (HttpURLConnection) url.openConnection();
- connection.connect();
- canConnect = true;
- } finally {
- if (connection != null) {
- connection.disconnect();
- }
- }
- return canConnect;
- }
-
- private String getNormalizedAddress(String remoteAddress) throws UnknownHostException {
- if (remoteAddress.equals("127.0.0.1") || remoteAddress.equals("localhost")) {
- remoteAddress = InetAddress.getLocalHost().getHostAddress();
- }
- return remoteAddress;
- }
-
- private boolean isSessionValid(ISession session) {
- boolean result = false;
- StorageState storageState = session.getStorageState();
- if (storageState != StorageState.DELETED && storageState != StorageState.PURGED) {
- try {
- String urlString = getRemoteHostUrl(session);
- result = canConnect(urlString);
- } catch (Exception ex) {
- }
- }
- return result;
- }
-
- private int getSessionPort(HttpServletRequest request) throws UnknownHostException, OseeCoreException {
- String remoteAddress = getNormalizedAddress(request.getRemoteAddr());
- String sessionId = request.getParameter("sessionId");
-
- ISession sessionData = null;
- if (Strings.isValid(sessionId)) {
- sessionData = sessionManager.getSessionById(sessionId);
- if (sessionData != null) {
- if (!sessionData.getClientAddress().equals(remoteAddress) || !isSessionValid(sessionData)) {
- sessionData = null;
- }
- }
- }
-
- if (sessionData == null) {
- Collection<ISession> sessions = sessionManager.getSessionByClientAddress(remoteAddress);
- if (!sessions.isEmpty()) {
- for (ISession session : sessions) {
- if (sessionData == null) {
- if (isSessionValid(session)) {
- sessionData = session;
- }
- } else {
- if (sessionData.getLastInteractionDate().getTime() < session.getLastInteractionDate().getTime()) {
- if (isSessionValid(session)) {
- sessionData = session;
- }
- }
- }
- }
- }
- }
- return sessionData != null ? sessionData.getClientPort() : -1;
- }
-}
+/*******************************************************************************
+ * 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.manager.servlet;
+
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.HttpURLConnection;
+import java.net.InetAddress;
+import java.net.URL;
+import java.net.URLEncoder;
+import java.net.UnknownHostException;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Enumeration;
+import java.util.logging.Level;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.eclipse.osee.framework.core.data.OseeServerContext;
+import org.eclipse.osee.framework.core.enums.StorageState;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.core.server.ISession;
+import org.eclipse.osee.framework.core.server.ISessionManager;
+import org.eclipse.osee.framework.core.server.UnsecuredOseeHttpServlet;
+import org.eclipse.osee.framework.jdk.core.util.Strings;
+import org.eclipse.osee.framework.logging.OseeLog;
+import org.eclipse.osee.framework.manager.servlet.internal.Activator;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class SessionClientLoopbackServlet extends UnsecuredOseeHttpServlet {
+
+ private static final long serialVersionUID = 6402608843937837246L;
+
+ private final ISessionManager sessionManager;
+
+ public SessionClientLoopbackServlet(ISessionManager sessionManager) {
+ super();
+ this.sessionManager = sessionManager;
+ }
+
+ @Override
+ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
+ try {
+ int remotePort = getSessionPort(request);
+ response.setContentType("text/plain");
+ String url = null;
+ if (remotePort > -1) {
+ // Session found - redirect to client.
+ url = String.format("http://%s:%s/%s", request.getRemoteAddr(), remotePort, getLoopbackPostfix(request));
+ } else {
+ // No session found - redirect to web browser request handler.
+ url =
+ String.format("http://%s:%s/%s?%s", getNormalizedAddress(request.getLocalAddr()),
+ request.getLocalPort(), OseeServerContext.ARTIFACT_CONTEXT, request.getQueryString());
+ }
+ response.sendRedirect(url);
+ } catch (Exception ex) {
+ response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
+ String.format("Error processing request [%s]", request.getQueryString()));
+ } finally {
+ response.flushBuffer();
+ }
+ }
+
+ private String getRemoteHostUrl(ISession session) {
+ String clientAddress = session.getClientAddress();
+ try {
+ if (Arrays.equals(InetAddress.getByName(clientAddress).getAddress(), InetAddress.getLocalHost().getAddress())) {
+ clientAddress = "localhost";
+ }
+ } catch (UnknownHostException ex) {
+ OseeLog.log(Activator.class, Level.SEVERE, ex);
+ }
+ return String.format("http://%s:%s/", clientAddress, session.getClientPort());
+ }
+
+ private String getLoopbackPostfix(HttpServletRequest request) throws UnsupportedEncodingException {
+ StringBuffer buffer = new StringBuffer();
+ String context = "";
+ Enumeration<?> enumeration = request.getParameterNames();
+ int count = 0;
+ while (enumeration.hasMoreElements()) {
+ Object object = enumeration.nextElement();
+ if (object instanceof String) {
+ String key = (String) object;
+ if (!key.equals("sessionId")) {
+ String value = request.getParameter(key);
+ if (Strings.isValid(value)) {
+ if (key.equals("context")) {
+ context = value;
+ if (context.startsWith("/")) {
+ context = context.substring(1, context.length());
+ }
+ } else {
+ if (count != 0) {
+ buffer.append("&");
+ }
+ buffer.append(key);
+ buffer.append("=");
+ buffer.append(URLEncoder.encode(value, "UTF-8"));
+ count++;
+ }
+ }
+ }
+ }
+ }
+ if (buffer.length() > 0) {
+ buffer.insert(0, '?');
+ }
+ return String.format("%s%s", context, buffer.toString());
+ }
+
+ private boolean canConnect(String urlString) throws IOException {
+ boolean canConnect = false;
+ HttpURLConnection connection = null;
+ try {
+ URL url = new URL(urlString);
+ connection = (HttpURLConnection) url.openConnection();
+ connection.connect();
+ canConnect = true;
+ } finally {
+ if (connection != null) {
+ connection.disconnect();
+ }
+ }
+ return canConnect;
+ }
+
+ private String getNormalizedAddress(String remoteAddress) throws UnknownHostException {
+ if (remoteAddress.equals("127.0.0.1") || remoteAddress.equals("localhost")) {
+ remoteAddress = InetAddress.getLocalHost().getHostAddress();
+ }
+ return remoteAddress;
+ }
+
+ private boolean isSessionValid(ISession session) {
+ boolean result = false;
+ StorageState storageState = session.getStorageState();
+ if (storageState != StorageState.DELETED && storageState != StorageState.PURGED) {
+ try {
+ String urlString = getRemoteHostUrl(session);
+ result = canConnect(urlString);
+ } catch (Exception ex) {
+ }
+ }
+ return result;
+ }
+
+ private int getSessionPort(HttpServletRequest request) throws UnknownHostException, OseeCoreException {
+ String remoteAddress = getNormalizedAddress(request.getRemoteAddr());
+ String sessionId = request.getParameter("sessionId");
+
+ ISession sessionData = null;
+ if (Strings.isValid(sessionId)) {
+ sessionData = sessionManager.getSessionById(sessionId);
+ if (sessionData != null) {
+ if (!sessionData.getClientAddress().equals(remoteAddress) || !isSessionValid(sessionData)) {
+ sessionData = null;
+ }
+ }
+ }
+
+ if (sessionData == null) {
+ Collection<ISession> sessions = sessionManager.getSessionByClientAddress(remoteAddress);
+ if (!sessions.isEmpty()) {
+ for (ISession session : sessions) {
+ if (sessionData == null) {
+ if (isSessionValid(session)) {
+ sessionData = session;
+ }
+ } else {
+ if (sessionData.getLastInteractionDate().getTime() < session.getLastInteractionDate().getTime()) {
+ if (isSessionValid(session)) {
+ sessionData = session;
+ }
+ }
+ }
+ }
+ }
+ }
+ return sessionData != null ? sessionData.getClientPort() : -1;
+ }
+}
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/SessionManagementServlet.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/SessionManagementServlet.java
index 244ba375a3a..7092871dada 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/SessionManagementServlet.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/SessionManagementServlet.java
@@ -1,158 +1,158 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.framework.manager.servlet;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.logging.Level;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.eclipse.osee.framework.core.data.OseeCredential;
-import org.eclipse.osee.framework.core.data.OseeSessionGrant;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.core.exception.OseeExceptions;
-import org.eclipse.osee.framework.core.server.IAuthenticationManager;
-import org.eclipse.osee.framework.core.server.ISessionManager;
-import org.eclipse.osee.framework.core.server.UnsecuredOseeHttpServlet;
-import org.eclipse.osee.framework.jdk.core.util.Lib;
-import org.eclipse.osee.framework.logging.OseeLog;
-import org.eclipse.osee.framework.manager.servlet.internal.Activator;
-
-/**
- * @author Roberto E. Escobar
- */
-public class SessionManagementServlet extends UnsecuredOseeHttpServlet {
-
- private static final long serialVersionUID = 3334123351267606890L;
-
- private static enum OperationType {
- CREATE,
- RELEASE,
- INVALID;
-
- public static OperationType fromString(String value) {
- OperationType toReturn = OperationType.INVALID;
- for (OperationType operType : OperationType.values()) {
- if (operType.name().equalsIgnoreCase(value)) {
- toReturn = operType;
- break;
- }
- }
- return toReturn;
- }
- }
-
- private final IAuthenticationManager authenticationManager;
- private final ISessionManager sessionManager;
-
- public SessionManagementServlet(ISessionManager sessionManager, IAuthenticationManager authenticationManager) {
- super();
- this.sessionManager = sessionManager;
- this.authenticationManager = authenticationManager;
- }
-
- @Override
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
- try {
- String[] protocols = authenticationManager.getProtocols();
- response.setStatus(HttpServletResponse.SC_OK);
- response.setContentType("text/plain");
- response.setCharacterEncoding("UTF-8");
- response.getWriter().write(Arrays.deepToString(protocols));
- } catch (Exception ex) {
- OseeLog.log(Activator.class, Level.SEVERE,
- String.format("Error processing request for protocols [%s]", request.toString()), ex);
- response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
- response.setContentType("text/plain");
- response.getWriter().write(Lib.exceptionToString(ex));
- } finally {
- response.getWriter().flush();
- response.getWriter().close();
- }
- }
-
- @Override
- protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException {
- String operation = request.getParameter("operation");
- try {
- OperationType operationType = OperationType.fromString(operation);
- switch (operationType) {
- case CREATE:
- createSession(request, response);
- break;
- case RELEASE:
- releaseSession(request, response);
- break;
- default:
- break;
- }
- } catch (Exception ex) {
- OseeLog.log(Activator.class, Level.SEVERE,
- String.format("Error processing session request [%s]", request.toString()), ex);
- response.getWriter().write(Lib.exceptionToString(ex));
- response.getWriter().flush();
- response.getWriter().close();
- }
- }
-
- private void createSession(HttpServletRequest request, HttpServletResponse response) throws OseeCoreException {
- try {
- ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
- Lib.inputStreamToOutputStream(request.getInputStream(), outputStream);
- byte[] bytes = outputStream.toByteArray();
- // TODO Decrypt credential info
-
- OseeCredential credential = OseeCredential.fromXml(new ByteArrayInputStream(bytes));
- OseeSessionGrant oseeSessionGrant = sessionManager.createSession(credential);
-
- response.setStatus(HttpServletResponse.SC_ACCEPTED);
- ByteArrayOutputStream byteOutputStream = new ByteArrayOutputStream();
- oseeSessionGrant.write(byteOutputStream);
-
- // TODO after encrypted these will need to change
- response.setContentType("application/xml");
- response.setCharacterEncoding("UTF-8");
- response.setContentLength(byteOutputStream.size());
- Lib.inputStreamToOutputStream(new ByteArrayInputStream(byteOutputStream.toByteArray()),
- response.getOutputStream());
-
- } catch (IOException ex) {
- OseeExceptions.wrapAndThrow(ex);
- } finally {
- try {
- response.getOutputStream().flush();
- } catch (IOException ex) {
- OseeExceptions.wrapAndThrow(ex);
- }
- }
- }
-
- private void releaseSession(HttpServletRequest request, HttpServletResponse response) throws OseeCoreException {
- try {
- String sessionId = request.getParameter("sessionId");
- sessionManager.releaseSession(sessionId);
- response.setStatus(HttpServletResponse.SC_ACCEPTED);
- response.setContentType("text/plain");
- response.getWriter().write(String.format("Session [%s] released.", sessionId));
- } catch (IOException ex) {
- OseeExceptions.wrapAndThrow(ex);
- } finally {
- try {
- response.getWriter().flush();
- response.getWriter().close();
- } catch (IOException ex) {
- OseeExceptions.wrapAndThrow(ex);
- }
- }
- }
-}
+/*******************************************************************************
+ * 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.manager.servlet;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.logging.Level;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.eclipse.osee.framework.core.data.OseeCredential;
+import org.eclipse.osee.framework.core.data.OseeSessionGrant;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.core.exception.OseeExceptions;
+import org.eclipse.osee.framework.core.server.IAuthenticationManager;
+import org.eclipse.osee.framework.core.server.ISessionManager;
+import org.eclipse.osee.framework.core.server.UnsecuredOseeHttpServlet;
+import org.eclipse.osee.framework.jdk.core.util.Lib;
+import org.eclipse.osee.framework.logging.OseeLog;
+import org.eclipse.osee.framework.manager.servlet.internal.Activator;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class SessionManagementServlet extends UnsecuredOseeHttpServlet {
+
+ private static final long serialVersionUID = 3334123351267606890L;
+
+ private static enum OperationType {
+ CREATE,
+ RELEASE,
+ INVALID;
+
+ public static OperationType fromString(String value) {
+ OperationType toReturn = OperationType.INVALID;
+ for (OperationType operType : OperationType.values()) {
+ if (operType.name().equalsIgnoreCase(value)) {
+ toReturn = operType;
+ break;
+ }
+ }
+ return toReturn;
+ }
+ }
+
+ private final IAuthenticationManager authenticationManager;
+ private final ISessionManager sessionManager;
+
+ public SessionManagementServlet(ISessionManager sessionManager, IAuthenticationManager authenticationManager) {
+ super();
+ this.sessionManager = sessionManager;
+ this.authenticationManager = authenticationManager;
+ }
+
+ @Override
+ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
+ try {
+ String[] protocols = authenticationManager.getProtocols();
+ response.setStatus(HttpServletResponse.SC_OK);
+ response.setContentType("text/plain");
+ response.setCharacterEncoding("UTF-8");
+ response.getWriter().write(Arrays.deepToString(protocols));
+ } catch (Exception ex) {
+ OseeLog.log(Activator.class, Level.SEVERE,
+ String.format("Error processing request for protocols [%s]", request.toString()), ex);
+ response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
+ response.setContentType("text/plain");
+ response.getWriter().write(Lib.exceptionToString(ex));
+ } finally {
+ response.getWriter().flush();
+ response.getWriter().close();
+ }
+ }
+
+ @Override
+ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException {
+ String operation = request.getParameter("operation");
+ try {
+ OperationType operationType = OperationType.fromString(operation);
+ switch (operationType) {
+ case CREATE:
+ createSession(request, response);
+ break;
+ case RELEASE:
+ releaseSession(request, response);
+ break;
+ default:
+ break;
+ }
+ } catch (Exception ex) {
+ OseeLog.log(Activator.class, Level.SEVERE,
+ String.format("Error processing session request [%s]", request.toString()), ex);
+ response.getWriter().write(Lib.exceptionToString(ex));
+ response.getWriter().flush();
+ response.getWriter().close();
+ }
+ }
+
+ private void createSession(HttpServletRequest request, HttpServletResponse response) throws OseeCoreException {
+ try {
+ ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
+ Lib.inputStreamToOutputStream(request.getInputStream(), outputStream);
+ byte[] bytes = outputStream.toByteArray();
+ // TODO Decrypt credential info
+
+ OseeCredential credential = OseeCredential.fromXml(new ByteArrayInputStream(bytes));
+ OseeSessionGrant oseeSessionGrant = sessionManager.createSession(credential);
+
+ response.setStatus(HttpServletResponse.SC_ACCEPTED);
+ ByteArrayOutputStream byteOutputStream = new ByteArrayOutputStream();
+ oseeSessionGrant.write(byteOutputStream);
+
+ // TODO after encrypted these will need to change
+ response.setContentType("application/xml");
+ response.setCharacterEncoding("UTF-8");
+ response.setContentLength(byteOutputStream.size());
+ Lib.inputStreamToOutputStream(new ByteArrayInputStream(byteOutputStream.toByteArray()),
+ response.getOutputStream());
+
+ } catch (IOException ex) {
+ OseeExceptions.wrapAndThrow(ex);
+ } finally {
+ try {
+ response.getOutputStream().flush();
+ } catch (IOException ex) {
+ OseeExceptions.wrapAndThrow(ex);
+ }
+ }
+ }
+
+ private void releaseSession(HttpServletRequest request, HttpServletResponse response) throws OseeCoreException {
+ try {
+ String sessionId = request.getParameter("sessionId");
+ sessionManager.releaseSession(sessionId);
+ response.setStatus(HttpServletResponse.SC_ACCEPTED);
+ response.setContentType("text/plain");
+ response.getWriter().write(String.format("Session [%s] released.", sessionId));
+ } catch (IOException ex) {
+ OseeExceptions.wrapAndThrow(ex);
+ } finally {
+ try {
+ response.getWriter().flush();
+ response.getWriter().close();
+ } catch (IOException ex) {
+ OseeExceptions.wrapAndThrow(ex);
+ }
+ }
+ }
+}
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/SystemManagerServlet.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/SystemManagerServlet.java
index bb54b924e9a..6b38c422b59 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/SystemManagerServlet.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/SystemManagerServlet.java
@@ -1,303 +1,303 @@
-/*******************************************************************************
- * 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.manager.servlet;
-
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.net.URL;
-import java.net.URLEncoder;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Date;
-import java.util.List;
-import java.util.logging.Level;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.eclipse.osee.framework.core.data.OseeServerContext;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.core.server.ISession;
-import org.eclipse.osee.framework.core.server.ISessionManager;
-import org.eclipse.osee.framework.core.server.UnsecuredOseeHttpServlet;
-import org.eclipse.osee.framework.core.util.HttpProcessor;
-import org.eclipse.osee.framework.jdk.core.util.AHTML;
-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.manager.servlet.data.HttpSystemManagerCreationInfo;
-import org.eclipse.osee.framework.manager.servlet.internal.Activator;
-
-/**
- * @author Donald G. Dunne
- */
-public class SystemManagerServlet extends UnsecuredOseeHttpServlet {
-
- private static final long serialVersionUID = 3334123351267606890L;
-
- private static enum Command {
- user,
- delete,
- alive,
- invalid,
- overview;
- }
-
- private final ISessionManager sessionManager;
-
- public SystemManagerServlet(ISessionManager sessionManager) {
- this.sessionManager = sessionManager;
- }
-
- @Override
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
- try {
- Command command = Command.overview;
- String cmd = request.getParameter("cmd");
- if (Strings.isValid(cmd)) {
- command = Command.valueOf(cmd);
- }
- switch (command) {
- case user:
- displayUser(request, response);
- break;
- case delete:
- deleteSession(request, response);
- break;
- case alive:
- sessionAlive(request, response);
- break;
- default:
- displayOverview(request, response);
- break;
- }
- } catch (Exception ex) {
- OseeLog.log(Activator.class, Level.SEVERE,
- String.format("Error processing request for protocols [%s]", request.toString()), ex);
- response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
- response.setContentType("text/plain");
- response.getWriter().write(Lib.exceptionToString(ex));
- } finally {
- response.getWriter().flush();
- response.getWriter().close();
- }
- }
-
- private void displayOverview(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- String requestAddress = request.getLocalAddr();
- String requestPort = String.valueOf(request.getLocalPort());
-
- StringBuffer sb = new StringBuffer(1000);
- try {
- sb.append(AHTML.heading(2, "OSEE Dashboard"));
- sb.append(createAnchor(AnchorType.MANAGER_HOME_ANCHOR, null, requestAddress, requestPort));
- sb.append(AHTML.newline(2));
- sb.append(getSessionByUserIdEntry(request, response));
- sb.append(getSessions(requestAddress, requestPort));
- } catch (Exception ex) {
- sb.append("Exception: ");
- sb.append(Lib.exceptionToString(ex));
- }
- displayResults(sb.toString(), request, response);
- }
-
- private String getSessionByUserIdEntry(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- StringBuffer sb = new StringBuffer(1000);
- try {
- sb.append("<form METHOD=GET ACTION=\"http://" + request.getLocalAddr() + ":" + request.getLocalPort() + "/osee/manager\">");
- sb.append("By UserId: <input TYPE=\"text\" NAME=\"userId\" SIZE=\"10\" MAXLENGTH=\"10\">");
- sb.append("<input TYPE=\"hidden\" NAME=\"cmd\" VALUE=\"user\">");
- sb.append("<INPUT TYPE=SUBMIT></form>");
- } catch (Exception ex) {
- sb.append("Exception: ");
- sb.append(Lib.exceptionToString(ex));
- }
- return sb.toString();
- }
-
- private void displayUser(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- StringBuffer sb = new StringBuffer(1000);
- try {
- HttpSystemManagerCreationInfo info = new HttpSystemManagerCreationInfo(request);
- String requestAddress = request.getLocalAddr();
- String requestPort = String.valueOf(request.getLocalPort());
- String userId = info.getUserId();
- if (!Strings.isValid(userId)) {
- sb.append("Invalid userId [" + userId + "]");
- } else {
- sb.append(AHTML.heading(2, "OSEE System Manager"));
- sb.append(createAnchor(AnchorType.MANAGER_HOME_ANCHOR, null, requestAddress, requestPort));
- sb.append(AHTML.newline(1));
- sb.append(getSessionsByUserId(userId, requestAddress, requestPort));
- }
- } catch (Exception ex) {
- sb.append("Exception: ");
- sb.append(Lib.exceptionToString(ex));
- }
- displayResults(sb.toString(), request, response);
- }
-
- private void deleteSession(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- StringBuffer sb = new StringBuffer(1000);
- try {
- HttpSystemManagerCreationInfo info = new HttpSystemManagerCreationInfo(request);
- if (!Strings.isValid(info.getSessionId())) {
- sb.append("Invalid userId [" + info.getSessionId() + "]");
- } else {
- sessionManager.releaseSessionImmediate(info.getSessionId());
- sb.append("Deleted session [" + info.getSessionId() + "]");
- }
- } catch (OseeCoreException ex) {
- sb.append("Exception: " + ex.getLocalizedMessage());
- }
- displayResults(sb.toString(), request, response);
- }
-
- private void sessionAlive(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- StringBuffer sb = new StringBuffer(1000);
- try {
- HttpSystemManagerCreationInfo info = new HttpSystemManagerCreationInfo(request);
- if (!Strings.isValid(info.getSessionId())) {
- sb.append("Invalid userId [" + info.getSessionId() + "]");
- } else {
- try {
- ISession session = sessionManager.getSessionById(info.getSessionId());
- if (session == null) {
- sb.append("Can't retrieve SessionData for [" + info.getSessionId() + "]");
- return;
- }
- String clientAddress = session.getClientAddress();
- String clientPort = String.valueOf(session.getClientPort());
- String url = String.format("http://%s:%s/osee/request?cmd=pingId", clientAddress, clientPort);
- String responseStr = HttpProcessor.acquireString(new URL(url));
- if (responseStr == null || responseStr.equals("")) {
- sb.append("[" + info.getSessionId() + "] not responding to info request");
- } else if (!responseStr.contains(info.getSessionId())) {
- sb.append("NOT ALIVE - [" + info.getSessionId() + "] (response, but mismatched sessionId)");
- } else {
- sb.append("ALIVE - [" + info.getSessionId() + "]");
- }
- } catch (Exception ex) {
- OseeLog.log(this.getClass(), Level.SEVERE, ex);
- sb.append("Exception: " + ex.getLocalizedMessage());
- }
- }
- } catch (OseeCoreException ex) {
- sb.append("Exception: " + ex.getLocalizedMessage());
- }
- displayResults(sb.toString(), request, response);
- }
-
- private void displayResults(String results, HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- try {
- response.setStatus(HttpServletResponse.SC_OK);
- response.setContentType("text/html");
- response.setCharacterEncoding("UTF-8");
- response.getWriter().write(results + AHTML.newline() + "As of: " + new Date());
- } catch (Exception ex) {
- OseeLog.log(Activator.class, Level.SEVERE,
- String.format("Error processing request for protocols [%s]", request.toString()), ex);
- response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
- response.setContentType("text/plain");
- response.getWriter().write(Lib.exceptionToString(ex));
- } finally {
- response.getWriter().flush();
- response.getWriter().close();
- }
- }
-
- private String getSessions(String requestAddress, String requestPort) throws Exception {
- Collection<ISession> sessionData = sessionManager.getAllSessions(true);
- return createSessionTable(sessionData, "Sessions", requestAddress, requestPort);
- }
-
- private String getSessionsByUserId(String userId, String requestAddress, String requestPort) throws Exception {
- Collection<ISession> sessionData = sessionManager.getSessionsByUserId(userId, true);
- return createSessionTable(sessionData, "Sessions for [" + userId + "]", requestAddress, requestPort);
- }
-
- private static SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd hh:mm a");
-
- enum AnchorType {
- INFO_ANCHOR,
- ALIVE_ANCHOR,
- LOG_ANCHOR,
- DELETE_ANCHOR,
- MANAGER_HOME_ANCHOR;
- }
-
- private String createAnchor(AnchorType anchorType, String sessionId, String address, String port) throws UnsupportedEncodingException {
- String toReturn = Strings.emptyString();
- switch (anchorType) {
- case INFO_ANCHOR:
- toReturn = String.format("<a href=\"http://%s:%s/osee/request?cmd=info\">info</a>", address, port);
- break;
- case LOG_ANCHOR:
- toReturn = String.format("<a href=\"http://%s:%s/osee/request?cmd=log\">log</a>", address, port);
- break;
- case ALIVE_ANCHOR:
- String eSessionId = URLEncoder.encode(sessionId, "UTF-8");
- toReturn =
- String.format("<a href=\"http://%s:%s/%s?cmd=alive&sessionId=%s\">alive</a>", address, port,
- OseeServerContext.MANAGER_CONTEXT, eSessionId);
- break;
- case DELETE_ANCHOR:
- String encodedSessionId = URLEncoder.encode(sessionId, "UTF-8");
- toReturn =
- String.format("<a href=\"http://%s:%s/%s?cmd=delete&sessionId=%s\">delete</a>", address, port,
- OseeServerContext.MANAGER_CONTEXT, encodedSessionId);
- break;
- case MANAGER_HOME_ANCHOR:
- toReturn =
- String.format("<a href=\"http://%s:%s/%s\">Home</a>", address, port,
- OseeServerContext.MANAGER_CONTEXT);
- break;
- default:
- break;
- }
- return toReturn;
- }
-
- private String createSessionTable(Collection<ISession> sessionDatas, String title, String requestAddress, String requestPort) throws Exception {
- StringBuffer sb = new StringBuffer(1000);
- sb.append(AHTML.heading(3, title));
- sb.append(AHTML.beginMultiColumnTable(100, 1));
- sb.append(AHTML.addHeaderRowMultiColumnTable(new String[] {"Created", "Cmds", "User", "Version", "Machine",
- "Last Interaction", "IP", "Port", "Delete"}));
-
- List<String> items = new ArrayList<String>();
- for (ISession session : sessionDatas) {
- String sessionId = session.getGuid();
- String clientAddress = session.getClientAddress();
- String clientPort = String.valueOf(session.getClientPort());
-
- items.add(AHTML.addRowMultiColumnTable(new String[] {dateFormat.format(session.getCreationDate()),
- createCmds(sessionId, clientAddress, clientPort, requestAddress, requestPort), session.getUserId(),
- session.getClientVersion(), session.getClientMachineName(),
- dateFormat.format(session.getLastInteractionDate()), clientAddress, clientPort,
- createAnchor(AnchorType.DELETE_ANCHOR, sessionId, requestAddress, requestPort)}));
- }
- String[] sortedItems = items.toArray(new String[items.size()]);
- Arrays.sort(sortedItems);
- for (int x = sortedItems.length - 1; x >= 0; x--) {
- sb.append(sortedItems[x]);
- }
- sb.append(AHTML.endMultiColumnTable());
- return sb.toString();
- }
-
- private String createCmds(String sessionId, String clientAddress, String clientPort, String requestAddress, String requestPort) throws Exception {
- return createAnchor(AnchorType.ALIVE_ANCHOR, sessionId, requestAddress, requestPort) + " - " + createAnchor(
- AnchorType.INFO_ANCHOR, sessionId, clientAddress, clientPort) + " - " + createAnchor(
- AnchorType.LOG_ANCHOR, sessionId, clientAddress, clientPort);
- }
-}
+/*******************************************************************************
+ * 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.manager.servlet;
+
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URL;
+import java.net.URLEncoder;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Date;
+import java.util.List;
+import java.util.logging.Level;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.eclipse.osee.framework.core.data.OseeServerContext;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.core.server.ISession;
+import org.eclipse.osee.framework.core.server.ISessionManager;
+import org.eclipse.osee.framework.core.server.UnsecuredOseeHttpServlet;
+import org.eclipse.osee.framework.core.util.HttpProcessor;
+import org.eclipse.osee.framework.jdk.core.util.AHTML;
+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.manager.servlet.data.HttpSystemManagerCreationInfo;
+import org.eclipse.osee.framework.manager.servlet.internal.Activator;
+
+/**
+ * @author Donald G. Dunne
+ */
+public class SystemManagerServlet extends UnsecuredOseeHttpServlet {
+
+ private static final long serialVersionUID = 3334123351267606890L;
+
+ private static enum Command {
+ user,
+ delete,
+ alive,
+ invalid,
+ overview;
+ }
+
+ private final ISessionManager sessionManager;
+
+ public SystemManagerServlet(ISessionManager sessionManager) {
+ this.sessionManager = sessionManager;
+ }
+
+ @Override
+ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
+ try {
+ Command command = Command.overview;
+ String cmd = request.getParameter("cmd");
+ if (Strings.isValid(cmd)) {
+ command = Command.valueOf(cmd);
+ }
+ switch (command) {
+ case user:
+ displayUser(request, response);
+ break;
+ case delete:
+ deleteSession(request, response);
+ break;
+ case alive:
+ sessionAlive(request, response);
+ break;
+ default:
+ displayOverview(request, response);
+ break;
+ }
+ } catch (Exception ex) {
+ OseeLog.log(Activator.class, Level.SEVERE,
+ String.format("Error processing request for protocols [%s]", request.toString()), ex);
+ response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
+ response.setContentType("text/plain");
+ response.getWriter().write(Lib.exceptionToString(ex));
+ } finally {
+ response.getWriter().flush();
+ response.getWriter().close();
+ }
+ }
+
+ private void displayOverview(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ String requestAddress = request.getLocalAddr();
+ String requestPort = String.valueOf(request.getLocalPort());
+
+ StringBuffer sb = new StringBuffer(1000);
+ try {
+ sb.append(AHTML.heading(2, "OSEE Dashboard"));
+ sb.append(createAnchor(AnchorType.MANAGER_HOME_ANCHOR, null, requestAddress, requestPort));
+ sb.append(AHTML.newline(2));
+ sb.append(getSessionByUserIdEntry(request, response));
+ sb.append(getSessions(requestAddress, requestPort));
+ } catch (Exception ex) {
+ sb.append("Exception: ");
+ sb.append(Lib.exceptionToString(ex));
+ }
+ displayResults(sb.toString(), request, response);
+ }
+
+ private String getSessionByUserIdEntry(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ StringBuffer sb = new StringBuffer(1000);
+ try {
+ sb.append("<form METHOD=GET ACTION=\"http://" + request.getLocalAddr() + ":" + request.getLocalPort() + "/osee/manager\">");
+ sb.append("By UserId: <input TYPE=\"text\" NAME=\"userId\" SIZE=\"10\" MAXLENGTH=\"10\">");
+ sb.append("<input TYPE=\"hidden\" NAME=\"cmd\" VALUE=\"user\">");
+ sb.append("<INPUT TYPE=SUBMIT></form>");
+ } catch (Exception ex) {
+ sb.append("Exception: ");
+ sb.append(Lib.exceptionToString(ex));
+ }
+ return sb.toString();
+ }
+
+ private void displayUser(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ StringBuffer sb = new StringBuffer(1000);
+ try {
+ HttpSystemManagerCreationInfo info = new HttpSystemManagerCreationInfo(request);
+ String requestAddress = request.getLocalAddr();
+ String requestPort = String.valueOf(request.getLocalPort());
+ String userId = info.getUserId();
+ if (!Strings.isValid(userId)) {
+ sb.append("Invalid userId [" + userId + "]");
+ } else {
+ sb.append(AHTML.heading(2, "OSEE System Manager"));
+ sb.append(createAnchor(AnchorType.MANAGER_HOME_ANCHOR, null, requestAddress, requestPort));
+ sb.append(AHTML.newline(1));
+ sb.append(getSessionsByUserId(userId, requestAddress, requestPort));
+ }
+ } catch (Exception ex) {
+ sb.append("Exception: ");
+ sb.append(Lib.exceptionToString(ex));
+ }
+ displayResults(sb.toString(), request, response);
+ }
+
+ private void deleteSession(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ StringBuffer sb = new StringBuffer(1000);
+ try {
+ HttpSystemManagerCreationInfo info = new HttpSystemManagerCreationInfo(request);
+ if (!Strings.isValid(info.getSessionId())) {
+ sb.append("Invalid userId [" + info.getSessionId() + "]");
+ } else {
+ sessionManager.releaseSessionImmediate(info.getSessionId());
+ sb.append("Deleted session [" + info.getSessionId() + "]");
+ }
+ } catch (OseeCoreException ex) {
+ sb.append("Exception: " + ex.getLocalizedMessage());
+ }
+ displayResults(sb.toString(), request, response);
+ }
+
+ private void sessionAlive(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ StringBuffer sb = new StringBuffer(1000);
+ try {
+ HttpSystemManagerCreationInfo info = new HttpSystemManagerCreationInfo(request);
+ if (!Strings.isValid(info.getSessionId())) {
+ sb.append("Invalid userId [" + info.getSessionId() + "]");
+ } else {
+ try {
+ ISession session = sessionManager.getSessionById(info.getSessionId());
+ if (session == null) {
+ sb.append("Can't retrieve SessionData for [" + info.getSessionId() + "]");
+ return;
+ }
+ String clientAddress = session.getClientAddress();
+ String clientPort = String.valueOf(session.getClientPort());
+ String url = String.format("http://%s:%s/osee/request?cmd=pingId", clientAddress, clientPort);
+ String responseStr = HttpProcessor.acquireString(new URL(url));
+ if (responseStr == null || responseStr.equals("")) {
+ sb.append("[" + info.getSessionId() + "] not responding to info request");
+ } else if (!responseStr.contains(info.getSessionId())) {
+ sb.append("NOT ALIVE - [" + info.getSessionId() + "] (response, but mismatched sessionId)");
+ } else {
+ sb.append("ALIVE - [" + info.getSessionId() + "]");
+ }
+ } catch (Exception ex) {
+ OseeLog.log(this.getClass(), Level.SEVERE, ex);
+ sb.append("Exception: " + ex.getLocalizedMessage());
+ }
+ }
+ } catch (OseeCoreException ex) {
+ sb.append("Exception: " + ex.getLocalizedMessage());
+ }
+ displayResults(sb.toString(), request, response);
+ }
+
+ private void displayResults(String results, HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ try {
+ response.setStatus(HttpServletResponse.SC_OK);
+ response.setContentType("text/html");
+ response.setCharacterEncoding("UTF-8");
+ response.getWriter().write(results + AHTML.newline() + "As of: " + new Date());
+ } catch (Exception ex) {
+ OseeLog.log(Activator.class, Level.SEVERE,
+ String.format("Error processing request for protocols [%s]", request.toString()), ex);
+ response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
+ response.setContentType("text/plain");
+ response.getWriter().write(Lib.exceptionToString(ex));
+ } finally {
+ response.getWriter().flush();
+ response.getWriter().close();
+ }
+ }
+
+ private String getSessions(String requestAddress, String requestPort) throws Exception {
+ Collection<ISession> sessionData = sessionManager.getAllSessions(true);
+ return createSessionTable(sessionData, "Sessions", requestAddress, requestPort);
+ }
+
+ private String getSessionsByUserId(String userId, String requestAddress, String requestPort) throws Exception {
+ Collection<ISession> sessionData = sessionManager.getSessionsByUserId(userId, true);
+ return createSessionTable(sessionData, "Sessions for [" + userId + "]", requestAddress, requestPort);
+ }
+
+ private static SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd hh:mm a");
+
+ enum AnchorType {
+ INFO_ANCHOR,
+ ALIVE_ANCHOR,
+ LOG_ANCHOR,
+ DELETE_ANCHOR,
+ MANAGER_HOME_ANCHOR;
+ }
+
+ private String createAnchor(AnchorType anchorType, String sessionId, String address, String port) throws UnsupportedEncodingException {
+ String toReturn = Strings.emptyString();
+ switch (anchorType) {
+ case INFO_ANCHOR:
+ toReturn = String.format("<a href=\"http://%s:%s/osee/request?cmd=info\">info</a>", address, port);
+ break;
+ case LOG_ANCHOR:
+ toReturn = String.format("<a href=\"http://%s:%s/osee/request?cmd=log\">log</a>", address, port);
+ break;
+ case ALIVE_ANCHOR:
+ String eSessionId = URLEncoder.encode(sessionId, "UTF-8");
+ toReturn =
+ String.format("<a href=\"http://%s:%s/%s?cmd=alive&sessionId=%s\">alive</a>", address, port,
+ OseeServerContext.MANAGER_CONTEXT, eSessionId);
+ break;
+ case DELETE_ANCHOR:
+ String encodedSessionId = URLEncoder.encode(sessionId, "UTF-8");
+ toReturn =
+ String.format("<a href=\"http://%s:%s/%s?cmd=delete&sessionId=%s\">delete</a>", address, port,
+ OseeServerContext.MANAGER_CONTEXT, encodedSessionId);
+ break;
+ case MANAGER_HOME_ANCHOR:
+ toReturn =
+ String.format("<a href=\"http://%s:%s/%s\">Home</a>", address, port,
+ OseeServerContext.MANAGER_CONTEXT);
+ break;
+ default:
+ break;
+ }
+ return toReturn;
+ }
+
+ private String createSessionTable(Collection<ISession> sessionDatas, String title, String requestAddress, String requestPort) throws Exception {
+ StringBuffer sb = new StringBuffer(1000);
+ sb.append(AHTML.heading(3, title));
+ sb.append(AHTML.beginMultiColumnTable(100, 1));
+ sb.append(AHTML.addHeaderRowMultiColumnTable(new String[] {"Created", "Cmds", "User", "Version", "Machine",
+ "Last Interaction", "IP", "Port", "Delete"}));
+
+ List<String> items = new ArrayList<String>();
+ for (ISession session : sessionDatas) {
+ String sessionId = session.getGuid();
+ String clientAddress = session.getClientAddress();
+ String clientPort = String.valueOf(session.getClientPort());
+
+ items.add(AHTML.addRowMultiColumnTable(new String[] {dateFormat.format(session.getCreationDate()),
+ createCmds(sessionId, clientAddress, clientPort, requestAddress, requestPort), session.getUserId(),
+ session.getClientVersion(), session.getClientMachineName(),
+ dateFormat.format(session.getLastInteractionDate()), clientAddress, clientPort,
+ createAnchor(AnchorType.DELETE_ANCHOR, sessionId, requestAddress, requestPort)}));
+ }
+ String[] sortedItems = items.toArray(new String[items.size()]);
+ Arrays.sort(sortedItems);
+ for (int x = sortedItems.length - 1; x >= 0; x--) {
+ sb.append(sortedItems[x]);
+ }
+ sb.append(AHTML.endMultiColumnTable());
+ return sb.toString();
+ }
+
+ private String createCmds(String sessionId, String clientAddress, String clientPort, String requestAddress, String requestPort) throws Exception {
+ return createAnchor(AnchorType.ALIVE_ANCHOR, sessionId, requestAddress, requestPort) + " - " + createAnchor(
+ AnchorType.INFO_ANCHOR, sessionId, clientAddress, clientPort) + " - " + createAnchor(
+ AnchorType.LOG_ANCHOR, sessionId, clientAddress, clientPort);
+ }
+}
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/UnsubscribeRequest.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/UnsubscribeRequest.java
index 79ba0695d2b..bf183e3d802 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/UnsubscribeRequest.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/UnsubscribeRequest.java
@@ -8,57 +8,57 @@
* Contributors:
* Boeing - initial API and implementation
*******************************************************************************/
-package org.eclipse.osee.framework.manager.servlet;
-
-import java.io.IOException;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import javax.servlet.http.HttpServletRequest;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.core.util.Conditions;
-import org.eclipse.osee.framework.jdk.core.util.xml.Jaxp;
-import org.eclipse.osee.framework.manager.servlet.ats.XmlUtil;
-import org.w3c.dom.Element;
-
-public final class UnsubscribeRequest {
- private static final Matcher URI_PATTERN_MATCHER = Pattern.compile("group/(\\d+)?/user/(\\d+)").matcher("");
- private final String groupId;
- private final String userId;
-
- public UnsubscribeRequest(String groupId, String userId) {
- super();
- this.groupId = groupId;
- this.userId = userId;
- }
-
- public int getGroupId() {
- return Integer.parseInt(groupId);
- }
-
- public int getUserId() {
- return Integer.parseInt(userId);
- }
-
- public static UnsubscribeRequest createFromXML(HttpServletRequest request) throws IOException, Exception {
- Element rootElement = XmlUtil.readXML(request.getInputStream());
- String groupId = Jaxp.getChildText(rootElement, "groupId");
- String userId = Jaxp.getChildText(rootElement, "userId");
- Conditions.checkNotNullOrEmpty(groupId, "groupId");
- Conditions.checkNotNullOrEmpty(userId, "userId");
- return new UnsubscribeRequest(groupId, userId);
- }
-
- public static UnsubscribeRequest createFromURI(HttpServletRequest request) throws OseeCoreException {
- String uri = request.getRequestURI();
- String groupId = null;
- String userId = null;
- URI_PATTERN_MATCHER.reset(uri);
- if (URI_PATTERN_MATCHER.find()) {
- groupId = URI_PATTERN_MATCHER.group(1);
- userId = URI_PATTERN_MATCHER.group(2);
- }
- Conditions.checkNotNullOrEmpty(groupId, "groupId");
- Conditions.checkNotNullOrEmpty(userId, "userId");
- return new UnsubscribeRequest(groupId, userId);
- }
+package org.eclipse.osee.framework.manager.servlet;
+
+import java.io.IOException;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+import javax.servlet.http.HttpServletRequest;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.core.util.Conditions;
+import org.eclipse.osee.framework.jdk.core.util.xml.Jaxp;
+import org.eclipse.osee.framework.manager.servlet.ats.XmlUtil;
+import org.w3c.dom.Element;
+
+public final class UnsubscribeRequest {
+ private static final Matcher URI_PATTERN_MATCHER = Pattern.compile("group/(\\d+)?/user/(\\d+)").matcher("");
+ private final String groupId;
+ private final String userId;
+
+ public UnsubscribeRequest(String groupId, String userId) {
+ super();
+ this.groupId = groupId;
+ this.userId = userId;
+ }
+
+ public int getGroupId() {
+ return Integer.parseInt(groupId);
+ }
+
+ public int getUserId() {
+ return Integer.parseInt(userId);
+ }
+
+ public static UnsubscribeRequest createFromXML(HttpServletRequest request) throws IOException, Exception {
+ Element rootElement = XmlUtil.readXML(request.getInputStream());
+ String groupId = Jaxp.getChildText(rootElement, "groupId");
+ String userId = Jaxp.getChildText(rootElement, "userId");
+ Conditions.checkNotNullOrEmpty(groupId, "groupId");
+ Conditions.checkNotNullOrEmpty(userId, "userId");
+ return new UnsubscribeRequest(groupId, userId);
+ }
+
+ public static UnsubscribeRequest createFromURI(HttpServletRequest request) throws OseeCoreException {
+ String uri = request.getRequestURI();
+ String groupId = null;
+ String userId = null;
+ URI_PATTERN_MATCHER.reset(uri);
+ if (URI_PATTERN_MATCHER.find()) {
+ groupId = URI_PATTERN_MATCHER.group(1);
+ userId = URI_PATTERN_MATCHER.group(2);
+ }
+ Conditions.checkNotNullOrEmpty(groupId, "groupId");
+ Conditions.checkNotNullOrEmpty(userId, "userId");
+ return new UnsubscribeRequest(groupId, userId);
+ }
} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/UnsubscribeTransaction.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/UnsubscribeTransaction.java
index 185651dad10..88bef344f67 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/UnsubscribeTransaction.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/UnsubscribeTransaction.java
@@ -8,112 +8,112 @@
* Contributors:
* Boeing - initial API and implementation
*******************************************************************************/
-package org.eclipse.osee.framework.manager.servlet;
-
-import java.sql.Timestamp;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.osee.framework.branch.management.commit.UpdatePreviousTxCurrent;
-import org.eclipse.osee.framework.core.enums.CoreRelationTypes;
-import org.eclipse.osee.framework.core.enums.ModificationType;
-import org.eclipse.osee.framework.core.enums.TransactionDetailsType;
-import org.eclipse.osee.framework.core.enums.TxChange;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.core.exception.OseeDataStoreException;
-import org.eclipse.osee.framework.core.exception.OseeStateException;
-import org.eclipse.osee.framework.core.model.Branch;
-import org.eclipse.osee.framework.core.model.type.RelationType;
-import org.eclipse.osee.framework.core.services.IOseeCachingService;
-import org.eclipse.osee.framework.database.IOseeDatabaseServiceProvider;
-import org.eclipse.osee.framework.database.core.AbstractDbTxOperation;
-import org.eclipse.osee.framework.database.core.IOseeStatement;
-import org.eclipse.osee.framework.database.core.OseeConnection;
-import org.eclipse.osee.framework.jdk.core.util.Lib;
-import org.eclipse.osee.framework.jdk.core.util.time.GlobalTime;
-import org.eclipse.osee.framework.manager.servlet.internal.Activator;
-
-public final class UnsubscribeTransaction extends AbstractDbTxOperation {
- private final static String SELECT_RELATION_LINK =
- "select txs.gamma_id, rel.rel_link_id, txs.mod_type from osee_relation_link rel, osee_txs txs where rel.a_art_id = ? and rel.b_art_id = ? and rel.rel_link_type_id = ? and rel.gamma_id=txs.gamma_id and txs.branch_id = ? and txs.tx_current <> ? order by txs.tx_current";
- private final static String INSERT_INTO_TX_DETAILS =
- "insert into osee_tx_details (branch_id, transaction_id, osee_comment, time, author, tx_type) values (?,?,?,?,?,?)";
- private final static String INSERT_INTO_TXS =
- "insert into osee_txs (mod_type, tx_current, transaction_id, gamma_id, branch_id) values (?, ?, ?, ?, ?)";
-
- private Branch common;
- private int relationId;
- private int currentGammaId;
- private final UnsubscribeRequest unsubscribeData;
- private final IOseeCachingService cacheService;
- private String completionMethod;
-
- public UnsubscribeTransaction(IOseeDatabaseServiceProvider provider, IOseeCachingService cacheService, UnsubscribeRequest unsubscribeData) {
- super(provider, "Delete Relation", Activator.PLUGIN_ID);
- this.unsubscribeData = unsubscribeData;
- this.cacheService = cacheService;
- }
-
- @Override
- protected void doTxWork(IProgressMonitor monitor, OseeConnection connection) throws OseeCoreException {
- if (getRelationTxData()) {
- UpdatePreviousTxCurrent txc = new UpdatePreviousTxCurrent(common, connection);
- txc.addRelation(relationId);
- txc.updateTxNotCurrents();
-
- createNewTxAddressing(connection);
- }
- }
-
- private boolean getRelationTxData() throws OseeCoreException {
- common = cacheService.getBranchCache().getCommonBranch();
- RelationType relationType = cacheService.getRelationTypeCache().get(CoreRelationTypes.Users_Artifact);
- IOseeStatement chStmt = getDatabaseService().getStatement();
-
- try {
- chStmt.runPreparedQuery(1, SELECT_RELATION_LINK, unsubscribeData.getGroupId(), unsubscribeData.getUserId(),
- relationType.getId(), common.getId(), TxChange.NOT_CURRENT.getValue());
- if (chStmt.next()) {
- currentGammaId = chStmt.getInt("gamma_id");
- relationId = chStmt.getInt("rel_link_id");
- int modType = chStmt.getInt("mod_type");
- return ensureNotAlreadyDeleted(modType);
- } else {
- throw new OseeStateException(String.format(
- "No existing relation (deleted or otherwise) was found for group [%s] and user [%s].",
- unsubscribeData.getGroupId(), unsubscribeData.getUserId()));
- }
- } finally {
- Lib.close(chStmt);
- }
- }
-
- private boolean ensureNotAlreadyDeleted(int modType) {
- if (modType == ModificationType.ARTIFACT_DELETED.getValue() || modType == ModificationType.DELETED.getValue()) {
- completionMethod =
- String.format("<br/>You have already been removed from the group.<br/> group [%s] user [%s]",
- unsubscribeData.getGroupId(), unsubscribeData.getUserId());
- return false;
- } else {
- completionMethod = String.format("<br/>You have been successfully unsubscribed.");
- return true;
- }
- }
-
- @SuppressWarnings("unchecked")
- private void createNewTxAddressing(OseeConnection connection) throws OseeDataStoreException {
- int transactionId = getDatabaseService().getSequence().getNextTransactionId();
- String comment =
- String.format("User %s requested unsubscribe from group %s", unsubscribeData.getUserId(),
- unsubscribeData.getGroupId());
- Timestamp timestamp = GlobalTime.GreenwichMeanTimestamp();
- int txType = TransactionDetailsType.NonBaselined.getId();
-
- getDatabaseService().runPreparedUpdate(connection, INSERT_INTO_TX_DETAILS, common.getId(), transactionId,
- comment, timestamp, unsubscribeData.getUserId(), txType);
- getDatabaseService().runPreparedUpdate(connection, INSERT_INTO_TXS, ModificationType.DELETED.getValue(),
- TxChange.DELETED.getValue(), transactionId, currentGammaId, common.getId());
- }
-
- public String getCompletionMessage() {
- return completionMethod;
- }
+package org.eclipse.osee.framework.manager.servlet;
+
+import java.sql.Timestamp;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.osee.framework.branch.management.commit.UpdatePreviousTxCurrent;
+import org.eclipse.osee.framework.core.enums.CoreRelationTypes;
+import org.eclipse.osee.framework.core.enums.ModificationType;
+import org.eclipse.osee.framework.core.enums.TransactionDetailsType;
+import org.eclipse.osee.framework.core.enums.TxChange;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.core.exception.OseeDataStoreException;
+import org.eclipse.osee.framework.core.exception.OseeStateException;
+import org.eclipse.osee.framework.core.model.Branch;
+import org.eclipse.osee.framework.core.model.type.RelationType;
+import org.eclipse.osee.framework.core.services.IOseeCachingService;
+import org.eclipse.osee.framework.database.IOseeDatabaseServiceProvider;
+import org.eclipse.osee.framework.database.core.AbstractDbTxOperation;
+import org.eclipse.osee.framework.database.core.IOseeStatement;
+import org.eclipse.osee.framework.database.core.OseeConnection;
+import org.eclipse.osee.framework.jdk.core.util.Lib;
+import org.eclipse.osee.framework.jdk.core.util.time.GlobalTime;
+import org.eclipse.osee.framework.manager.servlet.internal.Activator;
+
+public final class UnsubscribeTransaction extends AbstractDbTxOperation {
+ private final static String SELECT_RELATION_LINK =
+ "select txs.gamma_id, rel.rel_link_id, txs.mod_type from osee_relation_link rel, osee_txs txs where rel.a_art_id = ? and rel.b_art_id = ? and rel.rel_link_type_id = ? and rel.gamma_id=txs.gamma_id and txs.branch_id = ? and txs.tx_current <> ? order by txs.tx_current";
+ private final static String INSERT_INTO_TX_DETAILS =
+ "insert into osee_tx_details (branch_id, transaction_id, osee_comment, time, author, tx_type) values (?,?,?,?,?,?)";
+ private final static String INSERT_INTO_TXS =
+ "insert into osee_txs (mod_type, tx_current, transaction_id, gamma_id, branch_id) values (?, ?, ?, ?, ?)";
+
+ private Branch common;
+ private int relationId;
+ private int currentGammaId;
+ private final UnsubscribeRequest unsubscribeData;
+ private final IOseeCachingService cacheService;
+ private String completionMethod;
+
+ public UnsubscribeTransaction(IOseeDatabaseServiceProvider provider, IOseeCachingService cacheService, UnsubscribeRequest unsubscribeData) {
+ super(provider, "Delete Relation", Activator.PLUGIN_ID);
+ this.unsubscribeData = unsubscribeData;
+ this.cacheService = cacheService;
+ }
+
+ @Override
+ protected void doTxWork(IProgressMonitor monitor, OseeConnection connection) throws OseeCoreException {
+ if (getRelationTxData()) {
+ UpdatePreviousTxCurrent txc = new UpdatePreviousTxCurrent(common, connection);
+ txc.addRelation(relationId);
+ txc.updateTxNotCurrents();
+
+ createNewTxAddressing(connection);
+ }
+ }
+
+ private boolean getRelationTxData() throws OseeCoreException {
+ common = cacheService.getBranchCache().getCommonBranch();
+ RelationType relationType = cacheService.getRelationTypeCache().get(CoreRelationTypes.Users_Artifact);
+ IOseeStatement chStmt = getDatabaseService().getStatement();
+
+ try {
+ chStmt.runPreparedQuery(1, SELECT_RELATION_LINK, unsubscribeData.getGroupId(), unsubscribeData.getUserId(),
+ relationType.getId(), common.getId(), TxChange.NOT_CURRENT.getValue());
+ if (chStmt.next()) {
+ currentGammaId = chStmt.getInt("gamma_id");
+ relationId = chStmt.getInt("rel_link_id");
+ int modType = chStmt.getInt("mod_type");
+ return ensureNotAlreadyDeleted(modType);
+ } else {
+ throw new OseeStateException(String.format(
+ "No existing relation (deleted or otherwise) was found for group [%s] and user [%s].",
+ unsubscribeData.getGroupId(), unsubscribeData.getUserId()));
+ }
+ } finally {
+ Lib.close(chStmt);
+ }
+ }
+
+ private boolean ensureNotAlreadyDeleted(int modType) {
+ if (modType == ModificationType.ARTIFACT_DELETED.getValue() || modType == ModificationType.DELETED.getValue()) {
+ completionMethod =
+ String.format("<br/>You have already been removed from the group.<br/> group [%s] user [%s]",
+ unsubscribeData.getGroupId(), unsubscribeData.getUserId());
+ return false;
+ } else {
+ completionMethod = String.format("<br/>You have been successfully unsubscribed.");
+ return true;
+ }
+ }
+
+ @SuppressWarnings("unchecked")
+ private void createNewTxAddressing(OseeConnection connection) throws OseeDataStoreException {
+ int transactionId = getDatabaseService().getSequence().getNextTransactionId();
+ String comment =
+ String.format("User %s requested unsubscribe from group %s", unsubscribeData.getUserId(),
+ unsubscribeData.getGroupId());
+ Timestamp timestamp = GlobalTime.GreenwichMeanTimestamp();
+ int txType = TransactionDetailsType.NonBaselined.getId();
+
+ getDatabaseService().runPreparedUpdate(connection, INSERT_INTO_TX_DETAILS, common.getId(), transactionId,
+ comment, timestamp, unsubscribeData.getUserId(), txType);
+ getDatabaseService().runPreparedUpdate(connection, INSERT_INTO_TXS, ModificationType.DELETED.getValue(),
+ TxChange.DELETED.getValue(), transactionId, currentGammaId, common.getId());
+ }
+
+ public String getCompletionMessage() {
+ return completionMethod;
+ }
} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ats/AtsResourceLocatorProvider.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ats/AtsResourceLocatorProvider.java
index 438a184bb11..0192d83a9d1 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ats/AtsResourceLocatorProvider.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ats/AtsResourceLocatorProvider.java
@@ -1,76 +1,76 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.framework.manager.servlet.ats;
-
-import java.net.URI;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.jdk.core.util.Strings;
-import org.eclipse.osee.framework.resource.management.IResourceLocator;
-import org.eclipse.osee.framework.resource.management.IResourceLocatorProvider;
-import org.eclipse.osee.framework.resource.management.exception.MalformedLocatorException;
-import org.eclipse.osee.framework.resource.management.util.ResourceLocator;
-
-/**
- * @author Roberto E. Escobar
- */
-public class AtsResourceLocatorProvider implements IResourceLocatorProvider {
- public static final String PROTOCOL = "atsData";
-
- @Override
- public IResourceLocator generateResourceLocator(String seed, String name) throws OseeCoreException {
- URI uri = null;
- try {
- uri = new URI(generatePath(name));
- } catch (Exception ex) {
- throw new MalformedLocatorException(ex);
- }
- return new ResourceLocator(uri);
- }
-
- @Override
- public IResourceLocator getResourceLocator(String path) throws OseeCoreException {
- URI uri = null;
- if (isPathValid(path) != false) {
- try {
- uri = new URI(path);
- } catch (Exception ex) {
- throw new MalformedLocatorException(ex);
- }
- } else {
- throw new MalformedLocatorException(String.format("Invalid path hint: [%s]", path));
- }
- return new ResourceLocator(uri);
- }
-
- @Override
- public String getSupportedProtocol() {
- return PROTOCOL;
- }
-
- @Override
- public boolean isValid(String protocol) {
- return Strings.isValid(protocol) != false && protocol.startsWith(getSupportedProtocol()) != false;
- }
-
- private boolean isPathValid(String value) {
- return Strings.isValid(value) && value.startsWith(getSupportedProtocol() + "://");
- }
-
- private String generatePath(String name) throws MalformedLocatorException {
- StringBuilder builder = new StringBuilder(getSupportedProtocol() + "://");
- if (Strings.isValid(name)) {
- builder.append(name);
- } else {
- throw new MalformedLocatorException("Invalid arguments during locator generation.");
- }
- return builder.toString();
- }
-}
+/*******************************************************************************
+ * 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.manager.servlet.ats;
+
+import java.net.URI;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.jdk.core.util.Strings;
+import org.eclipse.osee.framework.resource.management.IResourceLocator;
+import org.eclipse.osee.framework.resource.management.IResourceLocatorProvider;
+import org.eclipse.osee.framework.resource.management.exception.MalformedLocatorException;
+import org.eclipse.osee.framework.resource.management.util.ResourceLocator;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class AtsResourceLocatorProvider implements IResourceLocatorProvider {
+ public static final String PROTOCOL = "atsData";
+
+ @Override
+ public IResourceLocator generateResourceLocator(String seed, String name) throws OseeCoreException {
+ URI uri = null;
+ try {
+ uri = new URI(generatePath(name));
+ } catch (Exception ex) {
+ throw new MalformedLocatorException(ex);
+ }
+ return new ResourceLocator(uri);
+ }
+
+ @Override
+ public IResourceLocator getResourceLocator(String path) throws OseeCoreException {
+ URI uri = null;
+ if (isPathValid(path) != false) {
+ try {
+ uri = new URI(path);
+ } catch (Exception ex) {
+ throw new MalformedLocatorException(ex);
+ }
+ } else {
+ throw new MalformedLocatorException(String.format("Invalid path hint: [%s]", path));
+ }
+ return new ResourceLocator(uri);
+ }
+
+ @Override
+ public String getSupportedProtocol() {
+ return PROTOCOL;
+ }
+
+ @Override
+ public boolean isValid(String protocol) {
+ return Strings.isValid(protocol) != false && protocol.startsWith(getSupportedProtocol()) != false;
+ }
+
+ private boolean isPathValid(String value) {
+ return Strings.isValid(value) && value.startsWith(getSupportedProtocol() + "://");
+ }
+
+ private String generatePath(String name) throws MalformedLocatorException {
+ StringBuilder builder = new StringBuilder(getSupportedProtocol() + "://");
+ if (Strings.isValid(name)) {
+ builder.append(name);
+ } else {
+ throw new MalformedLocatorException("Invalid arguments during locator generation.");
+ }
+ return builder.toString();
+ }
+}
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ats/AtsResourceProvider.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ats/AtsResourceProvider.java
index 935e01b8810..a52d92c0053 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ats/AtsResourceProvider.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ats/AtsResourceProvider.java
@@ -1,94 +1,94 @@
-/*******************************************************************************
- * 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.manager.servlet.ats;
-
-import java.io.File;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.Arrays;
-import java.util.Collection;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.core.server.OseeServerProperties;
-import org.eclipse.osee.framework.resource.management.IResource;
-import org.eclipse.osee.framework.resource.management.IResourceLocator;
-import org.eclipse.osee.framework.resource.management.IResourceProvider;
-import org.eclipse.osee.framework.resource.management.Options;
-import org.eclipse.osee.framework.resource.management.exception.MalformedLocatorException;
-import org.eclipse.osee.framework.resource.management.util.OptionsProcessor;
-/**
- * @author Roberto E. Escobar
- */
-public class AtsResourceProvider implements IResourceProvider {
- private static final String BASE_PATH = OseeServerProperties.getOseeApplicationServerData();
- private static final String RESOLVED_PATH =
- BASE_PATH + File.separator + AtsResourceLocatorProvider.PROTOCOL + File.separator;
-
- public AtsResourceProvider() {
- }
-
- public static String getExchangeFilePath() {
- return RESOLVED_PATH;
- }
-
- private URI resolve(IResourceLocator locator) throws OseeCoreException {
- URI toReturn = null;
- StringBuilder builder = new StringBuilder();
- String rawPath = locator.getRawPath();
- if (!rawPath.startsWith("file:/")) {
- builder.append(RESOLVED_PATH);
- builder.append(rawPath);
- toReturn = new File(builder.toString()).toURI();
- } else {
- rawPath = rawPath.replaceAll(" ", "%20");
- try {
- toReturn = new URI(rawPath);
- } catch (URISyntaxException ex) {
- throw new MalformedLocatorException(rawPath, ex);
- }
- }
- return toReturn;
- }
-
- @Override
- public IResource acquire(IResourceLocator locator, Options options) throws OseeCoreException {
- IResource toReturn = null;
- OptionsProcessor optionsProcessor = new OptionsProcessor(resolve(locator), locator, null, options);
- toReturn = optionsProcessor.getResourceToServer();
- return toReturn;
- }
-
- @Override
- public int delete(IResourceLocator locator) throws OseeCoreException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public boolean isValid(IResourceLocator locator) {
- return locator != null && getSupportedProtocols().contains(locator.getProtocol());
- }
-
- @Override
- public IResourceLocator save(IResourceLocator locator, IResource resource, Options options) throws OseeCoreException {
- throw new UnsupportedOperationException();
- }
-
- @Override
- public boolean exists(IResourceLocator locator) throws OseeCoreException {
- URI uri = resolve(locator);
- File testFile = new File(uri);
- return testFile.exists();
- }
-
- @Override
- public Collection<String> getSupportedProtocols() {
- return Arrays.asList(AtsResourceLocatorProvider.PROTOCOL);
- }
+/*******************************************************************************
+ * 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.manager.servlet.ats;
+
+import java.io.File;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.Arrays;
+import java.util.Collection;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.core.server.OseeServerProperties;
+import org.eclipse.osee.framework.resource.management.IResource;
+import org.eclipse.osee.framework.resource.management.IResourceLocator;
+import org.eclipse.osee.framework.resource.management.IResourceProvider;
+import org.eclipse.osee.framework.resource.management.Options;
+import org.eclipse.osee.framework.resource.management.exception.MalformedLocatorException;
+import org.eclipse.osee.framework.resource.management.util.OptionsProcessor;
+/**
+ * @author Roberto E. Escobar
+ */
+public class AtsResourceProvider implements IResourceProvider {
+ private static final String BASE_PATH = OseeServerProperties.getOseeApplicationServerData();
+ private static final String RESOLVED_PATH =
+ BASE_PATH + File.separator + AtsResourceLocatorProvider.PROTOCOL + File.separator;
+
+ public AtsResourceProvider() {
+ }
+
+ public static String getExchangeFilePath() {
+ return RESOLVED_PATH;
+ }
+
+ private URI resolve(IResourceLocator locator) throws OseeCoreException {
+ URI toReturn = null;
+ StringBuilder builder = new StringBuilder();
+ String rawPath = locator.getRawPath();
+ if (!rawPath.startsWith("file:/")) {
+ builder.append(RESOLVED_PATH);
+ builder.append(rawPath);
+ toReturn = new File(builder.toString()).toURI();
+ } else {
+ rawPath = rawPath.replaceAll(" ", "%20");
+ try {
+ toReturn = new URI(rawPath);
+ } catch (URISyntaxException ex) {
+ throw new MalformedLocatorException(rawPath, ex);
+ }
+ }
+ return toReturn;
+ }
+
+ @Override
+ public IResource acquire(IResourceLocator locator, Options options) throws OseeCoreException {
+ IResource toReturn = null;
+ OptionsProcessor optionsProcessor = new OptionsProcessor(resolve(locator), locator, null, options);
+ toReturn = optionsProcessor.getResourceToServer();
+ return toReturn;
+ }
+
+ @Override
+ public int delete(IResourceLocator locator) throws OseeCoreException {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public boolean isValid(IResourceLocator locator) {
+ return locator != null && getSupportedProtocols().contains(locator.getProtocol());
+ }
+
+ @Override
+ public IResourceLocator save(IResourceLocator locator, IResource resource, Options options) throws OseeCoreException {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public boolean exists(IResourceLocator locator) throws OseeCoreException {
+ URI uri = resolve(locator);
+ File testFile = new File(uri);
+ return testFile.exists();
+ }
+
+ @Override
+ public Collection<String> getSupportedProtocols() {
+ return Arrays.asList(AtsResourceLocatorProvider.PROTOCOL);
+ }
} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ats/AtsService.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ats/AtsService.java
index 0ed09d547a6..ac9afc923ee 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ats/AtsService.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ats/AtsService.java
@@ -1,155 +1,155 @@
-/*******************************************************************************
- * 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.manager.servlet.ats;
-
-import java.util.Collection;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.jdk.core.util.Strings;
-import org.eclipse.osee.framework.manager.servlet.DataServlet;
-import org.eclipse.osee.framework.resource.management.IResource;
-import org.eclipse.osee.framework.resource.management.IResourceLocatorManager;
-import org.eclipse.osee.framework.resource.management.IResourceManager;
-import org.w3c.dom.Node;
-
-/**
- * @author Roberto E. Escobar
- */
-public class AtsService {
-
- private static enum DataTypeEnum {
- PROGRAM,
- BUILD,
- WORKFLOW;
-
- public String asFileName() {
- return "ats." + this.name().toLowerCase() + ".data.xml";
- }
- }
-
- public static interface IResourceProvider {
- IResource getResource(String typeName) throws OseeCoreException;
- }
-
- private final IResourceProvider resourceProvider;
- private final AtsXmlSearch xmlSearch;
- private final AtsXmlMessages messages;
- private final IResourceLocatorManager locatorManager;
- private final IResourceManager resourceManager;
-
- public AtsService(IResourceProvider resourceProvider, AtsXmlSearch xmlSearch, AtsXmlMessages messages, IResourceLocatorManager locatorManager, IResourceManager resourceManager) {
- super();
- this.xmlSearch = xmlSearch;
- this.messages = messages;
- this.resourceProvider = resourceProvider;
- this.locatorManager = locatorManager;
- this.resourceManager = resourceManager;
- }
-
- public void performOperation(IResource resource, HttpServletResponse response) {
- try {
- Collection<OperationData> requests = OperationData.fromResource(resource);
- for (OperationData data : requests) {
- switch (data.getOperationType()) {
- case GET_BUILDS_BY_PROGRAM_ID:
- getBuilds(response, data.getProgramId());
- break;
- case GET_CHANGE_REPORTS_BY_IDS:
- getChangeReport(response, data.getItemIds());
- break;
- case GET_PROGRAMS:
- getPrograms(response);
- break;
- case GET_WORKFLOWS_BY_IDS:
- getWorkflowsById(response, data.getItemIds());
- break;
- case GET_WORKFLOWS_BY_PROGRAM_AND_BUILD_ID:
- getWorkflowsByProgramAndBuild(response, data.getProgramId(), data.getBuildId());
- break;
- default:
- throw new UnsupportedOperationException();
- }
- }
- } catch (Exception ex) {
- messages.sendError(response, ex);
- }
- }
-
- private IResource getResource(DataTypeEnum fileType) throws OseeCoreException {
- return getResource(fileType.asFileName());
- }
-
- private IResource getResource(String resource) throws OseeCoreException {
- String urlPath = String.format("%s://%s", AtsResourceLocatorProvider.PROTOCOL, resource);
- return resourceProvider.getResource(urlPath);
- }
-
- public void getPrograms(HttpServletResponse response) throws OseeCoreException {
- IResource resource = getResource(DataTypeEnum.PROGRAM);
- Collection<Node> nodes = xmlSearch.findPrograms(resource);
- messages.sendPrograms(response, nodes);
- }
-
- public void getBuilds(HttpServletResponse response, String programId) throws OseeCoreException {
- IResource resource = getResource(DataTypeEnum.BUILD);
- Collection<Node> nodes = xmlSearch.findBuildsByProgramId(resource, programId);
- messages.sendBuilds(response, nodes);
- }
-
- public void getWorkflowsById(HttpServletResponse response, String idSearch) throws OseeCoreException {
- IResource resource = getResource(DataTypeEnum.WORKFLOW);
- Collection<Node> nodes = xmlSearch.findWorkflowsById(resource, idSearch);
- messages.sendWorkflows(response, nodes);
- }
-
- public void getWorkflowsByProgramAndBuild(HttpServletResponse response, String programId, String buildId) throws OseeCoreException {
- IResource resource = getResource(DataTypeEnum.WORKFLOW);
- Collection<Node> nodes = xmlSearch.findWorkflowsByProgramAndBuild(resource, programId, buildId);
- messages.sendWorkflows(response, nodes);
- }
-
- public void getChangeReport(HttpServletResponse response, String idSearch) throws OseeCoreException {
- IResource resource = getResource(DataTypeEnum.WORKFLOW);
- Collection<Node> nodes = xmlSearch.findWorkflowsById(resource, idSearch);
- messages.sendChangeReports(response, nodes);
- }
-
- public void sendClient(HttpServletRequest request, HttpServletResponse response) {
- String urlPath = request.getParameter("url");
- boolean wasErrorSent = false;
- IResource resource = null;
- try {
- if (Strings.isValid(urlPath)) {
- resource = resourceProvider.getResource(urlPath);
- } else {
- String servletPath = request.getServletPath();
- urlPath = request.getRequestURI().replace(servletPath, "");
-
- if (urlPath.contains("osee/data")) {
- DataServlet.handleUriRequest(locatorManager, resourceManager, urlPath, response);
- return;
- } else {
- resource = getResource(urlPath);
- }
- }
- } catch (OseeCoreException ex) {
- messages.sendError(response, ex);
- wasErrorSent = true;
- }
-
- if (resource == null && !wasErrorSent) {
- messages.sendError(response, new Exception(String.format("Resource not found - [%s]", urlPath)));
- } else {
- messages.sendResource(response, resource.getName(), resource);
- }
- }
-}
+/*******************************************************************************
+ * 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.manager.servlet.ats;
+
+import java.util.Collection;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.jdk.core.util.Strings;
+import org.eclipse.osee.framework.manager.servlet.DataServlet;
+import org.eclipse.osee.framework.resource.management.IResource;
+import org.eclipse.osee.framework.resource.management.IResourceLocatorManager;
+import org.eclipse.osee.framework.resource.management.IResourceManager;
+import org.w3c.dom.Node;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class AtsService {
+
+ private static enum DataTypeEnum {
+ PROGRAM,
+ BUILD,
+ WORKFLOW;
+
+ public String asFileName() {
+ return "ats." + this.name().toLowerCase() + ".data.xml";
+ }
+ }
+
+ public static interface IResourceProvider {
+ IResource getResource(String typeName) throws OseeCoreException;
+ }
+
+ private final IResourceProvider resourceProvider;
+ private final AtsXmlSearch xmlSearch;
+ private final AtsXmlMessages messages;
+ private final IResourceLocatorManager locatorManager;
+ private final IResourceManager resourceManager;
+
+ public AtsService(IResourceProvider resourceProvider, AtsXmlSearch xmlSearch, AtsXmlMessages messages, IResourceLocatorManager locatorManager, IResourceManager resourceManager) {
+ super();
+ this.xmlSearch = xmlSearch;
+ this.messages = messages;
+ this.resourceProvider = resourceProvider;
+ this.locatorManager = locatorManager;
+ this.resourceManager = resourceManager;
+ }
+
+ public void performOperation(IResource resource, HttpServletResponse response) {
+ try {
+ Collection<OperationData> requests = OperationData.fromResource(resource);
+ for (OperationData data : requests) {
+ switch (data.getOperationType()) {
+ case GET_BUILDS_BY_PROGRAM_ID:
+ getBuilds(response, data.getProgramId());
+ break;
+ case GET_CHANGE_REPORTS_BY_IDS:
+ getChangeReport(response, data.getItemIds());
+ break;
+ case GET_PROGRAMS:
+ getPrograms(response);
+ break;
+ case GET_WORKFLOWS_BY_IDS:
+ getWorkflowsById(response, data.getItemIds());
+ break;
+ case GET_WORKFLOWS_BY_PROGRAM_AND_BUILD_ID:
+ getWorkflowsByProgramAndBuild(response, data.getProgramId(), data.getBuildId());
+ break;
+ default:
+ throw new UnsupportedOperationException();
+ }
+ }
+ } catch (Exception ex) {
+ messages.sendError(response, ex);
+ }
+ }
+
+ private IResource getResource(DataTypeEnum fileType) throws OseeCoreException {
+ return getResource(fileType.asFileName());
+ }
+
+ private IResource getResource(String resource) throws OseeCoreException {
+ String urlPath = String.format("%s://%s", AtsResourceLocatorProvider.PROTOCOL, resource);
+ return resourceProvider.getResource(urlPath);
+ }
+
+ public void getPrograms(HttpServletResponse response) throws OseeCoreException {
+ IResource resource = getResource(DataTypeEnum.PROGRAM);
+ Collection<Node> nodes = xmlSearch.findPrograms(resource);
+ messages.sendPrograms(response, nodes);
+ }
+
+ public void getBuilds(HttpServletResponse response, String programId) throws OseeCoreException {
+ IResource resource = getResource(DataTypeEnum.BUILD);
+ Collection<Node> nodes = xmlSearch.findBuildsByProgramId(resource, programId);
+ messages.sendBuilds(response, nodes);
+ }
+
+ public void getWorkflowsById(HttpServletResponse response, String idSearch) throws OseeCoreException {
+ IResource resource = getResource(DataTypeEnum.WORKFLOW);
+ Collection<Node> nodes = xmlSearch.findWorkflowsById(resource, idSearch);
+ messages.sendWorkflows(response, nodes);
+ }
+
+ public void getWorkflowsByProgramAndBuild(HttpServletResponse response, String programId, String buildId) throws OseeCoreException {
+ IResource resource = getResource(DataTypeEnum.WORKFLOW);
+ Collection<Node> nodes = xmlSearch.findWorkflowsByProgramAndBuild(resource, programId, buildId);
+ messages.sendWorkflows(response, nodes);
+ }
+
+ public void getChangeReport(HttpServletResponse response, String idSearch) throws OseeCoreException {
+ IResource resource = getResource(DataTypeEnum.WORKFLOW);
+ Collection<Node> nodes = xmlSearch.findWorkflowsById(resource, idSearch);
+ messages.sendChangeReports(response, nodes);
+ }
+
+ public void sendClient(HttpServletRequest request, HttpServletResponse response) {
+ String urlPath = request.getParameter("url");
+ boolean wasErrorSent = false;
+ IResource resource = null;
+ try {
+ if (Strings.isValid(urlPath)) {
+ resource = resourceProvider.getResource(urlPath);
+ } else {
+ String servletPath = request.getServletPath();
+ urlPath = request.getRequestURI().replace(servletPath, "");
+
+ if (urlPath.contains("osee/data")) {
+ DataServlet.handleUriRequest(locatorManager, resourceManager, urlPath, response);
+ return;
+ } else {
+ resource = getResource(urlPath);
+ }
+ }
+ } catch (OseeCoreException ex) {
+ messages.sendError(response, ex);
+ wasErrorSent = true;
+ }
+
+ if (resource == null && !wasErrorSent) {
+ messages.sendError(response, new Exception(String.format("Resource not found - [%s]", urlPath)));
+ } else {
+ messages.sendResource(response, resource.getName(), resource);
+ }
+ }
+}
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ats/AtsXmlMessages.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ats/AtsXmlMessages.java
index 2f4c21422e5..566d2795dd9 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ats/AtsXmlMessages.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ats/AtsXmlMessages.java
@@ -1,75 +1,75 @@
-/*******************************************************************************
- * 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.manager.servlet.ats;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import javax.servlet.http.HttpServletResponse;
-import org.eclipse.osee.framework.jdk.core.util.xml.Jaxp;
-import org.eclipse.osee.framework.resource.management.IResource;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * @author Roberto E. Escobar
- */
-public class AtsXmlMessages {
-
- private final XmlMessage messenger;
-
- public AtsXmlMessages(XmlMessage messenger) {
- this.messenger = messenger;
- }
-
- public void sendError(HttpServletResponse response, Throwable ex) {
- messenger.sendError(response, "Ats Error", ex);
- }
-
- public void sendPrograms(HttpServletResponse response, Collection<Node> nodes) {
- messenger.sendMessage(response, "Ats Programs", "0", nodes);
- }
-
- public void sendBuilds(HttpServletResponse response, Collection<Node> nodes) {
- messenger.sendMessage(response, "Ats Builds", "0", nodes);
- }
-
- public void sendWorkflows(HttpServletResponse response, Collection<Node> nodes) {
- // for (Node node : nodes) {
- // Element changeReportElement = createChangeReportNode(node);
- // node.appendChild(changeReportElement);
- // }
- messenger.sendMessage(response, "Ats Workflows", "0", nodes);
- }
-
- public void sendChangeReports(HttpServletResponse response, Collection<Node> nodes) {
- List<Node> nodeList = new ArrayList<Node>();
- for (Node node : nodes) {
- Element path = Jaxp.getChildDirect((Element) node, "workflowChangeReportPath");
- // Element changeReportElement = createChangeReportNode(node);
- nodeList.add(path);
- }
- messenger.sendMessage(response, "Ats Change Reports", "0", nodeList);
- }
-
- // private Element createChangeReportNode(Node node) {
- // String legacyId = Jaxp.getChildText((Element) node, "workflowPcrId");
- // String changeReportUrl =
- // String.format("%s://changeReports/%s.xml", AtsResourceLocatorProvider.PROTOCOL, legacyId);
- // Element changeReportElement = node.getOwnerDocument().createElement("changeReportUrl");
- // changeReportElement.setTextContent(changeReportUrl);
- // return changeReportElement;
- // }
-
- public void sendResource(HttpServletResponse response, String name, IResource resource) {
- messenger.sendMessage(response, name, resource, false);
- }
-}
+/*******************************************************************************
+ * 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.manager.servlet.ats;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+import org.eclipse.osee.framework.jdk.core.util.xml.Jaxp;
+import org.eclipse.osee.framework.resource.management.IResource;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class AtsXmlMessages {
+
+ private final XmlMessage messenger;
+
+ public AtsXmlMessages(XmlMessage messenger) {
+ this.messenger = messenger;
+ }
+
+ public void sendError(HttpServletResponse response, Throwable ex) {
+ messenger.sendError(response, "Ats Error", ex);
+ }
+
+ public void sendPrograms(HttpServletResponse response, Collection<Node> nodes) {
+ messenger.sendMessage(response, "Ats Programs", "0", nodes);
+ }
+
+ public void sendBuilds(HttpServletResponse response, Collection<Node> nodes) {
+ messenger.sendMessage(response, "Ats Builds", "0", nodes);
+ }
+
+ public void sendWorkflows(HttpServletResponse response, Collection<Node> nodes) {
+ // for (Node node : nodes) {
+ // Element changeReportElement = createChangeReportNode(node);
+ // node.appendChild(changeReportElement);
+ // }
+ messenger.sendMessage(response, "Ats Workflows", "0", nodes);
+ }
+
+ public void sendChangeReports(HttpServletResponse response, Collection<Node> nodes) {
+ List<Node> nodeList = new ArrayList<Node>();
+ for (Node node : nodes) {
+ Element path = Jaxp.getChildDirect((Element) node, "workflowChangeReportPath");
+ // Element changeReportElement = createChangeReportNode(node);
+ nodeList.add(path);
+ }
+ messenger.sendMessage(response, "Ats Change Reports", "0", nodeList);
+ }
+
+ // private Element createChangeReportNode(Node node) {
+ // String legacyId = Jaxp.getChildText((Element) node, "workflowPcrId");
+ // String changeReportUrl =
+ // String.format("%s://changeReports/%s.xml", AtsResourceLocatorProvider.PROTOCOL, legacyId);
+ // Element changeReportElement = node.getOwnerDocument().createElement("changeReportUrl");
+ // changeReportElement.setTextContent(changeReportUrl);
+ // return changeReportElement;
+ // }
+
+ public void sendResource(HttpServletResponse response, String name, IResource resource) {
+ messenger.sendMessage(response, name, resource, false);
+ }
+}
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ats/AtsXmlSearch.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ats/AtsXmlSearch.java
index c29e2cb26c4..4918364b8cc 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ats/AtsXmlSearch.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ats/AtsXmlSearch.java
@@ -1,85 +1,85 @@
-/*******************************************************************************
- * 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.manager.servlet.ats;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.jdk.core.util.Collections;
-import org.eclipse.osee.framework.jdk.core.util.Strings;
-import org.eclipse.osee.framework.resource.management.IResource;
-import org.w3c.dom.Node;
-
-/**
- * @author Roberto E. Escobar
- */
-public class AtsXmlSearch {
-
- public AtsXmlSearch() {
- }
-
- public Collection<Node> findPrograms(IResource resource) throws OseeCoreException {
- return XmlUtil.findInResource(resource, "//program");
- }
-
- public Collection<Node> findBuildsByProgramId(IResource resource, String programId) throws OseeCoreException {
- return XmlUtil.findInResource(resource, "//build[buildProgramId=\"" + programId + "\"]");
- }
-
- public Collection<Node> findWorkflowsByProgramAndBuild(IResource resource, String programId, String buildId) throws OseeCoreException {
- return XmlUtil.findInResource(resource,
- "//workflow[workflowProgramId=\"" + programId + "\" and workflowBuildId=\"" + buildId + "\"]");
- }
-
- public Collection<Node> findWorkflowsById(IResource resource, String id) throws OseeCoreException {
- Collection<Node> toReturn = null;
- String predicate = multiIdsToXPath(id);
- if (Strings.isValid(predicate)) {
- StringBuilder builder = new StringBuilder();
- builder.append("//workflow[");
- builder.append(predicate);
- builder.append("]");
- toReturn = XmlUtil.findInResource(resource, builder.toString());
- } else {
- toReturn = java.util.Collections.emptyList();
- }
- return toReturn;
- }
-
- public String multiIdsToXPath(String idsWithCommas) throws OseeCoreException {
- List<String> predicates = new ArrayList<String>();
- if (Strings.isValid(idsWithCommas)) {
- String[] ids = idsWithCommas.split("[\\s,]+");
- for (String id : ids) {
- predicates.add(idToXPath(id));
- }
- }
- return Collections.toString(predicates, " or ");
- }
-
- public String idToXPath(String id) throws OseeCoreException {
- StringBuilder builder = new StringBuilder();
- if (IdUtils.isValidLegacyId(id)) {
- builder.append("workflowPcrId=");
- } else if (IdUtils.isValidGUID(id)) {
- builder.append("workflowId=");
- } else if (IdUtils.isValidHRID(id)) {
- builder.append("workflowHrid=");
- } else {
- throw new OseeCoreException(String.format("Invalid id [%s]", id));
- }
- if (builder.length() > 0) {
- builder.append("\"" + id + "\"");
- }
- return builder.toString();
- }
-}
+/*******************************************************************************
+ * 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.manager.servlet.ats;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.jdk.core.util.Collections;
+import org.eclipse.osee.framework.jdk.core.util.Strings;
+import org.eclipse.osee.framework.resource.management.IResource;
+import org.w3c.dom.Node;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class AtsXmlSearch {
+
+ public AtsXmlSearch() {
+ }
+
+ public Collection<Node> findPrograms(IResource resource) throws OseeCoreException {
+ return XmlUtil.findInResource(resource, "//program");
+ }
+
+ public Collection<Node> findBuildsByProgramId(IResource resource, String programId) throws OseeCoreException {
+ return XmlUtil.findInResource(resource, "//build[buildProgramId=\"" + programId + "\"]");
+ }
+
+ public Collection<Node> findWorkflowsByProgramAndBuild(IResource resource, String programId, String buildId) throws OseeCoreException {
+ return XmlUtil.findInResource(resource,
+ "//workflow[workflowProgramId=\"" + programId + "\" and workflowBuildId=\"" + buildId + "\"]");
+ }
+
+ public Collection<Node> findWorkflowsById(IResource resource, String id) throws OseeCoreException {
+ Collection<Node> toReturn = null;
+ String predicate = multiIdsToXPath(id);
+ if (Strings.isValid(predicate)) {
+ StringBuilder builder = new StringBuilder();
+ builder.append("//workflow[");
+ builder.append(predicate);
+ builder.append("]");
+ toReturn = XmlUtil.findInResource(resource, builder.toString());
+ } else {
+ toReturn = java.util.Collections.emptyList();
+ }
+ return toReturn;
+ }
+
+ public String multiIdsToXPath(String idsWithCommas) throws OseeCoreException {
+ List<String> predicates = new ArrayList<String>();
+ if (Strings.isValid(idsWithCommas)) {
+ String[] ids = idsWithCommas.split("[\\s,]+");
+ for (String id : ids) {
+ predicates.add(idToXPath(id));
+ }
+ }
+ return Collections.toString(predicates, " or ");
+ }
+
+ public String idToXPath(String id) throws OseeCoreException {
+ StringBuilder builder = new StringBuilder();
+ if (IdUtils.isValidLegacyId(id)) {
+ builder.append("workflowPcrId=");
+ } else if (IdUtils.isValidGUID(id)) {
+ builder.append("workflowId=");
+ } else if (IdUtils.isValidHRID(id)) {
+ builder.append("workflowHrid=");
+ } else {
+ throw new OseeCoreException(String.format("Invalid id [%s]", id));
+ }
+ if (builder.length() > 0) {
+ builder.append("\"" + id + "\"");
+ }
+ return builder.toString();
+ }
+}
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ats/IdUtils.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ats/IdUtils.java
index fccf79bf010..7c3516d6d70 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ats/IdUtils.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ats/IdUtils.java
@@ -1,41 +1,41 @@
-/*******************************************************************************
- * 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.manager.servlet.ats;
-
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import org.eclipse.osee.framework.jdk.core.util.GUID;
-import org.eclipse.osee.framework.jdk.core.util.HumanReadableId;
-
-/**
- * @author Roberto E. Escobar
- */
-public final class IdUtils {
-
- private static final Pattern legacyIDPattern = Pattern.compile("\\d+");
- private static final Matcher legacyIDMatcher = legacyIDPattern.matcher("");
-
- private IdUtils() {
- }
-
- public static boolean isValidHRID(String hrid) {
- return HumanReadableId.isValid(hrid);
- }
-
- public static boolean isValidGUID(String guid) {
- return GUID.isValid(guid);
- }
-
- public static boolean isValidLegacyId(String legacyId) {
- legacyIDMatcher.reset(legacyId);
- return legacyIDMatcher.matches();
- }
-}
+/*******************************************************************************
+ * 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.manager.servlet.ats;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+import org.eclipse.osee.framework.jdk.core.util.GUID;
+import org.eclipse.osee.framework.jdk.core.util.HumanReadableId;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public final class IdUtils {
+
+ private static final Pattern legacyIDPattern = Pattern.compile("\\d+");
+ private static final Matcher legacyIDMatcher = legacyIDPattern.matcher("");
+
+ private IdUtils() {
+ }
+
+ public static boolean isValidHRID(String hrid) {
+ return HumanReadableId.isValid(hrid);
+ }
+
+ public static boolean isValidGUID(String guid) {
+ return GUID.isValid(guid);
+ }
+
+ public static boolean isValidLegacyId(String legacyId) {
+ legacyIDMatcher.reset(legacyId);
+ return legacyIDMatcher.matches();
+ }
+}
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ats/OperationData.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ats/OperationData.java
index a763f895c6d..70785db8b05 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ats/OperationData.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ats/OperationData.java
@@ -1,109 +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.manager.servlet.ats;
-
-import java.io.ByteArrayInputStream;
-import java.util.ArrayList;
-import java.util.Collection;
-import javax.xml.xpath.XPath;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.jdk.core.type.PropertyStore;
-import org.eclipse.osee.framework.jdk.core.util.Lib;
-import org.eclipse.osee.framework.jdk.core.util.Strings;
-import org.eclipse.osee.framework.jdk.core.util.xml.Jaxp;
-import org.eclipse.osee.framework.resource.management.IResource;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * @author Roberto E. Escobar
- */
-public final class OperationData {
-
- public static enum OperationType {
- GET_PROGRAMS,
- GET_BUILDS_BY_PROGRAM_ID,
- GET_WORKFLOWS_BY_IDS,
- GET_WORKFLOWS_BY_PROGRAM_AND_BUILD_ID,
- GET_CHANGE_REPORTS_BY_IDS,
- UNKNOWN;
-
- public static OperationType fromString(String value) {
- OperationType toReturn = OperationType.UNKNOWN;
- for (OperationType type : OperationType.values()) {
- if (type.name().equalsIgnoreCase(value)) {
- toReturn = type;
- break;
- }
- }
- return toReturn;
- }
- }
-
- private final PropertyStore data;
-
- public OperationData(OperationType operationType) {
- this.data = new PropertyStore();
- data.put("operationType", operationType.name());
- }
-
- public OperationType getOperationType() {
- return OperationType.fromString(data.get("operationType"));
- }
-
- public String getProgramId() {
- return data.get("programId");
- }
-
- public String getBuildId() {
- return data.get("buildId");
- }
-
- public String getItemIds() {
- return data.get("uniqueIds");
- }
-
- public static Collection<OperationData> fromResource(IResource resource) throws OseeCoreException {
- Collection<OperationData> toReturn = new ArrayList<OperationData>();
- try {
- String data = Lib.inputStreamToString(resource.getContent());
- System.out.println(data);
- Element rootElement = XmlUtil.readXML(new ByteArrayInputStream(data.getBytes()));
- XPath xPath = XmlUtil.createXPath();
- Collection<Node> nodes = XmlUtil.selectNodesViaXPath(xPath, rootElement, "//request");
-
- for (Node node : nodes) {
- if (node instanceof Element) {
- OperationData operationData = new OperationData(OperationType.UNKNOWN);
- toReturn.add(operationData);
-
- Element element = (Element) node;
- NodeList list = element.getChildNodes();
- for (int index = 0; index < list.getLength(); index++) {
- Node childNode = list.item(index);
- if (childNode instanceof Element) {
- Element elementNode = (Element) childNode;
- String name = elementNode.getTagName();
- String value = Jaxp.getElementCharacterData(elementNode, true);
- if (Strings.isValid(name) && Strings.isValid(value)) {
- operationData.data.put(name, value);
- }
- }
- }
- }
- }
- } catch (Exception ex) {
- throw new OseeCoreException(ex);
- }
- return toReturn;
- }
+/*******************************************************************************
+ * 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.manager.servlet.ats;
+
+import java.io.ByteArrayInputStream;
+import java.util.ArrayList;
+import java.util.Collection;
+import javax.xml.xpath.XPath;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.jdk.core.type.PropertyStore;
+import org.eclipse.osee.framework.jdk.core.util.Lib;
+import org.eclipse.osee.framework.jdk.core.util.Strings;
+import org.eclipse.osee.framework.jdk.core.util.xml.Jaxp;
+import org.eclipse.osee.framework.resource.management.IResource;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public final class OperationData {
+
+ public static enum OperationType {
+ GET_PROGRAMS,
+ GET_BUILDS_BY_PROGRAM_ID,
+ GET_WORKFLOWS_BY_IDS,
+ GET_WORKFLOWS_BY_PROGRAM_AND_BUILD_ID,
+ GET_CHANGE_REPORTS_BY_IDS,
+ UNKNOWN;
+
+ public static OperationType fromString(String value) {
+ OperationType toReturn = OperationType.UNKNOWN;
+ for (OperationType type : OperationType.values()) {
+ if (type.name().equalsIgnoreCase(value)) {
+ toReturn = type;
+ break;
+ }
+ }
+ return toReturn;
+ }
+ }
+
+ private final PropertyStore data;
+
+ public OperationData(OperationType operationType) {
+ this.data = new PropertyStore();
+ data.put("operationType", operationType.name());
+ }
+
+ public OperationType getOperationType() {
+ return OperationType.fromString(data.get("operationType"));
+ }
+
+ public String getProgramId() {
+ return data.get("programId");
+ }
+
+ public String getBuildId() {
+ return data.get("buildId");
+ }
+
+ public String getItemIds() {
+ return data.get("uniqueIds");
+ }
+
+ public static Collection<OperationData> fromResource(IResource resource) throws OseeCoreException {
+ Collection<OperationData> toReturn = new ArrayList<OperationData>();
+ try {
+ String data = Lib.inputStreamToString(resource.getContent());
+ System.out.println(data);
+ Element rootElement = XmlUtil.readXML(new ByteArrayInputStream(data.getBytes()));
+ XPath xPath = XmlUtil.createXPath();
+ Collection<Node> nodes = XmlUtil.selectNodesViaXPath(xPath, rootElement, "//request");
+
+ for (Node node : nodes) {
+ if (node instanceof Element) {
+ OperationData operationData = new OperationData(OperationType.UNKNOWN);
+ toReturn.add(operationData);
+
+ Element element = (Element) node;
+ NodeList list = element.getChildNodes();
+ for (int index = 0; index < list.getLength(); index++) {
+ Node childNode = list.item(index);
+ if (childNode instanceof Element) {
+ Element elementNode = (Element) childNode;
+ String name = elementNode.getTagName();
+ String value = Jaxp.getElementCharacterData(elementNode, true);
+ if (Strings.isValid(name) && Strings.isValid(value)) {
+ operationData.data.put(name, value);
+ }
+ }
+ }
+ }
+ }
+ } catch (Exception ex) {
+ throw new OseeCoreException(ex);
+ }
+ return toReturn;
+ }
} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ats/XmlMessage.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ats/XmlMessage.java
index 4955bdebbf7..14eac43f3cc 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ats/XmlMessage.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ats/XmlMessage.java
@@ -1,209 +1,209 @@
-/*******************************************************************************
- * 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.manager.servlet.ats;
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-import java.io.StringWriter;
-import java.io.UnsupportedEncodingException;
-import java.io.Writer;
-import java.net.HttpURLConnection;
-import java.util.Collection;
-import java.util.logging.Level;
-import javax.servlet.http.HttpServletResponse;
-import javax.xml.stream.XMLOutputFactory;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamWriter;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.core.exception.OseeExceptions;
-import org.eclipse.osee.framework.core.util.Conditions;
-import org.eclipse.osee.framework.jdk.core.util.Lib;
-import org.eclipse.osee.framework.logging.OseeLog;
-import org.eclipse.osee.framework.manager.servlet.internal.Activator;
-import org.eclipse.osee.framework.resource.management.IResource;
-import org.eclipse.osee.framework.resource.management.util.Resource;
-import org.w3c.dom.Node;
-
-/**
- * @author Roberto E. Escobar
- */
-public class XmlMessage {
-
- public XmlMessage() {
- }
-
- public void sendError(HttpServletResponse response, String name, Throwable ex) {
- String errorMessage = Lib.exceptionToString(ex);
- OseeLog.log(Activator.class, Level.SEVERE, errorMessage, ex);
- try {
- StringWriter writer = new StringWriter();
- createXmlErrorMessage(writer, "0", errorMessage);
- IResource resource = new StreamResource(name, writer.toString());
- sendMessage(response, name, resource, false);
- } catch (Throwable ex1) {
- OseeLog.log(Activator.class, Level.SEVERE, ex1.toString(), ex1);
- }
- }
-
- public void sendMessage(HttpServletResponse response, String name, String status, Collection<Node> nodes) {
- try {
- StringWriter writer = new StringWriter();
- createXmlMessage(writer, "0", false, nodes);
- IResource resource = new StreamResource(name, writer.toString());
- sendMessage(response, name, resource, true);
- } catch (Throwable ex) {
- sendError(response, name, ex);
- }
- }
-
- private void createXmlErrorMessage(Writer output, String status, String... messages) throws OseeCoreException {
- createXmlMessage(output, status, true, null, messages);
- }
-
- private void createXmlMessage(Writer output, String status, boolean isError, Collection<Node> nodes, String... messages) throws OseeCoreException {
- boolean hasNodes = nodes != null && !nodes.isEmpty();
- boolean hasMessages = messages != null && messages.length > 0;
-
- Conditions.checkExpressionFailOnTrue(hasMessages && hasNodes, "Cannot have messages and nodes");
-
- XMLOutputFactory factory = XMLOutputFactory.newInstance();
- try {
- XMLStreamWriter writer = factory.createXMLStreamWriter(output);
- writer.writeStartDocument("UTF-8", "1.0");
- writer.writeStartElement("response");
-
- writer.writeStartElement("status");
- writer.writeCharacters(status);
- writer.writeEndElement();
-
- if (!isError) {
- //TODO: update if we want to return a partial set
- writer.writeStartElement("startRow");
- writer.writeCharacters("0");
- writer.writeEndElement();
-
- //TODO: update if we want to return a partial set
- writer.writeStartElement("endRow");
- int size = 0;
- if (hasNodes) {
- size = nodes.size();
- }
- if (hasMessages) {
- size = messages.length;
- }
- writer.writeCharacters(String.valueOf(size));
- writer.writeEndElement();
-
- writer.writeStartElement("totalRows");
- writer.writeCharacters(String.valueOf(size));
- writer.writeEndElement();
- }
-
- if (isError) {
- writer.writeStartElement("errors");
- } else {
- writer.writeStartElement("data");
- }
-
- try {
- if (hasNodes) {
- XmlUtil.serialize(writer, nodes);
- }
- if (hasMessages) {
- for (String message : messages) {
- writer.writeStartElement("message");
- writer.writeCharacters(message);
- writer.writeEndElement();
- }
- }
- } finally {
- writer.writeEndElement();
- }
- writer.writeEndElement();
- writer.writeEndDocument();
- } catch (XMLStreamException ex) {
- OseeExceptions.wrapAndThrow(ex);
- }
- }
-
- public void sendMessage(HttpServletResponse response, String name, IResource resource, boolean isErrorSendingAllowed) {
- InputStream inputStream = null;
- try {
- inputStream = resource.getContent();
-
- response.setStatus(HttpServletResponse.SC_OK);
- response.setContentLength(inputStream.available());
- response.setCharacterEncoding("ISO-8859-1");
-
- String mimeType = null;
- if (name.endsWith("css")) {
- mimeType = "text/css";
- }
- if (mimeType == null) {
- mimeType = HttpURLConnection.guessContentTypeFromStream(inputStream);
- if (mimeType == null) {
- mimeType = HttpURLConnection.guessContentTypeFromName(resource.getLocation().toString());
- if (mimeType == null) {
- mimeType = "application/*";
- }
- }
- }
- response.setContentType(mimeType);
-
- boolean isReportDoc = false;
- try {
- String location = resource.getLocation().toASCIIString();
- isReportDoc = location.contains("changeReports");
- } catch (Exception ex) {
- // nothing here;
- }
-
- if (!mimeType.startsWith("text") && resource.isCompressed() || isReportDoc) {
- response.setHeader("Content-Disposition", "attachment; filename=" + resource.getName());
- }
- Lib.inputStreamToOutputStream(inputStream, response.getOutputStream());
- } catch (Exception ex) {
- if (isErrorSendingAllowed) {
- sendError(response, name, ex);
- } else {
- OseeLog.log(Activator.class, Level.SEVERE, ex);
- }
- } finally {
- Lib.close(inputStream);
- }
- }
-
- private final static class StreamResource extends Resource {
-
- private final ByteArrayInputStream inputStream;
- private final String name;
-
- public StreamResource(String name, String data) throws UnsupportedEncodingException {
- this(name, false, new ByteArrayInputStream(data.getBytes("ISO-8859-1")));
- }
-
- public StreamResource(String name, boolean isCompressed, ByteArrayInputStream inputStream) {
- super(null, isCompressed);
- this.name = name;
- this.inputStream = inputStream;
- }
-
- @Override
- public InputStream getContent() throws OseeCoreException {
- return inputStream;
- }
-
- @Override
- public String getName() {
- return name;
- }
- }
-}
+/*******************************************************************************
+ * 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.manager.servlet.ats;
+
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+import java.io.StringWriter;
+import java.io.UnsupportedEncodingException;
+import java.io.Writer;
+import java.net.HttpURLConnection;
+import java.util.Collection;
+import java.util.logging.Level;
+import javax.servlet.http.HttpServletResponse;
+import javax.xml.stream.XMLOutputFactory;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.core.exception.OseeExceptions;
+import org.eclipse.osee.framework.core.util.Conditions;
+import org.eclipse.osee.framework.jdk.core.util.Lib;
+import org.eclipse.osee.framework.logging.OseeLog;
+import org.eclipse.osee.framework.manager.servlet.internal.Activator;
+import org.eclipse.osee.framework.resource.management.IResource;
+import org.eclipse.osee.framework.resource.management.util.Resource;
+import org.w3c.dom.Node;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class XmlMessage {
+
+ public XmlMessage() {
+ }
+
+ public void sendError(HttpServletResponse response, String name, Throwable ex) {
+ String errorMessage = Lib.exceptionToString(ex);
+ OseeLog.log(Activator.class, Level.SEVERE, errorMessage, ex);
+ try {
+ StringWriter writer = new StringWriter();
+ createXmlErrorMessage(writer, "0", errorMessage);
+ IResource resource = new StreamResource(name, writer.toString());
+ sendMessage(response, name, resource, false);
+ } catch (Throwable ex1) {
+ OseeLog.log(Activator.class, Level.SEVERE, ex1.toString(), ex1);
+ }
+ }
+
+ public void sendMessage(HttpServletResponse response, String name, String status, Collection<Node> nodes) {
+ try {
+ StringWriter writer = new StringWriter();
+ createXmlMessage(writer, "0", false, nodes);
+ IResource resource = new StreamResource(name, writer.toString());
+ sendMessage(response, name, resource, true);
+ } catch (Throwable ex) {
+ sendError(response, name, ex);
+ }
+ }
+
+ private void createXmlErrorMessage(Writer output, String status, String... messages) throws OseeCoreException {
+ createXmlMessage(output, status, true, null, messages);
+ }
+
+ private void createXmlMessage(Writer output, String status, boolean isError, Collection<Node> nodes, String... messages) throws OseeCoreException {
+ boolean hasNodes = nodes != null && !nodes.isEmpty();
+ boolean hasMessages = messages != null && messages.length > 0;
+
+ Conditions.checkExpressionFailOnTrue(hasMessages && hasNodes, "Cannot have messages and nodes");
+
+ XMLOutputFactory factory = XMLOutputFactory.newInstance();
+ try {
+ XMLStreamWriter writer = factory.createXMLStreamWriter(output);
+ writer.writeStartDocument("UTF-8", "1.0");
+ writer.writeStartElement("response");
+
+ writer.writeStartElement("status");
+ writer.writeCharacters(status);
+ writer.writeEndElement();
+
+ if (!isError) {
+ //TODO: update if we want to return a partial set
+ writer.writeStartElement("startRow");
+ writer.writeCharacters("0");
+ writer.writeEndElement();
+
+ //TODO: update if we want to return a partial set
+ writer.writeStartElement("endRow");
+ int size = 0;
+ if (hasNodes) {
+ size = nodes.size();
+ }
+ if (hasMessages) {
+ size = messages.length;
+ }
+ writer.writeCharacters(String.valueOf(size));
+ writer.writeEndElement();
+
+ writer.writeStartElement("totalRows");
+ writer.writeCharacters(String.valueOf(size));
+ writer.writeEndElement();
+ }
+
+ if (isError) {
+ writer.writeStartElement("errors");
+ } else {
+ writer.writeStartElement("data");
+ }
+
+ try {
+ if (hasNodes) {
+ XmlUtil.serialize(writer, nodes);
+ }
+ if (hasMessages) {
+ for (String message : messages) {
+ writer.writeStartElement("message");
+ writer.writeCharacters(message);
+ writer.writeEndElement();
+ }
+ }
+ } finally {
+ writer.writeEndElement();
+ }
+ writer.writeEndElement();
+ writer.writeEndDocument();
+ } catch (XMLStreamException ex) {
+ OseeExceptions.wrapAndThrow(ex);
+ }
+ }
+
+ public void sendMessage(HttpServletResponse response, String name, IResource resource, boolean isErrorSendingAllowed) {
+ InputStream inputStream = null;
+ try {
+ inputStream = resource.getContent();
+
+ response.setStatus(HttpServletResponse.SC_OK);
+ response.setContentLength(inputStream.available());
+ response.setCharacterEncoding("ISO-8859-1");
+
+ String mimeType = null;
+ if (name.endsWith("css")) {
+ mimeType = "text/css";
+ }
+ if (mimeType == null) {
+ mimeType = HttpURLConnection.guessContentTypeFromStream(inputStream);
+ if (mimeType == null) {
+ mimeType = HttpURLConnection.guessContentTypeFromName(resource.getLocation().toString());
+ if (mimeType == null) {
+ mimeType = "application/*";
+ }
+ }
+ }
+ response.setContentType(mimeType);
+
+ boolean isReportDoc = false;
+ try {
+ String location = resource.getLocation().toASCIIString();
+ isReportDoc = location.contains("changeReports");
+ } catch (Exception ex) {
+ // nothing here;
+ }
+
+ if (!mimeType.startsWith("text") && resource.isCompressed() || isReportDoc) {
+ response.setHeader("Content-Disposition", "attachment; filename=" + resource.getName());
+ }
+ Lib.inputStreamToOutputStream(inputStream, response.getOutputStream());
+ } catch (Exception ex) {
+ if (isErrorSendingAllowed) {
+ sendError(response, name, ex);
+ } else {
+ OseeLog.log(Activator.class, Level.SEVERE, ex);
+ }
+ } finally {
+ Lib.close(inputStream);
+ }
+ }
+
+ private final static class StreamResource extends Resource {
+
+ private final ByteArrayInputStream inputStream;
+ private final String name;
+
+ public StreamResource(String name, String data) throws UnsupportedEncodingException {
+ this(name, false, new ByteArrayInputStream(data.getBytes("ISO-8859-1")));
+ }
+
+ public StreamResource(String name, boolean isCompressed, ByteArrayInputStream inputStream) {
+ super(null, isCompressed);
+ this.name = name;
+ this.inputStream = inputStream;
+ }
+
+ @Override
+ public InputStream getContent() throws OseeCoreException {
+ return inputStream;
+ }
+
+ @Override
+ public String getName() {
+ return name;
+ }
+ }
+}
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ats/XmlUtil.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ats/XmlUtil.java
index 62236937443..c37e74525fd 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ats/XmlUtil.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/ats/XmlUtil.java
@@ -1,169 +1,169 @@
-/*******************************************************************************
- * 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.manager.servlet.ats;
-
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamWriter;
-import javax.xml.xpath.XPath;
-import javax.xml.xpath.XPathConstants;
-import javax.xml.xpath.XPathExpression;
-import javax.xml.xpath.XPathExpressionException;
-import javax.xml.xpath.XPathFactory;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.core.exception.OseeExceptions;
-import org.eclipse.osee.framework.jdk.core.util.Lib;
-import org.eclipse.osee.framework.jdk.core.util.Strings;
-import org.eclipse.osee.framework.jdk.core.util.xml.Jaxp;
-import org.eclipse.osee.framework.resource.management.IResource;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * @author Roberto E. Escobar
- */
-public final class XmlUtil {
- // private static final Map<String, XPathExpression> expressions = new HashMap<String, XPathExpression>();
-
- private XmlUtil() {
- }
-
- // public static XPathExpression getExpression(XPath xPath, String xPathExpression) throws XPathExpressionException {
- // XPathExpression toReturn = expressions.get(xPathExpression);
- // if (toReturn == null) {
- // toReturn = xPath.compile(xPathExpression);
- // expressions.put(xPathExpression, toReturn);
- // return toReturn;
- // }
-
- public static XPath createXPath() {
- XPathFactory factory = XPathFactory.newInstance();
- return factory.newXPath();
- }
-
- public static Collection<Node> findInResource(IResource resource, String expression) throws OseeCoreException {
- try {
- Element element = XmlUtil.readXml(resource);
- XPath xPath = XmlUtil.createXPath();
- return XmlUtil.selectNodesViaXPath(xPath, element, expression);
- } catch (Exception ex) {
- OseeExceptions.wrapAndThrow(ex);
- }
- return Collections.emptyList();
- }
-
- public static Element readXml(IResource resource) throws Exception {
- InputStream inputStream = null;
- try {
- inputStream = resource.getContent();
- return readXML(inputStream);
- } finally {
- Lib.close(inputStream);
- }
- }
-
- public static Element readXML(InputStream inputStream) throws Exception {
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- DocumentBuilder documentBuilder = factory.newDocumentBuilder();
- Document document = documentBuilder.parse(inputStream);
- document.getDocumentElement().normalize();
- return document.getDocumentElement();
- }
-
- public static final List<Node> selectNodesViaXPath(XPath xPath, Node startingNode, String xPathExpression) throws XPathExpressionException {
- List<Node> data = new ArrayList<Node>();
- XPathExpression expression = xPath.compile(xPathExpression);
- Object result = expression.evaluate(startingNode, XPathConstants.NODESET);
- NodeList nodeList = (NodeList) result;
- for (int index = 0; index < nodeList.getLength(); index++) {
- data.add(nodeList.item(index));
- }
- return data;
- }
-
- public static void serialize(XMLStreamWriter writer, Collection<Node> nodes) throws XMLStreamException {
- for (Node node : nodes) {
- writeNode(writer, node);
- }
- }
-
- public static void serialize(XMLStreamWriter writer, NodeList nodes) throws XMLStreamException {
- for (int index = 0; index < nodes.getLength(); index++) {
- writeNode(writer, nodes.item(index));
- }
- }
-
- public static void writeNode(XMLStreamWriter writer, Node node) throws XMLStreamException {
- if (node instanceof Element) {
- Element element = (Element) node;
-
- String namespace = element.getNamespaceURI();
- String prefix = element.getPrefix();
- String name = element.getNodeName();
- if (Strings.isValid(name)) {
- if (prefix != null && namespace != null) {
- writer.writeStartElement(prefix, name, namespace);
- } else if (namespace != null) {
- writer.writeStartElement(namespace, name);
- } else {
- writer.writeStartElement(name);
- }
-
- if (node.hasAttributes()) {
- NamedNodeMap nodeMap = node.getAttributes();
- for (int index = 0; index < nodeMap.getLength(); index++) {
- writeAttrNode(writer, nodeMap.item(index));
- }
- }
-
- if (node.hasChildNodes()) {
- serialize(writer, element.getChildNodes());
- }
-
- String text = Jaxp.getElementCharacterData(element, true);
- if (Strings.isValid(text)) {
- writer.writeCharacters(text);
- }
- writer.writeEndElement();
- }
- }
- }
-
- private static void writeAttrNode(XMLStreamWriter writer, Node node) throws XMLStreamException {
- if (node instanceof Attr) {
- Attr attrNode = (Attr) node;
-
- String namespace = attrNode.getNamespaceURI();
- String prefix = attrNode.getPrefix();
- String name = attrNode.getName();
- String value = attrNode.getValue();
- if (Strings.isValid(name) && Strings.isValid(value)) {
- if (prefix != null && namespace != null) {
- writer.writeAttribute(prefix, namespace, name, value);
- } else if (namespace != null) {
- writer.writeAttribute(namespace, name, value);
- } else {
- writer.writeAttribute(name, value);
- }
- }
- }
- }
-}
+/*******************************************************************************
+ * 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.manager.servlet.ats;
+
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamWriter;
+import javax.xml.xpath.XPath;
+import javax.xml.xpath.XPathConstants;
+import javax.xml.xpath.XPathExpression;
+import javax.xml.xpath.XPathExpressionException;
+import javax.xml.xpath.XPathFactory;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.core.exception.OseeExceptions;
+import org.eclipse.osee.framework.jdk.core.util.Lib;
+import org.eclipse.osee.framework.jdk.core.util.Strings;
+import org.eclipse.osee.framework.jdk.core.util.xml.Jaxp;
+import org.eclipse.osee.framework.resource.management.IResource;
+import org.w3c.dom.Attr;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.NamedNodeMap;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public final class XmlUtil {
+ // private static final Map<String, XPathExpression> expressions = new HashMap<String, XPathExpression>();
+
+ private XmlUtil() {
+ }
+
+ // public static XPathExpression getExpression(XPath xPath, String xPathExpression) throws XPathExpressionException {
+ // XPathExpression toReturn = expressions.get(xPathExpression);
+ // if (toReturn == null) {
+ // toReturn = xPath.compile(xPathExpression);
+ // expressions.put(xPathExpression, toReturn);
+ // return toReturn;
+ // }
+
+ public static XPath createXPath() {
+ XPathFactory factory = XPathFactory.newInstance();
+ return factory.newXPath();
+ }
+
+ public static Collection<Node> findInResource(IResource resource, String expression) throws OseeCoreException {
+ try {
+ Element element = XmlUtil.readXml(resource);
+ XPath xPath = XmlUtil.createXPath();
+ return XmlUtil.selectNodesViaXPath(xPath, element, expression);
+ } catch (Exception ex) {
+ OseeExceptions.wrapAndThrow(ex);
+ }
+ return Collections.emptyList();
+ }
+
+ public static Element readXml(IResource resource) throws Exception {
+ InputStream inputStream = null;
+ try {
+ inputStream = resource.getContent();
+ return readXML(inputStream);
+ } finally {
+ Lib.close(inputStream);
+ }
+ }
+
+ public static Element readXML(InputStream inputStream) throws Exception {
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ DocumentBuilder documentBuilder = factory.newDocumentBuilder();
+ Document document = documentBuilder.parse(inputStream);
+ document.getDocumentElement().normalize();
+ return document.getDocumentElement();
+ }
+
+ public static final List<Node> selectNodesViaXPath(XPath xPath, Node startingNode, String xPathExpression) throws XPathExpressionException {
+ List<Node> data = new ArrayList<Node>();
+ XPathExpression expression = xPath.compile(xPathExpression);
+ Object result = expression.evaluate(startingNode, XPathConstants.NODESET);
+ NodeList nodeList = (NodeList) result;
+ for (int index = 0; index < nodeList.getLength(); index++) {
+ data.add(nodeList.item(index));
+ }
+ return data;
+ }
+
+ public static void serialize(XMLStreamWriter writer, Collection<Node> nodes) throws XMLStreamException {
+ for (Node node : nodes) {
+ writeNode(writer, node);
+ }
+ }
+
+ public static void serialize(XMLStreamWriter writer, NodeList nodes) throws XMLStreamException {
+ for (int index = 0; index < nodes.getLength(); index++) {
+ writeNode(writer, nodes.item(index));
+ }
+ }
+
+ public static void writeNode(XMLStreamWriter writer, Node node) throws XMLStreamException {
+ if (node instanceof Element) {
+ Element element = (Element) node;
+
+ String namespace = element.getNamespaceURI();
+ String prefix = element.getPrefix();
+ String name = element.getNodeName();
+ if (Strings.isValid(name)) {
+ if (prefix != null && namespace != null) {
+ writer.writeStartElement(prefix, name, namespace);
+ } else if (namespace != null) {
+ writer.writeStartElement(namespace, name);
+ } else {
+ writer.writeStartElement(name);
+ }
+
+ if (node.hasAttributes()) {
+ NamedNodeMap nodeMap = node.getAttributes();
+ for (int index = 0; index < nodeMap.getLength(); index++) {
+ writeAttrNode(writer, nodeMap.item(index));
+ }
+ }
+
+ if (node.hasChildNodes()) {
+ serialize(writer, element.getChildNodes());
+ }
+
+ String text = Jaxp.getElementCharacterData(element, true);
+ if (Strings.isValid(text)) {
+ writer.writeCharacters(text);
+ }
+ writer.writeEndElement();
+ }
+ }
+ }
+
+ private static void writeAttrNode(XMLStreamWriter writer, Node node) throws XMLStreamException {
+ if (node instanceof Attr) {
+ Attr attrNode = (Attr) node;
+
+ String namespace = attrNode.getNamespaceURI();
+ String prefix = attrNode.getPrefix();
+ String name = attrNode.getName();
+ String value = attrNode.getValue();
+ if (Strings.isValid(name) && Strings.isValid(value)) {
+ if (prefix != null && namespace != null) {
+ writer.writeAttribute(prefix, namespace, name, value);
+ } else if (namespace != null) {
+ writer.writeAttribute(namespace, name, value);
+ } else {
+ writer.writeAttribute(name, value);
+ }
+ }
+ }
+ }
+}
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/data/ArtifactUtil.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/data/ArtifactUtil.java
index ac27d8479ad..231399437b2 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/data/ArtifactUtil.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/data/ArtifactUtil.java
@@ -1,74 +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.manager.servlet.data;
-
-import org.eclipse.osee.framework.core.enums.BranchArchivedState;
-import org.eclipse.osee.framework.core.exception.OseeDataStoreException;
-import org.eclipse.osee.framework.database.core.ConnectionHandler;
-
-/**
- * @author Roberto E. Escobar
- */
-public class ArtifactUtil {
-
- private static final String DEFAULT_ATTRIBUTE_DATA_PROVIDER = "%DefaultAttributeDataProvider";
-
- private static String URI_BY_GUID_PREFIX =
- "SELECT attr1.uri FROM osee_artifact art1, osee_attribute attr1, osee_attribute_type attyp1, osee_attribute_provider_type oapt1, %s txs1";
-
- private static String URI_BY_GUID_AND_BRANCH_ID =
- URI_BY_GUID_PREFIX + " WHERE art1.art_id = attr1.art_id AND attr1.attr_type_id = attyp1.attr_type_id AND oapt1.attr_provider_type_id = attyp1.attr_provider_type_id AND attr1.gamma_id = txs1.gamma_id AND txs1.tx_current = 1 AND art1.guid = ? AND NOT oapt1.attribute_provider_class LIKE ? AND txs1.branch_id = ?";
-
- private static String URI_BY_GUID_AND_BRANCH_NAME =
- URI_BY_GUID_PREFIX + ", osee_branch ob1 WHERE art1.art_id = attr1.art_id AND attr1.attr_type_id = attyp1.attr_type_id AND oapt1.attr_provider_type_id = attyp1.attr_provider_type_id AND attr1.gamma_id = txs1.gamma_id AND txs1.branch_id = ob1.branch_id AND txs1.tx_current = 1 AND art1.guid = ? AND NOT oapt1.attribute_provider_class LIKE ? AND ob1.branch_name = ?";
-
- private static String URI_BY_GUID_AND_BRANCH_GUID =
- URI_BY_GUID_PREFIX + ", osee_branch ob1 WHERE art1.art_id = attr1.art_id AND attr1.attr_type_id = attyp1.attr_type_id AND oapt1.attr_provider_type_id = attyp1.attr_provider_type_id AND attr1.gamma_id = txs1.gamma_id AND txs1.branch_id = ob1.branch_id AND txs1.tx_current = 1 AND art1.guid = ? AND NOT oapt1.attribute_provider_class LIKE ? AND ob1.branch_guid = ?";
-
- public static String getUri(String guid, int branchId) throws OseeDataStoreException {
- BranchArchivedState state = isArchived(branchId);
- return getUri(state, URI_BY_GUID_AND_BRANCH_ID, guid, DEFAULT_ATTRIBUTE_DATA_PROVIDER, branchId);
- }
-
- public static String getUri(String guid, String branchName) throws OseeDataStoreException {
- BranchArchivedState state = isArchived(branchName);
- return getUri(state, URI_BY_GUID_AND_BRANCH_NAME, guid, DEFAULT_ATTRIBUTE_DATA_PROVIDER, branchName);
- }
-
- public static String getUriByGuids(String branchGuid, String artifactGuid) throws OseeDataStoreException {
- BranchArchivedState state = isArchivedBranchGuid(branchGuid);
- return getUri(state, URI_BY_GUID_AND_BRANCH_GUID, artifactGuid, DEFAULT_ATTRIBUTE_DATA_PROVIDER, branchGuid);
- }
-
- private static BranchArchivedState isArchivedBranchGuid(String branchGuid) throws OseeDataStoreException {
- return BranchArchivedState.valueOf(ConnectionHandler.runPreparedQueryFetchInt(0,
- "Select archived from osee_branch where branch_guid = ?", branchGuid));
- }
-
- private static BranchArchivedState isArchived(int branchId) throws OseeDataStoreException {
- return BranchArchivedState.valueOf(ConnectionHandler.runPreparedQueryFetchInt(0,
- "Select archived from osee_branch where branch_id = ?", branchId));
- }
-
- private static BranchArchivedState isArchived(String branchName) throws OseeDataStoreException {
- return BranchArchivedState.valueOf(ConnectionHandler.runPreparedQueryFetchInt(0,
- "Select archived from osee_branch where branch_name like ?", branchName));
- }
-
- private static String getUri(BranchArchivedState state, String query, Object... dataBindings) throws OseeDataStoreException {
- String sql = String.format(query, getTransactionTable(state));
- return ConnectionHandler.runPreparedQueryFetchString("", sql, dataBindings);
- }
-
- private static String getTransactionTable(BranchArchivedState state) {
- return state.isUnArchived() ? "osee_txs" : "osee_txs_archived";
- }
-}
+/*******************************************************************************
+ * 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.manager.servlet.data;
+
+import org.eclipse.osee.framework.core.enums.BranchArchivedState;
+import org.eclipse.osee.framework.core.exception.OseeDataStoreException;
+import org.eclipse.osee.framework.database.core.ConnectionHandler;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class ArtifactUtil {
+
+ private static final String DEFAULT_ATTRIBUTE_DATA_PROVIDER = "%DefaultAttributeDataProvider";
+
+ private static String URI_BY_GUID_PREFIX =
+ "SELECT attr1.uri FROM osee_artifact art1, osee_attribute attr1, osee_attribute_type attyp1, osee_attribute_provider_type oapt1, %s txs1";
+
+ private static String URI_BY_GUID_AND_BRANCH_ID =
+ URI_BY_GUID_PREFIX + " WHERE art1.art_id = attr1.art_id AND attr1.attr_type_id = attyp1.attr_type_id AND oapt1.attr_provider_type_id = attyp1.attr_provider_type_id AND attr1.gamma_id = txs1.gamma_id AND txs1.tx_current = 1 AND art1.guid = ? AND NOT oapt1.attribute_provider_class LIKE ? AND txs1.branch_id = ?";
+
+ private static String URI_BY_GUID_AND_BRANCH_NAME =
+ URI_BY_GUID_PREFIX + ", osee_branch ob1 WHERE art1.art_id = attr1.art_id AND attr1.attr_type_id = attyp1.attr_type_id AND oapt1.attr_provider_type_id = attyp1.attr_provider_type_id AND attr1.gamma_id = txs1.gamma_id AND txs1.branch_id = ob1.branch_id AND txs1.tx_current = 1 AND art1.guid = ? AND NOT oapt1.attribute_provider_class LIKE ? AND ob1.branch_name = ?";
+
+ private static String URI_BY_GUID_AND_BRANCH_GUID =
+ URI_BY_GUID_PREFIX + ", osee_branch ob1 WHERE art1.art_id = attr1.art_id AND attr1.attr_type_id = attyp1.attr_type_id AND oapt1.attr_provider_type_id = attyp1.attr_provider_type_id AND attr1.gamma_id = txs1.gamma_id AND txs1.branch_id = ob1.branch_id AND txs1.tx_current = 1 AND art1.guid = ? AND NOT oapt1.attribute_provider_class LIKE ? AND ob1.branch_guid = ?";
+
+ public static String getUri(String guid, int branchId) throws OseeDataStoreException {
+ BranchArchivedState state = isArchived(branchId);
+ return getUri(state, URI_BY_GUID_AND_BRANCH_ID, guid, DEFAULT_ATTRIBUTE_DATA_PROVIDER, branchId);
+ }
+
+ public static String getUri(String guid, String branchName) throws OseeDataStoreException {
+ BranchArchivedState state = isArchived(branchName);
+ return getUri(state, URI_BY_GUID_AND_BRANCH_NAME, guid, DEFAULT_ATTRIBUTE_DATA_PROVIDER, branchName);
+ }
+
+ public static String getUriByGuids(String branchGuid, String artifactGuid) throws OseeDataStoreException {
+ BranchArchivedState state = isArchivedBranchGuid(branchGuid);
+ return getUri(state, URI_BY_GUID_AND_BRANCH_GUID, artifactGuid, DEFAULT_ATTRIBUTE_DATA_PROVIDER, branchGuid);
+ }
+
+ private static BranchArchivedState isArchivedBranchGuid(String branchGuid) throws OseeDataStoreException {
+ return BranchArchivedState.valueOf(ConnectionHandler.runPreparedQueryFetchInt(0,
+ "Select archived from osee_branch where branch_guid = ?", branchGuid));
+ }
+
+ private static BranchArchivedState isArchived(int branchId) throws OseeDataStoreException {
+ return BranchArchivedState.valueOf(ConnectionHandler.runPreparedQueryFetchInt(0,
+ "Select archived from osee_branch where branch_id = ?", branchId));
+ }
+
+ private static BranchArchivedState isArchived(String branchName) throws OseeDataStoreException {
+ return BranchArchivedState.valueOf(ConnectionHandler.runPreparedQueryFetchInt(0,
+ "Select archived from osee_branch where branch_name like ?", branchName));
+ }
+
+ private static String getUri(BranchArchivedState state, String query, Object... dataBindings) throws OseeDataStoreException {
+ String sql = String.format(query, getTransactionTable(state));
+ return ConnectionHandler.runPreparedQueryFetchString("", sql, dataBindings);
+ }
+
+ private static String getTransactionTable(BranchArchivedState state) {
+ return state.isUnArchived() ? "osee_txs" : "osee_txs_archived";
+ }
+}
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/data/DefaultOseeArtifact.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/data/DefaultOseeArtifact.java
index 23a11800613..2e46afdc891 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/data/DefaultOseeArtifact.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/data/DefaultOseeArtifact.java
@@ -1,47 +1,47 @@
-/*******************************************************************************
- * 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.manager.servlet.data;
-
-import org.eclipse.osee.framework.core.exception.OseeStateException;
-import org.eclipse.osee.framework.database.core.OseeInfo;
-import org.eclipse.osee.framework.jdk.core.type.Pair;
-import org.eclipse.osee.framework.jdk.core.util.Strings;
-
-/**
- * Retrieves the default OSEE server page
- *
- * @author Roberto E. Escobar
- */
-public class DefaultOseeArtifact {
-
- private static String OSEE_DEFAULT_SERVER_PAGE_GUID_KEY = "osee.default.server.page.guid";
- private static String OSEE_DEFAULT_SERVER_PAGE_BRANCH_ID = "osee.default.server.page.branch.id";
-
- public static Pair<String, String> get() throws Exception {
-
- final String artifactGuid = OseeInfo.getValue(OSEE_DEFAULT_SERVER_PAGE_GUID_KEY);
- String defaultBranchId = OseeInfo.getValue(OSEE_DEFAULT_SERVER_PAGE_BRANCH_ID);
- int artifactBranchId = -1;
- try {
- artifactBranchId = Integer.parseInt(defaultBranchId);
- } catch (Exception ex) {
- // Do Nothing
- }
-
- if (!Strings.isValid(artifactGuid) || artifactBranchId < 1) {
- throw new OseeStateException(
- String.format(
- "OSEE default server page not found. Ensure values exist in OseeInfo table for [%s] and [%s] keys.",
- OSEE_DEFAULT_SERVER_PAGE_GUID_KEY, OSEE_DEFAULT_SERVER_PAGE_BRANCH_ID));
- }
- return new Pair<String, String>(artifactGuid, String.valueOf(artifactBranchId));
- }
-}
+/*******************************************************************************
+ * 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.manager.servlet.data;
+
+import org.eclipse.osee.framework.core.exception.OseeStateException;
+import org.eclipse.osee.framework.database.core.OseeInfo;
+import org.eclipse.osee.framework.jdk.core.type.Pair;
+import org.eclipse.osee.framework.jdk.core.util.Strings;
+
+/**
+ * Retrieves the default OSEE server page
+ *
+ * @author Roberto E. Escobar
+ */
+public class DefaultOseeArtifact {
+
+ private static String OSEE_DEFAULT_SERVER_PAGE_GUID_KEY = "osee.default.server.page.guid";
+ private static String OSEE_DEFAULT_SERVER_PAGE_BRANCH_ID = "osee.default.server.page.branch.id";
+
+ public static Pair<String, String> get() throws Exception {
+
+ final String artifactGuid = OseeInfo.getValue(OSEE_DEFAULT_SERVER_PAGE_GUID_KEY);
+ String defaultBranchId = OseeInfo.getValue(OSEE_DEFAULT_SERVER_PAGE_BRANCH_ID);
+ int artifactBranchId = -1;
+ try {
+ artifactBranchId = Integer.parseInt(defaultBranchId);
+ } catch (Exception ex) {
+ // Do Nothing
+ }
+
+ if (!Strings.isValid(artifactGuid) || artifactBranchId < 1) {
+ throw new OseeStateException(
+ String.format(
+ "OSEE default server page not found. Ensure values exist in OseeInfo table for [%s] and [%s] keys.",
+ OSEE_DEFAULT_SERVER_PAGE_GUID_KEY, OSEE_DEFAULT_SERVER_PAGE_BRANCH_ID));
+ }
+ return new Pair<String, String>(artifactGuid, String.valueOf(artifactBranchId));
+ }
+}
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/data/HttpArtifactFileInfo.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/data/HttpArtifactFileInfo.java
index a8c3b517de1..ad407f163d1 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/data/HttpArtifactFileInfo.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/data/HttpArtifactFileInfo.java
@@ -1,58 +1,58 @@
-/*******************************************************************************
- * 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.manager.servlet.data;
-
-import javax.servlet.http.HttpServletRequest;
-import org.eclipse.osee.framework.core.data.Identity;
-
-/**
- * @author Roberto E. Escobar
- */
-public class HttpArtifactFileInfo implements Identity {
- private static final int INVALID_BRANCH_ID = -1;
- private static final String GUID_KEY = "guid";
- private static final String BRANCH_NAME_KEY = "branch";
- private static final String BRANCH_ID_KEY = "branchId";
-
- private final String guid;
- private final String branchName;
- private final String branchId;
-
- public HttpArtifactFileInfo(String guid, String branchName, String branchId) {
- this.guid = guid;
- this.branchName = branchName;
- this.branchId = branchId;
- }
-
- public HttpArtifactFileInfo(HttpServletRequest request) {
- this(request.getParameter(GUID_KEY), request.getParameter(BRANCH_NAME_KEY), request.getParameter(BRANCH_ID_KEY));
- }
-
- public String getGuid() {
- return guid;
- }
-
- public boolean isBranchNameValid() {
- return branchName != null && branchName.length() > 0;
- }
-
- public String getBranchName() {
- return branchName;
- }
-
- public int getId() throws NumberFormatException {
- int toReturn = INVALID_BRANCH_ID;
- if (branchId != null && branchId.length() > 0) {
- toReturn = Integer.parseInt(branchId);
- }
- return toReturn;
- }
+/*******************************************************************************
+ * 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.manager.servlet.data;
+
+import javax.servlet.http.HttpServletRequest;
+import org.eclipse.osee.framework.core.data.Identity;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class HttpArtifactFileInfo implements Identity {
+ private static final int INVALID_BRANCH_ID = -1;
+ private static final String GUID_KEY = "guid";
+ private static final String BRANCH_NAME_KEY = "branch";
+ private static final String BRANCH_ID_KEY = "branchId";
+
+ private final String guid;
+ private final String branchName;
+ private final String branchId;
+
+ public HttpArtifactFileInfo(String guid, String branchName, String branchId) {
+ this.guid = guid;
+ this.branchName = branchName;
+ this.branchId = branchId;
+ }
+
+ public HttpArtifactFileInfo(HttpServletRequest request) {
+ this(request.getParameter(GUID_KEY), request.getParameter(BRANCH_NAME_KEY), request.getParameter(BRANCH_ID_KEY));
+ }
+
+ public String getGuid() {
+ return guid;
+ }
+
+ public boolean isBranchNameValid() {
+ return branchName != null && branchName.length() > 0;
+ }
+
+ public String getBranchName() {
+ return branchName;
+ }
+
+ public int getId() throws NumberFormatException {
+ int toReturn = INVALID_BRANCH_ID;
+ if (branchId != null && branchId.length() > 0) {
+ toReturn = Integer.parseInt(branchId);
+ }
+ return toReturn;
+ }
} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/data/HttpBranchExchangeInfo.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/data/HttpBranchExchangeInfo.java
index cfa0cbb2934..e458138892e 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/data/HttpBranchExchangeInfo.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/data/HttpBranchExchangeInfo.java
@@ -1,111 +1,111 @@
-/*******************************************************************************
- * 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.manager.servlet.data;
-
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.List;
-
-import javax.servlet.http.HttpServletRequest;
-
-import org.eclipse.osee.framework.resource.management.Options;
-
-/**
- * @author Roberto E. Escobar
- */
-public class HttpBranchExchangeInfo {
-
- public enum BranchExchangeFunctions {
- exportBranch, importBranch, checkExchange;
- };
-
- private BranchExchangeFunctions function;
- private String exchangeFileName;
- private String path;
- private List<Integer> selectedBranchIds;
- private boolean sendExportFile;
- private boolean deleteExportFile;
- private Options options;
-
- @SuppressWarnings("unchecked")
- public HttpBranchExchangeInfo(HttpServletRequest request) throws Exception {
- this.options = new Options();
- this.function = null;
- this.selectedBranchIds = new ArrayList<Integer>();
- this.sendExportFile = false;
- this.deleteExportFile = false;
- this.exchangeFileName = null;
- this.path = null;
-
- Enumeration<String> enumeration = request.getParameterNames();
- while (enumeration.hasMoreElements()) {
- String name = enumeration.nextElement();
- String value = request.getParameter(name);
- if (name.equalsIgnoreCase("filename")) {
- this.exchangeFileName = value;
- } else if (name.equalsIgnoreCase("uri")) {
- this.path = value;
- } else if (name.equalsIgnoreCase("send.export.file")) {
- this.sendExportFile = Boolean.valueOf(value);
- } else if (name.equalsIgnoreCase("delete.export.file")) {
- this.deleteExportFile = Boolean.valueOf(value);
- } else if (name.equalsIgnoreCase("function")) {
- isFunctionValid(value);
- } else if (name.equalsIgnoreCase("branchIds")) {
- for (String entry : value.split(",")) {
- selectedBranchIds.add(new Integer(entry));
- }
- } else {
- options.put(name.toUpperCase(), value);
- }
- }
- }
-
- public BranchExchangeFunctions getFunction() {
- return this.function;
- }
-
- public boolean isSendExportFile() {
- return this.sendExportFile;
- }
-
- public boolean isDeleteExportFile() {
- return this.deleteExportFile;
- }
-
- public String getExchangeFileName() {
- return this.exchangeFileName;
- }
-
- public String getPath() {
- return this.path;
- }
-
- public List<Integer> getSelectedBranchIds() {
- return this.selectedBranchIds;
- }
-
- public Options getOptions() {
- return this.options;
- }
-
- private void isFunctionValid(String function) throws Exception {
- if (function == null) {
- throw new Exception("A 'function' parameter must be defined.");
- }
- try {
- this.function = BranchExchangeFunctions.valueOf(function);
- } catch (IllegalArgumentException ex) {
- throw new Exception(String.format("[%s] is not a valid function.",
- function), ex);
- }
- }
-}
+/*******************************************************************************
+ * 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.manager.servlet.data;
+
+import java.util.ArrayList;
+import java.util.Enumeration;
+import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.eclipse.osee.framework.resource.management.Options;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class HttpBranchExchangeInfo {
+
+ public enum BranchExchangeFunctions {
+ exportBranch, importBranch, checkExchange;
+ };
+
+ private BranchExchangeFunctions function;
+ private String exchangeFileName;
+ private String path;
+ private List<Integer> selectedBranchIds;
+ private boolean sendExportFile;
+ private boolean deleteExportFile;
+ private Options options;
+
+ @SuppressWarnings("unchecked")
+ public HttpBranchExchangeInfo(HttpServletRequest request) throws Exception {
+ this.options = new Options();
+ this.function = null;
+ this.selectedBranchIds = new ArrayList<Integer>();
+ this.sendExportFile = false;
+ this.deleteExportFile = false;
+ this.exchangeFileName = null;
+ this.path = null;
+
+ Enumeration<String> enumeration = request.getParameterNames();
+ while (enumeration.hasMoreElements()) {
+ String name = enumeration.nextElement();
+ String value = request.getParameter(name);
+ if (name.equalsIgnoreCase("filename")) {
+ this.exchangeFileName = value;
+ } else if (name.equalsIgnoreCase("uri")) {
+ this.path = value;
+ } else if (name.equalsIgnoreCase("send.export.file")) {
+ this.sendExportFile = Boolean.valueOf(value);
+ } else if (name.equalsIgnoreCase("delete.export.file")) {
+ this.deleteExportFile = Boolean.valueOf(value);
+ } else if (name.equalsIgnoreCase("function")) {
+ isFunctionValid(value);
+ } else if (name.equalsIgnoreCase("branchIds")) {
+ for (String entry : value.split(",")) {
+ selectedBranchIds.add(new Integer(entry));
+ }
+ } else {
+ options.put(name.toUpperCase(), value);
+ }
+ }
+ }
+
+ public BranchExchangeFunctions getFunction() {
+ return this.function;
+ }
+
+ public boolean isSendExportFile() {
+ return this.sendExportFile;
+ }
+
+ public boolean isDeleteExportFile() {
+ return this.deleteExportFile;
+ }
+
+ public String getExchangeFileName() {
+ return this.exchangeFileName;
+ }
+
+ public String getPath() {
+ return this.path;
+ }
+
+ public List<Integer> getSelectedBranchIds() {
+ return this.selectedBranchIds;
+ }
+
+ public Options getOptions() {
+ return this.options;
+ }
+
+ private void isFunctionValid(String function) throws Exception {
+ if (function == null) {
+ throw new Exception("A 'function' parameter must be defined.");
+ }
+ try {
+ this.function = BranchExchangeFunctions.valueOf(function);
+ } catch (IllegalArgumentException ex) {
+ throw new Exception(String.format("[%s] is not a valid function.",
+ function), ex);
+ }
+ }
+}
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/data/HttpRequestDecoder.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/data/HttpRequestDecoder.java
index 5408a2251b4..3d845860a7e 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/data/HttpRequestDecoder.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/data/HttpRequestDecoder.java
@@ -1,87 +1,87 @@
-/*******************************************************************************
- * 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.manager.servlet.data;
-
-import java.util.ArrayList;
-import java.util.List;
-import javax.servlet.http.HttpServletRequest;
-import org.eclipse.osee.framework.jdk.core.type.Pair;
-import org.eclipse.osee.framework.resource.management.Options;
-import org.eclipse.osee.framework.resource.management.StandardOptions;
-
-/**
- * This class is responsible for parsing servlet resquests into object[]
- * http://localhost:8089/resource?param1=blah&param2=blah
- *
- * @author Roberto E. Escobar
- */
-public class HttpRequestDecoder {
-
- private static final String CHECK_AVAILABLE = "check.available";
- private static final String URI = "uri";
- private static final String PROTOCOL = "protocol";
- private static final String SEED = "seed";
- private static final String NAME = "name";
- private static final String EXTENSION = "extension";
-
- // Whether data should be compressed
- private static final String COMPRESS_ON_ACQUIRE = "compress.before.sending";
- private static final String COMPRESS_ON_SAVE = "compress.before.saving";
-
- // Whether data should be decompressed
- private static final String DECOMPRESS_ON_ACQUIRE = "decompress.before.sending";
-
- // Whether data has already been compressed
- private static final String IS_COMPRESSED = "is.compressed";
-
- private static final String IS_OVERWRITE_ALLOWED = "is.overwrite.allowed";
-
- private HttpRequestDecoder() {
- }
-
- public static String[] fromPutRequest(HttpServletRequest request) {
- List<String> toReturn = new ArrayList<String>();
- toReturn.add(request.getParameter(PROTOCOL));
- toReturn.add(request.getParameter(SEED));
- StringBuilder builder = new StringBuilder();
- builder.append(request.getParameter(NAME));
- String extension = request.getParameter(EXTENSION);
- if (extension != null && extension.length() > 0) {
- builder.append(".");
- builder.append(extension);
- }
- toReturn.add(builder.toString());
- return toReturn.toArray(new String[toReturn.size()]);
- }
-
- public static Pair<String, Boolean> fromGetRequest(HttpServletRequest request) {
- return new Pair<String, Boolean>(request.getParameter(URI),
- Boolean.valueOf(request.getParameter(CHECK_AVAILABLE)));
- }
-
- public static Options getOptions(HttpServletRequest request) {
- Options options = new Options();
- options.put(StandardOptions.CompressOnSave.name(), request.getParameter(COMPRESS_ON_SAVE));
- options.put(StandardOptions.CompressOnAcquire.name(), request.getParameter(COMPRESS_ON_ACQUIRE));
- options.put(StandardOptions.DecompressOnAquire.name(), request.getParameter(DECOMPRESS_ON_ACQUIRE));
- options.put(StandardOptions.Overwrite.name(), request.getParameter(IS_OVERWRITE_ALLOWED));
- return options;
- }
-
- protected static boolean isDataCompressed(HttpServletRequest request) {
+/*******************************************************************************
+ * 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.manager.servlet.data;
+
+import java.util.ArrayList;
+import java.util.List;
+import javax.servlet.http.HttpServletRequest;
+import org.eclipse.osee.framework.jdk.core.type.Pair;
+import org.eclipse.osee.framework.resource.management.Options;
+import org.eclipse.osee.framework.resource.management.StandardOptions;
+
+/**
+ * This class is responsible for parsing servlet resquests into object[]
+ * http://localhost:8089/resource?param1=blah&param2=blah
+ *
+ * @author Roberto E. Escobar
+ */
+public class HttpRequestDecoder {
+
+ private static final String CHECK_AVAILABLE = "check.available";
+ private static final String URI = "uri";
+ private static final String PROTOCOL = "protocol";
+ private static final String SEED = "seed";
+ private static final String NAME = "name";
+ private static final String EXTENSION = "extension";
+
+ // Whether data should be compressed
+ private static final String COMPRESS_ON_ACQUIRE = "compress.before.sending";
+ private static final String COMPRESS_ON_SAVE = "compress.before.saving";
+
+ // Whether data should be decompressed
+ private static final String DECOMPRESS_ON_ACQUIRE = "decompress.before.sending";
+
+ // Whether data has already been compressed
+ private static final String IS_COMPRESSED = "is.compressed";
+
+ private static final String IS_OVERWRITE_ALLOWED = "is.overwrite.allowed";
+
+ private HttpRequestDecoder() {
+ }
+
+ public static String[] fromPutRequest(HttpServletRequest request) {
+ List<String> toReturn = new ArrayList<String>();
+ toReturn.add(request.getParameter(PROTOCOL));
+ toReturn.add(request.getParameter(SEED));
+ StringBuilder builder = new StringBuilder();
+ builder.append(request.getParameter(NAME));
+ String extension = request.getParameter(EXTENSION);
+ if (extension != null && extension.length() > 0) {
+ builder.append(".");
+ builder.append(extension);
+ }
+ toReturn.add(builder.toString());
+ return toReturn.toArray(new String[toReturn.size()]);
+ }
+
+ public static Pair<String, Boolean> fromGetRequest(HttpServletRequest request) {
+ return new Pair<String, Boolean>(request.getParameter(URI),
+ Boolean.valueOf(request.getParameter(CHECK_AVAILABLE)));
+ }
+
+ public static Options getOptions(HttpServletRequest request) {
+ Options options = new Options();
+ options.put(StandardOptions.CompressOnSave.name(), request.getParameter(COMPRESS_ON_SAVE));
+ options.put(StandardOptions.CompressOnAcquire.name(), request.getParameter(COMPRESS_ON_ACQUIRE));
+ options.put(StandardOptions.DecompressOnAquire.name(), request.getParameter(DECOMPRESS_ON_ACQUIRE));
+ options.put(StandardOptions.Overwrite.name(), request.getParameter(IS_OVERWRITE_ALLOWED));
+ return options;
+ }
+
+ protected static boolean isDataCompressed(HttpServletRequest request) {
return Boolean.valueOf(request.getParameter(IS_COMPRESSED));
- }
-
- public static String fromDeleteRequest(HttpServletRequest request) {
- return request.getParameter(URI);
- }
-
-}
+ }
+
+ public static String fromDeleteRequest(HttpServletRequest request) {
+ return request.getParameter(URI);
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/data/HttpSearchInfo.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/data/HttpSearchInfo.java
index fc005bf1036..92844874825 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/data/HttpSearchInfo.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/data/HttpSearchInfo.java
@@ -1,75 +1,75 @@
-/*******************************************************************************
- * 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.manager.servlet.data;
-
-import javax.servlet.http.HttpServletRequest;
-import org.eclipse.osee.framework.jdk.core.type.PropertyStore;
-import org.eclipse.osee.framework.jdk.core.type.PropertyStoreWriter;
-import org.eclipse.osee.framework.search.engine.SearchOptions;
-import org.eclipse.osee.framework.search.engine.SearchOptions.SearchOptionsEnum;
-
-/**
- * @author Roberto E. Escobar
- */
-public class HttpSearchInfo {
-
- private final String branchId;
- private final String queryString;
- private final SearchOptions options;
- private final String[] attributeTypeGuids;
-
- private HttpSearchInfo(String branchId, SearchOptions options, String queryString, String... attributeTypeGuids) {
- super();
- this.branchId = branchId;
- this.options = options;
- this.queryString = queryString;
- this.attributeTypeGuids = attributeTypeGuids;
- }
-
- public String getQuery() {
- return queryString;
- }
-
- @Override
- public String toString() {
- return queryString;
- }
-
- public int getId() {
- return Integer.parseInt(this.branchId);
- }
-
- public SearchOptions getOptions() {
- return options;
- }
-
- public String[] getAttributeTypeGuids() {
- return attributeTypeGuids;
- }
-
- public static HttpSearchInfo loadFromPost(HttpServletRequest request) throws Exception {
- PropertyStore propertyStore = new PropertyStore(request.getParameter("sessionId"));
-
- PropertyStoreWriter propertyStoreWriter = new PropertyStoreWriter();
- propertyStoreWriter.load(propertyStore, request.getInputStream());
-
- SearchOptions options = new SearchOptions();
- options.put(SearchOptionsEnum.include_deleted.asStringOption(), propertyStore.get("include deleted"));
- options.put(SearchOptionsEnum.match_word_order.asStringOption(), propertyStore.get("match word order"));
- options.put(SearchOptionsEnum.as_xml.asStringOption(), propertyStore.get("as xml"));
- options.put(SearchOptionsEnum.find_all_locations.asStringOption(), propertyStore.get("find all locations"));
- options.put(SearchOptionsEnum.case_sensitive.asStringOption(), propertyStore.get("case sensitive"));
-
- String[] attributeTypeStrs = propertyStore.getArray("attributeType");
- return new HttpSearchInfo(propertyStore.get("branchId"), options, propertyStore.get("query"),attributeTypeStrs
- );
- }
-}
+/*******************************************************************************
+ * 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.manager.servlet.data;
+
+import javax.servlet.http.HttpServletRequest;
+import org.eclipse.osee.framework.jdk.core.type.PropertyStore;
+import org.eclipse.osee.framework.jdk.core.type.PropertyStoreWriter;
+import org.eclipse.osee.framework.search.engine.SearchOptions;
+import org.eclipse.osee.framework.search.engine.SearchOptions.SearchOptionsEnum;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class HttpSearchInfo {
+
+ private final String branchId;
+ private final String queryString;
+ private final SearchOptions options;
+ private final String[] attributeTypeGuids;
+
+ private HttpSearchInfo(String branchId, SearchOptions options, String queryString, String... attributeTypeGuids) {
+ super();
+ this.branchId = branchId;
+ this.options = options;
+ this.queryString = queryString;
+ this.attributeTypeGuids = attributeTypeGuids;
+ }
+
+ public String getQuery() {
+ return queryString;
+ }
+
+ @Override
+ public String toString() {
+ return queryString;
+ }
+
+ public int getId() {
+ return Integer.parseInt(this.branchId);
+ }
+
+ public SearchOptions getOptions() {
+ return options;
+ }
+
+ public String[] getAttributeTypeGuids() {
+ return attributeTypeGuids;
+ }
+
+ public static HttpSearchInfo loadFromPost(HttpServletRequest request) throws Exception {
+ PropertyStore propertyStore = new PropertyStore(request.getParameter("sessionId"));
+
+ PropertyStoreWriter propertyStoreWriter = new PropertyStoreWriter();
+ propertyStoreWriter.load(propertyStore, request.getInputStream());
+
+ SearchOptions options = new SearchOptions();
+ options.put(SearchOptionsEnum.include_deleted.asStringOption(), propertyStore.get("include deleted"));
+ options.put(SearchOptionsEnum.match_word_order.asStringOption(), propertyStore.get("match word order"));
+ options.put(SearchOptionsEnum.as_xml.asStringOption(), propertyStore.get("as xml"));
+ options.put(SearchOptionsEnum.find_all_locations.asStringOption(), propertyStore.get("find all locations"));
+ options.put(SearchOptionsEnum.case_sensitive.asStringOption(), propertyStore.get("case sensitive"));
+
+ String[] attributeTypeStrs = propertyStore.getArray("attributeType");
+ return new HttpSearchInfo(propertyStore.get("branchId"), options, propertyStore.get("query"),attributeTypeStrs
+ );
+ }
+}
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/data/HttpSystemManagerCreationInfo.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/data/HttpSystemManagerCreationInfo.java
index 762f72ce904..6141fd5690b 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/data/HttpSystemManagerCreationInfo.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/data/HttpSystemManagerCreationInfo.java
@@ -1,36 +1,36 @@
-/*******************************************************************************
- * 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.manager.servlet.data;
-
-import javax.servlet.http.HttpServletRequest;
-import org.eclipse.osee.framework.core.exception.OseeArgumentException;
-
-/**
- * @author Donald G. Dunne
- */
-public class HttpSystemManagerCreationInfo {
-
- private final String userId;
- private final String sessionId;
-
- public HttpSystemManagerCreationInfo(HttpServletRequest req) throws OseeArgumentException {
- userId = req.getParameter("userId");
- sessionId = req.getParameter("sessionId");
- }
-
- public String getUserId() {
- return userId;
- }
-
- public String getSessionId() {
- return sessionId;
- }
+/*******************************************************************************
+ * 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.manager.servlet.data;
+
+import javax.servlet.http.HttpServletRequest;
+import org.eclipse.osee.framework.core.exception.OseeArgumentException;
+
+/**
+ * @author Donald G. Dunne
+ */
+public class HttpSystemManagerCreationInfo {
+
+ private final String userId;
+ private final String sessionId;
+
+ public HttpSystemManagerCreationInfo(HttpServletRequest req) throws OseeArgumentException {
+ userId = req.getParameter("userId");
+ sessionId = req.getParameter("sessionId");
+ }
+
+ public String getUserId() {
+ return userId;
+ }
+
+ public String getSessionId() {
+ return sessionId;
+ }
} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/data/ServletResourceBridge.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/data/ServletResourceBridge.java
index d1d5cf6a9de..ce159a4a1fd 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/data/ServletResourceBridge.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/data/ServletResourceBridge.java
@@ -1,66 +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.manager.servlet.data;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URI;
-import javax.servlet.http.HttpServletRequest;
-import org.eclipse.osee.framework.core.exception.OseeCoreException;
-import org.eclipse.osee.framework.core.exception.OseeExceptions;
-import org.eclipse.osee.framework.resource.management.IResource;
-import org.eclipse.osee.framework.resource.management.IResourceLocator;
-
-/**
- * @author Roberto E. Escobar
- */
-public class ServletResourceBridge implements IResource {
-
- private final HttpServletRequest request;
- private final IResourceLocator locator;
-
- public ServletResourceBridge(HttpServletRequest request, IResourceLocator locator) {
- this.request = request;
- this.locator = locator;
- }
-
- @Override
- public InputStream getContent() throws OseeCoreException {
- InputStream stream = null;
- try {
- stream = request.getInputStream();
- } catch (IOException ex) {
- OseeExceptions.wrapAndThrow(ex);
- }
- return stream;
- }
-
- @Override
- public URI getLocation() {
- return locator.getLocation();
- }
-
- @Override
- public String getName() {
- String path = locator.getLocation().toASCIIString();
- int index = path.lastIndexOf("/");
- if (index != -1 && index + 1 < path.length()) {
- path = path.substring(index + 1, path.length());
- }
- return path;
- }
-
- @Override
- public boolean isCompressed() {
- return HttpRequestDecoder.isDataCompressed(request);
- }
-
-}
+/*******************************************************************************
+ * 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.manager.servlet.data;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URI;
+import javax.servlet.http.HttpServletRequest;
+import org.eclipse.osee.framework.core.exception.OseeCoreException;
+import org.eclipse.osee.framework.core.exception.OseeExceptions;
+import org.eclipse.osee.framework.resource.management.IResource;
+import org.eclipse.osee.framework.resource.management.IResourceLocator;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class ServletResourceBridge implements IResource {
+
+ private final HttpServletRequest request;
+ private final IResourceLocator locator;
+
+ public ServletResourceBridge(HttpServletRequest request, IResourceLocator locator) {
+ this.request = request;
+ this.locator = locator;
+ }
+
+ @Override
+ public InputStream getContent() throws OseeCoreException {
+ InputStream stream = null;
+ try {
+ stream = request.getInputStream();
+ } catch (IOException ex) {
+ OseeExceptions.wrapAndThrow(ex);
+ }
+ return stream;
+ }
+
+ @Override
+ public URI getLocation() {
+ return locator.getLocation();
+ }
+
+ @Override
+ public String getName() {
+ String path = locator.getLocation().toASCIIString();
+ int index = path.lastIndexOf("/");
+ if (index != -1 && index + 1 < path.length()) {
+ path = path.substring(index + 1, path.length());
+ }
+ return path;
+ }
+
+ @Override
+ public boolean isCompressed() {
+ return HttpRequestDecoder.isDataCompressed(request);
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/data/TagListener.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/data/TagListener.java
index 79a77a9c4de..23fc6079be1 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/data/TagListener.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/data/TagListener.java
@@ -1,95 +1,95 @@
-/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Boeing - initial API and implementation
- *******************************************************************************/
-package org.eclipse.osee.framework.manager.servlet.data;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-import org.eclipse.osee.framework.search.engine.TagListenerAdapter;
-
-/**
- * @author Roberto E. Escobar
- */
-public class TagListener extends TagListenerAdapter {
-
- private volatile Map<Integer, Throwable> tagErrors;
- private volatile Set<Integer> queryIds;
- private volatile boolean wasProcessed;
- private volatile int expectedTotal;
- private volatile int queryCount;
- private volatile int attributeCount;
-
- public TagListener() {
- this.queryIds = Collections.synchronizedSet(new HashSet<Integer>());
- this.wasProcessed = false;
- this.queryCount = 0;
- this.attributeCount = 0;
- this.tagErrors = Collections.synchronizedMap(new HashMap<Integer, Throwable>());
- }
-
- public boolean wasProcessed() {
- return wasProcessed;
- }
-
- public boolean hasErrors() {
- return tagErrors.size() > 0;
- }
-
- public int getAttributeCount() {
- return attributeCount;
- }
-
- public int getQueryCount() {
- return queryCount;
- }
-
- public Map<Integer, Throwable> getTagErrors() {
- return tagErrors;
- }
-
- @Override
- public void onTagExpectedQueryIdSubmits(int totalQueries) {
- this.expectedTotal = totalQueries;
- }
-
- @Override
- synchronized public void onTagError(int queryId, Throwable throwable) {
- tagErrors.put(queryId, throwable);
- this.wasProcessed = true;
- this.notify();
- }
-
- @Override
- synchronized public void onTagQueryIdSubmit(int queryId) {
- queryCount++;
- queryIds.add(queryId);
- }
-
- @Override
- public void onAttributeTagComplete(int queryId, long gammaId, int totalTags, long processingTime) {
- if (this.queryIds.contains(queryId)) {
- attributeCount++;
- }
- }
-
- @Override
- synchronized public void onTagQueryIdTagComplete(int queryId, long waitTime, long processingTime) {
- if (this.queryIds.contains(queryId)) {
- this.queryIds.remove(queryId);
- if (this.queryIds.isEmpty() && queryCount == expectedTotal) {
- this.wasProcessed = true;
- this.notify();
- }
- }
- }
-}
+/*******************************************************************************
+ * 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.manager.servlet.data;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+import org.eclipse.osee.framework.search.engine.TagListenerAdapter;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class TagListener extends TagListenerAdapter {
+
+ private volatile Map<Integer, Throwable> tagErrors;
+ private volatile Set<Integer> queryIds;
+ private volatile boolean wasProcessed;
+ private volatile int expectedTotal;
+ private volatile int queryCount;
+ private volatile int attributeCount;
+
+ public TagListener() {
+ this.queryIds = Collections.synchronizedSet(new HashSet<Integer>());
+ this.wasProcessed = false;
+ this.queryCount = 0;
+ this.attributeCount = 0;
+ this.tagErrors = Collections.synchronizedMap(new HashMap<Integer, Throwable>());
+ }
+
+ public boolean wasProcessed() {
+ return wasProcessed;
+ }
+
+ public boolean hasErrors() {
+ return tagErrors.size() > 0;
+ }
+
+ public int getAttributeCount() {
+ return attributeCount;
+ }
+
+ public int getQueryCount() {
+ return queryCount;
+ }
+
+ public Map<Integer, Throwable> getTagErrors() {
+ return tagErrors;
+ }
+
+ @Override
+ public void onTagExpectedQueryIdSubmits(int totalQueries) {
+ this.expectedTotal = totalQueries;
+ }
+
+ @Override
+ synchronized public void onTagError(int queryId, Throwable throwable) {
+ tagErrors.put(queryId, throwable);
+ this.wasProcessed = true;
+ this.notify();
+ }
+
+ @Override
+ synchronized public void onTagQueryIdSubmit(int queryId) {
+ queryCount++;
+ queryIds.add(queryId);
+ }
+
+ @Override
+ public void onAttributeTagComplete(int queryId, long gammaId, int totalTags, long processingTime) {
+ if (this.queryIds.contains(queryId)) {
+ attributeCount++;
+ }
+ }
+
+ @Override
+ synchronized public void onTagQueryIdTagComplete(int queryId, long waitTime, long processingTime) {
+ if (this.queryIds.contains(queryId)) {
+ this.queryIds.remove(queryId);
+ if (this.queryIds.isEmpty() && queryCount == expectedTotal) {
+ this.wasProcessed = true;
+ this.notify();
+ }
+ }
+ }
+}
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/function/ChangeBranchArchiveStateFunction.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/function/ChangeBranchArchiveStateFunction.java
index 2efc44c5224..040c4a83a6d 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/function/ChangeBranchArchiveStateFunction.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/function/ChangeBranchArchiveStateFunction.java
@@ -1,56 +1,56 @@
-/*******************************************************************************
- * Copyright(c) 2009 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.manager.servlet.function;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.osee.framework.branch.management.IOseeBranchService;
-import org.eclipse.osee.framework.core.enums.CoreTranslatorId;
-import org.eclipse.osee.framework.core.message.ChangeBranchArchiveStateRequest;
-import org.eclipse.osee.framework.core.operation.AbstractOperation;
-import org.eclipse.osee.framework.core.operation.IOperation;
-import org.eclipse.osee.framework.core.translation.IDataTranslationService;
-import org.eclipse.osee.framework.manager.servlet.internal.Activator;
-
-/**
- * @author Megumi Telles
- */
-public class ChangeBranchArchiveStateFunction extends AbstractOperation {
- private final HttpServletRequest req;
- private final HttpServletResponse resp;
- private final IOseeBranchService branchService;
- private final IDataTranslationService translationService;
-
- public ChangeBranchArchiveStateFunction(HttpServletRequest req, HttpServletResponse resp, IOseeBranchService branchService, IDataTranslationService translationService) {
- super("Update Branch Archived State", Activator.PLUGIN_ID);
- this.req = req;
- this.resp = resp;
- this.branchService = branchService;
- this.translationService = translationService;
- }
-
- @Override
- protected void doWork(IProgressMonitor monitor) throws Exception {
- ChangeBranchArchiveStateRequest request =
- translationService.convert(req.getInputStream(), CoreTranslatorId.CHANGE_BRANCH_ARCHIVE_STATE);
-
- IOperation subOp = branchService.updateBranchArchiveState(monitor, request);
- doSubWork(subOp, monitor, 0.90);
-
- resp.setStatus(HttpServletResponse.SC_ACCEPTED);
- resp.setContentType("text/plain");
- resp.setCharacterEncoding("UTF-8");
- resp.getWriter().write("Purge was successful");
- resp.getWriter().flush();
- monitor.worked(calculateWork(0.10));
- }
+/*******************************************************************************
+ * Copyright(c) 2009 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.manager.servlet.function;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.osee.framework.branch.management.IOseeBranchService;
+import org.eclipse.osee.framework.core.enums.CoreTranslatorId;
+import org.eclipse.osee.framework.core.message.ChangeBranchArchiveStateRequest;
+import org.eclipse.osee.framework.core.operation.AbstractOperation;
+import org.eclipse.osee.framework.core.operation.IOperation;
+import org.eclipse.osee.framework.core.translation.IDataTranslationService;
+import org.eclipse.osee.framework.manager.servlet.internal.Activator;
+
+/**
+ * @author Megumi Telles
+ */
+public class ChangeBranchArchiveStateFunction extends AbstractOperation {
+ private final HttpServletRequest req;
+ private final HttpServletResponse resp;
+ private final IOseeBranchService branchService;
+ private final IDataTranslationService translationService;
+
+ public ChangeBranchArchiveStateFunction(HttpServletRequest req, HttpServletResponse resp, IOseeBranchService branchService, IDataTranslationService translationService) {
+ super("Update Branch Archived State", Activator.PLUGIN_ID);
+ this.req = req;
+ this.resp = resp;
+ this.branchService = branchService;
+ this.translationService = translationService;
+ }
+
+ @Override
+ protected void doWork(IProgressMonitor monitor) throws Exception {
+ ChangeBranchArchiveStateRequest request =
+ translationService.convert(req.getInputStream(), CoreTranslatorId.CHANGE_BRANCH_ARCHIVE_STATE);
+
+ IOperation subOp = branchService.updateBranchArchiveState(monitor, request);
+ doSubWork(subOp, monitor, 0.90);
+
+ resp.setStatus(HttpServletResponse.SC_ACCEPTED);
+ resp.setContentType("text/plain");
+ resp.setCharacterEncoding("UTF-8");
+ resp.getWriter().write("Purge was successful");
+ resp.getWriter().flush();
+ monitor.worked(calculateWork(0.10));
+ }
} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/function/ChangeBranchStateFunction.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/function/ChangeBranchStateFunction.java
index eb82f37528b..ca44f546bc3 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/function/ChangeBranchStateFunction.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/function/ChangeBranchStateFunction.java
@@ -1,57 +1,57 @@
-/*******************************************************************************
- * Copyright(c) 2009 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.manager.servlet.function;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.osee.framework.branch.management.IOseeBranchService;
-import org.eclipse.osee.framework.core.enums.CoreTranslatorId;
-import org.eclipse.osee.framework.core.message.ChangeBranchStateRequest;
-import org.eclipse.osee.framework.core.operation.AbstractOperation;
-import org.eclipse.osee.framework.core.operation.IOperation;
-import org.eclipse.osee.framework.core.translation.IDataTranslationService;
-import org.eclipse.osee.framework.manager.servlet.internal.Activator;
-
-/**
- * @author Megumi Telles
- */
-public class ChangeBranchStateFunction extends AbstractOperation {
-
- private final HttpServletRequest req;
- private final HttpServletResponse resp;
- private final IOseeBranchService branchService;
- private final IDataTranslationService translationService;
-
- public ChangeBranchStateFunction(HttpServletRequest req, HttpServletResponse resp, IOseeBranchService branchService, IDataTranslationService translationService) {
- super("Update Branch State", Activator.PLUGIN_ID);
- this.req = req;
- this.resp = resp;
- this.branchService = branchService;
- this.translationService = translationService;
- }
-
- @Override
- protected void doWork(IProgressMonitor monitor) throws Exception {
- ChangeBranchStateRequest request =
- translationService.convert(req.getInputStream(), CoreTranslatorId.CHANGE_BRANCH_STATE);
-
- IOperation subOp = branchService.updateBranchState(monitor, request);
- doSubWork(subOp, monitor, 0.90);
-
- resp.setStatus(HttpServletResponse.SC_ACCEPTED);
- resp.setContentType("text/plain");
- resp.setCharacterEncoding("UTF-8");
- resp.getWriter().write("Purge was successful");
- resp.getWriter().flush();
- monitor.worked(calculateWork(0.10));
- }
+/*******************************************************************************
+ * Copyright(c) 2009 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.manager.servlet.function;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.osee.framework.branch.management.IOseeBranchService;
+import org.eclipse.osee.framework.core.enums.CoreTranslatorId;
+import org.eclipse.osee.framework.core.message.ChangeBranchStateRequest;
+import org.eclipse.osee.framework.core.operation.AbstractOperation;
+import org.eclipse.osee.framework.core.operation.IOperation;
+import org.eclipse.osee.framework.core.translation.IDataTranslationService;
+import org.eclipse.osee.framework.manager.servlet.internal.Activator;
+
+/**
+ * @author Megumi Telles
+ */
+public class ChangeBranchStateFunction extends AbstractOperation {
+
+ private final HttpServletRequest req;
+ private final HttpServletResponse resp;
+ private final IOseeBranchService branchService;
+ private final IDataTranslationService translationService;
+
+ public ChangeBranchStateFunction(HttpServletRequest req, HttpServletResponse resp, IOseeBranchService branchService, IDataTranslationService translationService) {
+ super("Update Branch State", Activator.PLUGIN_ID);
+ this.req = req;
+ this.resp = resp;
+ this.branchService = branchService;
+ this.translationService = translationService;
+ }
+
+ @Override
+ protected void doWork(IProgressMonitor monitor) throws Exception {
+ ChangeBranchStateRequest request =
+ translationService.convert(req.getInputStream(), CoreTranslatorId.CHANGE_BRANCH_STATE);
+
+ IOperation subOp = branchService.updateBranchState(monitor, request);
+ doSubWork(subOp, monitor, 0.90);
+
+ resp.setStatus(HttpServletResponse.SC_ACCEPTED);
+ resp.setContentType("text/plain");
+ resp.setCharacterEncoding("UTF-8");
+ resp.getWriter().write("Purge was successful");
+ resp.getWriter().flush();
+ monitor.worked(calculateWork(0.10));
+ }
} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/function/ChangeBranchTypeFunction.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/function/ChangeBranchTypeFunction.java
index c47a4d7c583..b9aec456c01 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/function/ChangeBranchTypeFunction.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/function/ChangeBranchTypeFunction.java
@@ -1,57 +1,57 @@
-/*******************************************************************************
- * Copyright(c) 2009 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.manager.servlet.function;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.osee.framework.branch.management.IOseeBranchService;
-import org.eclipse.osee.framework.core.enums.CoreTranslatorId;
-import org.eclipse.osee.framework.core.message.ChangeBranchTypeRequest;
-import org.eclipse.osee.framework.core.operation.AbstractOperation;
-import org.eclipse.osee.framework.core.operation.IOperation;
-import org.eclipse.osee.framework.core.translation.IDataTranslationService;
-import org.eclipse.osee.framework.manager.servlet.internal.Activator;
-
-/**
- * @author Megumi Telles
- */
-public class ChangeBranchTypeFunction extends AbstractOperation {
-
- private final HttpServletRequest req;
- private final HttpServletResponse resp;
- private final IOseeBranchService branchService;
- private final IDataTranslationService translationService;
-
- public ChangeBranchTypeFunction(HttpServletRequest req, HttpServletResponse resp, IOseeBranchService branchService, IDataTranslationService translationService) {
- super("Update Branch Type", Activator.PLUGIN_ID);
- this.req = req;
- this.resp = resp;
- this.branchService = branchService;
- this.translationService = translationService;
- }
-
- @Override
- protected void doWork(IProgressMonitor monitor) throws Exception {
- ChangeBranchTypeRequest request =
- translationService.convert(req.getInputStream(), CoreTranslatorId.CHANGE_BRANCH_TYPE);
-
- IOperation subOp = branchService.updateBranchType(monitor, request);
- doSubWork(subOp, monitor, 0.90);
-
- resp.setStatus(HttpServletResponse.SC_ACCEPTED);
- resp.setContentType("text/plain");
- resp.setCharacterEncoding("UTF-8");
- resp.getWriter().write("Purge was successful");
- resp.getWriter().flush();
- monitor.worked(calculateWork(0.10));
- }
+/*******************************************************************************
+ * Copyright(c) 2009 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.manager.servlet.function;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.osee.framework.branch.management.IOseeBranchService;
+import org.eclipse.osee.framework.core.enums.CoreTranslatorId;
+import org.eclipse.osee.framework.core.message.ChangeBranchTypeRequest;
+import org.eclipse.osee.framework.core.operation.AbstractOperation;
+import org.eclipse.osee.framework.core.operation.IOperation;
+import org.eclipse.osee.framework.core.translation.IDataTranslationService;
+import org.eclipse.osee.framework.manager.servlet.internal.Activator;
+
+/**
+ * @author Megumi Telles
+ */
+public class ChangeBranchTypeFunction extends AbstractOperation {
+
+ private final HttpServletRequest req;
+ private final HttpServletResponse resp;
+ private final IOseeBranchService branchService;
+ private final IDataTranslationService translationService;
+
+ public ChangeBranchTypeFunction(HttpServletRequest req, HttpServletResponse resp, IOseeBranchService branchService, IDataTranslationService translationService) {
+ super("Update Branch Type", Activator.PLUGIN_ID);
+ this.req = req;
+ this.resp = resp;
+ this.branchService = branchService;
+ this.translationService = translationService;
+ }
+
+ @Override
+ protected void doWork(IProgressMonitor monitor) throws Exception {
+ ChangeBranchTypeRequest request =
+ translationService.convert(req.getInputStream(), CoreTranslatorId.CHANGE_BRANCH_TYPE);
+
+ IOperation subOp = branchService.updateBranchType(monitor, request);
+ doSubWork(subOp, monitor, 0.90);
+
+ resp.setStatus(HttpServletResponse.SC_ACCEPTED);
+ resp.setContentType("text/plain");
+ resp.setCharacterEncoding("UTF-8");
+ resp.getWriter().write("Purge was successful");
+ resp.getWriter().flush();
+ monitor.worked(calculateWork(0.10));
+ }
} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/function/ChangeReportFunction.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/function/ChangeReportFunction.java
index 5918a3020ac..8f483810bd8 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/function/ChangeReportFunction.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/function/ChangeReportFunction.java
@@ -1,61 +1,61 @@
-/*******************************************************************************
- * Copyright(c) 2009 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.manager.servlet.function;
-
-import java.io.InputStream;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.osee.framework.branch.management.IOseeBranchService;
-import org.eclipse.osee.framework.core.enums.CoreTranslatorId;
-import org.eclipse.osee.framework.core.message.ChangeReportRequest;
-import org.eclipse.osee.framework.core.message.ChangeReportResponse;
-import org.eclipse.osee.framework.core.operation.AbstractOperation;
-import org.eclipse.osee.framework.core.operation.IOperation;
-import org.eclipse.osee.framework.core.translation.IDataTranslationService;
-import org.eclipse.osee.framework.jdk.core.util.Lib;
-import org.eclipse.osee.framework.manager.servlet.internal.Activator;
-
-/**
- * @author Jeff C. Phillips
- */
-public class ChangeReportFunction extends AbstractOperation {
-
- private final HttpServletRequest req;
- private final HttpServletResponse resp;
- private final IOseeBranchService branchService;
- private final IDataTranslationService translationService;
-
- public ChangeReportFunction(HttpServletRequest req, HttpServletResponse resp, IOseeBranchService branchService, IDataTranslationService translationService) {
- super("Branch Change Report", Activator.PLUGIN_ID);
- this.req = req;
- this.resp = resp;
- this.branchService = branchService;
- this.translationService = translationService;
- }
-
- @Override
- protected void doWork(IProgressMonitor monitor) throws Exception {
- ChangeReportRequest request =
- translationService.convert(req.getInputStream(), CoreTranslatorId.CHANGE_REPORT_REQUEST);
-
- ChangeReportResponse response = new ChangeReportResponse();
- IOperation subOp = branchService.getChanges(monitor, request, response);
- doSubWork(subOp, monitor, 0.90);
-
- resp.setStatus(HttpServletResponse.SC_ACCEPTED);
- resp.setContentType("text/xml");
- resp.setCharacterEncoding("UTF-8");
- InputStream inputStream = translationService.convertToStream(response, CoreTranslatorId.CHANGE_REPORT_RESPONSE);
- Lib.inputStreamToOutputStream(inputStream, resp.getOutputStream());
- monitor.worked(calculateWork(0.10));
- }
+/*******************************************************************************
+ * Copyright(c) 2009 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.manager.servlet.function;
+
+import java.io.InputStream;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.osee.framework.branch.management.IOseeBranchService;
+import org.eclipse.osee.framework.core.enums.CoreTranslatorId;
+import org.eclipse.osee.framework.core.message.ChangeReportRequest;
+import org.eclipse.osee.framework.core.message.ChangeReportResponse;
+import org.eclipse.osee.framework.core.operation.AbstractOperation;
+import org.eclipse.osee.framework.core.operation.IOperation;
+import org.eclipse.osee.framework.core.translation.IDataTranslationService;
+import org.eclipse.osee.framework.jdk.core.util.Lib;
+import org.eclipse.osee.framework.manager.servlet.internal.Activator;
+
+/**
+ * @author Jeff C. Phillips
+ */
+public class ChangeReportFunction extends AbstractOperation {
+
+ private final HttpServletRequest req;
+ private final HttpServletResponse resp;
+ private final IOseeBranchService branchService;
+ private final IDataTranslationService translationService;
+
+ public ChangeReportFunction(HttpServletRequest req, HttpServletResponse resp, IOseeBranchService branchService, IDataTranslationService translationService) {
+ super("Branch Change Report", Activator.PLUGIN_ID);
+ this.req = req;
+ this.resp = resp;
+ this.branchService = branchService;
+ this.translationService = translationService;
+ }
+
+ @Override
+ protected void doWork(IProgressMonitor monitor) throws Exception {
+ ChangeReportRequest request =
+ translationService.convert(req.getInputStream(), CoreTranslatorId.CHANGE_REPORT_REQUEST);
+
+ ChangeReportResponse response = new ChangeReportResponse();
+ IOperation subOp = branchService.getChanges(monitor, request, response);
+ doSubWork(subOp, monitor, 0.90);
+
+ resp.setStatus(HttpServletResponse.SC_ACCEPTED);
+ resp.setContentType("text/xml");
+ resp.setCharacterEncoding("UTF-8");
+ InputStream inputStream = translationService.convertToStream(response, CoreTranslatorId.CHANGE_REPORT_RESPONSE);
+ Lib.inputStreamToOutputStream(inputStream, resp.getOutputStream());
+ monitor.worked(calculateWork(0.10));
+ }
} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/function/CreateBranchFunction.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/function/CreateBranchFunction.java
index 9053cc8534b..a98304de620 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/function/CreateBranchFunction.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/function/CreateBranchFunction.java
@@ -1,64 +1,64 @@
-/*******************************************************************************
- * Copyright(c) 2009 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.manager.servlet.function;
-
-import java.io.InputStream;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.osee.framework.branch.management.IOseeBranchService;
-import org.eclipse.osee.framework.core.enums.CoreTranslatorId;
-import org.eclipse.osee.framework.core.message.BranchCreationRequest;
-import org.eclipse.osee.framework.core.message.BranchCreationResponse;
-import org.eclipse.osee.framework.core.operation.AbstractOperation;
-import org.eclipse.osee.framework.core.operation.IOperation;
-import org.eclipse.osee.framework.core.operation.LogProgressMonitor;
-import org.eclipse.osee.framework.core.translation.IDataTranslationService;
-import org.eclipse.osee.framework.jdk.core.util.Lib;
-import org.eclipse.osee.framework.manager.servlet.internal.Activator;
-
-/**
- * @author Jeff C. Phillips
- */
-public class CreateBranchFunction extends AbstractOperation {
-
- private final HttpServletRequest req;
- private final HttpServletResponse resp;
- private final IOseeBranchService branchService;
- private final IDataTranslationService translationService;
-
- public CreateBranchFunction(HttpServletRequest req, HttpServletResponse resp, IOseeBranchService branchService, IDataTranslationService translationService) {
- super("Create Branch", Activator.PLUGIN_ID);
- this.req = req;
- this.resp = resp;
- this.branchService = branchService;
- this.translationService = translationService;
- }
-
- @Override
- protected void doWork(IProgressMonitor monitor) throws Exception {
-
- BranchCreationRequest creationRequest =
- translationService.convert(req.getInputStream(), CoreTranslatorId.BRANCH_CREATION_REQUEST);
-
- BranchCreationResponse creationResponse = new BranchCreationResponse(-1);
- IOperation subOp = branchService.createBranch(new LogProgressMonitor(), creationRequest, creationResponse);
- doSubWork(subOp, monitor, 0.80);
-
- resp.setStatus(HttpServletResponse.SC_ACCEPTED);
- resp.setContentType("text/xml");
- resp.setCharacterEncoding("UTF-8");
- InputStream inputStream =
- translationService.convertToStream(creationResponse, CoreTranslatorId.BRANCH_CREATION_RESPONSE);
- Lib.inputStreamToOutputStream(inputStream, resp.getOutputStream());
- monitor.worked(calculateWork(0.20));
- }
+/*******************************************************************************
+ * Copyright(c) 2009 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.manager.servlet.function;
+
+import java.io.InputStream;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.osee.framework.branch.management.IOseeBranchService;
+import org.eclipse.osee.framework.core.enums.CoreTranslatorId;
+import org.eclipse.osee.framework.core.message.BranchCreationRequest;
+import org.eclipse.osee.framework.core.message.BranchCreationResponse;
+import org.eclipse.osee.framework.core.operation.AbstractOperation;
+import org.eclipse.osee.framework.core.operation.IOperation;
+import org.eclipse.osee.framework.core.operation.LogProgressMonitor;
+import org.eclipse.osee.framework.core.translation.IDataTranslationService;
+import org.eclipse.osee.framework.jdk.core.util.Lib;
+import org.eclipse.osee.framework.manager.servlet.internal.Activator;
+
+/**
+ * @author Jeff C. Phillips
+ */
+public class CreateBranchFunction extends AbstractOperation {
+
+ private final HttpServletRequest req;
+ private final HttpServletResponse resp;
+ private final IOseeBranchService branchService;
+ private final IDataTranslationService translationService;
+
+ public CreateBranchFunction(HttpServletRequest req, HttpServletResponse resp, IOseeBranchService branchService, IDataTranslationService translationService) {
+ super("Create Branch", Activator.PLUGIN_ID);
+ this.req = req;
+ this.resp = resp;
+ this.branchService = branchService;
+ this.translationService = translationService;
+ }
+
+ @Override
+ protected void doWork(IProgressMonitor monitor) throws Exception {
+
+ BranchCreationRequest creationRequest =
+ translationService.convert(req.getInputStream(), CoreTranslatorId.BRANCH_CREATION_REQUEST);
+
+ BranchCreationResponse creationResponse = new BranchCreationResponse(-1);
+ IOperation subOp = branchService.createBranch(new LogProgressMonitor(), creationRequest, creationResponse);
+ doSubWork(subOp, monitor, 0.80);
+
+ resp.setStatus(HttpServletResponse.SC_ACCEPTED);
+ resp.setContentType("text/xml");
+ resp.setCharacterEncoding("UTF-8");
+ InputStream inputStream =
+ translationService.convertToStream(creationResponse, CoreTranslatorId.BRANCH_CREATION_RESPONSE);
+ Lib.inputStreamToOutputStream(inputStream, resp.getOutputStream());
+ monitor.worked(calculateWork(0.20));
+ }
} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/function/CreateCommitFunction.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/function/CreateCommitFunction.java
index 308b6531c73..78fe4480051 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/function/CreateCommitFunction.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/function/CreateCommitFunction.java
@@ -1,59 +1,59 @@
-/*******************************************************************************
- * Copyright(c) 2009 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.manager.servlet.function;
-
-import java.io.InputStream;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.osee.framework.branch.management.IOseeBranchService;
-import org.eclipse.osee.framework.core.enums.CoreTranslatorId;
-import org.eclipse.osee.framework.core.message.BranchCommitRequest;
-import org.eclipse.osee.framework.core.message.BranchCommitResponse;
-import org.eclipse.osee.framework.core.operation.AbstractOperation;
-import org.eclipse.osee.framework.core.translation.IDataTranslationService;
-import org.eclipse.osee.framework.jdk.core.util.Lib;
-import org.eclipse.osee.framework.manager.servlet.internal.Activator;
-
-/**
- * @author Megumi Telles
- */
-public class CreateCommitFunction extends AbstractOperation {
- private final HttpServletRequest req;
- private final HttpServletResponse resp;
- private final IOseeBranchService branchService;
- private final IDataTranslationService translationService;
-
- public CreateCommitFunction(HttpServletRequest req, HttpServletResponse resp, IOseeBranchService branchService, IDataTranslationService translationService) {
- super("Commit Branch", Activator.PLUGIN_ID);
- this.req = req;
- this.resp = resp;
- this.branchService = branchService;
- this.translationService = translationService;
- }
-
- @Override
- protected void doWork(IProgressMonitor monitor) throws Exception {
- BranchCommitRequest data =
- translationService.convert(req.getInputStream(), CoreTranslatorId.BRANCH_COMMIT_REQUEST);
-
- BranchCommitResponse responseData = new BranchCommitResponse();
- branchService.commitBranch(new NullProgressMonitor(), data, responseData);
-
- resp.setStatus(HttpServletResponse.SC_ACCEPTED);
- resp.setContentType("text/xml");
- resp.setCharacterEncoding("UTF-8");
- InputStream inputStream =
- translationService.convertToStream(responseData, CoreTranslatorId.BRANCH_COMMIT_RESPONSE);
- Lib.inputStreamToOutputStream(inputStream, resp.getOutputStream());
- }
-}
+/*******************************************************************************
+ * Copyright(c) 2009 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.manager.servlet.function;
+
+import java.io.InputStream;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.osee.framework.branch.management.IOseeBranchService;
+import org.eclipse.osee.framework.core.enums.CoreTranslatorId;
+import org.eclipse.osee.framework.core.message.BranchCommitRequest;
+import org.eclipse.osee.framework.core.message.BranchCommitResponse;
+import org.eclipse.osee.framework.core.operation.AbstractOperation;
+import org.eclipse.osee.framework.core.translation.IDataTranslationService;
+import org.eclipse.osee.framework.jdk.core.util.Lib;
+import org.eclipse.osee.framework.manager.servlet.internal.Activator;
+
+/**
+ * @author Megumi Telles
+ */
+public class CreateCommitFunction extends AbstractOperation {
+ private final HttpServletRequest req;
+ private final HttpServletResponse resp;
+ private final IOseeBranchService branchService;
+ private final IDataTranslationService translationService;
+
+ public CreateCommitFunction(HttpServletRequest req, HttpServletResponse resp, IOseeBranchService branchService, IDataTranslationService translationService) {
+ super("Commit Branch", Activator.PLUGIN_ID);
+ this.req = req;
+ this.resp = resp;
+ this.branchService = branchService;
+ this.translationService = translationService;
+ }
+
+ @Override
+ protected void doWork(IProgressMonitor monitor) throws Exception {
+ BranchCommitRequest data =
+ translationService.convert(req.getInputStream(), CoreTranslatorId.BRANCH_COMMIT_REQUEST);
+
+ BranchCommitResponse responseData = new BranchCommitResponse();
+ branchService.commitBranch(new NullProgressMonitor(), data, responseData);
+
+ resp.setStatus(HttpServletResponse.SC_ACCEPTED);
+ resp.setContentType("text/xml");
+ resp.setCharacterEncoding("UTF-8");
+ InputStream inputStream =
+ translationService.convertToStream(responseData, CoreTranslatorId.BRANCH_COMMIT_RESPONSE);
+ Lib.inputStreamToOutputStream(inputStream, resp.getOutputStream());
+ }
+}
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/function/PurgeBranchFunction.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/function/PurgeBranchFunction.java
index 6fb14b3e7bf..16182630c37 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/function/PurgeBranchFunction.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/function/PurgeBranchFunction.java
@@ -1,57 +1,57 @@
-/*******************************************************************************
- * Copyright(c) 2009 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.manager.servlet.function;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.osee.framework.branch.management.IOseeBranchService;
-import org.eclipse.osee.framework.core.enums.CoreTranslatorId;
-import org.eclipse.osee.framework.core.message.PurgeBranchRequest;
-import org.eclipse.osee.framework.core.operation.AbstractOperation;
-import org.eclipse.osee.framework.core.operation.IOperation;
-import org.eclipse.osee.framework.core.translation.IDataTranslationService;
-import org.eclipse.osee.framework.manager.servlet.internal.Activator;
-
-/**
- * @author Megumi Telles
- * @author Jeff C. Phillips
- */
-public class PurgeBranchFunction extends AbstractOperation {
- private final HttpServletRequest req;
- private final HttpServletResponse resp;
- private final IOseeBranchService branchService;
- private final IDataTranslationService translationService;
-
- public PurgeBranchFunction(HttpServletRequest req, HttpServletResponse resp, IOseeBranchService branchService, IDataTranslationService translationService) {
- super("Purge Branch", Activator.PLUGIN_ID);
- this.req = req;
- this.resp = resp;
- this.branchService = branchService;
- this.translationService = translationService;
- }
-
- @Override
- protected void doWork(IProgressMonitor monitor) throws Exception {
- PurgeBranchRequest request =
- translationService.convert(req.getInputStream(), CoreTranslatorId.PURGE_BRANCH_REQUEST);
-
- IOperation subOp = branchService.purge(monitor, request);
- doSubWork(subOp, monitor, 0.90);
-
- resp.setStatus(HttpServletResponse.SC_ACCEPTED);
- resp.setContentType("text/plain");
- resp.setCharacterEncoding("UTF-8");
- resp.getWriter().write("Purge was successful");
- resp.getWriter().flush();
- monitor.worked(calculateWork(0.10));
- }
+/*******************************************************************************
+ * Copyright(c) 2009 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.manager.servlet.function;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.osee.framework.branch.management.IOseeBranchService;
+import org.eclipse.osee.framework.core.enums.CoreTranslatorId;
+import org.eclipse.osee.framework.core.message.PurgeBranchRequest;
+import org.eclipse.osee.framework.core.operation.AbstractOperation;
+import org.eclipse.osee.framework.core.operation.IOperation;
+import org.eclipse.osee.framework.core.translation.IDataTranslationService;
+import org.eclipse.osee.framework.manager.servlet.internal.Activator;
+
+/**
+ * @author Megumi Telles
+ * @author Jeff C. Phillips
+ */
+public class PurgeBranchFunction extends AbstractOperation {
+ private final HttpServletRequest req;
+ private final HttpServletResponse resp;
+ private final IOseeBranchService branchService;
+ private final IDataTranslationService translationService;
+
+ public PurgeBranchFunction(HttpServletRequest req, HttpServletResponse resp, IOseeBranchService branchService, IDataTranslationService translationService) {
+ super("Purge Branch", Activator.PLUGIN_ID);
+ this.req = req;
+ this.resp = resp;
+ this.branchService = branchService;
+ this.translationService = translationService;
+ }
+
+ @Override
+ protected void doWork(IProgressMonitor monitor) throws Exception {
+ PurgeBranchRequest request =
+ translationService.convert(req.getInputStream(), CoreTranslatorId.PURGE_BRANCH_REQUEST);
+
+ IOperation subOp = branchService.purge(monitor, request);
+ doSubWork(subOp, monitor, 0.90);
+
+ resp.setStatus(HttpServletResponse.SC_ACCEPTED);
+ resp.setContentType("text/plain");
+ resp.setCharacterEncoding("UTF-8");
+ resp.getWriter().write("Purge was successful");
+ resp.getWriter().flush();
+ monitor.worked(calculateWork(0.10));
+ }
} \ No newline at end of file
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/internal/Activator.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/internal/Activator.java
index 3c617189bbf..1aa72f7a54f 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/internal/Activator.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/internal/Activator.java
@@ -1,38 +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.manager.servlet.internal;
-
-import org.eclipse.osee.framework.core.util.ServiceDependencyTracker;
-import org.eclipse.osee.framework.jdk.core.util.Lib;
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-/**
- * @author Donald G. Dunne
- */
-public class Activator implements BundleActivator {
- public static final String PLUGIN_ID = "org.eclipse.osee.framework.manager.servlet";
-
- private ServiceDependencyTracker dependencyTracker;
-
- @Override
- public void start(BundleContext context) throws Exception {
- dependencyTracker = new ServiceDependencyTracker(context, new ServletRegistrationHandler());
- dependencyTracker.open();
- }
-
- @Override
- public void stop(BundleContext context) throws Exception {
- Lib.close(dependencyTracker);
- }
-
-}
+/*******************************************************************************
+ * 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.manager.servlet.internal;
+
+import org.eclipse.osee.framework.core.util.ServiceDependencyTracker;
+import org.eclipse.osee.framework.jdk.core.util.Lib;
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+
+/**
+ * @author Donald G. Dunne
+ */
+public class Activator implements BundleActivator {
+ public static final String PLUGIN_ID = "org.eclipse.osee.framework.manager.servlet";
+
+ private ServiceDependencyTracker dependencyTracker;
+
+ @Override
+ public void start(BundleContext context) throws Exception {
+ dependencyTracker = new ServiceDependencyTracker(context, new ServletRegistrationHandler());
+ dependencyTracker.open();
+ }
+
+ @Override
+ public void stop(BundleContext context) throws Exception {
+ Lib.close(dependencyTracker);
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/internal/ServletRegistrationHandler.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/internal/ServletRegistrationHandler.java
index 579a7f71074..d1057d43221 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/internal/ServletRegistrationHandler.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/internal/ServletRegistrationHandler.java
@@ -1,150 +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.manager.servlet.internal;
-
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
-import org.eclipse.osee.framework.branch.management.IBranchExchange;
-import org.eclipse.osee.framework.branch.management.IOseeBranchService;
-import org.eclipse.osee.framework.core.data.OseeServerContext;
-import org.eclipse.osee.framework.core.message.IOseeModelingService;
-import org.eclipse.osee.framework.core.server.IApplicationServerLookup;
-import org.eclipse.osee.framework.core.server.IApplicationServerManager;
-import org.eclipse.osee.framework.core.server.IAuthenticationManager;
-import org.eclipse.osee.framework.core.server.ISessionManager;
-import org.eclipse.osee.framework.core.server.OseeHttpServlet;
-import org.eclipse.osee.framework.core.services.IOseeCachingService;
-import org.eclipse.osee.framework.core.services.IOseeModelFactoryService;
-import org.eclipse.osee.framework.core.translation.IDataTranslationService;
-import org.eclipse.osee.framework.core.util.AbstractTrackingHandler;
-import org.eclipse.osee.framework.database.IOseeDatabaseService;
-import org.eclipse.osee.framework.manager.servlet.ArtifactFileServlet;
-import org.eclipse.osee.framework.manager.servlet.AtsServlet;
-import org.eclipse.osee.framework.manager.servlet.BranchExchangeServlet;
-import org.eclipse.osee.framework.manager.servlet.BranchManagerServlet;
-import org.eclipse.osee.framework.manager.servlet.ClientInstallInfoServlet;
-import org.eclipse.osee.framework.manager.servlet.ConfigurationServlet;
-import org.eclipse.osee.framework.manager.servlet.DataServlet;
-import org.eclipse.osee.framework.manager.servlet.OseeCacheServlet;
-import org.eclipse.osee.framework.manager.servlet.OseeModelServlet;
-import org.eclipse.osee.framework.manager.servlet.ResourceManagerServlet;
-import org.eclipse.osee.framework.manager.servlet.SearchEngineServlet;
-import org.eclipse.osee.framework.manager.servlet.SearchEngineTaggerServlet;
-import org.eclipse.osee.framework.manager.servlet.ServerLookupServlet;
-import org.eclipse.osee.framework.manager.servlet.SessionClientLoopbackServlet;
-import org.eclipse.osee.framework.manager.servlet.SessionManagementServlet;
-import org.eclipse.osee.framework.manager.servlet.SystemManagerServlet;
-import org.eclipse.osee.framework.manager.servlet.UnsubscribeServlet;
-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.BundleContext;
-import org.osgi.service.http.HttpService;
-
-/**
- * @author Roberto E. Escobar
- */
-public class ServletRegistrationHandler extends AbstractTrackingHandler {
-
- private static final Class<?>[] SERVICE_DEPENDENCIES = new Class<?>[] {
- //
- ISessionManager.class, //
- IApplicationServerLookup.class, //
- IApplicationServerManager.class, //
- IAuthenticationManager.class,//
- IDataTranslationService.class, //
- IOseeModelingService.class, //
- IOseeCachingService.class,//
- IOseeDatabaseService.class, //
- IOseeBranchService.class, //
- IBranchExchange.class, //
- ISearchEngine.class,//
- ISearchEngineTagger.class, //
- IOseeModelFactoryService.class, //
- IResourceLocatorManager.class,//
- IResourceManager.class, //
- HttpService.class, //
- };
-
- private final Set<String> contexts = new HashSet<String>();
- private HttpService httpService;
- private IApplicationServerManager appServerManager;
-
- @Override
- public Class<?>[] getDependencies() {
- return SERVICE_DEPENDENCIES;
- }
-
- @Override
- public void onActivate(BundleContext context, Map<Class<?>, Object> services) {
- ISessionManager sessionManager = getService(ISessionManager.class, services);
- IApplicationServerLookup serverLookup = getService(IApplicationServerLookup.class, services);
- appServerManager = getService(IApplicationServerManager.class, services);
- IDataTranslationService translationService = getService(IDataTranslationService.class, services);
- IOseeModelingService modeling = getService(IOseeModelingService.class, services);
- IOseeCachingService caching = getService(IOseeCachingService.class, services);
- IOseeDatabaseService databaseService = getService(IOseeDatabaseService.class, services);
- IOseeBranchService branchService = getService(IOseeBranchService.class, services);
- IBranchExchange branchExchangeService = getService(IBranchExchange.class, services);
- ISearchEngine search = getService(ISearchEngine.class, services);
- ISearchEngineTagger tagger = getService(ISearchEngineTagger.class, services);
- IAuthenticationManager authenticationManager = getService(IAuthenticationManager.class, services);
- IOseeModelFactoryService factoryService = getService(IOseeModelFactoryService.class, services);
- IResourceLocatorManager locatorManager = getService(IResourceLocatorManager.class, services);
- IResourceManager resourceManager = getService(IResourceManager.class, services);
-
- httpService = getService(HttpService.class, services);
- appServerManager = getService(IApplicationServerManager.class, services);
-
- register(new SystemManagerServlet(sessionManager), OseeServerContext.MANAGER_CONTEXT);
- register(new ResourceManagerServlet(sessionManager, locatorManager, resourceManager),
- OseeServerContext.RESOURCE_CONTEXT);
- register(new ArtifactFileServlet(locatorManager, resourceManager), OseeServerContext.PROCESS_CONTEXT);
- register(new ArtifactFileServlet(locatorManager, resourceManager), OseeServerContext.ARTIFACT_CONTEXT);
- register(new ArtifactFileServlet(locatorManager, resourceManager), "index");
- register(new BranchExchangeServlet(sessionManager, branchExchangeService, locatorManager, resourceManager),
- OseeServerContext.BRANCH_EXCHANGE_CONTEXT);
- register(new BranchManagerServlet(sessionManager, branchService, translationService),
- OseeServerContext.BRANCH_CONTEXT);
- register(new SearchEngineServlet(sessionManager, search, caching), OseeServerContext.SEARCH_CONTEXT);
- register(new SearchEngineTaggerServlet(sessionManager, tagger), OseeServerContext.SEARCH_TAGGING_CONTEXT);
- register(new ServerLookupServlet(serverLookup, appServerManager), OseeServerContext.LOOKUP_CONTEXT);
- register(new SessionManagementServlet(sessionManager, authenticationManager), OseeServerContext.SESSION_CONTEXT);
- register(new SessionClientLoopbackServlet(sessionManager), OseeServerContext.CLIENT_LOOPBACK_CONTEXT);
- register(new ClientInstallInfoServlet(), "osee/install/info");
- register(new OseeCacheServlet(sessionManager, translationService, caching, factoryService),
- OseeServerContext.CACHE_CONTEXT);
- register(new OseeModelServlet(sessionManager, translationService, modeling), OseeServerContext.OSEE_MODEL_CONTEXT);
- register(new UnsubscribeServlet(context, databaseService, caching), "osee/unsubscribe");
-
- register(new AtsServlet(locatorManager, resourceManager), "osee/ats");
- register(new ConfigurationServlet(appServerManager, translationService, databaseService, branchService),
- OseeServerContext.OSEE_CONFIGURE_CONTEXT);
- register(new DataServlet(locatorManager, resourceManager), "osee/data");
- }
-
- private void register(OseeHttpServlet servlet, String... contexts) {
- this.contexts.addAll(Arrays.asList(contexts));
- ServletUtil.register(httpService, appServerManager, servlet, contexts);
- }
-
- @Override
- public void onDeActivate() {
- if (httpService != null && appServerManager != null) {
- ServletUtil.unregister(httpService, appServerManager, contexts);
- }
- contexts.clear();
- }
-
-}
+/*******************************************************************************
+ * 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.manager.servlet.internal;
+
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+import org.eclipse.osee.framework.branch.management.IBranchExchange;
+import org.eclipse.osee.framework.branch.management.IOseeBranchService;
+import org.eclipse.osee.framework.core.data.OseeServerContext;
+import org.eclipse.osee.framework.core.message.IOseeModelingService;
+import org.eclipse.osee.framework.core.server.IApplicationServerLookup;
+import org.eclipse.osee.framework.core.server.IApplicationServerManager;
+import org.eclipse.osee.framework.core.server.IAuthenticationManager;
+import org.eclipse.osee.framework.core.server.ISessionManager;
+import org.eclipse.osee.framework.core.server.OseeHttpServlet;
+import org.eclipse.osee.framework.core.services.IOseeCachingService;
+import org.eclipse.osee.framework.core.services.IOseeModelFactoryService;
+import org.eclipse.osee.framework.core.translation.IDataTranslationService;
+import org.eclipse.osee.framework.core.util.AbstractTrackingHandler;
+import org.eclipse.osee.framework.database.IOseeDatabaseService;
+import org.eclipse.osee.framework.manager.servlet.ArtifactFileServlet;
+import org.eclipse.osee.framework.manager.servlet.AtsServlet;
+import org.eclipse.osee.framework.manager.servlet.BranchExchangeServlet;
+import org.eclipse.osee.framework.manager.servlet.BranchManagerServlet;
+import org.eclipse.osee.framework.manager.servlet.ClientInstallInfoServlet;
+import org.eclipse.osee.framework.manager.servlet.ConfigurationServlet;
+import org.eclipse.osee.framework.manager.servlet.DataServlet;
+import org.eclipse.osee.framework.manager.servlet.OseeCacheServlet;
+import org.eclipse.osee.framework.manager.servlet.OseeModelServlet;
+import org.eclipse.osee.framework.manager.servlet.ResourceManagerServlet;
+import org.eclipse.osee.framework.manager.servlet.SearchEngineServlet;
+import org.eclipse.osee.framework.manager.servlet.SearchEngineTaggerServlet;
+import org.eclipse.osee.framework.manager.servlet.ServerLookupServlet;
+import org.eclipse.osee.framework.manager.servlet.SessionClientLoopbackServlet;
+import org.eclipse.osee.framework.manager.servlet.SessionManagementServlet;
+import org.eclipse.osee.framework.manager.servlet.SystemManagerServlet;
+import org.eclipse.osee.framework.manager.servlet.UnsubscribeServlet;
+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.BundleContext;
+import org.osgi.service.http.HttpService;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public class ServletRegistrationHandler extends AbstractTrackingHandler {
+
+ private static final Class<?>[] SERVICE_DEPENDENCIES = new Class<?>[] {
+ //
+ ISessionManager.class, //
+ IApplicationServerLookup.class, //
+ IApplicationServerManager.class, //
+ IAuthenticationManager.class,//
+ IDataTranslationService.class, //
+ IOseeModelingService.class, //
+ IOseeCachingService.class,//
+ IOseeDatabaseService.class, //
+ IOseeBranchService.class, //
+ IBranchExchange.class, //
+ ISearchEngine.class,//
+ ISearchEngineTagger.class, //
+ IOseeModelFactoryService.class, //
+ IResourceLocatorManager.class,//
+ IResourceManager.class, //
+ HttpService.class, //
+ };
+
+ private final Set<String> contexts = new HashSet<String>();
+ private HttpService httpService;
+ private IApplicationServerManager appServerManager;
+
+ @Override
+ public Class<?>[] getDependencies() {
+ return SERVICE_DEPENDENCIES;
+ }
+
+ @Override
+ public void onActivate(BundleContext context, Map<Class<?>, Object> services) {
+ ISessionManager sessionManager = getService(ISessionManager.class, services);
+ IApplicationServerLookup serverLookup = getService(IApplicationServerLookup.class, services);
+ appServerManager = getService(IApplicationServerManager.class, services);
+ IDataTranslationService translationService = getService(IDataTranslationService.class, services);
+ IOseeModelingService modeling = getService(IOseeModelingService.class, services);
+ IOseeCachingService caching = getService(IOseeCachingService.class, services);
+ IOseeDatabaseService databaseService = getService(IOseeDatabaseService.class, services);
+ IOseeBranchService branchService = getService(IOseeBranchService.class, services);
+ IBranchExchange branchExchangeService = getService(IBranchExchange.class, services);
+ ISearchEngine search = getService(ISearchEngine.class, services);
+ ISearchEngineTagger tagger = getService(ISearchEngineTagger.class, services);
+ IAuthenticationManager authenticationManager = getService(IAuthenticationManager.class, services);
+ IOseeModelFactoryService factoryService = getService(IOseeModelFactoryService.class, services);
+ IResourceLocatorManager locatorManager = getService(IResourceLocatorManager.class, services);
+ IResourceManager resourceManager = getService(IResourceManager.class, services);
+
+ httpService = getService(HttpService.class, services);
+ appServerManager = getService(IApplicationServerManager.class, services);
+
+ register(new SystemManagerServlet(sessionManager), OseeServerContext.MANAGER_CONTEXT);
+ register(new ResourceManagerServlet(sessionManager, locatorManager, resourceManager),
+ OseeServerContext.RESOURCE_CONTEXT);
+ register(new ArtifactFileServlet(locatorManager, resourceManager), OseeServerContext.PROCESS_CONTEXT);
+ register(new ArtifactFileServlet(locatorManager, resourceManager), OseeServerContext.ARTIFACT_CONTEXT);
+ register(new ArtifactFileServlet(locatorManager, resourceManager), "index");
+ register(new BranchExchangeServlet(sessionManager, branchExchangeService, locatorManager, resourceManager),
+ OseeServerContext.BRANCH_EXCHANGE_CONTEXT);
+ register(new BranchManagerServlet(sessionManager, branchService, translationService),
+ OseeServerContext.BRANCH_CONTEXT);
+ register(new SearchEngineServlet(sessionManager, search, caching), OseeServerContext.SEARCH_CONTEXT);
+ register(new SearchEngineTaggerServlet(sessionManager, tagger), OseeServerContext.SEARCH_TAGGING_CONTEXT);
+ register(new ServerLookupServlet(serverLookup, appServerManager), OseeServerContext.LOOKUP_CONTEXT);
+ register(new SessionManagementServlet(sessionManager, authenticationManager), OseeServerContext.SESSION_CONTEXT);
+ register(new SessionClientLoopbackServlet(sessionManager), OseeServerContext.CLIENT_LOOPBACK_CONTEXT);
+ register(new ClientInstallInfoServlet(), "osee/install/info");
+ register(new OseeCacheServlet(sessionManager, translationService, caching, factoryService),
+ OseeServerContext.CACHE_CONTEXT);
+ register(new OseeModelServlet(sessionManager, translationService, modeling), OseeServerContext.OSEE_MODEL_CONTEXT);
+ register(new UnsubscribeServlet(context, databaseService, caching), "osee/unsubscribe");
+
+ register(new AtsServlet(locatorManager, resourceManager), "osee/ats");
+ register(new ConfigurationServlet(appServerManager, translationService, databaseService, branchService),
+ OseeServerContext.OSEE_CONFIGURE_CONTEXT);
+ register(new DataServlet(locatorManager, resourceManager), "osee/data");
+ }
+
+ private void register(OseeHttpServlet servlet, String... contexts) {
+ this.contexts.addAll(Arrays.asList(contexts));
+ ServletUtil.register(httpService, appServerManager, servlet, contexts);
+ }
+
+ @Override
+ public void onDeActivate() {
+ if (httpService != null && appServerManager != null) {
+ ServletUtil.unregister(httpService, appServerManager, contexts);
+ }
+ contexts.clear();
+ }
+
+}
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/internal/ServletUtil.java b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/internal/ServletUtil.java
index 8e7ec1e2e7e..3694ba2232b 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/internal/ServletUtil.java
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/src/org/eclipse/osee/framework/manager/servlet/internal/ServletUtil.java
@@ -1,51 +1,51 @@
-/*******************************************************************************
- * 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.manager.servlet.internal;
-
-import java.util.Collection;
-import org.eclipse.osee.framework.core.server.IApplicationServerManager;
-import org.eclipse.osee.framework.core.server.OseeHttpServlet;
-import org.osgi.service.http.HttpService;
-
-/**
- * @author Roberto E. Escobar
- */
-public final class ServletUtil {
-
- private ServletUtil() {
- }
-
- private static String normalizeContext(String contextName) {
- return !contextName.startsWith("/") ? "/" + contextName : contextName;
- }
-
- public static void register(HttpService httpService, IApplicationServerManager manager, OseeHttpServlet servlet, String... contexts) {
- try {
- for (String context : contexts) {
- String contextName = normalizeContext(context);
- httpService.registerServlet(contextName, servlet, null, null);
- manager.register(contextName, servlet);
- System.out.println(String.format("Registered servlet '%s'", contextName));
- }
- } catch (Exception ex) {
- throw new RuntimeException(ex);
- }
- }
-
- public static void unregister(HttpService httpService, IApplicationServerManager manager, Collection<String> contexts) {
- for (String context : contexts) {
- String contextName = normalizeContext(context);
- httpService.unregister(contextName);
- manager.unregister(contextName);
- System.out.println(String.format("De-registering servlet '%s'", contextName));
- }
- }
-}
+/*******************************************************************************
+ * 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.manager.servlet.internal;
+
+import java.util.Collection;
+import org.eclipse.osee.framework.core.server.IApplicationServerManager;
+import org.eclipse.osee.framework.core.server.OseeHttpServlet;
+import org.osgi.service.http.HttpService;
+
+/**
+ * @author Roberto E. Escobar
+ */
+public final class ServletUtil {
+
+ private ServletUtil() {
+ }
+
+ private static String normalizeContext(String contextName) {
+ return !contextName.startsWith("/") ? "/" + contextName : contextName;
+ }
+
+ public static void register(HttpService httpService, IApplicationServerManager manager, OseeHttpServlet servlet, String... contexts) {
+ try {
+ for (String context : contexts) {
+ String contextName = normalizeContext(context);
+ httpService.registerServlet(contextName, servlet, null, null);
+ manager.register(contextName, servlet);
+ System.out.println(String.format("Registered servlet '%s'", contextName));
+ }
+ } catch (Exception ex) {
+ throw new RuntimeException(ex);
+ }
+ }
+
+ public static void unregister(HttpService httpService, IApplicationServerManager manager, Collection<String> contexts) {
+ for (String context : contexts) {
+ String contextName = normalizeContext(context);
+ httpService.unregister(contextName);
+ manager.unregister(contextName);
+ System.out.println(String.format("De-registering servlet '%s'", contextName));
+ }
+ }
+}
diff --git a/plugins/org.eclipse.osee.framework.manager.servlet/templates/unsubscribeTemplate.html b/plugins/org.eclipse.osee.framework.manager.servlet/templates/unsubscribeTemplate.html
index 5d58f0d9f8c..3c3daa1e20c 100644
--- a/plugins/org.eclipse.osee.framework.manager.servlet/templates/unsubscribeTemplate.html
+++ b/plugins/org.eclipse.osee.framework.manager.servlet/templates/unsubscribeTemplate.html
@@ -1,32 +1,32 @@
-<html>
-<head>
-<title>OSEE Unsubscribe</title>
-<script type="text/javascript">
-
- function getHTTPObject() {
- if (window.XMLHttpRequest) { // for IE7+, Firefox, Chrome, Opera, Safari
- return new XMLHttpRequest();
- } // for IE6, IE5
- return new ActiveXObject("Microsoft.XMLHTTP");
- }
-
- function unsubscribe(url, groupId, userId) {
- var deleteStatus = document.getElementById('deleteStatus');
- deleteStatus.innerHTML = "Sending unsubscribe request...";
-
- var xmlhttp = getHTTPObject();
- xmlhttp.open("DELETE", url, false);
- xmlhttp.setRequestHeader("Content-Type", "application/xml;charset=utf-8");
- xmlhttp.send("<request><groupId>" + groupId + "</groupId><userId>"+userId+"</userId></request>");
-
- deleteStatus.innerHTML = "Status: " + xmlhttp.status + " " + xmlhttp.responseText;
- var link = document.getElementById("unsubscribeLink");
- link.parentNode.removeChild(link);
- }
-</script>
-</head>
-<body>
-<a id="unsubscribeLink" href="javascript:unsubscribe('%s','%s','%s');">Click here to confirm unsubscribe.</a>
-<p><em id="deleteStatus"></em></p>
-</body>
+<html>
+<head>
+<title>OSEE Unsubscribe</title>
+<script type="text/javascript">
+
+ function getHTTPObject() {
+ if (window.XMLHttpRequest) { // for IE7+, Firefox, Chrome, Opera, Safari
+ return new XMLHttpRequest();
+ } // for IE6, IE5
+ return new ActiveXObject("Microsoft.XMLHTTP");
+ }
+
+ function unsubscribe(url, groupId, userId) {
+ var deleteStatus = document.getElementById('deleteStatus');
+ deleteStatus.innerHTML = "Sending unsubscribe request...";
+
+ var xmlhttp = getHTTPObject();
+ xmlhttp.open("DELETE", url, false);
+ xmlhttp.setRequestHeader("Content-Type", "application/xml;charset=utf-8");
+ xmlhttp.send("<request><groupId>" + groupId + "</groupId><userId>"+userId+"</userId></request>");
+
+ deleteStatus.innerHTML = "Status: " + xmlhttp.status + " " + xmlhttp.responseText;
+ var link = document.getElementById("unsubscribeLink");
+ link.parentNode.removeChild(link);
+ }
+</script>
+</head>
+<body>
+<a id="unsubscribeLink" href="javascript:unsubscribe('%s','%s','%s');">Click here to confirm unsubscribe.</a>
+<p><em id="deleteStatus"></em></p>
+</body>
</html> \ No newline at end of file

Back to the top