/** * Author: Kylin Soong */ package com.jcommerce.core.module.shipping; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import com.jcommerce.core.module.ModuleAction; import com.jcommerce.core.module.shipping.IShippingModule; public class ShippingModuleAction extends ModuleAction{ private static ShippingModuleAction instance = null; public static ShippingModuleAction getInstance(){ if(instance == null) { instance = new ShippingModuleAction(); } return instance; } private static List<Map<String, Object>> shippings = null; public List<Map<String, Object>> getModuleInfo() { if(shippings == null) { shippings = new ArrayList<Map<String, Object>>(); Map<String, Object> maps = new HashMap<String, Object>(); List<IShippingModule> lists = getManager().getShippings(); int i =100; for(IShippingModule module : lists){ String id = "" + i; maps.put("id", id); String name = module.getAuthor(); if(name != null) { maps.put("name", name); } String code = module.getVersion(); if(code != null) { maps.put("code", code); } String description = module.getDescription(); if(description != null) { maps.put("description", description); } Map<String,String> data = module.getConfigMetaData(module.getDefaultConfig()).getFieldValues(); if(data != null){ maps.put("confdata", data); } String defaultconf = module.getDefaultConfig(); if(defaultconf != null) { maps.put("defaultconf", defaultconf); } String insure = "0"; maps.put("insure", insure); boolean supportCod = true; maps.put("supportCod", supportCod); boolean enabled = false; maps.put("enabled", enabled); shippings.add(maps); i++; } return shippings; } return shippings; } public boolean updateModuleInfo(List<Map<String, Object>> beanLists) { if(shippings == null) { throw new RuntimeException("update module info exception"); } for(Map<String, Object> bean : beanLists) { updateShippings((String)bean.get(IShipping.NAME), bean); } return false; } private void updateShippings(String string, Map<String, Object> bean) { for(Map<String, Object> shipping : shippings){ if(shipping.equals(shipping.get(IShipping.NAME))){ shipping.put(IShipping.DESCRIPTION, bean.get(IShipping.DESCRIPTION)); shipping.put(IShipping.INSURE, bean.get(IShipping.INSURE)); shipping.put(IShipping.SUPPORTCOD, bean.get(IShipping.INSURE)); } } } // private void update(File moduleFile, List<BeanObject> beanLists) { // File[] zipFiles = moduleFile.listFiles(); // for(File file : zipFiles) { // if(file.getName().endsWith(".zip")){ // parseZipFile(file); // } // } // for(BeanObject bean : beanLists){ // // } // } // // private void parseZipFile(File file) { // try { // ZipFile zipFile = new ZipFile(file); // Enumeration entries = zipFile.entries(); // while (entries.hasMoreElements()) { // ZipEntry entry = (ZipEntry) entries.nextElement(); // // if (entry.isDirectory()) { // continue; // } // // String name = entry.getName(); // if (name.endsWith(".properties")) { // // System.out.println(name); // } // } // // zipFile.close(); // } catch (ZipException e) { // e.printStackTrace(); // } catch (IOException e) { // e.printStackTrace(); // } // } public static void main(String[] args){ List<Map<String, Object>> beanLists = ShippingModuleAction.getInstance().getModuleInfo(); ShippingModuleAction.getInstance().updateModuleInfo(beanLists); // PropertyReader pr = new EMS().getpReader(); // System.out.println(pr.getValue(IShippingConstants.NAME)); // pr.setValue(IShippingConstants.NAME, "fucking"); // System.out.println(pr.getValue(IShippingConstants.NAME)); } interface IShipping { public static final String ID = "id"; public static final String NAME = "name"; public static final String CODE = "code"; public static final String DESCRIPTION = "description"; public static final String INSURE = "insure"; public static final String SUPPORTCOD = "supportCod"; public static final String ENABLED = "enabled"; } }