diff --git a/install/.classpath b/install/.classpath new file mode 100644 index 0000000000..742be55d11 --- /dev/null +++ b/install/.classpath @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/install/.myumldata b/install/.myumldata new file mode 100644 index 0000000000..a4e1b40134 --- /dev/null +++ b/install/.myumldata @@ -0,0 +1,2 @@ +#Fri Apr 21 16:17:38 PDT 2006 +CodeGenContainer=java.util.Vector diff --git a/install/.project b/install/.project new file mode 100644 index 0000000000..e7adf24f52 --- /dev/null +++ b/install/.project @@ -0,0 +1,28 @@ + + + install + + + base + client + dbPort + extend + jboss + looks + print + server + serverApps + serverRoot + tools + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/install/Adempiere/RUN_setup.bat b/install/Adempiere/RUN_setup.bat new file mode 100644 index 0000000000..0c9c911e73 --- /dev/null +++ b/install/Adempiere/RUN_setup.bat @@ -0,0 +1,65 @@ +@Title Install Adempiere Server +@Rem $Header: /cvsroot/adempiere/install/Adempiere/RUN_setup.bat,v 1.19 2005/09/08 21:54:12 jjanke Exp $ +@Echo off + + +@if not "%JAVA_HOME%" == "" goto JAVA_HOME_OK +@Set JAVA=java +@Echo JAVA_HOME is not set. +@Echo You may not be able to start the required Setup window !! +@Echo Set JAVA_HOME to the directory of your local 1.5 JDK. +@Echo If you experience problems, run utils/WinEnv.js +@Echo Example: cscript utils\WinEnv.js C:\Adempiere "C:\Program Files\Java\jdk1.5.0_04" +goto START + +:JAVA_HOME_OK +@Set JAVA=%JAVA_HOME%\bin\java + + +:START +@Echo ======================================= +@Echo Starting Setup Dialog ... +@Echo ======================================= +@SET CP=lib\CInstall.jar;lib\Adempiere.jar;lib\CCTools.jar;lib\oracle.jar;lib\derby.jar;lib\jboss.jar;lib\postgresql.jar; + +@Rem Trace Level Parameter, e.g. SET ARGS=ALL +@SET ARGS=CONFIG + +@Rem To test the OCI driver, add -DTestOCI=Y to the command - example: +@Rem %JAVA% -classpath %CP% -DADEMPIERE_HOME=%ADEMPIERE_HOME% -DTestOCI=Y org.compiere.install.Setup %ARGS% + +@"%JAVA%" -classpath %CP% -DADEMPIERE_HOME=%ADEMPIERE_HOME% org.compiere.install.Setup %ARGS% +@Echo ErrorLevel = %ERRORLEVEL% +@IF NOT ERRORLEVEL = 1 GOTO NEXT +@Echo *************************************** +@Echo Check the error messabe above. +@Echo *************************************** +@Echo Maske sure that the environment is set correctly! +@Echo Set environment variable JAVA_HOME manually +@Echo or use WinEnv.js in the util directory +@Echo *************************************** +@Pause +@Exit + + +:NEXT +@Rem =================================== +@Rem Setup Adempiere Environment +@Rem =================================== +@Call utils\RUN_WinEnv.bat + +@Rem =================================== +@Rem Run Ant directly +@Rem =================================== +@Rem %JAVA% -classpath lib\CInstall.jar; -DADEMPIERE_HOME=%ADEMPIERE_HOME% -Dant.home="." org.apache.tools.ant.launch.Launcher setup + + +@Rem ================================ +@Rem Test local Connection +@Rem ================================ +@Rem %JAVA% -classpath lib\Adempiere.jar;lib\AdempiereCLib.jar org.compiere.install.ConnectTest localhost + + +@Echo . +@Echo For problems, check log file in base directory +@pause \ No newline at end of file diff --git a/install/Adempiere/RUN_setup.sh b/install/Adempiere/RUN_setup.sh new file mode 100644 index 0000000000..6ecaee2b15 --- /dev/null +++ b/install/Adempiere/RUN_setup.sh @@ -0,0 +1,52 @@ +#!/bin/sh +# +echo Install Adempiere Server +# $Header: /cvsroot/adempiere/install/Adempiere/RUN_setup.sh,v 1.19 2005/09/08 21:54:12 jjanke Exp $ + +if [ $JAVA_HOME ]; then + JAVA=$JAVA_HOME/bin/java + KEYTOOL=$JAVA_HOME/bin/keytool +else + JAVA=java + KEYTOOL=keytool + echo JAVA_HOME is not set. + echo You may not be able to start the Setup + echo Set JAVA_HOME to the directory of your local JDK. +fi + + +echo =================================== +echo Setup Dialog +echo =================================== +CP=lib/CInstall.jar:lib/Adempiere.jar:lib/CCTools.jar:lib/oracle.jar:lib/derby.jar:lib/jboss.jar:lib/postgresql.jar: + +# Trace Level Parameter, e.g. ARGS=ALL +ARGS=CONFIG + +# To test the OCI driver, add -DTestOCI=Y to the command - example: +# $JAVA -classpath $CP -DADEMPIERE_HOME=$ADEMPIERE_HOME -DTestOCI=Y org.compiere.install.Setup $ARGS + +$JAVA -classpath $CP -DADEMPIERE_HOME=$ADEMPIERE_HOME org.compiere.install.Setup $ARGS + + +#echo =================================== +#echo Setup Adempiere Server Environment +#echo =================================== +#$JAVA -classpath $CP -DADEMPIERE_HOME=$ADEMPIERE_HOME -Dant.home="." org.apache.tools.ant.launch.Launcher setup + + +echo =================================== +echo Make .sh executable & set Env +echo =================================== +chmod -R a+x *.sh +find . -name '*.sh' -exec chmod a+x '{}' \; + +. utils/RUN_UnixEnv.sh + +#echo ================================ +#echo Test local Connection +#echo ================================ +#%JAVA% -classpath lib/Adempiere.jar:lib/AdempiereCLib.jar org.compiere.install.ConnectTest localhost + +echo . +echo For problems, check log file in base directory diff --git a/install/Adempiere/build.xml b/install/Adempiere/build.xml new file mode 100644 index 0000000000..a811bfbd69 --- /dev/null +++ b/install/Adempiere/build.xml @@ -0,0 +1,535 @@ + + + + + + + + + This buildfile is used to setup the Adempiere Environment. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/install/Adempiere/images/InstallSteps.gif b/install/Adempiere/images/InstallSteps.gif new file mode 100644 index 0000000000..746bc861bc Binary files /dev/null and b/install/Adempiere/images/InstallSteps.gif differ diff --git a/install/Adempiere/images/adempiere_5a.jpg b/install/Adempiere/images/adempiere_5a.jpg new file mode 100644 index 0000000000..36ea6872d2 Binary files /dev/null and b/install/Adempiere/images/adempiere_5a.jpg differ diff --git a/install/Adempiere/images/adempiere_cart.gif b/install/Adempiere/images/adempiere_cart.gif new file mode 100644 index 0000000000..38994a1adb Binary files /dev/null and b/install/Adempiere/images/adempiere_cart.gif differ diff --git a/install/Adempiere/images/adempiere_disc.css b/install/Adempiere/images/adempiere_disc.css new file mode 100644 index 0000000000..9ae8bf972c --- /dev/null +++ b/install/Adempiere/images/adempiere_disc.css @@ -0,0 +1,325 @@ +/***********************************************/ +/* HTML tag styles */ +/***********************************************/ + +body{ + font-family: Arial, sans-serif; + color: #000000; + line-height: normal; + margin: 0px; + padding: 0px; + background-image: url(page_bkgd3.jpg); + background-color: #FFFFFF; + background-repeat: repeat-x; +} +a{ + color: #006699; + text-decoration: none; +} +a:link{ + color: #006699; + text-decoration: none; + font-weight: normal; +} +a:visited{ + color: #006699; + font-weight: normal; + text-decoration: none; +} +a:hover{ + color: #006699; + text-decoration: underline; +} +h1, h2, h3, h4, h5, h6, h7 { + font-family: Arial,sans-serif; + margin: 0px; + padding: 0px; +} +h1{ +} +h2{ +} +h3{ +} +h4{ +} +h5{ +} +ul{ + list-style-type: square; + list-style-position: inside; + margin-right: 10px; +} +ul ul{ + list-style-type: disc; +} +ul ul ul{ + list-style-type: none; +} +label{ + font-family: Arial,sans-serif; + font-size: 80%; + color: #333333; +} +ol{ + list-style-position: inside; + margin-right: 10px; +} +img{ +text-decoration: none; +} +/***********************************************/ +/* Layout Divs */ +/***********************************************/ + +/************** #topNav styles **************/ +#topNav{ + position: relative; + top: 4px; + height: 22px; + padding: 0px; + margin: -95px 0px 0px 400px; + left: 5px; + width: 350px; + text-align: right; + font-size: 60%; + vertical-align: middle; +} +#topLink{ + position: relative; + top: 4px; + height: 22px; + padding: 0px; + margin: 0px; + left: 190px; + width: 500px; +} +a.toplink, a.toplink:visited{ + color: #003366; + font-weight: bold; + margin: 0px; + padding: 2px 5px 4px 5px; + text-decoration: none; + border-right-width: 1px; + border-right-style: solid; + border-right-color: #999999; +} +a.toplink:hover{ + color: #003366; + font-weight: bold; + text-decoration: underline; +} +a.alttoplink, a.alttoplink:visited{ + color: #003366; + font-weight: bold; + margin: 0px; + padding: 2px 5px 4px 5px; + text-decoration: none; +} +a.alttoplink:hover{ + color: #003366; + font-weight: bold; + text-decoration: underline; +} + +/************** Header styles **************/ +#masthead{ + width: 100%; + border-bottom: 1px solid #cccccc; +} +#header{ + font-family: Arial, Helvetica, sans-serif; + height: 94px; + width: 100%; + margin: 0; + background-color: #0099CC; + background-repeat: no-repeat; + + font-weight: bolder; + } +#logoHeader{ + font-family: Arial, Helvetica, sans-serif; + height: 94px; + width: 100%; + z-index: 10; +} +#navBar{ + padding: 0px; + background-color: #FFFFFF; + width: 160px; + float: left; +} +#content{ + width: 419px; + margin: 0px 0px 0px 0px; + color:#333333; + padding: 0px 0px 0px 0px; + background-color: #FFFFFF; + float: left; +} +#fullcontent{ + width: 760px; + margin: 0px 0px 0px 0px; + color:#333333; + padding: 0px 0px 0px 0px; +} +#fullheightcontainer{ + margin-left:auto; + margin-right:auto; + position:inherit; + width:760px; + height:100%; + background-color: #FFFFFF; +} +#wrapper{ + min-height:100%; + height:100%; + background:#FFFFFF; +} +#wrapp\65 r{ + height:auto; +} +* html #wrapper{ + height:100%; + width: 760px; + background-color: #FFFFFF; +} +#outer{ + z-index:1; + position:relative; + margin-left:160px; + width:440px; + background:#FFFFFF; + height:100%; +} +/***********************************************/ +/* Components */ +/***********************************************/ + +/*************** title styles **************/ +#siteName{ + margin: 0; + width: 760px; + height: 94px; +} +#headerTitle{ + font-size: 120%; + color: #FFFFFF; + margin: 0px; + padding: 0px; + text-align: center; + visibility: hidden; +} +#pageName{ + margin: 25px 0px 0px 5px; + padding: 0px 0px 0px 20px; + color: #003366; + font-size: 150%; +} +#pageNameimg{ + margin: 5px 0px 20px 25px; + padding: 0px 0px 0px0px; +} +#sectionTitle{ + font-weight: bold; + color: #003366; + margin: 0px 0px 0px 0px; + padding: 10px 0px 10px 10px; +} +#sectionTitle2{ + font-size: 90%; + font-weight: bold; + color: #003366; + margin: 0px 0px 0px 0px; + padding: 5px 0px 10px 0px; +} +#storyTitle1{ + font-size: 115%; + font-weight: bold; + color: #003366; + margin: 20px 15px 10px 25px; + padding: 0px; +} +#storyTitle2{ + font-size: 105%; + font-weight: bold; + color: #333333; + margin: 0px 0px 10px 30px; + padding: 0px; +} +#storyTabletitle1{ + font-size: 105%; + font-weight: bold; + color: #333333; + margin: 0px 0px 5px 15px; + padding: 0px; +} +#storyTabletitle2{ + font-size: 115%; + font-weight: bold; + color: #003366; + margin: 0px 0px 10px 0px; + padding: 0px; +} + +/************** .story styles *****************/ + +.story{ + font-size: 80%; + width: 100%; +} +.story p{ + padding: 0px 0px 10px 0px; + margin: 0px 20px 0px 35px; +} +#storyImg{ + margin: 10px 10px 10px 30px; + text-align: center; +} +.story a{ + text-decoration:underline +} +.story a:visited{ + text-decoration:underline +} +.story a:hover{ + text-decoration: underline; +} + +/************* #siteInfo styles ***************/ + +#siteInfo{ + clear: both; + font-size: 75%; + color: #999999; + padding: 5px 5px 5px 5px; + text-align: center; + border-top: 1px solid #cccccc; +} +#siteInfosolutions{ + width: 40%; + text-align: left; +} +#siteInfoimg{ + vertical-align: middle; + width: 40%; + text-align: right; + margin: -100px 0px 0px 0px; +} + +/*********** #navBar link styles ***********/ + +#navBar ul a:link, #navBar ul a:visited{ +display: block; +} +#navBar ul { +list-style: none; margin: 0; padding: 0; +} +#navBar li {border-bottom: 1px solid #EEE;} +html>body #navBar li {border-bottom: none;} + +/************** #table styles **************/ +#tableText{ + color: #333333; + font-size: 0.7em; +} diff --git a/install/Adempiere/images/adempiere_print.css b/install/Adempiere/images/adempiere_print.css new file mode 100644 index 0000000000..c741530707 --- /dev/null +++ b/install/Adempiere/images/adempiere_print.css @@ -0,0 +1,54 @@ +.noPrint { +display: none; +} +p { +font-family: Georgia, "Times New Roman", Times, serif; +font-size: 11px; +color: #000000; +background-color: #FFFFFF; +margin: 10px 0px 0px 20px; +} +#pageName { + font-family: Georgia, "Times New Roman", Times, serif; + font-size: 14px; + color: #000000; + background-color: #FFFFFF; + margin: 25px 0px 0px 10px; +} +#pageNameimg { +margin: 0px 0px 0px 10px; +} +#storyTitle1 { + font-family: Georgia, "Times New Roman", Times, serif; + font-size: 12px; + color: #000000; + background-color: #FFFFFF; + font-weight: bold; + margin: 15px 0px 0px 15px; +} +a{ + color: #000000; + text-decoration: none; +} +a:link{ + color: #000000; + text-decoration: underline; +} +a:visited{ + color: #000000; + text-decoration: underline; +} +a:hover{ + color: #000000; + text-decoration: underline; +} +h1, h2, h3, h4, h5, h6, h7 { + font-family: Arial,sans-serif; + margin: 0px; + padding: 0px; +} +label{ + font-family: Arial,sans-serif; + font-size: 80%; + color: #OOOOOO; +} \ No newline at end of file diff --git a/install/Adempiere/images/hr.jpg b/install/Adempiere/images/hr.jpg new file mode 100644 index 0000000000..b055d975f9 Binary files /dev/null and b/install/Adempiere/images/hr.jpg differ diff --git a/install/Adempiere/images/page_bkgd3.jpg b/install/Adempiere/images/page_bkgd3.jpg new file mode 100644 index 0000000000..53e37aabdd Binary files /dev/null and b/install/Adempiere/images/page_bkgd3.jpg differ diff --git a/install/Adempiere/index.html b/install/Adempiere/index.html new file mode 100644 index 0000000000..727f9f9bd7 --- /dev/null +++ b/install/Adempiere/index.html @@ -0,0 +1,79 @@ + + + + +Adempiere - Smart Open Source ERP Software with integrated CRM Solution + + + + + + + + +
+
+ + +
+ +
+

Adempiere ERP & CRM

+ +
+

Thanks for your interest in Adempiere. Adempiere is the premier Open Source Business Application with more then 630,000 downloads and installations worldwide. In SourceForge, Adempiere maintained a top ten position for now over two years.

+

Functionality

+

Accounting - Inventory - Sales Order - Purchase Order - Projects (Job Order) - Web Store - Workflow - Multi-Org - Multi-Language - Multi-Tax - Integrated Reporting

+

Industry examples: Distribution (retail, wholesale, franchise), Service, Light Manufacturing

+

Why Adempiere?

+

Vendor Independence - Stable Product - Affordable (all inclusive starting $1500 per 10 internal user)

+

For details please check:

+

Product Details - http://www.adempiere.org
+ Support - http://www.adempiere.com

+

On this CD

+

Adempiere Installation Overview, Release Notes and the current distribution

+

