📄 producthandlernotree.java~
字号:
package com.jdon.estore.web.catalog;
import com.jdon.strutsutil.*;
import com.jdon.strutsutil.file.UploadAction;
import com.jdon.controller.model.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import com.jdon.controller.events.EventModel;
import com.jdon.controller.events.Event;
import com.jdon.estore.catalog.ProductManagerLocal;
import com.jdon.estore.catalog.CatalogManagerLocal;
import com.jdon.estore.FrameworkServices;
import com.jdon.bussinessproxy.ServiceServerFactory;
import com.jdon.bussinessproxy.EJBDefinition;
import com.jdon.controller.cache.CacheFactory;
import com.jdon.estore.model.*;
import com.jdon.util.Debug;
import java.util.*;
public class ProductHandler implements ModelHandler {
private final static String module = ProductHandler.class.getName();
private final static ServiceServerFactory sf = ServiceServerFactory.
getInstance();
protected final static CacheFactory cacheFactory = CacheFactory.getInstance();
public ModelHandler newInstance() {
return new ProductHandler();
}
public ModelForm initForm(HttpServletRequest request) throws Exception{
CatalogManagerLocal catalogManager = (CatalogManagerLocal) sf.getService(
FrameworkServices.CatalogEJB, request);
int AllCount = catalogManager.getCategoryAllCount();
PageIterator pageIterator = catalogManager.getCategories(0, AllCount);
ProductForm form = new ProductForm();
List labels = new ArrayList(pageIterator.getSize());
List values = new ArrayList(pageIterator.getSize());
labels.add("");
values.add("");
while (pageIterator.hasNext()) {
String catId = (String) pageIterator.next();
//首先从缓存中获取
Category model = (Category) cacheFactory.getObect(catId);
if (model == null) {
model = catalogManager.getCategoryById(catId);
if (model.CACHEABLE) {
cacheFactory.putObect(catId, model);
}
}
labels.add(model.getName());
values.add(model.getCatId());
}
pageIterator.reset();
form.setLabels((String[])labels.toArray(new String[0]));
form.setValues((String[])values.toArray(new String[0]));
return form;
}
public Model findModelByKey(String keyValue, HttpServletRequest request) throws Exception{
ProductManagerLocal productManager = (ProductManagerLocal) sf.getService(
FrameworkServices.ProductEJB, request);
return productManager.getProductById(keyValue);
}
public void serviceAction(EventModel em, HttpServletRequest request) throws
java.lang.Exception {
ProductManagerLocal productManager = (ProductManagerLocal) sf.getService(
FrameworkServices.ProductEJB, request);
byte[] data = (byte[]) UploadAction.getUploadData(request);
if (data != null) {
Product product = (Product) em.getModel();
product.setImage(data);
}
try {
switch (em.getActionType()) {
case Event.CREATE:
productManager.createProduct(em);
break;
case Event.EDIT:
productManager.updateProduct(em);
break;
case Event.DELETE:
productManager.deleteProduct(em);
break;
}
} catch (Exception ex) {
throw new Exception("System operation Error:" + ex);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -