测试ofbiz3 的entity

类别:Java 点击:0 评论:0 推荐:

 测试ofbiz3 的entity.
 
  前期工作:

     1:请先用jbx建立ofbiz3的应用
     2:在D:\work\ofbiz\base\config中建一个ofbiz-test.xml文件,内容为:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ofbiz-containers PUBLIC "-//OFBiz//DTD Containers Config//EN" "http://www.ofbiz.org/dtds/ofbiz-containers.dtd">
<ofbiz-containers>
    <!-- load the ofbiz components (always first) -->
    <container name="component-container" class="org.ofbiz.base.container.ComponentContainer"/>

    <!-- load the cached classloader container (always second) -->
    <container name="classloader-container" class="org.ofbiz.base.container.ClassLoaderContainer"/>

    <!-- load JNDI/JOTM -->
    <container name="jotm-container" class="org.ofbiz.entity.transaction.JotmContainer"/>

    <!-- RMI Service Dispatcher -->
    <container name="rmi-dispatcher" class="org.ofbiz.service.rmi.RmiServiceContainer">
        <property name="lookup-name" value="RMIDispatcher"/>
        <property name="delegator-name" value="default"/>
        <property name="client-factory" value="org.ofbiz.service.rmi.socket.CompressionClientSocketFactory"/>
        <property name="server-factory" value="org.ofbiz.service.rmi.socket.CompressionServerSocketFactory"/>
    </container>

  
</ofbiz-containers>

     3:copy D:\work\ofbiz\base\src\start\org\ofbiz\base\start\Start.properties 到src目录

     4:修改Start.properties文件:
       ofbiz.container.config=base/config/ofbiz-test.xml


 编写java文件:

    package test;

import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.lang.reflect.Method;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.ConnectException;
import java.net.Socket;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Properties;
import org.ofbiz.base.start.*;
import org.ofbiz.entity.*;
import org.ofbiz.base.util.*;


public class TestEntity {

  public static final String CONFIG_FILE = "start.properties";
  public static final String SHUTDOWN_COMMAND = "SHUTDOWN";
  public static final String STATUS_COMMAND = "STATUS";

  private Classpath classPath = new Classpath(System.getProperty(
      "java.class.path"));

  private List loaders = null;
  private Start.Config config = null;

  public TestEntity(String configFile) throws IOException {
    if (configFile == null) {
      configFile = CONFIG_FILE;
    }

    this.config = new Start.Config(configFile);
    this.loaders = new ArrayList();
  }

  private void loadLibs(String path) throws Exception {
    File libDir = new File(path);
    if (libDir.exists()) {
      File files[] = libDir.listFiles();
      for (int i = 0; i < files.length; i++) {
        String fileName = files[i].getName();
        if (files[i].isDirectory() && !"CVS".equals(fileName)) {
          loadLibs(files[i].getCanonicalPath());
        }
        else if (fileName.endsWith(".jar") || fileName.endsWith(".zip")) {
          classPath.addComponent(files[i]);
        }
      }
    }
  }

  private void startServer() throws Exception {
    // load the lib directory
    loadLibs(config.baseLib);

    // load the ofbiz-base.jar
    classPath.addComponent(config.baseJar);

    // load the config directory
    classPath.addComponent(config.baseConfig);

    // set the classpath/classloader
    System.setProperty("java.class.path", classPath.toString());
    ClassLoader classloader = classPath.getClassLoader();
    Thread.currentThread().setContextClassLoader(classloader);

    // stat the log directory
    boolean createdDir = false;
    File logDir = new File(config.logDir);
    if (!logDir.exists()) {
      logDir.mkdir();
      createdDir = true;
    }

    // start the loaders
    Iterator li = config.loaders.iterator();
    while (li.hasNext()) {
      String loaderClassName = (String) li.next();
      try {
        Class loaderClass = classloader.loadClass(loaderClassName);
        StartupLoader loader = (StartupLoader) loaderClass.newInstance();
        loader.load(config);
        loaders.add(loader);
      }
      catch (Exception e) {
        e.printStackTrace();
        System.exit(99);
      }
    }
  }

  public void testEntity() throws Exception {
    System.out.println("Entered testFindByPrimaryKey");
//Instantiate the delegator.
    GenericDelegator delegator = GenericDelegator.getGenericDelegator("default");

// Find book by primary key
    try {
      GenericValue party = delegator.findByPrimaryKey("PartyType",
          UtilMisc.toMap("partyTypeId", "PERSON"));
      System.out.println(party.getString("description") );
      System.out.println(party.getString("hasTable") );      
    }
    catch (GenericEntityException ex1) {
    }
    return;


}

public void start() throws Exception {
  startServer();
}

public static void main(String[] args) throws Exception {
  TestEntity start = new TestEntity(args.length == 2 ? args[1] : null);

  start.start();
  start.testEntity();

}

}
    
         
编译,运行:

结果为:


Entered testFindByPrimaryKey

Person

Y


mail:[email protected]

  

本文地址:http://com.8s8s.com/it/it11185.htm