From ca276f55d26d5256716added88e99cdcdd55d750 Mon Sep 17 00:00:00 2001 From: izabel <izabel> Date: Tue, 25 Nov 2008 12:38:07 +0000 Subject: [PATCH] [LMS-660] integrate sample registration with plugin architecture SVN: 9096 --- .../web/client/application/ISampleViewClientPlugin.java | 8 ++++++++ .../client/application/ui/SampleRegistrationPanel.java | 6 ++++-- .../web/client/application/ClientPluginFactory.java | 9 +++++++++ .../web/client/application/ClientPluginFactory.java | 9 +++++++++ 4 files changed, 30 insertions(+), 2 deletions(-) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ISampleViewClientPlugin.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ISampleViewClientPlugin.java index 2c0bb47b744..625d329247a 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ISampleViewClientPlugin.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ISampleViewClientPlugin.java @@ -16,7 +16,10 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application; +import com.google.gwt.user.client.ui.Widget; + import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.ITabItem; +import ch.systemsx.cisd.openbis.generic.client.web.client.dto.SampleType; /** * The sample view plugin. @@ -30,4 +33,9 @@ public interface ISampleViewClientPlugin * Shows a detailed view of the sample identifier by given <var>sampleIdentifier</var>. */ public ITabItem createSampleViewer(final String sampleIdentifier); + + /** + * Shows a registration form for samples of type <var>sampleTypeCode</var>. + */ + public Widget createRegistrationClientForSampleType(SampleType sampleTypeCode); } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/SampleRegistrationPanel.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/SampleRegistrationPanel.java index 739ee11fa49..4256cb34a43 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/SampleRegistrationPanel.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/SampleRegistrationPanel.java @@ -29,7 +29,6 @@ import com.google.gwt.user.client.Element; import ch.systemsx.cisd.openbis.generic.client.web.client.application.GenericViewContext; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.sample_browser.SampleTypeSelectionWidget; import ch.systemsx.cisd.openbis.generic.client.web.client.dto.SampleType; -import ch.systemsx.cisd.openbis.plugin.generic.client.web.client.application.sample.GenericSampleRegistrationForm; /** * @author Izabela Adamczyk @@ -55,7 +54,10 @@ public class SampleRegistrationPanel extends ContentPanel if (selectedType != null) { removeAll(); - add(new GenericSampleRegistrationForm(viewContext, selectedType)); + add(viewContext.getClientPluginFactoryProvider().getClientPluginFactory( + selectedType.getCode()).createViewClientForSampleType( + selectedType.getCode()).createRegistrationClientForSampleType( + selectedType)); layout(); } } 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 239b8c3ccc9..69c900b33d3 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 @@ -18,6 +18,8 @@ package ch.systemsx.cisd.openbis.plugin.generic.client.web.client.application; import java.util.Set; +import com.google.gwt.user.client.ui.Widget; + import ch.systemsx.cisd.openbis.generic.client.web.client.IGenericClientServiceAsync; import ch.systemsx.cisd.openbis.generic.client.web.client.application.AbstractClientPluginFactory; import ch.systemsx.cisd.openbis.generic.client.web.client.application.IClientPluginFactory; @@ -25,6 +27,8 @@ import ch.systemsx.cisd.openbis.generic.client.web.client.application.ISampleVie import ch.systemsx.cisd.openbis.generic.client.web.client.application.IViewContext; 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.dto.SampleType; +import ch.systemsx.cisd.openbis.plugin.generic.client.web.client.application.sample.GenericSampleRegistrationForm; import ch.systemsx.cisd.openbis.plugin.generic.client.web.client.application.sample.GenericSampleViewer; /** @@ -101,5 +105,10 @@ public final class ClientPluginFactory extends } }; } + + public Widget createRegistrationClientForSampleType(SampleType sampleType) + { + return new GenericSampleRegistrationForm(getViewContext(), sampleType); + } } } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/ClientPluginFactory.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/ClientPluginFactory.java index 54e8616feff..5d53d86496f 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/ClientPluginFactory.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/ClientPluginFactory.java @@ -19,13 +19,17 @@ package ch.systemsx.cisd.openbis.plugin.screening.client.web.client.application; import java.util.Collections; import java.util.Set; +import com.google.gwt.user.client.ui.Widget; + import ch.systemsx.cisd.openbis.generic.client.web.client.IGenericClientServiceAsync; import ch.systemsx.cisd.openbis.generic.client.web.client.application.AbstractClientPluginFactory; import ch.systemsx.cisd.openbis.generic.client.web.client.application.IClientPluginFactory; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ISampleViewClientPlugin; import ch.systemsx.cisd.openbis.generic.client.web.client.application.IViewContext; 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.dto.SampleType; import ch.systemsx.cisd.openbis.plugin.generic.client.web.client.application.SampleTypeCode; import ch.systemsx.cisd.openbis.plugin.screening.client.web.client.IScreeningClientServiceAsync; @@ -105,5 +109,10 @@ public final class ClientPluginFactory extends } }; } + + public Widget createRegistrationClientForSampleType(SampleType sampleTypeCode) + { + return new DummyComponent(); + } } } -- GitLab