/** * Դ�������ƣ�ObjSheetHandler.java * �������Ȩ���������ӹɷ����޹�˾ ��Ȩ���� * ϵͳ���ƣ�JRES Studio * ģ�����ƣ�com.hundsun.ares.studio.biz.core * ����˵����$desc * ����ĵ��� * ���ߣ�sundl */ package com.hundsun.ares.studio.biz.excel.handlers; import org.apache.commons.lang.StringUtils; import org.apache.poi.ss.usermodel.Sheet; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EStructuralFeature; import com.hundsun.ares.studio.biz.ARESObject; import com.hundsun.ares.studio.biz.BizFactory; import com.hundsun.ares.studio.biz.BizPackage; import com.hundsun.ares.studio.biz.constants.IBizResType; import com.hundsun.ares.studio.core.excel.Module; import com.hundsun.ares.studio.core.excel.Resource; import com.hundsun.ares.studio.core.excel.handler.EMFSheetHandler; /** * @author sundl * */ public class ObjSheetHandler extends EMFSheetHandler { /* ת�Ƶ���Ӧ��PropertyHandlerFactory�� --> ObjectPropertyHandlerFactory private static Map<String, IPropertyHandler> OBJECT_PROPERTY_HANDLERS = new HashMap<String, IPropertyHandler>(); private static Map<String, IPropertyHandler> OBJECT_PROPERTY_PROPERTY_HANDLERS = new HashMap<String, IPropertyHandler>(); static { OBJECT_PROPERTY_HANDLERS.putAll(EMFPropertyHandler.BASIC_HANDLERS); OBJECT_PROPERTY_HANDLERS.put("������", EMFPropertyHandler.NAME_PROPERTY_HANDLER); OBJECT_PROPERTY_HANDLERS.put("����������", EMFPropertyHandler.CNAME_PROPERTY_HANDLER); OBJECT_PROPERTY_HANDLERS.put("��������", EMFPropertyHandler.DESCRIPTION_PROPERTY_HANDLER); OBJECT_PROPERTY_HANDLERS.put("˵��", EMFPropertyHandler.DESCRIPTION_PROPERTY_HANDLER); OBJECT_PROPERTY_HANDLERS.put("�޸ļ�¼", NullPropertyHandler.INSTANCE); //OBJECT_PROPERTY_HANDLERS.put("XML��ǩ", NullPropertyHandler.INSTANCE); //OBJECT_PROPERTY_HANDLERS.putAll(EMFPropertyHandler.createExtendedHandlers(BizPackage.Literals.ARES_OBJECT)); OBJECT_PROPERTY_PROPERTY_HANDLERS.putAll(BizPropertyHandler.PARAM_BASIC_HANDLERS); OBJECT_PROPERTY_PROPERTY_HANDLERS.put("��������", BizPropertyHandler.PARAM_FLAG_PROPERTY_HANDLER); OBJECT_PROPERTY_PROPERTY_HANDLERS.put("����", BizPropertyHandler.PARAM_TYPE_PROPERTY_HANDLER); //OBJECT_PROPERTY_PROPERTY_HANDLERS.put("XML��ǩ", NullPropertyHandler.INSTANCE); } */ protected ARESObject obj; @Override public void startSheet(Sheet sheet) { super.startSheet(sheet); module = new Module(); //���ķָ�����Ҳ֧�� String sheetName = StringUtils.replace(sheet.getSheetName(), "��", "-"); String cName = StringUtils.removeStart(sheetName, "����-"); cName = StringUtils.removeStart(cName, "ҵ�����-"); module.cName = cName; } /* (non-Javadoc) * @see com.hundsun.ares.studio.biz.excel.ISheetHandler#endArea() */ public void endArea() { super.endArea(); if (obj != null) { Resource resource = new Resource(); resource.info = obj; resource.name = obj.getName(); resource.type = IBizResType.Object; resourceFound(resource); } } @Override public void startArea(String startTag) { super.startArea(startTag); if (StringUtils.startsWith(startTag, "������")) obj = BizFactory.eINSTANCE.createARESObject(); } /* (non-Javadoc) * @see com.hundsun.ares.studio.biz.excel.handlers.EMFSheetHandler#getOwner() */ @Override protected EObject getOwner() { return obj; } /* (non-Javadoc) * @see com.hundsun.ares.studio.biz.excel.handlers.EMFSheetHandler#getTableFeature() */ @Override protected EStructuralFeature getTableFeature() { return BizPackage.Literals.ARES_OBJECT__PROPERTIES; } /* (non-Javadoc) * @see com.hundsun.ares.studio.biz.excel.handlers.EMFSheetHandler#getEClass() */ @Override protected EClass getEClass() { if (StringUtils.equals(parser.getCurrentBlockTag(), "��������")) { return BizPackage.Literals.PARAMETER; } return BizPackage.Literals.PARAMETER; } }