[izpack-user] NullPointerException using Panel Validator

69 views
Skip to first unread message

Thiago

unread,
Apr 3, 2013, 7:22:58 AM4/3/13
to us...@izpack.codehaus.org
I have validator class called CompareValidator

I've tried  this way

 <field type="text" variable="TOMCAT_PORT">
            <spec id="smartclient.config.port" set="80" size="20" />         
            <validator classname="com.totvs.remotehtml.installer.validator.CompareValidator" /> -->
 </field>
Nothing happens.

Then I tried this way
<panel id="smartclient" classname="UserInputPanel" condition="install" >
<validator classname="com.izforge.izpack.panels.userinput.validator.CompareValidator" />
</panel>

Thiago

unread,
Apr 3, 2013, 7:23:34 AM4/3/13
to us...@izpack.codehaus.org
The following error occur
Validation did not pass!
Exception in thread "Thread-11" java.lang.NullPointerException
        at java.util.TreeMap.getEntry(Unknown Source)
        at java.util.TreeMap.get(Unknown Source)
        at com.izforge.izpack.LocaleDatabase.getString(Unknown Source)
        at com.izforge.izpack.installer.IzPanel.validatePanel(Unknown Source)
        at com.izforge.izpack.installer.IzPanel.panelValidated(Unknown Source)
        at com.izforge.izpack.installer.InstallerFrame.navigateNext(Unknown Source)
        at com.izforge.izpack.installer.InstallerFrame.navigateNext(Unknown Source)
        at com.izforge.izpack.installer.InstallerFrame$NavigationHandler.navigate(Unknown Source)
        at com.izforge.izpack.installer.InstallerFrame$NavigationHandler.access$100(Unknown Source)
        at com.izforge.izpack.installer.InstallerFrame$NavigationHandler$1.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)


2013/4/3 Thiago <thiago....@gmail.com>

Thiago

unread,
Apr 3, 2013, 7:25:01 AM4/3/13
to us...@izpack.codehaus.org
My class source code
package com.izforge.izpack.panels.userinput.validator;

import java.util.Map;

import com.izforge.izpack.installer.AutomatedInstallData;
import com.izforge.izpack.installer.DataValidator;
import com.izforge.izpack.panels.ProcessingClient;

public class CompareValidator implements DataValidator {

public boolean validate(ProcessingClient client) {
return false;
}

public boolean getDefaultAnswer() {
return false;
}

        public String getErrorMessageId() {
return null;
}

public String getWarningMessageId() {
return null;
}
public Status validateData(AutomatedInstallData arg0) {
return null;
}
}



2013/4/3 Thiago <thiago....@gmail.com>

Ankur Gupta

unread,
Apr 3, 2013, 10:34:19 AM4/3/13
to us...@izpack.codehaus.org

May be from validateData(AutomatedInstallData arg0) method you can try returning com.izforge.izpack.installer.DataValidator.Status enum.

 

                public Status validateData(AutomatedInstallData arg0) {

                                return com.izforge.izpack.installer.DataValidator.Status.OK;

                }

 

Ankur

Peter Hübner

unread,
Apr 3, 2013, 1:40:19 PM4/3/13
to us...@izpack.codehaus.org

As you returns null:
public Status validateData(AutomatedInstallData arg0) {
return null;
}

it results in:

Validation did not pass!
Exception in thread "Thread-11" java.lang.NullPointerException

The Exception is not optimal, but technically correct.

You must (as result of your verification) return one meaningful value to the installer (Status.OK or Status.WARNING or Status.ERROR)

Regards
Peter

Thiago

unread,
Apr 5, 2013, 4:03:30 PM4/5/13
to us...@izpack.codehaus.org
Thanks, thats is really the error.



2013/4/3 Peter Hübner <hueb...@online.de>
Reply all
Reply to author
Forward
0 new messages