From 7edf90165c739ef95945c28ff9140223b2f7ecf7 Mon Sep 17 00:00:00 2001 From: trifonnt Date: Thu, 22 Nov 2007 13:39:19 +0000 Subject: [PATCH] Moved to contributions as it is not used in trunk. --- _Project-ID-AdempiereJasper/.classpath | 16 - _Project-ID-AdempiereJasper/.project | 17 - .../Druid-ID-AdempiereJasper.launch | 19 - _Project-ID-AdempiereJasper/ReadMe.txt | 26 - _Project-ID-AdempiereJasper/boot.properties | 38 - .../build-ID-001.bat.sample | 10 - .../build-ID-001.properties.sample | 11 - .../build-ID-001.sh.sample | 10 - _Project-ID-AdempiereJasper/build.xml | 602 --- _Project-ID-AdempiereJasper/build/readme.txt | 0 _Project-ID-AdempiereJasper/doc/readme.txt | 1 - .../doc/requirements/requirements.txt | 5 - .../druid/Project-ID-AdempiereJasper.druid | 3687 ----------------- _Project-ID-AdempiereJasper/dtds/Data_v1.dtd | 37 - _Project-ID-AdempiereJasper/dtds/Model_v1.dtd | 68 - _Project-ID-AdempiereJasper/dtds/View_v1.dtd | 109 - _Project-ID-AdempiereJasper/log4j.properties | 37 - _Project-ID-AdempiereJasper/logs/readme.txt | 0 .../src/org/compiere/model/X_AD_Process.java | 487 --- .../build.xml | 56 - .../doc/api/readme.txt | 0 .../doc/changeLog.txt | 28 - .../plugin.xml | 31 - .../jasperreports/AD_ProcessImporter.java | 224 - _Project-ID-AdempiereJasper/run-druid.bat | 3 - _Project-ID-AdempiereJasper/splash.jpg | Bin 113347 -> 0 bytes .../sql/AlterTable-Oracle-ID-001.sql | 17 - .../sql/CreateTable-Oracle-ID-001.sql | 0 _Project-ID-AdempiereJasper/temp/ReadMe.txt | 1 - .../xml/data/AD_ProcessJasper.xml | 21 - .../xml/data/AD_Process_Access.xml | 18 - .../xml/data/Data-ID-001.xml | 26 - .../xml/model/.cvsignore | 2 - .../xml/model/Model-ID-001.xml | 16 - .../xml/view/View-ID-001.xml | 21 - _Project-ID-AdempiereJasper/xsd/importer.xsd | 84 - 36 files changed, 5728 deletions(-) delete mode 100644 _Project-ID-AdempiereJasper/.classpath delete mode 100644 _Project-ID-AdempiereJasper/.project delete mode 100644 _Project-ID-AdempiereJasper/Druid-ID-AdempiereJasper.launch delete mode 100644 _Project-ID-AdempiereJasper/ReadMe.txt delete mode 100644 _Project-ID-AdempiereJasper/boot.properties delete mode 100644 _Project-ID-AdempiereJasper/build-ID-001.bat.sample delete mode 100644 _Project-ID-AdempiereJasper/build-ID-001.properties.sample delete mode 100644 _Project-ID-AdempiereJasper/build-ID-001.sh.sample delete mode 100644 _Project-ID-AdempiereJasper/build.xml delete mode 100644 _Project-ID-AdempiereJasper/build/readme.txt delete mode 100644 _Project-ID-AdempiereJasper/doc/readme.txt delete mode 100644 _Project-ID-AdempiereJasper/doc/requirements/requirements.txt delete mode 100644 _Project-ID-AdempiereJasper/druid/Project-ID-AdempiereJasper.druid delete mode 100644 _Project-ID-AdempiereJasper/dtds/Data_v1.dtd delete mode 100644 _Project-ID-AdempiereJasper/dtds/Model_v1.dtd delete mode 100644 _Project-ID-AdempiereJasper/dtds/View_v1.dtd delete mode 100644 _Project-ID-AdempiereJasper/log4j.properties delete mode 100644 _Project-ID-AdempiereJasper/logs/readme.txt delete mode 100644 _Project-ID-AdempiereJasper/patch/dbPort/src/org/compiere/model/X_AD_Process.java delete mode 100644 _Project-ID-AdempiereJasper/plugins/src/org.compiere.compilo.importer.jasperreports/build.xml delete mode 100644 _Project-ID-AdempiereJasper/plugins/src/org.compiere.compilo.importer.jasperreports/doc/api/readme.txt delete mode 100644 _Project-ID-AdempiereJasper/plugins/src/org.compiere.compilo.importer.jasperreports/doc/changeLog.txt delete mode 100644 _Project-ID-AdempiereJasper/plugins/src/org.compiere.compilo.importer.jasperreports/plugin.xml delete mode 100644 _Project-ID-AdempiereJasper/plugins/src/org.compiere.compilo.importer.jasperreports/source/org/compiere/compilo/importer/jasperreports/AD_ProcessImporter.java delete mode 100644 _Project-ID-AdempiereJasper/run-druid.bat delete mode 100644 _Project-ID-AdempiereJasper/splash.jpg delete mode 100644 _Project-ID-AdempiereJasper/sql/AlterTable-Oracle-ID-001.sql delete mode 100644 _Project-ID-AdempiereJasper/sql/CreateTable-Oracle-ID-001.sql delete mode 100644 _Project-ID-AdempiereJasper/temp/ReadMe.txt delete mode 100644 _Project-ID-AdempiereJasper/xml/data/AD_ProcessJasper.xml delete mode 100644 _Project-ID-AdempiereJasper/xml/data/AD_Process_Access.xml delete mode 100644 _Project-ID-AdempiereJasper/xml/data/Data-ID-001.xml delete mode 100644 _Project-ID-AdempiereJasper/xml/model/.cvsignore delete mode 100644 _Project-ID-AdempiereJasper/xml/model/Model-ID-001.xml delete mode 100644 _Project-ID-AdempiereJasper/xml/view/View-ID-001.xml delete mode 100644 _Project-ID-AdempiereJasper/xsd/importer.xsd diff --git a/_Project-ID-AdempiereJasper/.classpath b/_Project-ID-AdempiereJasper/.classpath deleted file mode 100644 index 1c75e1c009..0000000000 --- a/_Project-ID-AdempiereJasper/.classpath +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/_Project-ID-AdempiereJasper/.project b/_Project-ID-AdempiereJasper/.project deleted file mode 100644 index b5447837e7..0000000000 --- a/_Project-ID-AdempiereJasper/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - _Project-ID-AdempiereJasper - - - - - - org.eclipse.jdt.core.javabuilder - - - - - - org.eclipse.jdt.core.javanature - - diff --git a/_Project-ID-AdempiereJasper/Druid-ID-AdempiereJasper.launch b/_Project-ID-AdempiereJasper/Druid-ID-AdempiereJasper.launch deleted file mode 100644 index e7134b302f..0000000000 --- a/_Project-ID-AdempiereJasper/Druid-ID-AdempiereJasper.launch +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/_Project-ID-AdempiereJasper/ReadMe.txt b/_Project-ID-AdempiereJasper/ReadMe.txt deleted file mode 100644 index 8c85a86ca2..0000000000 --- a/_Project-ID-AdempiereJasper/ReadMe.txt +++ /dev/null @@ -1,26 +0,0 @@ -This a template project showing how to organize and store Compiere customizations. - -This is work in progress, so please be patient. - -Any comments and requests for improvements are wellcome. - -Any improvements and patches are very wellcome and highly appreciated. - -Target integration between Compiere and Jasper Reports. - -Steps that user must do: -01) Copy "build-ID-001.properties.sampe" into "build-ID-001.properties" -02) Set proper setting in "build-ID-001.properties" file. - -03) Copy "build-ID-001.[bat|sh].sampe" into "build-ID-001.[bat|sh]" -04) Set proper setting in "build-ID-001.[bat|sh]" file. - -05) Open shell console in current directory(_Project-ID-AdempiereJasper) and execute: - build-ID-001.bat alterDB - build-ID-001.bat model - build-ID-001.bat view - build-ID-001.bat imp_AD_ProcessJasper - build-ID-001.bat imp_AD_Process_Access - -Enjoy new functionality. -Records now should be imported into Compiere AD. diff --git a/_Project-ID-AdempiereJasper/boot.properties b/_Project-ID-AdempiereJasper/boot.properties deleted file mode 100644 index 2e899e24fc..0000000000 --- a/_Project-ID-AdempiereJasper/boot.properties +++ /dev/null @@ -1,38 +0,0 @@ -# XML2AD -# Copyright (C) 2005 - 2006 Trifon Trifonov -# $Id: boot.properties,v 1.2 2006/07/27 10:13:32 trifonnt Exp $ - -# -# XML2AD start-up configuration properties -# -# (see API docs for "org.java.plugin.boot" package and documentation and source -# code for "org.compiere.compilo.importer.core" plug-in) -# -# Available runtime properties are: -# applicationRoot - application "home" folder -# all system properties -# -#------------------------------------------------------------------------------- -# XML2AD application plug-in ID -org.java.plugin.boot.applicationPlugin = org.compiere.compilo.importer.core -# Boot-time integrity check mode (full, light, off) -org.java.plugin.boot.integrityCheckMode = light -org.java.plugin.boot.splashImage = ${applicationRoot}/splash.jpg -#------------------------------------------------------------------------------- -# JPF runtime configuration -org.java.plugin.PathResolver = org.java.plugin.standard.ShadingPathResolver -org.java.plugin.standard.ShadingPathResolver.shadowFolder = ${applicationRoot}/temp/.jpf-shadow -org.java.plugin.standard.ShadingPathResolver.unpackMode = smart -#------------------------------------------------------------------------------- -# Folder where to store application data and configuration files -org.compiere.compilo.importer.core.dataFolder = ${applicationRoot}/data -#------------------------------------------------------------------------------- -# If we should start Compiere as Client or Server (Y|N); Default = Y -org.compiere.compilo.importer.core.isClient=Y -org.compiere.compilo.importer.core.ApplicationUserID=SuperUser -org.compiere.compilo.importer.core.ApplicationPassword=System -org.compiere.compilo.importer.core.Role=System Administrator -org.compiere.compilo.importer.core.Client=System -org.compiere.compilo.importer.core.Organization=* -org.compiere.compilo.importer.core.Warehouse= -org.compiere.compilo.importer.core.Language=English diff --git a/_Project-ID-AdempiereJasper/build-ID-001.bat.sample b/_Project-ID-AdempiereJasper/build-ID-001.bat.sample deleted file mode 100644 index 7b022dcb44..0000000000 --- a/_Project-ID-AdempiereJasper/build-ID-001.bat.sample +++ /dev/null @@ -1,10 +0,0 @@ -REM SET ANT_HOME=I:/dev/apache-ant-1.6.2 -SET ADEMPIERE_HOME=./../_production/Adempiere -REM SET COMPIERE_HOME=./../_production/Compiere2 -SET JAVA_HOME=C:\Trifon\jdk\1.4.2_09 - -@REM Call Ant; -@REM Value of property specified on the command line will -@REM override the value specified in the build file. - -%ANT_HOME%/bin/ant.bat -propertyfile build-ID-001.properties -Dmodel.file=xml/model/Model-ID-001.xml -Dview.file=xml/view/View-ID-001.xml -Ddata.file=xml/data/Data-ID-001.xml -DPropertyFile=%ADEMPIERE_HOME%/Adempiere.properties %* \ No newline at end of file diff --git a/_Project-ID-AdempiereJasper/build-ID-001.properties.sample b/_Project-ID-AdempiereJasper/build-ID-001.properties.sample deleted file mode 100644 index e88dffff54..0000000000 --- a/_Project-ID-AdempiereJasper/build-ID-001.properties.sample +++ /dev/null @@ -1,11 +0,0 @@ -oracle.host=HOST -oracle.port=1521 -oracle.sid=SID -oracle.search=orcl -oracle.username=USER_NAME -oracle.password=PASSWORD - -REM compiere.dir=%ADEMPIERE_HOME% - -createSQL.file=sql/CreateTable-Oracle-ID-001.sql -alterSQL.file=sql/AlterTable-Oracle-ID-001.sql \ No newline at end of file diff --git a/_Project-ID-AdempiereJasper/build-ID-001.sh.sample b/_Project-ID-AdempiereJasper/build-ID-001.sh.sample deleted file mode 100644 index 0b5837e275..0000000000 --- a/_Project-ID-AdempiereJasper/build-ID-001.sh.sample +++ /dev/null @@ -1,10 +0,0 @@ - -# export COMPIERE_HOME=/home/trifon/comap-2.5.3b/_production/Compiere2 -# export JAVA_HOME=/usr/local/java/jdk1.5.0_05 -# export ANT_HOME=/usr/local/java/ant - -# Call Ant; -# Value of property specified on the command line will -# override the value specified in the build file. - -$ANT_HOME/bin/ant -propertyfile build-ID-001.properties -Dmodel.file=xml/model/Model-ID-001.xml -Dview.file=xml/view/View-ID-001.xml -Ddata.file=xml/data/Data-ID-001.xml -DPropertyFile=$COMPIERE_HOME/Compiere.properties $1 \ No newline at end of file diff --git a/_Project-ID-AdempiereJasper/build.xml b/_Project-ID-AdempiereJasper/build.xml deleted file mode 100644 index 9c61189865..0000000000 --- a/_Project-ID-AdempiereJasper/build.xml +++ /dev/null @@ -1,602 +0,0 @@ - - - - - - - - - - - AD Customizations Keeper tool. - AD Customizations Keeper helps you to store your Compiere ERP+CRM customizations in xml format. - It uses Druid to build visually tables, columns and other elements from AD. - It uses XML2AD in order to transform set of XML files in several updates towards the database - and insert the GUI you have expressed in XML into the database i.e. into Compiere. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - compiere.dir = ${compiere.dir} - project.classpath = ${project.classpath} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Trifon ---: -DPropertyFile=${PropertyFile} - - - - - - - - - - - - - - Trifon ---: -DPropertyFile=${PropertyFile} - - - - - - - - - - - - - - - - - - - - - - - - - Trifon ---: -DPropertyFile=${PropertyFile} - - - - - - - - - - - - - - - - - - - - - - - - - Trifon ---: -DPropertyFile=${PropertyFile} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/_Project-ID-AdempiereJasper/build/readme.txt b/_Project-ID-AdempiereJasper/build/readme.txt deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/_Project-ID-AdempiereJasper/doc/readme.txt b/_Project-ID-AdempiereJasper/doc/readme.txt deleted file mode 100644 index 36b6ce3837..0000000000 --- a/_Project-ID-AdempiereJasper/doc/readme.txt +++ /dev/null @@ -1 +0,0 @@ -Here we will place all documentation. \ No newline at end of file diff --git a/_Project-ID-AdempiereJasper/doc/requirements/requirements.txt b/_Project-ID-AdempiereJasper/doc/requirements/requirements.txt deleted file mode 100644 index 70c4de810d..0000000000 --- a/_Project-ID-AdempiereJasper/doc/requirements/requirements.txt +++ /dev/null @@ -1,5 +0,0 @@ -This file contains sample requirements. - --01) - --02) \ No newline at end of file diff --git a/_Project-ID-AdempiereJasper/druid/Project-ID-AdempiereJasper.druid b/_Project-ID-AdempiereJasper/druid/Project-ID-AdempiereJasper.druid deleted file mode 100644 index eeef89af04..0000000000 --- a/_Project-ID-AdempiereJasper/druid/Project-ID-AdempiereJasper.druid +++ /dev/null @@ -1,3687 +0,0 @@ - - - - - 448 - 239502 - - - - ID-AdempiereJasper-252e-Oracle DB - - - false - true - true - - - -
- version - date - descr -
-
-
- - -
- id - name - sqlName - type - scope - useInDD - useInSumm - width - descr -
- - 15 - PrKey - primary key - b - t - false - true - 60 - Primary key for a table - - - 16 - Unq - UNIQUE - b - f - false - true - 60 - Unique for a single field - - - 339 - Def - DEFAULT - s - f - false - true - 60 - Field's default value - - - 17 - NotN - NOT NULL - b - f - false - true - 60 - - - - 338 - MUnq - UNIQUE - b - t - false - false - 60 - Unique for several fields - - - 156198 - Udx1 - - b - u - false - false - 60 - - -
-
- - -
- name - type - value - descr -
- - -UnNamed- - b - - - -
-
- - - - ./_Project-ID-AdempiereJasper/temp/ - - - - - ./_Project-ID-AdempiereJasper/sql/CreateTable-Oracle-ID-001-part.sql - N - - - - - D:\ERP-CRM\compilo\XML2AD-byRed1.2.5.2b\view\View-gen.xml - - - ./_Project-ID-AdempiereJasper/sql/AlterTable-Oracle-ID-001-part.sql - - - - - - - - - - - - - - LONG - - 5 - - - - - false - - none - - -
- value -
-
-
- -
- - - DATE - date - 7 - - - - - false - - none - - -
- value -
-
-
- -
- - - long raw - - 6 - - - - - false - - none - - -
- value -
-
-
- -
- - - CLOB - - 385 - - - - - false - - none - - -
- value -
-
-
- -
- - - nclob - - 386 - - - - - false - - none - - -
- value -
-
-
- -
- - - blob - - 387 - - - - - false - - none - - -
- value -
-
-
- -
- - - bfile - - 388 - - - - - false - - none - - -
- value -
-
-
- -
- - - INTEGER - - 21 - - - - - false - - none - - -
- value -
-
-
- -
- - - NUMBER - - 9705 - - - - - false - - none - - -
- value -
-
-
- -
-
- - - - VARCHAR - - - - - VARCHAR4 - - 2066 - 4 - - - - - false - - none - - -
- value -
-
-
-
- - - VARCHAR5 - - 16996 - 5 - - - - - false - - none - - -
- value -
-
-
-
- - - VARCHAR6 - - 42 - 6 - - - - - false - - none - - -
- value -
-
-
-
- - - VARCHAR10 - - 16969 - 10 - - - - - false - - none - - -
- value -
-
-
-
- - - VARCHAR40 - - 179024 - 40 - - - - - false - - none - - -
- value -
-
-
-
-
-
- - - VARCHAR2 - - - - - - NVARCHAR2 - - - - - Value40 - - 38 - 40 - - - - - false - - none - - -
- value -
-
-
-
- - - Name60 - - 600 - 60 - - - - - false - - none - - -
- value -
-
-
-
- - - Description255 - - 601 - 255 - - - - - false - - none - - -
- value -
-
-
-
- - - Help2000 - - 602 - 2000 - - - - - false - - none - - -
- value -
-
-
-
- - - NVarChar2_4 - - 24108 - 4 - - - - - false - - none - - -
- value -
-
-
-
- - - NVarChar2_10 - - 113073 - 10 - - - - - false - - none - - -
- value -
-
-
-
- - - NVarChar2_20 - - 6084 - 20 - - - - - false - - none - - -
- value -
-
-
-
- - - NVarChar2_120 - - 19152 - 120 - - - - - false - - none - - -
- value -
-
-
-
-
-
- - - NUMBER - - - - - ID - - 463 - 10,0 - - - - - false - - none - - -
- value -
-
-
-
- - - NUMBER22 - - 6811 - 22 - - - - - false - - none - - -
- value -
-
-
-
-
-
- - - RAW - - - - - - CHAR - - - - - YesNo - - 24 - 1 - - - - - false - - set - - -
- value -
- - Y - - - N - -
-
-
- - - Char1 - - 2341 - 1 - - - - - false - - none - - -
- value -
-
-
-
- - - CHAR2 - - 16824 - 2 - - - - - false - - none - - -
- value -
-
-
-
-
-
- - - NCHAR - - - - - - OTHER - - - - - OTHER4000 - - 177625 - 4000 - - - - - false - - none - - -
- value -
-
-
-
- - - OTHER120 - - 177663 - 120 - - - - - false - - none - - -
- value -
-
-
-
- - - OTHER510 - - 177665 - 510 - - - - - false - - none - - -
- value -
-
-
-
- - - OTHER40 - - 177673 - 40 - - - - - false - - none - - -
- value -
-
-
-
- - - OTHER80 - - 179066 - 80 - - - - - false - - none - - -
- value -
-
-
-
-
-
-
-
- - - - - - New Tables - - - -

