Problems using DynamicInstallerRequirementValidator (izpack 5.0.7)

79 views
Skip to first unread message

Oliver Kersten

unread,
Mar 10, 2016, 10:41:26 AM3/10/16
to izpack-user
Hello,
I want to check the installed program version during installation. I don't know if it's the right way, but I have tried to use the DynamicInstallerRequirementValidator.
Defining the "dynamicinstallerrequirements"
  ....
  <dynamicinstallerrequirements>
<installerrequirement severity="ERROR" condition="isValidVersion" messageid="error.wrongProgramVersion" />
  </dynamicinstallerrequirements>
  ....
 leads me to this error
[izpack] ERROR:  'cvc-complex-type.3.2.2: Attribut "severity" darf nicht in Element "installerrequirement" vorkommen.'
   [izpack] ERROR:  'com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: cvc-complex-type.3.2.2: Attribut "severity" darf nicht in Element "installerrequirement" vorkommen.'
   [izpack] Exception in thread "Thread-1" com.izforge.izpack.api.adaptator.XMLException: Error in C:\Entwicklung\eclipse_workspace\ApenioIzPackInstaller\resources\JBoss4\xml\updateScript.xml at line 72, column 115 : javax.xml.transform.TransformerException: com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: cvc-complex-type.3.2.2: Attribut "severity" darf nicht in Element "installerrequirement" vorkommen.
   [izpack] at com.izforge.izpack.ant.IzpackAntRunnable.run(IzpackAntRunnable.java:83)
   [izpack] at java.lang.Thread.run(Thread.java:745)
   [izpack] Caused by: com.izforge.izpack.api.adaptator.XMLException: Error in C:\Entwicklung\eclipse_workspace\ApenioIzPackInstaller\resources\JBoss4\xml\updateScript.xml at line 72, column 115 : javax.xml.transform.TransformerException: com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: cvc-complex-type.3.2.2: Attribut "severity" darf nicht in Element "installerrequirement" vorkommen.
   [izpack] at com.izforge.izpack.api.adaptator.impl.XMLParser.parseLineNrFromInputSource(XMLParser.java:183)
   [izpack] at com.izforge.izpack.api.adaptator.impl.XMLParser.parse(XMLParser.java:215)
   [izpack] at com.izforge.izpack.compiler.resource.ResourceFinder.getXMLTree(ResourceFinder.java:166)
   [izpack] at com.izforge.izpack.compiler.CompilerConfig.executeCompiler(CompilerConfig.java:314)
   [izpack] at com.izforge.izpack.ant.IzpackAntRunnable.run(IzpackAntRunnable.java:79)
   [izpack] ... 1 more
   [izpack] Caused by: javax.xml.transform.TransformerException: javax.xml.transform.TransformerException: com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: cvc-complex-type.3.2.2: Attribut "severity" darf nicht in Element "installerrequirement" vorkommen.
   [izpack] at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:755)
   [izpack] at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:357)
   [izpack] at com.izforge.izpack.api.adaptator.impl.XMLParser.parseLineNrFromInputSource(XMLParser.java:164)
   [izpack] ... 5 more
   [izpack] Caused by: javax.xml.transform.TransformerException: com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: cvc-complex-type.3.2.2: Attribut "severity" darf nicht in Element "installerrequirement" vorkommen.
   [izpack] at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getDOM(TransformerImpl.java:584)
   [izpack] at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:745)
   [izpack] ... 7 more
   [izpack] Caused by: com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: cvc-complex-type.3.2.2: Attribut "severity" darf nicht in Element "installerrequirement" vorkommen.
   [izpack] at com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager.getDTM(XSLTCDTMManager.java:427)
   [izpack] at com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager.getDTM(XSLTCDTMManager.java:215)
   [izpack] at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getDOM(TransformerImpl.java:562)
   [izpack] ... 8 more

severity seems to be a wrong attribute.
I have checked the "izpack-installation-5.0.xsd" schema. But following the schema:
<xs:complexType name="dynamicInstallerRequirementsType">
        <xs:sequence>
            <xs:element name="installerrequirement" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:attribute name="status" use="required">
                        <xs:simpleType>
                            <xs:restriction base="xs:string">
                                <xs:enumeration value="warning"/>
                                <xs:enumeration value="error"/>
                            </xs:restriction>
                        </xs:simpleType>
                    </xs:attribute>
                    <xs:attribute name="condition" type="xs:string" use="required"/>
                    <xs:attribute name="messageid" type="xs:string" use="required"/>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
