package edu.ualberta.med.biobank.common.action.shipment; import java.util.ArrayList; import java.util.List; import org.hibernate.Query; import edu.ualberta.med.biobank.common.action.Action; import edu.ualberta.med.biobank.common.action.ActionContext; import edu.ualberta.med.biobank.common.action.ListResult; import edu.ualberta.med.biobank.common.action.exception.ActionException; import edu.ualberta.med.biobank.model.ShippingMethod; public class ShippingMethodGetInfoAction implements Action<ListResult<ShippingMethod>> { private static final long serialVersionUID = -2969994320245657734L; private static final String SHIPPING_METHOD_HQL = "FROM " + ShippingMethod.class.getName(); @Override public boolean isAllowed(ActionContext context) throws ActionException { // all users are allowed to get the shipping methods return true; } @Override public ListResult<ShippingMethod> run(ActionContext context) throws ActionException { ArrayList<ShippingMethod> methods = new ArrayList<ShippingMethod>(); Query query = context.getSession().createQuery(SHIPPING_METHOD_HQL); @SuppressWarnings("unchecked") List<ShippingMethod> results = query.list(); if (results != null) { methods.addAll(results); } return new ListResult<ShippingMethod>(methods); } }