Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web')
-rw-r--r--plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/OseeAppData.java82
-rw-r--r--plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/OseeFooter.java16
-rw-r--r--plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/OseeUiApplication.java53
-rw-r--r--plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/components/OseeArtifactNameLinkComponent.java22
-rw-r--r--plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/components/OseeRelationsComponent.java44
-rw-r--r--plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/components/OseeSearchResultsListComponent.java7
-rw-r--r--plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/search/OseeArtifactView.java33
-rw-r--r--plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/search/OseeSearchHomeView.java22
-rw-r--r--plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/search/OseeSearchResultsView.java18
9 files changed, 161 insertions, 136 deletions
diff --git a/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/OseeAppData.java b/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/OseeAppData.java
deleted file mode 100644
index 8f942c685d3..00000000000
--- a/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/OseeAppData.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 Boeing.
- * All rightsimport com.vaadin.Application;
-import com.vaadin.service.ApplicationContext.TransactionListener;
-he 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.display.view.web;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.eclipse.osee.display.api.search.SearchNavigator;
-import org.eclipse.osee.display.api.search.SearchPresenter;
-
-import com.vaadin.Application;
-import com.vaadin.terminal.gwt.server.HttpServletRequestListener;
-
-/**
- * @author Shawn F. Cook AppData contains thread-safe session-global data based
- * on Vaadin demonstation:
- * https://vaadin.com/book/-/page/advanced.global.html
- */
-@SuppressWarnings("serial")
-public class OseeAppData implements HttpServletRequestListener {
-
- protected final Application app; // For distinguishing between apps
- protected static ThreadLocal<OseeAppData> instance = new ThreadLocal<OseeAppData>();
-
- private final SearchNavigator navigator = createNavigator();
- private final SearchPresenter searchPresenter = createSearchPresenter();
-
- public OseeAppData(Application app) {
- this.app = app;
-
- // It's usable from now on in the current request
- instance.set(this);
- }
-
- protected SearchNavigator createNavigator() {
- return new OseeNavigator();
- }
-
- protected SearchPresenter createSearchPresenter() {
- return null;
- }
-
- public static SearchNavigator getNavigator() {
- return instance.get().navigator;
- }
-
- public static SearchPresenter getSearchPresenter() {
- return instance.get().searchPresenter;
- }
-
- // @return the current application instance
- public static OseeAppData getInstance() {
- return instance.get();
- }
-
- // Set the current application instance
- public static void setInstance(OseeAppData appdata) {
- instance.set(appdata);
- }
-
- @Override
- public void onRequestStart(HttpServletRequest request,
- HttpServletResponse response) {
- OseeAppData.setInstance(this);
- }
-
- @Override
- public void onRequestEnd(HttpServletRequest request,
- HttpServletResponse response) {
- instance.remove();
-
- }
-}
diff --git a/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/OseeFooter.java b/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/OseeFooter.java
index a4ac05a9ecb..c60277f3c22 100644
--- a/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/OseeFooter.java
+++ b/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/OseeFooter.java
@@ -1,7 +1,5 @@
package org.eclipse.osee.display.view.web;
-import com.vaadin.ui.Alignment;
-import com.vaadin.ui.Label;
import com.vaadin.ui.VerticalLayout;
@SuppressWarnings("serial")
@@ -19,13 +17,13 @@ public class OseeFooter extends VerticalLayout {
return;
}
- Label ll = new Label("Add Navigation Links Here");
- ll.setWidth(null);
- addComponent(ll);
- setComponentAlignment(ll, Alignment.MIDDLE_CENTER);
-
- Label summary = new Label(getApplicationInfo());
- addComponent(summary);
+ // Label ll = new Label("Add Navigation Links Here");
+ // ll.setWidth(null);
+ // addComponent(ll);
+ // setComponentAlignment(ll, Alignment.MIDDLE_CENTER);
+ //
+ // Label summary = new Label(getApplicationInfo());
+ // addComponent(summary);
populated = true;
}
diff --git a/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/OseeUiApplication.java b/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/OseeUiApplication.java
new file mode 100644
index 00000000000..d54b3c32b2a
--- /dev/null
+++ b/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/OseeUiApplication.java
@@ -0,0 +1,53 @@
+/*******************************************************************************
+ * Copyright (c) 2011 Boeing.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Boeing - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.osee.display.view.web;
+
+import org.eclipse.osee.display.api.search.SearchNavigator;
+import org.eclipse.osee.display.api.search.SearchPresenter;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.FrameworkUtil;
+import com.vaadin.Application;
+
+/**
+ * @author Shawn F. Cook
+ */
+public class OseeUiApplication extends Application {
+
+ protected final SearchNavigator navigator = createNavigator();
+ protected final SearchPresenter searchPresenter = createSearchPresenter();
+
+ @Override
+ public void init() {
+ setTheme("osee");
+ }
+
+ @Override
+ public String getVersion() {
+ Bundle bundle = FrameworkUtil.getBundle(this.getClass());
+ return bundle.getVersion().toString();
+ }
+
+ protected SearchNavigator createNavigator() {
+ return new OseeNavigator();
+ }
+
+ protected SearchPresenter createSearchPresenter() {
+ return null;
+ }
+
+ public SearchNavigator getNavigator() {
+ return navigator;
+ }
+
+ public SearchPresenter getSearchPresenter() {
+ return searchPresenter;
+ }
+}
diff --git a/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/components/OseeArtifactNameLinkComponent.java b/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/components/OseeArtifactNameLinkComponent.java
index b3136bf0569..c6ab3f7c793 100644
--- a/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/components/OseeArtifactNameLinkComponent.java
+++ b/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/components/OseeArtifactNameLinkComponent.java
@@ -14,7 +14,7 @@ import org.eclipse.osee.display.api.data.WebArtifact;
import org.eclipse.osee.display.api.search.SearchNavigator;
import org.eclipse.osee.display.api.search.SearchPresenter;
import org.eclipse.osee.display.view.web.CssConstants;
-import org.eclipse.osee.display.view.web.OseeAppData;
+import org.eclipse.osee.display.view.web.OseeUiApplication;
import com.vaadin.event.LayoutEvents.LayoutClickEvent;
import com.vaadin.event.LayoutEvents.LayoutClickListener;
import com.vaadin.ui.HorizontalLayout;
@@ -26,13 +26,29 @@ import com.vaadin.ui.Link;
@SuppressWarnings("serial")
public class OseeArtifactNameLinkComponent extends HorizontalLayout {
- private final SearchPresenter searchPresenter = OseeAppData.getSearchPresenter();
- private final SearchNavigator navigator = OseeAppData.getNavigator();
+ private boolean populated = false;
+ private SearchPresenter searchPresenter = null;
+ private SearchNavigator navigator = null;
public OseeArtifactNameLinkComponent(WebArtifact artifact) {
this(artifact, CssConstants.OSEE_SEARCHRESULT_ARTNAME);
}
+ @Override
+ public void attach() {
+ if (!populated) {
+ super.attach();
+ try {
+ OseeUiApplication app = (OseeUiApplication) this.getApplication();
+ searchPresenter = app.getSearchPresenter();
+ navigator = app.getNavigator();
+ } catch (Exception e) {
+ System.out.println("OseeArtifactNameLinkComponent.attach - CRITICAL ERROR: (OseeUiApplication) this.getApplication() threw an exception.");
+ }
+ }
+ populated = true;
+ }
+
public OseeArtifactNameLinkComponent(final WebArtifact artifact, String styleName) {
super();
diff --git a/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/components/OseeRelationsComponent.java b/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/components/OseeRelationsComponent.java
index 92053624bb3..018a7902a7b 100644
--- a/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/components/OseeRelationsComponent.java
+++ b/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/components/OseeRelationsComponent.java
@@ -15,7 +15,7 @@ import org.eclipse.osee.display.api.data.WebArtifact;
import org.eclipse.osee.display.api.data.WebId;
import org.eclipse.osee.display.api.search.SearchNavigator;
import org.eclipse.osee.display.api.search.SearchPresenter;
-import org.eclipse.osee.display.view.web.OseeAppData;
+import org.eclipse.osee.display.view.web.OseeUiApplication;
import com.vaadin.data.Property;
import com.vaadin.data.Property.ValueChangeEvent;
import com.vaadin.ui.HorizontalLayout;
@@ -29,13 +29,30 @@ import com.vaadin.ui.VerticalLayout;
@SuppressWarnings("serial")
public class OseeRelationsComponent extends VerticalLayout implements RelationComponent {
+ private boolean populated = false;
private final ListSelect relationTypesListSelect = new ListSelect("Relation Types:");
private final ListSelect relationsListSelect = new ListSelect("Relations:");
- SearchPresenter searchPresenter = OseeAppData.getSearchPresenter();
- SearchNavigator navigator = OseeAppData.getNavigator();
+ private SearchPresenter searchPresenter = null;
+ private SearchNavigator navigator = null;
private boolean lockRelTypesListener = false;
private boolean lockRelsListener = false;
+ @Override
+ public void attach() {
+ if (!populated) {
+ try {
+ OseeUiApplication app = (OseeUiApplication) this.getApplication();
+ searchPresenter = app.getSearchPresenter();
+ navigator = app.getNavigator();
+ } catch (Exception e) {
+ System.out.println("OseeRelationsComponent.attach - CRITICAL ERROR: (OseeUiApplication) this.getApplication() threw an exception.");
+ }
+ }
+ populated = true;
+
+ createLayout();
+ }
+
private void createLayout() {
removeAllComponents();
@@ -64,8 +81,14 @@ public class OseeRelationsComponent extends VerticalLayout implements RelationCo
@Override
public void valueChange(ValueChangeEvent event) {
if (!lockRelTypesListener) {
- WebId relationType = (WebId) relationTypesListSelect.getValue();
- searchPresenter.selectRelationType(relationType, OseeRelationsComponent.this);
+ try {
+ WebId relationType = (WebId) relationTypesListSelect.getValue();
+ if (relationType != null) {
+ searchPresenter.selectRelationType(relationType, OseeRelationsComponent.this);
+ }
+ } catch (Exception e) {
+ System.out.println("OseeRelationsComponent.createLayout - CRITICAL ERROR: (WebArtifact) relationsListSelect.getValue() threw an exception.");
+ }
}
}
});
@@ -74,8 +97,14 @@ public class OseeRelationsComponent extends VerticalLayout implements RelationCo
@Override
public void valueChange(ValueChangeEvent event) {
if (!lockRelsListener) {
- WebArtifact artifact = (WebArtifact) relationsListSelect.getValue();
- searchPresenter.selectArtifact(artifact, navigator);
+ try {
+ WebArtifact artifact = (WebArtifact) relationsListSelect.getValue();
+ if (artifact != null) {
+ searchPresenter.selectArtifact(artifact, navigator);
+ }
+ } catch (Exception e) {
+ System.out.println("OseeRelationsComponent.createLayout - CRITICAL ERROR: (WebArtifact) relationsListSelect.getValue() threw an exception.");
+ }
}
}
});
@@ -140,5 +169,6 @@ public class OseeRelationsComponent extends VerticalLayout implements RelationCo
@Override
public void setErrorMessage(String message) {
+ //TODO:
}
}
diff --git a/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/components/OseeSearchResultsListComponent.java b/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/components/OseeSearchResultsListComponent.java
index 8a1d3e1f073..6f8a78b5354 100644
--- a/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/components/OseeSearchResultsListComponent.java
+++ b/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/components/OseeSearchResultsListComponent.java
@@ -17,6 +17,7 @@ import java.util.Iterator;
import org.eclipse.osee.display.api.components.SearchResultComponent;
import org.eclipse.osee.display.api.components.SearchResultsListComponent;
import org.eclipse.osee.display.view.web.CssConstants;
+import com.vaadin.Application;
import com.vaadin.ui.Component;
import com.vaadin.ui.HorizontalLayout;
import com.vaadin.ui.Label;
@@ -31,6 +32,12 @@ public class OseeSearchResultsListComponent extends VerticalLayout implements Se
VerticalLayout bottomSpacer = new VerticalLayout();
HorizontalLayout manySearchResultsHorizLayout = new HorizontalLayout();
+ @Override
+ public void attach() {
+ super.attach();
+ Application app = this.getApplication();
+ }
+
public OseeSearchResultsListComponent() {
addComponent(manySearchResultsHorizLayout);
Label spacer2 = new Label("");
diff --git a/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/search/OseeArtifactView.java b/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/search/OseeArtifactView.java
index 4bf072f5cbd..d096e8a2df3 100644
--- a/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/search/OseeArtifactView.java
+++ b/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/search/OseeArtifactView.java
@@ -13,7 +13,7 @@ package org.eclipse.osee.display.view.web.search;
import org.eclipse.osee.display.api.components.ArtifactHeaderComponent;
import org.eclipse.osee.display.api.data.WebArtifact;
import org.eclipse.osee.display.api.search.SearchPresenter;
-import org.eclipse.osee.display.view.web.OseeAppData;
+import org.eclipse.osee.display.view.web.OseeUiApplication;
import org.eclipse.osee.display.view.web.components.OseeArtifactNameLinkComponent;
import org.eclipse.osee.display.view.web.components.OseeAttributeComponent;
import org.eclipse.osee.display.view.web.components.OseeBreadcrumbComponent;
@@ -32,14 +32,20 @@ import com.vaadin.ui.VerticalLayout;
@SuppressWarnings("serial")
public class OseeArtifactView extends CustomComponent implements Navigator.View, ArtifactHeaderComponent {
- protected SearchPresenter searchPresenter = OseeAppData.getSearchPresenter();
+ private boolean populated = false;
+ protected SearchPresenter searchPresenter = null;
protected OseeSearchHeaderComponent oseeSearchHeader = getOseeSearchHeader();
protected OseeRelationsComponent relationsComp = new OseeRelationsComponent();
protected OseeAttributeComponent attributeComp = new OseeAttributeComponent();
private final OseeBreadcrumbComponent breadcrumbComp = new OseeBreadcrumbComponent(null);
private WebArtifact artifact;
- private void initLayout() {
+ @Override
+ public void attach() {
+ //TODO: remove?
+ }
+
+ private void createLayout() {
setSizeFull();
HorizontalLayout leftMarginAndBody = new HorizontalLayout();
@@ -85,12 +91,25 @@ public class OseeArtifactView extends CustomComponent implements Navigator.View,
@Override
public void init(Navigator navigator, Application application) {
- initLayout();
+ //Do nothing.
}
@Override
public void navigateTo(String requestedDataId) {
- searchPresenter.initArtifactPage(requestedDataId, oseeSearchHeader, this, relationsComp, attributeComp);
+ if (!populated) {
+ try {
+ OseeUiApplication app = (OseeUiApplication) this.getApplication();
+ searchPresenter = app.getSearchPresenter();
+ } catch (Exception e) {
+ System.out.println("OseeArtifactView.attach - CRITICAL ERROR: (OseeUiApplication) this.getApplication() threw an exception.");
+ }
+ }
+ populated = true;
+
+ if (searchPresenter != null) {
+ searchPresenter.initArtifactPage(requestedDataId, oseeSearchHeader, this, relationsComp, attributeComp);
+ }
+ createLayout();
}
@Override
@@ -105,13 +124,13 @@ public class OseeArtifactView extends CustomComponent implements Navigator.View,
@Override
public void clearAll() {
this.artifact = null;
- initLayout();
+ createLayout();
}
@Override
public void setArtifact(WebArtifact artifact) {
this.artifact = artifact;
- initLayout();
+ createLayout();
}
@Override
diff --git a/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/search/OseeSearchHomeView.java b/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/search/OseeSearchHomeView.java
index 145eba8e0c3..64a32405dd9 100644
--- a/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/search/OseeSearchHomeView.java
+++ b/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/search/OseeSearchHomeView.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2004, 2007 Boeing.
+ * Copyright (c) 2011 Boeing.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -22,16 +22,9 @@ import com.vaadin.ui.VerticalLayout;
@SuppressWarnings("serial")
public class OseeSearchHomeView extends CustomComponent implements Navigator.View {
- protected OseeSearchHeaderComponent oseeSearchHeader;
-
- public OseeSearchHomeView() {
- oseeSearchHeader = getOseeSearchHeader();
- }
-
- @Override
- public void init(Navigator navigator, Application application) {
- initComponents();
+ protected final OseeSearchHeaderComponent oseeSearchHeader = getOseeSearchHeader();
+ protected void createLayout() {
this.setSizeFull();
final VerticalLayout vertLayout = new VerticalLayout();
@@ -43,10 +36,6 @@ public class OseeSearchHomeView extends CustomComponent implements Navigator.Vie
setCompositionRoot(vertLayout);
}
- protected void initComponents() {
- //Do nothing
- }
-
protected OseeSearchHeaderComponent getOseeSearchHeader() {
return new OseeSearchHeaderComponent();
}
@@ -60,4 +49,9 @@ public class OseeSearchHomeView extends CustomComponent implements Navigator.Vie
public String getWarningForNavigatingFrom() {
return null;
}
+
+ @Override
+ public void init(Navigator navigator, Application application) {
+ //Do nothing.
+ }
}
diff --git a/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/search/OseeSearchResultsView.java b/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/search/OseeSearchResultsView.java
index 06d5947139d..807604b3fc4 100644
--- a/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/search/OseeSearchResultsView.java
+++ b/plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/search/OseeSearchResultsView.java
@@ -25,15 +25,10 @@ import com.vaadin.ui.VerticalLayout;
@SuppressWarnings("serial")
public class OseeSearchResultsView extends CustomComponent implements Navigator.View {
- protected OseeSearchHeaderComponent oseeSearchHeader;
- protected OseeSearchResultsListComponent searchResultsListComponent;
+ protected final OseeSearchHeaderComponent oseeSearchHeader = getOseeSearchHeader();
+ protected final OseeSearchResultsListComponent searchResultsListComponent = new OseeSearchResultsListComponent();
- public OseeSearchResultsView() {
- oseeSearchHeader = getOseeSearchHeader();
- searchResultsListComponent = new OseeSearchResultsListComponent();
- }
-
- private void initLayout() {
+ protected void createLayout() {
setSizeFull();
HorizontalLayout leftMarginAndBody = new HorizontalLayout();
@@ -65,8 +60,7 @@ public class OseeSearchResultsView extends CustomComponent implements Navigator.
@Override
public void init(Navigator navigator, Application application) {
- initComponents();
- initLayout();
+ //Do nothing.
}
protected OseeSearchHeaderComponent getOseeSearchHeader() {
@@ -83,8 +77,4 @@ public class OseeSearchResultsView extends CustomComponent implements Navigator.
return null;
}
- protected void initComponents() {
- //Do nothing
- }
-
}

Back to the top