/******************************************************************************* * Copyright 2006 - 2012 Vienna University of Technology, * Department of Software Technology and Interactive Systems, IFS * * 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 eu.scape_project.planning.plato.wf; import javax.ejb.Stateful; import javax.enterprise.context.ConversationScoped; import eu.scape_project.planning.model.Plan; import eu.scape_project.planning.model.PlanState; /** * Business logic for workflow step Set Importance Factors. * * @author Michael Kraxner, Markus Hamm */ @Stateful @ConversationScoped public class SetImportanceFactors extends AbstractWorkflowStep { private static final long serialVersionUID = -5261160430145014006L; public SetImportanceFactors() { requiredPlanState = PlanState.TRANSFORMATION_DEFINED; correspondingPlanState = PlanState.WEIGHTS_SET; } public void init(Plan p){ super.init(p); // The ObjectiveTree makes sure that weights that have already been initialized // aren't overwritten by this call. plan.getTree().initWeights(); } /* (non-Javadoc) * @see eu.scape_project.planning.plato.wf.AbstractWorkflowStep#saveStepSpecific() */ @Override protected void saveStepSpecific() { saveEntity(plan.getTree()); saveEntity(plan.getImportanceWeighting()); } }