Skip to content
Snippets Groups Projects
Commit d3df173f authored by izabel's avatar izabel
Browse files

[LMS-650] cleaner experiment viewer

SVN: 9175
parent 7944f9e5
No related branches found
No related tags found
No related merge requests found
/*
* Copyright 2008 ETH Zuerich, CISD
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package ch.systemsx.cisd.openbis.plugin.generic.client.web.client.application.experiment;
import static ch.systemsx.cisd.openbis.generic.client.web.client.application.model.ModelDataPropertyNames.REGISTRATION_DATE;
import static ch.systemsx.cisd.openbis.generic.client.web.client.application.model.ModelDataPropertyNames.REGISTRATOR;
import java.util.LinkedHashMap;
import java.util.Map;
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.ui.PropertyValueRenderers;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.property.PropertyGrid;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.IMessageProvider;
import ch.systemsx.cisd.openbis.generic.client.web.client.dto.Experiment;
import ch.systemsx.cisd.openbis.generic.client.web.client.dto.ExperimentProperty;
import ch.systemsx.cisd.openbis.generic.client.web.client.dto.ExperimentType;
import ch.systemsx.cisd.openbis.generic.client.web.client.dto.Invalidation;
import ch.systemsx.cisd.openbis.generic.client.web.client.dto.Person;
/**
* {@link SectionPanel} containing experiment properties.
*
* @author Izabela Adamczyk
*/
public class ExperimentPropertiesSection extends SectionPanel
{
public static final String PROPERTIES_ID_PREFIX =
GenericConstants.ID_PREFIX + "experiment-properties-section_";
private final Experiment experiment;
private final IViewContext<?> viewContext;
public ExperimentPropertiesSection(final Experiment experiment,
final IViewContext<?> viewContext)
{
super("Experiment properties");
this.experiment = experiment;
this.viewContext = viewContext;
add(createPropertyGrid());
}
private final PropertyGrid createPropertyGrid()
{
final IMessageProvider messageProvider = viewContext.getMessageProvider();
final Map<String, Object> properties = createProperties(messageProvider);
final PropertyGrid propertyGrid = new PropertyGrid(messageProvider, properties.size());
propertyGrid.getElement()
.setId(PROPERTIES_ID_PREFIX + experiment.getExperimentIdentifier());
propertyGrid.registerPropertyValueRenderer(Person.class, PropertyValueRenderers
.createPersonPropertyValueRenderer(messageProvider));
propertyGrid.registerPropertyValueRenderer(ExperimentType.class, PropertyValueRenderers
.createExperimentTypePropertyValueRenderer(messageProvider));
propertyGrid.registerPropertyValueRenderer(Invalidation.class, PropertyValueRenderers
.createInvalidationPropertyValueRenderer(messageProvider));
propertyGrid.registerPropertyValueRenderer(ExperimentProperty.class, PropertyValueRenderers
.createExperimentPropertyPropertyValueRenderer(messageProvider));
propertyGrid.setProperties(properties);
return propertyGrid;
}
private final Map<String, Object> createProperties(final IMessageProvider messageProvider)
{
final Map<String, Object> properties = new LinkedHashMap<String, Object>();
final ExperimentType experimentType = experiment.getExperimentType();
final Invalidation invalidation = experiment.getInvalidation();
properties.put(messageProvider.getMessage("experiment"), experiment.getCode());
properties.put(messageProvider.getMessage("experiment_type"), experimentType);
properties.put(messageProvider.getMessage(REGISTRATOR), experiment.getRegistrator());
properties.put(messageProvider.getMessage(REGISTRATION_DATE), experiment
.getRegistrationDate());
if (invalidation != null)
{
properties.put(messageProvider.getMessage("invalidation"), invalidation);
}
for (final ExperimentProperty property : experiment.getProperties())
{
final String simpleCode =
property.getEntityTypePropertyType().getPropertyType().getLabel();
properties.put(simpleCode, property);
}
return properties;
}
}
\ No newline at end of file
......@@ -16,15 +16,8 @@
package ch.systemsx.cisd.openbis.plugin.generic.client.web.client.application.experiment;
import static ch.systemsx.cisd.openbis.generic.client.web.client.application.model.ModelDataPropertyNames.REGISTRATION_DATE;
import static ch.systemsx.cisd.openbis.generic.client.web.client.application.model.ModelDataPropertyNames.REGISTRATOR;
import java.util.LinkedHashMap;
import java.util.Map;
import com.extjs.gxt.ui.client.Style.Scroll;
import com.extjs.gxt.ui.client.util.Margins;
import com.extjs.gxt.ui.client.widget.ContentPanel;
import com.extjs.gxt.ui.client.widget.LayoutContainer;
import com.extjs.gxt.ui.client.widget.layout.RowData;
import com.google.gwt.user.client.ui.Widget;
......@@ -32,14 +25,7 @@ import com.google.gwt.user.client.ui.Widget;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.AbstractAsyncCallback;
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.ui.PropertyValueRenderers;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.ui.property.PropertyGrid;
import ch.systemsx.cisd.openbis.generic.client.web.client.application.util.IMessageProvider;
import ch.systemsx.cisd.openbis.generic.client.web.client.dto.Experiment;
import ch.systemsx.cisd.openbis.generic.client.web.client.dto.ExperimentProperty;
import ch.systemsx.cisd.openbis.generic.client.web.client.dto.ExperimentType;
import ch.systemsx.cisd.openbis.generic.client.web.client.dto.Invalidation;
import ch.systemsx.cisd.openbis.generic.client.web.client.dto.Person;
import ch.systemsx.cisd.openbis.plugin.generic.client.web.client.IGenericClientServiceAsync;
/**
......@@ -53,9 +39,6 @@ public final class GenericExperimentViewer extends LayoutContainer
public static final String ID_PREFIX = GenericConstants.ID_PREFIX + PREFIX;
public static final String PROPERTIES_ID_PREFIX =
GenericConstants.ID_PREFIX + "generic-experiment-properties-viewer_";
private final IViewContext<IGenericClientServiceAsync> viewContext;
private final String experimentIdentifier;
......@@ -68,73 +51,9 @@ public final class GenericExperimentViewer extends LayoutContainer
this.viewContext = viewContext;
}
private final static ContentPanel createSection(final String heading, final Widget container)
{
final ContentPanel panel = new ContentPanel();
panel.setHeaderVisible(true);
panel.setBorders(true);
panel.setHeading(heading);
panel.setCollapsible(true);
panel.setAnimCollapse(false);
panel.add(container, new RowData(-1, -1, new Margins(5)));
panel.setBodyBorder(false);
return panel;
}
private static ContentPanel createGeneralInfo(final Experiment experiment,
final IViewContext<?> viewContext)
{
final ContentPanel panel = new ContentPanel();
panel.setBorders(false);
panel.setBodyBorder(false);
panel.setHeaderVisible(false);
panel.setScrollMode(Scroll.AUTOY);
panel.add(createPropertyGrid(experiment, viewContext));
return createSection("Experiment properties", panel);
}
private final static Map<String, Object> createProperties(
final IMessageProvider messageProvider, final Experiment experiment)
{
final Map<String, Object> properties = new LinkedHashMap<String, Object>();
final ExperimentType experimentType = experiment.getExperimentType();
final Invalidation invalidation = experiment.getInvalidation();
properties.put(messageProvider.getMessage("experiment"), experiment.getCode());
properties.put(messageProvider.getMessage("experiment_type"), experimentType);
properties.put(messageProvider.getMessage(REGISTRATOR), experiment.getRegistrator());
properties.put(messageProvider.getMessage(REGISTRATION_DATE), experiment
.getRegistrationDate());
if (invalidation != null)
{
properties.put(messageProvider.getMessage("invalidation"), invalidation);
}
for (final ExperimentProperty property : experiment.getProperties())
{
final String simpleCode =
property.getEntityTypePropertyType().getPropertyType().getLabel();
properties.put(simpleCode, property);
}
return properties;
}
static private final PropertyGrid createPropertyGrid(final Experiment experiment,
final IViewContext<?> viewContext)
private static void addSection(final LayoutContainer lc, final Widget w)
{
final IMessageProvider messageProvider = viewContext.getMessageProvider();
final Map<String, Object> properties = createProperties(messageProvider, experiment);
final PropertyGrid propertyGrid = new PropertyGrid(messageProvider, properties.size());
propertyGrid.getElement()
.setId(PROPERTIES_ID_PREFIX + experiment.getExperimentIdentifier());
propertyGrid.registerPropertyValueRenderer(Person.class, PropertyValueRenderers
.createPersonPropertyValueRenderer(messageProvider));
propertyGrid.registerPropertyValueRenderer(ExperimentType.class, PropertyValueRenderers
.createExperimentTypePropertyValueRenderer(messageProvider));
propertyGrid.registerPropertyValueRenderer(Invalidation.class, PropertyValueRenderers
.createInvalidationPropertyValueRenderer(messageProvider));
propertyGrid.registerPropertyValueRenderer(ExperimentProperty.class, PropertyValueRenderers
.createExperimentPropertyPropertyValueRenderer(messageProvider));
propertyGrid.setProperties(properties);
return propertyGrid;
lc.add(w, new RowData(-1, -1, new Margins(5)));
}
/**
......@@ -173,8 +92,8 @@ public final class GenericExperimentViewer extends LayoutContainer
{
genericExperimentViewer.removeAll();
genericExperimentViewer.setScrollMode(Scroll.AUTO);
genericExperimentViewer.add(createGeneralInfo(result, viewContext), new RowData(-1, -1,
new Margins(5)));
addSection(genericExperimentViewer,
new ExperimentPropertiesSection(result, viewContext));
genericExperimentViewer.layout();
}
}
......
/*
* Copyright 2008 ETH Zuerich, CISD
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package ch.systemsx.cisd.openbis.plugin.generic.client.web.client.application.experiment;
import com.extjs.gxt.ui.client.Style.Scroll;
import com.extjs.gxt.ui.client.widget.ContentPanel;
/**
* {@link ContentPanel} configured for Experiment Viewer.
*
* @author Izabela Adamczyk
*/
public class SectionPanel extends ContentPanel
{
public SectionPanel(final String header)
{
setHeaderVisible(true);
setBorders(true);
setHeading(header);
setCollapsible(true);
setAnimCollapse(false);
setBodyBorder(false);
setScrollMode(Scroll.AUTOY);
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment