From cdaffeac24b339fc7d8ee01b17da53f101c038f8 Mon Sep 17 00:00:00 2001
From: buczekp <buczekp>
Date: Tue, 20 Apr 2010 07:42:58 +0000
Subject: [PATCH] [LMS-1489] fixed links in simple search results table

SVN: 15524
---
 .../client/application/MatchingEntitiesPanel.java    |  8 +++++---
 .../application/plugin/ClientPluginAdapter.java      |  5 +++--
 .../web/client/application/plugin/IClientPlugin.java | 10 ++++++----
 .../application/ui/sample/SampleBrowserGrid.java     |  3 +--
 .../web/client/application/ClientPluginFactory.java  |  8 ++++----
 .../web/client/application/ClientPluginFactory.java  | 12 ++++++------
 .../experiment/ExperimentDataSetBrowser.java         |  4 ++--
 .../experiment/ExperimentSamplesSection.java         |  6 +++---
 .../experiment/GenericExperimentViewer.java          |  8 ++++----
 9 files changed, 34 insertions(+), 30 deletions(-)

diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/MatchingEntitiesPanel.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/MatchingEntitiesPanel.java
index b1775852a4a..720b078635f 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/MatchingEntitiesPanel.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/MatchingEntitiesPanel.java
@@ -149,17 +149,19 @@ final class MatchingEntitiesPanel extends AbstractBrowserGrid<MatchingEntity, Ma
     }
 
     @Override
-    protected void showEntityViewer(MatchingEntity matchingEntity, boolean editMode, boolean inBackground)
+    protected void showEntityViewer(MatchingEntity matchingEntity, boolean editMode,
+            boolean inBackground)
     {
         final EntityKind entityKind = matchingEntity.getEntityKind();
         BasicEntityType entityType = matchingEntity.getEntityType();
         final IClientPluginFactory clientPluginFactory =
                 viewContext.getClientPluginFactoryProvider().getClientPluginFactory(entityKind,
                         entityType);
-        final IClientPlugin<BasicEntityType, IIdentifiable> createClientPlugin =
+        // NOTE: createEntityViewer is the only allowed operation for MatchingEntityPanel
+        final IClientPlugin<BasicEntityType, IIdentifiable> clientPlugin =
                 clientPluginFactory.createClientPlugin(entityKind);
         final AbstractTabItemFactory tabView =
-                createClientPlugin.createEntityViewer(entityType, matchingEntity.asIdentifiable());
+                clientPlugin.createEntityViewer(entityType, matchingEntity.asIdentifiable());
         tabView.setInBackground(inBackground);
         DispatcherHelper.dispatchNaviEvent(tabView);
     }
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/plugin/ClientPluginAdapter.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/plugin/ClientPluginAdapter.java
index e7b729be8f4..c853592f95c 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/plugin/ClientPluginAdapter.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/plugin/ClientPluginAdapter.java
@@ -18,8 +18,8 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application.plugin;
 
 import com.google.gwt.user.client.ui.Widget;
 
-import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.DatabaseModificationAwareWidget;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.AbstractTabItemFactory;
+import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.DatabaseModificationAwareWidget;
 import ch.systemsx.cisd.openbis.generic.shared.basic.IIdentifiable;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.BasicEntityType;
 
@@ -47,7 +47,8 @@ public class ClientPluginAdapter<E extends BasicEntityType, I extends IIdentifia
         throw new UnsupportedOperationException("Not yet implemented.");
     }
 
-    public AbstractTabItemFactory createEntityViewer(final E entityType, final I identifiable)
+    public AbstractTabItemFactory createEntityViewer(final BasicEntityType entityType,
+            final IIdentifiable identifiable)
     {
         throw new UnsupportedOperationException("Not yet implemented.");
     }
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/plugin/IClientPlugin.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/plugin/IClientPlugin.java
index cbc5a2b6271..d310dbbf114 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/plugin/IClientPlugin.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/plugin/IClientPlugin.java
@@ -18,8 +18,8 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application.plugin;
 
 import com.google.gwt.user.client.ui.Widget;
 
-import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.DatabaseModificationAwareWidget;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.AbstractTabItemFactory;
+import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.DatabaseModificationAwareWidget;
 import ch.systemsx.cisd.openbis.generic.shared.basic.IIdentifiable;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.BasicEntityType;
 
@@ -40,8 +40,10 @@ public interface IClientPlugin<T extends BasicEntityType, I extends IIdentifiabl
     /**
      * Shows a detailed view of the entity specified by its <var>identifier</var>.
      */
-    public AbstractTabItemFactory createEntityViewer(final T entityType, final I identifiable);
-
+    // NOTE: BasicEntityType is used here to allow viewing entities from MatchingEntitiesPanel
+    public AbstractTabItemFactory createEntityViewer(final BasicEntityType entityType,
+            final IIdentifiable identifiable);
+            
     /**
      * Shows a registration form for entities of given <var>entityType</var>.
      */
@@ -58,7 +60,7 @@ public interface IClientPlugin<T extends BasicEntityType, I extends IIdentifiabl
     public Widget createBatchUpdateForEntityType(final T entityType);
 
     /**
-     * Shows a editor of the specified entity..
+     * Shows a editor of the specified entity.
      */
     public AbstractTabItemFactory createEntityEditor(final T entityType, final I identifiable);
 }
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/SampleBrowserGrid.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/SampleBrowserGrid.java
index d6adf0de608..37787102587 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/SampleBrowserGrid.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/sample/SampleBrowserGrid.java
@@ -70,7 +70,6 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.dto.BasicEntityType;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.EntityKind;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.EntityType;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExperimentType;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ListSampleCriteria;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.PropertyType;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Sample;
@@ -163,7 +162,7 @@ public class SampleBrowserGrid extends
 
     public static IDisposableComponent createGridForExperimentSamples(
             final IViewContext<ICommonClientServiceAsync> viewContext, final TechId experimentId,
-            final String gridId, final ExperimentType experimentType)
+            final String gridId, final BasicEntityType experimentType)
     {
         final ListSampleDisplayCriteria criteria =
                 ListSampleDisplayCriteria.createForExperiment(experimentId);
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/demo/client/web/client/application/ClientPluginFactory.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/demo/client/web/client/application/ClientPluginFactory.java
index b431b59b2f1..fd290536627 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/demo/client/web/client/application/ClientPluginFactory.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/demo/client/web/client/application/ClientPluginFactory.java
@@ -25,11 +25,11 @@ import com.google.gwt.user.client.ui.Widget;
 import ch.systemsx.cisd.openbis.generic.client.web.client.ICommonClientServiceAsync;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.AbstractClientPluginFactory;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.IViewContext;
+import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.AbstractTabItemFactory;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.DatabaseModificationAwareWidget;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.DefaultTabItem;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.DummyComponent;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.ITabItem;
-import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.AbstractTabItemFactory;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.help.HelpPageIdentifier;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.help.HelpPageIdentifier.HelpPageAction;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.help.HelpPageIdentifier.HelpPageDomain;
@@ -112,7 +112,7 @@ public final class ClientPluginFactory extends AbstractClientPluginFactory<DemoV
         // IViewClientPlugin
         //
 
-        public final AbstractTabItemFactory createEntityViewer(final SampleType sampleType,
+        public final AbstractTabItemFactory createEntityViewer(final BasicEntityType sampleType,
                 final IIdentifiable identifiable)
         {
             final TechId sampleId = TechId.create(identifiable);
@@ -196,8 +196,8 @@ public final class ClientPluginFactory extends AbstractClientPluginFactory<DemoV
         //
 
         @Override
-        public final AbstractTabItemFactory createEntityViewer(final ExperimentType experimentType,
-                final IIdentifiable identifiable)
+        public final AbstractTabItemFactory createEntityViewer(
+                final BasicEntityType experimentType, final IIdentifiable identifiable)
         {
             return new AbstractTabItemFactory()
                 {
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/ClientPluginFactory.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/ClientPluginFactory.java
index af06b82b93f..aa8b8618ae4 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/ClientPluginFactory.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/ClientPluginFactory.java
@@ -24,11 +24,11 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.ICommonClientServiceAs
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.AbstractClientPluginFactory;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.Dict;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.IViewContext;
+import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.AbstractTabItemFactory;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.DatabaseModificationAwareComponent;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.DatabaseModificationAwareWidget;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.DefaultTabItem;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.ITabItem;
-import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.AbstractTabItemFactory;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.help.HelpPageIdentifier;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.help.HelpPageIdentifier.HelpPageAction;
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.help.HelpPageIdentifier.HelpPageDomain;
@@ -139,7 +139,7 @@ public final class ClientPluginFactory extends AbstractClientPluginFactory<Gener
         // IViewClientPlugin
         //
 
-        public AbstractTabItemFactory createEntityViewer(final SampleType sampleType,
+        public AbstractTabItemFactory createEntityViewer(final BasicEntityType sampleType,
                 final IIdentifiable identifiable)
         {
             return new AbstractTabItemFactory()
@@ -226,7 +226,7 @@ public final class ClientPluginFactory extends AbstractClientPluginFactory<Gener
         }
 
         @Override
-        public final AbstractTabItemFactory createEntityViewer(final MaterialType materialType,
+        public final AbstractTabItemFactory createEntityViewer(final BasicEntityType materialType,
                 final IIdentifiable identifiable)
         {
             final TechId techId = TechId.create(identifiable);
@@ -295,8 +295,8 @@ public final class ClientPluginFactory extends AbstractClientPluginFactory<Gener
         //
 
         @Override
-        public final AbstractTabItemFactory createEntityViewer(final ExperimentType experimentType,
-                final IIdentifiable experimentId)
+        public final AbstractTabItemFactory createEntityViewer(
+                final BasicEntityType experimentType, final IIdentifiable experimentId)
         {
             return new AbstractTabItemFactory()
                 {
@@ -370,7 +370,7 @@ public final class ClientPluginFactory extends AbstractClientPluginFactory<Gener
     {
 
         @Override
-        public final AbstractTabItemFactory createEntityViewer(final DataSetType dataSetType,
+        public final AbstractTabItemFactory createEntityViewer(final BasicEntityType dataSetType,
                 final IIdentifiable identifiable)
         {
             return new AbstractTabItemFactory()
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/ExperimentDataSetBrowser.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/ExperimentDataSetBrowser.java
index c07bf8d401b..0edcbf373b6 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/ExperimentDataSetBrowser.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/ExperimentDataSetBrowser.java
@@ -26,7 +26,7 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.ID
 import ch.systemsx.cisd.openbis.generic.client.web.client.dto.DefaultResultSetConfig;
 import ch.systemsx.cisd.openbis.generic.client.web.client.dto.ResultSetWithEntityTypes;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExperimentType;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.BasicEntityType;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExternalData;
 
 /**
@@ -39,7 +39,7 @@ public class ExperimentDataSetBrowser extends AbstractExternalDataGrid
     public static final String ID_PREFIX = GenericConstants.ID_PREFIX + PREFIX;
 
     static IDisposableComponent create(IViewContext<?> viewContext, TechId experimentId,
-            final ExperimentType experimentType)
+            final BasicEntityType experimentType)
     {
         IViewContext<ICommonClientServiceAsync> commonViewContext =
                 viewContext.getCommonViewContext();
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/ExperimentSamplesSection.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/ExperimentSamplesSection.java
index 0c7001a1d3c..1da1d76e815 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/ExperimentSamplesSection.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/ExperimentSamplesSection.java
@@ -24,7 +24,7 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.grid.ID
 import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.sample.SampleBrowserGrid;
 import ch.systemsx.cisd.openbis.generic.shared.basic.IIdentifiable;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExperimentType;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.BasicEntityType;
 
 /**
  * {@link SingleSectionPanel} containing experiment samples.
@@ -37,11 +37,11 @@ public class ExperimentSamplesSection extends DisposableSectionPanel
 
     public static final String ID_PREFIX = GenericConstants.ID_PREFIX + PREFIX;
 
-    private final ExperimentType experimentType;
+    private final BasicEntityType experimentType;
 
     private final TechId experimentId;
 
-    public ExperimentSamplesSection(IViewContext<?> viewContext, ExperimentType experimentType,
+    public ExperimentSamplesSection(IViewContext<?> viewContext, BasicEntityType experimentType,
             IIdentifiable experimentId)
     {
         super("Samples", viewContext);
diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/GenericExperimentViewer.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/GenericExperimentViewer.java
index a8db7a761ee..a39b96a5c32 100644
--- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/GenericExperimentViewer.java
+++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/client/application/experiment/GenericExperimentViewer.java
@@ -45,9 +45,9 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.IAttachmentHolder;
 import ch.systemsx.cisd.openbis.generic.shared.basic.IIdentifiable;
 import ch.systemsx.cisd.openbis.generic.shared.basic.TechId;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.AttachmentHolderKind;
+import ch.systemsx.cisd.openbis.generic.shared.basic.dto.BasicEntityType;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DatabaseModificationKind;
 import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Experiment;
-import ch.systemsx.cisd.openbis.generic.shared.basic.dto.ExperimentType;
 import ch.systemsx.cisd.openbis.plugin.generic.client.web.client.IGenericClientServiceAsync;
 
 /**
@@ -68,7 +68,7 @@ public class GenericExperimentViewer extends AbstractViewer<Experiment> implemen
 
     protected final IIdentifiable experimentId;
 
-    protected final ExperimentType experimentType;
+    protected final BasicEntityType experimentType;
 
     private ExperimentPropertiesPanel propertiesPanelOrNull;
 
@@ -76,7 +76,7 @@ public class GenericExperimentViewer extends AbstractViewer<Experiment> implemen
 
     public static DatabaseModificationAwareComponent create(
             final IViewContext<IGenericClientServiceAsync> viewContext,
-            final ExperimentType experimentType, final IIdentifiable identifiable)
+            final BasicEntityType experimentType, final IIdentifiable identifiable)
     {
         GenericExperimentViewer viewer =
                 new GenericExperimentViewer(viewContext, experimentType, identifiable);
@@ -84,7 +84,7 @@ public class GenericExperimentViewer extends AbstractViewer<Experiment> implemen
     }
 
     protected GenericExperimentViewer(final IViewContext<IGenericClientServiceAsync> viewContext,
-            final ExperimentType experimentType, final IIdentifiable experimentId)
+            final BasicEntityType experimentType, final IIdentifiable experimentId)
     {
         super(viewContext, createId(experimentId));
 
-- 
GitLab