From: <pka...@us...> - 2009-06-27 15:39:02
|
Revision: 276 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=276&view=rev Author: pkasprzak Date: 2009-06-27 15:38:59 +0000 (Sat, 27 Jun 2009) Log Message: ----------- * WebConfig port Added Paths: ----------- trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/build.xml trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/nbproject/ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/nbproject/ant-deploy.xml trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/nbproject/build-impl.xml trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/nbproject/genfiles.properties trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/nbproject/project.properties trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/nbproject/project.xml trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/conf/ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/conf/MANIFEST.MF trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/conf/persistence.xml trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/configuration.xml trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/de/ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/de/campussource/ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/de/campussource/cse/ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/de/campussource/cse/webconfig/ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/de/campussource/cse/webconfig/Configuration.java trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/de/campussource/cse/webconfig/ConfigurationManager.java trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/de/campussource/cse/webconfig/ConfigurationManagerImpl.java trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/de/campussource/cse/webconfig/ConfigurationManagerRemote.java trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/de/campussource/cse/webconfig/Setting.java trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/de/campussource/cse/webconfig/SettingCategory.java trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/de/campussource/cse/webconfig/SettingNotFoundException.java trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/de/campussource/cse/webconfig/jaxb.index trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/test/ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/build.xml trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/nbproject/ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/nbproject/ant-deploy.xml trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/nbproject/build-impl.xml trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/nbproject/genfiles.properties trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/nbproject/project.properties trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/nbproject/project.xml trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/src/ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/src/conf/ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/src/conf/MANIFEST.MF trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/src/java/ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/src/java/de/ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/src/java/de/campussource/ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/src/java/de/campussource/cse/ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/src/java/de/campussource/cse/webconfig/ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/src/java/de/campussource/cse/webconfig/AuthServletStub.java trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/src/java/de/campussource/cse/webconfig/ConfigurationServlet.java trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/src/java/de/campussource/cse/webconfig/EditConfigurationServlet.java trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/test/ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/web/ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/web/WEB-INF/ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/web/WEB-INF/sun-web.xml trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/web/WEB-INF/web.xml trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/web/cseip_logo.png trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/web/index.jsp trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/web/style.css trunk/sandbox/lsf-adapter-demo/WebConfig/build.xml trunk/sandbox/lsf-adapter-demo/WebConfig/nbproject/ trunk/sandbox/lsf-adapter-demo/WebConfig/nbproject/ant-deploy.xml trunk/sandbox/lsf-adapter-demo/WebConfig/nbproject/build-impl.xml trunk/sandbox/lsf-adapter-demo/WebConfig/nbproject/genfiles.properties trunk/sandbox/lsf-adapter-demo/WebConfig/nbproject/project.properties trunk/sandbox/lsf-adapter-demo/WebConfig/nbproject/project.xml trunk/sandbox/lsf-adapter-demo/WebConfig/src/ trunk/sandbox/lsf-adapter-demo/WebConfig/src/conf/ trunk/sandbox/lsf-adapter-demo/WebConfig/src/conf/MANIFEST.MF Property Changed: ---------------- trunk/sandbox/lsf-adapter-demo/WebConfig/ Property changes on: trunk/sandbox/lsf-adapter-demo/WebConfig ___________________________________________________________________ Added: svn:ignore + dist build Property changes on: trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb ___________________________________________________________________ Added: svn:ignore + build dist Added: trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/build.xml =================================================================== --- trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/build.xml (rev 0) +++ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/build.xml 2009-06-27 15:38:59 UTC (rev 276) @@ -0,0 +1,68 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- You may freely edit this file. See commented blocks below for --> +<!-- some examples of how to customize the build. --> +<!-- (If you delete it and reopen the project it will be recreated.) --> +<!-- By default, only the Clean and Build commands use this build script. --> +<!-- Commands such as Run, Debug, and Test only use this build script if --> +<!-- the Compile on Save feature is turned off for the project. --> +<!-- You can turn off the Compile on Save (or Deploy on Save) setting --> +<!-- in the project's Project Properties dialog box.--> +<project name="WebConfig-ejb" default="default" basedir="." xmlns:ejbjarproject="http://www.netbeans.org/ns/j2ee-ejbjarproject/3"> + <description>Builds, tests, and runs the project WebConfig-ejb.</description> + <import file="nbproject/build-impl.xml"/> + <!-- + + There exist several targets which are by default empty and which can be + used for execution of your tasks. These targets are usually executed + before and after some main targets. They are: + + -pre-init: called before initialization of project properties + -post-init: called after initialization of project properties + -pre-compile: called before javac compilation + -post-compile: called after javac compilation + -pre-compile-single: called before javac compilation of single file + -post-compile-single: called after javac compilation of single file + -pre-dist: called before archive building + -post-dist: called after archive building + -post-clean: called after cleaning build products + -pre-run-deploy: called before deploying + -post-run-deploy: called after deploying + + (Targets beginning with '-' are not intended to be called on their own.) + + Example of pluging an obfuscator after the compilation could look like + + <target name="-post-compile"> + <obfuscate> + <fileset dir="${build.classes.dir}"/> + </obfuscate> + </target> + + For list of available properties check the imported + nbproject/build-impl.xml file. + + + Other way how to customize the build is by overriding existing main targets. + The target of interest are: + + init-macrodef-javac: defines macro for javac compilation + init-macrodef-debug: defines macro for class debugging + do-dist: archive building + run: execution of project + javadoc-build: javadoc generation + + Example of overriding the target for project execution could look like + + <target name="run" depends="<PROJNAME>-impl.jar"> + <exec dir="bin" executable="launcher.exe"> + <arg file="${dist.jar}"/> + </exec> + </target> + + Notice that overridden target depends on jar target and not only on + compile target as regular run target does. Again, for list of available + properties which you can use check the target you are overriding in + nbproject/build-impl.xml file. + + --> +</project> Property changes on: trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/nbproject ___________________________________________________________________ Added: svn:ignore + private Added: trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/nbproject/ant-deploy.xml =================================================================== --- trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/nbproject/ant-deploy.xml (rev 0) +++ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/nbproject/ant-deploy.xml 2009-06-27 15:38:59 UTC (rev 276) @@ -0,0 +1,60 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project default="-deploy-ant" basedir="."> + <target name="-init-cl-deployment-env" if="deploy.ant.enabled"> + <property file="${deploy.ant.properties.file}" /> + <available file="${deploy.ant.docbase.dir}/WEB-INF/sun-web.xml" property="sun.web.present"/> + <available file="${deploy.ant.resource.dir}" property="has.setup"/> + <tempfile prefix="sjsas" property="sjsas.password.file" destdir="${java.io.tmpdir}"/> <!-- do not forget to delete this! --> + <echo message="AS_ADMIN_PASSWORD=${sjsas.password}" file="${sjsas.password.file}"/> + </target> + + <target name="-parse-sun-web" depends="-init-cl-deployment-env" if="sun.web.present"> + <tempfile prefix="sjsas" property="temp.sun.web" destdir="${java.io.tmpdir}"/> + <copy file="${deploy.ant.docbase.dir}/WEB-INF/sun-web.xml" tofile="${temp.sun.web}"/> + <!-- The doctype triggers resolution which can fail --> + <replace file="${temp.sun.web}"> + <replacetoken><![CDATA[<!DOCTYPE]]></replacetoken> + <replacevalue><![CDATA[<!-- <!DOCTYPE]]></replacevalue> + </replace> + <replace file="${temp.sun.web}"> + <replacetoken><![CDATA[<sun-web-app]]></replacetoken> + <replacevalue><![CDATA[--> <sun-web-app]]></replacevalue> + </replace> + <xmlproperty file="${temp.sun.web}" validate="false"> + </xmlproperty> + <delete file="${temp.sun.web}"/> + <property name="deploy.ant.client.url" value="${sjsas.url}${sun-web-app.context-root}"/> + </target> + <target name="-add-resources" depends="-init-cl-deployment-env" if="has.setup"> + <tempfile prefix="sjsas" property="sjsas.resources.dir" destdir="${java.io.tmpdir}"/> + <mkdir dir="${sjsas.resources.dir}"/> + <mkdir dir="${sjsas.resources.dir}/META-INF"/> + <property name="sjsas.resources.file" value="${sjsas.resources.dir}/META-INF/sun-resources.xml"/> + <copy todir="${sjsas.resources.dir}/META-INF"> + <fileset dir="${deploy.ant.resource.dir}"/> + </copy> + <jar destfile="${deploy.ant.archive}" update="true"> + <fileset dir="${sjsas.resources.dir}"/> + </jar> + <delete dir="${sjsas.resources.dir}"/> + </target> + <target name="-deploy-ant" depends="-parse-sun-web,-add-resources" if="deploy.ant.enabled"> + <echo message="Deploying ${deploy.ant.archive}"/> + <taskdef name="sun-appserv-deploy" classname="org.apache.tools.ant.taskdefs.optional.sun.appserv.DeployTask" + classpath="${sjsas.root}/lib/sun-appserv-ant.jar" /> + <sun-appserv-deploy user="${sjsas.username}" + passwordfile="${sjsas.password.file}" + host="${sjsas.host}" port="${sjsas.port}" + file="${deploy.ant.archive}" asinstalldir="${sjsas.root}"/> + <delete file="${sjsas.password.file}"/> + </target> + <target name="-undeploy-ant" depends="-init-cl-deployment-env" if="deploy.ant.enabled"> + <taskdef name="sun-appserv-undeploy" classname="org.apache.tools.ant.taskdefs.optional.sun.appserv.UndeployTask" + classpath="${sjsas.root}/lib/sun-appserv-ant.jar" /> + <sun-appserv-undeploy user="${sjsas.username}" + passwordfile="${sjsas.password.file}" + host="${sjsas.host}" port="${sjsas.port}" + file="${deploy.ant.archive}" asinstalldir="${sjsas.root}"/> + <delete file="${sjsas.password.file}"/> + </target> +</project> Added: trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/nbproject/build-impl.xml =================================================================== --- trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/nbproject/build-impl.xml (rev 0) +++ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/nbproject/build-impl.xml 2009-06-27 15:38:59 UTC (rev 276) @@ -0,0 +1,578 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +*** GENERATED FROM project.xml - DO NOT EDIT *** +*** EDIT ../build.xml INSTEAD *** + +For the purpose of easier reading the script +is divided into following sections: + + - initialization + - compilation + - dist + - execution + - debugging + - javadoc + - cleanup + + --> +<project xmlns:ejbjarproject1="http://www.netbeans.org/ns/j2ee-ejbjarproject/1" xmlns:ejbjarproject2="http://www.netbeans.org/ns/j2ee-ejbjarproject/2" xmlns:ejbjarproject3="http://www.netbeans.org/ns/j2ee-ejbjarproject/3" basedir=".." default="default" name="WebConfig-ejb-impl"> + <import file="ant-deploy.xml"/> + <target depends="dist,javadoc" description="Build whole project." name="default"/> + <!-- + INITIALIZATION SECTION + --> + <target name="-pre-init"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="-pre-init" name="-init-private"> + <property file="nbproject/private/private.properties"/> + </target> + <target depends="-pre-init,-init-private" name="-init-userdir"> + <property location="${netbeans.user}/build.properties" name="user.properties.file"/> + </target> + <target depends="-pre-init,-init-private,-init-userdir" name="-init-user"> + <property file="${user.properties.file}"/> + <!-- The two properties below are usually overridden --> + <!-- by the active platform. Just a fallback. --> + <property name="default.javac.source" value="1.4"/> + <property name="default.javac.target" value="1.4"/> + </target> + <target depends="-pre-init,-init-private,-init-userdir,-init-user" name="-init-project"> + <property file="nbproject/project.properties"/> + </target> + <target depends="-pre-init,-init-private,-init-userdir,-init-user,-init-project,-init-macrodef-property" name="-do-init"> + <!-- Ensure configuration directory exists. --> + <mkdir dir="${meta.inf}"/> + <property name="runmain.jvmargs" value=""/> + <condition property="have.tests"> + <or> + <available file="${test.src.dir}"/> + </or> + </condition> + <condition property="have.sources"> + <or> + <available file="${src.dir}"/> + </or> + </condition> + <condition property="netbeans.home+have.tests"> + <and> + <isset property="netbeans.home"/> + <isset property="have.tests"/> + </and> + </condition> + <condition property="no.javadoc.preview"> + <isfalse value="${javadoc.preview}"/> + </condition> + <available file="${meta.inf}/MANIFEST.MF" property="has.custom.manifest"/> + <condition property="classes.dir" value="${build.ear.classes.dir}"> + <isset property="dist.ear.dir"/> + </condition> + <property name="classes.dir" value="${build.classes.dir}"/> + <condition property="no.deps"> + <and> + <istrue value="${no.dependencies}"/> + </and> + </condition> + <condition property="no.dist.ear.dir"> + <not> + <isset property="dist.ear.dir"/> + </not> + </condition> + <property name="source.encoding" value="${file.encoding}"/> + <condition property="javadoc.encoding.used" value="${javadoc.encoding}"> + <and> + <isset property="javadoc.encoding"/> + <not> + <equals arg1="${javadoc.encoding}" arg2=""/> + </not> + </and> + </condition> + <property name="javadoc.encoding.used" value="${source.encoding}"/> + <property name="includes" value="**"/> + <property name="excludes" value=""/> + <condition else="" property="javac.compilerargs.jaxws" value="-Djava.endorsed.dirs='${jaxws.endorsed.dir}'"> + <and> + <isset property="jaxws.endorsed.dir"/> + <available file="nbproject/jaxws-build.xml"/> + </and> + </condition> + </target> + <target depends="init" name="-init-cos" unless="deploy.on.save"> + <condition property="deploy.on.save" value="true"> + <istrue value="${j2ee.deploy.on.save}"/> + </condition> + </target> + <target name="-post-init"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="-pre-init,-init-private,-init-userdir,-init-user,-init-project,-do-init" name="-init-check"> + <fail unless="src.dir">Must set src.dir</fail> + <fail unless="test.src.dir">Must set test.src.dir</fail> + <fail unless="build.dir">Must set build.dir</fail> + <fail unless="build.generated.dir">Must set build.generated.dir</fail> + <fail unless="dist.dir">Must set dist.dir</fail> + <fail unless="build.classes.dir">Must set build.classes.dir</fail> + <fail unless="dist.javadoc.dir">Must set dist.javadoc.dir</fail> + <fail unless="build.classes.excludes">Must set build.classes.excludes</fail> + <fail unless="dist.jar">Must set dist.jar</fail> + <fail unless="j2ee.platform.classpath"> +The Java EE server classpath is not correctly set up. Your active server type is ${j2ee.server.type}. +Either open the project in the IDE and assign the server or setup the server classpath manually. +For example like this: + ant -Duser.properties.file=<path_to_property_file> (where you put the property "j2ee.platform.classpath" in a .properties file) +or ant -Dj2ee.platform.classpath=<server_classpath> (where no properties file is used) + </fail> + </target> + <target name="-init-macrodef-property"> + <macrodef name="property" uri="http://www.netbeans.org/ns/j2ee-ejbjarproject/1"> + <attribute name="name"/> + <attribute name="value"/> + <sequential> + <property name="@{name}" value="${@{value}}"/> + </sequential> + </macrodef> + </target> + <target name="-init-macrodef-javac"> + <macrodef name="javac" uri="http://www.netbeans.org/ns/j2ee-ejbjarproject/2"> + <attribute default="${src.dir}" name="srcdir"/> + <attribute default="${build.classes.dir}" name="destdir"/> + <attribute default="${javac.classpath}:${j2ee.platform.classpath}" name="classpath"/> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="${javac.debug}" name="debug"/> + <element name="customize" optional="true"/> + <sequential> + <property name="javac.compilerargs" value=""/> + <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" includeantruntime="false" includes="@{includes}" source="${javac.source}" srcdir="@{srcdir}" target="${javac.target}"> + <classpath> + <path path="@{classpath}"/> + </classpath> + <compilerarg line="${javac.compilerargs} ${javac.compilerargs.jaxws}"/> + <customize/> + </javac> + </sequential> + </macrodef> + </target> + <target name="-init-macrodef-junit"> + <macrodef name="junit" uri="http://www.netbeans.org/ns/j2ee-ejbjarproject/2"> + <attribute default="${includes}" name="includes"/> + <attribute default="${excludes}" name="excludes"/> + <attribute default="**" name="testincludes"/> + <sequential> + <junit dir="${basedir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" showoutput="true"> + <batchtest todir="${build.test.results.dir}"> + <fileset dir="${test.src.dir}" excludes="@{excludes},${excludes}" includes="@{includes}"> + <filename name="@{testincludes}"/> + </fileset> + </batchtest> + <classpath> + <path path="${run.test.classpath}"/> + <path path="${j2ee.platform.classpath}"/> + </classpath> + <syspropertyset> + <propertyref prefix="test-sys-prop."/> + <mapper from="test-sys-prop.*" to="*" type="glob"/> + </syspropertyset> + <formatter type="brief" usefile="false"/> + <formatter type="xml"/> + <jvmarg line="${runmain.jvmargs}"/> + </junit> + </sequential> + </macrodef> + </target> + <target name="-init-macrodef-java"> + <macrodef name="java" uri="http://www.netbeans.org/ns/j2ee-ejbjarproject/3"> + <attribute default="${main.class}" name="classname"/> + <element name="customize" optional="true"/> + <sequential> + <java classname="@{classname}" fork="true"> + <jvmarg line="${runmain.jvmargs}"/> + <classpath> + <path path="${build.classes.dir}:${javac.classpath}:${j2ee.platform.classpath}"/> + </classpath> + <syspropertyset> + <propertyref prefix="run-sys-prop."/> + <mapper from="run-sys-prop.*" to="*" type="glob"/> + </syspropertyset> + <customize/> + </java> + </sequential> + </macrodef> + </target> + <target depends="-init-debug-args" name="-init-macrodef-nbjpda"> + <macrodef name="nbjpdastart" uri="http://www.netbeans.org/ns/j2ee-ejbjarproject/1"> + <attribute default="${main.class}" name="name"/> + <attribute default="${debug.classpath}" name="classpath"/> + <sequential> + <nbjpdastart addressproperty="jpda.address" name="@{name}" transport="${debug-transport}"> + <classpath> + <path path="@{classpath}"/> + </classpath> + </nbjpdastart> + </sequential> + </macrodef> + <macrodef name="nbjpdareload" uri="http://www.netbeans.org/ns/j2ee-ejbjarproject/1"> + <attribute default="${build.classes.dir}" name="dir"/> + <sequential> + <nbjpdareload> + <fileset dir="@{dir}" includes="${fix.classes}"> + <include name="${fix.includes}*.class"/> + </fileset> + </nbjpdareload> + </sequential> + </macrodef> + <macrodef name="nbjpdaappreloaded" uri="http://www.netbeans.org/ns/web-project/1"> + <sequential> + <nbjpdaappreloaded/> + </sequential> + </macrodef> + </target> + <target name="-init-debug-args"> + <property name="version-output" value="java version "${ant.java.version}"/> + <condition property="have-jdk-older-than-1.4"> + <or> + <contains string="${version-output}" substring="java version "1.0"/> + <contains string="${version-output}" substring="java version "1.1"/> + <contains string="${version-output}" substring="java version "1.2"/> + <contains string="${version-output}" substring="java version "1.3"/> + </or> + </condition> + <condition else="-Xdebug" property="debug-args-line" value="-Xdebug -Xnoagent -Djava.compiler=none"> + <istrue value="${have-jdk-older-than-1.4}"/> + </condition> + <condition else="dt_socket" property="debug-transport-by-os" value="dt_shmem"> + <os family="windows"/> + </condition> + <condition else="${debug-transport-by-os}" property="debug-transport" value="${debug.transport}"> + <isset property="debug.transport"/> + </condition> + </target> + <target depends="-init-debug-args" name="-init-macrodef-debug"> + <macrodef name="debug" uri="http://www.netbeans.org/ns/j2ee-ejbjarproject/1"> + <attribute default="${main.class}" name="classname"/> + <attribute default="${debug.classpath}" name="classpath"/> + <attribute default="${application.args}" name="args"/> + <element name="customize" optional="true"/> + <sequential> + <java classname="@{classname}" fork="true"> + <jvmarg line="${debug-args-line}"/> + <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/> + <classpath> + <path path="@{classpath}"/> + </classpath> + <arg line="@{args}"/> + <customize/> + </java> + </sequential> + </macrodef> + </target> + <target name="-init-taskdefs"> + <fail unless="libs.CopyLibs.classpath"> +The libs.CopyLibs.classpath property is not set up. +This property must point to +org-netbeans-modules-java-j2seproject-copylibstask.jar file which is part +of NetBeans IDE installation and is usually located at +<netbeans_installation>/java<version>/ant/extra folder. +Either open the project in the IDE and make sure CopyLibs library +exists or setup the property manually. For example like this: + ant -Dlibs.CopyLibs.classpath=a/path/to/org-netbeans-modules-java-j2seproject-copylibstask.jar + </fail> + <taskdef classpath="${libs.CopyLibs.classpath}" resource="org/netbeans/modules/java/j2seproject/copylibstask/antlib.xml"/> + </target> + <target depends="-pre-init,-init-private,-init-userdir,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-junit,-init-macrodef-java,-init-macrodef-nbjpda,-init-macrodef-debug,-init-taskdefs" name="init"/> + <!-- + COMPILATION SECTION + --> + <target depends="init" if="no.dist.ear.dir" name="-deps-module-jar" unless="no.deps"/> + <target depends="init" if="dist.ear.dir" name="-deps-ear-jar" unless="no.deps"/> + <target depends="init, -deps-module-jar, -deps-ear-jar" name="deps-jar"/> + <target depends="init,deps-jar" name="-pre-pre-compile"> + <mkdir dir="${build.classes.dir}"/> + <mkdir dir="${build.ear.classes.dir}"/> + </target> + <target name="-pre-compile"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="compile" name="library-inclusion-in-archive"> + <copyfiles files="${libs.Log4j.classpath}" todir="${build.classes.dir}"/> + <copyfiles files="${libs.hibernate-persistence.classpath}" todir="${build.classes.dir}"/> + </target> + <target depends="compile" name="library-inclusion-in-manifest"> + <copyfiles files="${libs.Log4j.classpath}" manifestproperty="manifest.libs.Log4j.classpath" todir="${dist.ear.dir}"/> + <copyfiles files="${libs.hibernate-persistence.classpath}" manifestproperty="manifest.libs.hibernate-persistence.classpath" todir="${dist.ear.dir}"/> + <manifest file="${build.ear.classes.dir}/META-INF/MANIFEST.MF" mode="update"> + <attribute name="Class-Path" value="${manifest.libs.Log4j.classpath} ${manifest.libs.hibernate-persistence.classpath} "/> + </manifest> + </target> + <target name="-copy-meta-inf"> + <copy todir="${classes.dir}"> + <fileset dir="${meta.inf}" includes="**/*.dbschema"/> + </copy> + <copy todir="${classes.dir}/META-INF"> + <fileset dir="${meta.inf}" excludes="**/*.dbschema **/xml-resources/** ${meta.inf.excludes}"/> + </copy> + </target> + <target depends="init,deps-jar,-pre-pre-compile,-pre-compile,-copy-meta-inf" if="have.sources" name="-do-compile"> + <ejbjarproject2:javac destdir="${classes.dir}"/> + <copy todir="${classes.dir}"> + <fileset dir="${src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/> + </copy> + </target> + <target name="-post-compile"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="init,deps-jar,-pre-pre-compile,-pre-compile,-do-compile,-post-compile" description="Compile project." name="compile"/> + <target name="-pre-compile-single"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="init,deps-jar,-pre-pre-compile" name="-do-compile-single"> + <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail> + <ejbjarproject2:javac excludes="" includes="${javac.includes}"/> + </target> + <target name="-post-compile-single"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="init,deps-jar,-pre-pre-compile,-pre-compile-single,-do-compile-single,-post-compile-single" name="compile-single"/> + <!-- + DIST BUILDING SECTION + --> + <target name="-pre-dist"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="init,compile,-pre-dist,library-inclusion-in-archive" if="has.custom.manifest" name="-do-dist-with-manifest"> + <dirname file="${dist.jar}" property="dist.jar.dir"/> + <mkdir dir="${dist.jar.dir}"/> + <jar compress="${jar.compress}" jarfile="${dist.jar}" manifest="${build.classes.dir}/META-INF/MANIFEST.MF"> + <fileset dir="${build.classes.dir}"/> + </jar> + </target> + <target depends="init,compile,-pre-dist,library-inclusion-in-archive" name="-do-dist-without-manifest" unless="has.custom.manifest"> + <dirname file="${dist.jar}" property="dist.jar.dir"/> + <mkdir dir="${dist.jar.dir}"/> + <jar compress="${jar.compress}" jarfile="${dist.jar}"> + <fileset dir="${build.classes.dir}"/> + </jar> + </target> + <target depends="init,compile,-pre-dist,library-inclusion-in-archive, -do-dist-without-manifest, -do-dist-with-manifest" name="-do-dist"/> + <target depends="init,compile,-pre-dist,library-inclusion-in-manifest" name="-do-ear-dist"> + <dirname file="${dist.ear.jar}" property="dist.jar.dir"/> + <mkdir dir="${dist.jar.dir}"/> + <jar compress="${jar.compress}" jarfile="${dist.ear.jar}" manifest="${build.ear.classes.dir}/META-INF/MANIFEST.MF"> + <fileset dir="${build.ear.classes.dir}"/> + </jar> + </target> + <target name="-post-dist"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="init,compile,-pre-dist,-do-dist,-post-dist" description="Build distribution (JAR)." name="dist"/> + <target depends="init,-init-cos,compile,-pre-dist,-do-ear-dist,-post-dist" description="Build distribution (JAR) to be packaged into an EAR." name="dist-ear"/> + <!-- + EXECUTION SECTION + --> + <target depends="run-deploy" description="Deploy to server." name="run"/> + <target name="-init-deploy"> + <property name="include.jar.manifest" value=""/> + </target> + <target name="pre-run-deploy"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target name="post-run-deploy"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target name="-pre-nbmodule-run-deploy"> + <!-- Empty placeholder for easier customization. --> + <!-- This target can be overriden by NetBeans modules. Don't override it directly, use -pre-run-deploy task instead. --> + </target> + <target name="-post-nbmodule-run-deploy"> + <!-- Empty placeholder for easier customization. --> + <!-- This target can be overriden by NetBeans modules. Don't override it directly, use -post-run-deploy task instead. --> + </target> + <target name="-run-deploy-am"> + <!-- Task to deploy to the Access Manager runtime. --> + </target> + <target depends="init,-init-cos,-init-deploy,compile,library-inclusion-in-archive,dist,pre-run-deploy,-pre-nbmodule-run-deploy,-run-deploy-nb,-init-deploy-ant,-deploy-ant,-run-deploy-am,-post-nbmodule-run-deploy,post-run-deploy" name="run-deploy"> + <nbjpdaappreloaded/> + </target> + <target if="netbeans.home" name="-run-deploy-nb"> + <nbdeploy debugmode="false" forceRedeploy="${forceRedeploy}"/> + </target> + <target name="-init-deploy-ant" unless="netbeans.home"> + <property name="deploy.ant.archive" value="${dist.jar}"/> + <property name="deploy.ant.resource.dir" value="${resource.dir}"/> + <property name="deploy.ant.enabled" value="true"/> + </target> + <target depends="dist,-run-undeploy-nb,-init-deploy-ant,-undeploy-ant" name="run-undeploy"/> + <target if="netbeans.home" name="-run-undeploy-nb"> + <fail message="Undeploy is not supported from within the IDE"/> + </target> + <target depends="dist" name="verify"> + <nbverify file="${dist.jar}"/> + </target> + <target depends="init,compile-single" name="run-main"> + <fail unless="run.class">Must select one file in the IDE or set run.class</fail> + <ejbjarproject3:java classname="${run.class}"/> + </target> + <!-- + DEBUGGING SECTION + --> + <target depends="init,compile,dist" description="Debug project in IDE." if="netbeans.home" name="debug"> + <nbdeploy debugmode="true"/> + <antcall target="connect-debugger"/> + </target> + <target name="connect-debugger" unless="is.debugged"> + <nbjpdaconnect address="${jpda.address}" host="${jpda.host}" name="${name}" transport="${jpda.transport}"> + <classpath> + <path path="${debug.classpath}"/> + </classpath> + <sourcepath> + <path path="${web.docbase.dir}"/> + </sourcepath> + </nbjpdaconnect> + </target> + <target depends="init" if="netbeans.home" name="-debug-start-debugger"> + <ejbjarproject1:nbjpdastart/> + </target> + <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-single"> + <fail unless="main.class">Must select one file in the IDE or set main.class</fail> + <ejbjarproject1:debug/> + </target> + <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-single" if="netbeans.home" name="debug-single-main"/> + <target depends="init" name="-pre-debug-fix"> + <fail unless="fix.includes">Must set fix.includes</fail> + <property name="javac.includes" value="${fix.includes}.java"/> + </target> + <target depends="init,-pre-debug-fix,compile-single" if="netbeans.home" name="-do-debug-fix"> + <ejbjarproject1:nbjpdareload/> + </target> + <target depends="init,-pre-debug-fix,-do-debug-fix" if="netbeans.home" name="debug-fix"/> + <!-- + JAVADOC SECTION + --> + <target depends="init" name="javadoc-build"> + <mkdir dir="${dist.javadoc.dir}"/> + <javadoc additionalparam="${javadoc.additionalparam}" author="${javadoc.author}" charset="UTF-8" destdir="${dist.javadoc.dir}" docencoding="UTF-8" encoding="${javadoc.encoding.used}" failonerror="true" noindex="${javadoc.noindex}" nonavbar="${javadoc.nonavbar}" notree="${javadoc.notree}" private="${javadoc.private}" source="${javac.source}" splitindex="${javadoc.splitindex}" use="${javadoc.use}" useexternalfile="true" version="${javadoc.version}" windowtitle="${javadoc.windowtitle}"> + <classpath> + <path path="${javac.classpath}:${j2ee.platform.classpath}"/> + </classpath> + <fileset dir="${src.dir}" excludes="${excludes}" includes="${includes}"> + <filename name="**/*.java"/> + </fileset> + </javadoc> + </target> + <target depends="init,javadoc-build" if="netbeans.home" name="javadoc-browse" unless="no.javadoc.preview"> + <nbbrowse file="${dist.javadoc.dir}/index.html"/> + </target> + <target depends="init,javadoc-build,javadoc-browse" description="Build Javadoc." name="javadoc"/> + <!-- + JUNIT COMPILATION SECTION + --> + <target depends="init,compile" if="have.tests" name="-pre-pre-compile-test"> + <mkdir dir="${build.test.classes.dir}"/> + </target> + <target name="-pre-compile-test"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test" if="have.tests" name="-do-compile-test"> + <ejbjarproject2:javac classpath="${javac.test.classpath}:${j2ee.platform.classpath}" debug="true" destdir="${build.test.classes.dir}" srcdir="${test.src.dir}"/> + <copy todir="${build.test.classes.dir}"> + <fileset dir="${test.src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/> + </copy> + </target> + <target name="-post-compile-test"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-do-compile-test,-post-compile-test" name="compile-test"/> + <target name="-pre-compile-test-single"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single" if="have.tests" name="-do-compile-test-single"> + <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail> + <ejbjarproject2:javac classpath="${javac.test.classpath}:${j2ee.platform.classpath}" debug="true" destdir="${build.test.classes.dir}" excludes="" includes="${javac.includes}" srcdir="${test.src.dir}"/> + </target> + <target name="-post-compile-test-single"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single,-do-compile-test-single,-post-compile-test-single" name="compile-test-single"/> + <!-- + JUNIT EXECUTION SECTION + --> + <target depends="init" if="have.tests" name="-pre-test-run"> + <mkdir dir="${build.test.results.dir}"/> + </target> + <target depends="init,compile-test,-pre-test-run" if="have.tests" name="-do-test-run"> + <ejbjarproject2:junit testincludes="**/*Test.java"/> + </target> + <target depends="init,compile-test,-pre-test-run,-do-test-run" if="have.tests" name="-post-test-run"> + <fail if="tests.failed">Some tests failed; see details above.</fail> + </target> + <target depends="init" if="have.tests" name="test-report"/> + <target depends="init" if="netbeans.home+have.tests" name="-test-browse"/> + <target depends="init,compile-test,-pre-test-run,-do-test-run,test-report,-post-test-run,-test-browse" description="Run unit tests." name="test"/> + <target depends="init" if="have.tests" name="-pre-test-run-single"> + <mkdir dir="${build.test.results.dir}"/> + </target> + <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single"> + <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail> + <ejbjarproject2:junit excludes="" includes="${test.includes}"/> + </target> + <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single" if="have.tests" name="-post-test-run-single"> + <fail if="tests.failed">Some tests failed; see details above.</fail> + </target> + <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single,-post-test-run-single" description="Run single unit test." name="test-single"/> + <!-- + JUNIT DEBUGGING SECTION + --> + <target depends="init,compile-test" if="have.tests" name="-debug-start-debuggee-test"> + <fail unless="test.class">Must select one file in the IDE or set test.class</fail> + <property location="${build.test.results.dir}/TEST-${test.class}.xml" name="test.report.file"/> + <delete file="${test.report.file}"/> + <!-- the directory must exist, otherwise the XML formatter would fail --> + <mkdir dir="${build.test.results.dir}"/> + <ejbjarproject1:debug args="${test.class}" classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner" classpath="${ant.home}/lib/ant.jar:${ant.home}/lib/ant-junit.jar:${debug.test.classpath}"> + <customize> + <arg value="showoutput=true"/> + <arg value="formatter=org.apache.tools.ant.taskdefs.optional.junit.BriefJUnitResultFormatter"/> + <arg value="formatter=org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter,${test.report.file}"/> + </customize> + </ejbjarproject1:debug> + </target> + <target depends="init,compile-test" if="netbeans.home+have.tests" name="-debug-start-debugger-test"> + <ejbjarproject1:nbjpdastart classpath="${debug.test.classpath}" name="${test.class}"/> + </target> + <target depends="init,compile-test,-debug-start-debugger-test,-debug-start-debuggee-test" name="debug-test"/> + <target depends="init,-pre-debug-fix,compile-test-single" if="netbeans.home" name="-do-debug-fix-test"> + <ejbjarproject1:nbjpdareload dir="${build.test.classes.dir}"/> + </target> + <target depends="init,-pre-debug-fix,-do-debug-fix-test" if="netbeans.home" name="debug-fix-test"/> + <!-- + CLEANUP SECTION + --> + <target depends="init" if="no.dist.ear.dir" name="deps-clean" unless="no.deps"/> + <target depends="init" name="-do-clean"> + <delete dir="${build.dir}"/> + <delete dir="${dist.dir}"/> + </target> + <target name="-post-clean"> + <!-- Empty placeholder for easier customization. --> + <!-- You can override this target in the ../build.xml file. --> + </target> + <target depends="init" if="netbeans.home" name="undeploy-clean"> + <nbundeploy failOnError="false" startServer="false"/> + </target> + <target depends="init,undeploy-clean,deps-clean,-do-clean,-post-clean" description="Clean build products." name="clean"/> + <target depends="clean" name="clean-ear"/> +</project> Added: trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/nbproject/genfiles.properties =================================================================== --- trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/nbproject/genfiles.properties (rev 0) +++ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/nbproject/genfiles.properties 2009-06-27 15:38:59 UTC (rev 276) @@ -0,0 +1,8 @@ +build.xml.data.CRC32=d50701d3 +build.xml.script.CRC32=af89c22e +build.xml.stylesheet.CRC32=e5f4c432 +# 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=d50701d3 +nbproject/build-impl.xml.script.CRC32=35cc50a2 +nbproject/build-impl.xml.stylesheet.CRC32=36c39d59 Added: trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/nbproject/project.properties =================================================================== --- trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/nbproject/project.properties (rev 0) +++ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/nbproject/project.properties 2009-06-27 15:38:59 UTC (rev 276) @@ -0,0 +1,59 @@ +build.classes.dir=${build.dir}/jar +build.classes.excludes=**/*.java,**/*.form,**/.nbattrs +build.dir=build +build.ear.classes.dir=${build.dir}/jar +build.generated.dir=${build.dir}/generated +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +debug.classpath=${javac.classpath}:${build.classes.dir} +debug.test.classpath=\ + ${run.test.classpath} +dist.dir=dist +dist.ear.jar=${dist.dir}/${jar.name} +dist.jar=${dist.dir}/${jar.name} +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +j2ee.deploy.on.save=true +j2ee.platform=1.5 +j2ee.server.type=J2EE +jar.compress=false +jar.name=WebConfig-ejb.jar +javac.classpath=\ + ${libs.Log4j.classpath}:\ + ${libs.hibernate-persistence.classpath} +javac.debug=true +javac.deprecation=false +javac.source=1.5 +javac.target=1.5 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir}:\ + ${libs.junit.classpath}:\ + ${libs.junit_4.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.preview=true +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +meta.inf=${source.root}/conf +meta.inf.excludes=sun-cmp-mappings.xml +platform.active=default_platform +resource.dir=setup +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +# Space-separated list of JVM arguments used when running a class with a main method or a unit test +# (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value): +runmain.jvmargs= +source.encoding=windows-1252 +source.root=src +src.dir=${source.root}/java +test.src.dir=test Added: trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/nbproject/project.xml =================================================================== --- trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/nbproject/project.xml (rev 0) +++ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/nbproject/project.xml 2009-06-27 15:38:59 UTC (rev 276) @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xmlns="http://www.netbeans.org/ns/project/1"> + <type>org.netbeans.modules.j2ee.ejbjarproject</type> + <configuration> + <data xmlns="http://www.netbeans.org/ns/j2ee-ejbjarproject/3"> + <name>WebConfig-ejb</name> + <minimum-ant-version>1.6.5</minimum-ant-version> + <included-library>libs.Log4j.classpath</included-library> + <included-library>libs.hibernate-persistence.classpath</included-library> + <source-roots> + <root id="src.dir" name="Source Packages"/> + </source-roots> + <test-roots> + <root id="test.src.dir" name="Test Packages"/> + </test-roots> + </data> + </configuration> +</project> Added: trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/conf/MANIFEST.MF =================================================================== --- trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/conf/MANIFEST.MF (rev 0) +++ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/conf/MANIFEST.MF 2009-06-27 15:38:59 UTC (rev 276) @@ -0,0 +1,2 @@ +Manifest-Version: 1.0 + Added: trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/conf/persistence.xml =================================================================== --- trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/conf/persistence.xml (rev 0) +++ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/conf/persistence.xml 2009-06-27 15:38:59 UTC (rev 276) @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"> + <persistence-unit name="cse-webconfig" transaction-type="JTA"> + <provider>org.hibernate.ejb.HibernatePersistence</provider> + <jta-data-source>jdbc/cseip</jta-data-source> + <class>de.campussource.cse.webconfig.Configuration</class> + <class>de.campussource.cse.webconfig.Setting</class> + <exclude-unlisted-classes>false</exclude-unlisted-classes> + <properties> + <property name="hibernate.hbm2ddl.auto" value="update"/> + </properties> + </persistence-unit> +</persistence> Added: trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/configuration.xml =================================================================== --- trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/configuration.xml (rev 0) +++ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/configuration.xml 2009-06-27 15:38:59 UTC (rev 276) @@ -0,0 +1,91 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<configuration> + + <category public="false" name="csecore" description="Grundlegende CSE Systemeinstellungen"> + <setting name="CSE_Health_Komponente_Aktiv" description="Nutzung der Health Komponente (automatische Behebung von Inkonsistenzen)" default="true" type="1"/> + <setting name="admin_email" description="E-Mail-Adresse f\xFCr Fehlerbenachrichtigungen" default="user@domain.xx" type="4"/> + <setting name="block_repeated_mails" description="Blockiere wiederholtes Senden von gleichen Mails" default="false" type="1"/> + <setting name="cse_mapping_max_age" description="Maximale Zeit (in Sekunden) bis eine Antwort-Nachricht vom Client vorliegen muss" default="36000" type="0"/> + + </category> + + <category public="true" name="mapper" description="AccountMapper"> + <setting name="mapper_avaible_storages" description="Liste der ber\xFCcksichtigten Systeme" default="lsf\xB3clix" type="4"/> + <setting name="mapper_showperpage" description="Zeige .. Eintr\xE4ge pro Seite" default="100" type="0"/> + <setting name="mapper_autoconfirm" description="Eindeutige Eintr\xE4ge automatisch best\xE4tigen" default="true" type="1"/> + <setting name="mapper_autoswapsystems" description="Immer das gr\xF6\xDFere System als Quellsystem benutzen" default="false" type="1"/> + </category> + + <!-- category public="true" name="ilias" description="Ilias-Client Einstellungen"> + <setting name="ilias_Name_der_Installation" description="Name der Installation" default="IliasClient"/> + <setting name="ilias_Name_der_globalen_Dozentenrolle" description="Name der globalen Dozentenrolle" default="Administrator"/> + <setting name="ilias_id_der_dozentenrolle" description="ID der globalen Dozentenrolle" default="149" type="0"/> + + <setting name="ilias_Name_der_globalen_Studentenrolle" description="Name der globalen Studentenrolle" default="User"/> + <setting name="ilias_SOAP_Url" description="SOAP Url" default="http://localhost/ilias3/webservice/soap/server.php" type="6"/> + <setting name="ilias_SOAP_Admin_Login" description="SOAP Login" default="root"/> + <setting name="ilias_SOAP_Admin_Passwort" description="SOAP Passwort" default="" type="3"/> + <setting name="ilias_SOAP_Service_Name" description="SOAP Servicename" default="ILIASSoapWebservice"/> + <setting name="ilias_SOAP_Service_Namespace" description="SOAP Namespace" default="urn:ilUserAdministration"/> + </category --> + + <category public="true" name="ldap" description="LDAP Einstellungen"> + <setting name="clix_ldap_providerurl" description="Provider URL" default="ldaps://phoebe.clix.uni-saarland.de"/> + <setting name="clix_ldap_auth" description="Authentifizierungsmechanismus" default="simple"/> + <setting name="clix_ldap_principal" description="Login" default="cn=mimas,ou=servers,o=uni-sb"/> + <setting name="clix_ldap_credentials" description="Passwort" default="" type="3"/> + <setting name="clix_ldap_context" description="Kontext" default="ou=usr,o=uni-sb"/> + <setting name="clix_ldap_field_id" description="Feld f\xFCr CLIX-IDs" default="rzunisbClixAlwaysUnique"/> + <setting name="clix_ldap_field_firstname" description="Feld 'Vorname'" default="givenName"/> + <setting name="clix_ldap_field_lastname" description="Feld 'Nachname'" default="sn"/> + <setting name="clix_ldap_searchlimit" description="Limit f\xFCr Accountsuche (0 = kein Limit)" default="5000" type="0"/> + <setting name="clix_ldap_searchfilter" description="Filter f\xFCr Accountsuche" default="(rzunisbPersonalNummer=*)"/> + </category> + + <category public="true" name="clix" description="Allgemeine CLIX Einstellungen"> + <setting name="clix_group_id" description="CLIX-ID der priviligierten Veranstaltungsgruppe" default="1"/> + <setting name="clix_externalowneridentifier" description="CLIX-ID des Veranstaltungs-Besitzers" default="1"/> + <setting name="clix_externaladminidentifier" description="CLIX-ID des Veranstaltungs-Admins" default="150973"/> + <setting name="clix_internalcoursetypeidentifier" description="CLIX-ID der Veranstaltungsvorlage" default="104313" type="0"/> + <setting name="clix_defaulttextforcategory" description="Beschreibung f\xFCr angelegte Kategorien. $0 wird durch den Namen der Kategorie ersetzt." default="Sie befinden sich im Kurskatalog $0, in dem das komplette Vorlesungsverzeichnis des aktuellen Semesters abgebildet ist." type="7"/> + <setting name="clix_languageidentifier" description="Sprache f\xFCr Veranstaltungen (nach ISO 639)" default="de"/> + <!-- setting name="clix_regtypedurationmonth" description="Anzeigezeitraum einer Veranstaltung im CLIX-Katalog (Monate)" default="6" type="0"/ --> + <setting name="clix_lecture_start_date" description="Startdatum f\xFCr Veranstaltungen" default="2008-04-01" type="8"/> + <setting name="clix_lecture_end_date" description="Enddatum f\xFCr Veranstaltungen" default="2008-09-30" type="8"/> + <setting name="clix_lecturedirdepth" description="Tiefe des Veranstaltungsverzeichnisses" default="4" type="0"/> + </category> + + <category public="true" name="clix" description="CLIX Metatag-IDs"> + <setting name="clix_metaid_courseid" description="Metatag Veranstaltungsnummer" default="100302" type="0"/> + <setting name="clix_metaid_sws" description="Metatag SWS" default="10010" type="0"/> + <setting name="clix_metaid_schedule" description="Metatag Termin" default="100324" type="0"/> + <setting name="clix_metaid_literature" description="Metatag Literatur " default="1003259" type="0"/> + <setting name="clix_metaid_prereq" description="Metatag Vorraussetzung" default="100326" type="0"/> + <setting name="clix_metaid_linkname" description="Metatag Link Titel" default="100327" type="0"/> + <setting name="clix_metaid_linkurl" description="Metatag Link URL" default="100328" type="0"/> + <setting name="clix_metaid_title" description="Metatag Veranstaltungstitel" default="100329" type="0"/> + <setting name="clix_metaid_short" description="Metatag Veranstaltungsk\xFCrzel" default="100330" type="0"/> + <setting name="clix_metaid_maxmembers" description="Metatag Max. Teilnehmer" default="100330" type="0"/> + </category> + + <category public="true" name="clixjms" description="CLIX JMS Einstellungen"> + <setting name="clix_jndi_bus_topic" description="JNDI name der CSE-Bus Topic" default="topic/bus"/> + <setting name="clix_jndi_async_queue" description="JNDI name der asynchronen input Queue f\xFCr CLIX" default="queue/clix/async/in"/> + <setting name="clix_jndi_sync_queue" description="JNDI name der synchronen input Queue f\xFCr CLIX" default="queue/clix/sync/in"/> + <setting name="clix_jndi_topic_connection_factory" description="JNDI name der TopicConnectionFactory" default="java:/JmsXA"/> + <setting name="clix_jndi_queue_connection_factory" description="JNDI name der QueueConnectionFactory" default="java:/JmsXA"/> + <setting name="clix_jms_bus_user" description="JMS Benutzername f\xFCr die Authentifizierung gegen\xFCber der CSE" default="clix-client"/> + <setting name="clix_jms_bus_password" description="JMS Passwort f\xFCr die Authentifizierung gegen\xFCber der CSE" default="iuz6"/> + <setting name="clix_jms_async_user" description="JMS Benutzername f\xFCr die asynchrone input Queue von CLIX" default="clix-async"/> + <setting name="clix_jms_async_password" description="JMS Passwort f\xFCr die asynchrone input Queue von CLIX" default="iuz6"/> + <setting name="clix_jms_sync_user" description="JMS Benutzername f\xFCr die synchrone input Queue von CLIX" default="clix-sync"/> + <setting name="clix_jms_sync_password" description="JMS Passwort f\xFCr die synchrone input Queue von CLIX" default="iuz6"/> + </category> + + <category public="true" name="lsf" description="LSF Einstellungen"> + <setting name="lsf_SOAP_DBInterface_Url" descriptio... [truncated message content] |
From: <pka...@us...> - 2009-06-30 13:13:11
|
Revision: 280 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=280&view=rev Author: pkasprzak Date: 2009-06-30 11:39:55 +0000 (Tue, 30 Jun 2009) Log Message: ----------- * WebConfig major rewrite - Groups of settings are persisted / supported - Only one single configuration - Cleanups - Interface changes (to better accomodate a ws-interface) - Settings are not deleted from persistence on xml changes - Setting-defaults are also persisted Modified Paths: -------------- trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/configuration.xml trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/de/campussource/cse/webconfig/Configuration.java trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/de/campussource/cse/webconfig/ConfigurationManager.java trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/de/campussource/cse/webconfig/ConfigurationManagerImpl.java trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/de/campussource/cse/webconfig/Setting.java trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/de/campussource/cse/webconfig/SettingCategory.java trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/de/campussource/cse/webconfig/SettingNotFoundException.java trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/src/java/de/campussource/cse/webconfig/AuthServletStub.java trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/src/java/de/campussource/cse/webconfig/EditConfigurationServlet.java trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/web/WEB-INF/web.xml Removed Paths: ------------- trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/src/java/de/campussource/cse/webconfig/ConfigurationServlet.java Modified: trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/configuration.xml =================================================================== --- trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/configuration.xml 2009-06-27 16:12:05 UTC (rev 279) +++ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/configuration.xml 2009-06-30 11:39:55 UTC (rev 280) @@ -1,6 +1,20 @@ <?xml version="1.0" encoding="ISO-8859-1"?> <configuration> + <category name="Core" description="Grundlegende CSE Systemeinstellungen"> + <setting name="core_test_1" description="Test-Setting 1" default="test-value-1"/> + <setting name="core_test_2" description="Test-Setting 2" default="test-value-2"/> + <setting name="core_test_3" description="Test-Setting 3" default="test-value-3"/> + <setting name="core_test_4" description="Test-Setting 4" default="test-value-4"/> + </category> + + <category name="Ilias" description="Ilias-Adapter Einstellungen"> + <setting name="ilias_login_client" description="Ident des Clients" default="test"/> + <setting name="ilias_login_username" description="Username f\xFCr Login" default="root"/> + <setting name="ilias_login_password" description="Passwort f\xFCr Login" default="cs3-1p"/> + <setting name="ilias_ws_url" description="URL der WS-Schnittstelle" default="http://localhost/ilias3/webservice/soap/server.php?debug=1"/> + </category> +<!-- <category public="false" name="csecore" description="Grundlegende CSE Systemeinstellungen"> <setting name="CSE_Health_Komponente_Aktiv" description="Nutzung der Health Komponente (automatische Behebung von Inkonsistenzen)" default="true" type="1"/> <setting name="admin_email" description="E-Mail-Adresse f\xFCr Fehlerbenachrichtigungen" default="user@domain.xx" type="4"/> @@ -16,7 +30,7 @@ <setting name="mapper_autoswapsystems" description="Immer das gr\xF6\xDFere System als Quellsystem benutzen" default="false" type="1"/> </category> - <!-- category public="true" name="ilias" description="Ilias-Client Einstellungen"> + <category public="true" name="ilias" description="Ilias-Client Einstellungen"> <setting name="ilias_Name_der_Installation" description="Name der Installation" default="IliasClient"/> <setting name="ilias_Name_der_globalen_Dozentenrolle" description="Name der globalen Dozentenrolle" default="Administrator"/> <setting name="ilias_id_der_dozentenrolle" description="ID der globalen Dozentenrolle" default="149" type="0"/> @@ -27,7 +41,7 @@ <setting name="ilias_SOAP_Admin_Passwort" description="SOAP Passwort" default="" type="3"/> <setting name="ilias_SOAP_Service_Name" description="SOAP Servicename" default="ILIASSoapWebservice"/> <setting name="ilias_SOAP_Service_Namespace" description="SOAP Namespace" default="urn:ilUserAdministration"/> - </category --> + </category <category public="true" name="ldap" description="LDAP Einstellungen"> <setting name="clix_ldap_providerurl" description="Provider URL" default="ldaps://phoebe.clix.uni-saarland.de"/> @@ -49,7 +63,6 @@ <setting name="clix_internalcoursetypeidentifier" description="CLIX-ID der Veranstaltungsvorlage" default="104313" type="0"/> <setting name="clix_defaulttextforcategory" description="Beschreibung f\xFCr angelegte Kategorien. $0 wird durch den Namen der Kategorie ersetzt." default="Sie befinden sich im Kurskatalog $0, in dem das komplette Vorlesungsverzeichnis des aktuellen Semesters abgebildet ist." type="7"/> <setting name="clix_languageidentifier" description="Sprache f\xFCr Veranstaltungen (nach ISO 639)" default="de"/> - <!-- setting name="clix_regtypedurationmonth" description="Anzeigezeitraum einer Veranstaltung im CLIX-Katalog (Monate)" default="6" type="0"/ --> <setting name="clix_lecture_start_date" description="Startdatum f\xFCr Veranstaltungen" default="2008-04-01" type="8"/> <setting name="clix_lecture_end_date" description="Enddatum f\xFCr Veranstaltungen" default="2008-09-30" type="8"/> <setting name="clix_lecturedirdepth" description="Tiefe des Veranstaltungsverzeichnisses" default="4" type="0"/> @@ -87,5 +100,6 @@ <setting name="lsf_SOAP_writeservice_url" description="SOAP Input Service URL" default="http://itmlsf01.univw.uni-saarland.de/qisserver/services/CSEService" type="6"/> <setting name="lsf_SOAP_writeservice_username" description="SOAP Benutzername" default="admin"/> <setting name="lsf_SOAP_writeservice_password" description="SOAP Passwort" default="password" type="3"/> - </category> + </category> + --> </configuration> \ No newline at end of file Modified: trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/de/campussource/cse/webconfig/Configuration.java =================================================================== --- trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/de/campussource/cse/webconfig/Configuration.java 2009-06-27 16:12:05 UTC (rev 279) +++ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/de/campussource/cse/webconfig/Configuration.java 2009-06-30 11:39:55 UTC (rev 280) @@ -5,17 +5,6 @@ import java.util.Collection; import java.util.List; -import javax.persistence.CascadeType; -import javax.persistence.Entity; -import javax.persistence.FetchType; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; -import javax.persistence.JoinColumn; -import javax.persistence.NamedQueries; -import javax.persistence.NamedQuery; -import javax.persistence.OneToMany; -import javax.persistence.Transient; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; @@ -27,186 +16,20 @@ * categories, otherwise in a long list */ -@NamedQueries({ - @NamedQuery( name = "Configuration.getAll", - query = "SELECT m FROM Configuration m"), - @NamedQuery( name = "Configuration.getById", - query = "SELECT m FROM Configuration m WHERE m.configurationId = :configurationId"), - @NamedQuery( name = "Configuration.getByName", - query = "SELECT m FROM Configuration m WHERE m.configurationName = :configurationName"), - @NamedQuery( name = "Configuration.getActive", - query = "SELECT m FROM Configuration m WHERE m.active = true") - -}) - -@Entity @XmlRootElement(name="configuration") -public class Configuration implements Serializable{ +public class Configuration implements Serializable { - /* CONSTANTS */ /** The Constant serialVersionUID. */ private static final long serialVersionUID = -3173737964939496322L; - /** name of the default config that will be created if no config is found. */ - @Transient - public final static String DEFAULT_CONFIG_NAME="default"; - - /* PERSISTANT FIELDS */ - - - /** The configuration id. */ - /* standard getters /setters */ - /** - * Gets the configuration id. - * - * @return the id of this config - */ - @Id - @GeneratedValue(strategy = GenerationType.AUTO) - private int configurationId; - - /** if this configuration is the currently active config. */ - private boolean active; - - /** its name. */ - private String configurationName; - - /** - * list of all settings, note this is NOT an xml attribute right here, you - * can find it in the SettingCategory. - */ - /** - * Gets the settings. - * - * @return a list of all settings from this configuration - */ - @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER) - @JoinColumn(name = "configurationId") - private Collection<Setting> settings=new ArrayList<Setting>(); - - - /* END OF PERSISTANT FIELDS, START OF XML FIELDS */ - /** The categories. */ - /** - * Gets the categories. - * - * @return the categories for this configuration - * - * @throws IllegalStateException - * if categories is null, ie we created this entity from - * persistence rather then from xml - */ - @Transient @XmlElement(name="category") - private List<SettingCategory> categories; //list of all categories - /* END OF XML FIELDS */ + private List<SettingCategory> categories; - - /** - * Instantiates a new configuration. - */ - public Configuration(){ - + public Configuration() { } - - /** - * The Constructor. - * - * @param name - * name of the new configuration - */ - public Configuration(String name){ - this.configurationName=name; - } - - /* standard getters /setters */ - - /** - * Gets the configuration id. - * - * @return the id of this config - */ - public int getConfigurationId() { - return configurationId; - } /** - * set a new configguration id. you usually dont want to do this - * - * @param settingSetId - * the setting set id - */ - public void setConfigurationId(int settingSetId) { - this.configurationId = settingSetId; - } - - /** - * Checks if is active. - * - * @return true when this config is currently flagged active - */ - public boolean isActive() { - return active; - } - - /** - * WARNING this will NOT mark the old active settings as inactive or install - * a new active setting when turning a setting off!. - * - * @param active - * if this settings shall be active or not - */ - public void setActive(boolean active) { - this.active = active; - } - - /** - * Gets the configuration name. - * - * @return the name which the user has choosen for this config - */ - public String getConfigurationName() { - return configurationName; - } - - /** - * Sets the configuration name. - * - * @param settingName - * set a new name for this config - */ - public void setConfigurationName(String settingName) { - this.configurationName = settingName; - } - - - /** - * Gets the settings. - * - * @return a list of all settings from this configuration - */ - - public Collection<Setting> getSettings() { - return settings; - - } - - /** - * sets completly new settings for this configuration WARNING: this will NOT - * delete old settings from the database, so make sure you realy want to do - * this. - * - * @param settings - * the new settings - */ - public void setSettings(Collection<Setting> settings) { - this.settings=settings; - } - - - - /** * Gets the categories. * * @return the categories for this configuration @@ -216,8 +39,8 @@ * persistence rather then from xml */ public List<SettingCategory> getCategories() throws IllegalStateException { - if(categories==null){ - throw new IllegalStateException("categories is null, we most likely created this entity from persistence rather then from XML"); + if(categories == null) { + throw new IllegalStateException("No categories found!"); } return categories; } @@ -226,29 +49,10 @@ * @see java.lang.Object#toString() */ public String toString(){ - String ret="Config id:"+configurationId+", name:"+configurationName+";Settings (only persistant, not withing categorys)\n"; - for(Setting s:settings){ - ret+=s+"\n"; + String string = "Configuration:\n"; + for (SettingCategory category : categories) { + string += category + "\n"; } - return ret; + return string; } - - /** - * Gets the setting by name. - * - * @param settingname - * the setting to look for - * - * @return the found setting object - * - * @throws SettingNotFoundException - * if this setting isnt found in this configuration - */ - public Setting getSettingByName(String settingname) throws SettingNotFoundException{ - for(Setting s:settings){ - if(s.getName().equalsIgnoreCase(settingname)) - return s; - } - throw new SettingNotFoundException(settingname,this); - } } \ No newline at end of file Modified: trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/de/campussource/cse/webconfig/ConfigurationManager.java =================================================================== --- trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/de/campussource/cse/webconfig/ConfigurationManager.java 2009-06-27 16:12:05 UTC (rev 279) +++ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/de/campussource/cse/webconfig/ConfigurationManager.java 2009-06-30 11:39:55 UTC (rev 280) @@ -14,105 +14,21 @@ */ @Local public interface ConfigurationManager { - /** the location of the main configuration declaration xml-file. */ - public static final String CONFIG_XML_LOCATION="/configuration.xml"; - /** - * sets a new active configuration and sets the last active configuration to - * not-active unless the new config cannot be found setting cache must be - * invalidated after doing this!. - * - * @param newActiveConfig - * the new active config - */ - public void setActiveConfiguration(Configuration newActiveConfig); + public Setting getSetting(String settingName, String categoryName) throws SettingNotFoundException; - /** - * tries to locate the active configuration. if none is found, it creates a - * new one, marks it as active and returns it - * - * @return the active configuration or null if the config cannot be found - * AND cannot be created for some reason (most syntax likely error - * in CONFIG_XML_LOCATION) - */ - public Configuration getActiveConfiguration(); + public String getSettingAsString(String settingName, String categoryName) throws SettingNotFoundException; + public int getSettingAsInteger(String settingName, String categoryName) throws SettingNotFoundException; - /** - * Gets the all configurations. - * - * @return a list of all configurations in this system - */ - public List<Configuration> getAllConfigurations(); + public boolean getSettingAsBoolean(String settingName, String categoryName) throws SettingNotFoundException; - /** - * Gets the config by id. - * - * @param id - * the id to look for - * - * @return the requested Configuration or null if it cannot be found - */ - public Configuration getConfigById(int id); + public List<Setting> getSettings(); - /** - * gets a specific configuration from database don't confuse this with - * getSetting()!. - * - * @param name - * the name to look for, case sensitive - * - * @return the requested Configuration or null if it cannot be found - */ - public Configuration getConfigByName(String name); + public List<SettingCategory> getCategories(); + public void deleteSetting(Setting setting); + public void updateSetting(Setting setting); - /** - * updates the the config note that you cannot delete settings by simply - * passing a new list of settings to the configuration via setSettings() and - * then call updateConfiguration. this will NOT delete the old entrys - * - * @param tosave - * the config object to be saved - */ - public void updateConfiguration(Configuration tosave); - - /** - * helper to quickly get a setting this should also save the requested - * setting into some sort of cache to make further requests faster. - * - * @param settingname - * name of the setting - * - * @return null the setting, or: if the active configuration doesn't contain - * this setting or getActiveConfiguration returned null - * - * @throws SettingNotFoundException - * if the setting with this name cannot be found or no active - * config could not be loaded - */ - public Setting getSetting(String settingname) throws SettingNotFoundException; - - - - /** - * deletes a config from persistence. - * - * @param config - * the config to be deleted - */ - public void deleteConfig(Configuration config); - - - /** - * deletes a single setting from a Configuration. - * - * @param settingToBeDeleted - * the setting to be deleted - * @param config - * the config to which this setting belongs - */ - public void deleteSingleSetting(Setting settingToBeDeleted,Configuration config); - } Modified: trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/de/campussource/cse/webconfig/ConfigurationManagerImpl.java =================================================================== --- trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/de/campussource/cse/webconfig/ConfigurationManagerImpl.java 2009-06-27 16:12:05 UTC (rev 279) +++ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/de/campussource/cse/webconfig/ConfigurationManagerImpl.java 2009-06-30 11:39:55 UTC (rev 280) @@ -7,16 +7,21 @@ import java.util.ArrayList; import java.util.Collection; +import java.util.Collections; import java.util.HashMap; +import java.util.HashSet; +import java.util.LinkedList; import java.util.List; - +import java.util.logging.*; +import java.util.Map; +import javax.annotation.PostConstruct; import javax.ejb.Stateless; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import javax.xml.bind.JAXBContext; import javax.xml.bind.Unmarshaller; -import org.apache.log4j.Logger; +//import org.apache.log4j.Logger; /** * @@ -25,248 +30,191 @@ @Stateless(mappedName="cse/ConfigurationManager") public class ConfigurationManagerImpl implements ConfigurationManager, ConfigurationManagerRemote { - /** The em. */ + /** The location of the main configuration declaration xml-file. */ + public static final String CONFIG_XML_LOCATION = "/configuration.xml"; + @PersistenceContext - protected EntityManager em; + protected EntityManager entityManager; /** The logger. */ protected Logger logger; /** - * holds all settings, that have been requested via getSetting() must be - * cleared if: a new active config has been set or settings have been - * changed. + * Use a synchronized map as settings-cache. + * + * Not really conforming to ejb3.0 spec, but as along as there are no singletons, we + * have to do some workarounds. + * */ - private HashMap<String,Setting> cache=new HashMap<String, Setting>(); + private static Map<String, Setting> cache = Collections.synchronizedMap(new HashMap<String, Setting>()); + /* Only used for synchronization (must be final, because we synchronize on it) */ + private final static Boolean cacheMutex = true; + private static boolean isCacheInitialized = false; - /* (non-Javadoc) - * @see edu.cse.persistence.session.ConfigurationManager#getActiveConfiguration() - */ -// @SuppressWarnings("unchecked") - public Configuration getActiveConfiguration() { - List<Configuration> results=(List<Configuration>) em.createNamedQuery("Configuration.getActive").getResultList(); - checkConfiguration(); + /* Initialize cache && load data from xml-config */ + protected void init() { + synchronized (cacheMutex) { + if (!isCacheInitialized) { + /* Must be first, to prevent recursion init() -> checkConfiguration() -> getCategories() -> init() */ + isCacheInitialized = true; + checkConfiguration(); + loadCache(); + } + } + } - //see if we have a result to return, otherwise create a new one - if(results.size()>0) - return results.get(0); + protected void loadCache() { + cache.clear(); + for (Setting setting : getSettings()) { + cache.put(setting.getName(), setting); + } + } + /* Generate key for cache */ + protected String generateCacheKey(String categoryName, String settingName) { + return "/" + categoryName + "/" + settingName; + } - //no active config found, create it + public List<Setting> getSettings() { + init(); + List<Setting> settings = (List<Setting>) entityManager.createNamedQuery("Setting.getAll").getResultList(); + return settings; + } - //try to unmarshal configuration from XML - Configuration configFromXml=null; - try{ - Unmarshaller um= JAXBContext.newInstance("de.campussource.cse.webconfig").createUnmarshaller(); - configFromXml=(Configuration)um.unmarshal(getClass().getResourceAsStream(ConfigurationManager.CONFIG_XML_LOCATION)); - } - catch(Exception e){ - e.printStackTrace(); - return null; - } + public List<SettingCategory> getCategories() { + init(); + List<SettingCategory> categories = (List<SettingCategory>) entityManager.createNamedQuery("SettingCategory.getAll").getResultList(); + return categories; + } - Collection<Setting> newsettings=new ArrayList<Setting>(); - - //traverse xml to set all settings to default and move them out of their categories directly to the configuration - for(SettingCategory cat:configFromXml.getCategories()){ - for(Setting setting:cat.getSettings()){ - setting.setToDefault(); - newsettings.add(setting); - } - } - configFromXml.setSettings(newsettings); - configFromXml.setActive(true); - configFromXml.setConfigurationName(Configuration.DEFAULT_CONFIG_NAME); - updateConfiguration(configFromXml); - return configFromXml; - } - /* (non-Javadoc) - * @see edu.cse.persistence.session.ConfigurationManager#getAllConfigurations() + * @see edu.cse.persistence.session.ConfigurationManager#getSetting(java.lang.String) */ - //@SuppressWarnings("unchecked") - public List<Configuration> getAllConfigurations() { + public Setting getSetting(String settingName, String categoryName) throws SettingNotFoundException { - return (List<Configuration>) em.createNamedQuery("Configuration.getAll").getResultList(); + if (settingName == null || categoryName == null) { + throw new SettingNotFoundException("", "SettingName and / or categoryName are null!"); + } - } + init(); - /* (non-Javadoc) - * @see edu.cse.persistence.session.ConfigurationManager#getConfigById(int) - */ -// @SuppressWarnings("unchecked") - public Configuration getConfigById(int id) { + /* Check for cache hit */ + String cacheKey = generateCacheKey(categoryName, settingName); + if (cache.containsKey(cacheKey)) { + return cache.get(cacheKey); + } - List<Configuration> results=(List<Configuration>) em.createNamedQuery("Configuration.getById").setParameter("configurationId" , id).getResultList(); - checkConfiguration(); + /* Do it the hard way */ + Setting setting = (Setting) entityManager.createNamedQuery("Setting.getByNames") .setParameter("settingName", settingName) + .setParameter("categoryName", categoryName) + .getSingleResult(); - //see if we have a result to return, otherwise return null - if(results.size()>0) - return results.get(0); - else - return null; - } + if (setting == null) { + throw new SettingNotFoundException(settingName); + } - /* (non-Javadoc) - * @see edu.cse.persistence.session.ConfigurationManager#getConfigByName(java.lang.String) - */ -// @SuppressWarnings("unchecked") - public Configuration getConfigByName(String name) { - List<Configuration> results=(List<Configuration>) em.createNamedQuery("Configuration.getByName").setParameter("configurationName" , name).getResultList(); - - //see if we have a result to return, otherwise return null - if(results.size()>0) - return results.get(0); - else - return null; + cache.put(cacheKey, setting); + return setting; } - /* (non-Javadoc) - * @see edu.cse.persistence.session.ConfigurationManager#getSetting(java.lang.String) - */ - public Setting getSetting(String settingname) throws SettingNotFoundException { - if(settingname==null){ - throw new SettingNotFoundException(settingname,null); - } + public String getSettingAsString(String settingName, String categoryName) throws SettingNotFoundException { + Setting setting = getSetting(settingName, categoryName); + return setting.getAsString(); + } - //check the cache if it contains the requested setting - if(cache.containsKey(settingname)){ - return cache.get(settingname); - } + public int getSettingAsInteger(String settingName, String categoryName) throws SettingNotFoundException { + Setting setting = getSetting(settingName, categoryName); + return setting.getAsInteger(); + } - //get active config. this will also create a new default config if no config was found - Configuration active=getActiveConfiguration(); + public boolean getSettingAsBoolean(String settingName, String categoryName) throws SettingNotFoundException { + Setting setting = getSetting(settingName, categoryName); + return setting.getAsBoolean(); + } - //see if we have no active config in our system. this should only happen when configuration.xml is malformed - if(active==null){ - throw new SettingNotFoundException("Could not create default Config, check "+ConfigurationManager.CONFIG_XML_LOCATION,null); - } - - //get the setting, will throw SettingNotFoundException if the setting doesnt exist - Setting found=active.getSettingByName(settingname); - - //Save to cache and return - cache.put(settingname, found); - return found; - } - - - /* (non-Javadoc) - * @see edu.cse.persistence.session.ConfigurationManager#updateConfiguration(edu.cse.persistence.entity.Configuration) - */ - public void updateConfiguration(Configuration tosave) { - logger = Logger.getLogger(ConfigurationManagerImpl.class); - logger.debug("Updating " +tosave); - em.merge(tosave); - logger.debug("done " +tosave); - cache.clear(); -// em.persist(tosave); - } - /* (non-Javadoc) - * @see edu.cse.persistence.session.ConfigurationManager#setActiveConfiguration(edu.cse.persistence.entity.Configuration) - */ - public void setActiveConfiguration(Configuration newActiveConfig) { - //traverse all configs to only allow one active config at the time - for(Configuration current:getAllConfigurations()){ - //set the active state of this config to true if it is our new config, otherwise false - current.setActive(current.getConfigurationId()==newActiveConfig.getConfigurationId()); - updateConfiguration(current); - } - cache.clear(); - } - - /* (non-Javadoc) - * @see edu.cse.persistence.session.ConfigurationManager#deleteConfig(edu.cse.persistence.entity.Configuration) - */ - public void deleteConfig(Configuration config) { - config= em.merge(config); - em.remove(config); - cache.clear(); - } - - /* (non-Javadoc) * @see edu.cse.persistence.session.ConfigurationManager#deleteSingleSetting(edu.cse.persistence.entity.Setting) */ - public void deleteSingleSetting(Setting setting,Configuration config) { - config.getSettings().remove(setting); - config=em.merge(config); - setting=em.merge(setting); - em.remove(setting); - cache.remove(setting.getName()); + public void deleteSetting(Setting setting) { + setting = entityManager.merge(setting); + entityManager.remove(setting); + String key = generateCacheKey(setting.getCategory().getName(), setting.getName()); + if (cache.containsKey(key)) { + cache.remove(key); + } } + public void updateSetting(Setting setting) { + entityManager.merge(setting); + cache.put(generateCacheKey(setting.getCategory().getName(), setting.getName()), setting); + } - /* - * checks if the structure of the stored configs is equivalent to the configuration.xml and updates it if necessary - */ /** - * Check configuration. + * Checks if the structure of the stored configs is equivalent to the configuration.xml and updates it if necessary */ - private void checkConfiguration() - { - logger = Logger.getLogger(ConfigurationManager.class); - Configuration configFromXml=null; - try{ - Unmarshaller um= JAXBContext.newInstance("de.campussource.cse.webconfig").createUnmarshaller(); - configFromXml=(Configuration)um.unmarshal(getClass().getResourceAsStream(ConfigurationManager.CONFIG_XML_LOCATION)); - } - catch(Exception e){ - e.printStackTrace(); - logger.error("Fehler beim Parsen der "+ConfigurationManager.CONFIG_XML_LOCATION+": "+e); - } - Collection<Setting> settingsFromXml=new ArrayList<Setting>(); + private void checkConfiguration() { + logger = Logger.getLogger("de.campussource.cse.webconfig.ConfigurationManager"); + Configuration configFromXml = null; + HashMap<String, List<Setting>> settingsFromXml = new HashMap<String, List<Setting>>(); - //traverse xml and get all the http request parameters for the settings in xml - for(SettingCategory cat:configFromXml.getCategories()){ - for(Setting setting:cat.getSettings()){ - setting.setToDefault(); - settingsFromXml.add(setting); - } - } - boolean update = false; - // settingsFromXml now holds all settings which are defined in configuration.xml, and they are initialied with their default value - //now check the structure of all configurations in the system - for(Configuration currentConfig:getAllConfigurations()){ - //check, if there are new settings defined in xml - for(Setting check:settingsFromXml){ - try{ - currentConfig.getSettingByName(check.getName()); - } - catch(SettingNotFoundException e){ - //so the setting wasnt found, create it - currentConfig.getSettings().add(check); - logger.info("Erweitere <b>"+currentConfig.getConfigurationName()+"</b> um <b>" +check.getName()+"</b><br/>"); - update =true; - } - } - Collection<Setting> settingsToBeDeleted=new ArrayList<Setting>(); - //check, if there are settings stored definied that are missing in the xml - for(Setting check:currentConfig.getSettings()){ - boolean found=false; - for(Setting checkpartner:settingsFromXml){ - if(checkpartner.getName().equals(check.getName())){ - found=true; - break; - } - } - if(!found){ - //so the setting wasnt found, delete it from persistance - //we cant delete right here because we are still cycling thru the list. it would give us a concurrentmodificationexception - //to we add it to a list and remove it later - settingsToBeDeleted.add(check); + try { + Unmarshaller um = JAXBContext.newInstance("de.campussource.cse.webconfig").createUnmarshaller(); + configFromXml = (Configuration) um.unmarshal(getClass().getResourceAsStream(CONFIG_XML_LOCATION)); + } catch (Exception e) { + e.printStackTrace(); + logger.severe("Settings could not be parsed (file: " + CONFIG_XML_LOCATION + "): " + e); + } - } - } - for(Setting check:settingsToBeDeleted){ - deleteSingleSetting(check,currentConfig); - logger.info("Entferne <b>"+check.getName()+"</b> von <b>" +currentConfig.getConfigurationName()+"</b><br/>"); - update =true; - } - if (update) - updateConfiguration(currentConfig); + /* Build name -> category resolver for xml categories */ + HashMap<String, SettingCategory> xmlCategoryResolver = new HashMap<String, SettingCategory>(); - } - } - -} + /* Keep all settings from Xml for later (to generate diff xml <-> persistence) */ + for (SettingCategory category : configFromXml.getCategories()) { + xmlCategoryResolver.put(category.getName(), category); + for (Setting setting : category.getSettings()) { + setting.setToDefault(); + if (!settingsFromXml.containsKey(category.getName())) { + settingsFromXml.put(category.getName(), new LinkedList<Setting>()); + } + settingsFromXml.get(category.getName()).add(setting); + } + } + + boolean update = false; + + /* Update structure of configuration in persistence (vs xml-configuration) */ + + /* Build name -> category resolver for persistent categories */ + HashMap<String, SettingCategory> persistentCategoryResolver = new HashMap<String, SettingCategory>(); + HashSet<String> categoryNames = new HashSet<String>(); + for (SettingCategory category : getCategories()) { + persistentCategoryResolver.put(category.getName(), category); + categoryNames.add(category.getName()); + } + + for (String categoryName : settingsFromXml.keySet()) { + + if (!categoryNames.contains(categoryName)) { + /* New category -> create */ + logger.info("Adding new category [" + categoryName + "]"); + SettingCategory category = xmlCategoryResolver.get(categoryName); + /* Clear settings-relations, because we have to rebuild it from the owning side (e.g. the Setting-side) */ + category.getSettings().clear(); + category = entityManager.merge(category); + persistentCategoryResolver.put(categoryName, category); + categoryNames.add(categoryName); + } + + for (Setting setting : settingsFromXml.get(categoryName)) { + SettingCategory category = persistentCategoryResolver.get(categoryName); + if (category.getSettingByName(setting.getName()) == null) { + /* New Setting */ + logger.info("Adding new setting [" + setting.getName() + "] to category [" + categoryName + ", id: " + category.getId() + "]"); + setting.setCategory(category); + entityManager.persist(setting); + update = true; + } + } + } + } +} \ No newline at end of file Modified: trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/de/campussource/cse/webconfig/Setting.java =================================================================== --- trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/de/campussource/cse/webconfig/Setting.java 2009-06-27 16:12:05 UTC (rev 279) +++ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/de/campussource/cse/webconfig/Setting.java 2009-06-30 11:39:55 UTC (rev 280) @@ -1,50 +1,25 @@ -/* - * - * Campus Source Engine (CSE) is a Middleware framwork designed for educational Institutions. Its aim is to provide an easy solution for setting up IT infrastructures. - * Copyright (C) 2006-2007 Campus Source Initiative NRW - * - * Campus Source Engine 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 2 - * 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, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * Contact Information: - * - * cse...@ca... - * - * CampusSource Geschaeftsstelle - * at the FernUniversitaet in Hagen - * Universitaetsstrasse 11 - * D-58097 Hagen - * Germany - * - */ - - - package de.campussource.cse.webconfig; import java.io.Serializable; import java.net.URL; import java.net.MalformedURLException; +import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; +import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.persistence.NamedQueries; +import javax.persistence.NamedQuery; import javax.persistence.Transient; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlTransient; +import javax.xml.bind.annotation.XmlType; // TODO: Auto-generated Javadoc /** @@ -52,11 +27,19 @@ * * @author johannesd represents a concrete setting like "password=1234" */ + +@NamedQueries({ + @NamedQuery( name = "Setting.getAll", + query = "SELECT s FROM Setting s"), + + @NamedQuery( name = "Setting.getByNames", + query = "SELECT s FROM Setting s WHERE s.category.name = :categoryName AND s.name = :settingName") +}) + @Entity @XmlRootElement(name="setting") public class Setting implements Serializable{ - /* CONSTANTS */ /** The Constant serialVersionUID. */ @Transient private static final long serialVersionUID = 8044991853608326088L; @@ -76,28 +59,20 @@ * when creating a list of values, value will hold the elements of the list * seperated with this char. */ - public static final String SPLITCHAR = "³"; - - + public static final String SPLITCHAR = "|"; - - - /* START of XML-only fields */ /** the default value for this setting. */ - @Transient - @XmlAttribute(required=true, name="default") +// @Transient + @XmlAttribute(required = true, name = "default") private String defaultValue; - /** Description for this setting, eg "Password for Webservice". */ - @Transient - @XmlAttribute(required=true, name="description") + /** Description for this setting */ + @XmlAttribute(required = true) private String description; /** the type of this settings value, see constants TYPE_XXX. */ - @XmlAttribute(required=false, name="type") - private short type=TYPE_STRING; - - /* END of XML-only fields, start of persistent-only fields */ + @XmlAttribute(required = false) + private short type = TYPE_STRING; /** The id. */ @Id @@ -108,30 +83,24 @@ @Column(columnDefinition="text") private String value; + @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.EAGER) + @JoinColumn(name = "categoryId") + @XmlTransient + private SettingCategory category; - - /* END of persistent-only fields, start of shared fields */ - - /** * name of this setting, eg "ilias3_password" WARNING: the name has to be * unique for the complete configuration, not only within its category. */ @XmlAttribute(required=true, name="name") private String name; - - /* END of shared fields */ - - - - /* standard getters */ - + /** * Gets the name. * * @return the unique name of this setting */ - public String getName(){ + public String getName() { return name; } @@ -140,7 +109,7 @@ * * @return a human readable description */ - public String getDescription(){ + public String getDescription() { return description; } @@ -149,7 +118,7 @@ * * @return the id */ - public int getId(){ + public int getId() { return id; } @@ -158,7 +127,7 @@ * * @return the type of this setting, see TYPE_XXX constants in this class */ - public short getType(){ + public short getType() { return type; } @@ -168,45 +137,45 @@ * * @return the value of this setting as String */ - public String getValueS(){ + public String getAsString() { return value; } /** - * Gets the value and will replace all placeholdes with the given parameters ($0 with the first element + * Gets the value and will replace all placeholdes with the given parameters ($0 with the first element, etc.) + * * @param params list of parameters that will be translated into the value * @return the value of this setting as String */ - public String getValueS(String[] params){ - String ret=value; - if(params!=null){ - for(int n=0;n<params.length;n++){ - String token="\\$"+n; - ret=ret.replaceAll(token, params[n]); + public String getAsString(String[] params) { + String ret = value; + if (params != null) { + for (int n = 0; n < params.length; n++) { + String token = "\\$" + n; + ret = ret.replaceAll(token, params[n]); } } return ret; } - /** - * a list of strings(the original value splitted by SPLITCHAR) the entrys + * A list of strings(the original value splitted by SPLITCHAR) the entrys * are trim()-ed, so you can put something like "dummy1, dummy2" for value * and will recieve a array ["dummy1"]["dummy2"]. * * @return the list */ - public String[] getListOfValuesS(){ + public String[] getAsListOfStrings(){ - String[] ret=value.split(SPLITCHAR); - for(int x=0;x<ret.length;x++){ - ret[x]=ret[x].trim(); + String[] ret = value.split(SPLITCHAR); + for (int x = 0; x < ret.length; x++) { + ret[x] = ret[x].trim(); } return ret; } /** - * returns a list of integers (the original value splitted by SPLITCHAR and + * Returns a list of integers (the original value splitted by SPLITCHAR and * cast to int). * * @return the list @@ -215,27 +184,24 @@ * if one of the entrys could not be cast to int or the type * isnt TYPE_INT_LIST */ - public int[] getListOfValuesI() throws IllegalArgumentException{ - if(type!=TYPE_INT_LIST) - throw new IllegalArgumentException("cannot get Integer type value for setting: "+name); - String[] tmp = getListOfValuesS(); //"1","2","3"... - int[] ret=new int[tmp.length]; - for(int x=0;x<ret.length;x++){ - try{ - ret[x]=new Integer(tmp[x]).intValue(); - } - catch(NumberFormatException e){ - throw new IllegalArgumentException("cannot parse to Integer value for setting: "+name+" value: "+value); - } + public int[] getAsListOfIntegers() throws IllegalArgumentException { + if ( type != TYPE_INT_LIST) { + throw new IllegalArgumentException("Setting-type incompatible with list of integers for setting: " + name); + } + String[] tmp = getAsListOfStrings(); //"1","2","3"... + int[] ret = new int[tmp.length]; + for (int x = 0; x < ret.length; x++) { + try { + ret[x] = new Integer(tmp[x]).intValue(); + } catch (NumberFormatException e) { + throw new IllegalArgumentException("Cannot parse string as integer: " + name + ", value: " + value); + } } return ret; } - - - /** - * Gets the value i. + * Gets the value as integer. * * @return integer value * @@ -243,19 +209,19 @@ * when this setting isnt of type Int or the stored value cannot * be cast to int */ - public int getValueI() throws IllegalArgumentException{ - if(type!=TYPE_INT) - throw new IllegalArgumentException("cannot get Integer type value for setting: "+name); - try{ - return new Integer(value).intValue(); - } - catch(NumberFormatException e){ - throw new IllegalArgumentException("cannot parse to Integer value for setting: "+name+" value: "+value); - } + public int getAsInteger() throws IllegalArgumentException { + if (type != TYPE_INT) { + throw new IllegalArgumentException("Setting-type incompatible with integer: " + name); + } + try { + return new Integer(value).intValue(); + } catch (NumberFormatException e) { + throw new IllegalArgumentException("Cannot parse string as integer: " + name + ", value: " + value); + } } /** - * Gets the value b. + * Gets the value as boolean. * * @return boolean value * @@ -263,165 +229,165 @@ * when this setting isnt of type Bool or the stored value * cannot be interpreted as bool */ - public boolean getValueB() throws IllegalArgumentException{ - if(type!=TYPE_BOOL) - throw new IllegalArgumentException("cannot get Boolean type value for setting: "+name); - if(value.equals(BOOLEAN_TRUE)){ - return true; - } - if(value.equals(BOOLEAN_FALSE)){ - return false; - } - //if we get here, the value was strange and defintly not boolean - throw new IllegalArgumentException("cannot get Boolean type value for setting: "+name); - } + public boolean getAsBoolean() throws IllegalArgumentException { + if (type != TYPE_BOOL) { + throw new IllegalArgumentException("Setting-type incompatible with boolean: " + name); + } + if (value.equals(BOOLEAN_TRUE)) { + return true; + } + if (value.equals(BOOLEAN_FALSE)) { + return false; + } + /* If we get here, the value was strange and defintly not boolean */ + throw new IllegalArgumentException("Cannot parse string as boolean: " + name + ", value: " + value); + } - /** - * Gets the value u. + * Gets the value as URL. * * @return url value * * @throws IllegalArgumentException * when this setting is not of type URL */ - public URL getValueU() throws IllegalArgumentException{ - if(type!=TYPE_URL) - throw new IllegalArgumentException("cannot get URL type value for setting: "+name); - String urlString = value.trim(); - try { - return new URL(urlString); - } - catch (MalformedURLException e) { - throw new IllegalArgumentException("cannot get URL type value for setting: "+name); - } - } + public URL getAsUrl() throws IllegalArgumentException { + if (type != TYPE_URL) { + throw new IllegalArgumentException("Setting-type incompatible with url: " + name); + } + String urlString = value.trim(); + try { + return new URL(urlString); + } catch (MalformedURLException e) { + throw new IllegalArgumentException("Cannot parse string as url: " + name + ", value: " + value); + } + } /** - * for date-settings, this will get the day of the month + * For date-settings, this will get the day of the month * * @return day value * * @throws IllegalArgumentException * when this setting is not of type URL */ - public int getValueDateDay() throws IllegalArgumentException{ - if(type!=TYPE_DATE) - throw new IllegalArgumentException("cannot get URL type value for setting: "+name); - String[] parts= value.trim().split("-"); - try { - return new Integer(parts[2]).intValue(); - } - catch (Exception e) { - throw new IllegalArgumentException("cannot get Day value for setting: "+name); - } - } + public int getAsDateDay() throws IllegalArgumentException { + if (type != TYPE_DATE) { + throw new IllegalArgumentException("Setting-type incompatible with date-day: " + name); + } + String[] parts = value.trim().split("-"); + try { + return new Integer(parts[2]).intValue(); + } catch (Exception e) { + throw new IllegalArgumentException("Cannot parse string as date-day: " + name + ", value: " + value); + } + } + /** - * for date-settings, this will get the month-of-year + * For date-settings, this will get the month-of-year * * @return day value * * @throws IllegalArgumentException * when this setting is not of type URL */ - public int getValueDateMonth() throws IllegalArgumentException{ - if(type!=TYPE_DATE) - throw new IllegalArgumentException("cannot get URL type value for setting: "+name); - String[] parts= value.trim().split("-"); - try { - return new Integer(parts[1]).intValue(); - } - catch (Exception e) { - throw new IllegalArgumentException("cannot get Month value for setting: "+name); - } - } + public int getAsDateMonth() throws IllegalArgumentException { + if (type != TYPE_DATE) { + throw new IllegalArgumentException("Setting-type incompatible with date-month: " + name); + } + String[] parts = value.trim().split("-"); + try { + return new Integer(parts[1]).intValue(); + } catch (Exception e) { + throw new IllegalArgumentException("Cannot parse string as date-month: " + name + ", value: " + value); + } + } /** - * for date-settings, this will get the month-of-year + * For date-settings, this will get the month-of-year * * @return day value * * @throws IllegalArgumentException * when this setting is not of type URL */ - public int getValueDateYear() throws IllegalArgumentException{ - if(type!=TYPE_DATE) - throw new IllegalArgumentException("cannot get URL type value for setting: "+name); - try { - return new Integer(value.substring(0,4)); - } - catch (Exception e) { - throw new IllegalArgumentException("cannot get Year value for setting: "+name); - } - } - - - + public int geAsDateYear() throws IllegalArgumentException { + if (type != TYPE_DATE) { + throw new IllegalArgumentException("Setting-type incompatible with date-year: " + name); + } + try { + return new Integer(value.substring(0, 4)); + } catch (Exception e) { + throw new IllegalArgumentException("Cannot parse string as date-year: " + name + ", value: " + value); + } + } + /** - * sets the new value of this setting. + * Sets the new value of this setting. * * @param newval * the new value */ - public void setValue(int newval){ - value=newval+""; - } + public void setValue(int newval) { + value = newval + ""; + } /** - * sets the new value of this setting. + * Sets the new value of this setting. * * @param newval * the new value */ - public void setValue(boolean newval){ - value=newval?BOOLEAN_TRUE:BOOLEAN_FALSE; - } + public void setValue(boolean newval) { + value = newval ? BOOLEAN_TRUE : BOOLEAN_FALSE; + } /** - * sets the new value of this setting. if this setting is of type list, it + * Sets the new value of this setting. If this setting is of type list, it * will replace all newline-chars with SPLITCHAR so you can feed setvalue() * directly with the HTTP-parameters form a textarea-field * * @param newval * the new value */ - public void setValue(String newval){ - if(type==TYPE_INT_LIST || type==TYPE_STRING_LIST){ - value=newval.replaceAll("\n", SPLITCHAR); - //removed empty list entries - String[] listvalues=getListOfValuesS(); - value=""; - for(String currentListEntry:listvalues){ - if(currentListEntry.trim().length()>0){ - value+=currentListEntry.trim()+SPLITCHAR; - } - } - if(value.length()>1){ - value=value.substring(0, value.length()-1); - } - } - else - value=newval; - } + public void setValue(String newval) { + if (type == TYPE_INT_LIST || type == TYPE_STRING_LIST) { + value = newval.replaceAll("\n", SPLITCHAR); + //removed empty list entries + String[] listvalues = getAsListOfStrings(); + value = ""; + for (String currentListEntry : listvalues) { + if (currentListEntry.trim().length() > 0) { + value += currentListEntry.trim() + SPLITCHAR; + } + } + if (value.length() > 1) { + value = value.substring(0, value.length() - 1); + } + } else { + value = newval; + } + } /** - * will set the settings value to its default value. + * Will set the settings value to its default value. * * @throws IllegalStateException * if default value is null, which usually means that we created * this entity from persistence rather then from XML */ - public void setToDefault() throws IllegalStateException{ - if(defaultValue==null){ - throw new IllegalStateException("Default-value is null for setting [" + name + "], we most likely created this entity from persistence rather then from XML."); - } - if(type==TYPE_BOOL){ - value=defaultValue.equalsIgnoreCase(BOOLEAN_TRUE)?BOOLEAN_TRUE:BOOLEAN_FALSE; - } - else{ - value=defaultValue; - } - } + public void setToDefault() throws IllegalStateException { +/* + if (defaultValue == null) { + throw new IllegalStateException("Default-value is null for setting [" + name + "], we most likely created this entity from persistence rather then from XML."); + } +*/ + if (type == TYPE_BOOL) { + value = defaultValue.equalsIgnoreCase(BOOLEAN_TRUE) ? BOOLEAN_TRUE : BOOLEAN_FALSE; + } else { + value = defaultValue; + } + } /** * Gets the default value. @@ -432,12 +398,14 @@ * if default value is null, which usually means that we created * this entity from persistence rather then from XML */ - public String getDefaultValue() throws IllegalStateException { - if(defaultValue==null){ - throw new IllegalStateException("defaultvalue is null, we most likely created this entity from persistence rather then from XML"); - } - return defaultValue; - } + public String getDefaultValue() throws IllegalStateException { +/* + if (defaultValue == null) { + throw new IllegalStateException("defaultvalue is null, we most likely created this entity from persistence rather then from XML"); + } + */ + return defaultValue; + } /** * Sets the the name. @@ -445,16 +413,22 @@ * @param thename * the new the name */ - public void setTheName(String thename) { - this.name=thename; - } + public void setTheName(String thename) { + this.name = thename; + } /* (non-Javadoc) * @see java.lang.Object#toString() */ - public String toString(){ - return getName()+"="+(getType()==TYPE_PASSWORD?"****":getValueS()); - } + public String toString() { + return getName() + "=" + (getType() == TYPE_PASSWORD ? "****" : getAsString()); + } - + public SettingCategory getCategory() { + return category; + } + + public void setCategory(SettingCategory category) { + this.category = category; + } } Modified: trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/de/campussource/cse/webconfig/SettingCategory.java =================================================================== --- trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/de/campussource/cse/webconfig/SettingCategory.java 2009-06-27 16:12:05 UTC (rev 279) +++ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/de/campussource/cse/webconfig/SettingCategory.java 2009-06-30 11:39:55 UTC (rev 280) @@ -1,129 +1,99 @@ -/* - * - * Campus Source Engine (CSE) is a Middleware framwork designed for educational Institutions. Its aim is to provide an easy solution for setting up IT infrastructures. - * Copyright (C) 2006-2007 Campus Source Initiative NRW - * - * Campus Source Engine 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 2 - * 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, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - * - * Contact Information: - * - * cse...@ca... - * - * CampusSource Geschaeftsstelle - * at the FernUniversitaet in Hagen - * Universitaetsstrasse 11 - * D-58097 Hagen - * Germany - * - */ - - - package de.campussource.cse.webconfig; + import java.io.Serializable; +import java.util.ArrayList; +import java.util.Collection; import java.util.List; +import javax.persistence.CascadeType; +import javax.persistence.Entity; +import javax.persistence.FetchType; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.NamedQueries; +import javax.persistence.NamedQuery; +import javax.persistence.OneToMany; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlType; -// TODO: Auto-generated Javadoc -/** - * The Class SettingCategory. - * - * @author johannesd represents a system configuration category like "ilias" - * note that this is NOT an ejb3 entity and thus is NOT persistent,its - * just a helper to show the configuration more structured when its - * loaded from XML - */ +@NamedQueries({ + @NamedQuery( name = "SettingCategory.getAll", + query = "SELECT c FROM SettingCategory c") +}) + +@Entity @XmlRootElement(name="category") public class SettingCategory implements Serializable{ /** The Constant serialVersionUID. */ private static final long serialVersionUID = -317373796493949632L; - - /** - * if the settings in this group may be changed by any admin or only core - * admins. - */ - @XmlAttribute(required=true,name="public") - private boolean publicCategory; - + /** The id. */ + @Id + @GeneratedValue(strategy = GenerationType.TABLE) + private int id; + /** its name. */ - @XmlAttribute(required=true, name="name") - private String categoryName; + private String name; /** its description. */ - @XmlAttribute(required=true,name="description") - private String description; + private String description; - - /** list of all settings within this category. */ - @XmlElement(name="setting") - private List<Setting> settings; + /** List of all settings within this category. */ + @OneToMany(mappedBy="category", cascade = CascadeType.ALL, fetch = FetchType.EAGER) + private Collection<Setting> settings = new ArrayList<Setting>(); - - - /** - * Instantiates a new setting category. - */ public SettingCategory() { } + @XmlAttribute(required = true, name = "description") + public Strin... [truncated message content] |
From: <pka...@us...> - 2009-06-30 19:13:54
|
Revision: 282 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=282&view=rev Author: pkasprzak Date: 2009-06-30 19:13:00 +0000 (Tue, 30 Jun 2009) Log Message: ----------- * Fix: allow editing of settings with the same names (use better ids) * Cleanups Modified Paths: -------------- trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/configuration.xml trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/src/java/de/campussource/cse/webconfig/EditConfigurationServlet.java trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/web/WEB-INF/web.xml Modified: trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/configuration.xml =================================================================== --- trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/configuration.xml 2009-06-30 11:40:17 UTC (rev 281) +++ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/configuration.xml 2009-06-30 19:13:00 UTC (rev 282) @@ -14,6 +14,14 @@ <setting name="ilias_login_password" description="Passwort f\xFCr Login" default="cs3-1p"/> <setting name="ilias_ws_url" description="URL der WS-Schnittstelle" default="http://localhost/ilias3/webservice/soap/server.php?debug=1"/> </category> + + <category name="Ilias2" description="Ilias-Adapter Einstellungen"> + <setting name="ilias_login_client" description="Ident des Clients" default="test"/> + <setting name="ilias_login_username" description="Username f\xFCr Login" default="root"/> + <setting name="ilias_login_password" description="Passwort f\xFCr Login" default="cs3-1p"/> + <setting name="ilias_ws_url" description="URL der WS-Schnittstelle" default="http://localhost/ilias3/webservice/soap/server.php?debug=1"/> + </category> + <!-- <category public="false" name="csecore" description="Grundlegende CSE Systemeinstellungen"> <setting name="CSE_Health_Komponente_Aktiv" description="Nutzung der Health Komponente (automatische Behebung von Inkonsistenzen)" default="true" type="1"/> Modified: trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/src/java/de/campussource/cse/webconfig/EditConfigurationServlet.java =================================================================== --- trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/src/java/de/campussource/cse/webconfig/EditConfigurationServlet.java 2009-06-30 11:40:17 UTC (rev 281) +++ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/src/java/de/campussource/cse/webconfig/EditConfigurationServlet.java 2009-06-30 19:13:00 UTC (rev 282) @@ -2,16 +2,12 @@ import java.io.IOException; import java.io.PrintWriter; -import java.util.ArrayList; -import java.util.Collection; import java.util.LinkedList; import javax.naming.NamingException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import javax.xml.bind.JAXBContext; -import javax.xml.bind.Unmarshaller; /** * EditConfigurationServlet allows editing of a existing Configuration as well as creating a new one @@ -24,27 +20,12 @@ private static final long serialVersionUID = 8190420191955939951L; /** - * set this parameter to any value and the user will get a formular to create a new config - */ -// public static final String PARAM_CREATENEW_CONFIG = "createconfig"; - - /** - * set this parameter to the ID of an existing config and the user will be - * able to manipulate its values. - */ -// public static final String PARAM_EDIT_CONFIG = "editconfig"; - - /** * set this parameter to the ID of an existing config and the input settings * will be saved for the setting with this ID if this parameter is missing, * a new config will be created. */ - public static final String FIELD_SAFE_EDIT_CONFIG = "safeeditconfig"; - /** this parameter must hold tha value of a freshly created config. */ - // public static final String FIELD_NEWCONFIG_NAME = "nameofnewconfig"; - /** uri to the edit_config_servlet. */ public static final String URI_EDIT_SERVLET = "editConfigurationServlet"; @@ -68,25 +49,10 @@ PrintWriter out = resp.getWriter(); printHeader("Edit configuration", out, req); - //try to unmarshal configuration from XML -/* - Configuration configFromXml = null; - try { - Unmarshaller um = JAXBContext.newInstance("de.campussource.cse.webconfig").createUnmarshaller(); - configFromXml = (Configuration) um.unmarshal(getClass().getResourceAsStream(ConfigurationManager.CONFIG_XML_LOCATION)); - } catch (Exception e) { - e.printStackTrace(); - printError("Fehler beim Parsen der " + ConfigurationManager.CONFIG_XML_LOCATION + ": " + e, out); - printFooter(out); - return; - } -*/ - /* HANDLING USER INPUT */ - - /* checking input */ - + /* Validate user-input */ - String errors = ""; //this will hold the error message (if any) + /* This will hold the error message (if any) */ + String errors = ""; //all names of settings with wrong input will go in here //DO NOT USE settingswithError.size()==0 to find out if there where errors! @@ -111,8 +77,8 @@ break; case Setting.TYPE_INT_LIST: try { - setting.setValue(input); //this will create the list, regardless if this a valid int list - setting.getAsListOfIntegers(); //this will get us a exception if the user made a error + setting.setValue(input); //this will create the list, regardless if this a valid int list + setting.getAsListOfIntegers(); //this will get us a exception if the user made a error } catch (IllegalArgumentException e) { errors += "<br>" + setting.getName(); settingswithError.add(setting.getName()); @@ -150,22 +116,7 @@ configManager.updateSetting(setting); } } - /* - int editid=new Integer(req.getParameter(FIELD_SAFE_EDIT_CONFIG)).intValue(); - Configuration configToUpdate=configManager.getConfigById(editid); - - //update all configs from this setting - for(Setting setting:configToUpdate.getSettings()){ - //generate a unique name for this setting to be used for the inpout fields - String inputkey=generateInputFieldName(setting); - //the field is null when the user didnt had the rights to manipulate this setting - if(req.getParameter(inputkey)!=null){ - setting.setValue(req.getParameter(inputkey)); - } - } - configManager.updateConfiguration(configToUpdate); - */ - printConfirm("Die Konfiguration wurde geändert", out); + printConfirm("Die Konfiguration wurde ge\xE4ndert", out); } /* END OF HANDLING USER INPUT */ @@ -175,9 +126,7 @@ boolean isNewConfig = false; printHiddenField(out, FIELD_SAFE_EDIT_CONFIG, 666); - //set edit param again so the user can continue editing this entry after he saved his changes -// printHiddenField(out, PARAM_EDIT_CONFIG, configFromXml.getConfigurationId()); - startSubBlock("Konfiguration ändern", out, new String[]{"Name", "Wert"}); + startSubBlock("Konfiguration \xC4ndern", out, new String[] {"Name", "Wert"}); startSubRow(out); out.println("<td width=50%>Name der Konfiguration<br></td><td width=50%>"); out.print("CSE Configuration"); @@ -307,7 +256,7 @@ * @return the string */ private String generateInputFieldName(Setting setting) { - return "input_"+(setting.getName()).hashCode(); + return "input_" + setting.getId(); } /* (non-Javadoc) Modified: trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/web/WEB-INF/web.xml =================================================================== --- trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/web/WEB-INF/web.xml 2009-06-30 11:40:17 UTC (rev 281) +++ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/web/WEB-INF/web.xml 2009-06-30 19:13:00 UTC (rev 282) @@ -26,6 +26,6 @@ </session-timeout> </session-config> <welcome-file-list> - <welcome-file>/editConfigurationServlet</welcome-file> + <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <pka...@us...> - 2009-07-01 11:36:12
|
Revision: 287 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=287&view=rev Author: pkasprzak Date: 2009-07-01 11:35:51 +0000 (Wed, 01 Jul 2009) Log Message: ----------- * Remove dependency on Log4j (use standard glassfish logging) * Cleanup Modified Paths: -------------- trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/nbproject/build-impl.xml trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/nbproject/genfiles.properties trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/nbproject/project.properties trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/nbproject/project.xml trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/de/campussource/cse/webconfig/ConfigurationManagerImpl.java trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/nbproject/build-impl.xml trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/nbproject/genfiles.properties trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/nbproject/project.properties trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/nbproject/project.xml trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/src/java/de/campussource/cse/webconfig/AuthServletStub.java Modified: trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/nbproject/build-impl.xml =================================================================== --- trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/nbproject/build-impl.xml 2009-07-01 11:34:36 UTC (rev 286) +++ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/nbproject/build-impl.xml 2009-07-01 11:35:51 UTC (rev 287) @@ -298,14 +298,12 @@ <!-- You can override this target in the ../build.xml file. --> </target> <target depends="compile" name="library-inclusion-in-archive"> - <copyfiles files="${libs.Log4j.classpath}" todir="${build.classes.dir}"/> <copyfiles files="${libs.hibernate-persistence.classpath}" todir="${build.classes.dir}"/> </target> <target depends="compile" name="library-inclusion-in-manifest"> - <copyfiles files="${libs.Log4j.classpath}" manifestproperty="manifest.libs.Log4j.classpath" todir="${dist.ear.dir}"/> <copyfiles files="${libs.hibernate-persistence.classpath}" manifestproperty="manifest.libs.hibernate-persistence.classpath" todir="${dist.ear.dir}"/> <manifest file="${build.ear.classes.dir}/META-INF/MANIFEST.MF" mode="update"> - <attribute name="Class-Path" value="${manifest.libs.Log4j.classpath} ${manifest.libs.hibernate-persistence.classpath} "/> + <attribute name="Class-Path" value="${manifest.libs.hibernate-persistence.classpath} "/> </manifest> </target> <target name="-copy-meta-inf"> Modified: trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/nbproject/genfiles.properties =================================================================== --- trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/nbproject/genfiles.properties 2009-07-01 11:34:36 UTC (rev 286) +++ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/nbproject/genfiles.properties 2009-07-01 11:35:51 UTC (rev 287) @@ -1,9 +1,9 @@ -build.xml.data.CRC32=fcac7bb5 +build.xml.data.CRC32=1d5d0162 build.xml.script.CRC32=af89c22e build.xml.stylesheet.CRC32=e5f4c432 # 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=fcac7bb5 -nbproject/build-impl.xml.script.CRC32=69e2ec3a +nbproject/build-impl.xml.data.CRC32=1d5d0162 +nbproject/build-impl.xml.script.CRC32=5e2df2d9 nbproject/build-impl.xml.stylesheet.CRC32=36c39d59 nbproject/jaxws-build.xml.stylesheet.CRC32=f49c6152 Modified: trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/nbproject/project.properties =================================================================== --- trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/nbproject/project.properties 2009-07-01 11:34:36 UTC (rev 286) +++ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/nbproject/project.properties 2009-07-01 11:35:51 UTC (rev 287) @@ -20,7 +20,6 @@ jar.compress=false jar.name=WebConfig-ejb.jar javac.classpath=\ - ${libs.Log4j.classpath}:\ ${libs.hibernate-persistence.classpath} javac.debug=true javac.deprecation=false Modified: trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/nbproject/project.xml =================================================================== --- trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/nbproject/project.xml 2009-07-01 11:34:36 UTC (rev 286) +++ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/nbproject/project.xml 2009-07-01 11:35:51 UTC (rev 287) @@ -8,7 +8,6 @@ <data xmlns="http://www.netbeans.org/ns/j2ee-ejbjarproject/3"> <name>WebConfig-ejb</name> <minimum-ant-version>1.6.5</minimum-ant-version> - <included-library>libs.Log4j.classpath</included-library> <included-library>libs.hibernate-persistence.classpath</included-library> <source-roots> <root id="src.dir" name="Source Packages"/> Modified: trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/de/campussource/cse/webconfig/ConfigurationManagerImpl.java =================================================================== --- trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/de/campussource/cse/webconfig/ConfigurationManagerImpl.java 2009-07-01 11:34:36 UTC (rev 286) +++ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-ejb/src/java/de/campussource/cse/webconfig/ConfigurationManagerImpl.java 2009-07-01 11:35:51 UTC (rev 287) @@ -1,12 +1,5 @@ -/* - * To change this template, choose Tools | Templates - * and open the template in the editor. - */ - package de.campussource.cse.webconfig; -import java.util.ArrayList; -import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; @@ -14,15 +7,12 @@ import java.util.List; import java.util.logging.*; import java.util.Map; -import javax.annotation.PostConstruct; import javax.ejb.Stateless; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import javax.xml.bind.JAXBContext; import javax.xml.bind.Unmarshaller; -//import org.apache.log4j.Logger; - /** * * @author pete Modified: trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/nbproject/build-impl.xml =================================================================== --- trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/nbproject/build-impl.xml 2009-07-01 11:34:36 UTC (rev 286) +++ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/nbproject/build-impl.xml 2009-07-01 11:35:51 UTC (rev 287) @@ -505,15 +505,13 @@ <target depends="init,compile,compile-jsps,-pre-dist,-do-dist-with-manifest,-do-dist-without-manifest" name="do-dist"/> <target depends="init" if="dist.ear.dir" name="library-inclusion-in-manifest"> <copyfiles files="${reference.WebConfig-ejb.dist}" iftldtodir="${build.web.dir}/WEB-INF" manifestproperty="manifest.reference.WebConfig-ejb.dist" todir="${dist.ear.dir}"/> - <copyfiles files="${libs.Log4j.classpath}" iftldtodir="${build.web.dir}/WEB-INF" manifestproperty="manifest.libs.Log4j.classpath" todir="${dist.ear.dir}"/> <mkdir dir="${build.web.dir}/META-INF"/> <manifest file="${build.web.dir}/META-INF/MANIFEST.MF" mode="update"> - <attribute name="Class-Path" value="${manifest.reference.WebConfig-ejb.dist} ${manifest.libs.Log4j.classpath} "/> + <attribute name="Class-Path" value="${manifest.reference.WebConfig-ejb.dist} "/> </manifest> </target> <target depends="init" name="library-inclusion-in-archive" unless="dist.ear.dir"> <copyfiles files="${reference.WebConfig-ejb.dist}" todir="${build.web.dir}/WEB-INF/lib"/> - <copyfiles files="${libs.Log4j.classpath}" todir="${build.web.dir}/WEB-INF/lib"/> </target> <target depends="init,compile,compile-jsps,-pre-dist,library-inclusion-in-manifest" name="do-ear-dist"> <dirname file="${dist.ear.war}" property="dist.jar.dir"/> Modified: trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/nbproject/genfiles.properties =================================================================== --- trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/nbproject/genfiles.properties 2009-07-01 11:34:36 UTC (rev 286) +++ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/nbproject/genfiles.properties 2009-07-01 11:35:51 UTC (rev 287) @@ -1,8 +1,8 @@ -build.xml.data.CRC32=a3b7b4f2 +build.xml.data.CRC32=c214dfe1 build.xml.script.CRC32=e5b6ef86 build.xml.stylesheet.CRC32=c0ebde35 # 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=a3b7b4f2 -nbproject/build-impl.xml.script.CRC32=96d66a8f +nbproject/build-impl.xml.data.CRC32=c214dfe1 +nbproject/build-impl.xml.script.CRC32=beda6148 nbproject/build-impl.xml.stylesheet.CRC32=174458fc Modified: trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/nbproject/project.properties =================================================================== --- trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/nbproject/project.properties 2009-07-01 11:34:36 UTC (rev 286) +++ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/nbproject/project.properties 2009-07-01 11:35:51 UTC (rev 287) @@ -24,8 +24,7 @@ j2ee.server.type=J2EE jar.compress=false javac.classpath=\ - ${reference.WebConfig-ejb.dist}:\ - ${libs.Log4j.classpath} + ${reference.WebConfig-ejb.dist} # Space-separated list of extra javac options javac.compilerargs= javac.debug=true Modified: trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/nbproject/project.xml =================================================================== --- trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/nbproject/project.xml 2009-07-01 11:34:36 UTC (rev 286) +++ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/nbproject/project.xml 2009-07-01 11:35:51 UTC (rev 287) @@ -10,10 +10,6 @@ <file>${reference.WebConfig-ejb.dist}</file> <path-in-war>WEB-INF/lib</path-in-war> </library> - <library> - <file>${libs.Log4j.classpath}</file> - <path-in-war>WEB-INF/lib</path-in-war> - </library> </web-module-libraries> <web-module-additional-libraries/> <source-roots> Modified: trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/src/java/de/campussource/cse/webconfig/AuthServletStub.java =================================================================== --- trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/src/java/de/campussource/cse/webconfig/AuthServletStub.java 2009-07-01 11:34:36 UTC (rev 286) +++ trunk/sandbox/lsf-adapter-demo/WebConfig/WebConfig-war/src/java/de/campussource/cse/webconfig/AuthServletStub.java 2009-07-01 11:35:51 UTC (rev 287) @@ -4,12 +4,10 @@ import javax.naming.InitialContext; import javax.naming.NamingException; +import java.util.logging.*; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; -import org.apache.log4j.Logger; - - /** * provides a multi-level login mechanism and some basic HTML Design methods * the login mechanism is currently unused @@ -67,7 +65,7 @@ InitialContext ctx = new InitialContext(); configManager = (ConfigurationManager) ctx.lookup("cse/ConfigurationManager"); - logger = Logger.getLogger(AuthServletStub.class); + logger = Logger.getLogger("de.campussource.cse.webconfig.AuthServletStub"); } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |