From c4c8c68b840d81f878784c60dffe48a3a75710f0 Mon Sep 17 00:00:00 2001 From: felmer <felmer> Date: Tue, 26 Jan 2010 09:58:47 +0000 Subject: [PATCH] SE-192 remove debug print statements, change GenericExperimentViewer to allow additional sections SVN: 14441 --- .../application/SingleSectionPanel.java | 4 +- .../framework/AbstractColumnDefinition.java | 6 --- .../application/ui/widget/SectionsPanel.java | 2 - .../experiment/GenericExperimentViewer.java | 54 ++++++++++++++----- .../web/server/GenericClientService.java | 4 +- 5 files changed, 44 insertions(+), 26 deletions(-) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/SingleSectionPanel.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/SingleSectionPanel.java index e943002b04c..ba3ad606504 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/SingleSectionPanel.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/SingleSectionPanel.java @@ -19,7 +19,7 @@ package ch.systemsx.cisd.openbis.generic.client.web.client.application; import com.extjs.gxt.ui.client.widget.ContentPanel; import com.extjs.gxt.ui.client.widget.layout.FitLayout; -import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.DisplayTypeIDGenerator; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.IDisplayTypeIDGenerator; /** * {@link ContentPanel} configured for Experiment Viewer. @@ -40,7 +40,7 @@ public class SingleSectionPanel extends ContentPanel setLayout(new FitLayout()); } - public void setDisplayID(DisplayTypeIDGenerator generator, String suffix) + public void setDisplayID(IDisplayTypeIDGenerator generator, String suffix) { if (suffix != null) { diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/columns/framework/AbstractColumnDefinition.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/columns/framework/AbstractColumnDefinition.java index a1f037a7e2b..8c7cb1c65b9 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/columns/framework/AbstractColumnDefinition.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/columns/framework/AbstractColumnDefinition.java @@ -84,12 +84,6 @@ public abstract class AbstractColumnDefinition<T> implements IColumnDefinitionUI return false; } - public String getIdentifier() - { - // TODO Auto-generated method stub - return null; - } - public String tryToGetProperty(String key) { return null; diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/widget/SectionsPanel.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/widget/SectionsPanel.java index aab159f7e69..95278c9bcb7 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/widget/SectionsPanel.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/client/web/client/application/ui/widget/SectionsPanel.java @@ -159,7 +159,6 @@ public class SectionsPanel extends ContentPanel removeAll(); for (SectionElement el : elements) { - System.out.println("ADD SECTION PANEL: "+el.getButton().getText()+" "+el.getButton().isPressed()); if (el.getButton().isPressed()) { internalAdd(el); @@ -279,7 +278,6 @@ public class SectionsPanel extends ContentPanel { public void handleEvent(BaseEvent be) { - System.out.println("TOGGLE:" + result.getId() + " "+result.isPressed()); result.setText(getHeading(heading, result.isPressed())); } }); 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 c87ca37df32..3e9935133e3 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 @@ -16,17 +16,22 @@ package ch.systemsx.cisd.openbis.plugin.generic.client.web.client.application.experiment; +import java.util.Collections; +import java.util.List; + import com.extjs.gxt.ui.client.Style.Scroll; import com.extjs.gxt.ui.client.widget.Component; import com.extjs.gxt.ui.client.widget.layout.BorderLayout; import ch.systemsx.cisd.openbis.generic.client.web.client.application.AbstractAsyncCallback; import ch.systemsx.cisd.openbis.generic.client.web.client.application.AttachmentVersionsSection; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.BrowserSectionPanel; import ch.systemsx.cisd.openbis.generic.client.web.client.application.GenericConstants; import ch.systemsx.cisd.openbis.generic.client.web.client.application.IViewContext; import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.CompositeDatabaseModificationObserverWithMainObserver; import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.DatabaseModificationAwareComponent; import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.DisplayTypeIDGenerator; +import ch.systemsx.cisd.openbis.generic.client.web.client.application.framework.IDatabaseModificationObserver; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.AbstractViewer; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.experiment.ExperimentListDeletionConfirmationDialog; import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.widget.SectionsPanel; @@ -41,7 +46,7 @@ import ch.systemsx.cisd.openbis.plugin.generic.client.web.client.IGenericClientS * * @author Izabela Adamczyk */ -public final class GenericExperimentViewer extends AbstractViewer<Experiment> +public class GenericExperimentViewer extends AbstractViewer<Experiment> { private static final String GENERIC_EXPERIMENT_VIEWER = "generic-experiment-viewer"; @@ -51,30 +56,37 @@ public final class GenericExperimentViewer extends AbstractViewer<Experiment> private final IViewContext<IGenericClientServiceAsync> viewContext; - private final TechId experimentId; - private final CompositeDatabaseModificationObserverWithMainObserver modificationObserver; + protected final IIdentifiable identifiable; + + protected Experiment experimentOrNull; + public static DatabaseModificationAwareComponent create( final IViewContext<IGenericClientServiceAsync> viewContext, final IIdentifiable identifiable) { GenericExperimentViewer viewer = new GenericExperimentViewer(viewContext, identifiable); - return new DatabaseModificationAwareComponent(viewer, viewer.modificationObserver); + return new DatabaseModificationAwareComponent(viewer, viewer.getModificationObserver()); } - private GenericExperimentViewer(final IViewContext<IGenericClientServiceAsync> viewContext, - final IIdentifiable identifiable) + protected GenericExperimentViewer(final IViewContext<IGenericClientServiceAsync> viewContext, + final IIdentifiable experiment) { - super(viewContext, createId(identifiable)); + super(viewContext, createId(experiment)); + this.identifiable = experiment; setLayout(new BorderLayout()); - this.experimentId = TechId.create(identifiable); this.modificationObserver = new CompositeDatabaseModificationObserverWithMainObserver(); this.viewContext = viewContext; extendToolBar(); reloadAllData(); } + public IDatabaseModificationObserver getModificationObserver() + { + return modificationObserver; + } + private void extendToolBar() { addToolBarButton(createDeleteButton(new IDelegatedAction() @@ -108,6 +120,7 @@ public final class GenericExperimentViewer extends AbstractViewer<Experiment> */ protected void reloadData(AbstractAsyncCallback<Experiment> callback) { + TechId experimentId = TechId.create(identifiable); viewContext.getService().getExperimentInfo(experimentId, callback); } @@ -117,25 +130,25 @@ public final class GenericExperimentViewer extends AbstractViewer<Experiment> super.updateOriginalData(newData); } - private final Component createLeftPanel(final Experiment experiment, + private final Component createLeftPanel(final Experiment newExperiment, final CompositeDatabaseModificationObserverWithMainObserver observer) { - final ExperimentPropertiesPanel panel = createExperimentPropertiesPanel(experiment); + final ExperimentPropertiesPanel panel = createExperimentPropertiesPanel(newExperiment); panel.setScrollMode(Scroll.AUTOY); observer.addMainObserver(panel.getDatabaseModificationObserver()); return panel; } - private ExperimentPropertiesPanel createExperimentPropertiesPanel(final Experiment experiment) + private ExperimentPropertiesPanel createExperimentPropertiesPanel(final Experiment newExperiment) { - return new ExperimentPropertiesPanel(experiment, viewContext, this); + return new ExperimentPropertiesPanel(newExperiment, viewContext, this); } private AttachmentVersionsSection<Experiment> createAttachmentsSection( - final Experiment experiment) + final Experiment newExperiment) { return new AttachmentVersionsSection<Experiment>(viewContext.getCommonViewContext(), - experiment); + newExperiment); } private static final class ExperimentInfoCallback extends AbstractAsyncCallback<Experiment> @@ -166,6 +179,7 @@ public final class GenericExperimentViewer extends AbstractViewer<Experiment> @Override protected final void process(final Experiment result) { + genericExperimentViewer.experimentOrNull = result; genericExperimentViewer.updateOriginalData(result); genericExperimentViewer.removeAll(); @@ -190,6 +204,13 @@ public final class GenericExperimentViewer extends AbstractViewer<Experiment> { final SectionsPanel container = new SectionsPanel(viewContext.getCommonViewContext()); final String displayIdSuffix = getDisplayIdSuffix(result.getExperimentType().getCode()); + + List<BrowserSectionPanel> additionalPanels = createAdditionalBrowserSectionPanels(displayIdSuffix); + for (BrowserSectionPanel panel : additionalPanels) + { + container.addPanel(panel); + observer.addObserver(panel.getDatabaseModificationObserver()); + } final ExperimentSamplesSection sampleSection = new ExperimentSamplesSection(viewContext, result); @@ -212,5 +233,10 @@ public final class GenericExperimentViewer extends AbstractViewer<Experiment> container.layout(); return container; } + + protected List<BrowserSectionPanel> createAdditionalBrowserSectionPanels(String displyIdSuffix) + { + return Collections.emptyList(); + } } diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/server/GenericClientService.java b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/server/GenericClientService.java index b78ca3eca4f..a5df0d58638 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/server/GenericClientService.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/plugin/generic/client/web/server/GenericClientService.java @@ -89,7 +89,7 @@ import ch.systemsx.cisd.openbis.plugin.generic.shared.ResourceNames; * @author Franz-Josef Elmer */ @Component(value = ResourceNames.GENERIC_PLUGIN_SERVICE) -public final class GenericClientService extends AbstractClientService implements +public class GenericClientService extends AbstractClientService implements IGenericClientService { @@ -101,7 +101,7 @@ public final class GenericClientService extends AbstractClientService implements } @Private - GenericClientService(final IGenericServer genericServer, + protected GenericClientService(final IGenericServer genericServer, final IRequestContextProvider requestContextProvider) { super(requestContextProvider); -- GitLab