/* * 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: 1549 $ by $Author: glycoslave $ on $Date:: 2009-07-19 #$ */ package org.eurocarbdb.action.ms; import org.eurocarbdb.action.*; import org.eurocarbdb.dataaccess.*; import org.eurocarbdb.dataaccess.ms.*; import org.eurocarbdb.dataaccess.hibernate.*; import org.hibernate.*; import org.hibernate.criterion.*; import java.util.*; import static org.eurocarbdb.dataaccess.Eurocarb.getEntityManager; /** * @author aceroni * @version $Rev: 1549 $ */ public class CreateDevice extends AbstractMsAction { private Manufacturer manufacturer = null; private Device device = null; public String execute() throws Exception { if( device==null || manufacturer==null ) return INPUT; // add new manufacturer if necessary Manufacturer db_man = findManufacturer(manufacturer.getName()); if( db_man==null ) Eurocarb.getEntityManager().store(manufacturer); else manufacturer = db_man; // add new device device.setManufacturer(manufacturer); Eurocarb.getEntityManager().store(device); return SUCCESS; } public Manufacturer findManufacturer(String manufacturer) { Criteria crit = getEntityManager().createQuery(Manufacturer.class).add(Restrictions.eq("name", manufacturer)); Collection<Manufacturer> list = crit.list(); if( list==null || list.size()==0 ) return null; return list.iterator().next(); } public Device getDevice() { return device; } public void setDevice(Device _device) { this.device = _device; } public Manufacturer getManufacturer() { return manufacturer; } public void setManufacturer(Manufacturer _manufacturer) { this.manufacturer = _manufacturer; } }