From f1cb5d904c918159fa5e9ce398d9711b5b9d7fbb Mon Sep 17 00:00:00 2001
From: Roland Haeder <roland@mxchange.org>
Date: Fri, 9 Oct 2015 09:59:12 +0200
Subject: [PATCH] =?utf8?q?Initial=20creation=20of=20first=20addressbook=20?=
 =?utf8?q?EJB.=20This=20requires=20adding=20some=20own=20libs=20and=20upda?=
 =?utf8?q?ting=20project=20files=20Signed-off-by:Roland=20H=C3=A4der=20<ro?=
 =?utf8?q?land@mxchange.org>?=
MIME-Version: 1.0
Content-Type: text/plain; charset=utf8
Content-Transfer-Encoding: 8bit

---
 .gitignore                                    |   3 +-
 lib/jcoreee.jar                               | Bin 0 -> 17973 bytes
 lib/juser-lib.jar                             | Bin 0 -> 3749 bytes
 nbproject/build-impl.xml                      |  19 +++++++-
 nbproject/genfiles.properties                 |   6 +--
 nbproject/project.properties                  |   9 +++-
 nbproject/project.xml                         |   2 +
 src/conf/beans.xml                            |   6 +++
 .../addressbooks/AddressbookSessionBean.java  |  42 ++++++++++++++++++
 9 files changed, 80 insertions(+), 7 deletions(-)
 create mode 100644 lib/jcoreee.jar
 create mode 100644 lib/juser-lib.jar
 create mode 100644 src/conf/beans.xml
 create mode 100644 src/java/org/mxchange/addressbook/model/addressbooks/AddressbookSessionBean.java

diff --git a/.gitignore b/.gitignore
index 315ea15..bc920a3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
 /dist/
 /build/
-/nbproject/private/
\ No newline at end of file
+/nbproject/private/
+/nbproject/*~
diff --git a/lib/jcoreee.jar b/lib/jcoreee.jar
new file mode 100644
index 0000000000000000000000000000000000000000..b39cb8c944ebf489c444e37eff82a6afd0a78220
GIT binary patch
literal 17973
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

literal 0
HcmV?d00001

diff --git a/lib/juser-lib.jar b/lib/juser-lib.jar
new file mode 100644
index 0000000000000000000000000000000000000000..a1cdc145edc7915473994d9fde5b2a0b7ad5fb4a
GIT binary patch
literal 3749
zcmcgu-EI>{6h7l5Ha0Oyh*5te)QCz^A{1{>t475IbqO(zVuvUOBzn_sb|=fE>)kNB
zMxl3k4pfy3uKNJJC=wu~@*urxUjg-;U3>q+?ivJ)G+yuQIp55j`OcYdXKP}z25<_X
zwZ3@+Vyz03(A~JDu550%mDjHTc0$w3X!^Wi{$`>%^#=CPw5x7!wl{jWn%#C+v&BAl
zy_Gv$y27z9FI;M_)@!OA8&MB6{T^SyG5q*#^XqzTU2@Ii#>%yaWWUy2{pp*vmA%zV
z3rjbprdxbr-I0fm)I3C7uGi|dXkqC+Oya^EX)4(k^`S-oNWZ7qCeJbbByD;yaJkeS
zndfvq+o|su+{&5n%OY3HF@>E2uvi2jxhY(a%N&dgMHm!=l>h3#ouBWP0I07Q`3IZ0
zjVK-3PLI39lxtkGcX{9OcvH7D*M0T+&%Y4qD`-^UOa*2tFw5Yx2bv`e<O+GKy6y~Y
zujgsrz-6$z)S-h9k2N~0Ang9K$*;9Mt|5ck#*xksiFa-V<|=Tu0`oZ9a|Tl9ZDDZ+
zU*zoMKzpF!s&{djqR;OLSL|6_wQUF2OqdMLcF5*P;Rkz4u>BT;E4dpfiXVen!c;6|
zw{mmufa@NEhCd`6rN^bfApWZ1N*JtV%*4ZOE400B$7^G(jW8MvTH|>Jr_*utUwGX6
z`?vAFZR?J`FJwOkQD(rPgna@@!X_D(t|@#g<J&15tKe@Hzhj}p-_tOS&oX|;<WE+H
ztw-C(zawj@chM+gT>*u{?4g+K`l%EYr6LZWL-q#zVK6;HA&`$j+xZGKkO0E<Pg3ji
zVC7tLgTck|v*t$zp9*)QuL(;v42fwQ2TJ6`VsU`pF*R<yrvrMMB)Oh3XF5qRw5o+y
znei|ROe|x5D29m#HybL!{fPwk%gA=*K8{t1`}jOP%mK=P67v7dFcW6dneh0Jr;iQH
z0_s<aGGTz+^((^|%%_^^Q*e4;SQatky5?b7{2&E;#^m0J=N-K2u);1a`!!Y>c*0U>
z3@dE4Crlgf4T&{y@r1#5frDQ_d!7`w*}95O^N1Zkp#VRTSoi(g^*tn31e8du&uMQb
zWB!iGlvVvx7v_oi#!sFERi}njC0dq|ri?@=lCp~LwbZ*`vT?lbm+q2J+Y-#c?2x{5
zL|;~FOk_)0w8S<G|Ecs0)oLJYBiA=cTXLZG<oF`~hORN8n>RUW(4f)eFYqsAex3(u
z(x8#YKlnFMEAm`PqXvy!=UB=$QbBnjq*)`7b~eaJ!A9Xr3vkk~5!7)J)JV~01CpkV
z0G|~Bj&9f7cwZPn`t&Gc#Y@CH3R)}^((y}c-Vx-J<8~2Vk%9{paC*YDREZ`;>65>K
vFep?$g3BpaxTL2}-wn~!HB8~+*uA-G`8t1RYl=i0ruj6yL^1a_NjCT&<PHAH

literal 0
HcmV?d00001

diff --git a/nbproject/build-impl.xml b/nbproject/build-impl.xml
index aa0c0bc..75d0db9 100644
--- a/nbproject/build-impl.xml
+++ b/nbproject/build-impl.xml
@@ -141,6 +141,13 @@ is divided into following sections:
         <property name="javadoc.encoding.used" value="${source.encoding}"/>
         <property name="includes" value="**"/>
         <property name="excludes" value=""/>
+        <path id="endorsed.classpath.path" path="${endorsed.classpath}"/>
+        <condition else="" property="endorsed.classpath.cmd.line.arg" value="-Xbootclasspath/p:'${toString:endorsed.classpath.path}'">
+            <and>
+                <isset property="endorsed.classpath"/>
+                <length length="0" string="${endorsed.classpath}" when="greater"/>
+            </and>
+        </condition>
         <condition property="is.server.weblogic" value="true">
             <equals arg1="${j2ee.server.type}" arg2="WebLogic9"/>
         </condition>
@@ -819,16 +826,24 @@ exists or setup the property manually. For example like this:
     </target>
     <target depends="compile,-library-inclusion-in-archive-weblogic,-library-inclusion-in-archive-by-user" name="library-inclusion-in-archive"/>
     <target if="is.jars.in.ejbjar" name="-library-inclusion-in-archive-by-user">
+        <copyfiles files="${file.reference.jcoreee.jar}" todir="${build.classes.dir}"/>
+        <copyfiles files="${file.reference.juser-lib.jar}" todir="${build.classes.dir}"/>
         <copyfiles files="${reference.addressbook-lib.jar}" todir="${build.classes.dir}"/>
     </target>
     <target if="is.server.weblogic" name="-library-inclusion-in-archive-weblogic">
+        <basename file="${file.reference.jcoreee.jar}" property="manifest.file.reference.jcoreee.jar"/>
+        <basename file="${file.reference.juser-lib.jar}" property="manifest.file.reference.juser-lib.jar"/>
         <basename file="${reference.addressbook-lib.jar}" property="manifest.reference.addressbook-lib.jar"/>
         <manifest file="${build.ear.classes.dir}/META-INF/MANIFEST.MF" mode="update">
-            <attribute name="Extension-List" value="jar-1 "/>
-            <attribute name="jar-1-Extension-Name" value="${manifest.reference.addressbook-lib.jar}"/>
+            <attribute name="Extension-List" value="jar-1 jar-2 jar-3 "/>
+            <attribute name="jar-1-Extension-Name" value="${manifest.file.reference.jcoreee.jar}"/>
+            <attribute name="jar-2-Extension-Name" value="${manifest.file.reference.juser-lib.jar}"/>
+            <attribute name="jar-3-Extension-Name" value="${manifest.reference.addressbook-lib.jar}"/>
         </manifest>
     </target>
     <target depends="compile" name="library-inclusion-in-manifest">
+        <copyfiles files="${file.reference.jcoreee.jar}" todir="${dist.ear.dir}/lib"/>
+        <copyfiles files="${file.reference.juser-lib.jar}" todir="${dist.ear.dir}/lib"/>
         <copyfiles files="${reference.addressbook-lib.jar}" todir="${dist.ear.dir}/lib"/>
         <manifest file="${build.ear.classes.dir}/META-INF/MANIFEST.MF" mode="update"/>
     </target>
diff --git a/nbproject/genfiles.properties b/nbproject/genfiles.properties
index d5a3262..4203e6b 100644
--- a/nbproject/genfiles.properties
+++ b/nbproject/genfiles.properties
@@ -1,8 +1,8 @@
-build.xml.data.CRC32=096a9654
+build.xml.data.CRC32=99c0adbf
 build.xml.script.CRC32=7d41e0fd
 build.xml.stylesheet.CRC32=5910fda3@1.51.1
 # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
 # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
-nbproject/build-impl.xml.data.CRC32=096a9654
-nbproject/build-impl.xml.script.CRC32=68bd0df7
+nbproject/build-impl.xml.data.CRC32=99c0adbf
+nbproject/build-impl.xml.script.CRC32=9f98b4d1
 nbproject/build-impl.xml.stylesheet.CRC32=6096d939@1.51.1
diff --git a/nbproject/project.properties b/nbproject/project.properties
index 2d3336f..e0224b9 100644
--- a/nbproject/project.properties
+++ b/nbproject/project.properties
@@ -18,12 +18,15 @@ dist.dir=dist
 dist.ear.jar=${dist.dir}/${jar.name}
 dist.jar=${dist.dir}/${jar.name}
 dist.javadoc.dir=${dist.dir}/javadoc
+endorsed.classpath=
 excludes=
+file.reference.jcoreee.jar=lib\\jcoreee.jar
+file.reference.juser-lib.jar=lib/juser-lib.jar
 includes=**
 j2ee.compile.on.save=true
 j2ee.deploy.on.save=true
 j2ee.platform=1.7
-j2ee.platform.classpath=${j2ee.server.home}/modules/endorsed/javax.annotation-api.jar:${j2ee.server.home}/modules/endorsed/webservices-api-osgi.jar:${j2ee.server.home}/modules/endorsed/jaxb-api.jar:${j2ee.server.home}/modules/javax.batch-api.jar:${j2ee.server.home}/modules/javax.security.auth.message-api.jar:${j2ee.server.home}/modules/javax.faces.jar:${j2ee.server.home}/modules/javax.servlet.jsp.jstl-api.jar:${j2ee.server.home}/modules/javax.transaction-api.jar:${j2ee.server.home}/modules/javax.servlet.jsp.jar:${j2ee.server.home}/modules/webservices-osgi.jar:${j2ee.server.home}/modules/javax.mail.jar:${j2ee.server.home}/modules/javax.interceptor-api.jar:${j2ee.server.home}/modules/javax.inject.jar:${j2ee.server.home}/modules/javax.resource-api.jar:${j2ee.server.home}/modules/javax.enterprise.concurrent-api.jar:${j2ee.server.home}/modules/javax.el.jar:${j2ee.server.home}/modules/javax.ejb-api.jar:${j2ee.server.home}/modules/javax.xml.rpc-api.jar:${j2ee.server.home}/modules/javax.security.jacc-api.jar:${j2ee.server.home}/modules/javax.json.jar:${j2ee.server.home}/modules/javax.xml.registry-api.jar:${j2ee.server.home}/modules/javax.websocket-api.jar:${j2ee.server.home}/modules/javax.management.j2ee-api.jar:${j2ee.server.home}/modules/javax.servlet-api.jar:${j2ee.server.home}/modules/javax.jms-api.jar:${j2ee.server.home}/modules/javax.enterprise.concurrent.jar:${j2ee.server.home}/modules/javax.servlet.jsp.jstl.jar:${j2ee.server.home}/modules/javax.enterprise.deploy-api.jar:${j2ee.server.home}/modules/bean-validator.jar:${j2ee.server.home}/modules/javax.ws.rs-api.jar:${j2ee.server.home}/modules/javax.servlet.jsp-api.jar:${j2ee.server.home}/modules/jaxb-osgi.jar:${j2ee.server.home}/modules/weld-osgi-bundle.jar:${j2ee.server.home}/modules/javax.persistence.jar:${j2ee.server.middleware}/mq/lib/jaxm-api.jar
+j2ee.platform.classpath=${j2ee.server.middleware}/mq/lib/jaxm-api.jar:${j2ee.server.home}/modules/endorsed/javax.annotation-api.jar:${j2ee.server.home}/modules/endorsed/jaxb-api.jar:${j2ee.server.home}/modules/endorsed/webservices-api-osgi.jar:${j2ee.server.home}/modules/bean-validator.jar:${j2ee.server.home}/modules/javax.batch-api.jar:${j2ee.server.home}/modules/javax.ejb-api.jar:${j2ee.server.home}/modules/javax.el.jar:${j2ee.server.home}/modules/javax.enterprise.concurrent-api.jar:${j2ee.server.home}/modules/javax.enterprise.concurrent.jar:${j2ee.server.home}/modules/javax.enterprise.deploy-api.jar:${j2ee.server.home}/modules/javax.faces.jar:${j2ee.server.home}/modules/javax.inject.jar:${j2ee.server.home}/modules/javax.interceptor-api.jar:${j2ee.server.home}/modules/javax.jms-api.jar:${j2ee.server.home}/modules/javax.json.jar:${j2ee.server.home}/modules/javax.mail.jar:${j2ee.server.home}/modules/javax.management.j2ee-api.jar:${j2ee.server.home}/modules/javax.persistence.jar:${j2ee.server.home}/modules/javax.resource-api.jar:${j2ee.server.home}/modules/javax.security.auth.message-api.jar:${j2ee.server.home}/modules/javax.security.jacc-api.jar:${j2ee.server.home}/modules/javax.servlet-api.jar:${j2ee.server.home}/modules/javax.servlet.jsp-api.jar:${j2ee.server.home}/modules/javax.servlet.jsp.jar:${j2ee.server.home}/modules/javax.servlet.jsp.jstl-api.jar:${j2ee.server.home}/modules/javax.servlet.jsp.jstl.jar:${j2ee.server.home}/modules/javax.transaction-api.jar:${j2ee.server.home}/modules/javax.websocket-api.jar:${j2ee.server.home}/modules/javax.ws.rs-api.jar:${j2ee.server.home}/modules/javax.xml.registry-api.jar:${j2ee.server.home}/modules/javax.xml.rpc-api.jar:${j2ee.server.home}/modules/jaxb-osgi.jar:${j2ee.server.home}/modules/webservices-osgi.jar:${j2ee.server.home}/modules/weld-osgi-bundle.jar
 j2ee.platform.embeddableejb.classpath=${j2ee.server.home}/lib/embedded/glassfish-embedded-static-shell.jar
 j2ee.platform.wscompile.classpath=${j2ee.server.home}/modules/webservices-osgi.jar
 j2ee.platform.wsgen.classpath=${j2ee.server.home}/modules/webservices-osgi.jar:${j2ee.server.home}/modules/endorsed/webservices-api-osgi.jar:${j2ee.server.home}/modules/jaxb-osgi.jar:${j2ee.server.home}/modules/endorsed/jaxb-api.jar
@@ -34,6 +37,8 @@ jar.compress=false
 jar.name=addressbook-ejb.jar
 jars.in.ejbjar=false
 javac.classpath=\
+    ${file.reference.jcoreee.jar}:\
+    ${file.reference.juser-lib.jar}:\
     ${reference.addressbook-lib.jar}
 javac.compilerargs=-Xlint:unchecked -Xlint:deprecation
 javac.debug=true
@@ -72,6 +77,8 @@ run.test.classpath=\
 # (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value):
 runmain.jvmargs=
 source.encoding=UTF-8
+source.reference.jcoreee.jar=../jcoreee/src/
+source.reference.juser-lib.jar=../juser-lib/src/
 source.root=src
 src.dir=${source.root}/java
 test.src.dir=test
diff --git a/nbproject/project.xml b/nbproject/project.xml
index 7a3905f..07a88f3 100644
--- a/nbproject/project.xml
+++ b/nbproject/project.xml
@@ -5,6 +5,8 @@
         <data xmlns="http://www.netbeans.org/ns/j2ee-ejbjarproject/3">
             <name>addressbook-ejb</name>
             <minimum-ant-version>1.6.5</minimum-ant-version>
+            <included-library dirs="200">file.reference.jcoreee.jar</included-library>
+            <included-library dirs="200">file.reference.juser-lib.jar</included-library>
             <included-library dirs="200">reference.addressbook-lib.jar</included-library>
             <source-roots>
                 <root id="src.dir"/>
diff --git a/src/conf/beans.xml b/src/conf/beans.xml
new file mode 100644
index 0000000..0f4e2aa
--- /dev/null
+++ b/src/conf/beans.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://xmlns.jcp.org/xml/ns/javaee"
+	   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	   xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd"
+	   bean-discovery-mode="all">
+</beans>
diff --git a/src/java/org/mxchange/addressbook/model/addressbooks/AddressbookSessionBean.java b/src/java/org/mxchange/addressbook/model/addressbooks/AddressbookSessionBean.java
new file mode 100644
index 0000000..191c4b1
--- /dev/null
+++ b/src/java/org/mxchange/addressbook/model/addressbooks/AddressbookSessionBean.java
@@ -0,0 +1,42 @@
+/*
+ * Copyright (C) 2015 Roland Haeder
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+package org.mxchange.addressbook.model.addressbooks;
+
+import javax.ejb.EJB;
+import javax.ejb.Stateless;
+import org.mxchange.jcoreee.database.BaseDatabaseBean;
+import org.mxchange.jusercore.model.login.UserLoginSessionBeanRemote;
+
+/**
+ * A stateless bean handling addressbooks
+ * <p>
+ * @author Roland Haeder
+ */
+@Stateless (name = "addressbook", mappedName = "ejb/stateless-addressbook", description = "A stateless bean for handling addressbooks")
+public class AddressbookSessionBean extends BaseDatabaseBean implements AddressbookSessionBeanRemote {
+
+	/**
+	 * Serial number
+	 */
+	private static final long serialVersionUID = 129_857_871_287_691L;
+
+	/**
+	 * Login bean
+	 */
+	@EJB
+	private UserLoginSessionBeanRemote loginBean;
+}
-- 
2.39.5