#21
authorVyacheslav Tyutyunkov <tyutyunkov@gmail.com>
Fri, 22 Mar 2013 11:38:35 +0000 (18:38 +0700)
committerVyacheslav Tyutyunkov <tyutyunkov@gmail.com>
Fri, 22 Mar 2013 11:38:35 +0000 (18:38 +0700)
jejdb/build.properties [new file with mode: 0644]
jejdb/build.xml [new file with mode: 0644]
jejdb/lib/hamcrest-core-1.3.jar [new file with mode: 0644]
jejdb/lib/junit-4.11.jar [new file with mode: 0644]
jejdb/src/java/org/ejdb/driver/EJDB.java
jejdb/src/test/org/ejdb/driver/test/EJDBTest.java [new file with mode: 0644]
jejdb/src/test/org/ejdb/driver/test/Test.java [moved from jejdb/src/java/org/ejdb/Test.java with 98% similarity]
jejdb/src/test/org/ejdb/driver/test/Test2.java [moved from jejdb/src/java/org/ejdb/Test2.java with 97% similarity]

diff --git a/jejdb/build.properties b/jejdb/build.properties
new file mode 100644 (file)
index 0000000..621970f
--- /dev/null
@@ -0,0 +1,40 @@
+distr.version=1.0.1
+distr.name=jejdb-${distr.version}
+
+distr.base=${basedir}/target
+distr.home=${distr.base}
+distr.lib=${distr.base}/lib
+distr.doc=${distr.home}/doc
+
+build.dir=${basedir}/build
+build.classes=${build.dir}/classes
+build.test.dir=${build.dir}/tests
+build.test.classes=${build.test.dir}/classes
+test.data.dir=${build.test.dir}/data
+
+source.dir=${basedir}/src/java
+source.test.dir=${basedir}/src/test
+
+test.reports.dir=${build.dir}/test-reports
+
+lib.dir=${basedir}/lib
+
+## General build options ##
+
+javac.debug=true
+javac.optimize=false
+javac.source=1.6
+javac.target=1.6
+javac.encoding=UTF-8
+
+resources.patterns=**/*.properties, \
+                          **/*.hbm, \
+                          **/*.registry, \
+                          **/*.xml,\
+                          **/*.xsl, \
+                          **/*.wsdd, \
+                          **/*.wsdl, \
+                          **/*.gif, \
+                          **/*.jpg, \
+                          **/*.bmp, \
+                          **/*.png
diff --git a/jejdb/build.xml b/jejdb/build.xml
new file mode 100644 (file)
index 0000000..0143bac
--- /dev/null
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="jejdb" default="build.and.test">
+
+    <property file="build.properties"/>
+
+    <target name="compile.production" description="Compile module JEJDB; production classes">
+        <mkdir dir="${build.dir}"/>
+        <mkdir dir="${build.classes}"/>
+        <javac destdir="${build.classes}"
+               target="${javac.target}"
+               source="${javac.source}"
+               debug="${javac.debug}"
+               optimize="${javac.optimize}"
+               encoding="${javac.encoding}"
+               includeantruntime="false">
+            <src path="${source.dir}"/>
+            <classpath>
+                <path refid="lib.bson.classpath"/>
+            </classpath>
+        </javac>
+
+        <copy todir="${build.classes}">
+            <fileset dir="${source.dir}" includes="${resources.patterns}"/>
+        </copy>
+        <path id="jejdb.classpath" location="${build.classes}"/>
+
+        <mkdir dir="${distr.home}"/>
+        <mkdir dir="${distr.lib}"/>
+        <copy todir="${distr.lib}">
+            <fileset refid="lib.bson.fileset"/>
+        </copy>
+
+        <jar destfile="${distr.home}/${distr.name}.jar" basedir="${build.classes}">
+            <!-- TODO: jar manifest-->
+        </jar>
+    </target>
+
+    <target name="compile.tests" depends="compile.production" description="compile module JEJDB; test classes" if="with.tests">
+        <mkdir dir="${build.test.dir}"/>
+        <mkdir dir="${build.test.classes}"/>
+        <javac destdir="${build.test.classes}"
+               target="${javac.target}"
+               source="${javac.source}"
+               debug="${javac.debug}"
+               optimize="${javac.optimize}"
+               encoding="${javac.encoding}"
+               includeantruntime="false">
+            <src path="${source.test.dir}"/>
+            <classpath>
+                <path refid="lib.bson.classpath"/>
+                <path refid="lib.junit.classpath"/>
+                <path refid="jejdb.classpath"/>
+            </classpath>
+        </javac>
+
+        <copy todir="${build.test.classes}">
+            <fileset dir="${source.test.dir}" includes="${resources.patterns}"/>
+        </copy>
+        <path id="jejdb.test.classpath" location="${build.test.classes}"/>
+
+        <mkdir dir="${distr.home}"/>
+        <mkdir dir="${distr.lib}"/>
+        <copy todir="${distr.lib}">
+            <fileset refid="lib.bson.fileset"/>
+        </copy>
+
+        <mkdir dir="${test.data.dir}"/>
+        <mkdir dir="${test.reports.dir}"/>
+        <junit printsummary="on" showoutput="yes" haltonfailure="yes" haltonerror="yes" dir="${test.data.dir}" fork="true">
+            <env key="LD_LIBRARY_PATH" path="${distr.home}"/>
+            <formatter type="plain"/>
+            <classpath>
+                <path refid="lib.bson.classpath"/>
+                <path refid="lib.junit.classpath"/>
+                <path refid="jejdb.classpath"/>
+                <path refid="jejdb.test.classpath"/>
+            </classpath>
+            <test name="org.ejdb.driver.test.EJDBTest" todir="${test.reports.dir}"/>
+        </junit>
+    </target>
+
+    <target name="compile" depends="init, compile.production, compile.tests"/>
+
+    <target name="init" description="Build initialization">
+        <!-- Perform any build initialization in this target -->
+        <path id="lib.bson.classpath">
+            <fileset id="lib.bson.fileset" dir="${lib.dir}">
+                <include name="bson.jar"/>
+            </fileset>
+        </path>
+
+        <path id="lib.junit.classpath">
+            <fileset id="lib.junit.fileset" dir="${lib.dir}">
+                <include name="junit-4.11.jar"/>
+                <include name="hamcrest-core-1.3.jar"/>
+            </fileset>
+        </path>
+    </target>
+
+    <target name="clean" description="Cleanup">
+        <delete dir="${build.dir}"/>
+        <delete file="${distr.home}/${distr.name}.jar"/>
+    </target>
+
+    <target name="build" depends="clean" description="Build">
+        <ant target="compile" inheritall="true" inheritrefs="true"/>
+    </target>
+
+    <target name="build.and.test" depends="clean" description="Build JEJDB and run tests">
+        <property name="with.tests" value="true"/>
+        <ant target="compile" inheritall="true" inheritrefs="true"/>
+    </target>
+
+</project>
\ No newline at end of file
diff --git a/jejdb/lib/hamcrest-core-1.3.jar b/jejdb/lib/hamcrest-core-1.3.jar
new file mode 100644 (file)
index 0000000..9d5fe16
Binary files /dev/null and b/jejdb/lib/hamcrest-core-1.3.jar differ
diff --git a/jejdb/lib/junit-4.11.jar b/jejdb/lib/junit-4.11.jar
new file mode 100644 (file)
index 0000000..aaf7444
Binary files /dev/null and b/jejdb/lib/junit-4.11.jar differ
index 176138e..cb5417d 100644 (file)
@@ -1,5 +1,9 @@
 package org.ejdb.driver;
 
+import com.sun.servicetag.SystemEnvironment;
+
+import java.io.IOException;
+import java.io.InputStream;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
diff --git a/jejdb/src/test/org/ejdb/driver/test/EJDBTest.java b/jejdb/src/test/org/ejdb/driver/test/EJDBTest.java
new file mode 100644 (file)
index 0000000..0c2ff1b
--- /dev/null
@@ -0,0 +1,37 @@
+package org.ejdb.driver.test;
+
+import junit.framework.TestCase;
+
+import org.ejdb.driver.EJDB;
+
+/**
+ * @author Tyutyunkov Vyacheslav (tve@softmotions.com)
+ * @version $Id$
+ */
+public class EJDBTest extends TestCase {
+
+    private EJDB db;
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+
+        db = new EJDB();
+        assertFalse(db.isOpen());
+        db.open("jejdb-test");
+        assertTrue(db.isOpen());
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        super.tearDown();
+
+        assertNotNull(db);
+        assertTrue(db.isOpen());
+        db.close();
+        assertFalse(db.isOpen());
+    }
+
+    public void testDBOpen() throws Exception {
+    }
+}
similarity index 98%
rename from jejdb/src/java/org/ejdb/Test.java
rename to jejdb/src/test/org/ejdb/driver/test/Test.java
index 4c598cf..e760b8b 100644 (file)
@@ -1,4 +1,4 @@
-package org.ejdb;
+package org.ejdb.driver.test;
 
 import org.bson.BSONObject;
 import org.bson.BasicBSONObject;
@@ -19,7 +19,7 @@ import java.util.Random;
  * @version $Id$
  */
 public class Test {
-    public static void main(String[] args) throws InterruptedException, IOException {
+    public static void main(String[] args) throws Exception {
         EJDB db = new EJDB();
 
         try {
similarity index 97%
rename from jejdb/src/java/org/ejdb/Test2.java
rename to jejdb/src/test/org/ejdb/driver/test/Test2.java
index ffe16e8..0cfc101 100644 (file)
@@ -1,4 +1,4 @@
-package org.ejdb;
+package org.ejdb.driver.test;
 
 import org.bson.BSONObject;
 import org.bson.BasicBSONObject;
@@ -20,7 +20,7 @@ public class Test2 {
     public static final int TEST_COUNT = 15;
     public static final Random random = new Random(System.currentTimeMillis());
 
-    public static void main(String[] args) throws IOException {
+    public static void main(String[] args) throws Exception {
         EJDB db = new EJDB();
 
         try {