Moved to trunk.
This commit is contained in:
parent
3eb804487f
commit
d3180823a7
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
|
||||
<classpathentry kind="src" path="/JasperReports"/>
|
||||
<classpathentry kind="src" path="/dbPort"/>
|
||||
<classpathentry combineaccessrules="false" kind="src" path="/JasperReportsTools"/>
|
||||
<classpathentry kind="lib" path="/tools/lib/j2ee.jar"/>
|
||||
<classpathentry kind="output" path="build"/>
|
||||
</classpath>
|
|
@ -0,0 +1,12 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>JasperReportsWebApp</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
|
@ -0,0 +1,15 @@
|
|||
@CALL ..\utils_dev\myDevEnv.bat
|
||||
@IF NOT %COMPIERE_ENV%==Y GOTO NOBUILD
|
||||
|
||||
@echo Cleanup ...
|
||||
@%JAVA_HOME%\bin\java -Dant.home="." %ANT_PROPERTIES% org.apache.tools.ant.Main clean
|
||||
|
||||
@echo Building ...
|
||||
@%JAVA_HOME%\bin\java -Dant.home="." %ANT_PROPERTIES% org.apache.tools.ant.Main main
|
||||
|
||||
@REM @pause
|
||||
@REM @exit
|
||||
|
||||
:NOBUILD
|
||||
@Echo Check myDevEnv.bat (copy from myDevEnvTemplate.bat)
|
||||
@REM @Pause
|
|
@ -0,0 +1,18 @@
|
|||
# Module compiling script
|
||||
# Ported from Windows script Marek Mosiewicz<marek.mosiewicz@jotel.com.pl>
|
||||
|
||||
|
||||
SAVED_DIR=`pwd` #save current dir
|
||||
cd `dirname $0`/../utils_dev #change dir to place where script resides - doesn not work with sym links
|
||||
UTILS_DEV=`pwd` #this is compiere source
|
||||
cd $SAVED_DIR #back to the saved directory
|
||||
|
||||
. $UTILS_DEV/myDevEnv.sh #call environment
|
||||
echo done
|
||||
if [ ! $COMPIERE_ENV==Y ] ; then
|
||||
echo "Can't set developemeent environemnt - check myDevEnv.sh"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo running Ant
|
||||
$JAVA_HOME/bin/java -Dant.home="." $ANT_PROPERTIES org.apache.tools.ant.Main
|
|
@ -0,0 +1,63 @@
|
|||
<!-- ============================================= -->
|
||||
<!-- webApp -->
|
||||
<!-- ============================================= -->
|
||||
|
||||
<project name="webApp" default="main" basedir=".">
|
||||
|
||||
<description>
|
||||
Build the UI subproject within the Compiere project.
|
||||
</description>
|
||||
|
||||
<!-- set global properties for this build -->
|
||||
<property name="src" value="src"/>
|
||||
<property name="build.dir" value="build"/>
|
||||
<property name="dist.dir" value="."/>
|
||||
|
||||
<property environment="env"/>
|
||||
|
||||
<!-- set path to include the necessary jar files for javac -->
|
||||
<path id="project.class.path">
|
||||
<pathelement path="${classpath}"/>
|
||||
<pathelement location="../tools/lib/j2ee.jar" />
|
||||
<pathelement location="../JasperReports/CompiereJasper.jar" />
|
||||
<pathelement location="../dbPort/dbPort.jar" />
|
||||
</path>
|
||||
|
||||
<target name="compile">
|
||||
<echo>------ Compiling webApp</echo>
|
||||
<mkdir dir="${build.dir}"/>
|
||||
<javac srcdir="${src}" destdir="${build.dir}" deprecation="on" source="1.4" target="1.4" debug="on">
|
||||
<classpath refid="project.class.path"/>
|
||||
</javac>
|
||||
</target>
|
||||
|
||||
<target name="xdoclet">
|
||||
<echo>------ Executing xdoclet</echo>
|
||||
<ant inheritall="false" antfile="xdoclet-build.xml"/>
|
||||
</target>
|
||||
|
||||
<target name="packaging">
|
||||
<echo>------ packaging</echo>
|
||||
<ant inheritall="false" antfile="packaging-build.xml"/>
|
||||
</target>
|
||||
|
||||
<target name="deploy-interface">
|
||||
<echo>------ deploying interfaces to JasperReports</echo>
|
||||
<copy todir="../JasperReports/src">
|
||||
<fileset dir="src" includes="org/compiere/interfaces/*.java"/>
|
||||
</copy>
|
||||
</target>
|
||||
|
||||
<target name="clean">
|
||||
<delete dir="${build.dir}"/>
|
||||
<delete file="webApp.war" failonerror="false"/>
|
||||
<delete file="webApp.ear" failonerror="false"/>
|
||||
<delete file="webAppEJB.jar" failonerror="false"/>
|
||||
<delete file="webEJB-client.jar" failonerror="false"/>
|
||||
</target>
|
||||
|
||||
<target name="main" depends="xdoclet, compile, packaging, deploy-interface" description="initialization target">
|
||||
|
||||
</target>
|
||||
|
||||
</project>
|
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<application version="1.4"
|
||||
xmlns="http://java.sun.com/xml/ns/j2ee"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
|
||||
http://java.sun.com/xml/ns/j2ee/application_1_4.xsd">
|
||||
<display-name>Web App</display-name>
|
||||
<module>
|
||||
<ejb>webAppEJB.jar</ejb>
|
||||
</module>
|
||||
<module>
|
||||
<web>
|
||||
<web-uri>webApp.war</web-uri>
|
||||
<context-root>/webApp</context-root>
|
||||
</web>
|
||||
</module>
|
||||
</application>
|
|
@ -0,0 +1,69 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
|
||||
|
||||
<ejb-jar >
|
||||
|
||||
<description>No Description.</description>
|
||||
<display-name>Generated by XDoclet</display-name>
|
||||
|
||||
<enterprise-beans>
|
||||
|
||||
<!-- Session Beans -->
|
||||
<session >
|
||||
<description><![CDATA[No Description.]]></description>
|
||||
<display-name>Compiere Server MD5 hash computation</display-name>
|
||||
|
||||
<ejb-name>compiere/MD5</ejb-name>
|
||||
|
||||
<home>org.compiere.interfaces.MD5Home</home>
|
||||
<remote>org.compiere.interfaces.MD5</remote>
|
||||
<ejb-class>org.compiere.ejb.MD5Bean</ejb-class>
|
||||
<session-type>Stateless</session-type>
|
||||
<transaction-type>Bean</transaction-type>
|
||||
|
||||
<ejb-ref >
|
||||
<ejb-ref-name>ejb/compiere/MD5</ejb-ref-name>
|
||||
<ejb-ref-type>Session</ejb-ref-type>
|
||||
<home>org.compiere.interfaces.MD5Home</home>
|
||||
<remote>org.compiere.interfaces.MD5</remote>
|
||||
<ejb-link>compiere/MD5</ejb-link>
|
||||
</ejb-ref>
|
||||
|
||||
</session>
|
||||
|
||||
<!--
|
||||
To add session beans that you have deployment descriptor info for, add
|
||||
a file to your merge directory called session-beans.xml that contains
|
||||
the <session></session> markup for those beans.
|
||||
-->
|
||||
|
||||
<!-- Entity Beans -->
|
||||
|
||||
<!--
|
||||
To add entity beans that you have deployment descriptor info for, add
|
||||
a file to your merge directory called entity-beans.xml that contains
|
||||
the <entity></entity> markup for those beans.
|
||||
-->
|
||||
|
||||
<!-- Message Driven Beans -->
|
||||
<!--
|
||||
To add message driven beans that you have deployment descriptor info for, add
|
||||
a file to your merge directory called message-driven-beans.xml that contains
|
||||
the <message-driven></message-driven> markup for those beans.
|
||||
-->
|
||||
|
||||
</enterprise-beans>
|
||||
|
||||
<!-- Relationships -->
|
||||
|
||||
<!-- Assembly Descriptor -->
|
||||
<assembly-descriptor >
|
||||
|
||||
<!-- finder permissions -->
|
||||
|
||||
<!-- transactions -->
|
||||
|
||||
<!-- finder transactions -->
|
||||
</assembly-descriptor>
|
||||
|
||||
</ejb-jar>
|
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE jboss PUBLIC "-//JBoss//DTD JBOSS//EN" "http://www.jboss.org/j2ee/dtd/jboss.dtd">
|
||||
|
||||
<jboss>
|
||||
|
||||
<enterprise-beans>
|
||||
|
||||
<session>
|
||||
<ejb-name>compiere/MD5</ejb-name>
|
||||
<jndi-name>ejb/compiere/MD5</jndi-name>
|
||||
</session>
|
||||
|
||||
</enterprise-beans>
|
||||
|
||||
<resource-managers>
|
||||
</resource-managers>
|
||||
|
||||
</jboss>
|
|
@ -0,0 +1,28 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 2.3//EN" "http://www.jboss.org/j2ee/dtd/jboss-web_3_2.dtd">
|
||||
|
||||
<jboss-web>
|
||||
|
||||
<!-- Resource Environment References -->
|
||||
<!--
|
||||
For additional resouce-env-ref tags add a merge file called jbossweb-resource-env-ref.xml
|
||||
-->
|
||||
|
||||
<!-- Resource references -->
|
||||
<!--
|
||||
For additional resouce-ref tags add a merge file called jbossweb-resource-ref.xml
|
||||
-->
|
||||
|
||||
<!-- EJB References -->
|
||||
<!--
|
||||
For additional ejb-ref tags add a merge file called jbossweb-ejb-ref.xml
|
||||
-->
|
||||
<ejb-ref>
|
||||
<ejb-ref-name>ejb/compiere/MD5</ejb-ref-name>
|
||||
<jndi-name>ejb/compiere/MD5</jndi-name>
|
||||
</ejb-ref>
|
||||
|
||||
<!-- EJB Local References -->
|
||||
|
||||
</jboss-web>
|
||||
|
|
@ -0,0 +1,99 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
|
||||
|
||||
<web-app >
|
||||
<distributable/>
|
||||
|
||||
<!--
|
||||
To use non XDoclet filters, create a filters.xml file that
|
||||
contains the additional filters (eg Sitemesh) and place it in your
|
||||
project's merge dir. Don't include filter-mappings in this file,
|
||||
include them in a file called filter-mappings.xml and put that in
|
||||
the same directory.
|
||||
-->
|
||||
|
||||
<!--
|
||||
To use non XDoclet filter-mappings, create a filter-mappings.xml file that
|
||||
contains the additional filter-mappings and place it in your
|
||||
project's merge dir.
|
||||
-->
|
||||
|
||||
<!--
|
||||
To use non XDoclet listeners, create a listeners.xml file that
|
||||
contains the additional listeners and place it in your
|
||||
project's merge dir.
|
||||
-->
|
||||
|
||||
<!--
|
||||
To use non XDoclet servlets, create a servlets.xml file that
|
||||
contains the additional servlets (eg Struts) and place it in your
|
||||
project's merge dir. Don't include servlet-mappings in this file,
|
||||
include them in a file called servlet-mappings.xml and put that in
|
||||
the same directory.
|
||||
-->
|
||||
|
||||
<servlet>
|
||||
<servlet-name>GetMD5File</servlet-name>
|
||||
<display-name>Name for GetMD5File</display-name>
|
||||
<description><![CDATA[Description for GetMD5File]]></description>
|
||||
<servlet-class>org.compiere.web.GetMD5FileServlet</servlet-class>
|
||||
|
||||
<init-param>
|
||||
<param-name>A parameter</param-name>
|
||||
<param-value>A value</param-value>
|
||||
</init-param>
|
||||
|
||||
</servlet>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>GetMD5File</servlet-name>
|
||||
<url-pattern>/GetMD5File</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!--
|
||||
To specify mime mappings, create a file named mime-mappings.xml, put it in your project's mergedir.
|
||||
Organize mime-mappings.xml following this DTD slice:
|
||||
|
||||
<!ELEMENT mime-mapping (extension, mime-type)>
|
||||
-->
|
||||
|
||||
<!--
|
||||
To specify error pages, create a file named error-pages.xml, put it in your project's mergedir.
|
||||
Organize error-pages.xml following this DTD slice:
|
||||
|
||||
<!ELEMENT error-page ((error-code | exception-type), location)>
|
||||
-->
|
||||
|
||||
<!--
|
||||
To add taglibs by xml, create a file called taglibs.xml and place it
|
||||
in your merge dir.
|
||||
-->
|
||||
|
||||
<!--
|
||||
To set up security settings for your web app, create a file named web-security.xml, put it in your project's mergedir.
|
||||
Organize web-security.xml following this DTD slice:
|
||||
|
||||
<!ELEMENT security-constraint (display-name?, web-resource-collection+, auth-constraint?, user-data-constraint?)>
|
||||
<!ELEMENT web-resource-collection (web-resource-name, description?, url-pattern*, http-method*)>
|
||||
<!ELEMENT web-resource-name (#PCDATA)>
|
||||
<!ELEMENT url-pattern (#PCDATA)>
|
||||
<!ELEMENT http-method (#PCDATA)>
|
||||
<!ELEMENT user-data-constraint (description?, transport-guarantee)>
|
||||
<!ELEMENT transport-guarantee (#PCDATA)>
|
||||
|
||||
<!ELEMENT login-config (auth-method?, realm-name?, form-login-config?)>
|
||||
<!ELEMENT auth-method (#PCDATA)>
|
||||
<!ELEMENT realm-name (#PCDATA)>
|
||||
<!ELEMENT form-login-config (form-login-page, form-error-page)>
|
||||
<!ELEMENT form-login-page (#PCDATA)>
|
||||
<!ELEMENT form-error-page (#PCDATA)>
|
||||
-->
|
||||
|
||||
<ejb-ref >
|
||||
<ejb-ref-name>ejb/compiere/MD5</ejb-ref-name>
|
||||
<ejb-ref-type>Session</ejb-ref-type>
|
||||
<home>org.compiere.interfaces.MD5Home</home>
|
||||
<remote>org.compiere.interfaces.MD5</remote>
|
||||
</ejb-ref>
|
||||
|
||||
</web-app>
|
|
@ -0,0 +1,37 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<title>Compiere Jasper integration</title>
|
||||
|
||||
<meta name = "DC.Title"
|
||||
content = "Compiere ERP CRM and JasperReports Integration"/>
|
||||
|
||||
<meta name = "DC.Subject"
|
||||
content = "Compiere distribution fully integrated with JasperReports Open Source GPL"/>
|
||||
|
||||
<meta name = "DC.Date.Created"
|
||||
content = "2005-03-23"/>
|
||||
<meta name = "DC.Type"
|
||||
scheme = "DCMIType"
|
||||
content = "Software"/>
|
||||
<meta name = "DC.Language"
|
||||
content = "en"/>
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<body bgcolor="#FFFFFF">
|
||||
<a href="http://sourceforge.net"> <img src="http://sourceforge.net/sflogo.php?group_id=133118&type=5" width="210" height="62" border="0" alt="SourceForge.net Logo" /></a>
|
||||
<center><h1>Compiere Jasper Integration</h1><br/>
|
||||
<h2>under construction</h2><h2>web designer wanted!</h2><br/>
|
||||
Please visite the sourceforge project page <a href="http://sourceforge.net/projects/compierejaper/">here</a><br/>
|
||||
If you want to join the project don't hesitate to contact<br/>Developers, web designer and testers are welcomed<br/><br/>
|
||||
Access directly to latest files <a href="http://sourceforge.net/project/showfiles.php?group_id=133118">here</a><br/>and the documentation <a href="/doc/Compiere_with_JasperReports.pdf">here</a><br/>
|
||||
Browse the JavaDoc <a href="/doc">here</a><br/><br/>Don't hesitate to use the <a href="http://sourceforge.net/forum/?group_id=133118">forums</a> it is the best place for any help<br/>
|
||||
|
||||
<h6>License information: the Open software presented here is under GPL license, but you must agree each license of each specific part included (ie: Compiere,jasperreports,iText, ant,..) each Trademark is propritary of its owner </h6>
|
||||
</center>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -0,0 +1,152 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Created using an evaluation version of JasperAssistant (http://www.jasperassistant.com) -->
|
||||
<!DOCTYPE jasperReport PUBLIC "-//JasperReports//DTD Report Design//EN" "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">
|
||||
|
||||
<jasperReport name="standalone" pageWidth="595" pageHeight="842" whenNoDataType="AllSectionsNoDetail" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="30" bottomMargin="30">
|
||||
<title>
|
||||
<band height="782">
|
||||
<staticText>
|
||||
<reportElement x="0" y="50" width="150" height="40"/>
|
||||
<textElement/>
|
||||
<text><![CDATA[The quick brown fox jumps over the lazy dog.]]></text>
|
||||
</staticText>
|
||||
<staticText>
|
||||
<reportElement x="160" y="50" width="390" height="40"/>
|
||||
<textElement/>
|
||||
<text><![CDATA[<staticText><reportElement x="0" y="50" width="150" height="40"/><text>The quick brown fox jumps over the lazy dog.</text></staticText>]]></text>
|
||||
</staticText>
|
||||
<staticText>
|
||||
<reportElement x="0" y="100" width="150" height="40"/>
|
||||
<textElement>
|
||||
<font size="12"/>
|
||||
</textElement>
|
||||
<text><![CDATA[The quick brown fox jumps over the lazy dog.]]></text>
|
||||
</staticText>
|
||||
<staticText>
|
||||
<reportElement x="160" y="100" width="390" height="40"/>
|
||||
<textElement/>
|
||||
<text><![CDATA[<staticText><reportElement x="0" y="100" width="150" height="40"/><textElement><font size="14"/></textElement><text>The quick brown fox jumps over the lazy dog.</text></staticText>]]></text>
|
||||
</staticText>
|
||||
<staticText>
|
||||
<reportElement x="0" y="150" width="150" height="40"/>
|
||||
<textElement>
|
||||
<font fontName="serif" size="12" pdfFontName="Times-Roman"/>
|
||||
</textElement>
|
||||
<text><![CDATA[The quick brown fox jumps over the lazy dog.]]></text>
|
||||
</staticText>
|
||||
<staticText>
|
||||
<reportElement x="160" y="150" width="390" height="40"/>
|
||||
<textElement/>
|
||||
<text><![CDATA[<staticText><reportElement x="0" y="150" width="150" height="40"/><textElement><font fontName="serif" size="12" pdfFontName="Times-Roman"/></textElement><text>The quick brown fox jumps over the lazy dog.</text></staticText>]]></text>
|
||||
</staticText>
|
||||
<staticText>
|
||||
<reportElement x="0" y="200" width="150" height="40"/>
|
||||
<textElement>
|
||||
<font fontName="serif" size="12" isBold="true" isItalic="true" pdfFontName="Times-BoldItalic"/>
|
||||
</textElement>
|
||||
<text><![CDATA[The quick brown fox jumps over the lazy dog.]]></text>
|
||||
</staticText>
|
||||
<staticText>
|
||||
<reportElement x="160" y="200" width="390" height="40"/>
|
||||
<textElement/>
|
||||
<text><![CDATA[<staticText><reportElement x="0" y="200" width="150" height="40"/><textElement><font fontName="serif" size="12" isBold="true" isItalic="true" pdfFontName="Times-BoldItalic"/></textElement><text>The quick brown fox jumps over the lazy dog.</text></staticText>]]></text>
|
||||
</staticText>
|
||||
<staticText>
|
||||
<reportElement x="0" y="250" width="150" height="40"/>
|
||||
<textElement>
|
||||
<font fontName="Comic Sans MS" size="12" isBold="false" pdfFontName="COMIC.TTF"/>
|
||||
</textElement>
|
||||
<text><![CDATA[The quick brown fox jumps over the lazy dog.]]></text>
|
||||
</staticText>
|
||||
<staticText>
|
||||
<reportElement x="160" y="250" width="390" height="40"/>
|
||||
<textElement/>
|
||||
<text><![CDATA[<staticText><reportElement x="0" y="250" width="150" height="40"/><textElement><font fontName="Comic Sans MS" size="12" isBold="false" pdfFontName="COMIC.TTF"/></textElement><text>The quick brown fox jumps over the lazy dog.</text></staticText>]]></text>
|
||||
</staticText>
|
||||
<staticText>
|
||||
<reportElement x="0" y="300" width="150" height="40"/>
|
||||
<textElement>
|
||||
<font fontName="Comic Sans MS" size="12" isBold="true" pdfFontName="COMICBD.TTF"/>
|
||||
</textElement>
|
||||
<text><![CDATA[The quick brown fox jumps over the lazy dog.]]></text>
|
||||
</staticText>
|
||||
<staticText>
|
||||
<reportElement x="160" y="300" width="390" height="40"/>
|
||||
<textElement/>
|
||||
<text><![CDATA[<staticText><reportElement x="0" y="300" width="150" height="40"/><textElement><font fontName="Comic Sans MS" size="12" isBold="true" pdfFontName="COMICBD.TTF"/></textElement><text>The quick brown fox jumps over the lazy dog.</text></staticText>]]></text>
|
||||
</staticText>
|
||||
<staticText>
|
||||
<reportElement x="0" y="350" width="150" height="40"/>
|
||||
<textElement>
|
||||
<font fontName="monospaced" size="12" isItalic="true" isUnderline="true" pdfFontName="Courier-Oblique"/>
|
||||
</textElement>
|
||||
<text><![CDATA[The quick brown fox jumps over the lazy dog.]]></text>
|
||||
</staticText>
|
||||
<staticText>
|
||||
<reportElement x="160" y="350" width="390" height="40"/>
|
||||
<textElement/>
|
||||
<text><![CDATA[<staticText><reportElement x="0" y="350" width="150" height="40"/><textElement><font fontName="monospaced" size="12" isItalic="true" isUnderline="true" pdfFontName="Courier-Oblique"/></textElement><text>The quick brown fox jumps over the lazy dog.</text></staticText>]]></text>
|
||||
</staticText>
|
||||
<staticText>
|
||||
<reportElement x="0" y="400" width="150" height="40"/>
|
||||
<textElement>
|
||||
<font fontName="monospaced" size="12" isBold="true" isStrikeThrough="true" pdfFontName="Courier-Bold"/>
|
||||
</textElement>
|
||||
<text><![CDATA[The quick brown fox jumps over the lazy dog.]]></text>
|
||||
</staticText>
|
||||
<staticText>
|
||||
<reportElement x="160" y="400" width="390" height="40"/>
|
||||
<textElement/>
|
||||
<text><![CDATA[<staticText><reportElement x="0" y="400" width="150" height="40"/><textElement><font fontName="monospaced" size="12" isBold="true" isStrikeThrough="true" pdfFontName="Courier-Bold"/></textElement><text>The quick brown fox jumps over the lazy dog.</text></staticText>]]></text>
|
||||
</staticText>
|
||||
<staticText>
|
||||
<reportElement x="0" y="450" width="150" height="40" forecolor="#ff0000"/>
|
||||
<textElement>
|
||||
<font size="14"/>
|
||||
</textElement>
|
||||
<text><![CDATA[The quick brown fox jumps over the lazy dog.]]></text>
|
||||
</staticText>
|
||||
<staticText>
|
||||
<reportElement x="160" y="450" width="390" height="40"/>
|
||||
<textElement/>
|
||||
<text><![CDATA[<staticText><reportElement x="0" y="450" width="150" height="40" forecolor="red"/><textElement><font size="14"/></textElement><text>The quick brown fox jumps over the lazy dog.</text></staticText>]]></text>
|
||||
</staticText>
|
||||
<staticText>
|
||||
<reportElement mode="Opaque" x="0" y="500" width="150" height="40" forecolor="#ff00" backcolor="#ffff00"/>
|
||||
<textElement>
|
||||
<font fontName="serif" size="12" isBold="true" pdfFontName="Times-Bold"/>
|
||||
</textElement>
|
||||
<text><![CDATA[The quick brown fox jumps over the lazy dog.]]></text>
|
||||
</staticText>
|
||||
<staticText>
|
||||
<reportElement x="160" y="500" width="390" height="40"/>
|
||||
<textElement/>
|
||||
<text><![CDATA[<staticText><reportElement x="0" y="500" width="150" height="40" forecolor="green" backcolor="#FFFF00" mode="Opaque"/><textElement><font fontName="serif" size="12" isBold="true" pdfFontName="Times-Bold"/></textElement><text>The quick brown fox jumps over the lazy dog.</text></staticText>]]></text>
|
||||
</staticText>
|
||||
<staticText>
|
||||
<reportElement mode="Opaque" x="0" y="550" width="150" height="90" forecolor="#ff" backcolor="#ffdd99"/>
|
||||
<textElement textAlignment="Center" verticalAlignment="Middle">
|
||||
<font fontName="serif" size="12" isBold="true" pdfFontName="Times-Bold"/>
|
||||
</textElement>
|
||||
<text><![CDATA[The quick brown fox jumps over the lazy dog.]]></text>
|
||||
</staticText>
|
||||
<staticText>
|
||||
<reportElement x="160" y="550" width="390" height="90"/>
|
||||
<textElement/>
|
||||
<text><![CDATA[<staticText><reportElement x="0" y="550" width="150" height="90" forecolor="blue" backcolor="#FFDD99" mode="Opaque"/><textElement textAlignment="Center" verticalAlignment="Middle"><font fontName="serif" size="12" isBold="true" pdfFontName="Times-Bold"/></textElement><text>The quick brown fox jumps over the lazy dog.</text></staticText>]]></text>
|
||||
</staticText>
|
||||
<staticText>
|
||||
<reportElement mode="Opaque" x="0" y="650" width="150" height="90" forecolor="#ff0000" backcolor="#99ddff"/>
|
||||
<textElement textAlignment="Right" verticalAlignment="Bottom">
|
||||
<font fontName="serif" size="12" isBold="true" pdfFontName="Times-Bold"/>
|
||||
</textElement>
|
||||
<text><![CDATA[The quick brown fox jumps over the lazy dog.]]></text>
|
||||
</staticText>
|
||||
<staticText>
|
||||
<reportElement x="160" y="650" width="390" height="90"/>
|
||||
<textElement/>
|
||||
<text><![CDATA[<staticText><reportElement x="0" y="650" width="150" height="90" forecolor="red" backcolor="#99DDFF" mode="Opaque"/><textElement textAlignment="Right" verticalAlignment="Bottom"><font fontName="serif" size="12" isBold="true" pdfFontName="Times-Bold"/></textElement><text>The quick brown fox jumps over the lazy dog.</text></staticText>]]></text>
|
||||
</staticText>
|
||||
</band>
|
||||
</title>
|
||||
</jasperReport>
|
|
@ -0,0 +1,58 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project name="Packaging Generator" default="_packaging_generation_">
|
||||
|
||||
<property name="deploy.name" value="web" />
|
||||
|
||||
<target name="_packaging_generation_" depends="EJB.jar,EJB-client.jar,Web.war,WebApp.ear"/>
|
||||
|
||||
<target name="EJB.jar" description="${deploy.name}AppEJB.jar">
|
||||
<jar destfile="${deploy.name}AppEJB.jar">
|
||||
<zipfileset dir="src/META-INF" prefix="META-INF">
|
||||
<include name="ejb-jar.xml"/>
|
||||
</zipfileset>
|
||||
<zipfileset dir="src/META-INF" prefix="META-INF">
|
||||
<include name="jboss.xml"/>
|
||||
</zipfileset>
|
||||
<zipfileset dir="../JasperReports">
|
||||
<include name="CompiereJasper.jar"/>
|
||||
</zipfileset>
|
||||
<zipfileset dir="build" includes="org/compiere/ejb/*.class,org/compiere/interfaces/*.class"/>
|
||||
</jar>
|
||||
</target>
|
||||
|
||||
<target name="EJB-client.jar" description="${deploy.name}EJB-client.jar">
|
||||
<jar destfile="${deploy.name}EJB-client.jar">
|
||||
<zipfileset dir="build" includes="org/compiere/interfaces/*.class"/>
|
||||
</jar>
|
||||
</target>
|
||||
|
||||
<target name="Web.war" description="${deploy.name}App.war">
|
||||
<jar destfile="${deploy.name}App.war">
|
||||
<zipfileset dir="src/WEB-INF" prefix="WEB-INF">
|
||||
<include name="web.xml"/>
|
||||
</zipfileset>
|
||||
<zipfileset dir="src/WEB-INF" prefix="WEB-INF">
|
||||
<include name="jboss-web.xml"/>
|
||||
</zipfileset>
|
||||
<zipfileset dir="." prefix="WEB-INF/lib">
|
||||
<include name="${deploy.name}EJB-client.jar"/>
|
||||
</zipfileset>
|
||||
<zipfileset dir="build" prefix="WEB-INF/classes" includes="org/compiere/web/*.class"/>
|
||||
<zipfileset dir="webroot" includes="*.jrxml, *.html"/>
|
||||
</jar>
|
||||
</target>
|
||||
|
||||
<target name="WebApp.ear" description="${deploy.name}App.ear">
|
||||
<jar destfile="${deploy.name}App.ear">
|
||||
<zipfileset dir="src/META-INF" prefix="META-INF">
|
||||
<include name="application.xml"/>
|
||||
</zipfileset>
|
||||
<zipfileset dir=".">
|
||||
<include name="${deploy.name}AppEJB.jar"/>
|
||||
</zipfileset>
|
||||
<zipfileset dir=".">
|
||||
<include name="${deploy.name}App.war"/>
|
||||
</zipfileset>
|
||||
</jar>
|
||||
</target>
|
||||
</project>
|
|
@ -0,0 +1,17 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<application version="1.4"
|
||||
xmlns="http://java.sun.com/xml/ns/j2ee"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
|
||||
http://java.sun.com/xml/ns/j2ee/application_1_4.xsd">
|
||||
<display-name>Web App</display-name>
|
||||
<module>
|
||||
<ejb>webAppEJB.jar</ejb>
|
||||
</module>
|
||||
<module>
|
||||
<web>
|
||||
<web-uri>webApp.war</web-uri>
|
||||
<context-root>/webApp</context-root>
|
||||
</web>
|
||||
</module>
|
||||
</application>
|
|
@ -0,0 +1,69 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
|
||||
|
||||
<ejb-jar >
|
||||
|
||||
<description>No Description.</description>
|
||||
<display-name>Generated by XDoclet</display-name>
|
||||
|
||||
<enterprise-beans>
|
||||
|
||||
<!-- Session Beans -->
|
||||
<session >
|
||||
<description><![CDATA[No Description.]]></description>
|
||||
<display-name>Compiere Server MD5 hash computation</display-name>
|
||||
|
||||
<ejb-name>compiere/MD5</ejb-name>
|
||||
|
||||
<home>org.compiere.interfaces.MD5Home</home>
|
||||
<remote>org.compiere.interfaces.MD5</remote>
|
||||
<ejb-class>org.compiere.ejb.MD5Bean</ejb-class>
|
||||
<session-type>Stateless</session-type>
|
||||
<transaction-type>Bean</transaction-type>
|
||||
|
||||
<ejb-ref >
|
||||
<ejb-ref-name>ejb/compiere/MD5</ejb-ref-name>
|
||||
<ejb-ref-type>Session</ejb-ref-type>
|
||||
<home>org.compiere.interfaces.MD5Home</home>
|
||||
<remote>org.compiere.interfaces.MD5</remote>
|
||||
<ejb-link>compiere/MD5</ejb-link>
|
||||
</ejb-ref>
|
||||
|
||||
</session>
|
||||
|
||||
<!--
|
||||
To add session beans that you have deployment descriptor info for, add
|
||||
a file to your merge directory called session-beans.xml that contains
|
||||
the <session></session> markup for those beans.
|
||||
-->
|
||||
|
||||
<!-- Entity Beans -->
|
||||
|
||||
<!--
|
||||
To add entity beans that you have deployment descriptor info for, add
|
||||
a file to your merge directory called entity-beans.xml that contains
|
||||
the <entity></entity> markup for those beans.
|
||||
-->
|
||||
|
||||
<!-- Message Driven Beans -->
|
||||
<!--
|
||||
To add message driven beans that you have deployment descriptor info for, add
|
||||
a file to your merge directory called message-driven-beans.xml that contains
|
||||
the <message-driven></message-driven> markup for those beans.
|
||||
-->
|
||||
|
||||
</enterprise-beans>
|
||||
|
||||
<!-- Relationships -->
|
||||
|
||||
<!-- Assembly Descriptor -->
|
||||
<assembly-descriptor >
|
||||
|
||||
<!-- finder permissions -->
|
||||
|
||||
<!-- transactions -->
|
||||
|
||||
<!-- finder transactions -->
|
||||
</assembly-descriptor>
|
||||
|
||||
</ejb-jar>
|
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE jboss PUBLIC "-//JBoss//DTD JBOSS//EN" "http://www.jboss.org/j2ee/dtd/jboss.dtd">
|
||||
|
||||
<jboss>
|
||||
|
||||
<enterprise-beans>
|
||||
|
||||
<session>
|
||||
<ejb-name>compiere/MD5</ejb-name>
|
||||
<jndi-name>ejb/compiere/MD5</jndi-name>
|
||||
</session>
|
||||
|
||||
</enterprise-beans>
|
||||
|
||||
<resource-managers>
|
||||
</resource-managers>
|
||||
|
||||
</jboss>
|
|
@ -0,0 +1,26 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 2.3//EN" "http://www.jboss.org/j2ee/dtd/jboss-web_3_0.dtd">
|
||||
|
||||
<jboss-web>
|
||||
|
||||
<!-- Resource Environment References -->
|
||||
<!--
|
||||
For additional resouce-env-ref tags add a merge file called jbossweb-resource-env-ref.xml
|
||||
-->
|
||||
|
||||
<!-- Resource references -->
|
||||
<!--
|
||||
For additional resouce-ref tags add a merge file called jbossweb-resource-ref.xml
|
||||
-->
|
||||
|
||||
<!-- EJB References -->
|
||||
<!--
|
||||
For additional ejb-ref tags add a merge file called jbossweb-ejb-ref.xml
|
||||
-->
|
||||
<ejb-ref>
|
||||
<ejb-ref-name>ejb/compiere/MD5</ejb-ref-name>
|
||||
<jndi-name>ejb/compiere/MD5</jndi-name>
|
||||
</ejb-ref>
|
||||
|
||||
<!-- EJB Local References -->
|
||||
</jboss-web>
|
|
@ -0,0 +1,100 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
|
||||
|
||||
<web-app >
|
||||
<distributable/>
|
||||
|
||||
<!--
|
||||
To use non XDoclet filters, create a filters.xml file that
|
||||
contains the additional filters (eg Sitemesh) and place it in your
|
||||
project's merge dir. Don't include filter-mappings in this file,
|
||||
include them in a file called filter-mappings.xml and put that in
|
||||
the same directory.
|
||||
-->
|
||||
|
||||
<!--
|
||||
To use non XDoclet filter-mappings, create a filter-mappings.xml file that
|
||||
contains the additional filter-mappings and place it in your
|
||||
project's merge dir.
|
||||
-->
|
||||
|
||||
<!--
|
||||
To use non XDoclet listeners, create a listeners.xml file that
|
||||
contains the additional listeners and place it in your
|
||||
project's merge dir.
|
||||
-->
|
||||
|
||||
<servlet>
|
||||
<servlet-name>GetMD5File</servlet-name>
|
||||
<display-name>Name for GetMD5File</display-name>
|
||||
<description><![CDATA[Description for GetMD5File]]></description>
|
||||
<servlet-class>org.compiere.web.GetMD5FileServlet</servlet-class>
|
||||
|
||||
<init-param>
|
||||
<param-name>A parameter</param-name>
|
||||
<param-value>A value</param-value>
|
||||
</init-param>
|
||||
|
||||
</servlet>
|
||||
|
||||
<!--
|
||||
To use non XDoclet servlets, create a servlets.xml file that
|
||||
contains the additional servlets (eg Struts) and place it in your
|
||||
project's merge dir. Don't include servlet-mappings in this file,
|
||||
include them in a file called servlet-mappings.xml and put that in
|
||||
the same directory.
|
||||
-->
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>GetMD5File</servlet-name>
|
||||
<url-pattern>/GetMD5File</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!--
|
||||
To specify mime mappings, create a file named mime-mappings.xml, put it in your project's mergedir.
|
||||
Organize mime-mappings.xml following this DTD slice:
|
||||
|
||||
<!ELEMENT mime-mapping (extension, mime-type)>
|
||||
-->
|
||||
|
||||
<!--
|
||||
To specify error pages, create a file named error-pages.xml, put it in your project's mergedir.
|
||||
Organize error-pages.xml following this DTD slice:
|
||||
|
||||
<!ELEMENT error-page ((error-code | exception-type), location)>
|
||||
-->
|
||||
|
||||
<!--
|
||||
To add taglibs by xml, create a file called taglibs.xml and place it
|
||||
in your merge dir.
|
||||
-->
|
||||
|
||||
<!--
|
||||
To set up security settings for your web app, create a file named web-security.xml, put it in your project's mergedir.
|
||||
Organize web-security.xml following this DTD slice:
|
||||
|
||||
<!ELEMENT security-constraint (display-name?, web-resource-collection+, auth-constraint?, user-data-constraint?)>
|
||||
<!ELEMENT web-resource-collection (web-resource-name, description?, url-pattern*, http-method*)>
|
||||
<!ELEMENT web-resource-name (#PCDATA)>
|
||||
<!ELEMENT url-pattern (#PCDATA)>
|
||||
<!ELEMENT http-method (#PCDATA)>
|
||||
<!ELEMENT user-data-constraint (description?, transport-guarantee)>
|
||||
<!ELEMENT transport-guarantee (#PCDATA)>
|
||||
|
||||
<!ELEMENT login-config (auth-method?, realm-name?, form-login-config?)>
|
||||
<!ELEMENT auth-method (#PCDATA)>
|
||||
<!ELEMENT realm-name (#PCDATA)>
|
||||
<!ELEMENT form-login-config (form-login-page, form-error-page)>
|
||||
<!ELEMENT form-login-page (#PCDATA)>
|
||||
<!ELEMENT form-error-page (#PCDATA)>
|
||||
-->
|
||||
|
||||
<ejb-ref >
|
||||
<ejb-ref-name>ejb/compiere/MD5</ejb-ref-name>
|
||||
<ejb-ref-type>Session</ejb-ref-type>
|
||||
<home>org.compiere.interfaces.MD5Home</home>
|
||||
<remote>org.compiere.interfaces.MD5</remote>
|
||||
</ejb-ref>
|
||||
|
||||
</web-app>
|
|
@ -0,0 +1,143 @@
|
|||
/*
|
||||
* Créé le 22 mars 2005
|
||||
*
|
||||
* TODO Pour changer le modèle de ce fichier généré, allez à :
|
||||
* Fenêtre - Préférences - Java - Style de code - Modèles de code
|
||||
*/
|
||||
package org.compiere.ejb;
|
||||
|
||||
import java.net.URL;
|
||||
import java.rmi.RemoteException;
|
||||
|
||||
import javax.ejb.CreateException;
|
||||
import javax.ejb.EJBException;
|
||||
import javax.ejb.SessionBean;
|
||||
import javax.ejb.SessionContext;
|
||||
|
||||
import org.compiere.util.CLogger;
|
||||
import org.compiere.utils.DigestOfFile;
|
||||
|
||||
/**
|
||||
* @ejb:bean name="compiere/MD5"
|
||||
* display-name="Compiere Server MD5 hash computation"
|
||||
* type="Stateless"
|
||||
* transaction-type="Bean"
|
||||
* jndi-name="ejb/compiere/MD5"
|
||||
* view-type="remote"
|
||||
*
|
||||
* @ejb:ejb-ref ejb-name="compiere/MD5"
|
||||
* ref-name="compiere/MD5"
|
||||
*/
|
||||
public class MD5Bean implements SessionBean {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private CLogger log = null;
|
||||
|
||||
public MD5Bean() {
|
||||
super();
|
||||
log = CLogger.getCLogger(MD5Bean.class);
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see javax.ejb.SessionBean#setSessionContext(javax.ejb.SessionContext)
|
||||
*/
|
||||
public void setSessionContext(SessionContext ctx)
|
||||
throws EJBException,
|
||||
RemoteException {
|
||||
// TODO Raccord de méthode auto-généré
|
||||
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see javax.ejb.SessionBean#ejbRemove()
|
||||
*/
|
||||
public void ejbRemove() throws EJBException, RemoteException {
|
||||
// TODO Raccord de méthode auto-généré
|
||||
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see javax.ejb.SessionBean#ejbActivate()
|
||||
*/
|
||||
public void ejbActivate() throws EJBException, RemoteException {
|
||||
// TODO Raccord de méthode auto-généré
|
||||
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see javax.ejb.SessionBean#ejbPassivate()
|
||||
*/
|
||||
public void ejbPassivate() throws EJBException, RemoteException {
|
||||
// TODO Raccord de méthode auto-généré
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Default create method
|
||||
*
|
||||
* @throws CreateException
|
||||
* @ejb.create-method
|
||||
*/
|
||||
public void ejbCreate() throws CreateException {
|
||||
// TODO Auto-generated method stub
|
||||
}
|
||||
|
||||
/**
|
||||
* Business method
|
||||
* @ejb.interface-method view-type = "remote"
|
||||
* @param FileName
|
||||
* @return hash base64 encoded
|
||||
*/
|
||||
public String getFileMD5(String FileName) {
|
||||
String hash = null;
|
||||
String absoluteFilename = null;
|
||||
String filepartOnly = null;
|
||||
try
|
||||
{
|
||||
//Thread.currentThread().getContextClassLoader().getResource("");
|
||||
if ( FileName.startsWith("http://") )
|
||||
{
|
||||
//extract absolute path by requesting jboss/tomcat
|
||||
String[] filePathParts = FileName.split("/");
|
||||
filepartOnly = filePathParts[filePathParts.length-1];
|
||||
URL currentFile = Thread.currentThread().getContextClassLoader().getResource(filepartOnly);
|
||||
System.out.println(filepartOnly);
|
||||
absoluteFilename = currentFile.getFile();
|
||||
log.info("decoded absolute path name for "+filepartOnly +" is "+absoluteFilename);
|
||||
}
|
||||
else
|
||||
{
|
||||
absoluteFilename = FileName;
|
||||
}
|
||||
|
||||
if (absoluteFilename != null)
|
||||
{
|
||||
DigestOfFile md5DigestAgent = new DigestOfFile("MD5");
|
||||
hash = md5DigestAgent.digestAsBase64(new java.io.File(absoluteFilename));
|
||||
}
|
||||
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
log.severe(e.getMessage());
|
||||
return null;
|
||||
}
|
||||
|
||||
return hash;
|
||||
}
|
||||
|
||||
/**
|
||||
* Business method
|
||||
* @ejb.interface-method view-type = "remote"
|
||||
* @param Filename
|
||||
* @return AbsolutePath on server
|
||||
*/
|
||||
public String getFileAsolutePath(String Filename)
|
||||
{
|
||||
java.net.URL currentFile = Thread.currentThread().getContextClassLoader().getResource(Filename);
|
||||
return currentFile.toString();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
/*
|
||||
* Generated file - Do not edit!
|
||||
*/
|
||||
package org.compiere.interfaces;
|
||||
|
||||
import java.lang.*;
|
||||
import java.net.URL;
|
||||
import java.rmi.RemoteException;
|
||||
import javax.ejb.CreateException;
|
||||
import javax.ejb.EJBException;
|
||||
import javax.ejb.SessionBean;
|
||||
import javax.ejb.SessionContext;
|
||||
import org.compiere.util.CLogger;
|
||||
import org.compiere.utils.DigestOfFile;
|
||||
|
||||
/**
|
||||
* Remote interface for compiere/MD5.
|
||||
* @xdoclet-generated at Feb 27, 2006 1:18:49 PM
|
||||
*/
|
||||
public interface MD5
|
||||
extends javax.ejb.EJBObject
|
||||
{
|
||||
/**
|
||||
* Business method
|
||||
* @param Filename
|
||||
* @return AbsolutePath on server */
|
||||
public java.lang.String getFileAsolutePath( java.lang.String Filename ) throws java.rmi.RemoteException;
|
||||
|
||||
/**
|
||||
* Business method
|
||||
* @param FileName
|
||||
* @return hash base64 encoded */
|
||||
public java.lang.String getFileMD5( java.lang.String FileName ) throws java.rmi.RemoteException;
|
||||
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
/*
|
||||
* Generated file - Do not edit!
|
||||
*/
|
||||
package org.compiere.interfaces;
|
||||
|
||||
import java.lang.*;
|
||||
import java.net.URL;
|
||||
import java.rmi.RemoteException;
|
||||
import javax.ejb.CreateException;
|
||||
import javax.ejb.EJBException;
|
||||
import javax.ejb.SessionBean;
|
||||
import javax.ejb.SessionContext;
|
||||
import org.compiere.util.CLogger;
|
||||
import org.compiere.utils.DigestOfFile;
|
||||
|
||||
/**
|
||||
* Home interface for compiere/MD5. Lookup using {1}
|
||||
* @xdoclet-generated at Feb 27, 2006 1:18:49 PM
|
||||
*/
|
||||
public interface MD5Home
|
||||
extends javax.ejb.EJBHome
|
||||
{
|
||||
public static final String COMP_NAME="java:comp/env/ejb/compiere/MD5";
|
||||
public static final String JNDI_NAME="ejb/compiere/MD5";
|
||||
|
||||
public org.compiere.interfaces.MD5 create() throws javax.ejb.CreateException, java.rmi.RemoteException;
|
||||
|
||||
}
|
|
@ -0,0 +1,130 @@
|
|||
package org.compiere.utils;
|
||||
|
||||
import java.security.*;
|
||||
import sun.security.provider.Sun;
|
||||
import java.io.*;
|
||||
|
||||
import sun.misc.*;
|
||||
|
||||
|
||||
/**
|
||||
* @author rlemeill
|
||||
*
|
||||
*/
|
||||
public class DigestOfFile
|
||||
{
|
||||
/**
|
||||
* @param mode ie MD5
|
||||
* @throws Exception
|
||||
*/
|
||||
public DigestOfFile(String mode) throws Exception
|
||||
{
|
||||
digestAgent = MessageDigest.getInstance(mode, "SUN");
|
||||
}
|
||||
|
||||
/**
|
||||
* @param file to hash
|
||||
* @return hash
|
||||
* @throws Exception
|
||||
*/
|
||||
synchronized public byte[] digestAsByteArray(File file) throws Exception
|
||||
{
|
||||
digestAgent.reset();
|
||||
InputStream is = new BufferedInputStream(new FileInputStream(file));
|
||||
for (int bytesRead = 0; (bytesRead = is.read(buffer)) >= 0;)
|
||||
{
|
||||
digestAgent.update(buffer, 0, bytesRead);
|
||||
}
|
||||
is.close();
|
||||
byte[] digest = digestAgent.digest();
|
||||
return digest;
|
||||
}
|
||||
|
||||
/**
|
||||
* @author rlemeill
|
||||
* @param file
|
||||
* @return hash (base64 encoded)
|
||||
* @throws Exception
|
||||
*/
|
||||
synchronized public String digestAsBase64(File file) throws Exception
|
||||
{
|
||||
byte[] digest = digestAsByteArray(file);
|
||||
String digestAsBase64 = base64Encoder.encode(digest);
|
||||
return digestAsBase64;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//private static final char[] HEX_CHARS = {'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};
|
||||
|
||||
private MessageDigest digestAgent;
|
||||
private BASE64Encoder base64Encoder = new BASE64Encoder();
|
||||
private byte[] buffer = new byte[4096];
|
||||
|
||||
/**
|
||||
* @author rlemeill
|
||||
* @param args file
|
||||
*/
|
||||
public static void main(String[] args)
|
||||
{
|
||||
try
|
||||
{
|
||||
java.security.Security.addProvider(new Sun());
|
||||
|
||||
DigestOfFile md5DigestAgent = new DigestOfFile("MD5");
|
||||
|
||||
for (int argIndex = 0; argIndex < args.length; argIndex++)
|
||||
{
|
||||
{
|
||||
String base64Digest = md5DigestAgent.digestAsBase64(new File(args[argIndex]));
|
||||
System.out.println("Base64 MD5 of " + args[argIndex] + " = [" + base64Digest + "]");
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
e.printStackTrace(System.out);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param file1 first file to compare
|
||||
* @param file2 second file to compare
|
||||
* @return true if files are identic false otherwise
|
||||
*/
|
||||
public static boolean md5localHashCompare(File file1,File file2)
|
||||
{
|
||||
//compute Hash of exisiting and downloaded
|
||||
String hashFile1;
|
||||
String hashFile2;
|
||||
java.security.Security.addProvider(new Sun());
|
||||
try{
|
||||
DigestOfFile md5DigestAgent = new DigestOfFile("MD5");
|
||||
hashFile1 = md5DigestAgent.digestAsBase64(file1);
|
||||
hashFile2 = md5DigestAgent.digestAsBase64(file2);
|
||||
return hashFile1.equals(hashFile2) ; }
|
||||
catch (Exception e)
|
||||
{
|
||||
return false; //if there is an error during comparison return files are difs
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param file
|
||||
* @return md5 hash null if file is not found or other error
|
||||
*/
|
||||
public static String GetLocalMD5Hash(File file)
|
||||
{
|
||||
String hash;
|
||||
java.security.Security.addProvider(new Sun());
|
||||
try{
|
||||
DigestOfFile md5DigestAgent = new DigestOfFile("MD5");
|
||||
hash = md5DigestAgent.digestAsBase64(file);
|
||||
return hash; }
|
||||
catch (Exception e)
|
||||
{
|
||||
return null; //if there is an error during comparison return files are difs
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,98 @@
|
|||
/*
|
||||
* Créé le 26 mars 2005
|
||||
*
|
||||
* TODO Pour changer le modèle de ce fichier généré, allez à :
|
||||
* Fenêtre - Préférences - Java - Style de code - Modèles de code
|
||||
*/
|
||||
package org.compiere.utils;
|
||||
|
||||
import java.net.InetAddress;
|
||||
import java.util.Hashtable;
|
||||
|
||||
import javax.naming.InitialContext;
|
||||
|
||||
import org.compiere.interfaces.MD5;
|
||||
import org.compiere.interfaces.MD5Home;
|
||||
/**
|
||||
* @author rlemeill
|
||||
*/
|
||||
|
||||
public class MD5EjbTest {
|
||||
|
||||
/**************************************************************************
|
||||
* constructor
|
||||
* @param serverName
|
||||
* @param context
|
||||
* @param Filename
|
||||
*/
|
||||
public MD5EjbTest (String serverName,String Filename)
|
||||
{
|
||||
Hashtable env = new Hashtable();
|
||||
env.put(InitialContext.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
|
||||
env.put(InitialContext.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");
|
||||
env.put(InitialContext.PROVIDER_URL, serverName);
|
||||
System.out.println ("Creating context ...");
|
||||
System.out.println (" " + env);
|
||||
InitialContext context = null;
|
||||
try
|
||||
{
|
||||
context = new InitialContext(env);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
System.err.println("ERROR: Could not create context: " + e);
|
||||
return;
|
||||
}
|
||||
testEjb(serverName,context,Filename);
|
||||
}
|
||||
|
||||
|
||||
/**************************************************************************
|
||||
* testing entry point
|
||||
* @param serverName
|
||||
* @param context
|
||||
* @param Filename
|
||||
*/
|
||||
public static void testEjb(String serverName, InitialContext context, String Filename)
|
||||
{
|
||||
try{
|
||||
System.out.println("MD5Home Creation at: "+MD5Home.JNDI_NAME);
|
||||
MD5Home home = (MD5Home)context.lookup(MD5Home.JNDI_NAME);
|
||||
MD5 md5 = home.create();
|
||||
System.out.println("Creation OK");
|
||||
System.out.println("MD5 for " + Filename + " is " +md5.getFileMD5(Filename));
|
||||
md5.remove();
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**************************************************************************
|
||||
* Start Method
|
||||
* @param args serverName Filename
|
||||
*/
|
||||
public static void main(String[] args)
|
||||
{
|
||||
String serverName = null;
|
||||
String Filename = null;
|
||||
if (args.length > 0)
|
||||
serverName = args[0];
|
||||
if (args.length > 1)
|
||||
Filename = args[1];
|
||||
if (serverName == null || serverName.length() == 0)
|
||||
{
|
||||
try
|
||||
{
|
||||
serverName = InetAddress.getLocalHost().getHostName();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
MD5EjbTest myMD5EjbTest = new MD5EjbTest(serverName,Filename);
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,91 @@
|
|||
/*
|
||||
* Créé le 22 mars 2005
|
||||
*
|
||||
* TODO Pour changer le modèle de ce fichier généré, allez à :
|
||||
* Fenêtre - Préférences - Java - Style de code - Modèles de code
|
||||
*/
|
||||
package org.compiere.web;
|
||||
|
||||
import javax.naming.Context;
|
||||
import javax.naming.InitialContext;
|
||||
import javax.servlet.http.HttpServlet;
|
||||
|
||||
import javax.servlet.ServletException;
|
||||
import javax.servlet.ServletConfig;
|
||||
import java.io.IOException;
|
||||
import java.io.PrintWriter;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.compiere.interfaces.MD5;
|
||||
import org.compiere.interfaces.MD5Home;
|
||||
|
||||
|
||||
/**
|
||||
* Servlet Class
|
||||
*
|
||||
* @web.servlet name="GetMD5File"
|
||||
* display-name="Name for GetMD5File"
|
||||
* description="Description for GetMD5File"
|
||||
* @web.servlet-mapping url-pattern="/GetMD5File"
|
||||
* @web.servlet-init-param name="A parameter"
|
||||
* value="A value"
|
||||
* @web.ejb-ref name="ejb/compiere/MD5"
|
||||
* type="Session"
|
||||
* home = "org.compiere.interfaces.MD5Home"
|
||||
* remote = "org.compiere.interfaces.MD5"
|
||||
*
|
||||
* @jboss.ejb-ref-jndi ref-name="ejb/compiere/MD5"
|
||||
* jndi-name = "ejb/compiere/MD5"
|
||||
*/
|
||||
public class GetMD5FileServlet extends HttpServlet {
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private MD5Home home;
|
||||
|
||||
public GetMD5FileServlet() {
|
||||
super();
|
||||
// TODO Raccord de constructeur auto-généré
|
||||
}
|
||||
|
||||
public void init(ServletConfig config) throws ServletException {
|
||||
super.init(config);
|
||||
try
|
||||
{
|
||||
Context context = new InitialContext();
|
||||
Object ref = context.lookup("java:/comp/env/ejb/compiere/MD5");
|
||||
home = (MD5Home)javax.rmi.PortableRemoteObject.narrow(ref,MD5Home.class);
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
throw new ServletException("Error getting EJB: java:/comp/env/ejb/compiere/MD5");
|
||||
}
|
||||
}
|
||||
|
||||
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
|
||||
throws ServletException,
|
||||
IOException {
|
||||
// TODO Auto-generated method stub
|
||||
MD5 md5=null;
|
||||
String file = req.getParameter("File");
|
||||
PrintWriter out = resp.getWriter();
|
||||
out.println("<HTML><HEAD><TITLE>MD5 Hash</TITLE></HEAD><BODY>");
|
||||
try
|
||||
{
|
||||
md5 = home.create();
|
||||
}
|
||||
catch(javax.ejb.CreateException e)
|
||||
{
|
||||
out.println("<H1>Error javax.ejb.CreateException home.create();</H1>");
|
||||
out.println("</BODY></HTML>");
|
||||
throw new ServletException("Error CreateException");
|
||||
}
|
||||
out.println("File is: "+ file + "<BR>MD5 : "+ md5.getFileMD5(file)+"<BR>");
|
||||
//out.println(md5.getFileAsolutePath(file));
|
||||
out.println("</BODY></HTML>");
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,116 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project name="XDoclet Generator" default="_xdoclet_generation_">
|
||||
<property file="xdoclet-build.properties"/>
|
||||
<property name="xdoclet.basedir" value="../tools"/>
|
||||
|
||||
<property name="jasperReportsTool.home" value="../JasperReportsTools" />
|
||||
<property name="xdoclet.home" value="../tools" />
|
||||
<property name="xdoclet.force" value="false" />
|
||||
<property name="ejb.version" value="2.0" />
|
||||
<property name="jboss.version" value="3.0" />
|
||||
|
||||
<!--
|
||||
Variables for source localization
|
||||
the directory structure must be be cleaned
|
||||
-->
|
||||
<property name="src.dir" value="${basedir}/src"/>
|
||||
<property name="src.ear.dir" value="${src.dir}"/>
|
||||
<property name="src.ejb.dir" value="${src.dir}"/>
|
||||
<property name="src.servlet.dir" value="${src.dir}"/>
|
||||
<property name="src.server.dir" value="${src.dir}/"/>
|
||||
<property name="src.resources.dir" value="${src.dir}/"/>
|
||||
<property name="src.web.dir" value="${src.dir}/"/>
|
||||
<property name="src.interfaces.dir" value="${src.dir}/"/>
|
||||
|
||||
<!--
|
||||
Destinations
|
||||
-->
|
||||
<property name="build.dir" value="build/"/>
|
||||
|
||||
<path id="xdoclet.path">
|
||||
<pathelement location="${xdoclet.home}/lib/ant.jar" />
|
||||
<pathelement location="${xdoclet.home}/lib/log4j.jar" />
|
||||
<pathelement location="${xdoclet.home}/lib/xdoclet.jar" />
|
||||
|
||||
</path>
|
||||
<path id="base.path">
|
||||
<path refid="xdoclet.path"/>
|
||||
<pathelement location="../lib/Compiere.jar" />
|
||||
<pathelement location="../lib/CSTools.jar" />
|
||||
<pathelement location="../tools/lib/j2ee.jar" />
|
||||
<pathelement location="${build.classes.dir}" />
|
||||
</path>
|
||||
|
||||
<target name="_xdoclet_generation_">
|
||||
<taskdef
|
||||
name="ejbdoclet"
|
||||
classname="xdoclet.ejb.EjbDocletTask">
|
||||
<classpath refid="xdoclet.path"/>
|
||||
</taskdef>
|
||||
|
||||
<ejbdoclet
|
||||
sourcepath="${src.ejb.dir}"
|
||||
destdir="${src.interfaces.dir}"
|
||||
classpathref="base.path"
|
||||
excludedtags="@version,@author"
|
||||
ejbspec="${ejb.version}"
|
||||
mergedir="${src.resources.dir}/xdoclet"
|
||||
force="${xdoclet.force}">
|
||||
<fileset dir="${src.ejb.dir}">
|
||||
<include name="**/*Bean.java"/>
|
||||
</fileset>
|
||||
<packageSubstitution packages="ejb" substituteWith="interfaces"/>
|
||||
<remoteinterface/>
|
||||
<homeinterface/>
|
||||
<deploymentdescriptor destdir="${src.ejb.dir}/META-INF"/>
|
||||
<!-- validateXml = false because there is a known issue on jboss jtd -->
|
||||
<jboss version="${jboss.version}"
|
||||
xmlencoding="UTF-8"
|
||||
typemapping="${type.mapping}"
|
||||
datasource="${datasource.name}"
|
||||
destdir="src/META-INF"
|
||||
validateXml="false"/>
|
||||
</ejbdoclet>
|
||||
|
||||
|
||||
<echo>
|
||||
--------------------
|
||||
ATTENTION It needs xdoclet 1.2.3 in tools/lib$
|
||||
you can download it at http://xdoclet.sourceforge.net
|
||||
--------------------
|
||||
</echo>
|
||||
<path id="webdoclet.path">
|
||||
<pathelement location="${jasperReportsTool.home}/lib/xdoclet-1.2.3.jar" />
|
||||
<pathelement location="${jasperReportsTool.home}/lib/xdoclet-web-module-1.2.3.jar" />
|
||||
<pathelement location="${xdoclet.home}/lib/ant.jar" />
|
||||
<pathelement location="${xdoclet.home}/lib/servlet.jar"/>
|
||||
<pathelement location="${jasperReportsTool.home}/lib/commons-collections-3.1.jar"/>
|
||||
<pathelement location="${jasperReportsTool.home}/lib/commons-logging-1.4.jar"/>
|
||||
<pathelement location="${jasperReportsTool.home}/lib/xjavadoc-1.1.jar" />
|
||||
<pathelement location="${jasperReportsTool.home}/lib/xdoclet-jboss-module-1.2.3.jar"/>
|
||||
<pathelement location="${jasperReportsTool.home}/lib/xdoclet-jmx-module-1.2.3.jar"/>
|
||||
<pathelement location="${jasperReportsTool.home}/lib/xdoclet-ejb-module-1.2.3.jar"/>
|
||||
|
||||
</path>
|
||||
|
||||
<taskdef
|
||||
name="webdoclet"
|
||||
classname="xdoclet.modules.web.WebDocletTask">
|
||||
<classpath refid="webdoclet.path"/>
|
||||
</taskdef>
|
||||
|
||||
<webdoclet destDir="${src.web.dir}/WEB-INF" verbose="true">
|
||||
<fileset dir="${src.web.dir}" includes="**/*Servlet.java" >
|
||||
</fileset>
|
||||
|
||||
<deploymentdescriptor
|
||||
servletspec="2.3"
|
||||
validateXML="false" />
|
||||
|
||||
<jbosswebxml Version="3.0" validateXml="false">
|
||||
</jbosswebxml>
|
||||
</webdoclet>
|
||||
|
||||
</target>
|
||||
|
||||
</project>
|
Loading…
Reference in New Issue