Senin Agu 23, 2010

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"..

Untitled Document

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;
}

}

Comments:

Post a Comment:
  • HTML Syntax: Allowed