DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
| Info | ||
|---|---|---|
| ||
This page is maybe deprecated... |
Standalone entity engine
Overview
...
modify framework/build.xml:
| Code Block |
|---|
<project name="OFBiz Framework Build" default="build" basedir=".">
<import file="../macros.xml"/>
<filelist id="framework-builds" dir="."
files="start/build.xml,base/build.xml,sql/build.xml,
entity/build.xml,geronimo/build.xml,
catalina/build.xml,
"/>
|
...
modify framework/component-load.xml:
| Code Block |
|---|
<component-loader xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/component-loader.xsd">
<load-component component-location="geronimo"/>
<load-component component-location="sql"/>
<load-component component-location="entity"/>
<load-component component-location="catalina"/>
<!-- removed all other components -->
</component-loader>
|
modify framework/base/config/component-load.xml:
| Code Block |
|---|
<component-loader xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/component-loader.xsd">
<load-components parent-directory="framework"/>
<!-- <load-components parent-directory="themes"/>-->
<!-- <load-components parent-directory="applications"/>-->
<!-- <load-components parent-directory="specialpurpose"/>-->
<!- hot-deploy component will be created to access the entity engine -->
<load-components parent-directory="hot-deploy"/>
</component-loader>
|
create a component to access the entity engine:
| Code Block |
|---|
ant create-component - e.g. name = cstest
|
add an entity definition to cstest:
| Code Block |
|---|
<entity entity-name="CsTest" package-name="cs">
<field name="id" type="id"/>
<field name="myfield" type="description"/>
<prim-key field="id"/>
</entity>
|
modify cstest web.xml - remove dependencies on webapp component:
| Code Block |
|---|
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<display-name>Open For Business - CsTest Component</display-name>
<description>CsTest Component of the Open For Business Project</description>
<context-param>
<param-name>webSiteId</param-name>
<param-value>cstestSite</param-value>
<description>A unique ID used to look up the WebSite entity</description>
</context-param>
<context-param>
<param-name>localDispatcherName</param-name><param-value>cstest</param-value>
<description>A unique name used to identify/recognize the local dispatcher for the Service Engine</description>
</context-param>
<context-param>
<param-name>entityDelegatorName</param-name><param-value>default</param-value>
<description>The Name of the Entity Delegator to use, defined in entityengine.xml</description>
</context-param>
<context-param>
<param-name>mainDecoratorLocation</param-name>
<param-value>component://cstest/widget/CommonScreens.xml</param-value>
<description>The location of the main-decorator screen to use for this webapp; referred to as a context variable in screen def XML files.</description>
</context-param>
<context-param>
<param-name>widgetVerbose</param-name>
<param-value>false</param-value>
<description>Enable widget boundary comments. See org.ofbiz.widget.ModelWidget.widgetBoundaryCommentsEnabled().</description>
</context-param>
<context-param>
<param-name>compressHTML</param-name>
<param-value>false</param-value>
<description>Remove unnecessary whitespace from HTML output.</description>
</context-param>
<!-- <filter>-->
<!-- <filter-name>ContextFilter</filter-name>-->
<!-- <display-name>ContextFilter</display-name>-->
<!-- <filter-class>org.ofbiz.webapp.control.ContextFilter</filter-class>-->
<!-- <init-param><param-name>disableContextSecurity</param-name><param-value>N</param-value></init-param>-->
<!-- <init-param>-->
<!-- <param-name>allowedPaths</param-name>-->
<!-- <param-value>/control:/select:/index.html:/index.jsp:/default.html:/default.jsp:/images:/includes/maincss.css</param-value>-->
<!-- </init-param>-->
<!-- <init-param><param-name>errorCode</param-name><param-value>403</param-value></init-param>-->
<!-- <init-param><param-name>redirectPath</param-name><param-value>/control/main</param-value></init-param>-->
<!-- </filter>-->
<!-- <filter-mapping><filter-name>ContextFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>-->
<!-- <listener><listener-class>org.ofbiz.webapp.control.ControlEventListener</listener-class></listener>-->
<!-- <listener><listener-class>org.ofbiz.webapp.control.LoginEventListener</listener-class></listener>-->
<!-- NOTE: not all app servers support mounting implementations of the HttpSessionActivationListener interface -->
<!-- <listener><listener-class>org.ofbiz.webapp.control.ControlActivationEventListener</listener-class></listener> -->
<!-- <servlet>-->
<!-- <servlet-name>ControlServlet</servlet-name>-->
<!-- <display-name>ControlServlet</display-name>-->
<!-- <description>Main Control Servlet</description>-->
<!-- <servlet-class>org.ofbiz.webapp.control.ControlServlet</servlet-class>-->
<!-- <load-on-startup>1</load-on-startup>-->
<!-- </servlet>-->
<!-- <servlet-mapping><servlet-name>ControlServlet</servlet-name><url-pattern>/control/*</url-pattern></servlet-mapping>-->
<session-config><session-timeout>60</session-timeout><!-- in minutes --></session-config>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
</welcome-file-list>
</web-app>
|
edit hot-deploy/cstest/webapp/cstest/index.jsp:
| Code Block |
|---|
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@page import="org.ofbiz.entity.Delegator"%>
<%@page import="org.ofbiz.entity.DelegatorFactory"%>
<%@page import="org.ofbiz.base.util.Debug"%>
<%@page import="org.ofbiz.entity.transaction.TransactionUtil"%>
<%@page import="org.ofbiz.entity.GenericValue"%>
<%@page import="java.util.List"%>
<%@page import="org.ofbiz.base.util.UtilMisc"%>
<%@page import="java.util.Map"%>
<%@page import="java.util.Date"%><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
Delegator delegator = DelegatorFactory.getDelegator("default");
TransactionUtil.begin();
Long timeMs = (new Date()).getTime();
String id = timeMs.toString();
Map data = UtilMisc.toMap( "id", id );
GenericValue newEntity = delegator.makeValue("CsTest", data);
delegator.create(newEntity);
TransactionUtil.commit();
TransactionUtil.begin();
List<GenericValue> items = delegator.findList("CsTest", null, null, null, null, false);
for (GenericValue item : items) {
response.getWriter().print("Id: " + item.get("id") + "<br/>");
}
TransactionUtil.commit();
%>
</body>
</html>
|
build and run:
| Code Block |
|---|
./ant
./startofbiz.sh
ignore the error:
EntityEcaHandler class with name org.ofbiz.entityext.eca.DelegatorEcaHandler was not found,
|
...
you should see something like:
| Code Block |
|---|
Id: 1267430281292
|
The id you get will be different
...