[izpack-users] Setting Built-In Variable
Bartz, Klaus
Klaus.Bartz at coi.de
Wed Oct 18 11:57:48 CEST 2006
Really, some one like custom actions?
Nice...
Of course, a custom action can also help. But I have the
impression, that more people have problems with a custom action
as with a custom panel.
The question is, where to get the path from for the tomcat?
You can use a UserInputPanel for it, but a special custom panel
can do more.
Cheers
Klaus
>-----Original Message-----
>From: izpack-users-bounces at lists.berlios.de
>[mailto:izpack-users-bounces at lists.berlios.de]On Behalf Of Dennis Reil
>Sent: Wednesday, October 18, 2006 1:30 PM
>To: izpack-users at lists.berlios.de
>Subject: Re: [izpack-users] Setting Built-In Variable
>
>
>I think you can create an installer listener. The modification of the
>variable should be done in the beforePacks-method, so that it will be
>modified right before starting the install process.
>
>regards
> Dennis
>
>
>Am Mittwoch, den 18.10.2006, 10:42 +0200 schrieb Bartz, Klaus:
>> Hi Thao,
>> I thought a little bit about your problem, but the only resolution
>> I have seen is to create a custom panel.
>> Following my custom panel to ask for the BEA path.
>> In my properties file I do not use $FILE_SEPARATOR because it is
>> something like readonly, else I use a custom variable named
>> EJBProperties.ServerHomeDir. In method isValidated you can see
>> how to make the separators we need. There are two variables,
>> one with UNIX, one with DOS separator.
>> For creating a custom panel see the docu you have installed (I hope).
>> There are also some threads in the izpack-users list, e.g.
>>
>https://lists.berlios.de/pipermail/izpack-users/2006-October/00
>2697.html
>>
>https://lists.berlios.de/pipermail/izpack-users/2006-October/00
>2729.html
>> Some threads are broken on the mail archive, therefore search with
>> "subject" sorting.
>>
>> Cheers
>>
>> Klaus
>>
>>
>---------------------------------------------------------------
>--------------
>> package com.coi.tools.install.panels;
>>
>> import java.io.File;
>> import java.net.InetAddress;
>> import java.net.UnknownHostException;
>>
>> import javax.swing.JCheckBox;
>> import javax.swing.JTextField;
>> import javax.swing.border.EmptyBorder;
>>
>> import com.izforge.izpack.installer.InstallData;
>> import com.izforge.izpack.installer.InstallerFrame;
>> import com.izforge.izpack.panels.PathInputPanel;
>> import com.izforge.izpack.util.IoHelper;
>>
>> /**
>> * Panel which asks for the path of BEA and whether extended
>configuration should be performed or
>> * not. Additional the host of the EJB will be verified.
>> *
>> * @author Klaus Bartz
>> */
>> public class BEAPathPanel extends PathInputPanel
>> {
>>
>> private static final String[] testFiles = new String[] {
>"server" + File.separator + "lib"
>> + File.separator + "weblogic.jar"};
>>
>> /** The text field for the host name. */
>> protected JTextField hostName;
>>
>> /** The 'extended button. */
>> protected JCheckBox extendedCheckBox;
>>
>> /**
>> * The constructor.
>> *
>> * @param parent The parent window.
>> * @param idata The installation data.
>> */
>> public BEAPathPanel(InstallerFrame parent, InstallData idata)
>> {
>> super(parent, idata);
>> setMustExist(true);
>> setExistFiles(BEAPathPanel.testFiles);
>>
>> }
>>
>> /**
>> * This method will be called from ctor of
>PathInputPanel, after standard components are
>> * defined.
>> */
>> public void createLayoutBottom()
>> {
>> hostName = CustomPanel.createHostNameFieldIfNeeded(this);
>> extendedCheckBox = new
>JCheckBox(parent.langpack.getString("customCommon.extended"), false);
>> extendedCheckBox.setBorder( new EmptyBorder( 0,0,0,0 ) );
>> add(extendedCheckBox, NEXT_LINE);
>> }
>>
>> /**
>> * Indicates wether the panel has been validated or not.
>> *
>> * @return Wether the panel has been validated or not.
>> */
>> public boolean isValidated()
>> {
>> if(idata.getVariable("PANEL_LAYOUT_TEST") != null)
>> return(true);
>> if (!super.isValidated()) return (false);
>> String chosenPath = pathSelectionPanel.getPath();
>> if (chosenPath == null || chosenPath.length() < 1)
>return (false);
>> String hostNameStr = null;
>> try
>> {
>> hostNameStr = (hostName != null) ?
>hostName.getText() : idata.getVariable("LocalHost");
>> InetAddress.getByName(hostNameStr);
>> }
>> catch (UnknownHostException e)
>> {
>>
>emitError(parent.langpack.getString("installer.error"), parent.langpack
>> .getString("SelectEJBTypePanel.invalidHost"));
>> return (false);
>> }
>> idata.setVariable("EJBProperties.EJB_Host", hostNameStr);
>>
>> idata.setVariable("EJBPath", chosenPath);
>> idata.setVariable("BEAExtendedConfig",
>extendedCheckBox.isSelected() ? "yes" : "no");
>> String path = chosenPath;
>> path = IoHelper.replaceString(path, "\\", "/");
>> idata.setVariable("EJBProperties.ServerHomeDir", path);
>> path = IoHelper.replaceString(path, "/", "\\");
>> idata.setVariable("ServerHomeDirDOS", path);
>> path = IoHelper.replaceString(path, "\\", "\\\\");
>> idata.setVariable("EJBProperties.ServerHomeDirDOS", path);
>>
>> return (true);
>> }
>>
>> /*
>> * (non-Javadoc)
>> *
>> * @see com.izforge.izpack.installer.IzPanel#panelActivate()
>> */
>> public void panelActivate()
>> {
>> super.panelActivate();
>> if (!SelectEJBTypePanel.isTypeChoosen(idata,
>SelectEJBTypePanel.BEA)
>> && idata.getVariable("PANEL_LAYOUT_TEST") == null)
>> parent.skipPanel();
>> else
>> {
>> String defaultPath = IoHelper.getenv("WLS_HOME");
>> if (defaultPath == null) defaultPath = "";
>> if (idata.getVariable("EJBPath") != null)
>>
>pathSelectionPanel.setPath(idata.getVariable("EJBPath"));
>> else
>> pathSelectionPanel.setPath(defaultPath);
>> if (hostName != null)
>> {
>> if
>(idata.getVariable("EJBProperties.EJB_Host") != null)
>>
>hostName.setText(idata.getVariable("EJBProperties.EJB_Host"));
>> else
>> hostName.setText(idata.getVariable("LocalHost"));
>> }
>> }
>> }
>>
>> }
>>
>>
>----------------------------------------------------------------------
>>
>>
>> >-----Original Message-----
>> >From: izpack-users-bounces at lists.berlios.de
>> >[mailto:izpack-users-bounces at lists.berlios.de]On Behalf Of
>thach thao
>> >Sent: Wednesday, October 18, 2006 6:29 AM
>> >To: izpack-users at lists.berlios.de
>> >Subject: [izpack-users] Setting Built-In Variable
>> >
>> >
>> >
>> >Hi all,
>> >
>> >I set the value for $FILE_SEPARATOR but it same does not work :-(.
>> >
>> >I have a variable named $tomcat_home, during installing, this
>> >variable will
>> >receive the real-value of tomcat home of user machine.
>> >
>> >In window, the value will be as the same "c:\Program Files\Apache
>> >Group\Tomcat 4.1\" and i want to change it to "c:/Program
>Files/Apache
>> >Group/Tomcat 4.1/" before installer use it for parsering in files.
>> >
>> >How I can do it?
>> >
>> >I attach the installation.xml file and a example files need
>to parse.
>> >
>> >Thanks so much for your support.
>> >Thach Thao.
>> >
>> >http://www.nabble.com/file/3730/Installation.xml Installation.xml
>> >http://www.nabble.com/file/3731/log4j.properties%20%28Using%20f
>> or%20Package%29
>> log4j.properties (Using for Package)
>>
http://www.nabble.com/file/3732/log4j.properties%28After%20installed%29
> log4j.properties(After installed)
>
_______________________________________________
izpack-users mailing list
izpack-users at lists.berlios.de
https://lists.berlios.de/mailman/listinfo/izpack-users
More information about the izpack-users
mailing list