`
我改名了
  • 浏览: 89228 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

ofbiz 之服务 实体api 积累

 
阅读更多

1:根据delegator 获取 LocalDispatcher

LocalDispatcher thisDispatcher = GenericDispatcher.getLocalDispatcher(delegator.getDelegatorName(), delegator);

 

2:根据dispatcher 获取 DispatcherContext

DispatchContext dctx =
dispatcher.getDispatchContext();

 

3:获取一个GenericValue对象的所有字段

GenericDelegator delegator = DelegatorFactory.getDelegator("default");
GenericValue tmp = delegator.makeValue("UserLogin");
String entityName = tmp.getEntityName();
ModelEntity entity = delegator.getModelEntity(entityName);
List fieldNameList = entity.getAllFieldNames();

 

4:----

ServiceDispatcher sd = ServiceDispatcher.getInstance(dispatcherName, delegator);

LocalDispatcher dispatcher = sd.getLocalDispatcher(dispatcherName);

dispatcher = new GenericDispatcher(dispatcherName, delegator, readerURLs, loader, sd);

DispatchContext dc = new DispatchContext(name, readerURLs, loader, null);

5:ofbiz URL

URL formFileUrl = FlexibleLocation.resolveLocation(resourceName);

resourceName:component://common/widget/LookupForms.xml

formFileUrl:file:/E:/workspace/cpsp20110819/framework/common/widget/LookupForms.xml

 

 

for (File screenFile: screenFiles) {
String screenFilePath = screenFile.getAbsolutePath();
screenFilePath = screenFilePath.replace('\\', '/');
String screenFileRelativePath = screenFilePath.substring(rootComponentPath.length());
String screenLocation = "component://" + componentName + "/" + screenFileRelativePath;

 

 

Set<String> groupNames = getModelGroupReader().getGroupNames(delegatorBaseName);
for (String groupName: groupNames) {
GenericHelperInfo helperInfo = this.getGroupHelperInfo(groupName);
String helperBaseName = helperInfo.getHelperBaseName();

if (Debug.infoOn()) Debug.logInfo("Delegator \"" + delegatorFullName + "\" initializing helper \"" +
helperBaseName + "\" for entity group \"" + groupName + "\".", module);
if (UtilValidate.isNotEmpty(helperInfo.getHelperFullName())) {
// pre-load field type defs, the return value is ignored
ModelFieldTypeReader.getModelFieldTypeReader(helperBaseName);
// get the helper and if configured, do the datasource check
GenericHelper helper = GenericHelperFactory.getHelper(helperInfo);

DatasourceInfo datasourceInfo = EntityConfigUtil.getDatasourceInfo(helperBaseName);
if (datasourceInfo.checkOnStart) {
if (Debug.infoOn()) Debug.logInfo("Doing database check as requested in entityengine.xml with addMissing=" + datasourceInfo.addMissingOnStart, module);
try {
helper.checkDataSource(this.getModelEntityMapByGroup(groupName), null, datasourceInfo.addMissingOnStart);
} catch (GenericEntityException e) {
Debug.logWarning(e, e.getMessage(), module);
}
}
}
}

6: 获取所有实体名称

Set<String> entitys = delegator.getModelReader().getEntityNames();
entityArr = delegator.getModelReader().getEntityNames().toArray(new String[entitys.size()]);

7:清除实体缓存

Cache entityCache = delegator.getCache();

entityCache.remove(entityName);

 

8 : xml 中取${}值

FlexibleStringExpander fse = FlexibleStringExpander.getInstance(expression);
return fse.expandString(context, timeZone, locale);

 

9: xml 获取多个 不同节点

Set<String> nameSet = UtilMisc.toSet("set", "action","log");
for (Element actionOrSetElementOrLog : UtilXml.childElementList(eca, nameSet)) {

 

10 : String 类型xml 与 Map 互相转换

XmlSerializer.deserialize

XmlSerializer.serialize

11:类型转化类的加载

Iterator<ConverterLoader> converterLoaders = ServiceLoader.load(ConverterLoader.class, loader).iterator();

 

 

Collections.unmodifiableList

getStrElems

 

 

12: private void initEngines(final ClassLoader loader) {
Iterator itr = null;
try {
if (loader != null) {
itr = Service.providers(ScriptEngineFactory.class, loader);
} else {
itr = Service.installedProviders(ScriptEngineFactory.class);
}
}

 

13: Map<String, ConditionalFactory<?>> factories = new HashMap<String, ConditionalFactory<?>>();
Iterator<ConditionalFactory<?>> it = UtilGenerics.cast(ServiceLoader.load(ConditionalFactory.class, ConditionalFactory.class.getClassLoader()).iterator());
while (it.hasNext()) {
ConditionalFactory<?> factory = it.next();
factories.put(factory.getName(), factory);
}
conditionalFactories = Collections.unmodifiableMap(factories);

分享到:
评论

相关推荐

    ofbiz api开发文档

    OFBiz API中文版.chm文件是一个典型的Windows帮助文档,其中详细列举了OFBiz的所有服务、组件、实体以及相关的API接口。文档通常包含以下部分: - **服务**:描述了OFBiz中的服务接口,如订单处理、库存管理等。 ...

    OFBiz API中文版.chw

    OFBiz API中文版.chw

    OFBiz-API-Docs

    OFBiz API 文档,英文html版。使用官方资源中的ant命令自动生成,无任何修改。有兴趣的朋友可以自己生成,ant命令是:docs-all,该命令生成帮助文档时会获取操作系统语言设置,要生成英文文档请先将操作系统语言改为...

    ofbiz API文档

    Ofbiz API 文档是开发者在进行 Ofbiz 开发时的重要参考资料,它详细地阐述了 Ofbiz 框架的各种服务、组件以及它们的接口调用方式。 Ofbiz API 包含了大量的服务接口,这些接口涵盖了企业管理的各个领域,如产品管理...

    ofbiz API,学习ofbiz的朋友一定不能少

    ofbiz API,学习ofbiz的朋友一定不能少

    ofbiz实体引擎

    在Ofbiz中,实体引擎是核心组件之一,它负责处理数据模型,提供数据访问和管理功能。本篇文章将深入探讨Ofbiz实体引擎的设计理念、主要功能以及实际应用。 ### 一、Ofbiz实体引擎概述 Ofbiz实体引擎基于Java语言,...

    ofbiz开发教程

    OFBiz提供了丰富的API,包括服务调用、实体操作、事件处理等。学习API的关键在于: 1. **服务API**:了解如何定义、调用和服务生命周期管理,包括异步服务和同步服务。 2. **实体API**:掌握实体模型的创建、查询、...

    ofbiz 入门+增删改查+实体

    对于CRUD操作,OFBiz提供了一套完善的API和服务,可以方便地对实体进行增删改查。例如,使用EntityEngine API的`EntityQuery`和`EntityEJBQLQuery`类进行查询,`EntityCreate`、`EntityUpdate`和`EntityDelete`进行...

    ofbiz git 服务搭建

    【OFBiz Git 服务搭建详解】 OFBiz是一个开源的企业级应用框架,主要用于构建和管理电子商务系统。本教程将详细介绍如何在本地环境中搭建OFBiz项目,并使用Git进行版本控制。 首先,确保你拥有以下基础环境: 1. ...

    ofbiz数据结构设计

    通过灵活的实体模型、高效的实体引擎、丰富的服务层、流程化的业务处理、智能的缓存策略、适应性的数据分区以及严谨的安全机制,OFBiz提供了强大且灵活的数据管理能力,为企业信息化建设提供了有力支撑。在实际项目...

    OFbiz实体引擎指南

    OFBiz是一个非常著名的电子商务平台,是一个非常著名的开源项目,提供了创建基于最新J2EE/XML规范和技术标准,构建大中型企业级、跨平台、跨数据库、跨...包括实体引擎, 服务引擎, 消息引擎, 工作流引擎, 规则引擎等。

    ofbiz curd

    在JDK7环境下,OFBiz提供API来调用服务,完成数据的插入。 ### 更新(Update) 更新操作与创建类似,但需要指定要修改的记录的主键。在服务定义中,你需要明确指出哪些字段需要更新,并提供新的值。调用服务接口,...

    ofbiz学习笔记(自学整理)

    Ofbiz的核心概念包括组件、服务、实体、工作流和事件。组件是Ofbiz中的基本组织单元,它们封装了特定的业务功能。比如,“产品”组件处理与产品相关的所有事务,而“订单”组件则负责订单管理。服务是Ofbiz中执行...

    ofbiz开发入门之CmsBackEnd实现的CRUD

    开发者需要定义一个服务(service),通过这个服务调用实体引擎的API来创建新的实体实例。例如,创建一个新的CMS内容可能涉及创建`CmsRegister`实体,包括标题、内容、作者等属性。这可以通过编写XML服务定义文件和...

    Ofbiz16.11.05运行及开发环境搭建等

    - **OFBiz服务引擎**:服务引擎是OFBiz的核心组件之一,负责处理业务逻辑和服务调用。它支持异步、同步、本地和远程服务调用。 - **Ofbiz实体引擎(九) 多租户**:实体引擎支持多租户架构,允许在一个OFBiz实例上...

    OFBIZ开发指南 英文2

    服务引擎是OFBIZ的核心组件之一,它允许开发者定义服务接口,实现业务逻辑,并通过XML请求和响应进行通信。服务可以通过本地或远程调用,提供了强大的跨模块交互能力。 工作流引擎则管理各种任务和流程,如审批流程...

Global site tag (gtag.js) - Google Analytics