You need also Java and if used in production a Oracle Database (license part of all inclusive costs of $1500 per 10 internal user with support contract

+
+
+
+ + + + +

Copyright © 1999-2006 ComPiere, Inc. - All rights reserved
+ Adempiere® is a registered trademark of Adempiere, Inc

+
+
+ + + diff --git a/install/Adempiere/install.html b/install/Adempiere/install.html new file mode 100644 index 0000000000..3f7ff4d970 --- /dev/null +++ b/install/Adempiere/install.html @@ -0,0 +1,94 @@ + + + + +Adempiere - Smart Open Source ERP Software with integrated CRM Solution + + + + + + + + +
+
+ + +
+ +
+
+

Install StepsAdempiere Server Installation

+ +

Please check the more detailed page on http://www.adempiere.org/support
+
for the latest version and help from Adempiere Partners.

+

License information - Release Info

+

$Id: install.html,v 1.2 2006/05/11 02:50:01 jjanke Exp $

+

Prerequisites

+
    +
  1. Install Oracle 10g (free download for prototyping)
  2. +
  3. Download and install Sun Java 1.5.0 SDK (not just JRE)
  4. +
  5. You downloaded Adempiere
  6. +
+

Installation

+
    +
  1. Install Adempiere Server
  2. +
  3. Create Adempiere Database
  4. +
  5. Complete Adempiere Server Install
  6. +
+

Client Installation

+
    +
  1. Download and install Sun Java 1.5.0 JRE
  2. +
  3. Point your browser to your application server - options - +
      +
    1. Start the client with WebStart
    2. +
    3. Download and extract the file AdempiereClient.zip
    4. +
    +
  4. +
+

Adempiere Application Client Install Details.

+
+
+
+ + + + +

Copyright © 1999-2006 ComPiere, Inc. - All rights reserved
+ Adempiere® is a registered trademark of Adempiere, Inc

+
+
+ + + diff --git a/install/Adempiere/license.html b/install/Adempiere/license.html new file mode 100644 index 0000000000..95c69532e6 --- /dev/null +++ b/install/Adempiere/license.html @@ -0,0 +1,81 @@ + + +Compiere Public License + + + +
+

COMPIERE PUBLIC LICENSE

+ Version 1.2 +

Contact info@compiere.org for licensing alternatives.

+

GNU General Public License

+

Version 2, June 1991

+
Copyright (C) 1989, 1991 Free Software Foundation, Inc.  
+59 Temple Place - Suite 330, Boston, MA  02111-1307, USA
+
+
+Everyone is permitted to copy and distribute verbatim copies
+of this license document, but changing it is not allowed.
+  
+
+

Preamble

+

The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too.

+

When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.

+

To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.

+

For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.

+

We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.

+

Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.

+

Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.

+

The precise terms and conditions for copying, distribution and modification follow.

+

TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

+

0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". +

Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. +

1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. +

You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. +

2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: +

+

+ +
+
These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
+

Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. +

In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. +

3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: + + +

+ +
+
The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
+

If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. +

4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. +

5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. +

6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. +

7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. +

If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. +

It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. +

This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. +

8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. +

9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. +

Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. +

10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. +

NO WARRANTY

+

11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. +

12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +

+

END OF TERMS AND CONDITION

+

+ + diff --git a/install/Adempiere/rel253.html b/install/Adempiere/rel253.html new file mode 100644 index 0000000000..392e87413f --- /dev/null +++ b/install/Adempiere/rel253.html @@ -0,0 +1,132 @@ + + + + +Adempiere - Smart Open Source ERP Software with integrated CRM Solution + + + + + + + + +

+
+ + +
+ +
+

Adempiere Release 2.5.3c

+ +
+

Status: Production

+
    +
  • The Release 2.5.3c is available for download +
      +
    • Detail change log via CVS, SourceForge and Partner Forum
    • +
    • CVS Head is R2.5.3c
    • +
    +
  • +
  • Known issues (see also: Status and Known Issues)
  • +
  • Migration is available
  • +
  • Restrictions +
      +
    • Status: Beta (You can Enable Beta Functionality on Client level) for +
        +
      • HTML UI
      • +
      • POS
      • +
      • BOM (new structure)
      • +
      +
    • +
    • Status: Limited Production +
        +
      • Costing
      • +
      +
    • +
    +
  • +
  • Check the Upgrade notes below if applicable
  • +
+

New Features

+

Functionality

+
    +
  • Cash Based Accounting (2.5.3a)
  • +
  • Commitment/Encumbrance Accounting (2.5.3a)
  • +
  • Reporting with multiple hierarchies (2.5.3a)
  • +
  • Import Price Lists (2.5.3a)
  • +
  • Improved Mullti-Org functionality for optionally shared entities (2.5.3b)
  • +
  • Print Barcodes (2.3.5c)
  • +
  • Collaboration Chat & Content Management (2.3.5c)
  • +
+

Technology

+
    +
  • Connection Profile with management via role/user (2.5.3b)
  • +
  • Workflow action "email" (2.5.3b)
  • +
  • Web Store UI Improcement (2.3.5c)
  • +
+

Closed Bugs, Feature Requests

+ +

Planned Functionality and Development Priorities

+
    +
  • Check the current list of Open Items . Planned Functionality and Priorities are determined by Adempiere Partners .
  • +
+

Optional Services

+ +

Upgrade Notes

+

Release 2.5.3 requires Java 1.5 and requires that you delete the jboss directory before you extract the files.

+

When upgrading from a previous release, you need to execute RUN_setup and RUN_Migrate (in that order).

+

Database Name: From Oracle "SID" to Service Name

+

For Oracle, Release 2.5.2 uses the Service Name - previous releases used the SID - to connect to the database. The Global Service Name is discovered by RUN_setup and is usually in the form of <instance>.<domain> - example "adempiere.myCompany.com". The Service Name is defined when installing the database.

+

When manually entering the Database Name (e.g. in the Connection Dialog) make sure that you enter the Service Name.

+
+
+
+ + + + +

Copyright © 1999-2006 ComPiere, Inc. - All rights reserved
+ Adempiere® is a registered trademark of Adempiere, Inc

+
+
+ + + diff --git a/install/RUN_build.bat b/install/RUN_build.bat new file mode 100644 index 0000000000..07c9b06457 --- /dev/null +++ b/install/RUN_build.bat @@ -0,0 +1,20 @@ +@Title Build Adempiere Installer +@Rem $Header: /cvsroot/adempiere/install/RUN_build.bat,v 1.6 2005/09/13 04:27:12 jjanke Exp $ +@Echo off + +@CALL ..\utils_dev\myDevEnv.bat +@IF NOT %ADEMPIERE_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 + +@Echo Done ... +@sleep 60 +@exit + +:NOBUILD +@Echo Check myDevEnv.bat (copy from myDevEnvTemplate.bat) +@Pause diff --git a/install/RUN_build.sh b/install/RUN_build.sh new file mode 100644 index 0000000000..5f80633c60 --- /dev/null +++ b/install/RUN_build.sh @@ -0,0 +1,18 @@ +# Module compiling script +# Ported from Windows script Marek Mosiewicz + + +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 adempiere source +cd $SAVED_DIR #back to the saved directory + +. $UTILS_DEV/myDevEnv.sh #call environment +echo done +if [ ! $ADEMPIERE_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 diff --git a/install/build.xml b/install/build.xml new file mode 100644 index 0000000000..1937b76041 --- /dev/null +++ b/install/build.xml @@ -0,0 +1,234 @@ + + + + + + + + + + This buildfile is used to create the Adempiere installer. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AdempiereHome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + *Adempiere_${env.ADEMPIERE_VERSION_FILE}.tar.gz + + + *Adempiere_${env.ADEMPIERE_VERSION_FILE}.zip + + + + + + + + + + diff --git a/install/src/org/compiere/install/Config.java b/install/src/org/compiere/install/Config.java new file mode 100644 index 0000000000..e36f2be8f6 --- /dev/null +++ b/install/src/org/compiere/install/Config.java @@ -0,0 +1,146 @@ +/****************************************************************************** + * 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.install; + +import java.sql.*; + +import org.compiere.swing.*; +import org.compiere.util.*; + + +/** + * Configuration Setup and Test + * + * @author Jorg Janke + * @version $Id: Config.java,v 1.3 2006/07/30 00:57:42 jjanke Exp $ + */ +public abstract class Config +{ + /** + * Configuration + * @param data configuration + */ + public Config (ConfigurationData data) + { + super (); + p_data = data; + } // Config + + /** Configuration Data */ + protected ConfigurationData p_data = null; + /** Logger */ + static CLogger log = CLogger.getCLogger (Config.class); + + + /** + * Initialize + */ + abstract void init(); + + /** + * Test + * @return error message or null of OK + */ + abstract String test(); + + /** + * Discover Databases. + * To be overwritten by database configs + * @param selected selected database + * @return array of databases + */ + public String[] discoverDatabases(String selected) + { + return new String[]{}; + } // discoverDatabases + + /** + * Get Panel + * @return panel + */ + protected ConfigurationPanel getPanel() + { + return p_data.p_panel; + } // getPanel + + /** + * Set Configuration Property + * @param key key + * @param value value + */ + protected void setProperty(String key, String value) + { + p_data.p_properties.setProperty(key, value); + } // setProperty + + + /** + * UI Signal OK + * @param cb ckeck box + * @param resString resource string key + * @param pass true if test passed + * @param critical true if critial + * @param errorMsg error Message + */ + void signalOK (CCheckBox cb, String resString, + boolean pass, boolean critical, String errorMsg) + { + p_data.p_panel.signalOK(cb, resString, pass, critical, errorMsg); + } // signalOK + + /** + * Get Web Store Context Names separared by , + * @param con connection + * @return String of Web Store Names - e.g. /wstore + */ + protected String getWebStores(Connection con) + { + String sql = "SELECT WebContext FROM W_Store WHERE IsActive='Y'"; + Statement stmt = null; + StringBuffer result = new StringBuffer(); + try + { + stmt = con.createStatement(); + ResultSet rs = stmt.executeQuery(sql); + while (rs.next ()) + { + if (result.length() > 0) + result.append(","); + result.append(rs.getString(1)); + } + rs.close (); + stmt.close (); + stmt = null; + } + catch (Exception e) + { + log.severe(e.toString()); + } + try + { + if (stmt != null) + stmt.close (); + stmt = null; + } + catch (Exception e) + { + stmt = null; + } + return result.toString(); + } // getWebStores + +} // Config diff --git a/install/src/org/compiere/install/ConfigDB2.java b/install/src/org/compiere/install/ConfigDB2.java new file mode 100644 index 0000000000..c629908acc --- /dev/null +++ b/install/src/org/compiere/install/ConfigDB2.java @@ -0,0 +1,252 @@ +/****************************************************************************** + * 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.install; + +import java.io.*; +import java.net.*; +import java.sql.*; + +import org.compiere.db.*; +import org.compiere.util.*; + +import com.ibm.db2.jcc.*; + +/** + * DB/2 Configuration Test + * + * @author Jorg Janke + * @version $Id: ConfigDB2.java,v 1.3 2006/07/30 00:57:42 jjanke Exp $ + */ +public class ConfigDB2 extends Config +{ + /** + * ConfigOracle + * @param data configuration + */ + public ConfigDB2 (ConfigurationData data) + { + super (data); + } // ConfigOracle + + /** DB/2 Driver */ + private static DB2Driver s_db2Driver = null; + /** Last Connection */ + private Connection m_con = null; + + /** + * Init + */ + public void init() + { + p_data.setDatabasePort(String.valueOf(DB_DB2.DEFAULT_PORT_0)); + p_data.setDatabaseName("adempiere"); + p_data.setDatabaseSystemPassword(true); + } // init + + + /************************************************************************** + * Test + * @return error message or null if OK + */ + public String test() + { + // Database Server + String server = p_data.getDatabaseServer(); + boolean pass = server != null && server.length() > 0 + && server.toLowerCase().indexOf("localhost") == -1 + && !server.equals("127.0.0.1"); + String error = "Not correct: DB Server = " + server; + InetAddress databaseServer = null; + try + { + if (pass) + databaseServer = InetAddress.getByName(server); + } + catch (Exception e) + { + error += " - " + e.getMessage(); + pass = false; + } + signalOK(getPanel().okDatabaseServer, "ErrorDatabaseServer", + pass, true, error); + log.info("OK: Database Server = " + databaseServer); + setProperty(ConfigurationData.ADEMPIERE_DB_SERVER, databaseServer.getHostName()); + setProperty(ConfigurationData.ADEMPIERE_DB_TYPE, p_data.getDatabaseType()); + + // Database Port + int databasePort = p_data.getDatabasePort(); + pass = p_data.testPort (databaseServer, databasePort, true); + error = "DB Server Port = " + databasePort; + signalOK(getPanel().okDatabaseServer, "ErrorDatabasePort", + pass, true, error); + if (!pass) + return error; + log.info("OK: Database Port = " + databasePort); + setProperty(ConfigurationData.ADEMPIERE_DB_PORT, String.valueOf(databasePort)); + + + // JDBC Database Info + String databaseName = p_data.getDatabaseName(); // Service Name + String systemPassword = p_data.getDatabaseSystemPassword(); + pass = systemPassword != null && systemPassword.length() > 0; + error = "No Database System Password entered"; + signalOK(getPanel().okDatabaseSystem, "ErrorJDBC", + pass, true, error); + if (!pass) + return error; + // + // URL (derived) jdbc:oracle:thin:@//prod1:1521/prod1 + String url = "jdbc:db2://" + databaseServer.getHostName() + + ":" + databasePort + + "/" + databaseName; + pass = testJDBC(url, "db2admin", systemPassword); + error = "Error connecting: " + url + + " - as db2admin/" + systemPassword; + signalOK(getPanel().okDatabaseSystem, "ErrorJDBC", + pass, true, error); + if (!pass) + return error; + log.info("OK: Connection = " + url); + setProperty(ConfigurationData.ADEMPIERE_DB_URL, url); + log.info("OK: Database System User " + databaseName); + setProperty(ConfigurationData.ADEMPIERE_DB_NAME, databaseName); + setProperty(ConfigurationData.ADEMPIERE_DB_SYSTEM, systemPassword); + + + // Database User Info + String databaseUser = p_data.getDatabaseUser(); // UID + String databasePassword = p_data.getDatabasePassword(); // PWD + pass = databasePassword != null && databasePassword.length() > 0; + error = "Invalid Database User Password"; + signalOK(getPanel().okDatabaseUser, "ErrorJDBC", + pass, true, error); + if (!pass) + return error; + // Ignore result as it might not be imported + pass = testJDBC(url, databaseUser, databasePassword); + error = "Database imported? Cannot connect to User: " + databaseUser + "/" + databasePassword; + signalOK(getPanel().okDatabaseUser, "ErrorJDBC", + pass, false, error); + if (pass) + { + log.info("OK: Database User = " + databaseUser); + if (m_con != null) + setProperty(ConfigurationData.ADEMPIERE_WEBSTORES, getWebStores(m_con)); + } + else + log.warning(error); + setProperty(ConfigurationData.ADEMPIERE_DB_USER, databaseUser); + setProperty(ConfigurationData.ADEMPIERE_DB_PASSWORD, databasePassword); + + if (!p_data.getAppsServerType().equals(ConfigurationData.APPSTYPE_TOMCAT)) + { + String cmd = "db2 "; + if (Env.isWindows()) + cmd = "db2cmd -c -w -i db2 "; + String sqlcmd1 = cmd + "connect to xx"; + String sqlcmd2 = cmd + "-f utils/db2/Test.sql"; + log.config(sqlcmd2); + pass = testSQL(sqlcmd2); + error = "Error connecting via: " + sqlcmd2; + signalOK(getPanel().okDatabaseSQL, "ErrorTNS", + pass, true, error); + if (pass) + log.info("OK: Database SQL Connection"); + } + + m_con = null; + return null; + } // test + + /** + * Test JDBC Connection to Server + * @param url connection string + * @param uid user id + * @param pwd password + * @return true if OK + */ + private boolean testJDBC (String url, String uid, String pwd) + { + log.fine("Url=" + url + ", UID=" + uid); + try + { + if (s_db2Driver == null) + { + s_db2Driver = new DB2Driver(); + DriverManager.registerDriver(s_db2Driver); + } + m_con = DriverManager.getConnection(url, uid, pwd); + } + catch (Exception e) + { + log.severe(e.toString()); + return false; + } + return true; + } // testJDBC + + /** + * Test Command Line Connection + * @param sqlcmd sql command line + * @return true if OK + */ + private boolean testSQL (String sqlcmd) + { + if (true) + return true; + // + StringBuffer sbOut = new StringBuffer(); + StringBuffer sbErr = new StringBuffer(); + int result = -1; + try + { + Process p = Runtime.getRuntime().exec (sqlcmd); + InputStream in = p.getInputStream(); + int c; + while ((c = in.read()) != -1) + { + sbOut.append((char)c); + System.out.print((char)c); + } + in.close(); + in = p.getErrorStream(); + while ((c = in.read()) != -1) + sbErr.append((char)c); + in.close(); + // Get result + try + { + Thread.yield(); + result = p.exitValue(); + } + catch (Exception e) // Timing issue on Solaris. + { + Thread.sleep(200); // .2 sec + result = p.exitValue(); + } + } + catch (Exception ex) + { + log.severe(ex.toString()); + } + log.finer(sbOut.toString()); + if (sbErr.length() > 0) + log.warning(sbErr.toString()); + return result == 0; + } // testSQL + +} // ConfigDB2 diff --git a/install/src/org/compiere/install/ConfigJBoss.java b/install/src/org/compiere/install/ConfigJBoss.java new file mode 100644 index 0000000000..c9ed32a3e3 --- /dev/null +++ b/install/src/org/compiere/install/ConfigJBoss.java @@ -0,0 +1,152 @@ +/****************************************************************************** + * 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.install; + +import java.io.*; +import java.net.*; + + +/** + * JBoss 4.0.2 Apps Server Configuration + * + * @author Jorg Janke + * @version $Id: ConfigJBoss.java,v 1.3 2006/07/30 00:57:42 jjanke Exp $ + */ +public class ConfigJBoss extends Config +{ + + /** + * ConfigJBoss + * @param data configuration + */ + public ConfigJBoss (ConfigurationData data) + { + super (data); + } // ConfigJBoss + + /** + * Initialize + */ + public void init() + { + p_data.setAppsServerDeployDir(getDeployDir()); + p_data.setAppsServerDeployDir(false); + // + p_data.setAppsServerJNPPort("1099"); + p_data.setAppsServerJNPPort(true); + p_data.setAppsServerWebPort("80"); + p_data.setAppsServerWebPort(true); + p_data.setAppsServerSSLPort("443"); + p_data.setAppsServerSSLPort(true); + } // init + + /** + * Get Deployment Dir + * @return deployment dir + */ + private String getDeployDir() + { + return p_data.getAdempiereHome() + + File.separator + "jboss" + + File.separator + "server" + + File.separator + "adempiere" + + File.separator + "deploy"; + } // getDeployDir + + /** + * Test + * @return error message or null if OK + */ + public String test() + { + // AppsServer + String server = p_data.getAppsServer(); + boolean pass = server != null && server.length() > 0 + && server.toLowerCase().indexOf("localhost") == -1 + && !server.equals("127.0.0.1"); + InetAddress appsServer = null; + String error = "Not correct: AppsServer = " + server; + try + { + if (pass) + appsServer = InetAddress.getByName(server); + } + catch (Exception e) + { + error += " - " + e.getMessage(); + pass = false; + } + signalOK(getPanel().okAppsServer, "ErrorAppsServer", + pass, true, error); + if (!pass) + return error; + log.info("OK: AppsServer = " + appsServer); + setProperty(ConfigurationData.ADEMPIERE_APPS_SERVER, appsServer.getHostName()); + setProperty(ConfigurationData.ADEMPIERE_APPS_TYPE, p_data.getAppsServerType()); + + // Deployment Dir + p_data.setAppsServerDeployDir(getDeployDir()); + File deploy = new File (p_data.getAppsServerDeployDir()); + pass = deploy.exists(); + error = "Not found: " + deploy; + signalOK(getPanel().okDeployDir, "ErrorDeployDir", + pass, true, error); + if (!pass) + return error; + setProperty(ConfigurationData.ADEMPIERE_APPS_DEPLOY, p_data.getAppsServerDeployDir()); + log.info("OK: Deploy Directory = " + deploy); + + // JNP Port + int JNPPort = p_data.getAppsServerJNPPort(); + pass = !p_data.testPort (appsServer, JNPPort, false) + && p_data.testServerPort(JNPPort); + error = "Not correct: JNP Port = " + JNPPort; + signalOK(getPanel().okJNPPort, "ErrorJNPPort", + pass, true, error); + if (!pass) + return error; + log.info("OK: JNPPort = " + JNPPort); + setProperty(ConfigurationData.ADEMPIERE_JNP_PORT, String.valueOf(JNPPort)); + + // Web Port + int WebPort = p_data.getAppsServerWebPort(); + pass = !p_data.testPort ("http", appsServer.getHostName(), WebPort, "/") + && p_data.testServerPort(WebPort); + error = "Not correct: Web Port = " + WebPort; + signalOK(getPanel().okWebPort, "ErrorWebPort", + pass, true, error); + if (!pass) + return error; + log.info("OK: Web Port = " + WebPort); + setProperty(ConfigurationData.ADEMPIERE_WEB_PORT, String.valueOf(WebPort)); + + // SSL Port + int sslPort = p_data.getAppsServerSSLPort(); + pass = !p_data.testPort ("https", appsServer.getHostName(), sslPort, "/") + && p_data.testServerPort(sslPort); + error = "Not correct: SSL Port = " + sslPort; + signalOK(getPanel().okSSLPort, "ErrorWebPort", + pass, true, error); + if (!pass) + return error; + log.info("OK: SSL Port = " + sslPort); + setProperty(ConfigurationData.ADEMPIERE_SSL_PORT, String.valueOf(sslPort)); + // + return null; + } // test + +} // ConfigJBoss diff --git a/install/src/org/compiere/install/ConfigOracle.java b/install/src/org/compiere/install/ConfigOracle.java new file mode 100644 index 0000000000..a07f8eb11b --- /dev/null +++ b/install/src/org/compiere/install/ConfigOracle.java @@ -0,0 +1,404 @@ +/****************************************************************************** + * 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.install; + +import java.io.*; +import java.net.*; +import java.sql.*; +import java.util.*; +import java.util.regex.*; +import org.compiere.db.*; +import oracle.jdbc.*; + + +/** + * Oracle Confguration + * + * @author Jorg Janke + * @version $Id: ConfigOracle.java,v 1.3 2006/07/30 00:57:42 jjanke Exp $ + */ +public class ConfigOracle extends Config +{ + /** + * ConfigOracle + * @param data configuration + */ + public ConfigOracle (ConfigurationData data) + { + super (data); + } // ConfigOracle + + /** Oracle Driver */ + private static OracleDriver s_oracleDriver = null; + /** Discoverd TNS */ + private String[] p_discovered = null; + /** Last Connection */ + private Connection m_con = null; + + /** + * Init + */ + public void init() + { + p_data.setDatabasePort(String.valueOf(DB_Oracle.DEFAULT_PORT)); + // + p_data.setDatabaseSystemPassword(true); + } // init + + /** + * Discover Databases. + * To be overwritten by database configs + * @param selected selected database + * @return array of databases + */ + public String[] discoverDatabases(String selected) + { + if (p_discovered != null) + return p_discovered; + // + ArrayList list = new ArrayList(); + // default value to lowercase or null + String def = selected; + if (def != null && def.trim().length() == 0) + def = null; + if (def != null) + list.add(def.toLowerCase()); + + // Search for Oracle Info + String path = System.getProperty("java.library.path"); + String[] entries = path.split(File.pathSeparator); + for (int e = 0; e < entries.length; e++) + { + String entry = entries[e].toLowerCase(); + if (entry.indexOf("ora") != -1 && entry.endsWith("bin")) + { + StringBuffer sb = getTNS_File (entries[e].substring(0, entries[e].length()-4)); + String[] tnsnames = getTNS_Names (sb); + if (tnsnames != null) + { + for (int i = 0; i < tnsnames.length; i++) + { + String tns = tnsnames[i]; // is lower case + if (!tns.equals(def)) + list.add(tns); + } + break; + } + } + } // for all path entries + + p_discovered = new String[list.size()]; + list.toArray(p_discovered); + return p_discovered; + } // discoverDatabases + + /** + * Get File tnmsnames.ora in StringBuffer + * @param oraHome ORACLE_HOME + * @return tnsnames.ora or null + */ + private StringBuffer getTNS_File (String oraHome) + { + String tnsnames = oraHome + File.separator + + "network" + File.separator + + "admin" + File.separator + + "tnsnames.ora"; + File tnsfile = new File (tnsnames); + if (!tnsfile.exists()) + return null; + + log.fine(tnsnames); + StringBuffer sb = new StringBuffer(); + try + { + FileReader fr = new FileReader (tnsfile); + int c; + while ((c = fr.read()) != -1) + sb.append((char)c); + } + catch (IOException ex) + { + log.severe("Error Reading " + tnsnames); + ex.printStackTrace(); + return null; + } + if (sb.length() == 0) + return null; + return sb; + } // getTNS_File + + /** + * Get TNS Names entries. + * Assumes standard tnsmanes.ora formatting of NetMgr + * @param tnsnames content of tnsnames.ora + * @return tns names or null + */ + private String[] getTNS_Names (StringBuffer tnsnames) + { + if (tnsnames == null) + return null; + + ArrayList list = new ArrayList(); + Pattern pattern = Pattern.compile("$", Pattern.MULTILINE); + String[] lines = pattern.split(tnsnames); + for (int i = 0; i < lines.length; i++) + { + String line = lines[i].trim(); + log.finest(i + ": " + line); + if (false) // get TNS Name + { + if (line.length() > 0 + && Character.isLetter(line.charAt(0)) // no # ( + && line.indexOf("=") != -1 + && line.indexOf("EXTPROC_") == -1 + && line.indexOf("_HTTP") == -1) + { + String entry = line.substring(0, line.indexOf('=')).trim().toLowerCase(); + log.fine(entry); + list.add(entry); + } + } + else // search service names + { + if (line.length() > 0 + && line.toUpperCase().indexOf("SERVICE_NAME") != -1) + { + String entry = line.substring(line.indexOf('=')+1).trim().toLowerCase(); + int index = entry.indexOf(')'); + if (index != 0) + entry = entry.substring(0, index).trim(); + log.fine(entry); + list.add(entry); + } + + } + } + // Convert to Array + if (list.size() == 0) + return null; + String[] retValue = new String[list.size()]; + list.toArray(retValue); + return retValue; + } // getTNS_Names + + + /************************************************************************** + * Test + * @return error message or null if OK + */ + public String test() + { + // Database Server + String server = p_data.getDatabaseServer(); + boolean pass = server != null && server.length() > 0 + && server.toLowerCase().indexOf("localhost") == -1 + && !server.equals("127.0.0.1"); + String error = "Not correct: DB Server = " + server; + InetAddress databaseServer = null; + try + { + if (pass) + databaseServer = InetAddress.getByName(server); + } + catch (Exception e) + { + error += " - " + e.getMessage(); + pass = false; + } + signalOK(getPanel().okDatabaseServer, "ErrorDatabaseServer", + pass, true, error); + log.info("OK: Database Server = " + databaseServer); + setProperty(ConfigurationData.ADEMPIERE_DB_SERVER, databaseServer.getHostName()); + setProperty(ConfigurationData.ADEMPIERE_DB_TYPE, p_data.getDatabaseType()); + + // Database Port + int databasePort = p_data.getDatabasePort(); + pass = p_data.testPort (databaseServer, databasePort, true); + error = "DB Server Port = " + databasePort; + signalOK(getPanel().okDatabaseServer, "ErrorDatabasePort", + pass, true, error); + if (!pass) + return error; + log.info("OK: Database Port = " + databasePort); + setProperty(ConfigurationData.ADEMPIERE_DB_PORT, String.valueOf(databasePort)); + + + // JDBC Database Info + String databaseName = p_data.getDatabaseName(); // Service Name + String systemPassword = p_data.getDatabaseSystemPassword(); + pass = systemPassword != null && systemPassword.length() > 0; + error = "No Database System Password entered"; + signalOK(getPanel().okDatabaseSystem, "ErrorJDBC", + pass, true, error); + if (!pass) + return error; + // + // URL (derived) jdbc:oracle:thin:@//prod1:1521/prod1 + String url = "jdbc:oracle:thin:@//" + databaseServer.getHostName() + + ":" + databasePort + + "/" + databaseName; + pass = testJDBC(url, "system", systemPassword); + error = "Error connecting: " + url + + " - as system/" + systemPassword; + signalOK(getPanel().okDatabaseSystem, "ErrorJDBC", + pass, true, error); + if (!pass) + return error; + log.info("OK: Connection = " + url); + setProperty(ConfigurationData.ADEMPIERE_DB_URL, url); + log.info("OK: Database System User " + databaseName); + setProperty(ConfigurationData.ADEMPIERE_DB_NAME, databaseName); + setProperty(ConfigurationData.ADEMPIERE_DB_SYSTEM, systemPassword); + + + // Database User Info + String databaseUser = p_data.getDatabaseUser(); // UID + String databasePassword = p_data.getDatabasePassword(); // PWD + pass = databasePassword != null && databasePassword.length() > 0; + error = "Invalid Database User Password"; + signalOK(getPanel().okDatabaseUser, "ErrorJDBC", + pass, true, error); + if (!pass) + return error; + // Ignore result as it might not be imported + pass = testJDBC(url, databaseUser, databasePassword); + error = "Database imported? Cannot connect to User: " + databaseUser + "/" + databasePassword; + signalOK(getPanel().okDatabaseUser, "ErrorJDBC", + pass, false, error); + if (pass) + { + log.info("OK: Database User = " + databaseUser); + if (m_con != null) + setProperty(ConfigurationData.ADEMPIERE_WEBSTORES, getWebStores(m_con)); + } + else + log.warning(error); + setProperty(ConfigurationData.ADEMPIERE_DB_USER, databaseUser); + setProperty(ConfigurationData.ADEMPIERE_DB_PASSWORD, databasePassword); + + // TNS Name Info via sqlplus - if not tomcat + if (!p_data.getAppsServerType().equals(ConfigurationData.APPSTYPE_TOMCAT)) + { + String sqlplus = "sqlplus system/" + systemPassword + "@" + databaseName + + " @utils/oracle/Test.sql"; + log.config(sqlplus); + pass = testSQL(sqlplus); + error = "Error connecting via: " + sqlplus; + signalOK(getPanel().okDatabaseSQL, "ErrorTNS", + pass, true, error); + if (pass) + log.info("OK: Database SQL Connection"); + } + + // OCI Test + if (System.getProperty("TestOCI", "N").equals("Y")) + { + url = "jdbc:oracle:oci8:@" + databaseName; + pass = testJDBC(url, "system", systemPassword); + if (pass) + log.info("OK: Connection = " + url); + else + log.warning("Cannot connect via Net8: " + url); + } + log.info("OCI Test Skipped"); + + // + m_con = null; + return null; + } // test + + + /** + * Test JDBC Connection to Server + * @param url connection string + * @param uid user id + * @param pwd password + * @return true if OK + */ + private boolean testJDBC (String url, String uid, String pwd) + { + log.fine("Url=" + url + ", UID=" + uid); + try + { + if (s_oracleDriver == null) + { + s_oracleDriver = new OracleDriver(); + DriverManager.registerDriver(s_oracleDriver); + } + m_con = DriverManager.getConnection(url, uid, pwd); + } + catch (UnsatisfiedLinkError ule) + { + log.warning("Check [ORACLE_HOME]/jdbc/Readme.txt for (OCI) driver setup"); + log.warning(ule.toString()); + } + catch (Exception e) + { + log.severe(e.toString()); + return false; + } + return true; + } // testJDBC + + /** + * Test TNS Connection + * @param sqlplus sqlplus command line + * @return true if OK + */ + private boolean testSQL (String sqlplus) + { + StringBuffer sbOut = new StringBuffer(); + StringBuffer sbErr = new StringBuffer(); + int result = -1; + try + { + Process p = Runtime.getRuntime().exec (sqlplus); + InputStream in = p.getInputStream(); + int c; + while ((c = in.read()) != -1) + { + sbOut.append((char)c); + System.out.print((char)c); + } + in.close(); + in = p.getErrorStream(); + while ((c = in.read()) != -1) + sbErr.append((char)c); + in.close(); + // Get result + try + { + Thread.yield(); + result = p.exitValue(); + } + catch (Exception e) // Timing issue on Solaris. + { + Thread.sleep(200); // .2 sec + result = p.exitValue(); + } + } + catch (Exception ex) + { + log.severe(ex.toString()); + } + log.finer(sbOut.toString()); + if (sbErr.length() > 0) + log.warning(sbErr.toString()); + return result == 0; + } // testSQL + +} // ConfigOracle diff --git a/install/src/org/compiere/install/ConfigPostgreSQL.java b/install/src/org/compiere/install/ConfigPostgreSQL.java new file mode 100755 index 0000000000..4085da5a3a --- /dev/null +++ b/install/src/org/compiere/install/ConfigPostgreSQL.java @@ -0,0 +1,199 @@ +/****************************************************************************** + * The contents of this file are subject to the Compiere License Version 1.1 + * ("License"); You may not use this file except in compliance with the License + * You may obtain a copy of the License at http://www.compiere.org/license.html + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for + * the specific language governing rights and limitations under the License. + * The Original Code is Compiere ERP & CRM Business Solution + * The Initial Developer of the Original Code is Jorg Janke and ComPiere, Inc. + * Portions created by Jorg Janke are Copyright (C) 1999-2005 Jorg Janke, parts + * created by ComPiere are Copyright (C) ComPiere, Inc.; All Rights Reserved. + * Portions created by Victor Perez are Copyright (C) 1999-2005 e-Evolution,S.C + * Contributor(s): Victor Perez + *****************************************************************************/ +package org.compiere.install; + +import java.net.*; +import java.sql.*; +import org.compiere.db.*; + +/** + * PostgreSQL Configuration + * + * @author Victor Perez e-Evolution + * @version $Id: ConfigPostgreSQL.java,v 1.0 2005/01/31 06:08:15 vpj-cd Exp $ + */ +public class ConfigPostgreSQL extends Config +{ + + /** + * ConfigPostgreSQL + * @param data + */ + public ConfigPostgreSQL (ConfigurationData data) + { + super (data); + } // ConfigSybase + + /** Discoverd TNS */ + private String[] p_discovered = null; + /** Sybase DB Info */ + private DB_PostgreSQL p_db = new DB_PostgreSQL(); + + /** + * Init + */ + public void init() + { + p_data.setDatabasePort(String.valueOf(DB_PostgreSQL.DEFAULT_PORT)); + } // init + + /** + * Discover Databases. + * To be overwritten by database configs + * @param selected selected database + * @return array of databases + */ + public String[] discoverDatabases(String selected) + { + if (p_discovered != null) + return p_discovered; + p_discovered = new String[]{}; + return p_discovered; + } // discoveredDatabases + + + /************************************************************************** + * Test + * @return error message or null if OK + */ + public String test() + { + // Database Server + String server = p_data.getDatabaseServer(); + boolean pass = server != null && server.length() > 0 + // vpj-cd e-evolution && server.toLowerCase().indexOf("localhost") == -1 + // vpj-cd e-evolution && !server.equals("127.0.0.1"); + ; + String error = "Not correct: DB Server = " + server; + InetAddress databaseServer = null; + try + { + if (pass) + databaseServer = InetAddress.getByName(server); + } + catch (Exception e) + { + error += " - " + e.getMessage(); + pass = false; + } + signalOK(getPanel().okDatabaseServer, "ErrorDatabaseServer", + pass, true, error); + log.info("OK: Database Server = " + databaseServer); + setProperty(ConfigurationData.ADEMPIERE_DB_SERVER, databaseServer.getHostName()); + setProperty(ConfigurationData.ADEMPIERE_DB_TYPE, p_data.getDatabaseType()); + + // Database Port + int databasePort = p_data.getDatabasePort(); + pass = p_data.testPort (databaseServer, databasePort, true); + error = "DB Server Port = " + databasePort; + signalOK(getPanel().okDatabaseServer, "ErrorDatabasePort", + pass, true, error); + if (!pass) + return error; + log.info("OK: Database Port = " + databasePort); + setProperty(ConfigurationData.ADEMPIERE_DB_PORT, String.valueOf(databasePort)); + + + // JDBC Database Info + String databaseName = p_data.getDatabaseName(); // Service Name + String systemPassword = p_data.getDatabaseSystemPassword(); + + // URL (derived) jdbc:sybase:Tds:prod1:5000/prod1 + String urlSystem = p_db.getConnectionURL(databaseServer.getHostName(), databasePort, + p_db.getSystemDatabase(databaseName), p_db.getSystemUser()); + pass = testJDBC(urlSystem, p_db.getSystemUser(), systemPassword); + error = "Error connecting: " + urlSystem + + " - " + p_db.getSystemUser() + "/" + systemPassword; + signalOK(getPanel().okDatabaseSystem, "ErrorJDBC", + pass, true, error); + if (!pass) + return error; + log.info("OK: System Connection = " + urlSystem); + setProperty(ConfigurationData.ADEMPIERE_DB_SYSTEM, systemPassword); + + + // Database User Info + String databaseUser = p_data.getDatabaseUser(); // UID + String databasePassword = p_data.getDatabasePassword(); // PWD + pass = databasePassword != null && databasePassword.length() > 0; + error = "Invalid Database User Password"; + signalOK(getPanel().okDatabaseUser, "ErrorJDBC", + pass, true, error); + if (!pass) + return error; + // + String url= p_db.getConnectionURL(databaseServer.getHostName(), databasePort, + databaseName, databaseUser); + // Ignore result as it might not be imported + pass = testJDBC(url, databaseUser, databasePassword); + error = "Database imported? Cannot connect to User: " + databaseUser + "/" + databasePassword; + signalOK(getPanel().okDatabaseUser, "ErrorJDBC", + pass, false, error); + if (pass) + log.info("OK: Database User = " + databaseUser); + else + log.warning(error); + setProperty(ConfigurationData.ADEMPIERE_DB_URL, url); + setProperty(ConfigurationData.ADEMPIERE_DB_NAME, databaseName); + setProperty(ConfigurationData.ADEMPIERE_DB_USER, databaseUser); + setProperty(ConfigurationData.ADEMPIERE_DB_PASSWORD, databasePassword); + + /** + // TNS Name Info + String sqlplus = "sqlplus system/" + systemPassword + "@" + databaseName + + " @utils/oracle/Test.sql"; + log.config(sqlplus); + pass = testSQL(sqlplus); + error = "Error connecting via: " + sqlplus; + signalOK(getPanel().okDatabaseSQL, "ErrorTNS", + pass, true, error); + if (pass) + log.info("OK: Database SQL Connection"); + + // OCI Test + url = "jdbc:oracle:oci8:@" + databaseName; + pass = testJDBC(url, "system", systemPassword); + if (pass) + log.info("OK: Connection = " + url); + else + log.warning("Cannot connect via Net8: " + url); + setProperty(ConfigurationData.COMPIERE_DB_TNS, databaseName); + + **/ + return null; + } // test + + /** + * Test JDBC Connection to Server + * @param url connection string + * @param uid user id + * @param pwd password + * @return true if OK + */ + private boolean testJDBC (String url, String uid, String pwd) + { + try + { + Connection conn = p_db.getDriverConnection(url, uid, pwd); + } + catch (Exception e) + { + log.severe(e.toString()); + return false; + } + return true; + } // testJDBC + +} // ConfigPostgreSQL diff --git a/install/src/org/compiere/install/ConfigTomcat.java b/install/src/org/compiere/install/ConfigTomcat.java new file mode 100644 index 0000000000..89965f7818 --- /dev/null +++ b/install/src/org/compiere/install/ConfigTomcat.java @@ -0,0 +1,149 @@ +/****************************************************************************** + * 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.install; + +import java.io.*; +import java.net.*; + +/** + * Tomcat 5.5.9 Configuration + * + * @author Jorg Janke + * @version $Id: ConfigTomcat.java,v 1.3 2006/07/30 00:57:42 jjanke Exp $ + */ +public class ConfigTomcat extends Config +{ + /** + * ConfigJBoss + * @param data configuration + */ + public ConfigTomcat (ConfigurationData data) + { + super (data); + } // ConfigTomcat + + /** + * Initialize + */ + public void init() + { + p_data.setAppsServerDeployDir(getDeployDir()); + p_data.setAppsServerDeployDir(true); + // + p_data.setAppsServerJNPPort("1099"); + p_data.setAppsServerJNPPort(false); + // + p_data.setAppsServerWebPort("80"); + p_data.setAppsServerWebPort(true); + p_data.setAppsServerSSLPort("443"); + p_data.setAppsServerSSLPort(true); + } // init + + /** + * Get Notes + * @return notes + */ + public String getNotes() + { + return "Adempiere requires Tomcat 5.5.9" + + "\nPlease set the Web Port in $CATALINA_HOME//conf//server.xml" + // C:\Program Files\Apache Software Foundation\Tomcat 5.5\conf\server.xml + + "\n"; + } // getNotes + + + /** + * Get Deployment Dir + * @return deployment dir + */ + private String getDeployDir() + { + return "C:" + + File.separator + "Program Files" + + File.separator + "Apache Software Foundation" + + File.separator + "Tomcat 5.5"; + } // getDeployDir + + /** + * Test + * @return error message or null if OK + */ + public String test() + { + // AppsServer + String server = p_data.getAppsServer(); + boolean pass = server != null && server.length() > 0 + && server.toLowerCase().indexOf("localhost") == -1 + && !server.equals("127.0.0.1"); + InetAddress appsServer = null; + String error = "Not correct: AppsServer = " + server; + try + { + if (pass) + appsServer = InetAddress.getByName(server); + } + catch (Exception e) + { + error += " - " + e.getMessage(); + pass = false; + } + signalOK(getPanel().okAppsServer, "ErrorAppsServer", + pass, true, error); + if (!pass) + return error; + log.info("OK: AppsServer = " + appsServer); + setProperty(ConfigurationData.ADEMPIERE_APPS_SERVER, appsServer.getHostName()); + setProperty(ConfigurationData.ADEMPIERE_APPS_TYPE, p_data.getAppsServerType()); + + // Deployment Dir + File deploy = new File (p_data.getAppsServerDeployDir()); + pass = deploy.exists(); + error = "CATALINA_HOME Not found: " + deploy; + signalOK(getPanel().okDeployDir, "ErrorDeployDir", + pass, true, error); + if (!pass) + return error; + setProperty(ConfigurationData.ADEMPIERE_APPS_DEPLOY, p_data.getAppsServerDeployDir()); + log.info("OK: Deploy Directory = " + deploy); + + String baseDir = p_data.getAppsServerDeployDir(); + if (!baseDir.endsWith(File.separator)) + baseDir += File.separator; + // Need to have /shared/lib + String sharedLib = baseDir + "shared" + File.separator + "lib"; + File sharedLibDir = new File (sharedLib); + pass = sharedLibDir.exists(); + error = "Not found (shared library): " + sharedLib; + signalOK(getPanel().okDeployDir, "ErrorDeployDir", + pass, true, error); + if (!pass) + return error; + + // Need to have /webapps + String webApps = baseDir + "webapps"; + File webAppsDir = new File (webApps); + pass = webAppsDir.exists(); + error = "Not found (webapps): " + sharedLib; + signalOK(getPanel().okDeployDir, "ErrorDeployDir", + pass, true, error); + if (!pass) + return error; + // + return null; + } // test + +} // ConfigTomcat diff --git a/install/src/org/compiere/install/ConfigVMMac.java b/install/src/org/compiere/install/ConfigVMMac.java new file mode 100644 index 0000000000..9387948fc2 --- /dev/null +++ b/install/src/org/compiere/install/ConfigVMMac.java @@ -0,0 +1,114 @@ +/****************************************************************************** + * 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.install; + +import java.io.*; +import org.compiere.util.*; + + +/** + * Appla Mac Java VM Configuration + * + * @author Jorg Janke + * @version $Id: ConfigVMMac.java,v 1.3 2006/07/30 00:57:42 jjanke Exp $ + */ +public class ConfigVMMac extends Config +{ + /** + * ConfigVMMac + * @param data configuration + */ + public ConfigVMMac (ConfigurationData data) + { + super (data); + } // ConfigVMMac + + /** + * Init + */ + public void init() + { + // Java Home, e.g. D:\j2sdk1.4.1\jre + String javaHome = System.getProperty("java.home"); + log.fine(javaHome); + if (javaHome.endsWith("jre")) + javaHome = javaHome.substring(0, javaHome.length()-4); + p_data.setJavaHome(javaHome); + } // init + + /** + * Test + * @return error message or null of OK + */ + public String test() + { + // Java Home + File javaHome = new File (p_data.getJavaHome()); + boolean pass = javaHome.exists(); + String error = "Not found: Java Home"; + signalOK(getPanel().okJavaHome, "ErrorJavaHome", + pass, true, error); + if (!pass) + return error; + /** Different VM structure + File tools = new File (p_data.getJavaHome() + + File.separator + "lib" + File.separator + "tools.jar"); + pass = tools.exists(); + error = "Not found: Java SDK = " + tools; + signalOK(getPanel().okJavaHome, "ErrorJavaHome", + pass, true, error); + if (!pass) + return error; + **/ + if (CLogMgt.isLevelFinest()) + CLogMgt.printProperties(System.getProperties(), "System", true); + // + log.info("OK: JavaHome=" + javaHome.getAbsolutePath()); + setProperty(ConfigurationData.JAVA_HOME, javaHome.getAbsolutePath()); + System.setProperty(ConfigurationData.JAVA_HOME, javaHome.getAbsolutePath()); + + // Java Version + final String VERSION = "1.5.0"; + final String VERSION2 = "1.6.0"; + pass = false; + String jh = javaHome.getAbsolutePath(); + if (jh.indexOf(VERSION) != -1) // file name has version = assuming OK + pass = true; + if (!pass && jh.indexOf(VERSION2) != -1) // + pass = true; + String thisJH = System.getProperty("java.home"); + if (thisJH.indexOf(jh) != -1) // we are running the version currently + { + String thisJV = System.getProperty("java.version"); + pass = thisJV.indexOf(VERSION) != -1; + if (!pass && thisJV.indexOf(VERSION2) != -1) + pass = true; + if (pass) + log.info("OK: Version=" + thisJV); + } + error = "Wrong Java Version: Should be " + VERSION2; + signalOK(getPanel().okJavaHome, "ErrorJavaHome", + pass, true, error); + if (!pass) + return error; + // + setProperty(ConfigurationData.JAVA_TYPE, p_data.getJavaType()); + + return null; + } // test + +} // ConfigVMMac diff --git a/install/src/org/compiere/install/ConfigVMSun.java b/install/src/org/compiere/install/ConfigVMSun.java new file mode 100644 index 0000000000..30c3d6b9dc --- /dev/null +++ b/install/src/org/compiere/install/ConfigVMSun.java @@ -0,0 +1,115 @@ +/****************************************************************************** + * 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.install; + +import java.io.*; +import org.compiere.util.*; + + +/** + * Sun Java VM Configuration + * + * @author Jorg Janke + * @version $Id: ConfigVMSun.java,v 1.3 2006/07/30 00:57:42 jjanke Exp $ + */ +public class ConfigVMSun extends Config +{ + /** + * ConfigVMSun + * @param data configuration + */ + public ConfigVMSun (ConfigurationData data) + { + super (data); + } // ConfigVMSun + + /** + * Init + */ + public void init() + { + // Java Home, e.g. D:\j2sdk1.4.1\jre + String javaHome = System.getProperty("java.home"); + log.fine(javaHome); + if (javaHome.endsWith("jre")) + javaHome = javaHome.substring(0, javaHome.length()-4); + p_data.setJavaHome(javaHome); + } // init + + /** + * Test + * @return error message or null of OK + */ + public String test() + { + // Java Home + File javaHome = new File (p_data.getJavaHome()); + boolean pass = javaHome.exists(); + String error = "Not found: Java Home"; + signalOK(getPanel().okJavaHome, "ErrorJavaHome", + pass, true, error); + if (!pass) + return error; + // Look for tools.jar to make sure that it is not the JRE + File tools = new File (p_data.getJavaHome() + + File.separator + "lib" + File.separator + "tools.jar"); + pass = tools.exists(); + error = "Not found: Java SDK = " + tools; + signalOK(getPanel().okJavaHome, "ErrorJavaHome", + pass, true, error); + if (!pass) + return error; + // + if (CLogMgt.isLevelFinest()) + CLogMgt.printProperties(System.getProperties(), "System", true); + // + log.info("OK: JavaHome=" + javaHome.getAbsolutePath()); + setProperty(ConfigurationData.JAVA_HOME, javaHome.getAbsolutePath()); + System.setProperty(ConfigurationData.JAVA_HOME, javaHome.getAbsolutePath()); + + + // Java Version + final String VERSION = "1.5.0"; + final String VERSION2 = "1.6.0"; // The real one + pass = false; + String jh = javaHome.getAbsolutePath(); + if (jh.indexOf(VERSION) != -1) // file name has version = assuming OK + pass = true; + if (!pass && jh.indexOf(VERSION2) != -1) // + pass = true; + String thisJH = System.getProperty("java.home"); + if (thisJH.indexOf(jh) != -1) // we are running the version currently + { + String thisJV = System.getProperty("java.version"); + pass = thisJV.indexOf(VERSION) != -1; + if (!pass && thisJV.indexOf(VERSION2) != -1) + pass = true; + if (pass) + log.info("OK: Version=" + thisJV); + } + error = "Wrong Java Version: Should be " + VERSION2; + signalOK(getPanel().okJavaHome, "ErrorJavaHome", + pass, true, error); + if (!pass) + return error; + // + setProperty(ConfigurationData.JAVA_TYPE, p_data.getJavaType()); + + return null; + } // test + +} // ConfigVMSun diff --git a/install/src/org/compiere/install/ConfigurationData.java b/install/src/org/compiere/install/ConfigurationData.java new file mode 100644 index 0000000000..1fc0becf3b --- /dev/null +++ b/install/src/org/compiere/install/ConfigurationData.java @@ -0,0 +1,1344 @@ +/****************************************************************************** + * 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.install; + +import java.io.*; +import java.net.*; +import java.util.*; +import java.util.logging.*; +import javax.mail.*; +import javax.mail.internet.*; +import javax.swing.*; + +import org.compiere.*; +import org.compiere.db.*; +import org.compiere.util.*; + + +/** + * Configuration Data + * + * @author Jorg Janke + * @version $Id: ConfigurationData.java,v 1.4 2006/07/30 00:57:42 jjanke Exp $ + */ +public class ConfigurationData +{ + /** + * Constructor + * @param panel UI panel + */ + public ConfigurationData (ConfigurationPanel panel) + { + super (); + p_panel = panel; + } // ConfigurationData + + /** UI Panel */ + protected ConfigurationPanel p_panel = null; + /** Environment Properties */ + protected Properties p_properties = new Properties(); + /** Adempiere Home */ + private File m_adempiereHome; + + + /** Static Logger */ + static CLogger log = CLogger.getCLogger (ConfigurationData.class); + + + /** Properties File name */ + public static final String ADEMPIERE_ENV_FILE = "AdempiereEnv.properties"; + + /** Adempiere Home */ + public static final String ADEMPIERE_HOME = "ADEMPIERE_HOME"; + /** */ + public static final String JAVA_HOME = "JAVA_HOME"; + /** */ + public static final String JAVA_TYPE = "ADEMPIERE_JAVA_TYPE"; + /** */ + public static final String ADEMPIERE_JAVA_OPTIONS = "ADEMPIERE_JAVA_OPTIONS"; + /** Default Keysore Password */ + public static final String KEYSTORE_PASSWORD = "myPassword"; + + /** */ + public static final String ADEMPIERE_APPS_TYPE = "ADEMPIERE_APPS_TYPE"; + /** */ + public static final String ADEMPIERE_APPS_SERVER = "ADEMPIERE_APPS_SERVER"; + /** */ + public static final String ADEMPIERE_APPS_DEPLOY = "ADEMPIERE_APPS_DEPLOY"; + /** */ + public static final String ADEMPIERE_JNP_PORT = "ADEMPIERE_JNP_PORT"; + /** */ + public static final String ADEMPIERE_WEB_PORT = "ADEMPIERE_WEB_PORT"; + /** */ + public static final String ADEMPIERE_SSL_PORT = "ADEMPIERE_SSL_PORT"; + /** */ + public static final String ADEMPIERE_WEB_ALIAS = "ADEMPIERE_WEB_ALIAS"; + + /** */ + public static final String ADEMPIERE_KEYSTORE = "ADEMPIERE_KEYSTORE"; + /** */ + public static final String ADEMPIERE_KEYSTOREPASS = "ADEMPIERE_KEYSTOREPASS"; + /** */ + public static final String ADEMPIERE_KEYSTORECODEALIAS = "ADEMPIERE_KEYSTORECODEALIAS"; + /** */ + public static final String ADEMPIERE_KEYSTOREWEBALIAS = "ADEMPIERE_KEYSTOREWEBALIAS"; + + /** */ + public static final String ADEMPIERE_DB_TYPE = "ADEMPIERE_DB_TYPE"; + /** */ + public static final String ADEMPIERE_DB_SERVER = "ADEMPIERE_DB_SERVER"; + /** */ + public static final String ADEMPIERE_DB_PORT = "ADEMPIERE_DB_PORT"; + /** */ + public static final String ADEMPIERE_DB_NAME = "ADEMPIERE_DB_NAME"; + /** */ + public static final String ADEMPIERE_DB_URL = "ADEMPIERE_DB_URL"; + + /** */ + public static final String ADEMPIERE_DB_USER = "ADEMPIERE_DB_USER"; + /** */ + public static final String ADEMPIERE_DB_PASSWORD = "ADEMPIERE_DB_PASSWORD"; + /** */ + public static final String ADEMPIERE_DB_SYSTEM = "ADEMPIERE_DB_SYSTEM"; + + /** */ + public static final String ADEMPIERE_MAIL_SERVER = "ADEMPIERE_MAIL_SERVER"; + /** */ + public static final String ADEMPIERE_MAIL_USER = "ADEMPIERE_MAIL_USER"; + /** */ + public static final String ADEMPIERE_MAIL_PASSWORD = "ADEMPIERE_MAIL_PASSWORD"; + /** */ + public static final String ADEMPIERE_ADMIN_EMAIL = "ADEMPIERE_ADMIN_EMAIL"; + /** */ + public static final String ADEMPIERE_MAIL_UPDATED = "ADEMPIERE_MAIL_UPDATED"; + + /** */ + public static final String ADEMPIERE_FTP_SERVER = "ADEMPIERE_FTP_SERVER"; + /** */ + public static final String ADEMPIERE_FTP_USER = "ADEMPIERE_FTP_USER"; + /** */ + public static final String ADEMPIERE_FTP_PASSWORD = "ADEMPIERE_FTP_PASSWORD"; + /** */ + public static final String ADEMPIERE_FTP_PREFIX = "ADEMPIERE_FTP_PREFIX"; + + /** */ + public static final String ADEMPIERE_WEBSTORES = "ADEMPIERE_WEBSTORES"; + + + + /** + * Load Configuration Data + * @return true if loaded + */ + public boolean load() + { + // Load C:\Adempiere\AdempiereEnv.properties + String adempiereHome = System.getProperty(ADEMPIERE_HOME); + if (adempiereHome == null || adempiereHome.length() == 0) + adempiereHome = System.getProperty("user.dir"); + + boolean envLoaded = false; + String fileName = adempiereHome + File.separator + ADEMPIERE_ENV_FILE; + File env = new File (fileName); + if (env.exists()) + { + try + { + FileInputStream fis = new FileInputStream(env); + p_properties.load(fis); + fis.close(); + } + catch (Exception e) + { + log.severe(e.toString()); + } + log.info(env.toString()); + if (p_properties.size() > 5) + envLoaded = true; + // + setJavaType((String)p_properties.get(JAVA_TYPE)); + initJava(); + setJavaHome((String)p_properties.get(JAVA_HOME)); + // + setAdempiereHome((String)p_properties.get(ADEMPIERE_HOME)); + String s = (String)p_properties.get(ADEMPIERE_KEYSTOREPASS); + if (s == null || s.length() == 0) + s = KEYSTORE_PASSWORD; + setKeyStore(s); + // + setAppsServerType((String)p_properties.get(ADEMPIERE_APPS_TYPE)); + initAppsServer(); + setAppsServer((String)p_properties.get(ADEMPIERE_APPS_SERVER)); + setAppsServerDeployDir((String)p_properties.get(ADEMPIERE_APPS_DEPLOY)); + setAppsServerJNPPort((String)p_properties.get(ADEMPIERE_JNP_PORT)); + setAppsServerWebPort((String)p_properties.get(ADEMPIERE_WEB_PORT)); + setAppsServerSSLPort((String)p_properties.get(ADEMPIERE_SSL_PORT)); + // + setDatabaseType((String)p_properties.get(ADEMPIERE_DB_TYPE)); + initDatabase((String)p_properties.get(ADEMPIERE_DB_NAME)); // fills Database Options + setDatabaseDiscovered((String)p_properties.get(ADEMPIERE_DB_NAME)); + setDatabaseServer((String)p_properties.get(ADEMPIERE_DB_SERVER)); + setDatabasePort((String)p_properties.get(ADEMPIERE_DB_PORT)); + setDatabaseName((String)p_properties.get(ADEMPIERE_DB_NAME)); + + setDatabaseUser((String)p_properties.get(ADEMPIERE_DB_USER)); + setDatabasePassword((String)p_properties.get(ADEMPIERE_DB_PASSWORD)); + setDatabaseSystemPassword((String)p_properties.get(ADEMPIERE_DB_SYSTEM)); + + p_panel.fMailServer.setText((String)p_properties.get(ADEMPIERE_MAIL_SERVER)); + p_panel.fMailUser.setText((String)p_properties.get(ADEMPIERE_MAIL_USER)); + p_panel.fMailPassword.setText((String)p_properties.get(ADEMPIERE_MAIL_PASSWORD)); + p_panel.fAdminEMail.setText((String)p_properties.get(ADEMPIERE_ADMIN_EMAIL)); + } + + InetAddress localhost = null; + String hostName = "unknown"; + try + { + localhost = InetAddress.getLocalHost(); + hostName = localhost.getHostName(); + } + catch (Exception e) + { + log.severe("Cannot get local host name"); + } + + // No environment file found - defaults + // envLoaded = false; + if (!envLoaded) + { + log.info("Defaults"); + initJava(); + // + setAdempiereHome(adempiereHome); + setKeyStore(KEYSTORE_PASSWORD); + // AppsServer + initAppsServer(); + setAppsServer(hostName); + // Database Server + initDatabase(""); + setDatabaseName(getDatabaseDiscovered()); + setDatabaseSystemPassword(""); + setDatabaseServer(hostName); + setDatabaseUser("adempiere"); + setDatabasePassword("adempiere"); + // Mail Server + p_panel.fMailServer.setText(hostName); + p_panel.fMailUser.setText("info"); + p_panel.fMailPassword.setText(""); + p_panel.fAdminEMail.setText("info@" + hostName); + // + } // !envLoaded + + // Default FTP stuff + if (!p_properties.containsKey(ADEMPIERE_FTP_SERVER)) + { + p_properties.setProperty(ADEMPIERE_FTP_SERVER, "localhost"); + p_properties.setProperty(ADEMPIERE_FTP_USER, "anonymous"); + p_properties.setProperty(ADEMPIERE_FTP_PASSWORD, "user@host.com"); + p_properties.setProperty(ADEMPIERE_FTP_PREFIX, "my"); + } + // Default Java Options + if (!p_properties.containsKey(ADEMPIERE_JAVA_OPTIONS)) + p_properties.setProperty(ADEMPIERE_JAVA_OPTIONS, "-Xms64M -Xmx512M"); + // Web Alias + if (!p_properties.containsKey(ADEMPIERE_WEB_ALIAS) && localhost != null) + p_properties.setProperty(ADEMPIERE_WEB_ALIAS, localhost.getCanonicalHostName()); + + // (String)p_properties.get(ADEMPIERE_DB_URL) // derived + + // Keystore Alias + if (!p_properties.containsKey(ADEMPIERE_KEYSTORECODEALIAS)) + p_properties.setProperty(ADEMPIERE_KEYSTORECODEALIAS, "adempiere"); + if (!p_properties.containsKey(ADEMPIERE_KEYSTOREWEBALIAS)) + p_properties.setProperty(ADEMPIERE_KEYSTOREWEBALIAS, "adempiere"); + + return true; + } // load + + + /************************************************************************** + * test + * @return true if test ok + */ + public boolean test() + { + String error = testJava(); + if (error != null) + { + log.severe(error); + return false; + } + + error = testAdempiere(); + if (error != null) + { + log.severe(error); + return false; + } + + p_panel.setStatusBar(p_panel.lAppsServer.getText()); + error = testAppsServer(); + if (error != null) + { + log.severe(error); + return false; + } + + p_panel.setStatusBar(p_panel.lDatabaseServer.getText()); + error = testDatabase(); + if (error != null) + { + log.severe(error); + return false; + } + + p_panel.setStatusBar(p_panel.lMailServer.getText()); + error = testMail(); + if (error != null) + { + log.severe(error); + return false; + } + + return true; + } // test + + + /** + * Test Adempiere and set AdempiereHome + * @return error message or null if OK + */ + private String testAdempiere() + { + // Adempiere Home + m_adempiereHome = new File (getAdempiereHome()); + boolean pass =m_adempiereHome.exists(); + String error = "Not found: AdempiereHome = " + m_adempiereHome; + p_panel.signalOK(p_panel.okAdempiereHome, "ErrorAdempiereHome", + pass, true, error); + if (!pass) + return error; + log.info("OK: AdempiereHome = " + m_adempiereHome); + p_properties.setProperty(ADEMPIERE_HOME, m_adempiereHome.getAbsolutePath()); + System.setProperty(ADEMPIERE_HOME, m_adempiereHome.getAbsolutePath()); + + // KeyStore + String fileName = KeyStoreMgt.getKeystoreFileName(m_adempiereHome.getAbsolutePath()); + p_properties.setProperty(ADEMPIERE_KEYSTORE, fileName); + + // KeyStore Password + String pw = new String(p_panel.fKeyStore.getPassword()); + pass = pw != null && pw.length() > 0; + error = "Invalid Key Store Password = " + pw; + p_panel.signalOK(p_panel.okKeyStore, "KeyStorePassword", + pass, true, error); + if (!pass) + return error; + p_properties.setProperty(ADEMPIERE_KEYSTOREPASS, pw); + KeyStoreMgt ks = new KeyStoreMgt (fileName, p_panel.fKeyStore.getPassword()); + error = ks.verify((JFrame)SwingUtilities.getWindowAncestor(p_panel)); + pass = error == null; + p_panel.signalOK(p_panel.okKeyStore, "KeyStorePassword", + pass, true, error); + if (!pass) + return error; + log.info("OK: KeyStore = " + fileName); + return null; + } // testAdempiere + + + /************************************************************************** + * Test (optional) Mail + * @return error message or null, if OK + */ + private String testMail() + { + // Mail Server + String server = p_panel.fMailServer.getText(); + boolean pass = server != null && server.length() > 0 + && server.toLowerCase().indexOf("localhost") == -1 + && !server.equals("127.0.0.1"); + String error = "Error Mail Server = " + server; + InetAddress mailServer = null; + try + { + if (pass) + mailServer = InetAddress.getByName(server); + } + catch (Exception e) + { + error += " - " + e.getMessage(); + pass = false; + } + p_panel.signalOK(p_panel.okMailServer, "ErrorMailServer", + pass, true, error); + if (!pass) + { + p_properties.setProperty(ADEMPIERE_MAIL_SERVER, ""); + return error; + } + p_properties.setProperty(ADEMPIERE_MAIL_SERVER, mailServer.getHostName()); + + // Mail User + String mailUser = p_panel.fMailUser.getText(); + String mailPassword = new String(p_panel.fMailPassword.getPassword()); + // m_errorString = "ErrorMailUser"; + // log.config("Mail User = " + mailUser + "/" + mailPassword); + + // Mail Address + String adminEMailString = p_panel.fAdminEMail.getText(); + InternetAddress adminEMail = null; + try + { + adminEMail = new InternetAddress (adminEMailString); + } + catch (Exception e) + { + error = "Not valid: " + adminEMailString + " - " + e.getMessage(); + pass = false; + } + // + if (pass) + { + error = "Not verified EMail = " + adminEMail; + pass = testMailServer(mailServer, adminEMail, mailUser, mailPassword); + } + p_panel.signalOK(p_panel.okMailUser, "ErrorMail", + pass, false, error); + if (pass) + { + log.info("OK: EMail = " + adminEMail); + p_properties.setProperty(ADEMPIERE_ADMIN_EMAIL, adminEMail.toString()); + p_properties.setProperty(ADEMPIERE_MAIL_USER, mailUser); + p_properties.setProperty(ADEMPIERE_MAIL_PASSWORD, mailPassword); + p_properties.setProperty(ADEMPIERE_MAIL_UPDATED, "No"); + } + else + { + log.warning(error); + p_properties.setProperty(ADEMPIERE_ADMIN_EMAIL, ""); + p_properties.setProperty(ADEMPIERE_MAIL_USER, ""); + p_properties.setProperty(ADEMPIERE_MAIL_PASSWORD, ""); + p_properties.setProperty(ADEMPIERE_MAIL_UPDATED, ""); + } + return null; + } // testMail + + /** + * Test Mail + * @param mailServer mail server + * @param adminEMail email of admin + * @param mailUser user ID + * @param mailPassword password + * @return true of OK + */ + private boolean testMailServer(InetAddress mailServer, InternetAddress adminEMail, + String mailUser, String mailPassword) + { + boolean smtpOK = false; + boolean imapOK = false; + if (testPort (mailServer, 25, true)) + { + log.config("OK: SMTP Server contacted"); + smtpOK = true; + } + else + log.info("SMTP Server NOT available"); + // + if (testPort (mailServer, 110, true)) + log.config("OK: POP3 Server contacted"); + else + log.info("POP3 Server NOT available"); + if (testPort (mailServer, 143, true)) + { + log.config("OK: IMAP4 Server contacted"); + imapOK = true; + } + else + log.info("IMAP4 Server NOT available"); + // + if (!smtpOK) + { + String error = "No active Mail Server"; + p_panel.signalOK (p_panel.okMailServer, "ErrorMailServer", + false, false, error); + log.warning(error); + return false; + } + // + try + { + EMail email = new EMail (new Properties(), + mailServer.getHostName (), + adminEMail.toString (), adminEMail.toString(), + "Adempiere Server Setup Test", + "Test: " + getProperties()); + email.createAuthenticator (mailUser, mailPassword); + if (EMail.SENT_OK.equals (email.send ())) + { + log.info("OK: Send Test Email to " + adminEMail); + } + else + { + log.warning("Could NOT send Email to " + adminEMail); + } + } + catch (Exception ex) + { + log.severe(ex.getLocalizedMessage()); + return false; + } + + // + if (!imapOK) + return false; + + // Test Read Mail Access + Properties props = new Properties(); + props.put("mail.store.protocol", "smtp"); + props.put("mail.transport.protocol", "smtp"); + props.put("mail.host", mailServer.getHostName()); + props.put("mail.user", mailUser); + props.put("mail.smtp.auth", "true"); + log.config("Connecting to " + mailServer.getHostName()); + // + Session session = null; + Store store = null; + try + { + EMailAuthenticator auth = new EMailAuthenticator (mailUser, mailPassword); + session = Session.getDefaultInstance(props, auth); + session.setDebug (CLogMgt.isLevelFinest()); + log.config("Session=" + session); + // Connect to Store + store = session.getStore("imap"); + log.config("Store=" + store); + } + catch (NoSuchProviderException nsp) + { + log.warning("Mail IMAP Provider - " + nsp.getMessage()); + return false; + } + catch (Exception e) + { + log.warning("Mail IMAP - " + e.getMessage()); + return false; + } + try + { + store.connect(mailServer.getHostName(), mailUser, mailPassword); + log.config("Store - connected"); + Folder folder = store.getDefaultFolder(); + Folder inbox = folder.getFolder("INBOX"); + log.info("OK: Mail Connect to " + inbox.getFullName() + " #Msg=" + inbox.getMessageCount()); + // + store.close(); + } + catch (MessagingException mex) + { + log.severe("Mail Connect " + mex.getMessage()); + return false; + } + return true; + } // testMailServer + + + /************************************************************************** + * Test Apps Server Port (client perspective) + * @param protocol protocol (http, ..) + * @param server server name + * @param port port + * @param file file name + * @return true if able to connect + */ + protected boolean testPort (String protocol, String server, int port, String file) + { + URL url = null; + try + { + url = new URL (protocol, server, port, file); + } + catch (MalformedURLException ex) + { + log.severe("No URL for Protocol=" + protocol + + ", Server=" + server + + ": " + ex.getMessage()); + return false; + } + try + { + URLConnection c = url.openConnection(); + Object o = c.getContent(); + log.severe("In use=" + url); // error + } + catch (Exception ex) + { + log.fine("Not used=" + url); // ok + return false; + } + return true; + } // testPort + + /** + * Test Server Port + * @param port port + * @return true if able to create + */ + protected boolean testServerPort (int port) + { + try + { + ServerSocket ss = new ServerSocket (port); + log.fine(ss.getInetAddress() + ":" + ss.getLocalPort() + " - created"); + ss.close(); + } + catch (Exception ex) + { + log.severe("Port " + port + ": " + ex.getMessage()); + return false; + } + return true; + } // testPort + + + /** + * Test Port + * @param host host + * @param port port + * @param shouldBeUsed true if it should be used + * @return true if some server answered on port + */ + protected boolean testPort (InetAddress host, int port, boolean shouldBeUsed) + { + Socket pingSocket = null; + try + { + pingSocket = new Socket(host, port); + } + catch (Exception e) + { + if (shouldBeUsed) + log.severe("Open Socket " + host + ":" + port + " - " + e.getMessage()); + else + log.fine(host + ":" + port + " - " + e.getMessage()); + return false; + } + if (!shouldBeUsed) + log.severe("Open Socket " + host + ":" + port + " - " + pingSocket); + + log.fine(host + ":" + port + " - " + pingSocket); + if (pingSocket == null) + return false; + // success + try + { + pingSocket.close(); + } + catch (IOException e) + { + log.severe("close socket=" + e.toString()); + } + return true; + } // testPort + + + /************************************************************************** + * Save Settings + * @return true if saved + */ + public boolean save() + { + // Add + p_properties.setProperty("ADEMPIERE_MAIN_VERSION", Adempiere.MAIN_VERSION); + p_properties.setProperty("ADEMPIERE_DATE_VERSION", Adempiere.DATE_VERSION); + p_properties.setProperty("ADEMPIERE_DB_VERSION", Adempiere.DB_VERSION); + + log.finest(p_properties.toString()); + + // Before we save, load Ini + Ini.setClient(false); + String fileName = m_adempiereHome.getAbsolutePath() + File.separator + Ini.ADEMPIERE_PROPERTY_FILE; + Ini.loadProperties(fileName); + + // Save Environment + fileName = m_adempiereHome.getAbsolutePath() + File.separator + ADEMPIERE_ENV_FILE; + try + { + FileOutputStream fos = new FileOutputStream(new File(fileName)); + p_properties.store(fos, ADEMPIERE_ENV_FILE); + fos.flush(); + fos.close(); + } + catch (Exception e) + { + log.severe("Cannot save Properties to " + fileName + " - " + e.toString()); + JOptionPane.showConfirmDialog(p_panel, + ConfigurationPanel.res.getString("ErrorSave"), + ConfigurationPanel.res.getString("AdempiereServerSetup"), + JOptionPane.DEFAULT_OPTION, JOptionPane.ERROR_MESSAGE); + return false; + } + catch (Throwable t) + { + log.severe("Cannot save Properties to " + fileName + " - " + t.toString()); + JOptionPane.showConfirmDialog(p_panel, + ConfigurationPanel.res.getString("ErrorSave"), + ConfigurationPanel.res.getString("AdempiereServerSetup"), + JOptionPane.DEFAULT_OPTION, JOptionPane.ERROR_MESSAGE); + return false; + } + log.info(fileName); + return saveIni(); + } // save + + /** + * Synchronize and save Connection Info in Ini + * @return true + */ + private boolean saveIni() + { + Ini.setAdempiereHome(m_adempiereHome.getAbsolutePath()); + + // Create Connection + String ccType = Database.DB_ORACLE; + if (getDatabaseType().equals(DBTYPE_MS)) + ccType = Database.DB_MSSQLServer; + else if (getDatabaseType().equals(DBTYPE_DB2)) + ccType = Database.DB_DB2; + else if (getDatabaseType().equals(DBTYPE_DERBY)) + ccType = Database.DB_DERBY; + //begin vpj-cd e-evolution 03/17/2005 PostgreSQL + else if (getDatabaseType().equals(DBTYPE_POSTGRESQL)) + ccType = Database.DB_POSTGRESQL; + + //end vpj-cd e-evolution 03/17/2005 PostgreSQL + CConnection cc = null; + try + { + cc = CConnection.get (ccType, + getDatabaseServer(), getDatabasePort(), getDatabaseName(), + getDatabaseUser(), getDatabasePassword()); + cc.setAppsHost(p_panel.fAppsServer.getText()); + cc.setConnectionProfile(CConnection.PROFILE_LAN); + } + catch(Exception e) + { + log.log(Level.SEVERE, "connection", e); + return false; + } + if (cc == null) + { + log.severe("No Connection"); + return false; + } + Ini.setProperty(Ini.P_CONNECTION, cc.toStringLong()); + Ini.saveProperties(false); + return true; + } // saveIni + + + /** + * Get Properties + * @return properties + */ + Properties getProperties () + { + return p_properties; + } // getProperties + + /** + * Get Adempiere Home + * @return adempiere home + */ + public String getAdempiereHome() + { + return p_panel.fAdempiereHome.getText(); + } // getAdempiereHome + + /** + * Set Adempiere Home + * @param adempiereHome + */ + public void setAdempiereHome (String adempiereHome) + { + p_panel.fAdempiereHome.setText(adempiereHome); + } // setAdempiereHome + + /** + * Get Key Store + * @return password + */ + public String getKeyStore () + { + char[] pw = p_panel.fKeyStore.getPassword(); + if (pw != null) + return new String(pw); + return ""; + } // getKeyStore + + /** + * Set Key Store Password + * @param password + */ + public void setKeyStore (String password) + { + p_panel.fKeyStore.setText(password); + } // setKeyStore + + + /************************************************************************** + * Java Settings + *************************************************************************/ + + /** SUN VM (default) */ + private static String JAVATYPE_SUN = "sun"; + /** Apple VM */ + private static String JAVATYPE_MAC = "mac"; + /** IBM VM */ + private static String JAVATYPE_IBM = ""; + /** Java VM Types */ + static String[] JAVATYPE = new String[] + {JAVATYPE_SUN, JAVATYPE_MAC, JAVATYPE_IBM}; + /** Database Configs */ + private Config[] m_javaConfig = new Config[] + {new ConfigVMSun(this), new ConfigVMMac(this), null}; + + /** + * Init Database + */ + public void initJava() + { + int index = p_panel.fJavaType.getSelectedIndex(); + if (index < 0 || index >= JAVATYPE.length) + log.warning("JavaType Index invalid: " + index); + else if (m_javaConfig[index] == null) + { + log.warning("JavaType Config missing: " + JAVATYPE[index]); + p_panel.fJavaType.setSelectedIndex(0); + } + else + m_javaConfig[index].init(); + } // initDatabase + + /** + * Test Java + * @return error message or null of OK + */ + public String testJava() + { + int index = p_panel.fJavaType.getSelectedIndex(); + if (index < 0 || index >= JAVATYPE.length) + return "JavaType Index invalid: " + index; + else if (m_javaConfig[index] == null) + return "JavaType Config class missing: " + index; + return m_javaConfig[index].test(); + } // testJava + + /** + * Set Java Type + * @param javaType The javaType to set. + */ + public void setJavaType (String javaType) + { + int index = -1; + for (int i = 0; i < JAVATYPE.length; i++) + { + if (JAVATYPE[i].equals(javaType)) + { + index = i; + break; + } + } + if (index == -1) + { + index = 0; + log.warning("Invalid JavaType=" + javaType); + } + p_panel.fJavaType.setSelectedIndex(index); + } // setJavaType + + /** + * @return Returns the javaType. + */ + public String getJavaType () + { + return (String)p_panel.fJavaType.getSelectedItem(); + } + + /** + * @return Returns the javaHome. + */ + public String getJavaHome () + { + return p_panel.fJavaHome.getText(); + } + /** + * @param javaHome The javaHome to set. + */ + public void setJavaHome (String javaHome) + { + p_panel.fJavaHome.setText(javaHome); + } + + /************************************************************************** + * Apps Server Settings + *************************************************************************/ + + /** JBoss (default) */ + protected static String APPSTYPE_JBOSS = "jboss"; + /** Tomcat only */ + protected static String APPSTYPE_TOMCAT = "tomcatOnly"; + /** IBM WS */ + private static String APPSTYPE_IBM = ""; + /** Oracle */ + private static String APPSTYPE_ORACLE = ""; + /** Application Server Type */ + static String[] APPSTYPE = new String[] + {APPSTYPE_JBOSS, APPSTYPE_TOMCAT, + APPSTYPE_IBM, APPSTYPE_ORACLE}; + /** Database Configs */ + private Config[] m_appsConfig = new Config[] + {new ConfigJBoss(this), new ConfigTomcat(this), + null, null}; + + /** + * Init Apps Server + */ + public void initAppsServer() + { + int index = p_panel.fAppsType.getSelectedIndex(); + if (index < 0 || index >= APPSTYPE.length) + log.warning("AppsServerType Index invalid: " + index); + else if (m_appsConfig[index] == null) + { + log.warning("AppsServerType Config missing: " + APPSTYPE[index]); + p_panel.fAppsType.setSelectedIndex(0); + } + else + m_appsConfig[index].init(); + } // initAppsServer + + /** + * Test Apps Server + * @return error message or null of OK + */ + public String testAppsServer() + { + int index = p_panel.fAppsType.getSelectedIndex(); + if (index < 0 || index >= APPSTYPE.length) + return "AppsServerType Index invalid: " + index; + else if (m_appsConfig[index] == null) + return "AppsServerType Config class missing: " + index; + return m_appsConfig[index].test(); + } // testAppsServer + + + /** + * Set Apps Server Type + * @param appsType The appsType to set. + */ + public void setAppsServerType (String appsType) + { + int index = -1; + for (int i = 0; i < APPSTYPE.length; i++) + { + if (APPSTYPE[i].equals(appsType)) + { + index = i; + break; + } + } + if (index == -1) + { + index = 0; + log.warning("Invalid AppsType=" + appsType); + } + p_panel.fAppsType.setSelectedIndex(index); + } // setAppsServerType + + /** + * Get Apps Server Type + * @return Apps Server Type + */ + public String getAppsServerType () + { + return (String)p_panel.fAppsType.getSelectedItem(); + } // setDatabaseType + + /** + * @return Returns the appsServer. + */ + public String getAppsServer () + { + return p_panel.fAppsServer.getText(); + } + /** + * @param appsServer The appsServer to set. + */ + public void setAppsServer (String appsServer) + { + p_panel.fAppsServer.setText(appsServer); + } + + /** + * @return Returns the appsServerDeployDir. + */ + public String getAppsServerDeployDir () + { + return p_panel.fDeployDir.getText(); + } + /** + * @param appsServerDeployDir The appsServerDeployDir to set. + */ + public void setAppsServerDeployDir (String appsServerDeployDir) + { + p_panel.fDeployDir.setText(appsServerDeployDir); + } + /** + * @param enable if true enable entry + */ + public void setAppsServerDeployDir (boolean enable) + { + p_panel.fDeployDir.setEnabled(enable); + p_panel.bDeployDir.setEnabled(enable); + } + /** + * @return Returns the appsServerJNPPort. + */ + public int getAppsServerJNPPort () + { + try + { + return Integer.parseInt(p_panel.fJNPPort.getText()); + } + catch (Exception e) + { + setAppsServerJNPPort("0"); + } + return 0; + } + /** + * @param appsServerJNPPort The appsServerJNPPort to set. + */ + public void setAppsServerJNPPort (String appsServerJNPPort) + { + p_panel.fJNPPort.setText(appsServerJNPPort); + } + /** + * @param enable if enable JNP entry + */ + public void setAppsServerJNPPort (boolean enable) + { + p_panel.fJNPPort.setEnabled(enable); + } + /** + * @return Returns the appsServerSSLPort. + */ + public int getAppsServerSSLPort () + { + try + { + return Integer.parseInt(p_panel.fSSLPort.getText()); + } + catch (Exception e) + { + setAppsServerSSLPort("0"); + } + return 0; + } + /** + * @param appsServerSSLPort The appsServerSSLPort to set. + */ + public void setAppsServerSSLPort (String appsServerSSLPort) + { + p_panel.fSSLPort.setText(appsServerSSLPort); + } + /** + * @param enable if tre enable SSL entry + */ + public void setAppsServerSSLPort (boolean enable) + { + p_panel.fSSLPort.setEnabled(enable); + } + /** + * @return Returns the appsServerWebPort. + */ + public int getAppsServerWebPort () + { + try + { + return Integer.parseInt(p_panel.fWebPort.getText()); + } + catch (Exception e) + { + setAppsServerWebPort("0"); + } + return 0; + } + /** + * @param appsServerWebPort The appsServerWebPort to set. + */ + public void setAppsServerWebPort (String appsServerWebPort) + { + p_panel.fWebPort.setText(appsServerWebPort); + } + /** + * @param enable if tre enable Web entry + */ + public void setAppsServerWebPort (boolean enable) + { + p_panel.fWebPort.setEnabled(enable); + } + + + /************************************************************************** + * Database Settings + *************************************************************************/ + + /** Derby/Cloudscape */ + private static String DBTYPE_DERBY = "derby"; + /** Oracle directory */ + private static String DBTYPE_ORACLE = "oracle"; + /** DB/2 */ + private static String DBTYPE_DB2 = ""; + /** MS SQL Server */ + private static String DBTYPE_MS = ""; + + // begin e-evolution vpj-cd 02/07/2005 PostgreSQL + /** PostgreSQL */ + private static String DBTYPE_POSTGRESQL = "postgresql"; + private static String DBTYPE_EDB = "enterprisedb"; + // end e-evolution vpj-cd 02/07/2005 PostgreSQL + + /** Database Types */ + static String[] DBTYPE = new String[] + {//DBTYPE_DERBY, + DBTYPE_ORACLE, + //DBTYPE_DB2, + //DBTYPE_MS, + //begin e-evolution vpj-cd 02/07/2005 PostgreSQL + DBTYPE_POSTGRESQL + }; + //end e-evolution vpj-cd 02/07/2005 PostgreSQL + + /** Database Configs */ + private Config[] m_databaseConfig = new Config[] + { + //new ConfigDerby(this), + new ConfigOracle(this), + //new ConfigDB2(this), + //begin e-evolution vpj-cd 02/07/2005 PostgreSQL + //null + //null, + new ConfigPostgreSQL(this) +// new ConfigEDB(this) + // end e-evolution vpj-cd 02/07/2005 PostgreSQL + }; + + /** + * Init Database + * @param selected DB + */ + public void initDatabase(String selected) + { + int index = p_panel.fDatabaseType.getSelectedIndex(); + if (index < 0 || index >= DBTYPE.length) + log.warning("DatabaseType Index invalid: " + index); + else if (m_databaseConfig[index] == null) + { + log.warning("DatabaseType Config missing: " + DBTYPE[index]); + p_panel.fDatabaseType.setSelectedIndex(0); + } + else + { + m_databaseConfig[index].init(); + String[] databases = m_databaseConfig[index].discoverDatabases(selected); + DefaultComboBoxModel model = new DefaultComboBoxModel(databases); + p_panel.fDatabaseDiscovered.setModel(model); + p_panel.fDatabaseDiscovered.setEnabled(databases.length != 0); + } + } // initDatabase + + /** + * Test Database + * @return error message or null of OK + */ + public String testDatabase() + { + int index = p_panel.fDatabaseType.getSelectedIndex(); + if (index < 0 || index >= DBTYPE.length) + return "DatabaseType Index invalid: " + index; + else if (m_databaseConfig[index] == null) + return "DatabaseType Config class missing: " + index; + return m_databaseConfig[index].test(); + } // testDatabase + + + /** + * Set Database Type + * @param databaseType The databaseType to set. + */ + public void setDatabaseType (String databaseType) + { + int index = -1; + for (int i = 0; i < DBTYPE.length; i++) + { + if (DBTYPE[i].equals(databaseType)) + { + index = i; + break; + } + } + if (index == -1) + { + index = 0; + log.warning("Invalid DatabaseType=" + databaseType); + } + p_panel.fDatabaseType.setSelectedIndex(index); + } // setDatabaseType + + /** + * @return Returns the databaseType. + */ + public String getDatabaseType () + { + return (String)p_panel.fDatabaseType.getSelectedItem(); + } + /** + * @return Returns the database Discovered. + */ + public String getDatabaseDiscovered () + { + return (String)p_panel.fDatabaseDiscovered.getSelectedItem(); + } + /** + * @param databaseDiscovered The database Discovered to set. + */ + public void setDatabaseDiscovered (String databaseDiscovered) + { + p_panel.fDatabaseDiscovered.setSelectedItem(databaseDiscovered); + } + + /** + * @return Returns the databaseName. + */ + public String getDatabaseName () + { + return p_panel.fDatabaseName.getText(); + } + /** + * @param databaseName The databaseName to set. + */ + public void setDatabaseName (String databaseName) + { + p_panel.fDatabaseName.setText(databaseName); + } + + /** + * @return Returns the database User Password. + */ + public String getDatabasePassword () + { + char[] pw = p_panel.fDatabasePassword.getPassword(); + if (pw != null) + return new String(pw); + return ""; + } + /** + * @param databasePassword The databasePassword to set. + */ + public void setDatabasePassword (String databasePassword) + { + p_panel.fDatabasePassword.setText(databasePassword); + } + /** + * @return Returns the databasePort. + */ + public int getDatabasePort () + { + try + { + return Integer.parseInt(p_panel.fDatabasePort.getText()); + } + catch (Exception e) + { + setDatabasePort("0"); + } + return 0; + } // getDatabasePort + /** + * @param databasePort The databasePort to set. + */ + public void setDatabasePort (String databasePort) + { + p_panel.fDatabasePort.setText(databasePort); + } + /** + * @return Returns the databaseServer. + */ + public String getDatabaseServer () + { + return p_panel.fDatabaseServer.getText(); + } + /** + * @param databaseServer The databaseServer to set. + */ + public void setDatabaseServer (String databaseServer) + { + p_panel.fDatabaseServer.setText(databaseServer); + } + /** + * @return Returns the databaseSystemPassword. + */ + public String getDatabaseSystemPassword () + { + char[] pw = p_panel.fSystemPassword.getPassword(); + if (pw != null) + return new String(pw); + return ""; + } + /** + * @param databaseSystemPassword The databaseSystemPassword to set. + */ + public void setDatabaseSystemPassword (String databaseSystemPassword) + { + p_panel.fSystemPassword.setText(databaseSystemPassword); + } + /** + * @param enable enable Database System Password + */ + public void setDatabaseSystemPassword (boolean enable) + { + p_panel.fSystemPassword.setEnabled(enable); + } + /** + * @return Returns the databaseUser. + */ + public String getDatabaseUser () + { + return p_panel.fDatabaseUser.getText(); + } + /** + * @param databaseUser The databaseUser to set. + */ + public void setDatabaseUser (String databaseUser) + { + p_panel.fDatabaseUser.setText(databaseUser); + } + +} // ConfigurationData diff --git a/install/src/org/compiere/install/ConfigurationPanel.java b/install/src/org/compiere/install/ConfigurationPanel.java new file mode 100644 index 0000000000..1108a4e52f --- /dev/null +++ b/install/src/org/compiere/install/ConfigurationPanel.java @@ -0,0 +1,628 @@ +/****************************************************************************** + * 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.install; + +import java.awt.*; +import java.awt.event.*; +import java.util.*; +import java.util.logging.*; +import javax.swing.*; +import org.apache.tools.ant.*; +import org.compiere.*; +import org.compiere.apps.*; +import org.compiere.swing.*; +import org.compiere.util.*; + + +/** + * Configuration Panel + * + * @author Jorg Janke + * @version $Id: ConfigurationPanel.java,v 1.3 2006/07/30 00:57:42 jjanke Exp $ + */ +public class ConfigurationPanel extends CPanel implements ActionListener +{ + /** + * Constructor + * @param statusBar for info + */ + public ConfigurationPanel (JLabel statusBar) + { + m_statusBar = statusBar; + try + { + jbInit(); + } + catch (Exception e) + { + e.printStackTrace(); + System.exit(1); + } + } // ConfigurationPanel + + /** Error Info */ + private String m_errorString; + /** Test Success */ + private volatile boolean m_success = false; + /** Sync */ + private volatile boolean m_testing = false; + + /** Translation */ + static ResourceBundle res = ResourceBundle.getBundle("org.compiere.install.SetupRes"); + + /** Setup Frame */ + private Setup m_setup = null; + /** Status Bar */ + private JLabel m_statusBar; + /** Configuration Data */ + private ConfigurationData m_data = new ConfigurationData(this); + + private static ImageIcon iOpen = new ImageIcon(ConfigurationPanel.class.getResource("openFile.gif")); + private static ImageIcon iSave = new ImageIcon(Adempiere.class.getResource("images/Save16.gif")); + private static ImageIcon iHelp = new ImageIcon(Adempiere.class.getResource("images/Help16.gif")); + + + // ------------- Static UI + private GridBagLayout gridBagLayout = new GridBagLayout(); + private static final int FIELDLENGTH = 15; + // Java + private CLabel lJavaHome = new CLabel(); + CTextField fJavaHome = new CTextField(FIELDLENGTH); + CCheckBox okJavaHome = new CCheckBox(); + private CButton bJavaHome = new CButton(iOpen); + private CLabel lJavaType = new CLabel(); + CComboBox fJavaType = new CComboBox(ConfigurationData.JAVATYPE); + // Adempiere - KeyStore + private CLabel lAdempiereHome = new CLabel(); + CTextField fAdempiereHome = new CTextField(FIELDLENGTH); + CCheckBox okAdempiereHome = new CCheckBox(); + private CButton bAdempiereHome = new CButton(iOpen); + private CLabel lKeyStore = new CLabel(); + CPassword fKeyStore = new CPassword(); + CCheckBox okKeyStore = new CCheckBox(); + // Apps Server - Type + CLabel lAppsServer = new CLabel(); + CTextField fAppsServer = new CTextField(FIELDLENGTH); + CCheckBox okAppsServer = new CCheckBox(); + private CLabel lAppsType = new CLabel(); + CComboBox fAppsType = new CComboBox(ConfigurationData.APPSTYPE); + // Deployment Directory - JNP + private CLabel lDeployDir = new CLabel(); + CTextField fDeployDir = new CTextField(FIELDLENGTH); + CCheckBox okDeployDir = new CCheckBox(); + CButton bDeployDir = new CButton(iOpen); + private CLabel lJNPPort = new CLabel(); + CTextField fJNPPort = new CTextField(FIELDLENGTH); + CCheckBox okJNPPort = new CCheckBox(); + // Web Ports + private CLabel lWebPort = new CLabel(); + CTextField fWebPort = new CTextField(FIELDLENGTH); + CCheckBox okWebPort = new CCheckBox(); + private CLabel lSSLPort = new CLabel(); + CTextField fSSLPort = new CTextField(FIELDLENGTH); + CCheckBox okSSLPort = new CCheckBox(); + // Database + private CLabel lDatabaseType = new CLabel(); + CComboBox fDatabaseType = new CComboBox(ConfigurationData.DBTYPE); + // + CLabel lDatabaseServer = new CLabel(); + CTextField fDatabaseServer = new CTextField(FIELDLENGTH); + private CLabel lDatabaseName = new CLabel(); + CTextField fDatabaseName = new CTextField(FIELDLENGTH); + private CLabel lDatabaseDiscovered = new CLabel(); + CComboBox fDatabaseDiscovered = new CComboBox(); + private CLabel lDatabasePort = new CLabel(); + CTextField fDatabasePort = new CTextField(FIELDLENGTH); + private CLabel lSystemPassword = new CLabel(); + CPassword fSystemPassword = new CPassword(); + private CLabel lDatabaseUser = new CLabel(); + CTextField fDatabaseUser = new CTextField(FIELDLENGTH); + private CLabel lDatabasePassword = new CLabel(); + CPassword fDatabasePassword = new CPassword(); + CCheckBox okDatabaseServer = new CCheckBox(); + CCheckBox okDatabaseUser = new CCheckBox(); + CCheckBox okDatabaseSystem = new CCheckBox(); + CCheckBox okDatabaseSQL = new CCheckBox(); + // + CLabel lMailServer = new CLabel(); + CTextField fMailServer = new CTextField(FIELDLENGTH); + private CLabel lAdminEMail = new CLabel(); + CTextField fAdminEMail = new CTextField(FIELDLENGTH); + private CLabel lMailUser = new CLabel(); + CTextField fMailUser = new CTextField(FIELDLENGTH); + private CLabel lMailPassword = new CLabel(); + CPassword fMailPassword = new CPassword(); + CCheckBox okMailServer = new CCheckBox(); + CCheckBox okMailUser = new CCheckBox(); + // + private CButton bHelp = new CButton(iHelp); + private CButton bTest = new CButton(); + private CButton bSave = new CButton(iSave); + + + /** + * Static Layout Init + * @throws Exception + */ + private void jbInit() throws Exception + { + this.setLayout(gridBagLayout); + Insets bInsets = new Insets(0, 5, 0, 5); + + // Java + lJavaHome.setToolTipText(res.getString("JavaHomeInfo")); + lJavaHome.setText(res.getString("JavaHome")); + fJavaHome.setText("."); + okJavaHome.setEnabled(false); + bJavaHome.setMargin(bInsets); + bJavaHome.setToolTipText(res.getString("JavaHomeInfo")); + lJavaType.setToolTipText(res.getString("JavaTypeInfo")); + lJavaType.setText(res.getString("JavaType")); + fJavaType.setPreferredSize(fJavaHome.getPreferredSize()); + this.add(lJavaHome, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0 + ,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0)); + this.add(fJavaHome, new GridBagConstraints(1, 0, 1, 1, 0.5, 0.0 + ,GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(5, 5, 5, 0), 0, 0)); + this.add(okJavaHome, new GridBagConstraints(2, 0, 1, 1, 0.0, 0.0 + ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 0, 5, 5), 0, 0)); + this.add(bJavaHome, new GridBagConstraints(3, 0, 1, 1, 0.0, 0.0 + ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0)); + this.add(lJavaType, new GridBagConstraints(4, 0, 1, 1, 0.0, 0.0 + ,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0)); + this.add(fJavaType, new GridBagConstraints(5, 0, 1, 1, 0.0, 0.0 + ,GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(5, 5, 5, 0), 0, 0)); + // AdempiereHome - KeyStore + lAdempiereHome.setToolTipText(res.getString("AdempiereHomeInfo")); + lAdempiereHome.setText(res.getString("AdempiereHome")); + fAdempiereHome.setText("."); + okAdempiereHome.setEnabled(false); + bAdempiereHome.setMargin(bInsets); + bAdempiereHome.setToolTipText(res.getString("AdempiereHomeInfo")); + lKeyStore.setText(res.getString("KeyStorePassword")); + lKeyStore.setToolTipText(res.getString("KeyStorePasswordInfo")); + fKeyStore.setText(""); + okKeyStore.setEnabled(false); + this.add(lAdempiereHome, new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0 + ,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0)); + this.add(fAdempiereHome, new GridBagConstraints(1, 1, 1, 1, 0.5, 0.0 + ,GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(5, 5, 5, 0), 0, 0)); + this.add(okAdempiereHome, new GridBagConstraints(2, 1, 1, 1, 0.0, 0.0 + ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 0, 5, 5), 0, 0)); + this.add(bAdempiereHome, new GridBagConstraints(3, 1, 1, 1, 0.0, 0.0 + ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0)); + this.add(lKeyStore, new GridBagConstraints(4, 1, 1, 1, 0.0, 0.0 + ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0)); + this.add(fKeyStore, new GridBagConstraints(5, 1, 1, 1, 0.0, 0.0 + ,GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(5, 5, 5, 0), 0, 0)); + this.add(okKeyStore, new GridBagConstraints(6, 1, 1, 1, 0.0, 0.0 + ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0)); + // Apps Server - Type + lAppsServer.setToolTipText(res.getString("AppsServerInfo")); + lAppsServer.setText(res.getString("AppsServer")); + lAppsServer.setFont(lAppsServer.getFont().deriveFont(Font.BOLD)); + fAppsServer.setText("."); + okAppsServer.setEnabled(false); + lAppsType.setToolTipText(res.getString("AppsTypeInfo")); + lAppsType.setText(res.getString("AppsType")); + fAppsType.setPreferredSize(fAppsServer.getPreferredSize()); + this.add(lAppsServer, new GridBagConstraints(0, 2, 1, 1, 0.0, 0.0 + ,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(10, 5, 5, 5), 0, 0)); + this.add(fAppsServer, new GridBagConstraints(1, 2, 1, 1, 0.5, 0.0 + ,GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(10, 5, 5, 0), 0, 0)); + this.add(okAppsServer, new GridBagConstraints(2, 2, 1, 1, 0.0, 0.0 + ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(10, 0, 5, 5), 0, 0)); + this.add(lAppsType, new GridBagConstraints(4, 2, 1, 1, 0.0, 0.0 + ,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(10, 5, 5, 5), 0, 0)); + this.add(fAppsType, new GridBagConstraints(5, 2, 1, 1, 0.0, 0.0 + ,GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(10, 5, 5, 0), 0, 0)); + // Deployment - JNP + lDeployDir.setToolTipText(res.getString("DeployDirInfo")); + lDeployDir.setText(res.getString("DeployDir")); + fDeployDir.setText("."); + okDeployDir.setEnabled(false); + bDeployDir.setMargin(bInsets); + bDeployDir.setToolTipText(res.getString("DeployDirInfo")); + lJNPPort.setToolTipText(res.getString("JNPPortInfo")); + lJNPPort.setText(res.getString("JNPPort")); + fJNPPort.setText("."); + okJNPPort.setEnabled(false); + this.add(lDeployDir, new GridBagConstraints(0, 3, 1, 1, 0.0, 0.0 + ,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0)); + this.add(fDeployDir, new GridBagConstraints(1, 3, 1, 1, 0.5, 0.0 + ,GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(5, 5, 5, 0), 0, 0)); + this.add(okDeployDir, new GridBagConstraints(2, 3, 1, 1, 0.0, 0.0 + ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 0, 5, 5), 0, 0)); + this.add(bDeployDir, new GridBagConstraints(3, 3, 1, 1, 0.0, 0.0 + ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0)); + this.add(lJNPPort, new GridBagConstraints(4, 3, 1, 1, 0.0, 0.0 + ,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0)); + this.add(fJNPPort, new GridBagConstraints(5, 3, 1, 1, 0.5, 0.0 + ,GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(5, 5, 5, 0), 0, 0)); + this.add(okJNPPort, new GridBagConstraints(6, 3, 1, 1, 0.0, 0.0 + ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 0, 5, 5), 0, 0)); + // Web Ports + lWebPort.setToolTipText(res.getString("WebPortInfo")); + lWebPort.setText(res.getString("WebPort")); + fWebPort.setText("."); + okWebPort.setEnabled(false); + lSSLPort.setText("SSL"); + fSSLPort.setText("."); + okSSLPort.setEnabled(false); + this.add(lWebPort, new GridBagConstraints(0, 4, 1, 1, 0.0, 0.0 + ,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0)); + this.add(fWebPort, new GridBagConstraints(1, 4, 1, 1, 0.5, 0.0 + ,GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(5, 5, 5, 0), 0, 0)); + this.add(okWebPort, new GridBagConstraints(2, 4, 1, 1, 0.0, 0.0 + ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 0, 5, 5), 0, 0)); + this.add(lSSLPort, new GridBagConstraints(4, 4, 1, 1, 0.0, 0.0 + ,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0)); + this.add(fSSLPort, new GridBagConstraints(5, 4, 1, 1, 0.0, 0.0 + ,GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(5, 5, 5, 0), 0, 0)); + this.add(okSSLPort, new GridBagConstraints(6, 4, 1, 1, 0.0, 0.0 + ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 0, 5, 5), 0, 0)); + // Database Server - Type + lDatabaseServer.setToolTipText(res.getString("DatabaseServerInfo")); + lDatabaseServer.setText(res.getString("DatabaseServer")); + lDatabaseServer.setFont(lDatabaseServer.getFont().deriveFont(Font.BOLD)); + okDatabaseServer.setEnabled(false); + lDatabaseType.setToolTipText(res.getString("DatabaseTypeInfo")); + lDatabaseType.setText(res.getString("DatabaseType")); + fDatabaseType.setPreferredSize(fDatabaseServer.getPreferredSize()); + this.add(lDatabaseServer, new GridBagConstraints(0, 5, 1, 1, 0.0, 0.0 + ,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(10, 5, 5, 5), 0, 0)); + this.add(fDatabaseServer, new GridBagConstraints(1, 5, 1, 1, 0.5, 0.0 + ,GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(10, 5, 5, 0), 0, 0)); + this.add(okDatabaseServer, new GridBagConstraints(2, 5, 1, 1, 0.0, 0.0 + ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(10, 0, 5, 5), 0, 0)); + this.add(lDatabaseType, new GridBagConstraints(4, 5, 1, 1, 0.0, 0.0 + ,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(10, 5, 5, 5), 0, 0)); + this.add(fDatabaseType, new GridBagConstraints(5, 5, 1, 1, 0.0, 0.0 + ,GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(10, 5, 5, 0), 0, 0)); + // DB Name - TNS + lDatabaseName.setToolTipText(res.getString("DatabaseNameInfo")); + lDatabaseName.setText(res.getString("DatabaseName")); + fDatabaseName.setText("."); + lDatabaseDiscovered.setToolTipText(res.getString("TNSNameInfo")); + lDatabaseDiscovered.setText(res.getString("TNSName")); + fDatabaseDiscovered.setEditable(true); + fDatabaseDiscovered.setPreferredSize(fDatabaseName.getPreferredSize()); + okDatabaseSQL.setEnabled(false); + this.add(lDatabaseName, new GridBagConstraints(0, 6, 1, 1, 0.0, 0.0 + ,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0)); + this.add(fDatabaseName, new GridBagConstraints(1, 6, 1, 1, 0.5, 0.0 + ,GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(5, 5, 5, 0), 0, 0)); + this.add(okDatabaseSQL, new GridBagConstraints(2, 6, 1, 1, 0.0, 0.0 + ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 0, 5, 5), 0, 0)); + this.add(lDatabaseDiscovered, new GridBagConstraints(4, 6, 1, 1, 0.0, 0.0 + ,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(5, 0, 5, 5), 0, 0)); + this.add(fDatabaseDiscovered, new GridBagConstraints(5, 6, 1, 1, 0.5, 0.0 + ,GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(5, 5, 5, 0), 0, 0)); + // Port - System + lDatabasePort.setToolTipText(res.getString("DatabasePortInfo")); + lDatabasePort.setText(res.getString("DatabasePort")); + fDatabasePort.setText("."); + lSystemPassword.setToolTipText(res.getString("SystemPasswordInfo")); + lSystemPassword.setText(res.getString("SystemPassword")); + fSystemPassword.setText("."); + okDatabaseSystem.setEnabled(false); + this.add(lDatabasePort, new GridBagConstraints(0, 7, 1, 1, 0.0, 0.0 + ,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0)); + this.add(fDatabasePort, new GridBagConstraints(1, 7, 1, 1, 0.5, 0.0 + ,GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(5, 5, 5, 0), 0, 0)); + this.add(lSystemPassword, new GridBagConstraints(4, 7, 1, 1, 0.0, 0.0 + ,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0)); + this.add(fSystemPassword, new GridBagConstraints(5, 7, 1, 1, 0.5, 0.0 + ,GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(5, 5, 5, 0), 0, 0)); + this.add(okDatabaseSystem, new GridBagConstraints(6, 7, 1, 1, 0.0, 0.0 + ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 0, 5, 5), 0, 0)); + + // User - Password + lDatabaseUser.setToolTipText(res.getString("DatabaseUserInfo")); + lDatabaseUser.setText(res.getString("DatabaseUser")); + fDatabaseUser.setText("."); + lDatabasePassword.setToolTipText(res.getString("DatabasePasswordInfo")); + lDatabasePassword.setText(res.getString("DatabasePassword")); + fDatabasePassword.setText("."); + okDatabaseUser.setEnabled(false); + this.add(lDatabaseUser, new GridBagConstraints(0, 8, 1, 1, 0.0, 0.0 + ,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0)); + this.add(fDatabaseUser, new GridBagConstraints(1, 8, 1, 1, 0.5, 0.0 + ,GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(5, 5, 5, 0), 0, 0)); + this.add(lDatabasePassword, new GridBagConstraints(4, 8, 1, 1, 0.0, 0.0 + ,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0)); + this.add(fDatabasePassword, new GridBagConstraints(5, 8, 1, 1, 0.5, 0.0 + ,GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(5, 5, 5, 0), 0, 0)); + this.add(okDatabaseUser, new GridBagConstraints(6, 8, 1, 1, 0.0, 0.0 + ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 0, 5, 5), 0, 0)); + + // Mail Server - Email + lMailServer.setToolTipText(res.getString("MailServerInfo")); + lMailServer.setText(res.getString("MailServer")); + lMailServer.setFont(lMailServer.getFont().deriveFont(Font.BOLD)); + fMailServer.setText("."); + lAdminEMail.setToolTipText(res.getString("AdminEMailInfo")); + lAdminEMail.setText(res.getString("AdminEMail")); + fAdminEMail.setText("."); + okMailServer.setEnabled(false); + this.add(lMailServer, new GridBagConstraints(0, 9, 1, 1, 0.0, 0.0 + ,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(10, 5, 5, 5), 0, 0)); + this.add(fMailServer, new GridBagConstraints(1, 9, 1, 1, 0.5, 0.0 + ,GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(10, 5, 5, 0), 0, 0)); + this.add(okMailServer, new GridBagConstraints(2, 9, 1, 1, 0.0, 0.0 + ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(10, 0, 5, 5), 0, 0)); + this.add(lAdminEMail, new GridBagConstraints(4, 9, 1, 1, 0.0, 0.0 + ,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(10, 5, 5, 5), 0, 0)); + this.add(fAdminEMail, new GridBagConstraints(5, 9, 1, 1, 0.5, 0.0 + ,GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(10, 5, 5, 0), 0, 0)); + + // Mail User = Password + lMailUser.setToolTipText(res.getString("MailUserInfo")); + lMailUser.setText(res.getString("MailUser")); + fMailUser.setText("."); + lMailPassword.setToolTipText(res.getString("MailPasswordInfo")); + lMailPassword.setText(res.getString("MailPassword")); + fMailPassword.setText("."); + okMailUser.setEnabled(false); + this.add(lMailUser, new GridBagConstraints(0, 10, 1, 1, 0.0, 0.0 + ,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0)); + this.add(fMailUser, new GridBagConstraints(1, 10, 1, 1, 0.5, 0.0 + ,GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(5, 5, 5, 0), 0, 0)); + this.add(lMailPassword, new GridBagConstraints(4, 10, 1, 1, 0.0, 0.0 + ,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0)); + this.add(fMailPassword, new GridBagConstraints(5, 10, 1, 1, 0.5, 0.0 + ,GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(5, 5, 5, 0), 0, 0)); + this.add(okMailUser, new GridBagConstraints(6, 10, 1, 1, 0.0, 0.0 + ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 0, 5, 5), 0, 0)); + + // End + bTest.setToolTipText(res.getString("TestInfo")); + bTest.setText(res.getString("Test")); + bSave.setToolTipText(res.getString("SaveInfo")); + bSave.setText(res.getString("Save")); + bHelp.setToolTipText(res.getString("HelpInfo")); + this.add(bTest, new GridBagConstraints(0, 11, 1, 1, 0.0, 0.0 + ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(10, 5, 10, 5), 0, 0)); + this.add(bHelp, new GridBagConstraints(3, 11, 2, 1, 0.0, 0.0 + ,GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(10, 5, 10, 5), 0, 0)); + this.add(bSave, new GridBagConstraints(5, 11, 2, 1, 0.0, 0.0 + ,GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(10, 5, 10, 5), 0, 0)); + // + bAdempiereHome.addActionListener(this); + bJavaHome.addActionListener(this); + bDeployDir.addActionListener(this); + fJavaType.addActionListener(this); + fAppsType.addActionListener(this); + fDatabaseType.addActionListener(this); + fDatabaseDiscovered.addActionListener(this); + bHelp.addActionListener(this); + bTest.addActionListener(this); + bSave.addActionListener(this); + } // jbInit + + /** + * Dynamic Initial. + * Called by Setup + * @return true if success + */ + public boolean dynInit() + { + return m_data.load(); + } // dynInit + + /** + * Set Status Bar Text + * @param text text + */ + protected void setStatusBar(String text) + { + m_statusBar.setText(text); + } // setStatusBar + + + /************************************************************************** + * ActionListener + * @param e event + */ + public void actionPerformed(ActionEvent e) + { + if (m_testing) + return; + // TNS Name Changed + if (e.getSource() == fDatabaseDiscovered) + { + String dbName = (String)fDatabaseDiscovered.getSelectedItem(); + if (dbName != null && dbName.length() > 0) + fDatabaseName.setText(dbName); + } + // + else if (e.getSource() == fJavaType) + m_data.initJava(); + else if (e.getSource() == fAppsType) + m_data.initAppsServer(); + else if (e.getSource() == fDatabaseType) + m_data.initDatabase(""); + // + else if (e.getSource() == bJavaHome) + setPath (fJavaHome); + else if (e.getSource() == bAdempiereHome) + setPath (fAdempiereHome); + else if (e.getSource() == bDeployDir) + setPath (fDeployDir); + else if (e.getSource() == bHelp) + new Setup_Help((Frame)SwingUtilities.getWindowAncestor(this)); + else if (e.getSource() == bTest) + startTest(false); + else if (e.getSource() == bSave) + startTest(true); + } // actionPerformed + + + + /** + * Set Path in Field + * @param field field to set Path + */ + private void setPath (CTextField field) + { + JFileChooser fc = new JFileChooser(field.getText()); + fc.setDialogType(JFileChooser.OPEN_DIALOG); + fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); + fc.setMultiSelectionEnabled(false); + fc.setDialogTitle(field.getToolTipText()); + if (fc.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) + field.setText(fc.getSelectedFile().getAbsolutePath()); + } // setPath + + + /************************************************************************** + * Start Test Async. + * @param saveIt save + * @return SwingWorker + */ + private SwingWorker startTest(final boolean saveIt) + { + SwingWorker worker = new SwingWorker() + { + // Start it + public Object construct() + { + m_testing = true; + setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); + bTest.setEnabled(false); + m_success = false; + m_errorString = null; + try + { + test(); + } + catch (Exception ex) + { + ex.printStackTrace(); + m_errorString += "\n" + ex.toString(); + } + // + setCursor(Cursor.getDefaultCursor()); + if (m_errorString == null) + m_success = true; + bTest.setEnabled(true); + m_testing = false; + return new Boolean(m_success); + } + // Finish it + public void finished() + { + if (m_errorString != null) + { + CLogger.get().severe(m_errorString); + JOptionPane.showConfirmDialog (m_statusBar.getParent(), + m_errorString, + res.getString("ServerError"), + JOptionPane.DEFAULT_OPTION, JOptionPane.ERROR_MESSAGE); + } + else if (saveIt) + save(); + } + }; + worker.start(); + return worker; + } // startIt + + /** + * Test it + * @throws Exception + */ + private void test() throws Exception + { + bSave.setEnabled(false); + if (!m_data.test()) + return; + // + m_statusBar.setText(res.getString("Ok")); + bSave.setEnabled(true); + m_errorString = null; + } // test + + /** + * UI Signal OK + * @param cb ckeck box + * @param resString resource string key + * @param pass true if test passed + * @param critical true if critial + * @param errorMsg error Message + */ + void signalOK (CCheckBox cb, String resString, + boolean pass, boolean critical, String errorMsg) + { + m_errorString = res.getString(resString); + cb.setSelected(pass); + if (pass) + cb.setToolTipText(null); + else + { + cb.setToolTipText(errorMsg); + m_errorString += " \n(" + errorMsg + ")"; + } + if (!pass && critical) + cb.setBackground(Color.RED); + else + cb.setBackground(Color.GREEN); + } // setOK + + + /************************************************************************** + * Save Settings. + * Called from startTest.finished() + */ + private void save() + { + if (!m_success) + return; + + bSave.setEnabled(false); + bTest.setEnabled(false); + setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); + + if (!m_data.save()) + return; + + // Final Info + JOptionPane.showConfirmDialog(this, res.getString("EnvironmentSaved"), + res.getString("AdempiereServerSetup"), + JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE); + + /** Run Ant **/ + try + { + CLogger.get().info("Starting Ant ... "); + System.setProperty("ant.home", "."); + String[] args = new String[] {"setup"}; + // Launcher.main (args); // calls System.exit + Main antMain = new Main(); + antMain.startAnt(args, null, null); + } + catch (Exception e) + { + CLogger.get().log(Level.SEVERE, "ant", e); + } + + // To be sure + ((Frame)SwingUtilities.getWindowAncestor(this)).dispose(); + System.exit(0); // remains active when License Dialog called + /** **/ + } // save + +} // ConfigurationPanel diff --git a/install/src/org/compiere/install/KeyStoreDialog.java b/install/src/org/compiere/install/KeyStoreDialog.java new file mode 100644 index 0000000000..af3643f26b --- /dev/null +++ b/install/src/org/compiere/install/KeyStoreDialog.java @@ -0,0 +1,196 @@ +/****************************************************************************** + * 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.install; + +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; +import org.compiere.apps.*; +import org.compiere.swing.*; + + +/** + * Key Store Dialog + * + * @author Jorg Janke + * @version $Id: KeyStoreDialog.java,v 1.3 2006/07/30 00:57:42 jjanke Exp $ + */ +public class KeyStoreDialog extends CDialog +{ + + /** + * Constructor + * @param owner frame + * @param cn common name + * @param ou org unit + * @param o organization + * @param l locale + * @param s state + * @param c country + * @throws HeadlessException + */ + public KeyStoreDialog (JFrame owner, + String cn, String ou, String o, String l, String s, String c) + throws HeadlessException + { + super (owner, true); + setTitle("Key Store Dialog"); + // + jbInit(); + setValues(cn, ou, o, l, s, c); + // + AEnv.showCenterWindow(owner, this); + } // KeyStoreDialog + + private CLabel lCN = new CLabel("(ON) Common Name"); + private CTextField fCN = new CTextField(20); + private CLabel lOU = new CLabel("(OU) Organization Unit"); + private CTextField fOU = new CTextField(20); + private CLabel lO = new CLabel("(O) Organization"); + private CTextField fO = new CTextField(20); + private CLabel lL = new CLabel("(L) Locale/Town"); + private CTextField fL = new CTextField(20); + private CLabel lS = new CLabel("(S) State"); + private CTextField fS = new CTextField(20); + private CLabel lC = new CLabel("(C) Country (2 Char)"); + private CTextField fC = new CTextField(2); + + private CButton bOK = ConfirmPanel.createOKButton("OK"); + private CButton bCancel = ConfirmPanel.createCancelButton("Cancel"); + private boolean m_ok = false; + + /** + * Static Layout + */ + private void jbInit() + { + CPanel panel = new CPanel(new ALayout()); + panel.add(lCN, new ALayoutConstraint(0, 0)); + panel.add(fCN, null); + panel.add(lOU, new ALayoutConstraint(1, 0)); + panel.add(fOU, null); + panel.add(lO, new ALayoutConstraint(2, 0)); + panel.add(fO, null); + panel.add(lL, new ALayoutConstraint(3, 0)); + panel.add(fL, null); + panel.add(lS, new ALayoutConstraint(4, 0)); + panel.add(fS, null); + panel.add(lC, new ALayoutConstraint(5, 0)); + panel.add(fC, null); + panel.setPreferredSize(new Dimension(400,150)); + // + getContentPane().setLayout(new BorderLayout()); + getContentPane().add (panel, BorderLayout.CENTER); + // + CPanel confirmPanel = new CPanel(new FlowLayout(FlowLayout.RIGHT)); + confirmPanel.add(bCancel); + confirmPanel.add(bOK); + getContentPane().add (confirmPanel, BorderLayout.SOUTH); + // + bCancel.addActionListener(this); + bOK.addActionListener(this); + } // jbInit + + /** + * Action Listener + * @param e evt + */ + public void actionPerformed (ActionEvent e) + { + if (e.getSource() == bOK) + m_ok = true; + dispose(); + } // actionPerformed + + /** + * OK Pressed + * @return true if OK + */ + public boolean isOK() + { + return m_ok; + } // isOK + + /** + * Set Values + * @param cn common name + * @param ou org unit + * @param o organization + * @param l locale + * @param s state + * @param c country + */ + public void setValues(String cn, String ou, String o, String l, String s, String c) + { + fCN.setText(cn); + fOU.setText(ou); + fO.setText(o); + fL.setText(l); + fS.setText(s); + fC.setText(c); + } // setValues + + /** + * Get CN + * @return common name + */ + public String getCN() + { + return fCN.getText(); + } + /** + * Get OU + * @return organizational unit + */ + public String getOU() + { + return fOU.getText(); + } + /** + * Get O + * @return organization + */ + public String getO() + { + return fO.getText(); + } + /** + * Get L + * @return location/town + */ + public String getL() + { + return fL.getText(); + } + /** + * Get S + * @return state + */ + public String getS() + { + return fS.getText(); + } + /** + * Get C + * @return country + */ + public String getC() + { + return fC.getText(); + } + +} // KeyStoreDialog diff --git a/install/src/org/compiere/install/KeyStoreMgt.java b/install/src/org/compiere/install/KeyStoreMgt.java new file mode 100644 index 0000000000..25861fba24 --- /dev/null +++ b/install/src/org/compiere/install/KeyStoreMgt.java @@ -0,0 +1,426 @@ +/****************************************************************************** + * 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.install; + +import java.io.*; +import java.net.*; +import java.security.*; +import java.security.cert.Certificate; +import java.util.*; +import java.util.logging.*; +import javax.swing.*; +import org.compiere.*; +import org.compiere.util.*; +import sun.security.tools.*; + +/** + * Class to manage SSL KeyStore + * + * @author Jorg Janke + * @version $Id: KeyStoreMgt.java,v 1.3 2006/07/30 00:57:42 jjanke Exp $ + */ +public class KeyStoreMgt +{ + /** + * Constructor. + * @param fileName key store file name + * @param password - same password for key store and certificate + */ + public KeyStoreMgt (String fileName, char[] password) + { + log.info(fileName); + m_file = new File (fileName); + m_password = password; + } // KeyStoreMgt + + /** Logger */ + private static CLogger log = CLogger.getCLogger(KeyStoreMgt.class); + /** KeyStore File */ + private File m_file = null; + /** KeyStore Password */ + private char[] m_password = null; + /** KeyStore */ + private KeyStore m_keyStore = null; + + + /** Directory below ADEMPIERE_HOME */ + public static String KEYSTORE_DIRECTORY = "keystore"; + /** Name of KeyStore */ + public static String KEYSTORE_NAME = "myKeystore"; + /** Certificate Alias */ + public static String CERTIFICATE_ALIAS = "adempiere"; + + + /** + * Verify/Create Key Store + * @param parent frame + * @return null or error message + */ + public String verify (JFrame parent) + { + KeyStore ks = null; + try + { + ks = getKeyStore(); + } + catch (Exception e) + { + log.log(Level.SEVERE, "get KeyStore", e); + return e.getMessage(); + } + // No KeyStore + if (ks == null) + { + createCertificate(CERTIFICATE_ALIAS, parent); + try + { + ks = getKeyStore(); + } + catch (Exception e) + { + log.log(Level.SEVERE, "new KeyStore", e); + return e.getMessage(); + } + } // new key store + + // No KeyStore + if (ks == null) + return "No Key Store"; + + // Verify Certificate + Certificate cert = null; + try + { + cert = getCertificate(CERTIFICATE_ALIAS); + } + catch (Exception e) + { + log.log(Level.SEVERE, "certificate", e); + return e.getMessage(); + } + if (cert == null) + return "No Certificate found"; + + return null; // OK + } // verify + + /** + * Get KeyStore + * @return KeyStore or null + * @throws Exception + */ + public KeyStore getKeyStore() throws Exception + { + try + { + m_keyStore = KeyStore.getInstance("JKS"); + } + catch (Exception e) + { + log.log(Level.SEVERE, "Instance", e); + } + // Load Existing + if (m_file.exists()) + { + log.fine(m_file.toString()); + InputStream is = null; + try + { + is = new FileInputStream (m_file); + } + catch (Exception e) + { + log.log(Level.SEVERE, "load", e); + return null; + } + m_keyStore.load(is, m_password); + } + else + return null; // does not exist + // + log.fine("Provider=" + m_keyStore.getProvider() + + " - Type=" + m_keyStore.getType()); + // + return m_keyStore; + } // getKeyStore + + /** + * Get Certificate + * @param alias alias + * @return certificate or null + * @throws Exception + */ + public Certificate getCertificate (String alias) throws Exception + { + log.config("Alias=" + alias); + + Date date = m_keyStore.getCreationDate(alias); + if (date == null) // no certificate + return null; + log.fine("Created=" + date); + // + Key key = m_keyStore.getKey(alias, m_password); + if (CLogMgt.isLevelFinest()) + log.info("Key=" + key); // Multiple lines + else + log.fine(key.getAlgorithm()); + // + Certificate cert = m_keyStore.getCertificate(alias); + if (CLogMgt.isLevelFinest()) + log.info("Certificate = " + cert); // Multiple lines + else + log.fine(cert.getType()); + + // log.fine("Certificate - Type=" + cert.getType() + // + " - PublicKey=" + cert.getPublicKey()); + return cert; + } // getCertificate + + + /************************************************************************** + * Create Certificate + * @param alias alias + * @param parent interactive dialog + */ + private void createCertificate (String alias, JFrame parent) + { + log.info(""); + try + { + File dir = m_file.getParentFile(); + if (!dir.exists()) + dir.mkdir(); + } + catch (Exception e) + { + log.log(Level.SEVERE, "directory", e); + } + + String dname = getDname(parent); + if (dname == null) + return; + // + try + { + genkey (alias, m_password, m_file.getAbsolutePath(), dname); + selfcert (alias, m_password, m_file.getAbsolutePath(), dname); + } + catch (Exception e) + { + log.log(Level.SEVERE, "certificate", e); + } + } // createCertificate + + /** + * Get Distinguised Name + * @param parent interactive dialog + * @return dname or null + */ + public static String getDname(JFrame parent) + { + String cn = null; + try + { + InetAddress address = InetAddress.getLocalHost(); + cn = address.getCanonicalHostName(); + } + catch (Exception e) + { + } + String ou = System.getProperty("user.name"); + String o = "AdempiereUser"; + String l = "MyTown"; + String s = ""; + String c = System.getProperty("user.country"); + // + if (parent != null) + { + KeyStoreDialog skd = new KeyStoreDialog(parent, + cn, ou, o, l, s, c); + if (!skd.isOK()) + return null; + cn = skd.getCN(); + ou = skd.getOU(); + o = skd.getO(); + l = skd.getL(); + s = skd.getS(); + c = skd.getC(); + } + // + if (cn == null || cn.length() == 0) + { + log.severe("No Common Name (CN)"); + return null; + } + if (ou == null || ou.length() == 0) + { + log.severe("No Organization Unit (OU)"); + return null; + } + if (o == null || o.length() == 0) + { + log.severe("No Organization (O)"); + return null; + } + if (c == null || c.length() == 0) + { + log.severe("No Country (C)"); + return null; + } + + // Escape commas + StringBuffer dname = new StringBuffer(); + dname.append("CN=").append(escapeCommas(cn)); // common name + dname.append(", OU=").append(escapeCommas(ou)); // org unit + dname.append(", O=").append(escapeCommas(o)); // org + if (l != null && l.length() > 0) + dname.append(", L=").append(escapeCommas(l)); // locality + if (s != null && s.length() > 0) + dname.append(", S=").append(escapeCommas(s)); // state + dname.append(", C=").append(escapeCommas(c)); // country + return dname.toString(); + } // getDname + + /** + * Escape Commas + * @param in input string + * @return excaped string + */ + public static String escapeCommas(String in) + { + if (in == null || in.indexOf(",") == -1) + return in; + StringBuffer out = new StringBuffer(); + char[] chars = in.toCharArray(); + for (int i = 0; i < chars.length; i++) + { + if (chars[i] == ',') + out.append('\\').append(','); + else + out.append(chars[i]); + } + return out.toString(); + } // escapeCommas + + /** + * Generate Key + * @param alias adempiere + * @param password password + * @param fileName key store file name (may have spaces) + * @param dname distinguished name + */ + public static void genkey (String alias, char[] password, String fileName, String dname) + { + StringBuffer cmd = new StringBuffer ("-genkey -keyalg rsa"); + cmd.append(" -alias ").append(alias); + cmd.append(" -dname \"").append(dname).append("\""); + cmd.append(" -keypass ").append(password).append(" -validity 365"); + if (fileName.indexOf(' ') != -1) + cmd.append(" -keystore \"").append(fileName).append("\" -storepass ").append(password); + else + cmd.append(" -keystore ").append(fileName).append(" -storepass ").append(password); + keytool (cmd.toString()); + } // genkey + + /** + * Generate Key + * @param alias adempiere + * @param password password + * @param fileName key store file name (may have spaces) + * @param dname distinguished name + */ + public static void selfcert (String alias, char[] password, String fileName, String dname) + { + StringBuffer cmd = new StringBuffer ("-selfcert"); + cmd.append(" -alias ").append(alias); + cmd.append(" -dname \"").append(dname).append("\""); + cmd.append(" -keypass ").append(password).append(" -validity 180"); + if (fileName.indexOf(' ') != -1) + cmd.append(" -keystore \"").append(fileName).append("\" -storepass ").append(password); + else + cmd.append(" -keystore ").append(fileName).append(" -storepass ").append(password); + keytool (cmd.toString()); + } // selfcert + + /** + * Submit Command to Key Tool + * @param cmd command + */ + public static void keytool(String cmd) + { + log.info("keytool " + cmd); + ArrayList list = new ArrayList(); + StringTokenizer st = new StringTokenizer(cmd, " "); + String quoteBuffer = null; + while (st.hasMoreTokens()) + { + String token = st.nextToken(); + // System.out.println("= " + token + " = quoteBuffer=" + quoteBuffer + " - Size=" + list.size() ); + if (quoteBuffer == null) + { + if (token.startsWith("\"")) + quoteBuffer = token.substring(1); + else + list.add(token); + } + else + quoteBuffer += " " + token; + if (token.endsWith("\"")) + { + String str = quoteBuffer.substring(0, quoteBuffer.length()-1); + // System.out.println(" Buffer= " + str ); + list.add(str); + quoteBuffer = null; + } + } // all tokens + + // + String[] args = new String[list.size()]; + list.toArray(args); + // System.out.println(" args #" + args.length); + KeyTool.main(args); + } // ketyool + + /** + * Get Keystore File Name + * @param baseDir ADEMPIERE_HOME + * @return file name + */ + public static String getKeystoreFileName (String baseDir) + { + String fileName = baseDir; + if (fileName == null) + fileName = ""; + else if (!fileName.endsWith(File.separator)) + fileName += File.separator; + fileName += KEYSTORE_DIRECTORY + File.separator + KEYSTORE_NAME; + return fileName; + } // getKeystoreFileName + + + /************************************************************************** + * Test + * @param args ignored + */ + public static void main (String[] args) + { + Adempiere.startupEnvironment(true); + System.out.println(new KeyStoreMgt ( + "C:/Adempiere/keystore/myKeystore2", "myPassword".toCharArray()).verify(null)); + } // main + +} // MyKeyStore diff --git a/install/src/org/compiere/install/Setup.java b/install/src/org/compiere/install/Setup.java new file mode 100644 index 0000000000..cf31f52108 --- /dev/null +++ b/install/src/org/compiere/install/Setup.java @@ -0,0 +1,150 @@ +/****************************************************************************** + * 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.install; + +import java.awt.*; +import java.awt.event.*; +import java.util.*; +import java.util.logging.*; +import javax.swing.*; +import org.compiere.*; + +import org.compiere.apps.*; +import org.compiere.swing.*; +import org.compiere.util.*; + +/** + * Setup Dialog Frame. + * + * @author Jorg Janke + * @version $Id: Setup.java,v 1.2 2006/07/30 00:57:42 jjanke Exp $ + */ +public class Setup extends CFrame implements ActionListener +{ + /** + * Constructor + */ + public Setup() + { + CLogger.get().info(Adempiere.getSummaryAscii()); + enableEvents(AWTEvent.WINDOW_EVENT_MASK); + setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); + // addWindowListener(this); + try + { + jbInit(); + } + catch(Exception e) + { + e.printStackTrace(); + System.exit(1); + } + + /** Init Panel **/ + AEnv.showCenterScreen(this); + try + { + setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); + configurationPanel.dynInit(); + AEnv.positionCenterScreen(this); + setCursor(Cursor.getDefaultCursor()); + } + catch (Exception e) + { + e.printStackTrace(); + System.exit(1); + } + } // Setup + + + // Static UI + static ResourceBundle res = ResourceBundle.getBundle("org.compiere.install.SetupRes"); + private JPanel contentPane; + private JMenuBar menuBar = new JMenuBar(); + private JMenu menuFile = new JMenu(); + private CMenuItem menuFileExit = new CMenuItem(); + private JMenu menuHelp = new JMenu(); + private CMenuItem menuHelpInfo = new CMenuItem(); + private JLabel statusBar = new JLabel(); + private BorderLayout borderLayout = new BorderLayout(); + private ConfigurationPanel configurationPanel = new ConfigurationPanel (statusBar); + + /** + * Static Init + * @throws Exception + */ + private void jbInit() throws Exception + { + this.setIconImage(Adempiere.getImage16()); + contentPane = (JPanel) this.getContentPane(); + contentPane.setLayout(borderLayout); + + this.setTitle(res.getString("AdempiereServerSetup")); + statusBar.setBorder(BorderFactory.createLoweredBevelBorder()); + statusBar.setText(" "); + menuFile.setText(res.getString("File")); + menuFileExit.setText(res.getString("Exit")); + menuFileExit.addActionListener(this); + menuHelp.setText(res.getString("Help")); + menuHelpInfo.setText(res.getString("Help")); + menuHelpInfo.addActionListener(this); + borderLayout.setHgap(5); + borderLayout.setVgap(5); + menuFile.add(menuFileExit); + menuHelp.add(menuHelpInfo); + menuBar.add(menuFile); + menuBar.add(menuHelp); + this.setJMenuBar(menuBar); + contentPane.add(statusBar, BorderLayout.SOUTH); + contentPane.add(configurationPanel, BorderLayout.CENTER); + } // jbInit + + /** + * ActionListener + * @param e event + */ + public void actionPerformed(ActionEvent e) + { + if (e.getSource() == menuFileExit) + System.exit(0); + else if (e.getSource() == menuHelpInfo) + new Setup_Help(this); + } // actionPerformed + + + /** + * Start + * @param args Log Level e.g. ALL, FINE + */ + public static void main(String[] args) + { + CLogMgt.initialize(true); + Handler fileHandler = new CLogFile(System.getProperty("user.dir"), false, false); + CLogMgt.addHandler(fileHandler); + // Log Level + if (args.length > 0) + CLogMgt.setLevel(args[0]); + else + CLogMgt.setLevel(Level.INFO); + // File Loger at least FINE + if (fileHandler.getLevel().intValue() > Level.FINE.intValue()) + fileHandler.setLevel(Level.FINE); + + new Setup(); + } // main + +} // Setup diff --git a/install/src/org/compiere/install/SetupRes.java b/install/src/org/compiere/install/SetupRes.java new file mode 100644 index 0000000000..2859734981 --- /dev/null +++ b/install/src/org/compiere/install/SetupRes.java @@ -0,0 +1,119 @@ +/****************************************************************************** + * 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.install; + +import java.util.*; + +/** + * Setup Resources + * + * @author Jorg Janke + * @version $Id: SetupRes.java,v 1.3 2006/07/30 00:57:42 jjanke Exp $ + */ +public class SetupRes extends ListResourceBundle +{ + /** Translation Info */ + static final Object[][] contents = new String[][]{ + { "AdempiereServerSetup", "Adempiere Server Setup" }, + { "Ok", "Ok" }, + { "File", "File" }, + { "Exit", "Exit" }, + { "Help", "Help" }, + { "PleaseCheck", "Please Check" }, + { "UnableToConnect", "Unable get help from Adempiere Web Site" }, + // + { "AdempiereHomeInfo", "Adempiere Home is the main Folder" }, + { "AdempiereHome", "Adempiere Home" }, + { "WebPortInfo", "Web (HTML) Port" }, + { "WebPort", "Web Port" }, + { "AppsServerInfo", "Application Server Name" }, + { "AppsServer", "Application Server" }, + { "DatabaseTypeInfo", "Database Type" }, + { "DatabaseType", "Database Type" }, + { "DatabaseNameInfo", "Database (Service) Name" }, + { "DatabaseName", "Database Name" }, + { "DatabasePortInfo", "Database Listener Port" }, + { "DatabasePort", "Database Port" }, + { "DatabaseUserInfo", "Database Adempiere User ID" }, + { "DatabaseUser", "Database User" }, + { "DatabasePasswordInfo", "Database Adempiere User Password" }, + { "DatabasePassword", "Database Password" }, + { "TNSNameInfo", "Discovered Databases" }, + { "TNSName", "Database Search" }, + { "SystemPasswordInfo", "Database System User Password" }, + { "SystemPassword", "System Password" }, + { "MailServerInfo", "Mail Server" }, + { "MailServer", "Mail Server" }, + { "AdminEMailInfo", "Adempiere Administrator EMail" }, + { "AdminEMail", "Admin EMail" }, + { "DatabaseServerInfo", "Database Server Name" }, + { "DatabaseServer", "Database Server" }, + { "JavaHomeInfo", "Java Home Folder" }, + { "JavaHome", "Java Home" }, + { "JNPPortInfo", "Application Server JNP Port" }, + { "JNPPort", "JNP Port" }, + { "MailUserInfo", "Adempiere Mail User" }, + { "MailUser", "Mail User" }, + { "MailPasswordInfo", "Adempiere Mail User Password" }, + { "MailPassword", "Mail Password" }, + { "KeyStorePassword", "KeyStore Password" }, + { "KeyStorePasswordInfo", "Password for SSL Key Store" }, + // + { "JavaType", "Java VM"}, + { "JavaTypeInfo", "Java VM Vendor"}, + { "AppsType", "Server Type"}, + { "AppsTypeInfo", "J2EE Application Server Type"}, + { "DeployDir", "Deployment"}, + { "DeployDirInfo", "J2EE Deployment Directory"}, + { "ErrorDeployDir", "Error Deployment Directory"}, + // + { "TestInfo", "Test the Setup" }, + { "Test", "Test" }, + { "SaveInfo", "Save the Setup" }, + { "Save", "Save" }, + { "HelpInfo", "Get Help" }, + // + { "ServerError", "Server Setup Error" }, + { "ErrorJavaHome", "Error Java Home" }, + { "ErrorAdempiereHome", "Error Adempiere Home" }, + { "ErrorAppsServer", "Error Apps Server (do not use localhost)" }, + { "ErrorWebPort", "Error Web Port" }, + { "ErrorJNPPort", "Error JNP Port" }, + { "ErrorDatabaseServer", "Error Database Server (do not use localhost)" }, + { "ErrorDatabasePort", "Error Database Port" }, + { "ErrorJDBC", "Error JDBC Connection" }, + { "ErrorTNS", "Error TNS Connection" }, + { "ErrorMailServer", "Error Mail Server (do not use localhost)" }, + { "ErrorMail", "Error Mail" }, + { "ErrorSave", "Error Saving File" }, + + { "EnvironmentSaved", "Environment file saved .... starting Deployment\n" + + "You can re-start the Application Server after program completes.\n" + + "Please check Trace for errors.\n" } + + }; + + /** + * Get Content + * @return content array + */ + public Object[][] getContents() + { + return contents; + } // getContents + +} // SetupRes diff --git a/install/src/org/compiere/install/SetupRes_ar.java b/install/src/org/compiere/install/SetupRes_ar.java new file mode 100644 index 0000000000..30a0cf70c7 --- /dev/null +++ b/install/src/org/compiere/install/SetupRes_ar.java @@ -0,0 +1,120 @@ +/****************************************************************************** + * 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.install; + +import java.util.*; + +/** + * Setup Resources + * + * @author Jorg Janke + * @version $Id: SetupRes_ar.java,v 1.2 2006/07/30 00:57:42 jjanke Exp $ + */ +public class SetupRes_ar extends ListResourceBundle +{ + /** Translation Info */ + static final Object[][] contents = new String[][]{ + { "AdempiereServerSetup", "\u0625\u0639\u062f\u0627\u062f \u0645\u0648\u0632\u0639 \u0643\u0645\u0628\u064a\u0631" }, + { "Ok", "\u0646\u0639\u0645" }, + { "File", "\u0645\u0644\u0641" }, + { "Exit", "\u062e\u0631\u0648\u062c" }, + { "Help", "\u0645\u0633\u0627\u0639\u062f\u0629" }, + { "PleaseCheck", "\u0627\u0644\u0631\u0651\u064e\u062c\u0627\u0621 \u0627\u0644\u062a\u062d\u0642\u064a\u0642" }, + { "UnableToConnect", "\u063a\u064a\u0631 \u0642\u0627\u062f\u0631 \u0639\u0644\u0649 \u0627\u0644\u062d\u0635\u0648\u0644 \u0639\u0644\u0649 \u0645\u0633\u0627\u0639\u062f\u0629 \u0645\u0646 \u0645\u0648\u0642\u0639 \u0643\u0645\u0628\u064a\u0631" }, + // + { "AdempiereHomeInfo", "\u0645\u0648\u0637\u0646 \u0643\u0645\u0628\u064a\u0631 \u0647\u0648 \u0627\u0644\u0645\u0644\u0641 \u0627\u0644\u0631\u0626\u064a\u0633\u064a" }, + { "AdempiereHome", "\u0645\u0648\u0637\u0646 \u0643\u0645\u0628\u064a\u0631" }, + { "WebPortInfo", "(HTML) \u0645\u0646\u0641\u0630 \u0648\u0627\u0628" }, + { "WebPort", "\u0645\u0646\u0641\u0630 \u0627\u0644\u0648\u0627\u0628" }, + { "AppsServerInfo", "\u0627\u0650\u0633\u0645 \u0645\u0648\u0632\u0639 \u0627\u0644\u062a\u0637\u0628\u064a\u0642" }, + { "AppsServer", "\u0645\u0648\u0632\u0639 \u0627\u0644\u062a\u0637\u0628\u064a\u0642" }, + { "DatabaseTypeInfo", "\u0646\u0648\u0639 \u0642\u0627\u0639\u062f\u0629 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a" }, + { "DatabaseType", "\u0646\u0648\u0639 \u0642\u0627\u0639\u062f\u0629 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a" }, + { "DatabaseNameInfo", "\u0627\u0650\u0633\u0645 (\u062e\u062f\u0645\u0629) \u0642\u0627\u0639\u062f\u0629 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a" }, + { "DatabaseName", "\u0627\u0650\u0633\u0645 \u0642\u0627\u0639\u062f\u0629 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a" }, + { "DatabasePortInfo", "\u0645\u0646\u0641\u0630 \u0645\u0633\u062a\u0645\u0639 \u0642\u0627\u0639\u062f\u0629 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a" }, + { "DatabasePort", "\u0645\u0646\u0641\u0630 \u0642\u0627\u0639\u062f\u0629 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a" }, + { "DatabaseUserInfo", "\u0645\u0639\u0631\u0641 \u0645\u0633\u062a\u0639\u0645\u0644 \u0642\u0627\u0639\u062f\u0629 \u0628\u064a\u0627\u0646\u0627\u062a \u0643\u0645\u0628\u064a\u0631" }, + { "DatabaseUser", "\u0645\u0633\u062a\u0639\u0645\u0644 \u0642\u0627\u0639\u062f\u0629 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a" }, + { "DatabasePasswordInfo", "\u0643\u0644\u0645\u0629 \u0633\u0631 \u0645\u0633\u062a\u0639\u0645\u0644 \u0642\u0627\u0639\u062f\u0629 \u0628\u064a\u0627\u0646\u0627\u062a \u0643\u0645\u0628\u064a\u0631" }, + { "DatabasePassword", "\u0643\u0644\u0645\u0629 \u0633\u0631 \u0642\u0627\u0639\u062f\u0629 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a" }, + { "TNSNameInfo", "\u0642\u0627\u0639\u062f\u0627\u062a \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0645\u0633\u062a\u0643\u0634\u0641\u0629" }, + { "TNSName", "\u0627\u0644\u0628\u062d\u062b \u0639\u0646 \u0642\u0627\u0639\u062f\u0629 \u0628\u064a\u0627\u0646\u0627\u062a" }, + { "SystemPasswordInfo", "\u0643\u0644\u0645\u0629 \u0633\u0631 \u0645\u0633\u062a\u0639\u0645\u0644 \u0627\u0644\u0646\u0638\u0627\u0645" }, + { "SystemPassword", "\u0643\u0644\u0645\u0629 \u0633\u0631 \u0627\u0644\u0646\u0638\u0627\u0645" }, + { "MailServerInfo", "\u0645\u0648\u0632\u0639 \u0627\u0644\u0628\u0631\u064a\u062f" }, + { "MailServer", "\u0645\u0648\u0632\u0639 \u0627\u0644\u0628\u0631\u064a\u062f" }, + { "AdminEMailInfo", "\u0628\u0631\u064a\u062f \u0645\u062f\u064a\u0631 \u0643\u0645\u0628\u064a\u0631" }, + { "AdminEMail", "\u0628\u0631\u064a\u062f \u0627\u0644\u0645\u062f\u064a\u0631" }, + { "DatabaseServerInfo", "\u0627\u0650\u0633\u0645 \u0645\u0648\u0632\u0639 \u0642\u0627\u0639\u062f\u0629 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a" }, + { "DatabaseServer", "\u0645\u0648\u0632\u0639 \u0642\u0627\u0639\u062f\u0629 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a" }, + { "JavaHomeInfo", "\u0645\u0644\u0641 \u0645\u0648\u0637\u0646 \u062c\u0627\u0641\u0627" }, + { "JavaHome", "\u0645\u0648\u0637\u0646 \u062c\u0627\u0641\u0627" }, + { "JNPPortInfo", "\u0644\u0645\u0648\u0632\u0639 \u0627\u0644\u062a\u0637\u0628\u064a\u0642\u0627\u062a JNP \u0645\u0646\u0641\u0630" }, + { "JNPPort", "JNP \u0645\u0646\u0641\u0630" }, + { "MailUserInfo", "\u0645\u0633\u062a\u0639\u0645\u0644 \u0628\u0631\u064a\u062f \u0643\u0645\u0628\u064a\u0631" }, + { "MailUser", "\u0645\u0633\u062a\u0639\u0645\u0644 \u0627\u0644\u0628\u0631\u064a\u062f" }, + { "MailPasswordInfo", "\u0643\u0644\u0645\u0629 \u0633\u0631 \u0645\u0633\u062a\u0639\u0645\u0644 \u0628\u0631\u064a\u062f \u0643\u0645\u0628\u064a\u0631" }, + { "MailPassword", "\u0643\u0644\u0645\u0629 \u0633\u0631 \u0627\u0644\u0628\u0631\u064a\u062f" }, + { "KeyStorePassword", "\u0643\u0644\u0645\u0629 \u0633\u0631 \u0645\u0641\u062a\u0627\u062d \u0627\u0644\u062e\u0632\u0646" }, + { "KeyStorePasswordInfo", "SSL \u0643\u0644\u0645\u0629 \u0633\u0631 \u0645\u0641\u062a\u0627\u062d \u0627\u0644\u062e\u0632\u0646" }, + // + { "JavaType", "\u0627\u0644\u0622\u0644\u0629 \u0627\u0644\u0648\u0647\u0645\u064a\u0651\u064e\u0629 \u062c\u0627\u0641\u0627"}, + { "JavaTypeInfo", "\u0628\u0627\u0626\u0639 \u0627\u0644\u0622\u0644\u0629 \u0627\u0644\u0648\u0647\u0645\u064a\u0651\u064e\u0629 \u062c\u0627\u0641\u0627"}, + { "AppsType", "\u0646\u0648\u0639 \u0627\u0644\u0645\u0648\u0632\u0639"}, + { "AppsTypeInfo", "J2EE \u0646\u0648\u0639 \u0645\u0648\u0632\u0639 \u0627\u0644\u062a\u0637\u0628\u064a\u0642"}, + { "DeployDir", "\u0627\u0644\u0646\u0634\u0631"}, + { "DeployDirInfo", "J2EE \u0645\u0644\u0641 \u0627\u0644\u0646\u0634\u0631"}, + { "ErrorDeployDir", "\u062e\u0637\u0623 \u0641\u064a \u0645\u0644\u0641 \u0627\u0644\u0646\u0634\u0631"}, + // + { "TestInfo", "\u0627\u0650\u062e\u062a\u0628\u0631 \u0627\u0644\u0625\u0639\u062f\u0627\u062f" }, + { "Test", "\u0627\u0650\u062e\u062a\u0628\u0631" }, + { "SaveInfo", "\u0627\u0650\u062d\u0641\u0638 \u0627\u0644\u0625\u0639\u062f\u0627\u062f" }, + { "Save", "\u0627\u0650\u062d\u0641\u0638" }, + { "HelpInfo", "\u0623\u062d\u0635\u0644 \u0639\u0644\u0649 \u0645\u0633\u0627\u0639\u062f\u0629" }, + // + { "ServerError", "\u062e\u0637\u0623 \u0641\u064a \u0625\u0639\u062f\u0627\u062f \u0627\u0644\u0645\u0648\u0632\u0639" }, + { "ErrorJavaHome", "\u062e\u0637\u0623 \u0641\u064a \u0645\u0648\u0637\u0646 \u062c\u0627\u0641\u0627" }, + { "ErrorAdempiereHome", "\u062e\u0637\u0623 \u0641\u064a \u0645\u0648\u0637\u0646 \u0643\u0645\u0628\u064a\u0631" }, + { "ErrorAppsServer", "\u062e\u0637\u0623 \u0641\u064a \u0645\u0648\u0632\u0639 \u0627\u0644\u062a\u0637\u0628\u064a\u0642" }, + { "ErrorWebPort", "\u062e\u0637\u0623 \u0641\u064a \u0645\u0646\u0641\u0630 \u0627\u0644\u0648\u0627\u0628" }, + { "ErrorJNPPort", "JNP \u062e\u0637\u0623 \u0641\u064a \u0645\u0646\u0641\u0630" }, + { "ErrorDatabaseServer", "\u062e\u0637\u0623 \u0641\u064a \u0645\u0648\u0632\u0639 \u0642\u0627\u0639\u062f\u0629 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a" }, + { "ErrorDatabasePort", "\u062e\u0637\u0623 \u0641\u064a \u0645\u0646\u0641\u0630 \u0645\u0648\u0632\u0639 \u0642\u0627\u0639\u062f\u0629 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a" }, + { "ErrorJDBC", "JDBC \u062e\u0637\u0623 \u0641\u064a \u0627\u0644\u0631\u0651\u064e\u0628\u0637" }, + { "ErrorTNS", "TNS \u062e\u0637\u0623 \u0641\u064a \u0627\u0644\u0631\u0651\u064e\u0628\u0637" }, + { "ErrorMailServer", "\u062e\u0637\u0623 \u0641\u064a \u0645\u0648\u0632\u0639 \u0627\u0644\u0628\u0631\u064a\u062f" }, + { "ErrorMail", "\u062e\u0637\u0623 \u0641\u064a \u0627\u0644\u0628\u0631\u064a\u062f" }, + { "ErrorSave", "\u062e\u0637\u0623 \u0641\u064a \u062d\u0641\u0638 \u0627\u0644\u0645\u0644\u0641" }, + + { "\u0627\u0644\u0645\u062d\u064a\u0637 \u0645\u062d\u0641\u0648\u0638", "\n \u0645\u0644\u0641 \u0627\u0644\u0645\u062d\u064a\u0637 \u0645\u062d\u0641\u0648\u0638 ... \u0628\u062f\u0627\u064a\u0629 \u0627\u0644\u0627\u0650\u0646\u062a\u0634\u0627\u0631" + + "\n \u064a\u0645\u0643\u0646\u0643 \u0625\u0639\u0627\u062f\u0629 \u062a\u0634\u063a\u064a\u0644 \u0645\u0648\u0632\u0639 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 \u0628\u0639\u062f \u0627\u0650\u0646\u062a\u0647\u0627\u0621 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c" + + "\n \u0627\u0644\u0631\u0636\u062c\u0627\u0621 \u062a\u062d\u0642\u064a\u0642 \u0627\u0644\u0623\u062b\u0631 \u0644\u0644\u0623\u062e\u0637\u0627\u0621" } + + }; + + /** + * Get Contents + * @return contents + */ + public Object[][] getContents() + { + return contents; + } // getContents + +} // SetupRes_ar_TN + diff --git a/install/src/org/compiere/install/SetupRes_ca.java b/install/src/org/compiere/install/SetupRes_ca.java new file mode 100644 index 0000000000..468085fc84 --- /dev/null +++ b/install/src/org/compiere/install/SetupRes_ca.java @@ -0,0 +1,118 @@ +/****************************************************************************** + * 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.install; + +import java.util.*; + +/** + * Setup Resources + * + * @translator Jaume Teixi + * @version $Id: SetupRes_ca.java,v 1.2 2006/07/30 00:57:42 jjanke Exp $ + */ +public class SetupRes_ca extends ListResourceBundle +{ + /** Translation Info */ + static final Object[][] contents = new String[][]{ + { "AdempiereServerSetup", "Configuraci� Servidor Adempiere" }, + { "Ok", "D'Acord" }, + { "File", "Fitxer" }, + { "Exit", "Sortir" }, + { "Help", "Ajuda" }, + { "PleaseCheck", "Sisplau Comproveu" }, + { "UnableToConnect", "No s'ha pogut obtenir l'ajuda de la web del Adempiere" }, + + { "AdempiereHomeInfo", "Adempiere Home �s la Carpeta Principal" }, + { "AdempiereHome", "Adempiere Home" }, + { "WebPortInfo", "Web (HTML) Port" }, + { "WebPort", "Web Port" }, + { "AppsServerInfo", "Nom Servidor Aplicaci�" }, + { "AppsServer", "Servidor Aplicaci�" }, + { "DatabaseTypeInfo", "Tipus Base de Dades" }, + { "DatabaseType", "Tipus Base de Dades" }, + { "DatabaseNameInfo", "Nom Base de Dades" }, + { "DatabaseName", "Nom Base de Dades (SID)" }, + { "DatabasePortInfo", "Port Listener Base de Dades" }, + { "DatabasePort", "Port Base de Dades" }, + { "DatabaseUserInfo", "ID Usuari Adempiere Base de Dades" }, + { "DatabaseUser", "Usuari Base de Dades" }, + { "DatabasePasswordInfo", "Contrasenya Usuari Adempiere Base de Dades" }, + { "DatabasePassword", "Contrasenya Base de Dades" }, + { "TNSNameInfo", "TNS o Nom Global Base de Dades" }, + { "TNSName", "Nom TNS" }, + { "SystemPasswordInfo", "Contrasenya Usuari System" }, + { "SystemPassword", "Contrasenya System" }, + { "MailServerInfo", "Servidor Correu" }, + { "MailServer", "Servidor Correu" }, + { "AdminEMailInfo", "Email Administrador Adempiere" }, + { "AdminEMail", "Email Admin" }, + { "DatabaseServerInfo", "Nom Servidor Base de Dades" }, + { "DatabaseServer", "Servidor Base de Dades" }, + { "JavaHomeInfo", "Carpeta Java Home" }, + { "JavaHome", "Java Home" }, + { "JNPPortInfo", "Port JNP Servidor Aplicaci�" }, + { "JNPPort", "Port JNP" }, + { "MailUserInfo", "Usuari Correu Adempiere" }, + { "MailUser", "Usuari Correu" }, + { "MailPasswordInfo", "Contrasenya Usuari Correu Adempiere" }, + { "MailPassword", "Contrasenya Correu" }, + { "KeyStorePassword", "Key Store Password" }, + { "KeyStorePasswordInfo", "Password for SSL Key Store" }, + // + { "JavaType", "Java VM"}, + { "JavaTypeInfo", "Java VM Vendor"}, + { "AppsType", "Server Type"}, + { "AppsTypeInfo", "J2EE Application Server Type"}, + { "DeployDir", "Deployment"}, + { "DeployDirInfo", "J2EE Deployment Directory"}, + { "ErrorDeployDir", "Error Deployment Directory"}, + // + { "TestInfo", "Provar Configuraci�" }, + { "Test", "Provar" }, + { "SaveInfo", "Guardar Configuraci�" }, + { "Save", "Guardar" }, + { "HelpInfo", "Obtenir Ajuda" }, + + { "ServerError", "Error Configuraci� Servidor" }, + { "ErrorJavaHome", "Error Java Home" }, + { "ErrorAdempiereHome", "Error Adempiere Home" }, + { "ErrorAppsServer", "Error Servidor Aplicaci� (no emprar localhost)" }, + { "ErrorWebPort", "Error Port Web" }, + { "ErrorJNPPort", "Error Port JNP" }, + { "ErrorDatabaseServer", "Error Servidor Base de Dades (no emprar localhost)" }, + { "ErrorDatabasePort", "Error Port Base de Dades" }, + { "ErrorJDBC", "Error Connexi� JDBC" }, + { "ErrorTNS", "Error Connexi� TNS" }, + { "ErrorMailServer", "Error Servidor Correu (no emprar localhost)" }, + { "ErrorMail", "Error Correu" }, + { "ErrorSave", "Error Guardant Fitxer" }, + + { "EnvironmentSaved", "Entorn Guardat\nCal reiniciar el servidor." }, + { "RMIoverHTTP", "Tunnel Objects via HTTP" }, + { "RMIoverHTTPInfo", "RMI over HTTP allows to go through firewalls" } + }; + + /** + * Get Contents + * @return contents + */ + public Object[][] getContents() + { + return contents; + } // getContents + +} // SerupRes diff --git a/install/src/org/compiere/install/SetupRes_da.java b/install/src/org/compiere/install/SetupRes_da.java new file mode 100644 index 0000000000..5413bff370 --- /dev/null +++ b/install/src/org/compiere/install/SetupRes_da.java @@ -0,0 +1,119 @@ +/****************************************************************************** + * 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.install; + +import java.util.*; + +/** + * Setup Resources + * + * @author Jorg Janke + * @version $Id: SetupRes_da.java,v 1.2 2006/07/30 00:57:42 jjanke Exp $ + */ +public class SetupRes_da extends ListResourceBundle +{ + /** Translation Info */ + static final Object[][] contents = new String[][]{ + { "AdempiereServerSetup", "Adempiere: Opsætning af server" }, + { "Ok", "OK" }, + { "File", "Fil" }, + { "Exit", "Afslut" }, + { "Help", "Hjælp" }, + { "PleaseCheck", "Kontrollér" }, + { "UnableToConnect", "Kan ikke hente hjælp fra Adempieres web-sted" }, + + { "AdempiereHomeInfo", "Adempiere Home er hovedmappen" }, + { "AdempiereHome", "Adempiere Home" }, + { "WebPortInfo", "Web (HTML)-port" }, + { "WebPort", "Web-port" }, + { "AppsServerInfo", "Programserverens navn" }, + { "AppsServer", "Prog.-server" }, + { "DatabaseTypeInfo", "Databasetype" }, + { "DatabaseType", "Databasetype" }, + { "DatabaseNameInfo", "Databasenavn " }, + { "DatabaseName", "Databasenavn (SID)" }, + { "DatabasePortInfo", "Database Listener Port" }, + { "DatabasePort", "Databaseport" }, + { "DatabaseUserInfo", "Database: Bruger-ID til Adempiere" }, + { "DatabaseUser", "Database: Bruger" }, + { "DatabasePasswordInfo", "Database: Brugeradgangskode til Adempiere" }, + { "DatabasePassword", "Database: Adgangskode" }, + { "TNSNameInfo", "TNS eller Global Database Name" }, + { "TNSName", "TNS-navn" }, + { "SystemPasswordInfo", "System: Brugeradgangskode" }, + { "SystemPassword", "System-adgangskode" }, + { "MailServerInfo", "Mail-server" }, + { "MailServer", "Mail-server" }, + { "AdminEMailInfo", "Adempiere: Administrators e-mail" }, + { "AdminEMail", "Admin. e-mail" }, + { "DatabaseServerInfo", "Databaseservers navn" }, + { "DatabaseServer", "Databaseserver" }, + { "JavaHomeInfo", "Java Home-mappe" }, + { "JavaHome", "Java Home" }, + { "JNPPortInfo", "Programservers JNP-port" }, + { "JNPPort", "JNP-port" }, + { "MailUserInfo", "Adempiere: Mail-bruger" }, + { "MailUser", "Mail: Bruger" }, + { "MailPasswordInfo", "Adempiere: Brugeradgangskode til mail" }, + { "MailPassword", "Adgangskode til mail" }, + { "KeyStorePassword", "Key Store Password" }, + { "KeyStorePasswordInfo", "Password for SSL Key Store" }, + // + { "JavaType", "Java VM"}, + { "JavaTypeInfo", "Java VM Vendor"}, + { "AppsType", "Server Type"}, + { "AppsTypeInfo", "J2EE Application Server Type"}, + { "DeployDir", "Deployment"}, + { "DeployDirInfo", "J2EE Deployment Directory"}, + { "ErrorDeployDir", "Error Deployment Directory"}, + // + { "TestInfo", "Afprøv opsætning" }, + { "Test", "Afprøv" }, + { "SaveInfo", "Gem opsætning" }, + { "Save", "Gem" }, + { "HelpInfo", "Hjælp" }, + + { "ServerError", "Fejl: Serverops�tning" }, + { "ErrorJavaHome", "Fejl: Java Home" }, + { "ErrorAdempiereHome", "Fejl: Adempiere Home" }, + { "ErrorAppsServer", "Fejl: Prog.-server (brug ikke localhost)" }, + { "ErrorWebPort", "Fejl: Web-port" }, + { "ErrorJNPPort", "Fejl: JNP-port" }, + { "ErrorDatabaseServer", "Fejl: Databaseserver (brug ikke localhost)" }, + { "ErrorDatabasePort", "Fejl: Databaseport" }, + { "ErrorJDBC", "Fejl: JDBC-forbindelse" }, + { "ErrorTNS", "Fejl: TNS-forbindelse" }, + { "ErrorMailServer", "Fejl: Mailserver (brug ikke localhost)" }, + { "ErrorMail", "Fejl: Mail" }, + { "ErrorSave", "Fejl: Swing-fil" }, + + { "EnvironmentSaved", "Miljøet er gemt\nGenstart serveren." }, + { "RMIoverHTTP", "Tunnel Objects via HTTP" }, + { "RMIoverHTTPInfo", "RMI over HTTP allows to go through firewalls" } + }; + + /** + * Get Contents + * @return contents + */ + public Object[][] getContents() + { + return contents; + } // getContents + +} // SetupRes_da + diff --git a/install/src/org/compiere/install/SetupRes_fa.java b/install/src/org/compiere/install/SetupRes_fa.java new file mode 100644 index 0000000000..1d7baad84c --- /dev/null +++ b/install/src/org/compiere/install/SetupRes_fa.java @@ -0,0 +1,119 @@ +/****************************************************************************** + * 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.install; + +import java.util.*; + +/** + * Setup Resources + * + * @author Jorg Janke + * @version $Id: SetupRes_fa.java,v 1.2 2006/07/30 00:57:42 jjanke Exp $ + */ +public class SetupRes_fa extends ListResourceBundle +{ + /** Translation Info */ + static final Object[][] contents = new String[][]{ + { "AdempiereServerSetup", "\u0628\u0631\u067e\u0627\u06a9\u0631\u062f\u0646 \u0633\u0631\u0648\u0631 \u06a9\u0627\u0645\u067e\u064a\u0631\u0647" }, + { "Ok", "\u0642\u0628\u0648\u0644" }, + { "File", "\u0642\u0627\u064a\u0644" }, + { "Exit", "\u062e\u0631\u0648\u062c" }, + { "Help", "\u0631\u0627\u0647\u0646\u0645\u0627\u0626\u06cc" }, + { "PleaseCheck", "\u0644\u0637\u0641\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u064a\u062f" }, + { "UnableToConnect", "\u0642\u0627\u062f\u0631 \u0628\u0647 \u062f\u0631\u064a\u0627\u0641\u062a \u0631\u0627\u0647\u0646\u0645\u0627\u064a\u06cc \u0627\u0632 \u0633\u0627\u064a\u062a \u06a9\u0627\u0645\u067e\u064a\u0631\u0647 \u0646\u0634\u062f\u0645" }, + // + { "AdempiereHomeInfo", "\u06a9\u0627\u0645\u067e\u064a\u0631\u0647 \u0647\u0648\u0645 \u0641\u0648\u0644\u062f\u0631 \u0627\u0635\u0644\u06cc \u0627\u0633\u062a" }, + { "AdempiereHome", "\u06a9\u0627\u0645\u067e\u064a\u0631\u0647 \u0647\u0648\u0645" }, + { "WebPortInfo", "\u062f\u0631\u06af\u0627\u0647 \u0648\u0628" }, + { "WebPort", "\u062f\u0631\u06af\u0627\u0647 \u0648\u0628" }, + { "AppsServerInfo", "\u0646\u0627\u0645 \u0633\u0631\u0648\u0631 \u06a9\u0627\u0631\u0628\u0631\u062f" }, + { "AppsServer", "\u0633\u0631\u0648\u0631 \u06a9\u0627\u0631\u0628\u0631\u062f" }, + { "DatabaseTypeInfo", "\u0646\u0648\u0639 \u0628\u0627\u0646\u06a9 \u0627\u0637\u0644\u0627\u0639\u0627\u062a\u06cc" }, + { "DatabaseType", "\u0646\u0648\u0639 \u0628\u0627\u0646\u06a9 \u0627\u0637\u0644\u0627\u0639\u0627\u062a\u06cc" }, + { "DatabaseNameInfo", "\u0646\u0627\u0645 \u0628\u0627\u0646\u06a9 \u0627\u0637\u0644\u0627\u0639\u0627\u062a\u06cc" }, + { "DatabaseName", "\u0646\u0627\u0645 \u0628\u0627\u0646\u06a9 \u0627\u0637\u0644\u0627\u0639\u0627\u062a\u06cc" }, + { "DatabasePortInfo", "\u062f\u0631\u06af\u0627\u0647 \u0634\u0646\u0648\u062f \u0628\u0627\u0646\u06a9 \u0627\u0637\u0644\u0627\u0639\u0627\u062a\u06cc" }, + { "DatabasePort", "\u062f\u0631\u06af\u0627\u0647 \u0628\u0627\u0646\u06a9 \u0627\u0637\u0644\u0627\u0639\u0627\u062a\u06cc" }, + { "DatabaseUserInfo", "\u0645\u0634\u062e\u0635\u0647 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u0646\u062f\u0647 \u0628\u0627\u0646\u06a9 \u0627\u0637\u0644\u0627\u0639\u0627\u062a\u06cc \u06a9\u0627\u0645\u067e\u064a\u0631\u0647" }, + { "DatabaseUser", "\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u0646\u062f\u0647 \u0628\u0627\u0646\u06a9 \u0627\u0637\u0644\u0627\u0639\u0627\u062a\u06cc" }, + { "DatabasePasswordInfo", "\u06a9\u0644\u0645\u0647 \u0639\u0628\u0648\u0631 \u0628\u0627\u0646\u06a9 \u0627\u0637\u0644\u0627\u0639\u0627\u062a\u06cc \u06a9\u0627\u0645\u067e\u064a\u0631\u0647" }, + { "DatabasePassword", "\u06a9\u0644\u0645\u0647 \u0639\u0628\u0648\u0631 \u0628\u0627\u0646\u06a9 \u0627\u0637\u0644\u0627\u0639\u0627\u062a\u06cc" }, + { "TNSNameInfo", "\u062a\u06cc \u0627\u0646 \u0627\u0633 \u064a\u0627 \u0646\u0627\u0645 \u062c\u0647\u0627\u0646\u06cc \u0628\u0627\u0646\u06a9 \u0627\u0637\u0644\u0627\u0639\u0627\u062a" }, + { "TNSName", "\u0646\u0627\u0645 \u062a\u06cc \u0627\u0646 \u0627\u0633" }, + { "SystemPasswordInfo", "\u06a9\u0644\u0645\u0647 \u0639\u0628\u0648\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u0646\u062f\u0647 \u0633\u064a\u0633\u062a\u0645" }, + { "SystemPassword", "\u06a9\u0644\u0645\u0647 \u0639\u0628\u0648\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u0646\u062f\u0647 \u0633\u064a\u0633\u062a\u0645" }, + { "MailServerInfo", "\u0633\u0631\u0648\u0631 \u0646\u0627\u0645\u0647" }, + { "MailServer", "\u0633\u0631\u0648\u0631 \u0646\u0627\u0645\u0647" }, + { "AdminEMailInfo", "\u0646\u0627\u0645\u0647 \u0627\u0644\u06a9\u062a\u0631\u0648\u0646\u064a\u06a9\u06cc \u0646\u0627\u0638\u0631 \u06a9\u0627\u0645\u067e\u064a\u0631\u0647" }, + { "AdminEMail", "\u0646\u0627\u0645\u0647 \u0627\u0644\u06a9\u062a\u0631\u0648\u0646\u064a\u06a9 \u0646\u0627\u0638\u0631" }, + { "DatabaseServerInfo", "\u0646\u0627\u0645 \u0633\u0631\u0648\u0631 \u0628\u0627\u0646\u06a9 \u0627\u0637\u0644\u0627\u0639\u0627\u062a" }, + { "DatabaseServer", "\u0633\u0631\u0648\u0631 \u0628\u0627\u0646\u06a9 \u0627\u0637\u0644\u0627\u0639\u0627\u062a" }, + { "JavaHomeInfo", "\u0641\u0648\u0644\u062f\u0631 \u062e\u0627\u0646\u06af\u06cc \u062c\u0627\u0648\u0627" }, + { "JavaHome", "\u062e\u0627\u0646\u0647 \u062c\u0627\u0648\u0627" }, + { "JNPPortInfo", "\u062f\u0631\u06af\u0627\u0647 \u062c\u06cc \u0627\u0646 \u067e\u06cc \u06a9\u0627\u0631\u0628\u0631\u062f" }, + { "JNPPort", "\u062f\u0631\u06af\u0627\u0647 \u062c\u06cc \u0627\u0646 \u067e\u06cc" }, + { "MailUserInfo", "\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u0646\u062f\u0647 \u0646\u0627\u0645\u0647 \u06a9\u0627\u0645\u067e\u064a\u0631\u0647" }, + { "MailUser", "\u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u0646\u062f\u0647 \u0646\u0627\u0645\u0647" }, + { "MailPasswordInfo", "\u06a9\u0644\u0645\u0647 \u0639\u0628\u0648\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u0646\u062f\u0647 \u06a9\u0627\u0645\u067e\u064a\u0631\u0647" }, + { "MailPassword", "\u06a9\u0644\u0645\u0647 \u0639\u0628\u0648\u0631 \u0646\u0627\u0645\u0647" }, + { "KeyStorePassword", "Key Store Password" }, + { "KeyStorePasswordInfo", "Password for SSL Key Store" }, + // + { "JavaType", "Java VM"}, + { "JavaTypeInfo", "Java VM Vendor"}, + { "AppsType", "Server Type"}, + { "AppsTypeInfo", "J2EE Application Server Type"}, + { "DeployDir", "Deployment"}, + { "DeployDirInfo", "J2EE Deployment Directory"}, + { "ErrorDeployDir", "Error Deployment Directory"}, + // + { "TestInfo", "\u062a\u0646\u0638\u064a\u0645\u0627\u062a \u0631\u0627 \u0622\u0632\u0645\u0627\u064a\u0634 \u06a9\u0646\u064a\u062f" }, + { "Test", "\u0622\u0632\u0645\u0627\u064a\u0634" }, + { "SaveInfo", "\u062a\u0646\u0638\u064a\u0645\u0627\u062a \u0631\u0627 \u0630\u062e\u064a\u0631\u0647 \u06a9\u0646\u064a\u0623" }, + { "Save", "\u0630\u062e\u064a\u0631\u0647" }, + { "HelpInfo", "\u0631\u0627\u0647\u0646\u0645\u0627\u064a\u06cc \u0628\u06af\u064a\u0631\u064a\u062f" }, + // + { "ServerError", "\u062e\u0637\u0627 \u062f\u0631 \u062a\u0646\u0638\u064a\u0645\u0627\u062a \u0633\u0631\u0648\u0631" }, + { "ErrorJavaHome", "\u062e\u0627\u0646\u0647 \u062c\u0627\u0648\u0627 \u0627\u0634\u062a\u0628\u0627\u0647 \u0627\u0633\u062a" }, + { "ErrorAdempiereHome", "\u062e\u0627\u0646\u0647 \u06a9\u0627\u0645\u067e\u064a\u0631\u0647 \u0627\u0634\u062a\u0628\u0627\u0647 \u0627\u0633\u062a" }, + { "ErrorAppsServer", "\u062e\u0637\u0627 \u062f\u0631 \u0633\u0631\u0648\u0631 \u06a9\u0627\u0631\u0628\u0631\u062f" }, + { "ErrorWebPort", "\u062e\u0637\u0627 \u062f\u0631 \u062f\u0631\u06af\u0627\u0647 \u0648\u0628" }, + { "ErrorJNPPort", "\u062e\u0637\u0627 \u062f\u0631 \u062f\u0631\u06af\u0627\u0647 \u062c\u06cc \u0627\u0646 \u067e\u06cc" }, + { "ErrorDatabaseServer", "\u062e\u0637\u0627 \u062f\u0631 \u0633\u0631\u0648\u0631 \u0628\u0627\u0646\u06a9 \u0627\u0637\u0644\u0627\u0639\u0627\u062a" }, + { "ErrorDatabasePort", "\u062e\u0637\u0627 \u062f\u0631 \u062f\u0631\u06af\u0627\u0647 \u0628\u0627\u0646\u06a9 \u0627\u0637\u0644\u0627\u0639\u0627\u062a" }, + { "ErrorJDBC", "\u062e\u0637\u0627 \u062f\u0631 \u0627\u062a\u0635\u0627\u0644 \u062c\u06cc \u062f\u06cc \u0628\u06cc \u0633\u06cc" }, + { "ErrorTNS", "\u062e\u0637\u0627 \u062f\u0631 \u0627\u062a\u0635\u0627\u0644 \u062a\u06cc \u0627\u0646 \u0627\u0633" }, + { "ErrorMailServer", "\u062e\u0637\u0627 \u062f\u0631 \u0633\u0631\u0648\u0631 \u0646\u0627\u0645\u0647" }, + { "ErrorMail", "\u062e\u0637\u0627 \u062f\u0631 \u0646\u0627\u0645\u0647" }, + { "ErrorSave", "\u062e\u0637\u0627 \u062f\u0631 \u0630\u062e\u064a\u0631\u0647 \u0641\u0627\u064a\u0644" }, + + { "EnvironmentSaved", "\u0645\u062d\u064a\u0637 \u0630\u062e\u064a\u0631\u0647 \u0634\u062f\n\u0628\u0627\u064a\u0633\u062a\u06cc \u0633\u0631\u0648\u0631 \u0631\u0627 \u0627\u0632 \u0646\u0648 \u0628\u0631\u067e\u0627 \u06a9\u0646\u064a\u062f" }, + + { "RMIoverHTTP", "\u0627\u0634\u064a\u0627\u0621 \u0631\u0627 \u0627\u0632 \u0637\u0631\u0650\u0642 \u0627\u0686 \u062a\u06cc \u062a\u06cc \u067e\u06cc \u062a\u0648\u0646\u0644 \u06a9\u0646" }, + { "RMIoverHTTPInfo", "\u0622\u0631 \u0627\u0645 \u0622\u06cc \u0628\u0631 \u0631\u0648\u06cc \u0627\u0686 \u062a\u06cc \u062a\u06cc \u067e\u06cc \u0627\u0686\u0627\u0632\u0647 \u0639\u0628\u0648\u0631 \u0627\u0632 \u0637\u0631\u064a\u0642 \u0641\u0627\u064a\u0631\u0648\u0627\u0644\u0647\u0627 \u0631\u0627 \u0645\u06cc \u062f\u0647\u062f" } + }; + + /** + * Get Contents + * @return contents + */ + public Object[][] getContents() + { + return contents; + } // getContents + +} // SerupRes diff --git a/install/src/org/compiere/install/SetupRes_fi.java b/install/src/org/compiere/install/SetupRes_fi.java new file mode 100644 index 0000000000..329f35ad40 --- /dev/null +++ b/install/src/org/compiere/install/SetupRes_fi.java @@ -0,0 +1,121 @@ +/****************************************************************************** + * 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.install; + +import java.util.*; + +/** + * Setup Resources for Finnish language + * + * @author Petteri Soininen (petteri.soininen@netorek.fi) + * @version $Id: SetupRes_fi.java,v 1.2 2006/07/30 00:57:42 jjanke Exp $ + */ +public class SetupRes_fi extends ListResourceBundle +{ + /** + * Translation Info + */ + static final Object[][] contents = new String[][]{ + { "AdempiereServerSetup", "Adempiere-palvelimen Asetukset" }, + { "Ok", "Hyv�ksy" }, + { "File", "Tiedosto" }, + { "Exit", "Poistu" }, + { "Help", "Help" }, + { "PleaseCheck", "Ole hyv� ja valitse" }, + { "UnableToConnect", "Yhteydenotto Adempieren Web-Help:in ei onnistu" }, + // + { "AdempiereHomeInfo", "Adempiere Home on p��kansio" }, + { "AdempiereHome", "Adempiere Home" }, + { "WebPortInfo", "Web (HTML) Portti" }, + { "WebPort", "Web Portti" }, + { "AppsServerInfo", "Sovelluspalvelimen Nimi" }, + { "AppsServer", "Sovelluspalvelin" }, + { "DatabaseTypeInfo", "Tietokantatyyppi" }, + { "DatabaseType", "Tietokantatyyppi" }, + { "DatabaseNameInfo", "Tietokannan Nimi" }, + { "DatabaseName", "Tietokannan Nimi (SID)" }, + { "DatabasePortInfo", "Tietokannan kuuntelijaportti" }, + { "DatabasePort", "Tietokantaportti" }, + { "DatabaseUserInfo", "Tietokannan Adempiere-k�ytt�j�tunnus" }, + { "DatabaseUser", "Tietokannan k�ytt�j�tunnus" }, + { "DatabasePasswordInfo", "Tietokannan Adempiere-salasana" }, + { "DatabasePassword", "Tietokannan salasana" }, + { "TNSNameInfo", "TNS tai Globaali Tietokannan Nimi" }, + { "TNSName", "TNS Nimi" }, + { "SystemPasswordInfo", "J�rjestelm�salasana" }, + { "SystemPassword", "J�rjestelm�salasana" }, + { "MailServerInfo", "S�hk�postipalvelin" }, + { "MailServer", "S�hk�postipalvelin" }, + { "AdminEMailInfo", "Adempiere-yll�pit�j�n S�hk�posti" }, + { "AdminEMail", "Yll�pit�j�n S�hk�posti" }, + { "DatabaseServerInfo", "Tietokantapalvelimen Nimi" }, + { "DatabaseServer", "Tietokantapalvelin" }, + { "JavaHomeInfo", "Java-kotihakemisto" }, + { "JavaHome", "Java-koti" }, + { "JNPPortInfo", "Sovelluspalvelimen JNP-portti" }, + { "JNPPort", "JNP-portti" }, + { "MailUserInfo", "Adempiere-s�hk�postik�ytt�j�" }, + { "MailUser", "S�hk�postik�ytt�j�" }, + { "MailPasswordInfo", "Adempiere-s�hk�postisalasana" }, + { "MailPassword", "S�hk�postisalasana" }, + { "KeyStorePassword", "Key Store Password" }, + { "KeyStorePasswordInfo", "Password for SSL Key Store" }, + // + { "JavaType", "Java VM"}, + { "JavaTypeInfo", "Java VM Vendor"}, + { "AppsType", "Server Type"}, + { "AppsTypeInfo", "J2EE Application Server Type"}, + { "DeployDir", "Deployment"}, + { "DeployDirInfo", "J2EE Deployment Directory"}, + { "ErrorDeployDir", "Error Deployment Directory"}, + // + { "TestInfo", "Testaa Asetukset" }, + { "Test", "Testaa" }, + { "SaveInfo", "Tallenna Asetukset" }, + { "Save", "Tallenna" }, + { "HelpInfo", "Hae Apua" }, + // + { "ServerError", "Palvelimen Asetusvirhe" }, + { "ErrorJavaHome", "Java-kotivirhe" }, + { "ErrorAdempiereHome", "Adempiere-kotivirhe" }, + { "ErrorAppsServer", "Sovelluspalvelinvirhe (�l� k�yt� paikallisverkkoasemaa)" }, + { "ErrorWebPort", "Web-porttivirhe" }, + { "ErrorJNPPort", "JNP-porttivirhe" }, + { "ErrorDatabaseServer", "Tietokantapalvelinvirhe (�l� k�yt� paikallisverkkoasemaa)" }, + { "ErrorDatabasePort", "Tietokantaporttivirhe" }, + { "ErrorJDBC", "JDBC-yhteysvirhe" }, + { "ErrorTNS", "TNS-yhteysvirhe" }, + { "ErrorMailServer", "S�hk�postipalvelinvirhe (�l� k�yt� paikallisverkkoasemaa)" }, + { "ErrorMail", "S�hk�postivirhe" }, + { "ErrorSave", "Tiedostontallennusvirhe" }, + + { "EnvironmentSaved", "Ymp�rist� tallennettu/Palvelin t�ytyy k�ynnist�� uudelleen." }, + + { "RMIoverHTTP", "Tunneloi objektit HTTP kautta" }, + { "RMIoverHTTPInfo", "RMI HTTP:n yli mahdollistaa palomuurien l�p�isyn" } + }; + + /** + * Get Contents + * @return contents + */ + public Object[][] getContents() + { + return contents; + } // getContents + +} // SerupRes diff --git a/install/src/org/compiere/install/SetupRes_hr.java b/install/src/org/compiere/install/SetupRes_hr.java new file mode 100644 index 0000000000..001e1b9888 --- /dev/null +++ b/install/src/org/compiere/install/SetupRes_hr.java @@ -0,0 +1,118 @@ +/****************************************************************************** + * 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.install; + +import java.util.*; + +/** + * Setup Resources + * + * @author Marko Bubalo + * @version $Id: SetupRes_hr.java,v 1.2 2006/07/30 00:57:42 jjanke Exp $ + */ +public class SetupRes_hr extends ListResourceBundle +{ + /** Translation Info */ + /** Translation Info */ + static final Object[][] contents = new String[][]{ + { "AdempiereServerSetup", "Postavke Adempiere servera" }, + { "Ok", "U redu" }, + { "File", "Datoteka" }, + { "Exit", "Izlaz" }, + { "Help", "Pomo�" }, + { "PleaseCheck", "Molim provjeriti" }, + { "UnableToConnect", "Gre�ka u spajanju na Adempiere web pomo�" }, + // + { "AdempiereHomeInfo", "Adempiere Home je glavni direktorij" }, + { "AdempiereHome", "Adempiere Home" }, + { "WebPortInfo", "Web (HTML) Port" }, + { "WebPort", "Web Port" }, + { "AppsServerInfo", "Naziv servera aplikacije" }, + { "AppsServer", "Server aplikacije" }, + { "DatabaseTypeInfo", "Tip baze podataka" }, + { "DatabaseType", "Tip baze podataka" }, + { "DatabaseNameInfo", "Naziv baze " }, + { "DatabaseName", "Naziv baze (SID)" }, + { "DatabasePortInfo", "Database Listener Port" }, + { "DatabasePort", "Port baze" }, + { "DatabaseUserInfo", "Database Adempiere User ID" }, + { "DatabaseUser", "Korisnik baze" }, + { "DatabasePasswordInfo", "Lozinka korisnika baze" }, + { "DatabasePassword", "Lozinka baze" }, + { "TNSNameInfo", "TNS or Global Database Name" }, + { "TNSName", "TNS Name" }, + { "SystemPasswordInfo", "Lozinka korisnika Sytem" }, + { "SystemPassword", "System lozinka" }, + { "MailServerInfo", "Mail Server" }, + { "MailServer", "Mail Server" }, + { "AdminEMailInfo", "Adempiere Administrator EMail" }, + { "AdminEMail", "Admin EMail" }, + { "DatabaseServerInfo", "Naziv servera baze" }, + { "DatabaseServer", "Server baze" }, + { "JavaHomeInfo", "Java Home Folder" }, + { "JavaHome", "Java Home" }, + { "JNPPortInfo", "Application Server JNP Port" }, + { "JNPPort", "JNP Port" }, + { "MailUserInfo", "Adempiere Mail korisnik" }, + { "MailUser", "Mail korisnik" }, + { "MailPasswordInfo", "Adempiere Mail lozinka korisnika" }, + { "MailPassword", "Mail lozinka" }, + { "KeyStorePassword", "Key Store Password" }, + { "KeyStorePasswordInfo", "Password for SSL Key Store" }, + // + { "JavaType", "Java VM"}, + { "JavaTypeInfo", "Java VM Vendor"}, + { "AppsType", "Server Type"}, + { "AppsTypeInfo", "J2EE Application Server Type"}, + { "DeployDir", "Deployment"}, + { "DeployDirInfo", "J2EE Deployment Directory"}, + { "ErrorDeployDir", "Error Deployment Directory"}, + // + { "TestInfo", "Test postavki" }, + { "Test", "Test" }, + { "SaveInfo", "Sa�uvati postavke" }, + { "Save", "Sa�uvati" }, + { "HelpInfo", "Pomo�" }, + // + { "ServerError", "Server Setup Error" }, + { "ErrorJavaHome", "Error Java Home" }, + { "ErrorAdempiereHome", "Error Adempiere Home" }, + { "ErrorAppsServer", "Error Apps Server (do not use localhost)" }, + { "ErrorWebPort", "Error Web Port" }, + { "ErrorJNPPort", "Error JNP Port" }, + { "ErrorDatabaseServer", "Error Database Server (do not use localhost)" }, + { "ErrorDatabasePort", "Error Database Port" }, + { "ErrorJDBC", "Error JDBC Connection" }, + { "ErrorTNS", "Error TNS Connection" }, + { "ErrorMailServer", "Error Mail Server (do not use localhost)" }, + { "ErrorMail", "Error Mail" }, + { "ErrorSave", "Error Sving File" }, + + { "EnvironmentSaved", "Environment saved\nYou can now start the Application Server." } + + }; + + /** + * Get Contents + * @return contents + */ + public Object[][] getContents() + { + return contents; + } // getContents + +} // SerupRes diff --git a/install/src/org/compiere/install/SetupRes_in.java b/install/src/org/compiere/install/SetupRes_in.java new file mode 100644 index 0000000000..5268a9b13d --- /dev/null +++ b/install/src/org/compiere/install/SetupRes_in.java @@ -0,0 +1,119 @@ +/****************************************************************************** + * 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.install; + +import java.util.*; + +/** + * Setup Resources + * + * @author Halim Englen (halim@rfid-indonesia.com) + * @version $Id: SetupRes_in.java,v 1.2 2006/07/30 00:57:42 jjanke Exp $ + */ +public class SetupRes_in extends ListResourceBundle +{ + /** Translation Info */ + static final Object[][] contents = new String[][]{ + { "AdempiereServerSetup", "Setup Adempiere Server" }, + { "Ok", "Ok" }, + { "File", "File" }, + { "Exit", "Keluar" }, + { "Help", "Bantuan" }, + { "PleaseCheck", "Mohon diperiksa" }, + { "UnableToConnect", "Koneksi gagal. Saat ini bantuan tidak bisa didapatkan dari situs web Adempiere" }, + // + { "AdempiereHomeInfo", "Adempiere Home adalah direktori utama" }, + { "AdempiereHome", "Adempiere Home" }, + { "WebPortInfo", "Port Web (HTML)" }, + { "WebPort", "Port Web" }, + { "AppsServerInfo", "Nama Server Aplikasi" }, + { "AppsServer", "Server Aplikasi" }, + { "DatabaseTypeInfo", "Tipe Database" }, + { "DatabaseType", "Tipe Database" }, + { "DatabaseNameInfo", "Nama Database (Service)" }, + { "DatabaseName", "Nama Database" }, + { "DatabasePortInfo", "Port Database Listener" }, + { "DatabasePort", "Port Database" }, + { "DatabaseUserInfo", "ID Pengguna untuk database Adempiere" }, + { "DatabaseUser", "Pengguna Database" }, + { "DatabasePasswordInfo", "Kata sandi pengguna untuk database Adempiere" }, + { "DatabasePassword", "Kata Sandi Database" }, + { "TNSNameInfo", "Database-database yang ditemukan" }, + { "TNSName", "Pilih Database" }, + { "SystemPasswordInfo", "Kata Sandi Pengguna Sistem" }, + { "SystemPassword", "Kata Sandi Sistem" }, + { "MailServerInfo", "Server Mail" }, + { "MailServer", "Server Mail" }, + { "AdminEMailInfo", "Email Adempiere Administrator" }, + { "AdminEMail", "EMail Admin" }, + { "DatabaseServerInfo", "Nama Database Server" }, + { "DatabaseServer", "Server Database" }, + { "JavaHomeInfo", "Java Home Folder" }, + { "JavaHome", "Java Home" }, + { "JNPPortInfo", "Port JNP untuk Server Aplikasi" }, + { "JNPPort", "Port JNP" }, + { "MailUserInfo", "Pengguna Adempiere Mail" }, + { "MailUser", "Pengguna Mail" }, + { "MailPasswordInfo", "Adempiere Mail User Password" }, + { "MailPassword", "Kata Sandi Mail" }, + { "KeyStorePassword", "Kata Sandi KeyStore" }, + { "KeyStorePasswordInfo", "Kata Sandi untuk SSL Key Store" }, + // + { "JavaType", "Java VM"}, + { "JavaTypeInfo", "Vendor Java VM"}, + { "AppsType", "Tipe Server"}, + { "AppsTypeInfo", "Tipe Server Aplikasi J2EE"}, + { "DeployDir", "Direktori"}, + { "DeployDirInfo", "Direktori sebar aplikasi J2EE"}, + { "ErrorDeployDir", "Error direktori sebar aplikasi J2EE"}, + // + { "TestInfo", "Uji Setup" }, + { "Test", "Uji" }, + { "SaveInfo", "Simpan Setup" }, + { "Save", "Simpan" }, + { "HelpInfo", "Cari Bantuan" }, + // + { "ServerError", "Error Setup Server" }, + { "ErrorJavaHome", "Error Java Home" }, + { "ErrorAdempiereHome", "Error Adempiere Home" }, + { "ErrorAppsServer", "Error Server Aplikasi (jangan gunakan localhost)" }, + { "ErrorWebPort", "Error Web Port" }, + { "ErrorJNPPort", "Error JNP Port" }, + { "ErrorDatabaseServer", "Error Database Server (jangan gunakan localhost)" }, + { "ErrorDatabasePort", "Error Port Database" }, + { "ErrorJDBC", "Error Koneksi JDBC" }, + { "ErrorTNS", "Error Koneksi TNS" }, + { "ErrorMailServer", "Error Mail Server (jangan gunakan localhost)" }, + { "ErrorMail", "Error Mail" }, + { "ErrorSave", "Error Simpan File" }, + + { "EnvironmentSaved", "File environment tersimpan .... Penyebaran dimulai\n" + + "Anda dapat me-restart Server Aplikasi setelah program selesai.\n" + + "Mohon periksa layar trace untuk error.\n" } + + }; + + /** + * Get Contents + * @return contents + */ + public Object[][] getContents() + { + return contents; + } // getContents + +} // SerupRes diff --git a/install/src/org/compiere/install/SetupRes_ja.java b/install/src/org/compiere/install/SetupRes_ja.java new file mode 100644 index 0000000000..83039df94d --- /dev/null +++ b/install/src/org/compiere/install/SetupRes_ja.java @@ -0,0 +1,115 @@ +/****************************************************************************** + * 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.install; + +import java.util.*; + +/** + * Setup Resources + * + * @author Stefan Christians + * @version $Id: SetupRes_ja.java,v 1.2 2006/07/30 00:57:42 jjanke Exp $ + */ +public class SetupRes_ja extends ListResourceBundle +{ + /** Translation Info */ + static final Object[][] contents = new String[][]{ + { "AdempiereServerSetup", "\u30b3\u30f3\u30d4\u30a8\u30fc\u30ec \u30b5\u30fc\u30d0 \u8a2d\u5b9a" }, + { "Ok", "Ok" }, + { "File", "\u30d5\u30a1\u30a4\u30eb" }, + { "Exit", "\u7d42\u4e86" }, + { "Help", "\u30d8\u30eb\u30d7" }, + { "PleaseCheck", "\u78ba\u304b\u3081\u3066\u4e0b\u3055\u3044" }, + { "UnableToConnect", "\u30b3\u30f3\u30d4\u30a8\u30fc\u30ec\u306e\u30db\u30fc\u30e0\u30da\u30fc\u30b8\u306b\u63a5\u7d9a\u304c\u3067\u304d\u306a\u3044" }, + // + { "AdempiereHomeInfo", "\u30b3\u30f3\u30d4\u30a8\u30fc\u30ec\u306e\u30db\u30fc\u30e0\u30d5\u30a9\u30eb\u30c0" }, + { "AdempiereHome", "\u30b3\u30f3\u30d4\u30a8\u30fc\u30ec\u306e\u30db\u30fc\u30e0" }, + { "WebPortInfo", "\u30a6\u30a8\u30d6 (HTML) \u30dd\u30fc\u30c8" }, + { "WebPort", "\u30a6\u30a8\u30d6 \u30dd\u30fc\u30c8" }, + { "AppsServerInfo", "\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30fb\u30b5\u30fc\u30d0\u540d" }, + { "AppsServer", "\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30fb\u30b5\u30fc\u30d0" }, + { "DatabaseTypeInfo", "\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9" }, + { "DatabaseType", "\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9" }, + { "DatabaseNameInfo", "\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u540d" }, + { "DatabaseName", "\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u540d (SID)" }, + { "DatabasePortInfo", "\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9 \u30ea\u30bb\u30ca\u30fc \u30dd\u30fc\u30c8" }, + { "DatabasePort", "\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9 \u30dd\u30fc\u30c8" }, + { "DatabaseUserInfo", "\u30b3\u30f3\u30d4\u30a8\u30fc\u30ec\u306e\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30e6\u30fc\u30b6\u540d" }, + { "DatabaseUser", "\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30e6\u30fc\u30b6\u540d" }, + { "DatabasePasswordInfo", "\u30b3\u30f3\u30d4\u30a8\u30fc\u30ec\u306e\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30d1\u30b9\u30ef\u30fc\u30c9" }, + { "DatabasePassword", "\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30d1\u30b9\u30ef\u30fc\u30c9" }, + { "TNSNameInfo", "\u30b0\u30ed\u30fc\u30d0\u30eb\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u540d (TNS)" }, + { "TNSName", "TNS" }, + { "SystemPasswordInfo", "\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u30b7\u30b9\u30c6\u30e0\u30e6\u30fc\u30b6\u306e\u30d1\u30b9\u30ef\u30fc\u30c9" }, + { "SystemPassword", "\u30b7\u30b9\u30c6\u30e0\u30d1\u30b9\u30ef\u30fc\u30c9" }, + { "MailServerInfo", "\u30e1\u30fc\u30eb\u30fb\u30b5\u30fc\u30d0" }, + { "MailServer", "\u30e1\u30fc\u30eb\u30fb\u30b5\u30fc\u30d0" }, + { "AdminEMailInfo", "\u30a2\u30c9\u30df\u30cb\u30b9\u30c8\u30ec\u30fc\u30c8\u306e\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9" }, + { "AdminEMail", "\u30e1\u30fc\u30eb" }, + { "DatabaseServerInfo", "\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30fb\u30b5\u30fc\u30d0\u540d" }, + { "DatabaseServer", "\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30fb\u30b5\u30fc\u30d0\u540d" }, + { "JavaHomeInfo", "Java\u306e\u30db\u30fc\u30e0\u30d5\u30a9\u30eb\u30c0" }, + { "JavaHome", "Java\u306e\u30db\u30fc\u30e0" }, + { "JNPPortInfo", "\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30fb\u30b5\u30fc\u30d0\u306eJNP \u30dd\u30fc\u30c8" }, + { "JNPPort", "JNP \u30dd\u30fc\u30c8" }, + { "MailUserInfo", "\u30b3\u30f3\u30d4\u30a8\u30fc\u30ec\u306e\u30e1\u30fc\u30eb\u30e6\u30fc\u30b6\u540d" }, + { "MailUser", "\u30e1\u30fc\u30eb\u30e6\u30fc\u30b6" }, + { "MailPasswordInfo", "\u30b3\u30f3\u30d4\u30a8\u30fc\u30ec\u306e\u30e1\u30fc\u30eb\u30d1\u30b9\u30ef\u30fc\u30c9" }, + { "MailPassword", "\u30e1\u30fc\u30eb\u30d1\u30b9\u30ef\u30fc\u30c9" }, + // + { "JavaType", "Java VM"}, + { "JavaTypeInfo", "Java VM Vendor"}, + { "AppsType", "Server Type"}, + { "AppsTypeInfo", "J2EE Application Server Type"}, + { "DeployDir", "Deployment"}, + { "DeployDirInfo", "J2EE Deployment Directory"}, + { "ErrorDeployDir", "Error Deployment Directory"}, + // + { "TestInfo", "\u8a2d\u5b9a\u306e\u30c6\u30b9\u30c8" }, + { "Test", "\u30c6\u30b9\u30c8" }, + { "SaveInfo", "\u8a2d\u5b9a\u306e\u4fdd\u5b58" }, + { "Save", "\u4fdd\u5b58" }, + { "HelpInfo", "\u30d8\u30eb\u30d7" }, + // + { "ServerError", "\u30b5\u30fc\u30d0\u8a2d\u5b9a\u30a8\u30e9\u30fc" }, + { "ErrorJavaHome", "Java\u306e\u30db\u30fc\u30e0\u30a8\u30e9\u30fc" }, + { "ErrorAdempiereHome", "\u30b3\u30f3\u30d4\u30a8\u30fc\u30ec\u306e\u30db\u30fc\u30e0\u30a8\u30e9\u30fc" }, + { "ErrorAppsServer", "\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30fb\u30b5\u30fc\u30d0\u306e\u30a8\u30e9\u30fc\uff1alocalhost" }, + { "ErrorWebPort", "\u30a6\u30a8\u30d6\u30dd\u30fc\u30c8\u306e\u30a8\u30e9\u30fc" }, + { "ErrorJNPPort", "JNP\u30dd\u30fc\u30c8\u306e\u30a8\u30e9\u30fc" }, + { "ErrorDatabaseServer", "\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30fb\u30b5\u30fc\u30d0\u306e\u30a8\u30e9\u30fc\uff1alocalhost" }, + { "ErrorDatabasePort", "\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30dd\u30fc\u30c8\u306e\u30a8\u30e9\u30fc" }, + { "ErrorJDBC", "JDBC\u63a5\u7d9a\u306e\u30a8\u30e9\u30fc" }, + { "ErrorTNS", "TNS\u63a5\u7d9a\u306e\u30a8\u30e9\u30fc" }, + { "ErrorMailServer", "\u30e1\u30fc\u30eb\u30fb\u30b5\u30fc\u30d0\u306e\u30a8\u30e9\u30fc\uff1alocalhost" }, + { "ErrorMail", "\u30e1\u30fc\u30eb\u306e\u30a8\u30e9\u30fc" }, + { "ErrorSave", "\u4fdd\u5b58\u306e\u30a8\u30e9\u30fc" }, + + { "EnvironmentSaved", "\u8a2d\u5b9a\u3092\u4fdd\u5b58\u3057\u307e\u3057\u305f\u3002\n\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30fb\u30b5\u30fc\u30d0\u3092\u958b\u3044\u3066\u4e0b\u3055\u3044\u3002" } + + }; + + /** + * Get Contents + * @return contents + */ + public Object[][] getContents() + { + return contents; + } // getContents + +} // SerupRes diff --git a/install/src/org/compiere/install/SetupRes_ml.java b/install/src/org/compiere/install/SetupRes_ml.java new file mode 100644 index 0000000000..5c254db206 --- /dev/null +++ b/install/src/org/compiere/install/SetupRes_ml.java @@ -0,0 +1,116 @@ +/****************************************************************************** + * 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.install; + +import java.util.*; + +/** + * Setup Resources + * + * @author Jorg Janke + * @version $Id: SetupRes_ml.java,v 1.2 2006/07/30 00:57:42 jjanke Exp $ + */ +public class SetupRes_ml extends ListResourceBundle +{ + /** Translation Info */ + static final Object[][] contents = new String[][]{ + { "AdempiereServerSetup", "Adempiere Server Setup" }, + { "Ok", "Ok" }, + { "File", "File" }, + { "Exit", "Exit" }, + { "Help", "Help" }, + { "PleaseCheck", "Please Check" }, + { "UnableToConnect", "Unable get help from Adempiere Web Site" }, + + { "AdempiereHomeInfo", "Adempiere Home is the main Folder" }, + { "AdempiereHome", "Adempiere Home" }, + { "WebPortInfo", "Web (HTML) Port" }, + { "WebPort", "Web Port" }, + { "AppsServerInfo", "Application Server Name" }, + { "AppsServer", "Apps Server" }, + { "DatabaseTypeInfo", "Database Type" }, + { "DatabaseType", "Database Type" }, + { "DatabaseNameInfo", "Database Name " }, + { "DatabaseName", "Database Name (SID)" }, + { "DatabasePortInfo", "Database Listener Port" }, + { "DatabasePort", "Database Port" }, + { "DatabaseUserInfo", "Database Adempiere User ID" }, + { "DatabaseUser", "Database User" }, + { "DatabasePasswordInfo", "Database Adempiere User Password" }, + { "DatabasePassword", "Database Password" }, + { "TNSNameInfo", "TNS or Global Database Name" }, + { "TNSName", "TNS Name" }, + { "SystemPasswordInfo", "System User Password" }, + { "SystemPassword", "System Password" }, + { "MailServerInfo", "Mail Server" }, + { "MailServer", "Mail Server" }, + { "AdminEMailInfo", "Adempiere Administrator EMail" }, + { "AdminEMail", "Admin EMail" }, + { "DatabaseServerInfo", "Database Server Name" }, + { "DatabaseServer", "Database Server" }, + { "JavaHomeInfo", "Java Home Folder" }, + { "JavaHome", "Java Home" }, + { "JNPPortInfo", "Application Server JNP Port" }, + { "JNPPort", "JNP Port" }, + { "MailUserInfo", "Adempiere Mail User" }, + { "MailUser", "Mail User" }, + { "MailPasswordInfo", "Adempiere Mail User Password" }, + { "MailPassword", "Mail Password" }, + { "KeyStorePassword", "Key Store Password" }, + { "KeyStorePasswordInfo", "Password for SSL Key Store" }, + // + { "JavaType", "Java VM"}, + { "JavaTypeInfo", "Java VM Vendor"}, + { "AppsType", "Server Type"}, + { "AppsTypeInfo", "J2EE Application Server Type"}, + { "DeployDir", "Deployment"}, + { "DeployDirInfo", "J2EE Deployment Directory"}, + { "ErrorDeployDir", "Error Deployment Directory"}, + // + { "TestInfo", "Test the Setup" }, + { "Test", "Test" }, + { "SaveInfo", "Save the Setup" }, + { "Save", "Save" }, + { "HelpInfo", "Get Help" }, + + { "ServerError", "Server Setup Error" }, + { "ErrorJavaHome", "Error Java Home" }, + { "ErrorAdempiereHome", "Error Adempiere Home" }, + { "ErrorAppsServer", "Error Apps Server (do not use localhost)" }, + { "ErrorWebPort", "Error Web Port" }, + { "ErrorJNPPort", "Error JNP Port" }, + { "ErrorDatabaseServer", "Error Database Server (do not use localhost)" }, + { "ErrorDatabasePort", "Error Database Port" }, + { "ErrorJDBC", "Error JDBC Connection" }, + { "ErrorTNS", "Error TNS Connection" }, + { "ErrorMailServer", "Error Mail Server (do not use localhost)" }, + { "ErrorMail", "Error Mail" }, + { "ErrorSave", "Error Sving File" }, + + { "EnvironmentSaved", "Environment saved\nYou need to re-start the server." } + }; + + /** + * Get Contents + * @return contents + */ + public Object[][] getContents() + { + return contents; + } // getContents + +} // SerupRes diff --git a/install/src/org/compiere/install/SetupRes_no.java b/install/src/org/compiere/install/SetupRes_no.java new file mode 100644 index 0000000000..40b0e64663 --- /dev/null +++ b/install/src/org/compiere/install/SetupRes_no.java @@ -0,0 +1,118 @@ +/****************************************************************************** + * 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.install; + +import java.util.*; + +/** + * Norwegian Setup Resource Translation + * + * @author Olaf Slazak L�ken + * @version $Id: SetupRes_no.java,v 1.2 2006/07/30 00:57:42 jjanke Exp $ + */ +public class SetupRes_no extends ListResourceBundle +{ + /** Translation Info */ + static final Object[][] contents = new String[][]{ + { "AdempiereServerSetup", "Adempiere Server Oppsett" }, + { "Ok", "Ok" }, + { "File", "Fil" }, + { "Exit", "Avslutt" }, + { "Help", "Hjelp" }, + { "PleaseCheck", "Vennligst Sjekk" }, + { "UnableToConnect", "Umulig � hente hjelp fra Adempiere Web Side" }, + + { "AdempiereHomeInfo", "Adempiere Hjem er i hoved Mappen" }, + { "AdempiereHome", "Adempiere Hjem" }, + { "WebPortInfo", "Web (HTML) Port" }, + { "WebPort", "Web Port" }, + { "AppsServerInfo", "Applikasion Server Navn" }, + { "AppsServer", "App. Server" }, + { "DatabaseTypeInfo", "Database Type" }, + { "DatabaseType", "Database Type" }, + { "DatabaseNameInfo", "Database Navn " }, + { "DatabaseName", "Database Navn (SID)" }, + { "DatabasePortInfo", "Database Listener Port" }, + { "DatabasePort", "Database Port" }, + { "DatabaseUserInfo", "Database Adempiere Bruker ID" }, + { "DatabaseUser", "Database Bruker" }, + { "DatabasePasswordInfo", "Database Adempiere Bruker Passord" }, + { "DatabasePassword", "Database Passord" }, + { "TNSNameInfo", "TNS eller Global Database Navn" }, + { "TNSName", "TNS Navn" }, + { "SystemPasswordInfo", "System Bruker Passord" }, + { "SystemPassword", "System Passord" }, + { "MailServerInfo", "Epost Server" }, + { "MailServer", "Epost Server" }, + { "AdminEMailInfo", "Adempiere Administrator EPost" }, + { "AdminEMail", "Admin EPost" }, + { "DatabaseServerInfo", "Database Server Navn" }, + { "DatabaseServer", "Database Server" }, + { "JavaHomeInfo", "Java Hjem Katalog" }, + { "JavaHome", "Java Hjem" }, + { "JNPPortInfo", "Aplikasions Server JNP Port" }, + { "JNPPort", "JNP Port" }, + { "MailUserInfo", "Adempiere EPost User" }, + { "MailUser", "EPost User" }, + { "MailPasswordInfo", "Adempiere EPost Bruker Passord" }, + { "MailPassword", "EPost Passord" }, + { "KeyStorePassword", "Key Store Password" }, + { "KeyStorePasswordInfo", "Password for SSL Key Store" }, + // + { "JavaType", "Java VM"}, + { "JavaTypeInfo", "Java VM Vendor"}, + { "AppsType", "Server Type"}, + { "AppsTypeInfo", "J2EE Application Server Type"}, + { "DeployDir", "Deployment"}, + { "DeployDirInfo", "J2EE Deployment Directory"}, + { "ErrorDeployDir", "Error Deployment Directory"}, + // + { "TestInfo", "Test Oppsettet" }, + { "Test", "Test" }, + { "SaveInfo", "Lagre Oppsett" }, + { "Save", "Lagre" }, + { "HelpInfo", "Hent Hjelp" }, + + { "ServerError", "Server Oppsett Feil" }, + { "ErrorJavaHome", "Feil Java Hjem" }, + { "ErrorAdempiereHome", "Feil Adempiere Hjem" }, + { "ErrorAppsServer", "Feil App. Server (ikke bruk localhost)" }, + { "ErrorWebPort", "Feil Web Port" }, + { "ErrorJNPPort", "Feil JNP Port" }, + { "ErrorDatabaseServer", "Feil Database Server (ikke bruk localhost)" }, + { "ErrorDatabasePort", "Feil Database Port" }, + { "ErrorJDBC", "Feil ved JDBC Oppkobling" }, + { "ErrorTNS", "Feil ved TNS Oppkobling" }, + { "ErrorMailServer", "Feil EPost Server (ikke bruk localhost)" }, + { "ErrorMail", "Feil EPost" }, + { "ErrorSave", "Feil Sving Fil" }, + + { "EnvironmentSaved", "Oppsett lagret\nDu trenger � restarte serveren." }, + { "RMIoverHTTP", "Tunnel Objects via HTTP" }, + { "RMIoverHTTPInfo", "RMI over HTTP allows to go through firewalls" } + }; + + /** + * Get Contents + * @return contents + */ + public Object[][] getContents() + { + return contents; + } // getContents + +} // SerupRes diff --git a/install/src/org/compiere/install/SetupRes_pl.java b/install/src/org/compiere/install/SetupRes_pl.java new file mode 100644 index 0000000000..cb46b989e3 --- /dev/null +++ b/install/src/org/compiere/install/SetupRes_pl.java @@ -0,0 +1,118 @@ +/****************************************************************************** + * 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.install; + +import java.util.*; + +/** + * Setup Resources + * + * @author Marek Mosiewicz + * @version $Id: SetupRes_pl.java,v 1.2 2006/07/30 00:57:42 jjanke Exp $ + */ +public class SetupRes_pl extends ListResourceBundle +{ + /** Translation Info */ + static final Object[][] contents = new String[][]{ + { "AdempiereServerSetup", "Konfiguracja serwera Adempiere" }, + { "Ok", "Ok" }, + { "File", "Plik" }, + { "Exit", "Wyj\u015bcie" }, + { "Help", "Pomoc" }, + { "PleaseCheck", "Prosz\u0119 sprawdzi\u0107" }, + { "UnableToConnect", "Nie mo\u017cna po\u0142\u0105czy\u0107 si\u0119 ze stron\u0105 Adempiere w celu uzyskania pomocy" }, + + { "AdempiereHomeInfo", "Folder Adempiere jest folderem g\u0142\u00f3wnym" }, + { "AdempiereHome", "Folder Adempiere" }, + { "WebPortInfo", "Web (HTML) Port" }, + { "WebPort", "Web Port" }, + { "AppsServerInfo", "Nazwa serwera aplikacji" }, + { "AppsServer", "Serwer bazy danych" }, + { "DatabaseTypeInfo", "Typ bazy danych" }, + { "DatabaseType", "Typ bazy danych" }, + { "DatabaseNameInfo", "Nazwa bazy danych " }, + { "DatabaseName", "Nazwa bazy danych (SID)" }, + { "DatabasePortInfo", "Port listenera bazy danych" }, + { "DatabasePort", "Port bazy danych" }, + { "DatabaseUserInfo", "U\u017cytkownik Adempiere w bazie danych" }, + { "DatabaseUser", "U\u017cytkownik bazy" }, + { "DatabasePasswordInfo", "Has\u0142o u\u017cytkownika Adempiere" }, + { "DatabasePassword", "Has\u0142o u\u017cytkownika" }, + { "TNSNameInfo", "TNS lub Globalna Nazwa Bazy (dla Oracle)" }, + { "TNSName", "Nazwa TNS" }, + { "SystemPasswordInfo", "Has\u0142o dla u\u017cytkownika System w bazie danych" }, + { "SystemPassword", "Has\u0142o System" }, + { "MailServerInfo", "Serwer pocztowy" }, + { "MailServer", "Serwer pocztowy" }, + { "AdminEMailInfo", "Adres email administartora Adempiere" }, + { "AdminEMail", "EMail administ." }, + { "DatabaseServerInfo", "Nazwa serwera bazy danych" }, + { "DatabaseServer", "Serwer bazy danych" }, + { "JavaHomeInfo", "Folder Javy" }, + { "JavaHome", "Folder Javy" }, + { "JNPPortInfo", "Application Server JNP Port" }, + { "JNPPort", "JNP Port" }, + { "MailUserInfo", "U\u017cytkownik poczty dla cel\u00f3w administracyjnych Adempiere" }, + { "MailUser", "U\u017cytkownik poczty" }, + { "MailPasswordInfo", "Has\u0142o dla konta pocztowego Adempiere" }, + { "MailPassword", "Has\u0142o poczty" }, + { "KeyStorePassword", "Key Store Password" }, + { "KeyStorePasswordInfo", "Password for SSL Key Store" }, + // + { "JavaType", "Java VM"}, + { "JavaTypeInfo", "Java VM Vendor"}, + { "AppsType", "Server Type"}, + { "AppsTypeInfo", "J2EE Application Server Type"}, + { "DeployDir", "Deployment"}, + { "DeployDirInfo", "J2EE Deployment Directory"}, + { "ErrorDeployDir", "Error Deployment Directory"}, + // + { "TestInfo", "Sprawd\u017a ustawienia" }, + { "Test", "Testuj" }, + { "SaveInfo", "Zapisz ustawienia" }, + { "Save", "Zapisz" }, + { "HelpInfo", "Pomoc" }, + + { "ServerError", "B\u0142\u0119dne ustawienia" }, + { "ErrorJavaHome", "Niepoprawny folder Javy" }, + { "ErrorAdempiereHome", "Nie stwierdzono zainstalowanego systemu Adempiere w miescu wskazanym jako Folder Adempiere" }, + { "ErrorAppsServer", "Niepoprawny serwer aplikacji (nie mo\u017ce by\u0107 localhost)" }, + { "ErrorWebPort", "Niepoprawny port WWW (by\u0107 mo\u017ce inna aplikacja u\u017cywa ju\u017c tego portu)" }, + { "ErrorJNPPort", "Niepoprawny port JNP (by\u0107 mo\u017ce inna aplikacja u\u017cywa ju\u017c tego portu)" }, + { "ErrorDatabaseServer", "Niepoprawny serwer bazy (nie mo\u017ce by\u0107 localhost)" }, + { "ErrorDatabasePort", "Niepoprawny port serwer bazy" }, + { "ErrorJDBC", "Wyst\u0105pi\u0142 b\u0142\u0105d przy pr\u00f3bie po\u0142\u0105cznia si\u0119 z baz\u0105 danych" }, + { "ErrorTNS", "Wyst\u0105pi\u0142 b\u0142\u0105d przy pr\u00f3bie po\u0142\u0105cznia si\u0119 z baz\u0105 danych poprzez TNS" }, + { "ErrorMailServer", "Niepoprawny serwer pocztowy (nie mo\u017ce by\u0107 localhost)" }, + { "ErrorMail", "B\u0142\u0105d poczty" }, + { "ErrorSave", "B\u0142\u0105d przy zapisywaniu konfiguracji" }, + + { "EnvironmentSaved", "Ustawienia zapisany\nMusisz ponownie uruchomi\u0107 serwer." }, + { "RMIoverHTTP", "Tunelowanie RMI over HTTP" }, + { "RMIoverHTTPInfo", "Tunelowanie RMI over HTTP pozwala u\u017cywa\u0107 Adempiere przez firewall" } + }; + + /** + * Get Contents + * @return contents + */ + public Object[][] getContents() + { + return contents; + } // getContents + +} // SerupRes diff --git a/install/src/org/compiere/install/SetupRes_ro.java b/install/src/org/compiere/install/SetupRes_ro.java new file mode 100644 index 0000000000..ad53c4c8e7 --- /dev/null +++ b/install/src/org/compiere/install/SetupRes_ro.java @@ -0,0 +1,119 @@ +/****************************************************************************** + * 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.install; + +import java.util.*; + +/** + * Setup Resources + * + * @author Jorg Janke + * @version $Id: SetupRes_ro.java,v 1.2 2006/07/30 00:57:42 jjanke Exp $ + */ +public class SetupRes_ro extends ListResourceBundle +{ + /** Translation Info */ + static final Object[][] contents = new String[][]{ + { "AdempiereServerSetup", "Configurarea serverului Adempiere" }, + { "Ok", "OK" }, + { "File", "Aplica\u0163ie" }, + { "Exit", "Ie\u015fire" }, + { "Help", "Ajutor" }, + { "PleaseCheck", "Consulta\u0163i" }, + { "UnableToConnect", "Nu s-a putut ob\u0163ine ajutor de pe site-ul web al Adempiere" }, + // + { "AdempiereHomeInfo", "Loca\u0163ia Adempiere reprezint\u0103 directorul s\u0103u de instalare" }, + { "AdempiereHome", "Loca\u0163ie Adempiere" }, + { "WebPortInfo", "Portul de web (HTML)" }, + { "WebPort", "Port de web" }, + { "AppsServerInfo", "Numele serverului de aplica\u0163ie" }, + { "AppsServer", "Server de aplica\u0163ie" }, + { "DatabaseTypeInfo", "Tipul bazei de date" }, + { "DatabaseType", "Tip de baz\u0103 de date" }, + { "DatabaseNameInfo", "Numele (serviciului) bazei de date" }, + { "DatabaseName", "Nume de baz\u0103 de date" }, + { "DatabasePortInfo", "Portul rezevat serviciului bazei de date" }, + { "DatabasePort", "Port de baz\u0103 de date" }, + { "DatabaseUserInfo", "Utilizatorul Adempiere pentru baza de date" }, + { "DatabaseUser", "Utilizator de baz\u0103 de date" }, + { "DatabasePasswordInfo", "Parola utilizatorului Adempiere pentru baza de date" }, + { "DatabasePassword", "Parola pentru baza de date" }, + { "TNSNameInfo", "Baze de date g\u0103site" }, + { "TNSName", "C\u0103utare de baze de date" }, + { "SystemPasswordInfo", "Parola utilizatorului System" }, + { "SystemPassword", "Parol\u0103 pentru System" }, + { "MailServerInfo", "Server de po\u015ft\u0103 electronic\u0103" }, + { "MailServer", "Server de po\u015ft\u0103 electronic\u0103" }, + { "AdminEMailInfo", "Adresa de po\u015ft\u0103 electronic\u0103 a administratorului Adempiere" }, + { "AdminEMail", "Adres\u0103 de e-mail a administratorului" }, + { "DatabaseServerInfo", "Numele serverului de baz\u0103 de date" }, + { "DatabaseServer", "Server de baz\u0103 de date" }, + { "JavaHomeInfo", "Loca\u0163ia de instalare a Java" }, + { "JavaHome", "Loca\u0163ie Java" }, + { "JNPPortInfo", "Portul JNP al serverului de aplica\u0163ie" }, + { "JNPPort", "Port JNP" }, + { "MailUserInfo", "Utilizatorul Adempiere pentru po\u015fta electronic\u0103" }, + { "MailUser", "Utilizator de po\u015ft\u0103 electronic\u0103" }, + { "MailPasswordInfo", "Parola utilizatorului Adempiere pentru po\u015fta electronic\u0103" }, + { "MailPassword", "Parol\u0103 de po\u015ft\u0103 electronic\u0103" }, + { "KeyStorePassword", "Parol\u0103 de keystore" }, + { "KeyStorePasswordInfo", "Parola de pentru arhiva de chei SSL" }, + // + { "JavaType", "Ma\u015fina virtual\u0103 Java"}, + { "JavaTypeInfo", "Furnizorul ma\u015finii virtuale Java"}, + { "AppsType", "Tip de server"}, + { "AppsTypeInfo", "Tipul serverului de aplica\u0163ie J2EE"}, + { "DeployDir", "Director de instalare"}, + { "DeployDirInfo", "Directorul J2EE de instalare"}, + { "ErrorDeployDir", "Director de instalare incorect"}, + // + { "TestInfo", "Testarea configur\u0103rii" }, + { "Test", "Testare" }, + { "SaveInfo", "Salvarea configur\u0103rii" }, + { "Save", "Salvare" }, + { "HelpInfo", "Ob\u0163inere de ajutor" }, + // + { "ServerError", "Eroare de configurare a serverului" }, + { "ErrorJavaHome", "Eroare de loca\u0163ie Java" }, + { "ErrorAdempiereHome", "Eroare de loca\u0163ie Adempiere" }, + { "ErrorAppsServer", "Eroare de server de aplica\u0163ie (nu folosi\u0163i 'localhost')" }, + { "ErrorWebPort", "Eroare de port de web" }, + { "ErrorJNPPort", "Eroare de port JNP" }, + { "ErrorDatabaseServer", "Eroare de server de baz\u0103 de date (nu folosi\u0163i 'localhost')" }, + { "ErrorDatabasePort", "Eroare de port de baz\u0103 de date" }, + { "ErrorJDBC", "Eroare de conexiune JDBC" }, + { "ErrorTNS", "Eroare de conexiune TNS" }, + { "ErrorMailServer", "Eroare de server de po\u015ft\u0103 electronic\u0103 (nu folosi\u0163i 'localhost')" }, + { "ErrorMail", "Eroare de po\u015ft\u0103 electronic\u0103" }, + { "ErrorSave", "Eroare la salvarea fi\u015fierului" }, + + { "EnvironmentSaved", "Configurarea a fost salvat\u0103... se \u00eencepe instalarea.\n" + + "Pute\u0163i (re)porni serverul de aplica\u0163ie dup\u0103 terminarea programului curent.\n" + + "Verifica\u0163i apoi dac\u0103 apar erori \u00een jurnal." } + + }; + + /** + * Get Contents + * @return contents + */ + public Object[][] getContents() + { + return contents; + } // getContents + +} // SetupRes diff --git a/install/src/org/compiere/install/SetupRes_ru.java b/install/src/org/compiere/install/SetupRes_ru.java new file mode 100644 index 0000000000..fec4ca9763 --- /dev/null +++ b/install/src/org/compiere/install/SetupRes_ru.java @@ -0,0 +1,188 @@ +/****************************************************************************** + * 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.install; + +import java.util.*; + +/** + * Russian Setup Resource Translation + * + * @author Vyacheslav Pedak + * @version $Id: SetupRes_ru.java,v 1.3 2006/07/30 00:57:42 jjanke Exp $ + */ +public class SetupRes_ru extends ListResourceBundle +{ + /** + * Get Content Array + * @return content + */ + public Object[][] getContents () + { + return contents; + } + + static final Object contents[][] = { + { + "AdempiereServerSetup", + "\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 Adempiere"}, + { "Ok", "Ok"}, + { "File", "\u0424\u0430\u0439\u043b"}, + { "Exit", "\u0412\u044b\u0445\u043e\u0434"}, + { "Help", "\u041f\u043e\u043c\u043e\u0449\u044c"}, + { + "PleaseCheck", + "\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435"}, + { + "UnableToConnect", + "\u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e c \u0441\u0430\u0439\u0442\u0430 Adempiere"}, + { + "AdempiereHomeInfo", + "Adempiere Home - \u044d\u0442\u043e \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u043a\u0430\u0442\u0430\u043b\u043e\u0433"}, + { "AdempiereHome", "Adempiere Home"}, + { "WebPortInfo", "\u0412\u0435\u0431 (HTML) \u043f\u043e\u0440\u0442"}, + { "WebPort", "\u0412\u0435\u0431 \u043f\u043e\u0440\u0442"}, + { + "AppsServerInfo", + "\u0418\u043c\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439"}, + { + "AppsServer", + "\u0421\u0435\u0440\u0432\u0435\u0440 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439"}, + { + "DatabaseTypeInfo", + "\u0422\u0438\u043f \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445"}, + { + "DatabaseType", + "\u0422\u0438\u043f \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445"}, + { + "DatabaseNameInfo", + "\u0418\u043c\u044f \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445"}, + { + "DatabaseName", + "\u0418\u043c\u044f \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 (SID)"}, + { "DatabasePortInfo", "\u041f\u043e\u0440\u0442 \u0411\u0414 Listener"}, + { "DatabasePort", "\u041f\u043e\u0440\u0442 \u0411\u0414"}, + { + "DatabaseUserInfo", + "ID \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0411\u0414"}, + { + "DatabaseUser", + "\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0411\u0414"}, + { + "DatabasePasswordInfo", + "\u041f\u0430\u0440\u043e\u043b\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0411\u0414"}, + { "DatabasePassword", + "\u041f\u0430\u0440\u043e\u043b\u044c \u0411\u0414"}, + { "TNSNameInfo", "TNS \u0438\u043b\u0438 Global Database Name"}, + { "TNSName", "\u0418\u043c\u044f TNS"}, + { + "SystemPasswordInfo", + "\u041f\u0430\u0440\u043e\u043b\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f System"}, + { "SystemPassword", "\u041f\u0430\u0440\u043e\u043b\u044c System"}, + { + "MailServerInfo", + "\u0421\u0435\u0440\u0432\u0435\u0440 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u0447\u0442\u044b"}, + { + "MailServer", + "\u0421\u0435\u0440\u0432\u0435\u0440 \u044d\u043b. \u043f\u043e\u0447\u0442\u044b"}, + { + "AdminEMailInfo", + "\u0415\u043c\u0430\u0439\u043b \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430"}, + { + "AdminEMail", + "\u0415\u043c\u0430\u0439\u043b \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430"}, + { "DatabaseServerInfo", + "\u0418\u043c\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0411\u0414"}, + { "DatabaseServer", "\u0421\u0435\u0440\u0432\u0435\u0440 \u0411\u0414"}, + { "JavaHomeInfo", + "\u041a\u0430\u0442\u0430\u043b\u043e\u0433 Java Home"}, + { "JavaHome", "Java Home"}, + { + "JNPPortInfo", + "\u041f\u043e\u0440\u0442 JNP \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439"}, + { "JNPPort", "\u041f\u043e\u0440\u0442 JNP"}, + { + "MailUserInfo", + "\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u0447\u0442\u044b"}, + { + "MailUser", + "\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u044d\u043b. \u043f\u043e\u0447\u0442\u044b"}, + { + "MailPasswordInfo", + "\u041f\u0430\u0440\u043e\u043b\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u0447\u0442\u044b"}, + { + "MailPassword", + "\u041f\u0430\u0440\u043e\u043b\u044c \u0434\u043b\u044f \u044d\u043b. \u043f\u043e\u0447\u0442\u044b"}, + { "KeyStorePassword", "Key Store Password"}, + { "KeyStorePasswordInfo", "Password for SSL Key Store"}, + // + { "JavaType", "Java VM"}, + { "JavaTypeInfo", "Java VM Vendor"}, + { "AppsType", "Server Type"}, + { "AppsTypeInfo", "J2EE Application Server Type"}, + { "DeployDir", "Deployment"}, + { "DeployDirInfo", "J2EE Deployment Directory"}, + { "ErrorDeployDir", "Error Deployment Directory"}, + // + { + "TestInfo", + "\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a"}, + { "Test", "\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430"}, + { + "SaveInfo", + "\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438"}, + { "Save", "\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c"}, + { "HelpInfo", "\u041f\u043e\u043c\u043e\u0449\u044c"}, + { + "ServerError", + "\u041e\u0448\u0438\u0431\u043a\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430"}, + { "ErrorJavaHome", "\u041e\u0448\u0438\u0431\u043a\u0430 Java Home"}, + { "ErrorAdempiereHome", + "\u041e\u0448\u0438\u0431\u043a\u0430 Adempiere Home"}, + { + "ErrorAppsServer", + "\u041e\u0448\u0438\u0431\u043a\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 (\u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 localhost)"}, + { + "ErrorWebPort", + "\u041e\u0448\u0438\u0431\u043a\u0430 \u0432\u0435\u0431 \u043f\u043e\u0440\u0442\u0430"}, + { "ErrorJNPPort", + "\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u043e\u0440\u0442\u0430 JNP"}, + { + "ErrorDatabaseServer", + "\u041e\u0448\u0438\u0431\u043a\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0411\u0414 (\u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 localhost)"}, + { + "ErrorDatabasePort", + "\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u043e\u0440\u0442\u0430 \u0411\u0414"}, + { + "ErrorJDBC", + "\u041e\u0448\u0438\u0431\u043a\u0430 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u043f\u043e JDBC"}, + { + "ErrorTNS", + "\u041e\u0448\u0438\u0431\u043a\u0430 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0447\u0435\u0440\u0435\u0437 TNS"}, + { + "ErrorMailServer", + "\u041e\u0448\u0438\u0431\u043a\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u0447\u0442\u044b (\u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 localhost)"}, + { "ErrorMail", + "\u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u043e\u0447\u0442\u044b"}, + { + "ErrorSave", + "\u041e\u0448\u0438\u0431\u043a\u0430 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u0430"}, + { + "EnvironmentSaved", + "\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u044b\n\u0412\u0430\u043c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440."}, + { "RMIoverHTTP", "Tunnel Objects via HTTP"}, + { "RMIoverHTTPInfo", "RMI over HTTP allows to go through firewalls"}}; +} diff --git a/install/src/org/compiere/install/SetupRes_sl.java b/install/src/org/compiere/install/SetupRes_sl.java new file mode 100644 index 0000000000..94cad43038 --- /dev/null +++ b/install/src/org/compiere/install/SetupRes_sl.java @@ -0,0 +1,117 @@ +/****************************************************************************** + * 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.install; + +import java.util.*; + +/** + * Setup Resources + * + * @author Matja\u017e Godec + * @version $Id: SetupRes_sl.java,v 1.2 2006/07/30 00:57:42 jjanke Exp $ + */ +public class SetupRes_sl extends ListResourceBundle +{ + /** Translation Info */ + static final Object[][] contents = new String[][]{ + { "AdempiereServerSetup", "Namestavitve Adempiere stre\u017enika" }, + { "Ok", "V redu" }, + { "File", "Datoteka" }, + { "Exit", "Izhod" }, + { "Help", "Pomo\u010d" }, + { "PleaseCheck", "Prosim preverite" }, + { "UnableToConnect", "Napaka pri povezavi na Adempiere web pomo\u010d" }, + // + { "AdempiereHomeInfo", "Adempiere Home je glavni imenik" }, + { "AdempiereHome", "Adempiere Home" }, + { "WebPortInfo", "Web (HTML) vrata" }, + { "WebPort", "Web vrata" }, + { "AppsServerInfo", "Ime programskega stre\u017enika" }, + { "AppsServer", "Programski stre\u017enik" }, + { "DatabaseTypeInfo", "Tip baze podatkov" }, + { "DatabaseType", "Tip baze podatakov" }, + { "DatabaseNameInfo", "Ime baze podatkov " }, + { "DatabaseName", "Ime baze (SID)" }, + { "DatabasePortInfo", "Vrata Listener programa" }, + { "DatabasePort", "Vrata baze podatkov" }, + { "DatabaseUserInfo", "Uporabni\u0161ko ime Adempiere baze podatkov" }, + { "DatabaseUser", "Uporabnik baze podatkov" }, + { "DatabasePasswordInfo", "Geslo uporabnika baze podatkov" }, + { "DatabasePassword", "Geslo baze podatkov" }, + { "TNSNameInfo", "TNS ali globalno ime baze podatkov" }, + { "TNSName", "TNS Ime" }, + { "SystemPasswordInfo", "Geslo uporabnika System" }, + { "SystemPassword", "System geslo" }, + { "MailServerInfo", "Stre\u017enik elektronske po\u0161te" }, + { "MailServer", "Stre\u017enik elektronske po\u0161te" }, + { "AdminEMailInfo", "Elektronski naslov Adempiere Skrbnika" }, + { "AdminEMail", "Elektronski naslov Skrbnika" }, + { "DatabaseServerInfo", "Ime stre\u017enika baze podatkov" }, + { "DatabaseServer", "Stre\u017enik baze podatkov" }, + { "JavaHomeInfo", "Doma\u010d imenik Jave" }, + { "JavaHome", "Java imenik" }, + { "JNPPortInfo", "JNP vrata programskega stre\u017enika" }, + { "JNPPort", "JNP vrata" }, + { "MailUserInfo", "Uporabnik elektronske po\u0161te za Adempiere" }, + { "MailUser", "Uporabnik elektronske po\u0161te" }, + { "MailPasswordInfo", "Geslo uporabnika elektronske po\u0161te Adempiere" }, + { "MailPassword", "Geslo uporabnika elektronske po\u0161te" }, + { "KeyStorePassword", "Geslo shrambe klju\u010dev" }, + { "KeyStorePasswordInfo", "Geslo za shrambo SSL klju\u010dev" }, + // + { "JavaType", "Java VM"}, + { "JavaTypeInfo", "Java VM Dobavitelj"}, + { "AppsType", "Tip stre\u017enika"}, + { "AppsTypeInfo", "Tip J2EE aplikacijskega stre\u017enika"}, + { "DeployDir", "Namestitveni imenik"}, + { "DeployDirInfo", "Namestitveni imenik ya J2EE"}, + { "ErrorDeployDir", "Napaka namestitveni imenik"}, + // + { "TestInfo", "Test informacije" }, + { "Test", "Test" }, + { "SaveInfo", "Shrani informacije" }, + { "Save", "Shrani" }, + { "HelpInfo", "Pomo\u010d" }, + // + { "ServerError", "Napaka v nastavitvah programskega stre\u017enika" }, + { "ErrorJavaHome", "Error napa\u010den doma\u010d imenik Java" }, + { "ErrorAdempiereHome", "Error napa\u010den Adempiere Home imenik" }, + { "ErrorAppsServer", "Error programski stre\u017enik (ne uporabljaj imena localhost)" }, + { "ErrorWebPort", "Error napa\u010dna Web vrata" }, + { "ErrorJNPPort", "Error napa\u010dna JNP vrata" }, + { "ErrorDatabaseServer", "Error stre\u017enik baze podatkov (ne uporabljaj imena localhost)" }, + { "ErrorDatabasePort", "Error napa\u010dna vrata baze podatkov" }, + { "ErrorJDBC", "Error napaka v JDBC povezavi" }, + { "ErrorTNS", "Error napaka v TNS povezavi" }, + { "ErrorMailServer", "Error stre\u017enik elektronske po\u0161te (ne uporabljaj imena localhost)" }, + { "ErrorMail", "Error napaka elektronska po\u0161ta" }, + { "ErrorSave", "Error napaka pri shranjevanju datoteke" }, + + { "EnvironmentSaved", "Nastavitve so shranjene\nSedaj lahko po\u017eenete programski stre\u017enik." } + + }; + + /** + * Get Contents + * @return contents + */ + public Object[][] getContents() + { + return contents; + } // getContents + +} // SerupRes diff --git a/install/src/org/compiere/install/SetupRes_sv.java b/install/src/org/compiere/install/SetupRes_sv.java new file mode 100644 index 0000000000..75b7a53717 --- /dev/null +++ b/install/src/org/compiere/install/SetupRes_sv.java @@ -0,0 +1,118 @@ +/****************************************************************************** + * 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.install; + +import java.util.*; + +/** + * Swedish Setup Resource Translation + * + * @author Thomas Dilts + * @version $Id: SetupRes_sv.java,v 1.2 2006/07/30 00:57:42 jjanke Exp $ + */ +public class SetupRes_sv extends ListResourceBundle +{ + /** Translation Info */ + static final Object[][] contents = new String[][]{ + { "AdempiereServerSetup", "Adempiere server installationsprogram" }, + { "Ok", "Ok" }, + { "File", "Fil" }, + { "Exit", "Avsluta" }, + { "Help", "Hj�lp" }, + { "PleaseCheck", "Kolla" }, + { "UnableToConnect", "Kan inte f� hj�lp fr�n Adempiere Web Site" }, + + { "AdempiereHomeInfo", "Adempiere hem �r huvudkatalog" }, + { "AdempiereHome", "Adempiere hem" }, + { "WebPortInfo", "Web (HTML) port" }, + { "WebPort", "Web port" }, + { "AppsServerInfo", "Program server name" }, + { "AppsServer", "Program server" }, + { "DatabaseTypeInfo", "Databastyp" }, + { "DatabaseType", "Databastyp" }, + { "DatabaseNameInfo", "Databas namn " }, + { "DatabaseName", "Databas namn (SID)" }, + { "DatabasePortInfo", "Databas avlyssningsport" }, + { "DatabasePort", "Databas port" }, + { "DatabaseUserInfo", "Databas Adempiere anv�ndarnamn" }, + { "DatabaseUser", "Databas anv�ndarnamn" }, + { "DatabasePasswordInfo", "Databas Adempiere anv�ndare l�senord" }, + { "DatabasePassword", "Databas l�senord" }, + { "TNSNameInfo", "TNS eller global databas namn" }, + { "TNSName", "TNS namn" }, + { "SystemPasswordInfo", "System anv�ndare l�senord" }, + { "SystemPassword", "System l�senord" }, + { "MailServerInfo", "Post server" }, + { "MailServer", "Post server" }, + { "AdminEMailInfo", "Adempiere administrat�r e-post" }, + { "AdminEMail", "Admin e-post" }, + { "DatabaseServerInfo", "Databas server namn" }, + { "DatabaseServer", "Databas server" }, + { "JavaHomeInfo", "Java hemkatalog" }, + { "JavaHome", "Java hem" }, + { "JNPPortInfo", "Program server JNP port" }, + { "JNPPort", "JNP port" }, + { "MailUserInfo", "Adempiere post anv�ndare" }, + { "MailUser", "Post anv�ndare" }, + { "MailPasswordInfo", "Adempiere post anv�ndare l�senord" }, + { "MailPassword", "Post l�senord" }, + { "KeyStorePassword", "Key Store Password" }, + { "KeyStorePasswordInfo", "Password for SSL Key Store" }, + // + { "JavaType", "Java VM"}, + { "JavaTypeInfo", "Java VM Vendor"}, + { "AppsType", "Server Type"}, + { "AppsTypeInfo", "J2EE Application Server Type"}, + { "DeployDir", "Deployment"}, + { "DeployDirInfo", "J2EE Deployment Directory"}, + { "ErrorDeployDir", "Error Deployment Directory"}, + // + { "TestInfo", "Testa inst�llningar" }, + { "Test", "Testa" }, + { "SaveInfo", "Spara inst�llningar" }, + { "Save", "Spara" }, + { "HelpInfo", "Hj�lp" }, + + { "ServerError", "Server inst�llningsfel" }, + { "ErrorJavaHome", "Fel Java hem" }, + { "ErrorAdempiereHome", "Fel Adempiere hem" }, + { "ErrorAppsServer", "Fel program server (anv�nd ej localhost)" }, + { "ErrorWebPort", "Fel web port" }, + { "ErrorJNPPort", "Fel JNP port" }, + { "ErrorDatabaseServer", "Fel databas server (anv�nd ej localhost)" }, + { "ErrorDatabasePort", "Fel databas port" }, + { "ErrorJDBC", "Fel JDBC anslutning" }, + { "ErrorTNS", "Fel TNS anslutning" }, + { "ErrorMailServer", "Fel post server (anv�nd ej localhost)" }, + { "ErrorMail", "Fel post" }, + { "ErrorSave", "Fel swing fil" }, + + { "EnvironmentSaved", "Inst�llningar sparad\nDu m�ste starta om servern." }, + { "RMIoverHTTP", "Tunnel Objects via HTTP" }, + { "RMIoverHTTPInfo", "RMI over HTTP allows to go through firewalls" } + }; + + /** + * Get Contents + * @return contents + */ + public Object[][] getContents() + { + return contents; + } // getContents + +} // SerupRes diff --git a/install/src/org/compiere/install/SetupRes_vi.java b/install/src/org/compiere/install/SetupRes_vi.java new file mode 100644 index 0000000000..dbf2ad2d90 --- /dev/null +++ b/install/src/org/compiere/install/SetupRes_vi.java @@ -0,0 +1,118 @@ +/****************************************************************************** + * 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.install; + +import java.util.*; + +/** + * Vietnamese Setup Resources + * + * @author Bui Chi Trung + * @version $Id: SetupRes_vi.java,v 1.2 2006/07/30 00:57:42 jjanke Exp $ + */ +public class SetupRes_vi extends ListResourceBundle +{ + /** Translation Info */ + static final Object[][] contents = new String[][]{ + { "AdempiereServerSetup", "Setup m�y ch\u1EE7 C\u0103mpia-\u01A1" }, + { "Ok", "\u0110\u1ED3ng �" }, + { "File", "T\u1EC7p" }, + { "Exit", "Tho�t" }, + { "Help", "Gi�p \u0111\u1EE1" }, + { "PleaseCheck", "Vui l�ng ki\u1EC3m tra" }, + { "UnableToConnect", "Kh�ng th\u1EC3 t�m th\u1EA5y h\u1ED7 tr\u1EE3 t\u1EEB trang WEB C\u0103mpia-\u01A1" }, + + { "AdempiereHomeInfo", "Th\u01B0 m\u1EE5c ch\u1EE9a C\u0103mpia-\u01A1" }, + { "AdempiereHome", "Th\u01B0 m\u1EE5c ch\u1EE9a C\u0103mpia-\u01A1" }, + { "WebPortInfo", "C\u1ED5ng Web (HTML)" }, + { "WebPort", "Web C\u1ED5ng" }, + { "AppsServerInfo", "T�n m�y ch\u1EE7 ch\u1EA1y \u1EE9ng d\u1EE5ng" }, + { "AppsServer", "M�y ch\u1EE7 c�c \u1EE9ng d\u1EE5ng" }, + { "DatabaseTypeInfo", "Lo\u1EA1i CSDL" }, + { "DatabaseType", "Lo\u1EA1i CSDL" }, + { "DatabaseNameInfo", "T�n CSDL " }, + { "DatabaseName", "T�n CSDL (SID)" }, + { "DatabasePortInfo", "C\u1ED5ng nghe CSDL" }, + { "DatabasePort", "C\u1ED5ng CSDL" }, + { "DatabaseUserInfo", "Ng\u01B0\u1EDDi d�ng CSDL C\u0103mpia-\u01A1" }, + { "DatabaseUser", "Ng\u01B0\u1EDDi d�ng CSDL" }, + { "DatabasePasswordInfo", "M\u1EADt kh\u1EA9u d�ng CSDL C\u0103mpia-\u01A1" }, + { "DatabasePassword", "M\u1EADt kh\u1EA9u CSDL" }, + { "TNSNameInfo", "TNS ho\u1EB7c Global Database Name" }, + { "TNSName", "T�n theo TNS" }, + { "SystemPasswordInfo", "M\u1EADt kh\u1EA9u c\u1EE7a ng\u01B0\u1EDDi d�ng H\u1EC7 th\u1ED1ng" }, + { "SystemPassword", "M\u1EADt kh\u1EA9u c\u1EE7a ng\u01B0\u1EDDi d�ng H\u1EC7 th\u1ED1ng" }, + { "MailServerInfo", "M�y ch\u1EE7 th\u01B0 \u0111i\u1EC7n t\u1EED" }, + { "MailServer", "M�y ch\u1EE7 th\u01B0 \u0111i\u1EC7n t\u1EED" }, + { "AdminEMailInfo", "Email c\u1EE7a ng\u01B0\u1EDDi qu\u1EA3n tr\u1ECB C\u0103mpia-\u01A1" }, + { "AdminEMail", "Email c\u1EE7a ng\u01B0\u1EDDi qu\u1EA3n tr\u1ECB" }, + { "DatabaseServerInfo", "T�n m�y ch\u1EE7 CSDL" }, + { "DatabaseServer", "M�y ch\u1EE7 CSDL" }, + { "JavaHomeInfo", "Th\u01B0 m\u1EE5c ch\u1EE9a Java" }, + { "JavaHome", "Th\u01B0 m\u1EE5c ch\u1EE9a Java" }, + { "JNPPortInfo", "C\u1ED5ng JNP c\u1EE7a m�y ch\u1EE7 \u1EE9ng d\u1EE5ng" }, + { "JNPPort", "C\u1ED5ng JNP" }, + { "MailUserInfo", "Ng\u01B0\u1EDDi d�ng th\u01B0 \u0111i\u1EC7n t\u1EED" }, + { "MailUser", "Ng\u01B0\u1EDDi d�ng th\u01B0 \u0111i\u1EC7n t\u1EED" }, + { "MailPasswordInfo", "M\u1EADt kh\u1EA9u c\u1EE7a ng\u01B0\u1EDDi d�ng th\u01B0 \u0111i\u1EC7n t\u1EED" }, + { "MailPassword", "M\u1EADt kh\u1EA9u c\u1EE7a ng\u01B0\u1EDDi d�ng th\u01B0 \u0111i\u1EC7n t\u1EED" }, + { "KeyStorePassword", "Key Store Password" }, + { "KeyStorePasswordInfo", "Password for SSL Key Store" }, + // + { "JavaType", "Java VM"}, + { "JavaTypeInfo", "Java VM Vendor"}, + { "AppsType", "Server Type"}, + { "AppsTypeInfo", "J2EE Application Server Type"}, + { "DeployDir", "Deployment"}, + { "DeployDirInfo", "J2EE Deployment Directory"}, + { "ErrorDeployDir", "Error Deployment Directory"}, + // + { "TestInfo", "Th\u1EED nghi\u1EC7m c�c c\u1EA5u h�nh n�y" }, + { "Test", "Th\u1EED nghi\u1EC7m" }, + { "SaveInfo", "L\u01B0u c�c c\u1EA5u h�nh n�y" }, + { "Save", "L\u01B0u" }, + { "HelpInfo", "Nh\u1EADn gi�p \u0111\u1EE1" }, + + { "ServerError", "SL\u1ED7i khi c�i \u0111\u1EB7t ph\u1EA7n m\u1EC1m n�y \u1EDF m�y ch\u1EE7" }, + { "ErrorJavaHome", "T�n th\u01B0 m\u1EE5c ch\u1EE9a Java kh�ng \u0111�ng" }, + { "ErrorAdempiereHome", "T�n th\u01B0 m\u1EE5c ch\u1EE9a C\u0103mpia-\u01A1 kh�ng \u0111�ng" }, + { "ErrorAppsServer", "L\u1ED7i li�n quan \u0111\u1EBFn m�y ch\u1EE7 \u1EE9ng d\u1EE5ng (\u0111\u1EEBng d�ng localhost)" }, + { "ErrorWebPort", "C\u1ED5ng Web kh�ng \u0111�ng" }, + { "ErrorJNPPort", "C\u1ED5ng JNP kh�ng \u0111�ng" }, + { "ErrorDatabaseServer", "L\u1ED7i li�n quan \u0111\u1EBFn m�y ch\u1EE7 CSDL (\u0111\u1EEBng d�ng localhost)" }, + { "ErrorDatabasePort", "C\u1ED5ng CSDL kh�ng \u0111�ng" }, + { "ErrorJDBC", "L\u1ED7i li�n quan \u0111\u1EBFn k\u1EBFt n\u1ED1i JDBC" }, + { "ErrorTNS", "L\u1ED7i li�n quan \u0111\u1EBFn k\u1EBFt n\u1ED1i TNS" }, + { "ErrorMailServer", "L\u1ED7i li�n quan \u0111\u1EBFn Mail Server (\u0111\u1EEBng d�ng localhost)" }, + { "ErrorMail", "L\u1ED7i li�n quan \u0111\u1EBFn Mail" }, + { "ErrorSave", "L\u1ED7i khi l\u01B0u file" }, + + { "EnvironmentSaved", "M�i tr\u01B0\u1EDDng \u0111� \u0111\u01B0\u1EE3c l\u01B0u\nB\u1EA1n c\u1EA7n kh\u1EDFi \u0111\u1ED9ng l\u1EA1i Server." }, + { "RMIoverHTTP", "Tunnel Objects via HTTP" }, + { "RMIoverHTTPInfo", "RMI over HTTP allows to go through firewalls" } + }; + + /** + * Get Contents + * @return contents + */ + public Object[][] getContents() + { + return contents; + } // getContents + +} // SetupRes_vi diff --git a/install/src/org/compiere/install/SetupRes_zh.java b/install/src/org/compiere/install/SetupRes_zh.java new file mode 100644 index 0000000000..3f54daa3ea --- /dev/null +++ b/install/src/org/compiere/install/SetupRes_zh.java @@ -0,0 +1,118 @@ +/****************************************************************************** + * 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.install; + +import java.util.*; + +/** + * Setup Resources + * + * @author kirinlin + * @version $Id: SetupRes_zh.java,v 1.2 2006/07/30 00:57:42 jjanke Exp $ + */ +public class SetupRes_zh extends ListResourceBundle +{ + /** Translation Info */ + static final Object[][] contents = new String[][]{ + { "AdempiereServerSetup", "Adempiere \u4f3a\u670d\u5668\u8a2d\u5b9a" }, + { "Ok", "\u78ba\u5b9a" }, + { "File", "\u6a94\u6848" }, + { "Exit", "\u96e2\u958b" }, + { "Help", "\u8aaa\u660e" }, + { "PleaseCheck", "\u8acb\u6aa2\u67e5" }, + { "UnableToConnect", "\u7121\u6cd5\u81ea Adempiere \u7db2\u7ad9\u5f97\u5230\u8aaa\u660e" }, + + { "AdempiereHomeInfo", "Adempiere \u4e3b\u76ee\u9304" }, + { "AdempiereHome", "Adempiere Home" }, + { "WebPortInfo", "\u7db2\u9801\u4f3a\u670d\u5668\u9023\u63a5\u57e0" }, + { "WebPort", "Web Port" }, + { "AppsServerInfo", "\u61c9\u7528\u4f3a\u670d\u5668\u540d\u7a31" }, + { "AppsServer", "Apps Server" }, + { "DatabaseTypeInfo", "\u8cc7\u6599\u5eab\u7a2e\u985e" }, + { "DatabaseType", "Database Type" }, + { "DatabaseNameInfo", "\u8cc7\u6599\u5eab\u540d\u7a31 " }, + { "DatabaseName", "Database Name (SID)" }, + { "DatabasePortInfo", "\u8cc7\u6599\u5eab\u9023\u63a5\u57e0" }, + { "DatabasePort", "Database Port" }, + { "DatabaseUserInfo", "Adempiere \u4f7f\u7528\u8cc7\u6599\u5eab\u7684\u5e33\u865f" }, + { "DatabaseUser", "Database User" }, + { "DatabasePasswordInfo", "Adempiere \u4f7f\u7528\u8cc7\u6599\u5eab\u7684\u5bc6\u78bc" }, + { "DatabasePassword", "Database Password" }, + { "TNSNameInfo", "TNS or Global Database Name" }, + { "TNSName", "TNS Name" }, + { "SystemPasswordInfo", "\u7cfb\u7d71\u5bc6\u78bc" }, + { "SystemPassword", "System Password" }, + { "MailServerInfo", "\u90f5\u4ef6\u4f3a\u670d\u5668" }, + { "MailServer", "Mail Server" }, + { "AdminEMailInfo", "Adempiere \u7ba1\u7406\u8005 EMail" }, + { "AdminEMail", "Admin EMail" }, + { "DatabaseServerInfo", "\u8cc7\u6599\u5eab\u540d\u7a31" }, + { "DatabaseServer", "Database Server" }, + { "JavaHomeInfo", "Java \u4e3b\u76ee\u9304" }, + { "JavaHome", "Java Home" }, + { "JNPPortInfo", "\u61c9\u7528\u4f3a\u670d\u5668\u7684 JNP \u9023\u63a5\u57e0" }, + { "JNPPort", "JNP Port" }, + { "MailUserInfo", "Adempiere Mail \u5e33\u865f" }, + { "MailUser", "Mail User" }, + { "MailPasswordInfo", "Adempiere Mail \u5e33\u865f\u7684\u5bc6\u78bc" }, + { "MailPassword", "Mail Password" }, + { "KeyStorePassword", "Key Store Password" }, + { "KeyStorePasswordInfo", "Password for SSL Key Store" }, + // + { "JavaType", "Java VM"}, + { "JavaTypeInfo", "Java VM Vendor"}, + { "AppsType", "Server Type"}, + { "AppsTypeInfo", "J2EE Application Server Type"}, + { "DeployDir", "Deployment"}, + { "DeployDirInfo", "J2EE Deployment Directory"}, + { "ErrorDeployDir", "Error Deployment Directory"}, + // + { "TestInfo", "\u8a2d\u5b9a\u6e2c\u8a66" }, + { "Test", "Test" }, + { "SaveInfo", "\u5132\u5b58\u8a2d\u5b9a" }, + { "Save", "Save" }, + { "HelpInfo", "\u53d6\u5f97\u8aaa\u660e" }, + + { "ServerError", "\u4f3a\u670d\u5668\u8a2d\u5b9a\u932f\u8aa4" }, + { "ErrorJavaHome", "Java \u4e3b\u76ee\u9304\u932f\u8aa4" }, + { "ErrorAdempiereHome", "Adempiere \u4e3b\u76ee\u9304\u932f\u8aa4" }, + { "ErrorAppsServer", "\u61c9\u7528\u4f3a\u670d\u5668\u932f\u8aa4 (do not use localhost)" }, + { "ErrorWebPort", "\u7db2\u9801\u4f3a\u670d\u5668\u9023\u63a5\u57e0\u932f\u8aa4" }, + { "ErrorJNPPort", "JNP \u9023\u63a5\u57e0\u932f\u8aa4" }, + { "ErrorDatabaseServer", "\u8cc7\u6599\u5eab\u932f\u8aa4 (do not use localhost)" }, + { "ErrorDatabasePort", "\u8cc7\u6599\u5eab Port \u932f\u8aa4" }, + { "ErrorJDBC", "JDBC \u9023\u63a5\u932f\u8aa4" }, + { "ErrorTNS", "TNS \u9023\u63a5\u932f\u8aa4" }, + { "ErrorMailServer", "\u90f5\u4ef6\u4f3a\u670d\u5668\u932f\u8aa4 (do not use localhost)" }, + { "ErrorMail", "\u90f5\u4ef6\u932f\u8aa4" }, + { "ErrorSave", "\u5b58\u6a94\u932f\u8aa4" }, + + { "EnvironmentSaved", "\u74b0\u5883\u8a2d\u5b9a\u5132\u5b58\u6210\u529f\n\u8acb\u5c07\u4f3a\u670d\u5668\u91cd\u65b0\u555f\u52d5." }, + { "RMIoverHTTP", "Tunnel Objects via HTTP" }, + { "RMIoverHTTPInfo", "RMI over HTTP allows to go through firewalls" } + }; + + /** + * Get Contents + * @return contents + */ + public Object[][] getContents() + { + return contents; + } // getContents + +} // SerupRes diff --git a/install/src/org/compiere/install/SetupRes_zh_CN.java b/install/src/org/compiere/install/SetupRes_zh_CN.java new file mode 100644 index 0000000000..1177506c92 --- /dev/null +++ b/install/src/org/compiere/install/SetupRes_zh_CN.java @@ -0,0 +1,134 @@ +/****************************************************************************** + * 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.install; + +import java.util.*; + +/** + * Setup Resources + * + * @author ZhaoXing Meng + * @version $Id: SetupRes_zh_CN.java,v 1.2 2006/07/30 00:57:42 jjanke Exp $ + */ +public class SetupRes_zh_CN extends ListResourceBundle +{ + + /** Translation Info */ + static final Object[][] contents = new String[][] { + { "AdempiereServerSetup", "Adempiere \u670d\u52a1\u5668\u8bbe\u7f6e"}, + { "Ok", "\u786e\u5b9a"}, + { "File", "\u6587\u4ef6"}, + { "Exit", "\u9000\u51fa"}, + { "Help", "\u5e2e\u52a9"}, + { "PleaseCheck", "\u8bf7\u68c0\u67e5"}, + { "UnableToConnect", + "\u65e0\u6cd5\u4ece Adempiere \u7f51\u7ad9\u83b7\u5f97\u5e2e\u52a9\u4fe1\u606f"}, + { "AdempiereHomeInfo", "Adempiere \u4e3b\u76ee\u5f55"}, + { "AdempiereHome", "Adempiere \u4e3b\u76ee\u5f55"}, + { "WebPortInfo", "Web (HTML) \u8fde\u63a5\u7aef\u53e3"}, + { "WebPort", "Web \u7aef\u53e3"}, + { "AppsServerInfo", "\u5e94\u7528\u670d\u52a1\u5668\u540d\u79f0"}, + { "AppsServer", "\u5e94\u7528\u670d\u52a1\u5668"}, + { "DatabaseTypeInfo", "\u6570\u636e\u5e93\u7c7b\u578b"}, + { "DatabaseType", "\u6570\u636e\u5e93\u7c7b\u578b"}, + { "DatabaseNameInfo", "\u6570\u636e\u5e93\u540d\u79f0 "}, + { "DatabaseName", "\u6570\u636e\u5e93\u540d\u79f0 (SID)"}, + { "DatabasePortInfo", "\u6570\u636e\u5e93\u8fde\u63a5\u7aef\u53e3"}, + { "DatabasePort", "\u6570\u636e\u5e93\u7aef\u53e3"}, + { "DatabaseUserInfo", + "Adempiere \u6570\u636e\u5e93\u7528\u6237\u5e10\u53f7"}, + { "DatabaseUser", "\u6570\u636e\u5e93\u5e10\u53f7"}, + { "DatabasePasswordInfo", + "Adempiere \u6570\u636e\u5e93\u7528\u6237\u5e10\u53f7\u7684\u53e3\u4ee4"}, + { "DatabasePassword", "\u6570\u636e\u5e93\u53e3\u4ee4"}, + { "TNSNameInfo", + "TNS \u6216 \u5168\u5c40\u6570\u636e\u5e93\u540d(Global Database Name)"}, + { "TNSName", "TNS \u540d"}, + { "SystemPasswordInfo", "\u7cfb\u7edf\u7528\u6237\u53e3\u4ee4"}, + { "SystemPassword", "\u7cfb\u7edf\u7528\u6237\u53e3\u4ee4"}, + { "MailServerInfo", "\u7535\u5b50\u90ae\u4ef6\u670d\u52a1\u5668"}, + { "MailServer", "\u7535\u5b50\u90ae\u4ef6\u670d\u52a1\u5668"}, + { "AdminEMailInfo", "Adempiere \u7ba1\u7406\u5458 EMail"}, + { "AdminEMail", "\u7ba1\u7406\u5458\u7684\u7535\u5b50\u90ae\u4ef6"}, + { "DatabaseServerInfo", + "\u6570\u636e\u5e93\u670d\u52a1\u5668\u540d\u79f0"}, + { "DatabaseServer", "\u6570\u636e\u5e93\u670d\u52a1\u5668"}, + { "JavaHomeInfo", "Java \u4e3b\u76ee\u5f55"}, + { "JavaHome", "Java \u4e3b\u76ee\u5f55"}, + { "JNPPortInfo", + "\u5e94\u7528\u670d\u52a1\u5668\u7684 JNP \u8fde\u63a5\u7aef\u53e3"}, + { "JNPPort", "JNP \u7aef\u53e3"}, + { "MailUserInfo", "Adempiere \u7535\u5b50\u90ae\u4ef6\u5e10\u53f7"}, + { "MailUser", "\u7535\u5b50\u90ae\u4ef6\u5e10\u53f7"}, + { "MailPasswordInfo", + "Adempiere \u7535\u5b50\u90ae\u4ef6\u8d26\u53f7\u7684\u53e3\u4ee4"}, + { "MailPassword", "\u7535\u5b50\u90ae\u4ef6\u53e3\u4ee4"}, + { "KeyStorePassword", "Key Store Password"}, + { "KeyStorePasswordInfo", "Password for SSL Key Store"}, + // + { "JavaType", "Java VM"}, + { "JavaTypeInfo", "Java VM Vendor"}, + { "AppsType", "Server Type"}, + { "AppsTypeInfo", "J2EE Application Server Type"}, + { "DeployDir", "Deployment"}, + { "DeployDirInfo", "J2EE Deployment Directory"}, + { "ErrorDeployDir", "Error Deployment Directory"}, + // + { "TestInfo", "\u6d4b\u8bd5\u8bbe\u7f6e"}, + { "Test", "\u6d4b\u8bd5"}, + { "SaveInfo", "\u4fdd\u5b58\u8bbe\u7f6e"}, + { "Save", "\u4fdd\u5b58"}, + { "HelpInfo", "\u83b7\u53d6\u5e2e\u52a9"}, + { "ServerError", "\u670d\u52a1\u5668\u8bbe\u7f6e\u9519\u8bef"}, + { "ErrorJavaHome", "Java \u4e3b\u76ee\u5f55\u8bbe\u7f6e\u9519\u8bef"}, + { "ErrorAdempiereHome", + "Adempiere \u4e3b\u76ee\u5f55\u8bbe\u7f6e\u9519\u8bef"}, + { + "ErrorAppsServer", + "\u5e94\u7528\u670d\u52a1\u5668\u8bbe\u7f6e\u9519\u8bef (\u4e0d\u80fd\u4f7f\u7528\u672c\u673a-localhost)"}, + { "ErrorWebPort", + "Web \u670d\u52a1\u5668\u8fde\u63a5\u7aef\u53e3\u8bbe\u7f6e\u9519\u8bef"}, + { "ErrorJNPPort", + "JNP \u8fde\u63a5\u7aef\u53e3\u8bbe\u7f6e\u9519\u8bef"}, + { + "ErrorDatabaseServer", + "\u6570\u636e\u5e93\u670d\u52a1\u5668\u8bbe\u7f6e\u9519\u8bef (\u4e0d\u80fd\u4f7f\u7528\u672c\u673a-localhost)"}, + { "ErrorDatabasePort", + "\u6570\u636e\u5e93\u7aef\u53e3\u8bbe\u7f6e\u9519\u8bef"}, + { "ErrorJDBC", "JDBC \u8fde\u63a5\u9519\u8bef"}, + { "ErrorTNS", "TNS \u8fde\u63a5\u9519\u8bef"}, + { + "ErrorMailServer", + "\u90ae\u4ef6\u670d\u52a1\u5668\u8bbe\u7f6e\u9519\u8bef (\u4e0d\u80fd\u4f7f\u7528\u672c\u673a-localhost)"}, + { "ErrorMail", "\u7535\u5b50\u90ae\u4ef6\u9519\u8bef"}, + { "ErrorSave", "\u5b58\u6863\u9519\u8bef"}, + { + "EnvironmentSaved", + "\u73af\u5883\u8bbe\u7f6e\u4fdd\u5b58\u6210\u529f\n\u8bf7\u91cd\u65b0\u542f\u52a8\u670d\u52a1\u5668\u3002"}, + { "RMIoverHTTP", "Tunnel Objects via HTTP"}, + { "RMIoverHTTPInfo", "RMI over HTTP allows to go through firewalls"}}; + + /** + * Get Contents + * + * @return contents + */ + public Object[][] getContents () + { + return contents; + } // getContents +} // SerupRes diff --git a/install/src/org/compiere/install/Setup_Help.java b/install/src/org/compiere/install/Setup_Help.java new file mode 100644 index 0000000000..25811c4651 --- /dev/null +++ b/install/src/org/compiere/install/Setup_Help.java @@ -0,0 +1,155 @@ +/****************************************************************************** + * 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.install; + +import java.awt.*; +import java.awt.event.*; +import java.io.*; +import java.util.*; +import javax.swing.*; + +import org.compiere.apps.*; +import org.compiere.swing.*; + +/** + * Setup Online Help + * + * @author Jorg Janke + * @version $Id: Setup_Help.java,v 1.2 2006/07/30 00:57:42 jjanke Exp $ + */ +public class Setup_Help extends JDialog implements ActionListener +{ + /** + * Constructor + * @param parent parent frame + */ + public Setup_Help (Frame parent) + { + super (parent, true); + init(parent); + } // Setup_Help + + /** + * Constructor + * @param parent parent dialog + */ + public Setup_Help (Dialog parent) + { + super (parent, true); + init(parent); + } // Setup_Help + + /** + * Constructor init + * @param parent parent window + */ + private void init (Window parent) + { + enableEvents(AWTEvent.WINDOW_EVENT_MASK); + try + { + jbInit(); + dynInit(); + } + catch(Exception e) + { + e.printStackTrace(); + } + + Dimension dlgSize = getPreferredSize(); + Dimension frmSize = parent.getSize(); + Point loc = parent.getLocation(); + setLocation((frmSize.width - dlgSize.width) / 2 + loc.x, (frmSize.height - dlgSize.height) / 2 + loc.y); + try + { + pack(); + setVisible(true); // HTML load errors + } + catch (Exception ex) + { + } + } // init + + + static ResourceBundle res = ResourceBundle.getBundle("org.compiere.install.SetupRes"); + private CPanel mainPanel = new CPanel(); + private CPanel southPanel = new CPanel(); + private JButton bOK = new JButton(); + private BorderLayout mainLayout = new BorderLayout(); + private JScrollPane centerScrollPane = new JScrollPane(); + private JEditorPane editorPane = new OnlineHelp(); + + + /** + * Static layout + * @throws Exception + */ + private void jbInit() throws Exception + { + //imageLabel.setIcon(new ImageIcon(SetupFrame_AboutBox.class.getResource("[Your Image]"))); + this.setTitle(res.getString("AdempiereServerSetup") + " " + res.getString("Help")); + mainPanel.setLayout(mainLayout); + bOK.setText(res.getString("Ok")); + bOK.addActionListener(this); + centerScrollPane.setPreferredSize(new Dimension(600, 400)); + this.getContentPane().add(mainPanel, null); + southPanel.add(bOK, null); + mainPanel.add(southPanel, BorderLayout.SOUTH); + setResizable(true); + mainPanel.add(centerScrollPane, BorderLayout.CENTER); + centerScrollPane.getViewport().add(editorPane, null); + } // jbInit + + /** + * Set Content + */ + private void dynInit() + { + try + { + editorPane.setPage("http://www.adempiere.org/help/serverSetup.html"); + } + catch (IOException ex) + { + editorPane.setText(res.getString("PleaseCheck") + + " http://www.adempiere.org/support

(" + + res.getString("UnableToConnect") + ")"); + } + } // dynInit + + /** + * Close Dialog if closing + * @param e event + */ + protected void processWindowEvent(WindowEvent e) + { + if (e.getID() == WindowEvent.WINDOW_CLOSING) + dispose(); + super.processWindowEvent(e); + } // processWindowEvent + + /** + * Action Listener + * @param e event + */ + public void actionPerformed(ActionEvent e) + { + if (e.getSource() == bOK) + dispose(); + } // actionPerformed + +} // Setup_Help diff --git a/install/src/org/compiere/install/openFile.gif b/install/src/org/compiere/install/openFile.gif new file mode 100644 index 0000000000..69dd8d4830 Binary files /dev/null and b/install/src/org/compiere/install/openFile.gif differ