/** * */ package com.hundsun.ares.studio.jres.metadata.core.script.impl; import org.apache.commons.lang.StringUtils; import com.hundsun.ares.studio.core.ARESModelException; import com.hundsun.ares.studio.core.IARESProject; import com.hundsun.ares.studio.core.IARESResource; import com.hundsun.ares.studio.jres.metadata.constant.IMetadataResType; import com.hundsun.ares.studio.jres.model.metadata.BusinessDataTypeList; import com.hundsun.ares.studio.jres.model.metadata.ConstantList; import com.hundsun.ares.studio.jres.model.metadata.DictionaryList; import com.hundsun.ares.studio.jres.model.metadata.ErrorNoList; import com.hundsun.ares.studio.jres.model.metadata.MenuList; import com.hundsun.ares.studio.jres.model.metadata.MetadataResourceData; import com.hundsun.ares.studio.jres.model.metadata.StandardDataTypeList; import com.hundsun.ares.studio.jres.model.metadata.StandardFieldList; import com.hundsun.ares.studio.jres.model.metadata.TypeDefaultValueList; import com.hundsun.ares.studio.jres.script.api.wrap.IMetadataResScriptWrap; import com.hundsun.ares.studio.jres.script.api.wrap.IMetadataScriptWrap; /** * @author yanwj06282 * */ public class MetadataScriptWrapImpl implements IMetadataScriptWrap { private IARESProject project; public MetadataScriptWrapImpl(IARESProject input) { this.project = input; } @SuppressWarnings("rawtypes") @Override public IMetadataResScriptWrap getMetadataInfoByType(String type, boolean includeRequiredBundles) { try { IARESResource resource = project.findResource(type, type); if (resource != null) { if (StringUtils.equals(type, IMetadataResType.StdField)) { StandardFieldList std = resource.getInfo(StandardFieldList.class); if (std != null) { return new StandardFieldResScriptWrapImpl(std, resource, includeRequiredBundles); } }if (StringUtils.equals(type, IMetadataResType.StdType)) { StandardDataTypeList std = resource.getInfo(StandardDataTypeList.class); if (std != null) { return new StandardDataTypeResScriptWrapImpl(std, resource, includeRequiredBundles); } }if (StringUtils.equals(type, IMetadataResType.DefValue)) { TypeDefaultValueList dv = resource.getInfo(TypeDefaultValueList.class); if (dv != null) { return new TypeDefaultValueResScriptWrapImpl(dv, resource, includeRequiredBundles); } }else if (StringUtils.equals(type, IMetadataResType.Dict)) { DictionaryList dict = resource.getInfo(DictionaryList.class); if (dict != null) { return new DictResScriptWrapImpl(dict, resource, includeRequiredBundles); } }else if (StringUtils.equals(type, IMetadataResType.Const)) { ConstantList cont = resource.getInfo(ConstantList.class); if (cont != null) { return new ConstantResScriptWrapImpl(cont, resource, includeRequiredBundles); } }else if (StringUtils.equals(type, IMetadataResType.Menu)) { MenuList menu = resource.getInfo(MenuList.class); if (menu != null) { return new MenuResScriptWrapImpl(menu, resource, includeRequiredBundles); } }else if (StringUtils.equals(type, IMetadataResType.BizType)) { BusinessDataTypeList menu = resource.getInfo(BusinessDataTypeList.class); if (menu != null) { return new BusDataTypeResScriptWrapImpl(menu, resource, includeRequiredBundles); } }else if (StringUtils.equals(type, IMetadataResType.ErrNo)) { ErrorNoList error = resource.getInfo(ErrorNoList.class); if (error != null) { return new ErrorResScriptWrapImpl(error, resource, includeRequiredBundles); } }else { MetadataResourceData metadata = resource.getInfo(MetadataResourceData.class); if (metadata != null) { return new MetadataResScriptWrapImpl(metadata, resource, includeRequiredBundles); } } } } catch (ARESModelException e) { e.printStackTrace(); } return null; } /* (non-Javadoc) * @see com.hundsun.ares.studio.jres.script.api.wrap.IMetadataScriptWrap#getMetadataInfoByType(java.lang.String, boolean) */ @Override public IMetadataResScriptWrap getMetadataInfoByType(String type) { return getMetadataInfoByType(type, false); } }