/* * EuroCarbDB, a framework for carbohydrate bioinformatics * * Copyright (c) 2006-2009, Eurocarb project, or third-party contributors as * indicated by the @author tags or express copyright attribution * statements applied by the authors. * * This copyrighted material is made available to anyone wishing to use, modify, * copy, or redistribute it subject to the terms and conditions of the GNU * Lesser General Public License, as published by the Free Software Foundation. * A copy of this license accompanies this distribution in the file LICENSE.txt. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License * for more details. * * Last commit: $Rev: 1932 $ by $Author: glycoslave $ on $Date:: 2010-08-05 #$ */ /*------------------------------------------------------------------- * $Id: ShowExperimentStep.java 1932 2010-08-05 07:12:33Z glycoslave $ * Last changed $Author: glycoslave $ * EUROCarbDB Project *------------------------------------------------------------------*/ package org.eurocarbdb.action.core; // stdlib imports import java.util.Set; import java.util.List; import java.util.Arrays; import java.util.Iterator; import java.util.ArrayList; // 3rd party imports import org.apache.log4j.Logger; // eurocarb imports import org.eurocarbdb.action.EurocarbAction; import org.eurocarbdb.dataaccess.EntityManager; import org.eurocarbdb.dataaccess.core.Experiment; import org.eurocarbdb.dataaccess.core.ExperimentStep; // static imports import static org.eurocarbdb.dataaccess.Eurocarb.getEntityManager; /* class ShowExperimentStep *//************************************ * * Shows a detail page for an experiment step given an experiment step id. * * * @author mjh <glycoslave@gmail.com> * @version $Rev: 1932 $ */ public class ShowExperimentStep extends EurocarbAction { //~~~~~~~~~~~~~~~~~~~~~~~~~~ FIELDS ~~~~~~~~~~~~~~~~~~~~~~~~~~~// protected static final Logger log = Logger.getLogger( ShowExperimentStep.class.getName() ); /** The experiment we will detail, created using given experiment id */ private ExperimentStep step = null; /** Experiment ID for the experiment to detail, populated from input parameters */ private int stepId = 1; //~~~~~~~~~~~~~~~~~~~~~~~~~ METHODS ~~~~~~~~~~~~~~~~~~~~~~~~~~~// public ExperimentStep getExperimentStep() { return step; } //public void setExperiment( Experiment t ) { experiment = t; } /** Returns the experiment step id that is being looked up. */ public int getExperimentStepId() { return stepId; } /** Sets the experiment step id to lookup. */ public void setExperimentStepId( int search_id ) { stepId = search_id; } public String execute() { if ( params == null || params.isEmpty() ) return INPUT; if ( stepId <= 0 ) { this.addFieldError( "experimentStepId", "Invalid experiment step id!" ); return INPUT; } this.step = getEntityManager().lookup( ExperimentStep.class, stepId ); if ( step == null ) { log.info( "No experiment step with tax id " + stepId ); this.addActionError( "No experiment step exists for given experiment step id" ); return ERROR; } String tech_name = step.getTechnique().getTechniqueAbbrev(); String next_action = "show_" + tech_name; return next_action; } } // end class