- This folder contains new tables created by COMAP developers. -

-

- Here you will find mostly I_xxx tables, used for imports. -

-
-
- - - Modified Tables - - - -

- This is list with Modified Tables. -

-

- You can generate ALTER TABLE ... ADD ... SQL Statements by starting Velocity. -

-
- - - -
- name - type - value - descr -
-
-
- - - - - AD_Process - 239338 - - - - - - - - - - - -
- id - index - name - ts - bitmap - stats - noSort -
- - 156198 - Udx1 - - 0 - false - false - false - -
-
-
-
-
- - - - false - false - false - false - - false - - - - - s - 0 - JasperReport - 239341 - n - n - 0 - 601 - - - - - Jasper Report - Text - Jasper Report - In this column you store the JasperReport filename - - - - -
-
- - - Existing Tables - - - - - -
- name - type - value - descr -
-
-
- - - - - AD_Client - 218050 - - - - - - - - - - - -
- id - index - name - ts - bitmap - stats - noSort -
- - 156198 - Udx1 - - 0 - false - false - false - - - 156198 - Udx1 - - 0 - false - false - false - -
-
-
-
-
- - - - false - false - false - true - - false - - - - - s - 0 - AD_Client_ID - 218051 - n - n - 0 - 463 - - - - - - - false - true - false - false - - false - - - - - s - 0 - AD_Org_ID - 218052 - n - n - 0 - 463 - - - - - - - false - true - false - false - 'Y' - false - - - - - s - 0 - IsActive - 218053 - n - n - 0 - 24 - - - - - - - false - true - false - false - SYSDATE - false - - - - - s - 0 - Created - 218054 - n - n - 0 - 7 - - - - - - - false - true - false - false - - false - - - - - s - 0 - CreatedBy - 218055 - n - n - 0 - 21 - - - - - - - false - true - false - false - SYSDATE - false - - - - - s - 0 - Updated - 218056 - n - n - 0 - 7 - - - - - - - false - true - false - false - - false - - - - - s - 0 - UpdatedBy - 218057 - n - n - 0 - 21 - - - - - - - false - true - false - false - - false - - - - - s - 0 - Value - 218058 - n - n - 0 - 38 - - - - - - - true - true - false - false - - false - - - - - s - 0 - Name - 218059 - n - n - 0 - 600 - - - - - - - false - false - false - false - - false - - - - - s - 0 - Description - 218060 - n - n - 0 - 601 - - - -

