resourcedeployaction.java

来自「一个免费wap站」· Java 代码 · 共 241 行

JAVA
241
字号
package com.eline.wap.catalog.struts;

import java.util.Date;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import com.eline.wap.catalog.client.CatalogHelper;
import com.eline.wap.catalog.exceptions.CatalogException;
import com.eline.wap.catalog.model.Item;
import com.eline.wap.catalog.model.SingleItem;
import com.eline.wap.common.util.AppLogger;
import com.eline.wap.common.util.StringUtils;
import com.eline.wap.resource.client.BookHelper;
import com.eline.wap.resource.client.KJavaHelper;
import com.eline.wap.resource.client.PictureHelper;
import com.eline.wap.resource.model.Book;
import com.eline.wap.resource.model.Category;
import com.eline.wap.resource.model.KJava;
import com.eline.wap.resource.model.Picture;

public class ResourceDeployAction extends Action {
	private static final int ACTION_IMPORT	= 0;
	private static final int ACTION_SORT	= 1;
	private static final int ACTION_UPDATE	= 2;

	/**
	 * 
	 * @param mapping
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) throws Exception {
		System.out.println("hello, ResourceDeployAction.execute()");

		boolean isOK = false;
		int webAction = StringUtils.getInt(request.getParameter("webAction"), -1);

		if (form instanceof ResourceDeployForm) {
			ResourceDeployForm actionForm = (ResourceDeployForm) form;
			
			if (webAction == ACTION_IMPORT) {
				isOK = doImport(actionForm, request, response);
			} else if (webAction == ACTION_SORT) {
				isOK = doSort(actionForm, request, response);
			} else if (webAction == ACTION_UPDATE) {
				System.out.println("aaaabbbccc...");
				isOK = doUpdate(actionForm, request, response);
			}
		}
		String strMsg = isOK ? "操作成功" : "操作失败";
		request.setAttribute("message", strMsg);

		return mapping.findForward(isOK ? "success" : "failure");
	}

	/**
	 * 
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	private boolean doImport(ResourceDeployForm form, HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		System.out.println("hello, ResourceDeployAction.doImport()");
		System.out.println("form.getParentId()=" + form.getParentId());

		String s1 = form.getSelectedItems();
		int importCount = 0;

		if (s1 == null)
			return false;

		String[] itemIds = s1.split(";");

		CatalogHelper ch = new CatalogHelper();

		for (int i = 0; i < itemIds.length; i ++) {
			try {
				int id = Integer.parseInt(itemIds[i]);
				if (form.getType() == Category.TYPE_UNDEFINED)
					continue;

				SingleItem item = new SingleItem();
				item.setParentId(form.getParentId());
				
				if (form.getType() == Category.TYPE_BOOK) {
					BookHelper bh = new BookHelper();
					Book book = bh.getBook(id);
					if (book == null) {
						AppLogger.error("ResourceDeployAction.doImport(): invalid book item.");
						continue;
					}
					item.setSingleAttribute(form.getType());
					item.setParentId(form.getParentId());
					item.setName(book.getName());
					item.setResourceId(book.getIndexId());
					item.setActive(true);
					item.setSearchable(true);
					item.setSearchKey(book.getName() + ";");

					Date currentDate = new Date();
					item.setDateCreated(currentDate);
					item.setLastUpdate(currentDate);
					
					ch.createItem(item);
				} else if (form.getType() == Category.TYPE_PICTURE) {
					PictureHelper ph = new PictureHelper();
					Picture picture = ph.getPicture(id);
					
					if (picture == null) {
						AppLogger.error("ResourceDeployAction.doImport(): invalid book item.");
						continue;
					}
					item.setSingleAttribute(form.getType());
					item.setParentId(form.getParentId());
					item.setName(picture.getName());
					item.setResourceId(picture.getIndexId());
					item.setActive(true);
					item.setSearchable(true);
					item.setSearchKey(picture.getName() + ";");

					Date currentDate = new Date();
					item.setDateCreated(currentDate);
					item.setLastUpdate(currentDate);
					
					ch.createItem(item);
				} else if (form.getType() == Category.TYPE_J2ME) {
					KJavaHelper kh = new KJavaHelper();
					KJava kjava = kh.getKJava(id);

					if (kjava == null) {
						AppLogger.error("ResourceDeployAction.doImport(): invalid book item.");
						continue;
					}
					item.setSingleAttribute(form.getType());
					item.setParentId(form.getParentId());
					item.setName(kjava.getName());
					item.setResourceId(kjava.getIndexId());
					item.setActive(true);
					item.setSearchable(true);
					item.setSearchKey(kjava.getName() + ";");

					Date currentDate = new Date();
					item.setDateCreated(currentDate);
					item.setLastUpdate(currentDate);
					
					ch.createItem(item);
				}
				importCount ++;

			} catch (NumberFormatException e) {
				continue;
			}
		}
		return importCount > 0 ? true : false;
	}
	
	/**
	 * 
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	private boolean doSort(ResourceDeployForm form, HttpServletRequest request,
			HttpServletResponse response) throws Exception {

		String s1 = form.getSelectedItems();
		
		System.out.println("s1="+s1);
		int itemCount = 0;

		if (s1 == null)
			return false;

		String[] itemIds = s1.split(";");
		
		CatalogHelper ch = new CatalogHelper();
		
		for (int i = 0; i < itemIds.length; i ++) {
			try {
				int catalogId = Integer.parseInt(itemIds[i]);
				ch.setSortOrder(catalogId, i);
				itemCount ++;
			} catch (NumberFormatException e) {
				continue;
			} catch (CatalogException e) {
				e.printStackTrace();
				return false;
			}
		}

		return itemCount > 0 ? true : false;
	}
	
	/**
	 * 
	 * @param form
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	private boolean doUpdate(ResourceDeployForm form, HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		CatalogHelper ch = new CatalogHelper();
		Item baseItem = ch.getItem(form.getIndexId());
		
		if (baseItem instanceof SingleItem) {
			SingleItem item = (SingleItem) baseItem;
			item.setName(form.getName());
			item.setResourceId(form.getResourceId());
			item.setSingleAttribute(form.getType());
			item.setLastUpdate(new Date());
			item.setActive(form.isActive());
			
			try {
				ch.updateItem(item);
			} catch (CatalogException e) {
				AppLogger.error("ResourceDeployAction.doUpdate() CatalogException : " + e.getMessage());
				return false;
			}
			return true;
		}
		return false;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?