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/components/OseeRelationsComponent.java')
-rw-r--r--plugins/org.eclipse.osee.display.view.web/src/org/eclipse/osee/display/view/web/components/OseeRelationsComponent.java44
1 files changed, 37 insertions, 7 deletions
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:
}
}

Back to the top