- -

-
-
- - - - false - false - false - false - - false - - - - - s - 0 - SMTPHOST - 218061 - n - n - 0 - 600 - - - -

- -

-
-
- - - - false - false - false - false - - false - - - - - s - 0 - REQUESTEMAIL - 218062 - n - n - 0 - 600 - - - -

- -

-
-
- - - - false - false - false - false - - false - - - - - s - 0 - REQUESTUSER - 218063 - n - n - 0 - 600 - - - -

- -

-
-
- - - - false - false - false - false - - false - - - - - s - 0 - REQUESTUSERPW - 218064 - n - n - 0 - 6084 - - - -

- -

-
-
- - - - false - false - false - false - - false - - - - - s - 0 - REQUESTFOLDER - 218065 - n - n - 0 - 6084 - - - -

- -

-
-
- - - - false - false - false - false - - false - - - - - s - 0 - AD_LANGUAGE - 218066 - n - n - 0 - 42 - - - -

- -

-
-
- - - - false - true - false - false - 'N' - false - - - - - s - 0 - ISMULTILINGUALDOCUMENT - 218067 - n - n - 0 - 24 - - - -

- -

-
-
- - - - false - true - false - false - 'N' - false - - - - - s - 0 - ISSMTPAUTHORIZATION - 218068 - n - n - 0 - 24 - - - -

- -

-
-
- - - - false - true - false - false - 'N' - false - - - - - s - 0 - ISUSEBETAFUNCTIONS - 218069 - n - n - 0 - 24 - - - -

- -

-
-
- - - - false - false - false - false - - false - - - - - s - 0 - LDAPQUERY - 218070 - n - n - 0 - 601 - - - -

- -

-
-
- - - - false - false - false - false - - false - - - - - s - 0 - MODELVALIDATIONCLASSES - 218071 - n - n - 0 - 601 - - - -

- -

-
-
- - - - false - true - false - false - 'N' - false - - - - - s - 0 - AUTOARCHIVE - 218072 - n - n - 0 - 24 - - - -

- -

-
-
- - - - false - true - false - false - 'F' - false - - - - - s - 0 - MMPOLICY - 218073 - n - n - 0 - 24 - - - -

- -

-
-
- - - - false - false - false - false - - false - - - - - s - 0 - EMAILTEST - 218074 - n - n - 0 - 24 - - - -

- -

-
-
- - - - false - true - false - false - 'N' - false - - - - - s - 0 - ISSERVEREMAIL - 218075 - n - n - 0 - 24 - - - -

- -

-
-
- - - - false - false - false - false - - false - - - - - s - 0 - DOCUMENTDIR - 218076 - n - n - 0 - 600 - - - -

- -

-
-
-
- - - -
- name - type - value - descr -
-
-
- - - - - AD_Org - 218077 - - - - - - - - - - - -
- id - index - name - ts - bitmap - stats - noSort -
- - 156198 - Udx1 - - 0 - false - false - false - - - 156198 - Udx1 - - 0 - false - false - false - -
-
-
-
-
- - - - false - false - false - true - - false - - - - - s - 0 - AD_Org_ID - 218078 - n - n - 0 - 21 - - - -

- -

-
-
- - - - true - true - false - false - - false - - - - - s - 0 - AD_Client_ID - 218079 - n - n - 0 - 463 - - - - - - - false - true - false - false - 'Y' - false - - - - - s - 0 - IsActive - 218080 - n - n - 0 - 24 - - - - - - - false - true - false - false - SYSDATE - false - - - - - s - 0 - Created - 218081 - n - n - 0 - 7 - - - -

- -

-
-
- - - - false - true - false - false - - false - - - - - s - 0 - CreatedBy - 218082 - n - n - 0 - 21 - - - -

- -

-
-
- - - - false - true - false - false - SYSDATE - false - - - - - s - 0 - Updated - 218083 - n - n - 0 - 7 - - - -

- -

-
-
- - - - false - true - false - false - - false - - - - - s - 0 - UpdatedBy - 218084 - n - n - 0 - 21 - - - -

- -

-
-
- - - - true - true - false - false - - false - - - - - s - 0 - Value - 218085 - n - n - 0 - 38 - - - -

- -

-
-
- - - - false - true - false - false - - false - - - - - s - 0 - Name - 218086 - n - n - 0 - 600 - - - -

- -

-
-
- - - - false - false - false - false - - false - - - - - s - 0 - Description - 218087 - n - n - 0 - 601 - - - -

- -

-
-
- - - - false - true - false - false - 'N' - false - - - - - s - 0 - IsSummary - 218088 - n - n - 0 - 24 - - - -

- -

-
-
-
-
- - - Template Tables - - - -

- This folder contains tables useful when developer want to create new tables. -

-

- How to use: -

-

- 1) Copy some of template tables. -

-

- 2) Paste it to proper folder. -

-

- 3) Rename template table. -

-

- 4) Add new columns, in case template table has more columns then you need then just delete them. -

-
- - - -
- name - type - value - descr -
-
-
- - - - - TEMPLATE - 218089 - - - - - - - - - - - -
- id - index - name - ts - bitmap - stats - noSort -
- - 156198 - Udx1 - - 0 - false - false - false - - - 156198 - Udx1 - - 0 - false - false - false - -
-
-
-
-
- - - - false - false - false - true - - false - - - - - s - 0 - TEMPLATE_ID - 218090 - n - n - 0 - 463 - - - - - ID - - - - - - - - false - true - false - false - - false - - - - - s - 218051 - AD_Client_ID - 218091 - n - n - 218050 - 0 - - - - - Table Direct - - - - - - - - false - true - false - false - - false - - - - - s - 218078 - AD_Org_ID - 218092 - n - n - 218077 - 0 - - - - - Table Direct - - - - - - - - false - true - false - false - 'Y' - false - - - - - s - 0 - IsActive - 218093 - n - n - 0 - 24 - - - - - Yes-No - - - - - - - - false - true - false - false - SYSDATE - false - - - - - s - 0 - Created - 218094 - n - n - 0 - 7 - - - - - Date+Time - - - - - - - - false - true - false - false - - false - - - - - s - 0 - CreatedBy - 218095 - n - n - 0 - 463 - - - - - Table - - - - - - - - false - true - false - false - SYSDATE - false - - - - - s - 0 - Updated - 218096 - n - n - 0 - 7 - - - - - Date+Time - - - - - - - - false - true - false - false - - false - - - - - s - 0 - UpdatedBy - 218097 - n - n - 0 - 463 - - - - - Table - - - - - - - - false - true - false - false - - false - - - - - s - 0 - Value - 218098 - n - n - 0 - 38 - - - - - String - - - - - - - - false - true - false - false - - false - - - - - s - 0 - Name - 218099 - n - n - 0 - 600 - - - - - String - - - - - - - - false - false - false - false - - false - - - - - s - 0 - Description - 218100 - n - n - 0 - 601 - - - - - String - - - - - - - - false - false - false - false - - false - - - - - s - 0 - Help - 218101 - n - n - 0 - 602 - - - - - Text - - - - -
- - - -
- name - type - value - descr -
-
-
- - - - - TEMPLATE_TRL - 237057 - - - - - - - - - - - -
- id - index - name - ts - bitmap - stats - noSort -
- - 156198 - Udx1 - - 0 - false - false - false - - - 156198 - Udx1 - - 0 - false - false - false - -
-
-
-
-
- - - - false - false - false - true - - false - - - - - s - 0 - TEMPLATE_ID - 237058 - n - n - 0 - 463 - - - - - ID - - - - - - - - false - false - false - true - - false - - - - - s - 0 - AD_Language - 237097 - n - n - 0 - 463 - - - - - - - false - true - false - false - - false - - - - - s - 218051 - AD_Client_ID - 237059 - n - n - 218050 - 0 - - - - - Table Direct - - - - - - - - false - true - false - false - - false - - - - - s - 218078 - AD_Org_ID - 237060 - n - n - 218077 - 0 - - - - - Table Direct - - - - - - - - false - true - false - false - 'Y' - false - - - - - s - 0 - IsActive - 237061 - n - n - 0 - 24 - - - - - Yes-No - - - - - - - - false - true - false - false - SYSDATE - false - - - - - s - 0 - Created - 237062 - n - n - 0 - 7 - - - - - Date+Time - - - - - - - - false - true - false - false - - false - - - - - s - 0 - CreatedBy - 237063 - n - n - 0 - 463 - - - - - Table - - - - - - - - false - true - false - false - SYSDATE - false - - - - - s - 0 - Updated - 237064 - n - n - 0 - 7 - - - - - Date+Time - - - - - - - - false - true - false - false - - false - - - - - s - 0 - UpdatedBy - 237065 - n - n - 0 - 463 - - - - - Table - - - - - - - - false - true - false - false - 'N' - false - - - - - s - 0 - IsTranslated - 237101 - n - n - 0 - 24 - - - - - - - false - true - false - false - - false - - - - - s - 0 - Value - 237066 - n - n - 0 - 38 - - - - - String - - - - - - - - false - true - false - false - - false - - - - - s - 0 - Name - 237067 - n - n - 0 - 600 - - - - - String - - - - - - - - false - false - false - false - - false - - - - - s - 0 - Description - 237068 - n - n - 0 - 601 - - - - - String - - - - - - - - false - false - false - false - - false - - - - - s - 0 - Help - 237069 - n - n - 0 - 602 - - - - - Text - - - - -
- - - -
- name - type - value - descr -
-
-
- - - - - I_TEMPLATE - 237117 - - - - - - - - - - - -
- id - index - name - ts - bitmap - stats - noSort -
- - 156198 - Udx1 - - 0 - false - false - false - - - 156198 - Udx1 - - 0 - false - false - false - -
-
-
-
-
- - - - false - false - false - true - - false - - - - - s - 0 - I_TEMPLATE_ID - 237157 - n - n - 0 - 463 - - - - - - - false - false - false - false - - false - - - - - s - 0 - TEMPLATE_ID - 237118 - n - n - 0 - 463 - - - - - Table Direct - - - - - - - - false - false - false - false - - false - - - - - s - 0 - AD_Client_Value - 237363 - n - n - 0 - 38 - - - - - String - Client Key - - - - - - - - false - true - false - false - - false - - - - - s - 218051 - AD_Client_ID - 237119 - n - n - 218050 - 0 - - - - - Table Direct - - - - - - - - false - false - false - false - - false - - - - - s - 0 - AD_Org_Value - 237367 - n - n - 0 - 38 - - - - - - - false - true - false - false - - false - - - - - s - 218078 - AD_Org_ID - 237120 - n - n - 218077 - 0 - - - - - Table Direct - - - - - - - - false - true - false - false - 'Y' - false - - - - - s - 0 - IsActive - 237121 - n - n - 0 - 24 - - - - - Yes-No - - - - - - - - false - true - false - false - SYSDATE - false - - - - - s - 0 - Created - 237122 - n - n - 0 - 7 - - - - - Date+Time - - - - - - - - false - true - false - false - - false - - - - - s - 0 - CreatedBy - 237123 - n - n - 0 - 463 - - - - - Table - - - - - - - - false - true - false - false - SYSDATE - false - - - - - s - 0 - Updated - 237124 - n - n - 0 - 7 - - - - - Date+Time - - - - - - - - false - true - false - false - - false - - - - - s - 0 - UpdatedBy - 237125 - n - n - 0 - 463 - - - - - Table - - - - - - - - false - false - false - false - - false - - - - - s - 0 - Value - 237126 - n - n - 0 - 38 - - - - - String - - - - - - - - false - false - false - false - - false - - - - - s - 0 - Name - 237127 - n - n - 0 - 600 - - - - - String - - - - - - - - false - false - false - false - - false - - - - - s - 0 - Description - 237128 - n - n - 0 - 601 - - - - - String - - - - - - - - false - false - false - false - - false - - - - - s - 0 - Help - 237129 - n - n - 0 - 602 - - - - - Text - - - - - - - - false - true - false - false - 'N' - false - - - - - s - 0 - I_IsImported - 237371 - n - n - 0 - 24 - - - - - Yes-No - - - - - - - - false - false - false - false - - false - - - - - s - 0 - I_ErrorMsg - 237375 - n - n - 0 - 602 - - - - - Text - - - - - - - - false - false - false - false - - false - - - - - s - 0 - Processing - 237379 - n - n - 0 - 2341 - - - - - Button - - - - - - - - false - true - false - false - 'N' - false - - - - - s - 0 - Processed - 237383 - n - n - 0 - 24 - - - - - Yes-No - - - - -
-
-
-
-
diff --git a/_Project-ID-AdempiereJasper/dtds/Data_v1.dtd b/_Project-ID-AdempiereJasper/dtds/Data_v1.dtd deleted file mode 100644 index d369f5d15f..0000000000 --- a/_Project-ID-AdempiereJasper/dtds/Data_v1.dtd +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - - diff --git a/_Project-ID-AdempiereJasper/dtds/Model_v1.dtd b/_Project-ID-AdempiereJasper/dtds/Model_v1.dtd deleted file mode 100644 index 6b17924049..0000000000 --- a/_Project-ID-AdempiereJasper/dtds/Model_v1.dtd +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - - - - - - diff --git a/_Project-ID-AdempiereJasper/dtds/View_v1.dtd b/_Project-ID-AdempiereJasper/dtds/View_v1.dtd deleted file mode 100644 index 14efb6d9c7..0000000000 --- a/_Project-ID-AdempiereJasper/dtds/View_v1.dtd +++ /dev/null @@ -1,109 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/_Project-ID-AdempiereJasper/log4j.properties b/_Project-ID-AdempiereJasper/log4j.properties deleted file mode 100644 index 00fec65fb4..0000000000 --- a/_Project-ID-AdempiereJasper/log4j.properties +++ /dev/null @@ -1,37 +0,0 @@ -# JPF-Demo -# Copyright (C) 2005 - 2006 Trifon Trifonov -# $Id: log4j.properties,v 1.1 2006/06/05 15:13:40 trifonnt Exp $ - -applicationRoot = . - -# -# Log4j configuration -# Available priorities are: OFF, FATAL, ERROR, WARN, INFO, DEBUG, ALL -# - -log4j.rootLogger = ALL,console -log4j.logger.org.compiere.compilo.importer.core = ALL,importer -log4j.logger.org.java.plugin = ALL,jpf - -log4j.appender.console = org.apache.log4j.varia.NullAppender -#log4j.appender.console = org.apache.log4j.ConsoleAppender -log4j.appender.console.layout = org.apache.log4j.PatternLayout -log4j.appender.console.layout.conversionPattern = %d [%t] %-5p %c %m%n - -log4j.appender.importer = org.apache.log4j.FileAppender -log4j.appender.importer.file = ${applicationRoot}/logs/impoprter.log -log4j.appender.importer.layout = org.apache.log4j.PatternLayout -log4j.appender.importer.layout.conversionPattern = %d [%t] %-5p %c %m%n -log4j.appender.importer.append = false - -log4j.appender.jpf = org.apache.log4j.FileAppender -log4j.appender.jpf.file = ${applicationRoot}/logs/jpf.log -log4j.appender.jpf.layout = org.apache.log4j.PatternLayout -log4j.appender.jpf.layout.conversionPattern = %d [%t] %-5p %c %m%n -log4j.appender.jpf.append = false - -#log4j.appender.other = org.apache.log4j.FileAppender -#log4j.appender.other.file = ${applicationRoot}/logs/other.log -#log4j.appender.other.layout = org.apache.log4j.PatternLayout -#log4j.appender.other.layout.conversionPattern = %d [%t] %-5p %c %m%n -#log4j.appender.other.append = false diff --git a/_Project-ID-AdempiereJasper/logs/readme.txt b/_Project-ID-AdempiereJasper/logs/readme.txt deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/_Project-ID-AdempiereJasper/patch/dbPort/src/org/compiere/model/X_AD_Process.java b/_Project-ID-AdempiereJasper/patch/dbPort/src/org/compiere/model/X_AD_Process.java deleted file mode 100644 index cfd3661a0a..0000000000 --- a/_Project-ID-AdempiereJasper/patch/dbPort/src/org/compiere/model/X_AD_Process.java +++ /dev/null @@ -1,487 +0,0 @@ -/****************************************************************************** - * Product: Adempiere ERP & CRM Smart Business Solution * - * Copyright (C) 1999-2006 ComPiere, Inc. All Rights Reserved. * - * This program is free software; - you can redistribute it and/or modify it * - * under the terms version 2 of the GNU General Public License as published * - * by the Free Software Foundation. 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., * - * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. * - * For the text or an alternative of this public license, you may reach us * - * ComPiere, Inc., 2620 Augustine Dr. #245, Santa Clara, CA 95054, USA * - * or via info@compiere.org or http://www.compiere.org/license.html * - *****************************************************************************/ -package org.compiere.model; - -/** Generated Model - DO NOT CHANGE */ -import java.util.*; -import java.sql.*; -import java.math.*; -import org.compiere.util.*; -/** Generated Model for AD_Process - * @author Jorg Janke (generated) - * @version Release 3.1.3 - $Id$ */ -public class X_AD_Process extends PO -{ -/** Standard Constructor -@param ctx context -@param AD_Process_ID id -@param trxName transaction -*/ -public X_AD_Process (Properties ctx, int AD_Process_ID, String trxName) -{ -super (ctx, AD_Process_ID, trxName); -/** if (AD_Process_ID == 0) -{ -setAD_Process_ID (0); -setAccessLevel (null); -setEntityType (null); // U -setIsBetaFunctionality (false); -setIsReport (false); -setIsServerProcess (false); -setName (null); -setValue (null); -} - */ -} -/** Load Constructor -@param ctx context -@param rs result set -@param trxName transaction -*/ -public X_AD_Process (Properties ctx, ResultSet rs, String trxName) -{ -super (ctx, rs, trxName); -} -/** AD_Table_ID=284 */ -public static final int Table_ID=MTable.getTable_ID("AD_Process"); - -/** TableName=AD_Process */ -public static final String Table_Name="AD_Process"; - -protected static KeyNamePair Model = new KeyNamePair(Table_ID,"AD_Process"); - -protected BigDecimal accessLevel = BigDecimal.valueOf(4); -/** AccessLevel -@return 4 - System -*/ -protected int get_AccessLevel() -{ -return accessLevel.intValue(); -} -/** Load Meta Data -@param ctx context -@return PO Info -*/ -protected POInfo initPO (Properties ctx) -{ -POInfo poi = POInfo.getPOInfo (ctx, Table_ID); -return poi; -} -/** Info -@return info -*/ -public String toString() -{ -StringBuffer sb = new StringBuffer ("X_AD_Process[").append(get_ID()).append("]"); -return sb.toString(); -} -/** Set Print Format. -@param AD_PrintFormat_ID Data Print Format */ -public void setAD_PrintFormat_ID (int AD_PrintFormat_ID) -{ -if (AD_PrintFormat_ID <= 0) set_Value ("AD_PrintFormat_ID", null); - else -set_Value ("AD_PrintFormat_ID", Integer.valueOf(AD_PrintFormat_ID)); -} -/** Get Print Format. -@return Data Print Format */ -public int getAD_PrintFormat_ID() -{ -Integer ii = (Integer)get_Value("AD_PrintFormat_ID"); -if (ii == null) return 0; -return ii.intValue(); -} -/** Set Process. -@param AD_Process_ID Process or Report */ -public void setAD_Process_ID (int AD_Process_ID) -{ -if (AD_Process_ID < 1) throw new IllegalArgumentException ("AD_Process_ID is mandatory."); -set_ValueNoCheck ("AD_Process_ID", Integer.valueOf(AD_Process_ID)); -} -/** Get Process. -@return Process or Report */ -public int getAD_Process_ID() -{ -Integer ii = (Integer)get_Value("AD_Process_ID"); -if (ii == null) return 0; -return ii.intValue(); -} -/** Set Report View. -@param AD_ReportView_ID View used to generate this report */ -public void setAD_ReportView_ID (int AD_ReportView_ID) -{ -if (AD_ReportView_ID <= 0) set_Value ("AD_ReportView_ID", null); - else -set_Value ("AD_ReportView_ID", Integer.valueOf(AD_ReportView_ID)); -} -/** Get Report View. -@return View used to generate this report */ -public int getAD_ReportView_ID() -{ -Integer ii = (Integer)get_Value("AD_ReportView_ID"); -if (ii == null) return 0; -return ii.intValue(); -} -/** Set Workflow. -@param AD_Workflow_ID Workflow or combination of tasks */ -public void setAD_Workflow_ID (int AD_Workflow_ID) -{ -if (AD_Workflow_ID <= 0) set_Value ("AD_Workflow_ID", null); - else -set_Value ("AD_Workflow_ID", Integer.valueOf(AD_Workflow_ID)); -} -/** Get Workflow. -@return Workflow or combination of tasks */ -public int getAD_Workflow_ID() -{ -Integer ii = (Integer)get_Value("AD_Workflow_ID"); -if (ii == null) return 0; -return ii.intValue(); -} - -/** AccessLevel AD_Reference_ID=5 */ -public static final int ACCESSLEVEL_AD_Reference_ID=5; -/** Organization = 1 */ -public static final String ACCESSLEVEL_Organization = "1"; -/** Client only = 2 */ -public static final String ACCESSLEVEL_ClientOnly = "2"; -/** Client+Organization = 3 */ -public static final String ACCESSLEVEL_ClientPlusOrganization = "3"; -/** System only = 4 */ -public static final String ACCESSLEVEL_SystemOnly = "4"; -/** System+Client = 6 */ -public static final String ACCESSLEVEL_SystemPlusClient = "6"; -/** All = 7 */ -public static final String ACCESSLEVEL_All = "7"; -/** Set Data Access Level. -@param AccessLevel Access Level required */ -public void setAccessLevel (String AccessLevel) -{ -if (AccessLevel == null) throw new IllegalArgumentException ("AccessLevel is mandatory"); -if (AccessLevel.equals("1") || AccessLevel.equals("2") || AccessLevel.equals("3") || AccessLevel.equals("4") || AccessLevel.equals("6") || AccessLevel.equals("7")); - else throw new IllegalArgumentException ("AccessLevel Invalid value - " + AccessLevel + " - Reference_ID=5 - 1 - 2 - 3 - 4 - 6 - 7"); -if (AccessLevel.length() > 1) -{ -log.warning("Length > 1 - truncated"); -AccessLevel = AccessLevel.substring(0,0); -} -set_Value ("AccessLevel", AccessLevel); -} -/** Get Data Access Level. -@return Access Level required */ -public String getAccessLevel() -{ -return (String)get_Value("AccessLevel"); -} -/** Set Classname. -@param Classname Java Classname */ -public void setClassname (String Classname) -{ -if (Classname != null && Classname.length() > 60) -{ -log.warning("Length > 60 - truncated"); -Classname = Classname.substring(0,59); -} -set_Value ("Classname", Classname); -} -/** Get Classname. -@return Java Classname */ -public String getClassname() -{ -return (String)get_Value("Classname"); -} -/** Set Description. -@param Description Optional short description of the record */ -public void setDescription (String Description) -{ -if (Description != null && Description.length() > 255) -{ -log.warning("Length > 255 - truncated"); -Description = Description.substring(0,254); -} -set_Value ("Description", Description); -} -/** Get Description. -@return Optional short description of the record */ -public String getDescription() -{ -return (String)get_Value("Description"); -} - -/** EntityType AD_Reference_ID=389 */ -public static final int ENTITYTYPE_AD_Reference_ID=389; -/** Set Entity Type. -@param EntityType Dictionary Entity Type; - Determines ownership and synchronization */ -public void setEntityType (String EntityType) -{ -if (EntityType.length() > 4) -{ -log.warning("Length > 4 - truncated"); -EntityType = EntityType.substring(0,3); -} -set_Value ("EntityType", EntityType); -} -/** Get Entity Type. -@return Dictionary Entity Type; - Determines ownership and synchronization */ -public String getEntityType() -{ -return (String)get_Value("EntityType"); -} -/** Set Comment/Help. -@param Help Comment or Hint */ -public void setHelp (String Help) -{ -if (Help != null && Help.length() > 2000) -{ -log.warning("Length > 2000 - truncated"); -Help = Help.substring(0,1999); -} -set_Value ("Help", Help); -} -/** Get Comment/Help. -@return Comment or Hint */ -public String getHelp() -{ -return (String)get_Value("Help"); -} -/** Set Beta Functionality. -@param IsBetaFunctionality This functionality is considered Beta */ -public void setIsBetaFunctionality (boolean IsBetaFunctionality) -{ -set_Value ("IsBetaFunctionality", Boolean.valueOf(IsBetaFunctionality)); -} -/** Get Beta Functionality. -@return This functionality is considered Beta */ -public boolean isBetaFunctionality() -{ -Object oo = get_Value("IsBetaFunctionality"); -if (oo != null) -{ - if (oo instanceof Boolean) return ((Boolean)oo).booleanValue(); - return "Y".equals(oo); -} -return false; -} -/** Set Direct print. -@param IsDirectPrint Print without dialog */ -public void setIsDirectPrint (boolean IsDirectPrint) -{ -set_Value ("IsDirectPrint", Boolean.valueOf(IsDirectPrint)); -} -/** Get Direct print. -@return Print without dialog */ -public boolean isDirectPrint() -{ -Object oo = get_Value("IsDirectPrint"); -if (oo != null) -{ - if (oo instanceof Boolean) return ((Boolean)oo).booleanValue(); - return "Y".equals(oo); -} -return false; -} -/** Set Report. -@param IsReport Indicates a Report record */ -public void setIsReport (boolean IsReport) -{ -set_Value ("IsReport", Boolean.valueOf(IsReport)); -} -/** Get Report. -@return Indicates a Report record */ -public boolean isReport() -{ -Object oo = get_Value("IsReport"); -if (oo != null) -{ - if (oo instanceof Boolean) return ((Boolean)oo).booleanValue(); - return "Y".equals(oo); -} -return false; -} -/** Set Server Process. -@param IsServerProcess Run this Process on Server only */ -public void setIsServerProcess (boolean IsServerProcess) -{ -set_Value ("IsServerProcess", Boolean.valueOf(IsServerProcess)); -} -/** Get Server Process. -@return Run this Process on Server only */ -public boolean isServerProcess() -{ -Object oo = get_Value("IsServerProcess"); -if (oo != null) -{ - if (oo instanceof Boolean) return ((Boolean)oo).booleanValue(); - return "Y".equals(oo); -} -return false; -} -/** Set Jasper Report. -@param JasperReport In this column you store the JasperReport filename */ -public void setJasperReport (String JasperReport) -{ -if (JasperReport != null && JasperReport.length() > 255) -{ -log.warning("Length > 255 - truncated"); -JasperReport = JasperReport.substring(0,254); -} -set_Value ("JasperReport", JasperReport); -} -/** Get Jasper Report. -@return In this column you store the JasperReport filename */ -public String getJasperReport() -{ -return (String)get_Value("JasperReport"); -} -/** Set Name. -@param Name Alphanumeric identifier of the entity */ -public void setName (String Name) -{ -if (Name == null) throw new IllegalArgumentException ("Name is mandatory."); -if (Name.length() > 60) -{ -log.warning("Length > 60 - truncated"); -Name = Name.substring(0,59); -} -set_Value ("Name", Name); -} -/** Get Name. -@return Alphanumeric identifier of the entity */ -public String getName() -{ -return (String)get_Value("Name"); -} -/** Set Procedure. -@param ProcedureName Name of the Database Procedure */ -public void setProcedureName (String ProcedureName) -{ -if (ProcedureName != null && ProcedureName.length() > 60) -{ -log.warning("Length > 60 - truncated"); -ProcedureName = ProcedureName.substring(0,59); -} -set_Value ("ProcedureName", ProcedureName); -} -/** Get Procedure. -@return Name of the Database Procedure */ -public String getProcedureName() -{ -return (String)get_Value("ProcedureName"); -} - -/** ShowHelp AD_Reference_ID=50007 */ -public static final int SHOWHELP_AD_Reference_ID=50007; -/** Ask user (for future use) = A */ -public static final String SHOWHELP_AskUserForFutureUse = "A"; -/** Don't show help = N */ -public static final String SHOWHELP_DonTShowHelp = "N"; -/** Show Help = Y */ -public static final String SHOWHELP_ShowHelp = "Y"; -/** Set Show Help. -@param ShowHelp Show Help */ -public void setShowHelp (String ShowHelp) -{ -if (ShowHelp == null || ShowHelp.equals("A") || ShowHelp.equals("N") || ShowHelp.equals("Y")); - else throw new IllegalArgumentException ("ShowHelp Invalid value - " + ShowHelp + " - Reference_ID=50007 - A - N - Y"); -if (ShowHelp != null && ShowHelp.length() > 1) -{ -log.warning("Length > 1 - truncated"); -ShowHelp = ShowHelp.substring(0,0); -} -set_Value ("ShowHelp", ShowHelp); -} -/** Get Show Help. -@return Show Help */ -public String getShowHelp() -{ -return (String)get_Value("ShowHelp"); -} -/** Set Statistic Count. -@param Statistic_Count Internal statistics how often the entity was used */ -public void setStatistic_Count (int Statistic_Count) -{ -set_Value ("Statistic_Count", Integer.valueOf(Statistic_Count)); -} -/** Get Statistic Count. -@return Internal statistics how often the entity was used */ -public int getStatistic_Count() -{ -Integer ii = (Integer)get_Value("Statistic_Count"); -if (ii == null) return 0; -return ii.intValue(); -} -/** Set Statistic Seconds. -@param Statistic_Seconds Internal statistics how many seconds a process took */ -public void setStatistic_Seconds (int Statistic_Seconds) -{ -set_Value ("Statistic_Seconds", Integer.valueOf(Statistic_Seconds)); -} -/** Get Statistic Seconds. -@return Internal statistics how many seconds a process took */ -public int getStatistic_Seconds() -{ -Integer ii = (Integer)get_Value("Statistic_Seconds"); -if (ii == null) return 0; -return ii.intValue(); -} -/** Set Search Key. -@param Value Search key for the record in the format required - must be unique */ -public void setValue (String Value) -{ -if (Value == null) throw new IllegalArgumentException ("Value is mandatory."); -if (Value.length() > 40) -{ -log.warning("Length > 40 - truncated"); -Value = Value.substring(0,39); -} -set_Value ("Value", Value); -} -/** Get Search Key. -@return Search key for the record in the format required - must be unique */ -public String getValue() -{ -return (String)get_Value("Value"); -} -/** Get Record ID/ColumnName -@return ID/ColumnName pair -*/public KeyNamePair getKeyNamePair() -{ -return new KeyNamePair(get_ID(), getValue()); -} -/** Set Workflow Key. -@param WorkflowValue Key of the Workflow to start */ -public void setWorkflowValue (String WorkflowValue) -{ -if (WorkflowValue != null && WorkflowValue.length() > 40) -{ -log.warning("Length > 40 - truncated"); -WorkflowValue = WorkflowValue.substring(0,39); -} -set_Value ("WorkflowValue", WorkflowValue); -} -/** Get Workflow Key. -@return Key of the Workflow to start */ -public String getWorkflowValue() -{ -return (String)get_Value("WorkflowValue"); -} -} diff --git a/_Project-ID-AdempiereJasper/plugins/src/org.compiere.compilo.importer.jasperreports/build.xml b/_Project-ID-AdempiereJasper/plugins/src/org.compiere.compilo.importer.jasperreports/build.xml deleted file mode 100644 index 0f96a9c5bb..0000000000 --- a/_Project-ID-AdempiereJasper/plugins/src/org.compiere.compilo.importer.jasperreports/build.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - - - - - - - - - - - - - - - - - - Building ${plugin.id} plug-in to folder ${plugin.home} - - - - - - - - - - - - - - - - - diff --git a/_Project-ID-AdempiereJasper/plugins/src/org.compiere.compilo.importer.jasperreports/doc/api/readme.txt b/_Project-ID-AdempiereJasper/plugins/src/org.compiere.compilo.importer.jasperreports/doc/api/readme.txt deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/_Project-ID-AdempiereJasper/plugins/src/org.compiere.compilo.importer.jasperreports/doc/changeLog.txt b/_Project-ID-AdempiereJasper/plugins/src/org.compiere.compilo.importer.jasperreports/doc/changeLog.txt deleted file mode 100644 index 81ddaa1e24..0000000000 --- a/_Project-ID-AdempiereJasper/plugins/src/org.compiere.compilo.importer.jasperreports/doc/changeLog.txt +++ /dev/null @@ -1,28 +0,0 @@ -_Project-ID-TEMPLATE -311.0.2 - * Migrated to core plugin version 311.0.2 - * Added example of field, reference and ref_list translations - -253.2.12 - * Used Standard plugin version 253.2.12 - * Added example file how to import PA_Report - /xml/data/PA_Report.xml - * Added example file how to import PA_ReportColumnSet, PA_ReportColumn - /xml/data/PA_ReportColumnSet.xml - * Added example file how to import PA_ReportLineSet, PA_ReportLine, PA_ReportSource - /xml/data/PA_ReportLineSet.xml - -253.2.11 - * Used Standard plugin version 253.2.11 - * Added example file how to import M_Product_Category - /xml/data/M_Product_Category.xml - -253.2.6 - * Migrated to core plugin version 253.2.6 - -253.2.5b - * Added changeLog.txt in template plugin. - * Generated zip file will not include xml files in folder /result/compiere/... - * Used new splash. Thank's to Sergey Vishniakov from compiere.lv team!!! - -253.2.5a - * Replaces 253.2.5 as there was error in uploaded file. - -253.2.5 - * Migrated to core plugin version 253.2.5 \ No newline at end of file diff --git a/_Project-ID-AdempiereJasper/plugins/src/org.compiere.compilo.importer.jasperreports/plugin.xml b/_Project-ID-AdempiereJasper/plugins/src/org.compiere.compilo.importer.jasperreports/plugin.xml deleted file mode 100644 index 01e3c38539..0000000000 --- a/_Project-ID-AdempiereJasper/plugins/src/org.compiere.compilo.importer.jasperreports/plugin.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/_Project-ID-AdempiereJasper/plugins/src/org.compiere.compilo.importer.jasperreports/source/org/compiere/compilo/importer/jasperreports/AD_ProcessImporter.java b/_Project-ID-AdempiereJasper/plugins/src/org.compiere.compilo.importer.jasperreports/source/org/compiere/compilo/importer/jasperreports/AD_ProcessImporter.java deleted file mode 100644 index 4f105a86cb..0000000000 --- a/_Project-ID-AdempiereJasper/plugins/src/org.compiere.compilo.importer.jasperreports/source/org/compiere/compilo/importer/jasperreports/AD_ProcessImporter.java +++ /dev/null @@ -1,224 +0,0 @@ -package org.compiere.compilo.importer.jasperreports; - -import java.sql.SQLException; - -import javax.xml.xpath.XPathExpressionException; - -import org.compiere.compilo.helper.XMLHelper; -import org.compiere.compilo.importer.core.ImportException; -import org.compiere.compilo.importer.core.TableImporter; -import org.compiere.model.MProcess; -import org.compiere.util.Env; -import org.w3c.dom.DOMException; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.Node; -import org.w3c.dom.Text; - -public class AD_ProcessImporter extends TableImporter { - - - /* - * Aim of this plugin is to import record having this structure: - * - - GardenWorld - 0 - Y - SuperUser - SuperUser - - Standalone - Standalone - Stand alone JasperReport for sample only - org.compiere.report.ReportStarter - User maintained - Client+Organization - http://localhost:8088/webApp/standalone.jrxml - - * - * AD_Process_Node represents AD_Process XML element. - * - * Using XMLHelper.getString("Name", AD_Process_Node); - * developer can get value of XML element "Name". - * - * (non-Javadoc) - * @see org.compiere.compilo.importer.core.TableImporter#importTable(org.w3c.dom.Node, org.w3c.dom.Element) - */ - public void importTable(Node AD_Process_Node, Element outElement) - throws DOMException, SQLException, XPathExpressionException, ImportException { - // TODO - now "outElement" is not used... - // This means that we do not return result in xml file... - Document outDocument = outElement.getOwnerDocument(); - Element result = outDocument.createElement("AD_Process"); - - String name = null; - String value = null; - int AD_Process_ID = 0; - - String AD_Client_Value = null; - int AD_Client_ID = 0; - - String AD_Org_Value = null; - int AD_Org_ID = 0; - - String CreatedBy_Name = null; - int CreatedBy_ID = 0; - - String UpdatedBy_Name = null; - int UpdatedBy_ID = 0; - - name = XMLHelper.getString("Name", AD_Process_Node); - log.info("Name = [" + name +"]"); - result.appendChild(createNewTextElement("Name", ""+name, outDocument)); - - value = XMLHelper.getString("Value", AD_Process_Node); - log.info("Value = [" + value +"]"); - result.appendChild(createNewTextElement("Value", ""+value, outDocument)); - - AD_Client_Value = XMLHelper.getString("AD_Client_Value", AD_Process_Node); - log.info("AD_Client_Value = [" + AD_Client_Value +"]"); - result.appendChild(createNewTextElement("AD_Client_Value", ""+AD_Client_Value, outDocument)); - - CreatedBy_Name = XMLHelper.getString("CreatedBy_Name", AD_Process_Node); - log.info("CreatedBy_Name = [" + CreatedBy_Name +"]"); - result.appendChild(createNewTextElement("CreatedBy_Name", ""+CreatedBy_Name, outDocument)); - - UpdatedBy_Name = XMLHelper.getString("UpdatedBy_Name", AD_Process_Node); - log.info("UpdatedBy_Name = [" + UpdatedBy_Name +"]"); - result.appendChild(createNewTextElement("UpdatedBy_Name", ""+UpdatedBy_Name, outDocument)); - - log.info("_______________________________________________"); - - if (value != null && !"".equals(value)) { - // Search for AD_Process by Value... - AD_Process_ID = XMLHelper.getIDbyValue("AD_Process", value, AD_Client_Value); - } else { - // Search for AD_Process by Name... - AD_Process_ID = XMLHelper.getIDbyName("AD_Process", name, AD_Client_Value); - } - log.info("AD_Process_ID = " + AD_Process_ID); - result.appendChild(createNewTextElement("AD_Process_ID", ""+AD_Process_ID, outDocument)); - - // Search for AD_Client_ID by Value... - AD_Client_ID = XMLHelper.getIDbyValue("AD_Client", AD_Client_Value, AD_Client_Value); - log.info("AD_Client_ID = " + AD_Client_ID); - result.appendChild(createNewTextElement("AD_Client_ID", ""+AD_Client_ID, outDocument)); - - // Search for AD_Org_ID by Value... - AD_Org_ID = XMLHelper.getIDbyValue("AD_Org", AD_Org_Value, AD_Client_Value); - log.info("AD_Org_ID = " + AD_Org_ID); - result.appendChild(createNewTextElement("AD_Org_ID", ""+AD_Org_ID, outDocument)); - - - if (value == null || "".equals(value) || - name == null || "".equals(name) || - AD_Client_Value == null || "".equals(AD_Client_Value)) - { - log.error("ERROR: Name or Value or AD_Client_Value is null..."); - System.out.println("ERROR: Name or Value or AD_Client_Value is null..."); - throw new ImportException("ERROR: Name or Value or AD_Client_Value is null..."); - } - - // Search for AD_User by Name... - CreatedBy_ID = XMLHelper.getIDbyName("AD_User", CreatedBy_Name, AD_Client_Value); - log.info("CreatedBy_ID = " + CreatedBy_ID); - result.appendChild(createNewTextElement("CreatedBy_ID", ""+CreatedBy_ID, outDocument)); - if (CreatedBy_Name != null && !"".equals(CreatedBy_Name)) { - //adRole.set_ValueNoCheck("CreatedBy", CreatedBy_ID); - Env.setContext(Env.getCtx(), "#AD_User_ID", CreatedBy_ID); - } - UpdatedBy_ID = XMLHelper.getIDbyName("AD_User", UpdatedBy_Name, AD_Client_Value); - log.info("UpdatedBy_ID = " + UpdatedBy_ID); - result.appendChild(createNewTextElement("UpdatedBy_ID", ""+UpdatedBy_ID, outDocument)); - if (UpdatedBy_Name != null && !"".equals(UpdatedBy_Name)) { - //adRole.set_ValueNoCheck("CreatedBy", CreatedBy_ID); - Env.setContext(Env.getCtx(), "#AD_User_ID", UpdatedBy_ID); - } - - Env.setContext(Env.getCtx(), "#AD_Client_ID", AD_Client_ID); - Env.setContext(Env.getCtx(), "#AD_Org_ID", AD_Org_ID); - - MProcess process = new MProcess(Env.getCtx(), AD_Process_ID, null); - - if (name != null && !"".equals(name)) { - process.setName(name); - } - if (value != null && !"".equals(value)) { - process.setValue(value); - } - - String Description = XMLHelper.getString("Description", AD_Process_Node); - log.info("Description = " + Description); - result.appendChild(createNewTextElement("Description", ""+Description, outDocument)); - if (Description != null && !"".equals(Description)) { - process.setDescription(Description); - } - - String Classname = XMLHelper.getString("Classname", AD_Process_Node); - log.info("Classname = " + Classname); - result.appendChild(createNewTextElement("Classname", ""+Classname, outDocument)); - if (Classname != null && !"".equals(Classname)) { - process.setClassname(Classname); - } - - String EntityType = XMLHelper.getString("EntityType", AD_Process_Node); - log.info("EntityType = " + EntityType); - result.appendChild(createNewTextElement("EntityType", ""+EntityType, outDocument)); - if (EntityType != null && !"".equals(EntityType)) { - String entityTypeValue = XMLHelper.reverseReference("_Entity Type", EntityType); - result.appendChild(createNewTextElement("EntityTypeValue", ""+entityTypeValue, outDocument)); - if (entityTypeValue != null) { - process.setEntityType(entityTypeValue); - } else { - // Set Default entity type - process.setEntityType("U"); - } - - } - - String AccessLevel = XMLHelper.getString("AccessLevel", AD_Process_Node); - log.info("AccessLevel = " + AccessLevel); - result.appendChild(createNewTextElement("AccessLevel", ""+AccessLevel, outDocument)); - if (AccessLevel != null && !"".equals(AccessLevel)) { - String accessLevelValue = XMLHelper.reverseReference("AD_Table Access Levels", "Client+Organization"); - result.appendChild(createNewTextElement("AccessLevelValue", ""+accessLevelValue, outDocument)); - if (accessLevelValue != null) { - process.setAccessLevel(accessLevelValue); - } else { - // Set Default access level - process.setAccessLevel(XMLHelper.reverseReference("AD_Table Access Levels", "Client+Organization")); - } - } - - String JasperReport = XMLHelper.getString("JasperReport", AD_Process_Node); - log.info("JasperReport = " + JasperReport); - result.appendChild(createNewTextElement("JasperReport", ""+JasperReport, outDocument)); - if (JasperReport != null && !"".equals(JasperReport)) { - - try { - process.setJasperReport(JasperReport); - } catch (Error er) { - er.printStackTrace(); - - //process.set_CustomColumn("JasperReport", JasperReport); - } - } - - boolean resultSave = true; - resultSave = process.save(); - log.info("--- RESULT SAVE = " + resultSave); - result.appendChild(createNewTextElement("result", ""+resultSave, outDocument)); - outElement.appendChild(result); - } - - private Element createNewTextElement(String elementName, String textNodeValue, Document outDocument) { - Element newElement = outDocument.createElement(elementName); - - Text newText = outDocument.createTextNode(textNodeValue); - - newElement.appendChild(newText); - - return newElement; - } -} diff --git a/_Project-ID-AdempiereJasper/run-druid.bat b/_Project-ID-AdempiereJasper/run-druid.bat deleted file mode 100644 index c5bfa0747a..0000000000 --- a/_Project-ID-AdempiereJasper/run-druid.bat +++ /dev/null @@ -1,3 +0,0 @@ -@IF NOT EXIST %JAVA_HOME%\bin ECHO "** JAVA_HOME NOT found" - -%JAVA_HOME%/bin/java -Xms64M -Xmx256M -jar ./../druid/druid.jar -proj:./druid/Project-ID-TEMPLATE.druid \ No newline at end of file diff --git a/_Project-ID-AdempiereJasper/splash.jpg b/_Project-ID-AdempiereJasper/splash.jpg deleted file mode 100644 index af926dd0d5d272f8f64a83c2c6fe00c9740db91b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 113347 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 diff --git a/_Project-ID-AdempiereJasper/sql/AlterTable-Oracle-ID-001.sql b/_Project-ID-AdempiereJasper/sql/AlterTable-Oracle-ID-001.sql deleted file mode 100644 index d8e843b39d..0000000000 --- a/_Project-ID-AdempiereJasper/sql/AlterTable-Oracle-ID-001.sql +++ /dev/null @@ -1,17 +0,0 @@ --------------------------------------------------------------------------------- ---- ALTER TABLE ... ADD ... File for Database : ID-002-252e-Oracle DB (Build 396) ---- ---- Date of creation: 2005-12-20 15:54:30 --------------------------------------------------------------------------------- - ---------------------------------------------------------------- ---- EVERY SQL STATEMENT must be separated from other by ';' --- ---------------------------------------------------------------- - - ---- Table: AD_Process ---------------------------------------------------------- -ALTER TABLE AD_Process -ADD JasperReport NVARCHAR2(255); - -ALTER TABLE AD_Process -MODIFY JasperReport NVARCHAR2(255); \ No newline at end of file diff --git a/_Project-ID-AdempiereJasper/sql/CreateTable-Oracle-ID-001.sql b/_Project-ID-AdempiereJasper/sql/CreateTable-Oracle-ID-001.sql deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/_Project-ID-AdempiereJasper/temp/ReadMe.txt b/_Project-ID-AdempiereJasper/temp/ReadMe.txt deleted file mode 100644 index 5ca55978a4..0000000000 --- a/_Project-ID-AdempiereJasper/temp/ReadMe.txt +++ /dev/null @@ -1 +0,0 @@ -This folder contains files generated by Druid COMAP module. \ No newline at end of file diff --git a/_Project-ID-AdempiereJasper/xml/data/AD_ProcessJasper.xml b/_Project-ID-AdempiereJasper/xml/data/AD_ProcessJasper.xml deleted file mode 100644 index ff7c036727..0000000000 --- a/_Project-ID-AdempiereJasper/xml/data/AD_ProcessJasper.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - GardenWorld - 0 - Y - SuperUser - SuperUser - - Standalone - Standalone - Stand alone JasperReport for sample only - org.compiere.report.ReportStarter - User maintained - Client+Organization - http://66.199.246.130/webApp/standalone.jrxml - - - \ No newline at end of file diff --git a/_Project-ID-AdempiereJasper/xml/data/AD_Process_Access.xml b/_Project-ID-AdempiereJasper/xml/data/AD_Process_Access.xml deleted file mode 100644 index d3d9762785..0000000000 --- a/_Project-ID-AdempiereJasper/xml/data/AD_Process_Access.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - GardenWorld - 0 - GardenWorld Admin - Standalone - Y - Y - - - \ No newline at end of file diff --git a/_Project-ID-AdempiereJasper/xml/data/Data-ID-001.xml b/_Project-ID-AdempiereJasper/xml/data/Data-ID-001.xml deleted file mode 100644 index 003a3c9dfb..0000000000 --- a/_Project-ID-AdempiereJasper/xml/data/Data-ID-001.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/_Project-ID-AdempiereJasper/xml/model/.cvsignore b/_Project-ID-AdempiereJasper/xml/model/.cvsignore deleted file mode 100644 index be176fbb5d..0000000000 --- a/_Project-ID-AdempiereJasper/xml/model/.cvsignore +++ /dev/null @@ -1,2 +0,0 @@ -Model-ID-002-part.xml -Model-ID-001-part.xml diff --git a/_Project-ID-AdempiereJasper/xml/model/Model-ID-001.xml b/_Project-ID-AdempiereJasper/xml/model/Model-ID-001.xml deleted file mode 100644 index 2c44d2e07a..0000000000 --- a/_Project-ID-AdempiereJasper/xml/model/Model-ID-001.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - -
- -
\ No newline at end of file diff --git a/_Project-ID-AdempiereJasper/xml/view/View-ID-001.xml b/_Project-ID-AdempiereJasper/xml/view/View-ID-001.xml deleted file mode 100644 index 6bbdf3bf95..0000000000 --- a/_Project-ID-AdempiereJasper/xml/view/View-ID-001.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/_Project-ID-AdempiereJasper/xsd/importer.xsd b/_Project-ID-AdempiereJasper/xsd/importer.xsd deleted file mode 100644 index 92d376a00c..0000000000 --- a/_Project-ID-AdempiereJasper/xsd/importer.xsd +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -