Kelas Action dlm Cimande2
Berikut adalah source code dari kelas action yg digunakan pd Cimande2..
Kelas ini harus diberi nama dgn nma yg d akhiri dgn kata "Controller"..
package org.blueoxygen.rest.geneology.action;
import java.util.ArrayList;
import java.util.List;
import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.Result;
import org.apache.struts2.rest.HttpHeaders;
import org.blueoxygen.cimande.CimandeAction;
import org.blueoxygen.rest.geneology.Item;
import org.hibernate.Criteria;
import org.hibernate.criterion.Restrictions;
import com.opensymphony.xwork2.ModelDriven;
@Action(value = "item", results = { @Result(name = CimandeAction.SUCCESS, type = "redirect", location = "/item"
})
public class ItemController extends CimandeAction implements
ModelDriven<Object> {
protected Item item = new Item();
protected List<Item> items = new ArrayList<Item>();
public HttpHeaders index() {
Criteria crit = session.createCriteria(Item.class);
String skey = request.getParameter("skey"
;
crit.add(Restrictions.like("code", "%" + (skey == null ? "" : skey)
+ "%"
);
items = crit.list();
return headers.renderResult("item/item-result"
.disableCaching();
}
public String editNew() {
item = new Item();
return "item/item-add";
}
public String delete() {
item = (Item) session.get(Item.class, id);
session.beginTransaction();
session.delete(item);
session.getTransaction().commit();
return SUCCESS;
}
public String edit() {
item = (Item) session.get(Item.class, id);
return "item/item-edit";
}
public String show() {
System.out.println(item.getId());
item = (Item) session.get(Item.class, id);
Item p = (Item) session.get(Item.class, id);
String hql = "FROM " + Item.class.getName() + "";
return "item/item-detail";
}
public String create() {
save(true);
return SUCCESS;
}
public String update() {
save(false);
return SUCCESS;
}
private void save(boolean create) {
Item temp = new Item();
if (create) {
temp = item;
temp.setId(null);
} else {
temp = (Item) session.get(Item.class, id);
temp.setCode(item.getCode());
temp.setName(item.getName());
temp.setDescription(item.getDescription());
temp.setPrice(item.getPrice());
}
session.beginTransaction();
session.save(temp);
session.getTransaction().commit();
}
public Object getModel() {
return items.size() > 0 ? items : item;
}
}
Posted at 02:07PM Agu 23, 2010 by faridatul507 in Java | Comments[0]