ends in another error:
  <dynamicinstallerrequirements>
<installerrequirement status="error" condition="isValidApenioVersion" messageid="error.wrongProgramVersion" />
  </dynamicinstallerrequirements>

[izpack] Exception in thread "Thread-1" com.izforge.izpack.api.exception.CompilerException: resources/JBoss4/xml/updateScript.xml:72: <installerrequirement> requires attribute 'severity'
   [izpack] at com.izforge.izpack.ant.IzpackAntRunnable.run(IzpackAntRunnable.java:83)
   [izpack] at java.lang.Thread.run(Thread.java:745)
   [izpack] Caused by: com.izforge.izpack.api.exception.CompilerException: resources/JBoss4/xml/updateScript.xml:72: <installerrequirement> requires attribute 'severity'
   [izpack] at com.izforge.izpack.compiler.helper.AssertionHelper.parseError(AssertionHelper.java:64)
   [izpack] at com.izforge.izpack.compiler.helper.XmlCompilerHelper.requireAttribute(XmlCompilerHelper.java:203)
   [izpack] at com.izforge.izpack.compiler.CompilerConfig.addDynamicInstallerRequirement(CompilerConfig.java:2702)
   [izpack] at com.izforge.izpack.compiler.CompilerConfig.executeCompiler(CompilerConfig.java:329)
   [izpack] at com.izforge.izpack.ant.IzpackAntRunnable.run(IzpackAntRunnable.java:79)
   [izpack] ... 1 more

Now severity is required again. I am a little bit confused.


And another Problem is, that the compiler can't find the class. I followed the documentation:
<panels>
    <panel classname="TargetPanel"/>
    <panel classname="PacksPanel">
    <validator classname="DynamicInstallerRequirementValidator"/>
    </panel>
    <panel classname="InstallPanel"/>
    <panel classname="FinishPanel"/>
  </panels>
and got this error:
Adding panel: TargetPanel_0 :: Classname : com.izforge.izpack.panels.target.TargetPanel
   [izpack] Exception in thread "Thread-1" com.izforge.izpack.api.exception.IzPackClassNotFoundException: Class 'DynamicInstallerRequirementValidator' not found
   [izpack] at com.izforge.izpack.ant.IzpackAntRunnable.run(IzpackAntRunnable.java:83)
   [izpack] at java.lang.Thread.run(Thread.java:745)
   [izpack] Caused by: com.izforge.izpack.api.exception.IzPackClassNotFoundException: Class 'DynamicInstallerRequirementValidator' not found
   [izpack] at com.izforge.izpack.compiler.util.CompilerClassLoader.loadClass(CompilerClassLoader.java:110)
   [izpack] at com.izforge.izpack.compiler.CompilerConfig.addPanels(CompilerConfig.java:1668)
   [izpack] at com.izforge.izpack.compiler.CompilerConfig.executeCompiler(CompilerConfig.java:339)
   [izpack] at com.izforge.izpack.ant.IzpackAntRunnable.run(IzpackAntRunnable.java:79)
   [izpack] ... 1 more
   [izpack] Caused by: java.lang.ClassNotFoundException: DynamicInstallerRequirementValidator
   [izpack] at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
   [izpack] at com.izforge.izpack.compiler.util.CompilerClassLoader.findClass(CompilerClassLoader.java:136)
   [izpack] at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
   [izpack] at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
   [izpack] at com.izforge.izpack.compiler.util.CompilerClassLoader.loadClass(CompilerClassLoader.java:98)
   [izpack] ... 4 more

Can anyone help me?
thanks, Oliver

Oliver Kersten

unread,
Mar 10, 2016, 11:12:10 AM3/10/16
to izpack-user
Hello,
now I have found the open bug report "DynamicInstallerRequirements are broken" : https://izpack.atlassian.net/browse/IZPACK-986.

It's about two years old. Is there any workarround. Can I use an other validator. I'm stuck here.

ciao, Oliver


René Krell

unread,
Mar 10, 2016, 5:57:01 PM3/10/16
to izpac...@googlegroups.com
Hi Oliver, I will check this soon.

--
You received this message because you are subscribed to the Google Groups "izpack-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to izpack-user...@googlegroups.com.
To post to this group, send email to izpac...@googlegroups.com.
Visit this group at https://groups.google.com/group/izpack-user.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages