Parse tag

Does somebody know how to parse an external XML document in some JSP page?
I`ve tried to use the folowing:
<%@ taglib uri="http://java.sun.com/jstl/xml_rt" prefix="x" %>
<x:parse uri="some.xml" var="xmlSrc"/>
...but it don`t work! Says that uri attribute is not legal.
Thanks

Hi,
I must have a directory called tags into your WEB-INF.
Afonso

Similar Messages

  • Error parsing tag-library file

    Anyone know how to tackle this one?
    Error parsing JSP page /AnteDateLogin.jsp line 3
    Error parsing tag-library file:/u01/web/ias102/j2ee/home/applications/antedate/antedate/WEB-INF/lib/uixtags.jar: Illegal XML character: &#x0;.
    Here is what goes to the console.
    ora03 $ at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.javaorg.xml.sax.SAXParseException: Illegal XML character: &#x0;.
    at org.apache.crimson.parser.InputEntity.fatal(InputEntity.java:1038)
    at org.apache.crimson.parser.InputEntity.parsedContent(InputEntity.java:593)
    at org.apache.crimson.parser.Parser2.content(Parser2.java:1747)
    at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1468)
    at org.apache.crimson.parser.Parser2.content(Parser2.java:1700)
    at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1468)
    at org.apache.crimson.parser.Parser2.content(Parser2.java:1700)
    at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1468)
    at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:499)
    at org.apache.crimson.parser.Parser2.parse(Parser2.java:304)
    at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:433)
    at org.apache.crimson.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:179)
    at com.evermind.xml.JavaxXMLUtils.getJavaxDocument(JavaxXMLUtils.java:35)
    at com.evermind.xml.XMLUtils.getDocument(XMLUtils.java:157)
    at com.evermind.server.http.TagLibraryInfoImplBase.parse(TagLibraryInfoImplBase.java:82)
    at com.evermind.server.http.TagLibraryInfoImplBase.<init>(TagLibraryInfoImplBase.java:47)
    at com.evermind.server.http.TagLibraryArchive.<init>(TagLibraryArchive.java:40)
    at com.evermind.server.http.TagLibraryArchive.getArchive(TagLibraryArchive.java:98)
    at com.evermind.server.http.TagLibraryStorage.getTagLibContext(TagLibraryStorage.java:183)
    at com.evermind.server.http.HttpApplication.getTagLibContext(HttpApplication.java:5897)
    at com.evermind.server.http.JSPPageCompilation.addTagLibTag(JSPPageCompilation.java:2229)
    at com.evermind.server.http.JSPPageCompilation.compile(JSPPageCompilation.java:278)
    at com.evermind.server.http.JSPPage.compile(JSPPage.java:115)
    at com.evermind.server.http.HttpApplication.getJSP(HttpApplication.java:5324)
    at com.evermind.server.http.HttpApplication.serviceJSP(HttpApplication.java:5423)
    at com.evermind.server.http.JSPServlet.service(JSPServlet.java:31)
    at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:508)
    at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:177)
    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:576)
    at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:189)
    at com.evermind.util.ThreadPoolThread.run(ThreadPoolThread.java:62)

    Doe anybody have an idea?

  • XI XML Parser: tag content with "'", single apostrophe: invalid character

    Hi all,
    we import XML-documents with the file adapter in a sender channel. everything works well.
    But if one of the XML-tag contents contains a single apostrophe ( ' ), then the XML parser stops with an error "An invalid character was found inside an entity reference. ". The message can not be processed. If I test the message content in the mapping -> no error.
    When the single apostrophe is dereferenced by an additional single apostrophe the XML-File can be processed.
    Question: does anybody know how this can be handled because it is not very nice of SAP XI to send single apostrophes in outgoing messages but cannot handle it in incoming messages from other systems? special adapter settings?
    Thank you very much
    regards
    Hans

    check bhavesh reply
    Suppress Special Character
    also check
    https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/9420 [original link is broken] [original link is broken] [original link is broken]
    Implementing a Java Mapping in SAP PI to remove Escape Sequences from a file

  • Upgrade from tomcat to OC4J 10.1.3 jsp parser exception in tag lib

    i have problem in oc4j jsp parser
    but it work ok on tomcat as tomcat using jasper-compiler.jar
    when run on oc4j it give me the exception
    OracleJSP: oracle.jsp.parse.JspParseException: /jsp/layouts/elec/pageheading.jsp: Line # 3, <aa:h1 wrapped="true" labelKey="${heading1BundleKey}"/>
    Error: Errors parsing tag :h1 oracle.jsp.parse.JspParseException: /jsp/layouts/elec/pageheading.jsp: Line # 3, <aa:h1 wrapped="true" labelKey="${heading1BundleKey}"/>
    Error: oracle.jsp.provider.JspCompileException: <H3>Errors compiling:E:\oc4j\j2ee\home\application-deployments\default\sc40\persistence\_tagfiles\_oracle\_jsp\_tag\_aacom\_h1_2e_tag.java</H3><TABLE BORDER=1 WIDTH=100%><TR><TH ALIGN=CENTER>Line #</TH><TH ALIGN=CENTER>Error</TH></TR><TR><TD WIDTH=7% VALIGN=TOP><P ALIGN=CENTER>191</TD><TD> non-static variable _jspFragWriter cannot be referenced from a static context
    _jspFragWriter = null;
    -------------------------------------------------------->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    and i have problem in web.xml
    as i using jsp servlet in jasper-compiler.jar in tomcat package
    <servlet>
    <servlet-name>jsp</servlet-name>
    <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
    <init-param>
    ------------------------------------>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    i try to use this package in oc4j but i can not
    i put this servlet in global-web-application.xml instead of
    <servlet>
         <servlet-name>jsp</servlet-name>
    <servlet-class>oracle.jsp.runtimev2.JspServlet</servlet-class>
    ------------------>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    to make oc4j depend on tomcat parser it give me
    classnotfound mean that (oc4j can not found package) this printed in global-application.log
    i make
    <library path="E:/oc4j/j2ee/home/applib/jasper-compiler.jar"/>
    and still have problem
    any 1 have idea using tomcat parser in oc4j
    or have idea solve this problem
    thanx
    Message was edited by:
    [email protected]
    Message was edited by:
    [email protected]
    Message was edited by:
    [email protected]
    Message was edited by:
    [email protected]

    OC4J 10.1.3 does support JSP 2.0, as well as custom tag libraries (including JSTL 1.1).
    There are two approaches to configuring a custom tag library for use in JSPs served by OC4J:
    1) Package the JSTL or custom tag library with your application:
    i. include the necessary JAR file in your web app's /WEB-INF/lib folder
    ii. include the relevant Tag Library Descriptor (TLD) file(s) in your web app's /WEB-INF folder
    iii. for each TLD, add a <tag-lib> element to web.xml referencing the TLD file's location and taglib URI
    2) Place the JSTL or custom tag library in an Application Server instance-level directory ($ORACLE_HOME/j2ee/home/jsp/lib/taglib) to make them available to multiple applications (in all OC4Js installed in the Oracle Home)
    For example, if you'd like to use the JSTL 1.1 Core and Internationalization Tag Libraries, do one of the following:
    1) Package the JSTL or custom tag library with your application:
    i. Obtain an implementation of JSTL (e.g. Jakarta Taglibs) and include the standard.jar and jstl.jar files in your web module's /WEB-INF/lib directory
    ii. From the JSTL implementation you're using, also copy the c.tld and fmt.tld Tag Library Descriptors to your web module's /WEB-INF/lib directory
    iii. Add the following elements to your web module's web.xml file:
    <jsp-config>
    <taglib>
    <taglib-uri>http://java.sun.com/jsp/jstl/core</taglib-uri>
    <taglib-location>/WEB-INF/c.tld</taglib-location>
    </taglib>
    <taglib>
    <taglib-uri>http://java.sun.com/jsp/jstl/fmt</taglib-uri>
    <taglib-location>/WEB-INF/fmt.tld</taglib-location>
    </taglib>
    </jsp-config>
    OR
    2) Copy the standard.jar and jstl.jar libraries from the JSTL implementation you're using to $ORACLE_HOME/j2ee/home/jsp/lib/taglib

  • Illegal Access Error : using Custom Tags

    Ive a very simple custom tag that try to print curent date on webpage but when I try to run it gives me following error
    java.lang.IllegalAccessError: try to access class com.sun.xml.tree.ParentNode from class org.apache.jasper.compiler.TagLibraryInfoImpl
    java.lang.IllegalAccessError: try to access class com.sun.xml.tree.ParentNode fr
    om class org.apache.jasper.compiler.TagLibraryInfoImpl
    Here is my jsp code
    <html>
    <head>
    <%@ taglib uri="http://127.0.0.1:8080/examples/cdate.tld" prefix="examples"%>
    </head>
    <body>
    The file is <examples:cdate/>
    </body>
    </html>
    here goes cdate.tld code
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
    <taglib>
    <tlibversion>1.0</tlibversion>
    <jspversion>1.1</jspversion>
    <shortname>examples</shortname>
    <uri>http://www.mycompany.com/taglib</uri>
    <info>An example tag library</info>
    <tag>
    <name>cdate</name>
         <tagclass>datex.DateTag</tagclass>
    <info>Returns Current Date</info>
    </tag>
    </taglib>
    here is web.xml entry
    <taglib>
         <taglib-uri>
              http://127.0.0.1:8080/examples/WEB-INF/cdate.tld
         </taglib-uri>
         <taglib-location>
              /WEB-INF/cdate.tld
         </taglib-location>
    </taglib>
    here is the taghandler class code
    package datex;
    import java.io.*;
    import java.util.Date;
    import javax.servlet.jsp.*;
    import javax.servlet.jsp.tagext.*;
    public class DateTag extends javax.servlet.jsp.tagext.TagSupport {
    private String date;
    public int doStartTag() throws JspException {
              StringBuffer html = new StringBuffer();
              date = new Date().toString();
         html.append("Current Date : ");
         html.append(date);
         try {
         pageContext.getOut().write(html.toString());
         } catch (IOException ioe) {
         throw new JspException(ioe.getMessage());
    return EVAL_BODY_INCLUDE;
    public void setDate(String s) {
    this.date = s;
    can any one plz hlp me

    when i put the struts tags into the subforld such as /web-inf/tags , the jsp page tell me parsing tags error.
    should i must put all this tags in the right fold?
    i configure the url location in the web.xml as the route /web-inf/tags/....tld why invalid?

  • "Newbie Unable to load class for custom tag"

    I have recently written a custom tag but I have been unable to implement it in a JSP because the server is unable to load the .class file. Below I have supplied the files that contribute to make up the custom tag, aswell as the JSP file used to implement it.
    genericDBConnect.java
    stored in C:\jakarta-tomcat-3.2.3\webapps\exper\WEB-INF\classes\jsp\tags\dbase
    package jsp.tags.dbase;
    import java.io.*;
    import java.sql.*;
    import javax.servlet.jsp.*;
    import javax.servlet.jsp.tagext.*;
    public class genericDBConnect extends BodyTagSupport
    private String odbcDriver;
    private String dataSource;
    public void setOdbcDriver(String driver)
    odbcDriver = driver;
    public void setDataSource(String source)
    dataSource = source;
    public int doStartTag() throws JspException
    return EVAL_BODY_INCLUDE;
    public int doEndTag() throws JspException
    try{
    pageContext.getOut().print("This is the value of odbcDriver = " + odbcDriver + "and dataSource = " + dataSource);
         catch(Exception ioException)
         System.err.println("Exception thrown in genericDBConnect.doEndTag():");
         System.err.println(ioException);
         throw new JspException(ioException);
    return EVAL_PAGE;
    WEB.XML
    Stored in: C:\jakarta-tomcat-3.2.3\webapps\exper\WEB-INF
    <!DOCTYPE web-app PUBLIC
         "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
         "http://java.sun.com/dtd/web-app_2_2.dtd">
    <web-app>
         <display-name>Generic database Connector</display-name>
         <description>
         Connecting to a database using dataSource and OdbcDriver
              Attributes as well as sending a query to the database;
         </description>
         <taglib>
              <taglib-uri>/genericdbconnecttags.tld</taglib-uri>
              <taglib-location>/WEB-INF/genericdbconnecttags.tld</taglib-location>
         </taglib>
    </web-app>     
    genericdbconnecttags.tld
    C:\jakarta-tomcat-3.2.3\webapps\exper\WEB-INF
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <!DOCTYPE taglib
    PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
         "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
    <taglib>
         <tlib-version>1.0</tlib-version>
         <jsp-version>1.2</jsp-version>
         <short-name>genericDBConnect</short-name>
         <tag>
              <name>dbconnect</name>
              <tag-class>jsp.tags.dbase.genericDBConnect</tag-class>          
              <attribute>
                   <name>dataSource</name>
                   <required>true</required>
                   <rtexprvalue>true</rtexprvalue>
    </attribute>
    <attribute>
                   <name>odbcDriver</name>
                   <required>true</required>
                   <rtexprvalue>true</rtexprvalue>
         </attribute>
         </tag>
    </taglib>
    DBTester.jsp
    Stored in:C:\jakarta-tomcat-3.2.3\webapps\exper
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
         <title>Generic dataBase Connection</title>
    </head>
    <body>
    <%@ taglib uri="/genericdbconnecttags.tld" prefix="database" %>
    <database:dbconnect odbcDriver="sun.my.tag.lib" dataSource="hello">
    this is the the begining of the end of life as we know it
    </database:dbconnect>
    </body>
    </html>
    And this is the error I get:
    Error: 500
    Location: /exper/DBtester.jsp
    Internal Servlet Error:
    org.apache.jasper.compiler.CompileException: C:\jakarta-tomcat-3.2.3\webapps\exper\DBtester.jsp(8,0) Unable to load class null
         at org.apache.jasper.compiler.TagBeginGenerator.init(TagBeginGenerator.java:129)
         at org.apache.jasper.compiler.JspParseEventListener$GeneratorWrapper.init(JspParseEventListener.java:759)
         at org.apache.jasper.compiler.JspParseEventListener.addGenerator(JspParseEventListener.java:138)
         at org.apache.jasper.compiler.JspParseEventListener.handleTagBegin(JspParseEventListener.java:909)
         at org.apache.jasper.compiler.DelegatingListener.handleTagBegin(DelegatingListener.java:194)
         at org.apache.jasper.compiler.Parser$Tag.accept(Parser.java:825)
         at org.apache.jasper.compiler.Parser.parse(Parser.java:1077)
         at org.apache.jasper.compiler.Parser.parse(Parser.java:1042)
         at org.apache.jasper.compiler.Parser.parse(Parser.java:1038)
         at org.apache.jasper.compiler.Compiler.compile(Compiler.java:209)
         at org.apache.jasper.servlet.JspServlet.doLoadJSP(JspServlet.java:612)
         at org.apache.jasper.servlet.JasperLoader12.loadJSP(JasperLoader12.java:146)
         at org.apache.jasper.servlet.JspServlet.loadJSP(JspServlet.java:542)
         at org.apache.jasper.servlet.JspServlet$JspServletWrapper.loadIfNecessary(JspServlet.java:258)
         at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:268)
         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:429)
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:500)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:405)
         at org.apache.tomcat.core.Handler.service(Handler.java:287)
         at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
         at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:812)
         at org.apache.tomcat.core.ContextManager.service(ContextManager.java:758)
         at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:213)
         at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
         at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501)
         at java.lang.Thread.run(Thread.java:484)
    Please if you can help I will be very grateful

    I was searching about this problem and I found here.
    I'm using WSAD 4.0.3 and I'm making my first custom tag.
    Here is my files:
    ======================= CLASS ======================
    package sas.ric.tags.teste;
    import javax.servlet.jsp.tagext.TagSupport;
    import javax.servlet.jsp.JspWriter;
    import javax.servlet.jsp.PageContext;
    import java.io.IOException;
    public class ClTagHello extends TagSupport {
    public int doStartTag() {
         try {
              JspWriter out = pageContext.getOut();
              out.println("HELLO!");
         } catch (IOException ioe) {
              System.out.println("Erro in ClTagHello: " + ioe);
    return (SKIP_BODY);
    ================= TLD ==========================
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
    <taglib>
         <tlib-version>1.0</tlib-version>
         <jsp-version>1.2</jsp-version>
         <short-name>ric</short-name>
         <uri></uri>
         <info>Exemple</info>
         <tag>
              <name>hello</name>
              <tag-class>sas.ric.tags.teste.ClTagHello</tag-class>
              <body-content>empty</body-content>
         </tag>
    </taglib>
    ======================== JSP =====================
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <HTML>
    <HEAD>
    <META name="GENERATOR" content="IBM WebSphere Studio">
    <META http-equiv="Content-Style-Type" content="text/css">
    </HEAD>
    <%@ taglib uri="WEB-INF/app-tlds/tag-hello.tld" prefix="ric" %>
    <BODY>
    <ric:hello />
    </BODY>
    </HTML>
    ==========================================================
    Please, help me.
    Occur this error "JSPG0058E: Unable to load class null"
    Thank's

  • How can I run a report in a jsp page?

    I've made reports using Reports 9i and i want execute these reports from a jsp page.
    When i run a report in a jsp page the following error :
    Any Advice?
    ========================
    Internal Servlet Error:
    javax.servlet.ServletException: oracle/reports/RWException
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:508)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:405)
         at org.apache.tomcat.core.Handler.service(Handler.java:287)
         at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
         at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:806)
         at org.apache.tomcat.core.ContextManager.service(ContextManager.java:752)
         at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:213)
         at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
         at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:501)
         at java.lang.Thread.run(Thread.java:484)
    Root cause:
    java.lang.NoClassDefFoundError: oracle/reports/RWException
         at java.lang.Class.getMethods0(Native Method)
         at java.lang.Class.getDeclaredMethods(Class.java:1039)
         at java.beans.Introspector$1.run(Introspector.java:852)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.beans.Introspector.getPublicDeclaredMethods(Introspector.java:850)
         at java.beans.Introspector.getTargetEventInfo(Introspector.java:556)
         at java.beans.Introspector.getBeanInfo(Introspector.java:294)
         at java.beans.Introspector.(Introspector.java:271)
         at java.beans.Introspector.getBeanInfo(Introspector.java:81)
         at org.apache.jasper.compiler.TagCache.setTagHandlerClass(TagCache.java:104)
         at org.apache.jasper.compiler.TagBeginGenerator.init(TagBeginGenerator.java:136)
         at org.apache.jasper.compiler.JspParseEventListener$GeneratorWrapper.init(JspParseEventListener.java:759)
         at org.apache.jasper.compiler.JspParseEventListener.addGenerator(JspParseEventListener.java:138)
         at org.apache.jasper.compiler.JspParseEventListener.handleTagBegin(JspParseEventListener.java:909)
         at org.apache.jasper.compiler.DelegatingListener.handleTagBegin(DelegatingListener.java:194)
         at org.apache.jasper.compiler.Parser$Tag.accept(Parser.java:825)
         at org.apache.jasper.compiler.Parser.parse(Parser.java:1077)
         at org.apache.jasper.compiler.Parser.parse(Parser.java:1042)
         at org.apache.jasper.compiler.Parser.parse(Parser.java:1038)
         at org.apache.jasper.compiler.Compiler.compile(Compiler.java:209)
         at org.apache.jasper.servlet.JspServlet.doLoadJSP(JspServlet.java:612)
         at org.apache.jasper.servlet.JasperLoader12.loadJSP(JasperLoader12.java:146)
         at org.apache.jasper.servlet.JspServlet.loadJSP(JspServlet.java:542)
         at org.apache.jasper.servlet.JspServlet$JspServletWrapper.loadIfNecessary(JspServlet.java:258)
         at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:268)
         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:429)
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:500)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:405)
         at org.apache.tomcat.core.Handler.service(Handler.java:287)
         at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
         at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:806)

    Hi Raul
    A better option would be to switch to Reports 9i because it natively supports Reports JSP tags. Your JSP then becomes seamless. And much more...
    With 6i, you can look at using Reports Servlet.
    Regards
    Sripathy

  • Guys Plz help me......its urgent

    Hi,
    I created a project with name "tech" n Enterprise application project name "techEAR".I am using RAD.
    i placed JSF related jars in tech/WebContent/ WEB-INF/lib folder.and placed my application related jars in techEAR.
    And i selected all my application jar files from tech->properties->java JAR Dependencies.And selected these jars from
    tech->properties->java buildpath->Order and Export.
    when i run my application sample JSF page it is looking for one of my application jar file in WEB-INF/lib but it is already
    in techEAR.i am getting problem with that jar file only, there is no problem with other jar files.i dont know why i am
    getting this problem.
    If i placed that jar file in WEB-INF/lib, the application works fine.But as my project developement, i should place that jar
    in techEAR only.please help me.
    the error its displaying is:
    com.navtech.util.rsa.jsf.tag.CommandButtonTag This is often caused by having the class at a higher point in the classloader
    hierarchy Dumping the current context classloader hierarchy: ==> indicates defining classloader *** indicates classloader
    where the missing class could have been found ***[0]
    com.ibm.ws.classloader.CompoundClassLoader@628e451c Local ClassPath:
    C:\projects\Apps\tech\WebContent\WEB-INF\classes;C:\projects\Apps\tech\WebContent\WEB-INF\lib\commons-beanutils.jar;C:\projec
    ts\Apps\tech\WebContent\WEB-INF\lib\commons-collections.jar;C:\projects\Apps\tech\WebContent\WEB-INF\lib\commons-digester.jar
    ;C:\projects\Apps\tech\WebContent\WEB-INF\lib\commons-fileupload.jar;C:\projects\Apps\tech\WebContent\WEB-INF\lib\commons-lan
    g.jar;C:\projects\Apps\tech\WebContent\WEB-INF\lib\commons-logging.jar;C:\projects\Apps\tech\WebContent\WEB-INF\lib\commons-v
    alidator.jar;C:\projects\Apps\tech\WebContent\WEB-INF\lib\jakarta-oro.jar;C:\projects\Apps\tech\WebContent\WEB-INF\lib\jaxen-
    full.jar;C:\projects\Apps\tech\WebContent\WEB-INF\lib\jsf-api.jar;C:\projects\Apps\tech\WebContent\WEB-INF\lib\jsf-ibm.jar;C:
    \projects\Apps\tech\WebContent\WEB-INF\lib\jsf-techpl.jar;C:\projects\Apps\tech\WebContent\WEB-INF\lib\jstl.jar;C:\projects\A
    pps\tech\WebContent\WEB-INF\lib\jstl_el.jar;C:\projects\Apps\tech\WebContent\WEB-INF\lib\saxpath.jar;C:\projects\Apps\tech\We
    bContent\WEB-INF\lib\standard.jar;C:\projects\Apps\tech\WebContent\WEB-INF\lib\struts.jar;C:\projects\Apps\tech\WebContent\WE
    B-INF\lib\taglibs-datetteche.jar;C:\projects\Apps\tech\WebContent\WEB-INF\lib\taglibs-mailer.jar;C:\projects\Apps\tech\WebCon
    tent\WEB-INF\lib\taglibs-string.jar;C:\projects\Apps\tech\WebContent\WEB-INF\lib\utility.jar;C:\projects\Apps\tech\WebContent
    \WEB-INF\lib\webarch.jar;C:\projects\Apps\tech\WebContent; Delegation Mode: PARENT_FIRST ==>[1]
    com.ibm.ws.classloader.JarClassLoader@1659208988 Local Classpath:
    C:\projects\Apps\techEAR\DisMidTier.jar;C:\projects\Apps\techEAR\TEB.jar;C:\projects\Apps\techEAR\pls.jar Delegation mode:
    PARENT_FIRST [2] com.ibm.ws.classloader.ExtJarClassLoader@1582138652 Local ClassPath: C:\Program Files\Rational
    Software\RAD6.0\runtteches\base_v51\lib\app; Delegation Mode: PARENT_LAST [3]
    com.ibm.ws.classloader.ProtectionClassLoader@599a051c [4] com.ibm.ws.bootstrap.ExtClassLoader@3097451d [5]
    sun.misc.Launcher$AppClassLoader@308d051d [6] sun.misc.Launcher$ExtClassLoader@30f1051d ---Original exception---
    java.lang.NoClassDefFoundError: com/sun/faces/taglib/html_basic/CommandButtonTag at java.lang.ClassLoader.defineClass0(Native
    Method) at java.lang.ClassLoader.defineClass(ClassLoader.java(Compiled Code)) at
    java.security.SecureClassLoader.defineClass(SecureClassLoader.java(Compiled Code)) at
    com.ibm.ws.classloader.CompoundClassLoader._defineClass(CompoundClassLoader.java:446) at
    com.ibm.ws.classloader.CompoundClassLoader.findClass(CompoundClassLoader.java(Compiled Code)) at
    com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:300) at
    java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled Code)) at
    com.ibm.ws.classloader.ReloadableClassLoader.loadClass(ReloadableClassLoader.java:83) at
    com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java:294) at
    java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled Code)) at
    com.ibm.ws.webcontainer.jsp.compiler.BasicTagBeginGenerator.init(BasicTagBeginGenerator.java:77) at
    org.apache.jasper.compiler.JspParseEventListener$GeneratorWrapper.init(JspParseEventListener.java:1015) at
    org.apache.jasper.compiler.JspParseEventListener.addGenerator(JspParseEventListener.java:185) at
    org.apache.jasper.compiler.ConfigurableParseEventListener.handleTagBegin(ConfigurableParseEventListener.java:739) at
    org.apache.jasper.compiler.DelegatingListener.handleTagBegin(DelegatingListener.java:221) at
    org.apache.jasper.compiler.DelegatingListener.handleTagBegin(DelegatingListener.java:216) at
    org.apache.jasper.compiler.Parser$Tag.accept(Parser.java:862) at org.apache.jasper.compiler.Parser.parse(Parser.java:1155) at
    org.apache.jasper.compiler.Parser.parse(Parser.java:1113) at org.apache.jasper.compiler.Parser$Tag.accept(Parser.java:902) at
    org.apache.jasper.compiler.Parser.parse(Parser.java:1155) at org.apache.jasper.compiler.Parser.parse(Parser.java:1113) at
    org.apache.jasper.compiler.Parser$Tag.accept(Parser.java:902) at org.apache.jasper.compiler.Parser.parse(Parser.java:1155) at
    org.apache.jasper.compiler.Parser.parse(Parser.java:1113) at org.apache.jasper.compiler.Parser$Tag.accept(Parser.java:902) at
    org.apache.jasper.compiler.Parser.parse(Parser.java:1155) at org.apache.jasper.compiler.Parser.parse(Parser.java:1113) at
    org.apache.jasper.compiler.Parser.parse(Parser.java:1109) at
    org.apache.jasper.compiler.ParserController.parse(ParserController.java:344) at
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:225) at
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:129) at
    com.ibm.ws.webcontainer.jsp.servlet.JspServlet.loadJSP(JspServlet.java:956) at
    com.ibm.ws.webcontainer.jsp.servlet.JspServlet$JspServletWrapper.loadIfNecessary(JspServlet.java:285) at
    com.ibm.ws.webcontainer.jsp.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:317) at
    com.ibm.ws.webcontainer.jsp.servlet.JspServlet.serviceJspFile(JspServlet.java:683) at
    com.ibm.ws.webcontainer.jsp.servlet.JspServlet.service(JspServlet.java:781) at
    javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at
    com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110) at
    com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174) at
    com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java:313) at
    com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116) at
    com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:283) at
    com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42) at
    com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40) at
    com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:1019) at
    com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:592) at
    com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:204) at
    com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:125) at
    com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:286) at
    com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71) at
    com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:182) at
    com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java:334) at
    com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java:56) at
    com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:615) at
    com.ibm.ws.http.HttpConnection.run(HttpConnection.java:439) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:912) ---
    end Original exception----

    Hi:
    Refer to SAP Best Pratices for Travel Management.
    http://help.sap.com/bp_bblibrary/500/BBlibrary_start.htm
    J09: Travel Management
    Also refer to
    http://www.easymarketplace.de/online-pdfs.php
    Travel Management (FI-TV)
    Please let me know if you need more information.
    Assign points if useful.
    Regards
    MSReddy

  • How to solve the error while  Deploy a BC4J JSP Application using tomcat,

    hello,
    how to avoid the following error?
    i am using jdevloper for devloping jsp applications.
    after that i am calling the jsp page using tomcat4.0 ,i followed the steps according docs by jdev team,
    i am getting the following error how to solve this,
    can one help?
    =============================
    type Exception report
    message Internal Server Error
    description The server encountered an internal error (Internal Server Error) that prevented it from fulfilling this request.
    exception
    org.apache.jasper.compiler.CompileException: /AccountView_Browse.jsp(4,0) Unable to load class oracle.jbo.html.jsp.datatags.ApplicationModuleTag
    at org.apache.jasper.compiler.TagBeginGenerator.init(TagBeginGenerator.java:139)
    at org.apache.jasper.compiler.JspParseEventListener$GeneratorWrapper.init(JspParseEventListener.java:829)
    at org.apache.jasper.compiler.JspParseEventListener.addGenerator(JspParseEventListener.java:153)
    at org.apache.jasper.compiler.JspParseEventListener.handleTagBegin(JspParseEventListener.java:1039)
    at org.apache.jasper.compiler.DelegatingListener.handleTagBegin(DelegatingListener.java:221)
    at org.apache.jasper.compiler.DelegatingListener.handleTagBegin(DelegatingListener.java:216)
    at org.apache.jasper.compiler.Parser$Tag.accept(Parser.java:852)
    at org.apache.jasper.compiler.Parser.parse(Parser.java:1145)
    at org.apache.jasper.compiler.Parser.parse(Parser.java:1103)
    at org.apache.jasper.compiler.Parser.parse(Parser.java:1099)
    at org.apache.jasper.compiler.ParserController.parse(ParserController.java:214)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:210)
    at org.apache.jasper.servlet.JspServlet.loadJSP(JspServlet.java:548)
    at org.apache.jasper.servlet.JspServlet$JspServletWrapper.loadIfNecessary(JspServlet.java:176)
    at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:188)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
    at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
    at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2347)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
    at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
    at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
    at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1027)
    at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125)
    at java.lang.Thread.run(Thread.java:536)
    ====================
    thanks
    pullareddy

    I had very similar problems with adding the correct JDeveloper .jar files to Tomcat's lib folder, but did eventually resolve my issues.
    The problem I am having now, however, is the following error message:
    Error Message: oracle.jbo.html.RequestParameters.addParameter(Ljava/lang/String;Ljava/lang/String;)V
    Yes, I have deployed the bc4jhtml.jar file from JDeveloper to Tomcat\common\lib!
    My web-app is a very simple BC4J JSP application. I have one BC4J component in its own project and JAR file, and one JSP referencing that BC4J component - I deploy the BC4J JAR along with the WAR file from the JSP project. Needless to say, the JSP works fine within JDeveloper..!
    I'm using JDev 9.0.3 and Tomcat 4.1.12. Does anyone have any suggestions?
    Thanks,
    S.

  • JTree custom renderer setting selection background color problem

    Hi,
    I have a JTree with a custom icon renderer that displays an icon. The JTree is part of a TreeTable component. Iam having a problem setting the selection background uniformly for the entire row. There is no problem when there is no row selected in the JTable.
    My present code looks like this:
    Iam overriding paint in my renderer which extends DefaultCellRenderer.
           super.paint(g);
            Color bColor = null;
            if(!m_selected) {
                 if(currRow % 2 == 0) {
                      bColor = Color.WHITE;
                 } else {
                                                    bColor = backColor;
            } else {
                 bColor = table.getSelectionBackground();                  bColor = getRowSelectionColor();
         if(bColor != null) {
                           g.setColor(bColor);
             if(!m_selected) {
                   g.setXORMode(new Color(0xFF, 0xFF, 0xFF));
             } else {
                 g.setXORMode(new Color(0x00, 0x00, 0x00));
                  I have a color I arrive at using some algorithm that I want using method getRowSelectionColor(). The other cells in the row have this color. But the cell containing the tree node shows different color. Iam not able to arrive at the right combination of the color to set and the xor color so my tree node also looks like the other cells in the row.
    It is not a problem really as the table still looks good. Its just that the tree node looks like it has been highlighted and this might cause a problem when a table cell is highlighed later on in the application ( two cells in the row would be highlighted causing confusion).
    Any help would be appreciated.
    Regards,
    vidyut

    Hi Camickr,
    Thanks for the reply. Iam sorry I didn't include the sources the first time around. There were too many of them. I have created a small, self-contained, compilable program that demonstrates the problem and including it herewith. Still there's quite many files but they are all needed Iam afraid. The only one you will have to concern yourself fior this problem is the file IconRenderer.java. The treenode background and the other cells background are not in sync when table row is not selected in this example though. But they are in my real program. I just need them to be in sync i.e have the same background color when the row is selected.
    Your help would be very much appreciated.
    These are the files that are included below:
    1. AbstractTreeTableModel.java
    2. Bookmarks.java
    3. BookmarksModel.java
    4. DynamicTreeTableModel.java
    5. IconRenderer.java
    6. IndicatorRenderer.java
    7. JTreeTable.java
    8. TreeTableExample3.java (contains main)
    9. TreeTableModel.java
    10. TreeTableModelAdapter.java
    The copyright and javadocs information has been stripped for clarity.
    cheers,
    vidyut
    // AbstractTreeTableModel.java BEGIN
    import javax.swing.tree.*;
    import javax.swing.event.*;
    public abstract class AbstractTreeTableModel implements TreeTableModel {
        protected Object root;    
        protected EventListenerList listenerList = new EventListenerList();
        public AbstractTreeTableModel(Object root) {
            this.root = root;
        // Default implementations for methods in the TreeModel interface.
        public Object getRoot() {
            return root;
        public boolean isLeaf(Object node) {
            return getChildCount(node) == 0;
        public void valueForPathChanged(TreePath path, Object newValue) {}
        // This is not called in the JTree's default mode:
        // use a naive implementation.
        public int getIndexOfChild(Object parent, Object child) {
            for (int i = 0; i < getChildCount(parent); i++) {
             if (getChild(parent, i).equals(child)) {
                 return i;
         return -1;
        public void addTreeModelListener(TreeModelListener l) {
            listenerList.add(TreeModelListener.class, l);
        public void removeTreeModelListener(TreeModelListener l) {
            listenerList.remove(TreeModelListener.class, l);
        protected void fireTreeNodesChanged(Object source, Object[] path,
                                            int[] childIndices,
                                            Object[] children) {
            // Guaranteed to return a non-null array
            Object[] listeners = listenerList.getListenerList();
            TreeModelEvent e = null;
            // Process the listeners last to first, notifying
            // those that are interested in this event
            for (int i = listeners.length-2; i>=0; i-=2) {
                if (listeners==TreeModelListener.class) {
    // Lazily create the event:
    if (e == null)
    e = new TreeModelEvent(source, path,
    childIndices, children);
    ((TreeModelListener)listeners[i+1]).treeNodesChanged(e);
    protected void fireTreeNodesInserted(Object source, Object[] path,
    int[] childIndices,
    Object[] children) {
    // Guaranteed to return a non-null array
    Object[] listeners = listenerList.getListenerList();
    TreeModelEvent e = null;
    // Process the listeners last to first, notifying
    // those that are interested in this event
    for (int i = listeners.length-2; i>=0; i-=2) {
    if (listeners[i]==TreeModelListener.class) {
    // Lazily create the event:
    if (e == null)
    e = new TreeModelEvent(source, path,
    childIndices, children);
    ((TreeModelListener)listeners[i+1]).treeNodesInserted(e);
    protected void fireTreeNodesRemoved(Object source, Object[] path,
    int[] childIndices,
    Object[] children) {
    // Guaranteed to return a non-null array
    Object[] listeners = listenerList.getListenerList();
    TreeModelEvent e = null;
    // Process the listeners last to first, notifying
    // those that are interested in this event
    for (int i = listeners.length-2; i>=0; i-=2) {
    if (listeners[i]==TreeModelListener.class) {
    // Lazily create the event:
    if (e == null)
    e = new TreeModelEvent(source, path,
    childIndices, children);
    ((TreeModelListener)listeners[i+1]).treeNodesRemoved(e);
    protected void fireTreeStructureChanged(Object source, Object[] path,
    int[] childIndices,
    Object[] children) {
    // Guaranteed to return a non-null array
    Object[] listeners = listenerList.getListenerList();
    TreeModelEvent e = null;
    // Process the listeners last to first, notifying
    // those that are interested in this event
    for (int i = listeners.length-2; i>=0; i-=2) {
    if (listeners[i]==TreeModelListener.class) {
    // Lazily create the event:
    if (e == null)
    e = new TreeModelEvent(source, path,
    childIndices, children);
    ((TreeModelListener)listeners[i+1]).treeStructureChanged(e);
    // Default impelmentations for methods in the TreeTableModel interface.
    public Class getColumnClass(int column) { return Object.class; }
    public boolean isCellEditable(Object node, int column) {
    return getColumnClass(column) == TreeTableModel.class;
    public void setValueAt(Object aValue, Object node, int column) {}
    // Left to be implemented in the subclass:
    * public Object getChild(Object parent, int index)
    * public int getChildCount(Object parent)
    * public int getColumnCount()
    * public String getColumnName(Object node, int column)
    * public Object getValueAt(Object node, int column)
    // AbstractTreeTableModel.java END
    // Bookmarks.java BEGIN
    import java.io.*;
    import java.net.*;
    import java.util.*;
    import javax.swing.*;
    import javax.swing.tree.*;
    import javax.swing.text.*;
    import javax.swing.text.html.*;
    import javax.swing.text.html.parser.*;
    public class Bookmarks {
    /** The root node the bookmarks are added to. */
    private BookmarkDirectory root;
    * Creates a new Bookmarks object, with the entries coming from
    * <code>path</code>.
    public Bookmarks(String path) {
         root = new BookmarkDirectory("Bookmarks");
         if (path != null) {
         parse(path);
    * Returns the root of the bookmarks.
    public BookmarkDirectory getRoot() {
         return root;
    protected void parse(String path) {
         try {
         BufferedReader reader = new BufferedReader(new FileReader
                                       (path));
         new ParserDelegator().parse(reader, new CallbackHandler(), true);
         catch (IOException ioe) {
         System.out.println("IOE: " + ioe);
         JOptionPane.showMessageDialog(null, "Load Bookmarks",
                             "Unable to load bookmarks",
                             JOptionPane.ERROR_MESSAGE);
    private static final short NO_ENTRY = 0;
    private static final short BOOKMARK_ENTRY = 2;
    private static final short DIRECTORY_ENTRY = 3;
    private class CallbackHandler extends HTMLEditorKit.ParserCallback {
         /** Parent node that new entries are added to. */
         private BookmarkDirectory parent;
         /** The most recently parsed tag. */
         private HTML.Tag tag;
         /** The last tag encountered. */
         private HTML.Tag lastTag;
         * The state, will be one of NO_ENTRY, DIRECTORY_ENTRY,
    * or BOOKMARK_ENTRY.
         private short state;
         * Date for the next BookmarkDirectory node.
         private Date parentDate;
         * The values from the attributes are placed in here. When the
         * text is encountered this is added to the node hierarchy and a
    * new instance is created.
         private BookmarkEntry lastBookmark;
         * Creates the CallbackHandler.
         public CallbackHandler() {
         parent = root;
         lastBookmark = new BookmarkEntry();
         // HTMLEditorKit.ParserCallback methods
         * Invoked when text in the html document is encountered. Based on
         * the current state, this will either: do nothing
    * (state == NO_ENTRY),
         * create a new BookmarkEntry (state == BOOKMARK_ENTRY) or
    * create a new
         * BookmarkDirectory (state == DIRECTORY_ENTRY). If state is
    * != NO_ENTRY, it is reset to NO_ENTRY after this is
    * invoked.
    public void handleText(char[] data, int pos) {
         switch (state) {
         case NO_ENTRY:
              break;
         case BOOKMARK_ENTRY:
              // URL.
              lastBookmark.setName(new String(data));
    parent.add(lastBookmark);
    lastBookmark = new BookmarkEntry();
              break;
         case DIRECTORY_ENTRY:
              // directory.
              BookmarkDirectory newParent = new
                   BookmarkDirectory(new String(data));
              newParent.setCreated(parentDate);
              parent.add(newParent);
              parent = newParent;
              break;
         default:
              break;
    state = NO_ENTRY;
         * Invoked when a start tag is encountered. Based on the tag
         * this may update the BookmarkEntry and state, or update the
         * parentDate.
         public void handleStartTag(HTML.Tag t, MutableAttributeSet a,
                        int pos) {
         lastTag = tag;
         tag = t;
         if (t == HTML.Tag.A && lastTag == HTML.Tag.DT) {
    long lDate;
              // URL
              URL url;
              try {
              url = new URL((String)a.getAttribute(HTML.Attribute.HREF));
              } catch (MalformedURLException murle) {
              url = null;
              lastBookmark.setLocation(url);
              // created
              Date date;
              try {
    lDate = Long.parseLong((String)a.getAttribute("add_date"));
    if (lDate != 0l) {
    date = new Date(1000l * lDate);
    else {
    date = null;
              } catch (Exception ex) {
              date = null;
              lastBookmark.setCreated(date);
              // last visited
              try {
    lDate = Long.parseLong((String)a.
    getAttribute("last_visit"));
    if (lDate != 0l) {
    date = new Date(1000l * lDate);
    else {
    date = null;
              } catch (Exception ex) {
              date = null;
              lastBookmark.setLastVisited(date);
              state = BOOKMARK_ENTRY;
         else if (t == HTML.Tag.H3 && lastTag == HTML.Tag.DT) {
              // new node.
              try {
              parentDate = new Date(1000l * Long.parseLong((String)a.
                                  getAttribute("add_date")));
              } catch (Exception ex) {
              parentDate = null;
              state = DIRECTORY_ENTRY;
         * Invoked when the end of a tag is encountered. If the tag is
         * a DL, this will set the node that parents are added to the current
         * nodes parent.
         public void handleEndTag(HTML.Tag t, int pos) {
         if (t == HTML.Tag.DL && parent != null) {
              parent = (BookmarkDirectory)parent.getParent();
    public static class BookmarkDirectory extends DefaultMutableTreeNode {
         /** Dates created. */
         private Date created;
         public BookmarkDirectory(String name) {
         super(name);
         public void setName(String name) {
         setUserObject(name);
         public String getName() {
         return (String)getUserObject();
         public void setCreated(Date date) {
         this.created = date;
         public Date getCreated() {
         return created;
    public static class BookmarkEntry extends DefaultMutableTreeNode {
         /** User description of the string. */
         private String name;
         /** The URL the bookmark represents. */
         private URL location;
         /** Dates the URL was last visited. */
         private Date lastVisited;
         /** Date the URL was created. */
         private Date created;
         public void setName(String name) {
         this.name = name;
         public String getName() {
         return name;
         public void setLocation(URL location) {
         this.location = location;
         public URL getLocation() {
         return location;
         public void setLastVisited(Date date) {
         lastVisited = date;
         public Date getLastVisited() {
         return lastVisited;
         public void setCreated(Date date) {
         this.created = date;
         public Date getCreated() {
         return created;
         public String toString() {
         return getName();
    // Bookmarks.java END
    // BookmarksModel.java BEGIN
    import java.util.Date;
    public class BookmarksModel extends DynamicTreeTableModel {
    * Names of the columns.
    private static final String[] columnNames =
    { "Name", "Location", "Last Visited", "Created" };
    * Method names used to access the data to display.
    private static final String[] methodNames =
    { "getName", "getLocation", "getLastVisited","getCreated" };
    * Method names used to set the data.
    private static final String[] setterMethodNames =
    { "setName", "setLocation", "setLastVisited","setCreated" };
    private static final Class[] classes =
    { TreeTableModel.class, String.class, Date.class, Date.class };
    public BookmarksModel(Bookmarks.BookmarkDirectory root) {
         super(root, columnNames, methodNames, setterMethodNames, classes);
    public boolean isCellEditable(Object node, int column) {
         switch (column) {
         case 0:
         // Allow editing of the name, as long as not the root.
         return (node != getRoot());
         case 1:
         // Allow editing of the location, as long as not a
         // directory
         return (node instanceof Bookmarks.BookmarkEntry);
         default:
         // Don't allow editing of the date fields.
         return false;
    // BookmarksModel.java END
    // DynamicTreeTableModel.java BEGIN
    import java.lang.reflect.*;
    import javax.swing.tree.*;
    public class DynamicTreeTableModel extends AbstractTreeTableModel {
    /** Names of the columns, used for the TableModel getColumnName method. */
    private String[] columnNames;
    private String[] methodNames;
    private String[] setterMethodNames;
    /** Column classes, used for the TableModel method getColumnClass. */
    private Class[] cTypes;
    public DynamicTreeTableModel(TreeNode root, String[] columnNames,
                        String[] getterMethodNames,
                        String[] setterMethodNames,
                        Class[] cTypes) {
         super(root);
         this.columnNames = columnNames;
         this.methodNames = getterMethodNames;
         this.setterMethodNames = setterMethodNames;
         this.cTypes = cTypes;
    public int getChildCount(Object node) {
         return ((TreeNode)node).getChildCount();
    public Object getChild(Object node, int i) {
         return ((TreeNode)node).getChildAt(i);
    public boolean isLeaf(Object node) {
         return ((TreeNode)node).isLeaf();
    public int getColumnCount() {
         return columnNames.length;
    public String getColumnName(int column) {
         if (cTypes == null || column < 0 || column >= cTypes.length) {
         return null;
         return columnNames[column];
    public Class getColumnClass(int column) {
         if (cTypes == null || column < 0 || column >= cTypes.length) {
         return null;
         return cTypes[column];
    public Object getValueAt(Object node, int column) {
         try {
         Method method = node.getClass().getMethod(methodNames[column],
                                  null);
         if (method != null) {
              return method.invoke(node, null);
         catch (Throwable th) {}
         return null;
    * Returns true if there is a setter method name for column
    * <code>column</code>. This is set in the constructor.
    public boolean isCellEditable(Object node, int column) {
    return (setterMethodNames != null &&
         setterMethodNames[column] != null);
    // Note: This looks up the methods each time! This is rather inefficient;
    // it should really be changed to cache matching
    // methods/constructors
    // based on <code>node</code>'s class, and code>aValue</code>'s
    //class.
    public void setValueAt(Object aValue, Object node, int column) {
         boolean found = false;
         try {
         // We have to search through all the methods since the
         // types may not match up.
         Method[] methods = node.getClass().getMethods();
         for (int counter = methods.length - 1; counter >= 0; counter--) {
              if (methods[counter].getName().equals
              (setterMethodNames[column]) && methods[counter].
              getParameterTypes() != null && methods[counter].
              getParameterTypes().length == 1) {
              // We found a matching method
              Class param = methods[counter].getParameterTypes()[0];
              if (!param.isInstance(aValue)) {
                   // Yes, we can use the value passed in directly,
                   // no coercision is necessary!
                   if (aValue instanceof String &&
                   ((String)aValue).length() == 0) {
                   // Assume an empty string is null, this is
                   // probably bogus for here.
                   aValue = null;
                   else {
                   // Have to attempt some sort of coercision.
                   // See if the expected parameter type has
                   // a constructor that takes a String.
                   Constructor cs = param.getConstructor
                   (new Class[] { String.class });
                   if (cs != null) {
                        aValue = cs.newInstance(new Object[]
                                       { aValue });
                   else {
                        aValue = null;
              // null either means it was an empty string, or there
              // was no translation. Could potentially deal with these
              // differently.
              methods[counter].invoke(node, new Object[] { aValue });
              found = true;
              break;
         } catch (Throwable th) {
         System.out.println("exception: " + th);
         if (found) {
         // The value changed, fire an event to notify listeners.
         TreeNode parent = ((TreeNode)node).getParent();
         fireTreeNodesChanged(this, getPathToRoot(parent),
                        new int[] { getIndexOfChild(parent, node) },
                        new Object[] { node });
    public TreeNode[] getPathToRoot(TreeNode aNode) {
    return getPathToRoot(aNode, 0);
    private TreeNode[] getPathToRoot(TreeNode aNode, int depth) {
    TreeNode[] retNodes;
         // This method recurses, traversing towards the root in order
         // size the array. On the way back, it fills in the nodes,
         // starting from the root and working back to the original node.
    /* Check for null, in case someone passed in a null node, or
    they passed in an element that isn't rooted at root. */
    if(aNode == null) {
    if(depth == 0)
    return null;
    else
    retNodes = new TreeNode[depth];
    else {
    depth++;
    if(aNode == root)
    retNodes = new TreeNode[depth];
    else
    retNodes = getPathToRoot(aNode.getParent(), depth);
    retNodes[retNodes.length - depth] = aNode;
    return retNodes;
    // DynamicTreeTableModel.java END
    // IconRenderer.java BEGIN
    import java.awt.*;
    import javax.swing.*;
    import javax.swing.tree.*;
    import javax.swing.plaf.basic.BasicTreeUI;
    class IconRenderer extends DefaultTreeCellRenderer
    // Color backColor = new Color(0xD0, 0xCC, 0xFF);
    Color backColor = new Color(0xF0, 0xF0, 0xE0);
    String tipText = "";
    JTree tree;
    int currRow = 0;
    boolean m_selected;
    JTable table;
    public IconRenderer(JTree tree, JTable table) {
    this.table = table;
    // setBackground(backColor);
    setBackground(Color.GREEN);
    setForeground(Color.black);
         this.tree = tree;
    public Component getTreeCellRendererComponent(JTree tree, Object value,
    boolean selected,
    boolean expanded, boolean leaf,
    int row, boolean hasFocus) {
         Object node = null;
         super.getTreeCellRendererComponent(
    tree, value, selected,
    expanded, leaf, row,
    hasFocus);
         TreePath treePath = tree.getPathForRow(row);
    if(treePath != null)
              node = treePath.getLastPathComponent();
    currRow = row;
    m_selected = selected;
    DefaultMutableTreeNode itc = null;
    if (node instanceof DefaultMutableTreeNode) {
    itc = (DefaultMutableTreeNode)node;
         setClosedIcon(closedIcon);
    setOpenIcon(openIcon);
    return this;
    /* Override the default to send back different strings for folders and leaves. */
    public String getToolTipText() {
    return tipText;
    * Paints the value. The background is filled based on selected.
    public void paint(Graphics g) {
         super.paint(g);
         Color bColor = null;
         if(!m_selected) {
              System.out.println(" iconren not sel currRow " + currRow);
              if(currRow % 2 == 0) {
                   bColor = Color.WHITE;
              } else {
              bColor = backColor;
         } else {
              bColor = table.getSelectionBackground();
              System.out.println("in else selbg = " + bColor);           
              bColor = new Color(0xF0, 0xCC, 0x92);
              System.out.println(" bColor aft = " + bColor);           
         int imageOffset = -1;
         if(bColor != null) {
         imageOffset = getLabelStart();
         g.setColor(bColor);
         if(!m_selected) {
              System.out.println(" not sel setting white ");
              g.setXORMode(new Color(0xFF, 0xFF, 0xFF));
         } else {
    //          g.setXORMode(new Color(0xCC, 0xCC, 0x9F));
              g.setXORMode(new Color(0x00, 0x00, 0x00));
              System.out.println(" using color = " + g.getColor());           
         if(getComponentOrientation().isLeftToRight()) {
         g.fillRect(imageOffset, 0, getWidth() - 1 - imageOffset,
                   getHeight());
         } else {
         g.fillRect(0, 0, getWidth() - 1 - imageOffset,
                   getHeight());
    private int getLabelStart() {
         Icon currentI = getIcon();
         if(currentI != null && getText() != null) {
         return currentI.getIconWidth() + Math.max(0, getIconTextGap() - 1);
         return 0;
    // IconRenderer.java END
    // IndicatorRenderer.java BEGIN
    // import java.awt.*;
    import javax.swing.*;
    import javax.swing.border.*;
    import javax.swing.event.*;
    import javax.swing.tree.*;
    import javax.swing.table.*;
    import javax.swing.table.*;
    import javax.swing.plaf.basic.*;
    import java.awt.event.*;
    import java.util.EventObject;
    import java.text.NumberFormat;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.StringTokenizer;
    import java.util.Arrays;
    class IndicatorRenderer extends DefaultTableCellRenderer {
    /** Makes sure the number of displayed in an internationalized
    * manner. */
    protected NumberFormat formatter;
    /** Row that is currently being painted. */
    protected int lastRow;
    protected int reloadRow;
    protected int reloadCounter;
    protected TreeTableModel treeTableModel;
    protected TreeTableModelAdapter treeTblAdapter;
    protected JTable table;
    Component renderer = null;
    Color backColor = new Color(0xF0, 0xF0, 0xE0);
    IndicatorRenderer(TreeTableModelAdapter treeTblAdapter, TreeTableModel treeTableModel) {
         setHorizontalAlignment(JLabel.RIGHT);
         setFont(new Font("serif", Font.BOLD, 12));
         this.treeTableModel = treeTableModel;
         this.treeTblAdapter = treeTblAdapter;
    * Invoked as part of DefaultTableCellRenderers implemention. Sets
    * the text of the label.
    public void setValue(Object value) {
    /* setText((value == null) ? "---" : formatter.format(value)); */
         setText((value == null) ? "---" : (String) value.toString());
    * Returns this.
    public Component getTableCellRendererComponent(JTable table,
    Object value, boolean isSelected, boolean hasFocus,
    int row, int column) {
         renderer = super.getTableCellRendererComponent(table, value, isSelected,
    hasFocus, row, column);
         lastRow = row;
         this.table = table;
              if(isSelected) {
                   doMask(hasFocus, isSelected);
              } else
              setBackground(table.getBackground());
    return renderer;
    * If the row being painted is also being reloaded this will draw
    * a little indicator.
    public void paint(Graphics g) {
         super.paint(g);
    private void doMask(boolean hasFocus, boolean selected) {
              maskBackground(hasFocus, selected);
    private void maskBackground(boolean hasFocus, boolean selected) {
              Color seed = null;
              seed = table.getSelectionBackground();
              Color color = seed;
              if (color != null) {
                   setBackground(
    new Color(0xF0, 0xCC, 0x92));
    // IndicatorRenderer.java END
    // JTreeTable.java BEGIN
    import java.awt.*;
    import javax.swing.*;
    import javax.swing.border.*;
    import javax.swing.event.*;
    import javax.swing.tree.*;
    import javax.swing.table.*;
    import java.awt.event.*;
    import java.util.EventObject;
    public class JTreeTable extends JTable {
    /** A subclass of JTree. */
    protected TreeTableCellRenderer tree;
    protected IndicatorRenderer indicatorRenderer = null;
    public JTreeTable(TreeTableModel treeTableModel) {
         super();
         // Creates the tree. It will be used as a renderer and editor.
         tree = new TreeTableCellRenderer(treeTableModel);
         TreeTableModelAdapter tdap = new TreeTableModelAdapter(treeTableModel, tree);
         // Installs a tableModel representing the visible rows in the tree.
         super.setModel(tdap);
         // Forces the JTable and JTree to share their row selection models.
         ListToTreeSelectionModelWrapper selectionWrapper = new
         ListToTreeSelectionModelWrapper();
         tree.setSelectionModel(selectionWrapper);
         setSelectionModel(selectionWrapper.getListSelectionModel());
         // Installs the tree editor renderer and editor.
         setDefaultRenderer(TreeTableModel.class, tree);
         setDefaultEditor(TreeTableModel.class, new TreeTableCellEditor());
         indicatorRenderer = new IndicatorRenderer(tdap, treeTableModel);     
         // No grid.
         setShowGrid(false);
         // No intercell spacing
         setIntercellSpacing(new Dimension(0, 0));     
         // And update the height of the trees row to match that of
         // the table.
         //if (tree.getRowHeight() < 1) {
         // Metal looks better like this.
         setRowHeight(20);
    public TableCellRenderer getCellRenderer(int row, int col) {
              if(col == 0)
              return tree;
              else
              return indicatorRenderer;     
    public void updateUI() {
         super.updateUI();
         if(tree != null) {
         tree.updateUI();
         // Do this so that the editor is referencing the current renderer
         // from the tree. The renderer can potentially change each time
         // laf changes.
         setDefaultEditor(TreeTableModel.class, new TreeTableCellEditor());
         // Use the tree's default foreground and background colors in the
         // table.
    LookAndFeel.installColorsAndFont(this, "Tree.background",
    "Tree.foreground", "Tree.font");
    public int getEditingRow() {
    return (getColumnClass(editingColumn) == TreeTableModel.class) ? -1 :
         editingRow;
    private int realEditingRow() {
         return editingRow;
    public void sizeColumnsToFit(int resizingColumn) {
         super.sizeColumnsToFit(resizingColumn);
         if (getEditingColumn() != -1 && getColumnClass(editingColumn) ==
         TreeTableModel.class) {
         Rectangle cellRect = getCellRect(realEditingRow(),
                             getEditingColumn(), false);
    Component component = getEditorComponent();
         component.setBounds(cellRect);
    component.validate();
    public void setRowHeight(int rowHeight) {
    super.setRowHeight(rowHeight);
         if (tree != null && tree.getRowHeight() != rowHeight) {
    tree.setRowHeight(getRowHeight());
    public JTree getTree() {
         return tree;
    public boolean editCellAt(int row, int column, EventObject e){
         boolean retValue = super.editCellAt(row, column, e);
         if (retValue && getColumnClass(column) == TreeTableModel.class) {
         repaint(getCellRect(row, column, false));
         return retValue;
    public class TreeTableCellRenderer extends JTree implements
         TableCellRenderer {
         /** Last table/tree row asked to renderer. */
         protected int visibleRow;
         /** Border to draw around the tree, if this is non-null, it will
         * be painted. */
         protected Border highlightBorder;
         public TreeTableCellRenderer(Tr

  • How to use tld files in iPlanet

    Hai Friends,
    I don't know basic stuff of iPlanet. plz help me. I have developed one application in tomcat. Now i need to move that application from tomcat to iPlanet 6.0(Solaris). When i deployed it in iPlanet i am geting following exceptions plz guide me
    [02/May/2006:17:40:18] failure (26802): Internal error: servlet service function had thrown ServletException (uri=/ACM/jsp/bottom_pa
    ge1.jsp): org.apache.jasper.compiler.ParseException: /user3/acm/iplanet/servers/ACM/jsp/bottom_page1.jsp(2,0) Page directive: Invali
    d attribute, pageEncoding, stack: org.apache.jasper.compiler.ParseException: /user3/acm/iplanet/servers/ACM/jsp/bottom_page1.jsp(2,0
    ) Page directive: Invalid attribute, pageEncoding
    at org.apache.jasper.compiler.JspUtil.checkAttributes(JspUtil.java:237)
    at org.apache.jasper.compiler.Parser$Directive.accept(Parser.java:194)
    at org.apache.jasper.compiler.Parser.parse(Parser.java:1077)
    at org.apache.jasper.compiler.Parser.parse(Parser.java:1042)
    at org.apache.jasper.compiler.Parser.parse(Parser.java:1038)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:218)
    at org.apache.jasper.servlet.JspServlet$JspServletWrapper.loadJSP(JspServlet.java:193)
    at org.apache.jasper.servlet.JspServlet$JspServletWrapper.access$4(JspServlet.java:167)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:477)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:589)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.iplanet.server.http.servlet.NSServletRunner.invokeServletService(NSServletRunner.java:897)
    at com.iplanet.server.http.servlet.WebApplication.service(WebApplication.java:1065)
    at com.iplanet.server.http.servlet.NSServletRunner.ServiceWebApp(NSServletRunner.java:959)
    , root cause:
    [02/May/2006:17:40:18] info (26802): JSP11 Log:Warning: Unknown element tag-class in tag
    [02/May/2006:17:40:18] info (26802): JSP11 Log:Warning: Unknown element body-content in tag
    [02/May/2006:17:40:18] info (26802): JSP11 Log:Warning: Unknown element variable in tag
    [02/May/2006:17:40:18] info (26802): JSP11 Log:Warning: Unknown element variable in tag
    [02/May/2006:17:40:18] info (26802): JSP11 Log:Warning: Unknown element variable in tag
    [02/May/2006:17:40:18] info (26802): JSP11 Log:Warning: Unknown element variable in tag
    [02/May/2006:17:40:18] info (26802): JSP11 Log:Warning: Unknown element variable in tag
    [02/May/2006:17:40:18] info (26802): JSP11 Log:Warning: Unknown element variable in tag
    [02/May/2006:17:40:18] info (26802): JSP11 Log:Warning: Unknown element tag-class in tag
    [02/May/2006:17:40:18] info (26802): JSP11 Log:Warning: Unknown element body-content in tag
    [02/May/2006:17:40:18] info (26802): JSP11 Log:Warning: Unknown element variable in tag
    [02/May/2006:17:40:18] info (26802): JSP11 Log:Warning: Unknown element variable in tag
    [02/May/2006:17:40:18] info (26802): JSP11 Log:Warning: Unknown element variable in tag
    [02/May/2006:17:40:18] failure (26802): Internal error: servlet service function had thrown ServletException (uri=/ACM/jsp/header.js
    p): org.apache.jasper.compiler.CompileException: /user3/acm/iplanet/servers/ACM/jsp/header.jsp(101,0) Unable to load class null, sta
    ck: org.apache.jasper.compiler.CompileException: /user3/acm/iplanet/servers/ACM/jsp/header.jsp(101,0) Unable to load class null
    at org.apache.jasper.compiler.TagBeginGenerator.init(TagBeginGenerator.java:128)
    at org.apache.jasper.compiler.JspParseEventListener$GeneratorWrapper.init(JspParseEventListener.java:753)
    at org.apache.jasper.compiler.JspParseEventListener.addGenerator(JspParseEventListener.java:132)
    at org.apache.jasper.compiler.JspParseEventListener.handleTagBegin(JspParseEventListener.java:903)
    at org.apache.jasper.compiler.DelegatingListener.handleTagBegin(DelegatingListener.java:188)
    at org.apache.jasper.compiler.Parser$Tag.accept(Parser.java:825)
    at org.apache.jasper.compiler.Parser.parse(Parser.java:1077)
    at org.apache.jasper.compiler.Parser.parse(Parser.java:1042)
    at org.apache.jasper.compiler.Parser.parse(Parser.java:1038)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:218)
    at org.apache.jasper.servlet.JspServlet$JspServletWrapper.loadJSP(JspServlet.java:193)
    at org.apache.jasper.servlet.JspServlet$JspServletWrapper.access$4(JspServlet.java:167)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:477)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:589)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.iplanet.server.http.servlet.NSServletRunner.invokeServletService(NSServletRunner.java:897)
    at com.iplanet.server.http.servlet.WebApplication.service(WebApplication.java:1065)
    at com.iplanet.server.http.servlet.NSServletRunner.ServiceWebApp(NSServletRunner.java:959)
    , root cause:
    (END)

    Thank u Very much.
    And small doubt again. I am writing one custom tag in my application for that we need one tld file. In tomcat i wrote like this
    <tag>
    <name>Menu</name>
    <tag-class>com.citigroup.acm.taglib.MenuTag</tag-class>
    <body-content>JSP</body-content>
    <variable><name-given>parentId</name-given></variable>
    </tag>
    but in iPlanet i modified(insted of tag-class i used tagclass) like the following, b'coz i got some exceptions
    <tag>
    <name>Menu</name>
    <tagclass>com.citigroup.acm.taglib.MenuTag</tagclass>
    <body-content>JSP</body-content>
    <variable><name-given>parentId</name-given></variable>
    </tag>
    Now i am getting error at <variable> how to handle that plz help me

  • Feature Request:  iTunes to merge the "Song Name" & "Artist" fields

    This is a feature request that i would like to see in a future release of iTunes. The option to merge the "Song Name" & "Artist" fields together. This would be a very valuable option when surfing your iTunes Library thru your iPod, Front Row, or Apple TV.
    Let me explain:
    Not everyone knows at the top of their head who sings a particular song. This is especially true when someone other than the owner of the iTunes Library is browsing through it.
    Let's say that I want to browse my ENTIRE music collection all at once. The easiest way to do this, is by browsing thru the "Songs" list because it creates 1 massive list displaying ALL the songs in the library, without having to jump into different fields. The current problem with this, is, it only lists the name of the song. There are 2 problems with this philosophy. #1 - You must know who sings the songs to have any chance of making this a useful option because the artist is not displayed. #2 - It puts them in alphabetical based on the song name. Once again, not a very useful way to make this option really functional because you will have the Artists all over the map! Keeping the Artist's songs together makes it a much more feasable option.
    The solution, I feel, would be to have iTunes create an "Option" that would allow users like me to make iTunes merge the "Artist" & "Name" fields together. Make it an option so that users who do not see the benefit to this, would not have to use it. By doing this, I could now surf my ENTIRE collection via the "Songs" field in a very logical approach.
    For an example, let's take a song: Artist - "Def Leppard" & Song Name - "Pour Some Sugar On Me". By clicking this option, when browsing thru the "Songs" field, it would now display as: Def Leppard - Pour Some Sugar On Me. This allows me to browse my ENTIRE library while at the same time, keeping "like" songs together, and making it very easy to distinguish whether or not it is a song I want to select. By knowing that Def Leppard is a Rock Artist, it helps to distinguish the song.
    I work for a custom AV integration shop that has put hundreds of music servers into homes. We have been teaching our clients the benefits of this for some time now, with great feedback. The only problem presently, is it requires the users to have to re-edit every single file by putting the Artist's Name & the Song Title into the "Name" field of iTunes. Very time consuming! As well, because you also have the "Artists" name entered in the "Artist" field, you get Front Row displaying the "Artist" name twice, once in the song name, and once in the artist's field.
    Any feedback would be welcomed.
    Regards,
    Trevor

    You might be able to get where you want using Chaotic Software's MediaRage. It can automate and batch tag editing, including building a Title tag that combines Artist and Title and, to possibly address you other problem, blanking the Artist tag.
    MediaRage is not expensive and it is very powerful, you can even define regexs for how to parse tags.
    HTH. - Tom

  • How to use HTML in JavaFX controls?

    Does JavaFX support using HTML in JavaFX controls' text? For example, in Swing components:
    button = new JButton("<html><font face=arial size=16><center><b><u>E</u>nable</b></font><br>"
      + "<font face=cambria size=12 color=#ffffdd>middle button</font></html>");
    If no, could we find a workaround?

    Embedding a WebView in a Labeled for HTML Rendering
    A WebView is a node which displays HTML.
    Most controls implement Labeled, or have elements that are Labeled.
    A Labeled has a setGraphic(node) method which allows you to set the graphic attached to the labeled to any given node (including a WebView).
    For instance:
    WebView webview = new WebView();
    webview.getEngine().loadContent("<html><font face=arial size=16><center><b><u>E</u>nable</b></font><br><font face=cambria size=12 color=#ffffdd>middle button</font></html>");
    webview.setPrefSize(150, 50);
    Button buttonWithHTML = new Button("", webview);
    should create a button with html in it (I didn't actually try running the above example).
    Apart from the relatively slow startup time on first use and the overhead (which I can't quantify) of using WebView in this way, there are a couple of jira requests outstanding which make it a little bit of a nuisance.
    RT-25004 Allow for transparent backgrounds in WebView
    RT-25005 Automatic preferred sizing for WebView
    You can vote for the above jira requests or comment on them if such functionality is important to you.
    TextFlow/FXML/CSS Alternative
    Rather than using html in the Labeled, support for the TextFlow control was introduced in Java 8, so that could be used instead.
    TextFlow also works well with FXML and css if you prefer to have the stuff in the TextFlow managed via markup and a declarative styling language.
    Open Feature Request
    There is an open feature request RT-2160 HTML support for text which is currently scheduled for implementation in the initial Java 8 release.  I think the likelihood of it actually being included there is zero percent, though it may be considered for a future release.  You can vote for the issue or add comments to it, or provide an implementation if you are so inclined.
    Implementation Considerations
    A possible implementation would be something which parses the HTML then constructs a TextFlow the parsed HTML according to processing rules which are laid out in laborious mind-numbing detail in the HTML5 spec.
    You could use a relaxed HTML parser such as the validator.nu parser (though there may be others which would be a better fit). 
    A simple implementation would just be to use the parser in the jdk which is used for the swing controls, but that is hopelessly outdated.
    Perhaps, even simpler would to only accept strict html input and just use SAX to parse it out, though things like validator.nu are too difficult to work with.
    Then, for the limited number of parsed tags that you want to support (and you really don't want to support all of HTML5 for something like this - otherwise you would just use WebView), create your TextFlow from the DOM model that your parser has created.
    I wouldn't even both trying to handle most of the stuff in your html string in your implementation, stuff to do with styling, fonts, colors, etc. Those things were never any good in html anyway, and css is better for handling them, so just support stuff commonly used in usual modern day html (take a look at bootstrap html source as an example to see what that might be - if bootstrap doesn't use it, I don't think you should support it).  The stuff you will be supporting are things around document structure like lists, headings, etc. div blocks and span nodes - so only implement that important stuff and delegate everything else to css where it belongs.
    Also make sure your implementation fits in with FXML so that you can easily embed your html subset in an FXML doc.

  • [SOLVED] Cannot build lightspark

    Hi,
    I have tried to build lightspark 0.7.2-1 and lightspark-git 20130215-2 from AUR but it always fails with same errors: "A failure occurred in build().".
    I also tried to modify the pkgver to 0.7.1 in the lightspark PKGBUILD to see if it was verion related, but it didn't change anything.
    Here is the output of lightspark 0.7.2-1 (note that I temporarily changed the locale to English to post it on the forum):
    bp@bp-laptop ~
    > yaourt -S lightspark
    ==> Downloading lightspark PKGBUILD from AUR...
    bsdtar: Failed to set default locale
    x PKGBUILD
    x lightspark.install
    Comment by tsester (2013-02-02 15:00)
    it takes too much ram while compiling
    Comment by FredBezies (2013-04-30 11:03)
    0.7.2 PKGBUILD : http://pastebin.com/JR8xT9T7
    Comment by cactaur (2013-06-20 18:41)
    When I tried to build, I got that it failed with an error:
    [ 4%] Building CXX object src/CMakeFiles/spark.dir/scripting/abc.cpp.o
    /home/gregory/lightspark/src/lightspark-0.7.2/src/scripting/abc.cpp:26:25: fatal error: llvm/Module.h: No such file or directory
    #include llvm/Module.h
    Apparently this had to do with a change in naming in LLVM 3.3, which is now released, and that broke the code.
    https://bugs.launchpad.net/lightspark/+bug/1157158
    The issue was fixed in the development version, but hasn't been officially released yet. I'm not sure if there's a workaround for this release that can be incorporated into the PKGBUILD or if it should just stay broken until the official upstream release, but in the meantime, the lightspark-git package should provide a program that compiles. Just thought I'd give a heads-up.
    Comment by the-kyle (2013-08-09 17:39)
    I am seeing errors similar to the following when I try to build this package.
    In file included from /tmp/packerbuild-1000/lightspark/lightspark/src/lightspark-0.7.2/src/scripting/flash/net/flashnet.h:29:0,
    from /tmp/packerbuild-1000/lightspark/lightspark/src/lightspark-0.7.2/src/swf.h:32,
    from /tmp/packerbuild-1000/lightspark/lightspark/src/lightspark-0.7.2/src/scripting/class.h:27,
    from /tmp/packerbuild-1000/lightspark/lightspark/src/lightspark-0.7.2/src/scripting/toplevel/ASString.h:23,
    from /tmp/packerbuild-1000/lightspark/lightspark/src/lightspark-0.7.2/src/allclasses.cpp:20:
    /tmp/packerbuild-1000/lightspark/lightspark/src/lightspark-0.7.2/src/backends/decoder.h:31:30: error: ‘AVCODEC_MAX_AUDIO_FRAME_SIZE’ was not declared in this scope
    #define MAX_AUDIO_FRAME_SIZE AVCODEC_MAX_AUDIO_FRAME_SIZE
    ^
    /tmp/packerbuild-1000/lightspark/lightspark/src/lightspark-0.7.2/src/backends/decoder.h:201:19: note: in expansion of macro ‘MAX_AUDIO_FRAME_SIZE’
    int16_t samples[MAX_AUDIO_FRAME_SIZE/2];
    ^
    /tmp/packerbuild-1000/lightspark/lightspark/src/lightspark-0.7.2/src/backends/decoder.h: In constructor ‘lightspark::AudioDecoder::FrameSamples::FrameSamples()’:
    /tmp/packerbuild-1000/lightspark/lightspark/src/lightspark-0.7.2/src/backends/decoder.h:206:26: error: ‘samples’ was not declared in this scope
    FrameSamples():current(samples),len(0),time(0){}
    ^
    make[2]: *** [src/CMakeFiles/spark.dir/asobject.cpp.o] Error 1
    I only included one such error here, but these appear to be numerous. Am I missing a package that hasn't been included as a dependency? I'm building on a 64-bit system with 8 processor cores that satisfies all the dependencies listed above.
    Comment by dlh (2013-08-13 15:39)
    I have the same issue as @the-kyle
    lightspark 0.7.2-1 (Sat Feb 11 02:47:02 CET 2012)
    ( Unsupported package: Potentially dangerous ! )
    ==> Edit PKGBUILD ? [Y/n] ("A" to abort)
    ==> ------------------------------------
    ==> n
    ==> lightspark dependencies:
    - gtk2 (already installed)
    - ffmpeg (already installed)
    - glew (already installed)
    - curl (already installed)
    - boost-libs (already installed)
    - libxml++ (already installed)
    - desktop-file-utils (already installed)
    - hicolor-icon-theme (already installed)
    - cmake (already installed)
    - nasm (already installed)
    - xulrunner (already installed)
    - llvm (already installed)
    - glproto (already installed)
    - boost (already installed)
    - fontconfig (already installed)
    ==> Edit lightspark.install ? [Y/n] ("A" to abort)
    ==> ----------------------------------------------
    ==> n
    ==> Continue building lightspark ? [Y/n]
    ==> ------------------------------------
    ==>
    ==> Building and installing package
    ==> Making package: lightspark 0.7.2-1 (Sat Aug 17 12:44:43 CEST 2013)
    ==> Checking runtime dependencies...
    ==> Checking buildtime dependencies...
    ==> Retrieving sources...
    -> Downloading lightspark-0.7.2.tar.gz...
    % Total % Received % Xferd Average Speed Time Time Time Current
    Dload Upload Total Spent Left Speed
    0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
    100 933k 100 933k 0 0 482k 0 0:00:01 0:00:01 --:--:-- 756k
    -> Downloading lightspark-0.7.2.tar.gz.asc...
    % Total % Received % Xferd Average Speed Time Time Time Current
    Dload Upload Total Spent Left Speed
    0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
    100 490 100 490 0 0 848 0 --:--:-- --:--:-- --:--:-- 848
    ==> Validating source files with md5sums...
    lightspark-0.7.2.tar.gz ... Passed
    lightspark-0.7.2.tar.gz.asc ... Skipped
    ==> Verifying source file signatures with gpg...
    lightspark-0.7.2.tar.gz ... FAILED (unknown public key B96B97E45A52AE91)
    ==> WARNING: Warnings have occurred while verifying the signatures.
    Please make sure you really trust them.
    ==> Extracting sources...
    -> Extracting lightspark-0.7.2.tar.gz with bsdtar
    bsdtar: Failed to set default locale
    ==> Starting build()...
    -- The C compiler identification is GNU 4.8.1
    -- The CXX compiler identification is GNU 4.8.1
    -- Check for working C compiler: /usr/bin/cc
    -- Check for working C compiler: /usr/bin/cc -- works
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Check for working CXX compiler: /usr/bin/c++
    -- Check for working CXX compiler: /usr/bin/c++ -- works
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Performing Test GCC_IS_4_6
    -- Performing Test GCC_IS_4_6 - Success
    -- Found gnash path: /usr/bin/gtk-gnash
    -- The ASM-NASM compiler identification is unknown
    -- Found assembler: /usr/bin/nasm
    -- Found PkgConfig: /usr/bin/pkg-config (found version "0.28")
    -- LLVM llvm-config found at: /usr/bin/llvm-config
    -- LLVM version: 3.3
    -- Looking for C++ include llvm/Support/TargetSelect.h
    -- Looking for C++ include llvm/Support/TargetSelect.h - found
    -- HAVE_SUPPORT_TARGETSELECT_H: 1
    -- Looking for C++ include llvm/IRBuilder.h
    -- Looking for C++ include llvm/IRBuilder.h - not found
    -- HAVE_IRBUILDER_H:
    -- Looking for C++ include llvm/DataLayout.h
    -- Looking for C++ include llvm/DataLayout.h - not found
    -- HAVE_DATALAYOUT_H:
    -- LLVM CXX flags: -I/usr/include -DNDEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -O3 -fomit-frame-pointer -fvisibility-inlines-hidden -fno-exceptions -fPIC -Woverloaded-virtual -Wcast-qual
    -- LLVM LD flags: -L/usr/lib -lz -lpthread -lffi -ldl -lm
    -- LLVM core libs: -lLLVMLinker-lLLVMBitWriter-lLLVMBitReader-lLLVMInstrumentation-lLLVMipo-lLLVMObjCARCOpts-lLLVMVectorize-lLLVMScalarOpts-lLLVMInstCombine-lLLVMTransformUtils-lLLVMipa-lLLVMAnalysis-lLLVMTarget-lLLVMMC-lLLVMObject-lLLVMCore-lLLVMSupport
    -- LLVM JIT libs: -lLLVMX86Disassembler-lLLVMX86AsmParser-lLLVMX86CodeGen-lLLVMSelectionDAG-lLLVMAsmPrinter-lLLVMMCParser-lLLVMX86Desc-lLLVMX86Info-lLLVMX86AsmPrinter-lLLVMX86Utils-lLLVMJIT-lLLVMRuntimeDyld-lLLVMExecutionEngine-lLLVMCodeGen-lLLVMObjCARCOpts-lLLVMScalarOpts-lLLVMInstCombine-lLLVMTransformUtils-lLLVMipa-lLLVMAnalysis-lLLVMTarget-lLLVMMC-lLLVMObject-lLLVMCore-lLLVMSupport
    -- LLVM JIT objs:
    -- Found LLVM: /usr/include
    -- Found ZLIB: /usr/lib64/libz.so (found version "1.2.8")
    -- Found Freetype: /usr/lib64/libfreetype.so
    -- Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so
    -- Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so - found
    -- Looking for gethostbyname
    -- Looking for gethostbyname - found
    -- Looking for connect
    -- Looking for connect - found
    -- Looking for remove
    -- Looking for remove - found
    -- Looking for shmat
    -- Looking for shmat - found
    -- Looking for IceConnectionNumber in ICE
    -- Looking for IceConnectionNumber in ICE - found
    -- Found X11: /usr/lib64/libX11.so
    -- Found OpenGL: /usr/lib64/libGL.so
    -- Found GLEW: /usr/lib64/libGLEW.so
    -- Found PCRE: /usr/lib64/libpcre.so
    -- Found JPEG: /usr/lib64/libjpeg.so
    -- Found PNG: /usr/lib64/libpng.so (found version "1.6.3")
    -- checking for module 'libxml++-2.6>=2.33.1'
    -- found libxml++-2.6, version 2.36.0
    -- checking for module 'liblzma'
    -- found liblzma, version 5.0.5
    -- Boost version: 1.54.0
    -- Found the following Boost libraries:
    -- filesystem
    -- system
    -- checking for modules 'cairo;pangocairo'
    -- found cairo, version 1.12.14
    -- found pangocairo, version 1.34.1
    -- checking for module 'x11'
    -- found x11, version 1.6.1
    -- checking for modules 'libavcodec;libavutil;libavformat'
    -- found libavcodec, version 55.18.102
    -- found libavutil, version 52.38.100
    -- found libavformat, version 55.12.100
    -- Looking for avcodec_decode_video2
    -- Looking for avcodec_decode_video2 - found
    -- Looking for avcodec_decode_audio3
    -- Looking for avcodec_decode_audio3 - found
    -- Looking for avcodec_decode_audio4
    -- Looking for avcodec_decode_audio4 - found
    -- Looking for avio_alloc_context
    -- Looking for avio_alloc_context - found
    -- Looking for avcodec_alloc_context3
    -- Looking for avcodec_alloc_context3 - found
    -- Looking for avcodec_open2
    -- Looking for avcodec_open2 - found
    -- Looking for avformat_close_input
    -- Looking for avformat_close_input - found
    -- Looking for avformat_find_stream_info
    -- Looking for avformat_find_stream_info - found
    -- checking for module 'glib-2.0'
    -- found glib-2.0, version 2.36.3
    -- checking for module 'gthread-2.0'
    -- found gthread-2.0, version 2.36.3
    -- checking for module 'gmodule-2.0'
    -- found gmodule-2.0, version 2.36.3
    -- checking for module 'glibmm-2.4'
    -- found glibmm-2.4, version 2.36.2
    -- checking for module 'gtk+-2.0'
    -- found gtk+-2.0, version 2.24.20
    -- checking for module 'libcurl'
    -- found libcurl, version 7.32.0
    -- checking for module 'librtmp'
    -- found librtmp, version v2.4
    -- Looking for C++ include atomic
    -- Looking for C++ include atomic - found
    -- checking for module 'libpulse'
    -- found libpulse, version 4.0
    -- Configuring done
    -- Generating done
    -- Build files have been written to: /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/bld
    Scanning dependencies of target translations
    [ 1%] Scanning dependencies of target spark
    [ 2%] [ 3%] Generating fr.gmo
    Generating pl.gmo
    Generating zh_CN.gmo
    [ 3%] Built target translations
    [ 4%] [ 5%] [ 6%] [ 7%] Building CXX object src/CMakeFiles/spark.dir/compat.cpp.o
    Building CXX object src/CMakeFiles/spark.dir/allclasses.cpp.o
    Building CXX object src/CMakeFiles/spark.dir/asobject.cpp.o
    Building CXX object src/CMakeFiles/spark.dir/logger.cpp.o
    [ 8%] Building CXX object src/CMakeFiles/spark.dir/memory_support.cpp.o
    [ 9%] Building CXX object src/CMakeFiles/spark.dir/swf.cpp.o
    In file included from /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/scripting/flash/net/flashnet.h:29:0,
    from /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/swf.h:32,
    from /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/scripting/class.h:27,
    from /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/scripting/toplevel/ASString.h:23,
    from /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/allclasses.cpp:20:
    /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/backends/decoder.h:31:30: error: 'AVCODEC_MAX_AUDIO_FRAME_SIZE' was not declared in this scope
    #define MAX_AUDIO_FRAME_SIZE AVCODEC_MAX_AUDIO_FRAME_SIZE
    ^
    /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/backends/decoder.h:201:19: note: in expansion of macro 'MAX_AUDIO_FRAME_SIZE'
    int16_t samples[MAX_AUDIO_FRAME_SIZE/2];
    ^
    /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/backends/decoder.h: In constructor 'lightspark::AudioDecoder::FrameSamples::FrameSamples()':
    /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/backends/decoder.h:206:26: error: 'samples' was not declared in this scope
    FrameSamples():current(samples),len(0),time(0){}
    ^
    In file included from /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/scripting/flash/net/flashnet.h:29:0,
    from /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/swf.h:32,
    from /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/scripting/class.h:27,
    from /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/parsing/tags.h:29,
    from /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/scripting/abc.h:25,
    from /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/asobject.cpp:20:
    /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/backends/decoder.h:31:30: error: 'AVCODEC_MAX_AUDIO_FRAME_SIZE' was not declared in this scope
    #define MAX_AUDIO_FRAME_SIZE AVCODEC_MAX_AUDIO_FRAME_SIZE
    ^
    /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/backends/decoder.h:201:19: note: in expansion of macro 'MAX_AUDIO_FRAME_SIZE'
    int16_t samples[MAX_AUDIO_FRAME_SIZE/2];
    ^
    /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/backends/decoder.h: In constructor 'lightspark::AudioDecoder::FrameSamples::FrameSamples()':
    /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/backends/decoder.h:206:26: error: 'samples' was not declared in this scope
    FrameSamples():current(samples),len(0),time(0){}
    ^
    In file included from /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/scripting/flash/net/flashnet.h:29:0,
    from /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/swf.h:32,
    from /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/memory_support.cpp:21:
    /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/backends/decoder.h:31:30: error: 'AVCODEC_MAX_AUDIO_FRAME_SIZE' was not declared in this scope
    #define MAX_AUDIO_FRAME_SIZE AVCODEC_MAX_AUDIO_FRAME_SIZE
    ^
    /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/backends/decoder.h:201:19: note: in expansion of macro 'MAX_AUDIO_FRAME_SIZE'
    int16_t samples[MAX_AUDIO_FRAME_SIZE/2];
    ^
    /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/backends/decoder.h: In constructor 'lightspark::AudioDecoder::FrameSamples::FrameSamples()':
    /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/backends/decoder.h:206:26: error: 'samples' was not declared in this scope
    FrameSamples():current(samples),len(0),time(0){}
    ^
    In file included from /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/scripting/flash/net/flashnet.h:29:0,
    from /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/swf.h:32,
    from /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/scripting/class.h:27,
    from /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/parsing/tags.h:29,
    from /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/scripting/abc.h:25,
    from /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/swf.cpp:23:
    /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/backends/decoder.h:31:30: error: 'AVCODEC_MAX_AUDIO_FRAME_SIZE' was not declared in this scope
    #define MAX_AUDIO_FRAME_SIZE AVCODEC_MAX_AUDIO_FRAME_SIZE
    ^
    /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/backends/decoder.h:201:19: note: in expansion of macro 'MAX_AUDIO_FRAME_SIZE'
    int16_t samples[MAX_AUDIO_FRAME_SIZE/2];
    ^
    /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/backends/decoder.h: In constructor 'lightspark::AudioDecoder::FrameSamples::FrameSamples()':
    /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/backends/decoder.h:206:26: error: 'samples' was not declared in this scope
    FrameSamples():current(samples),len(0),time(0){}
    ^
    make[2]: *** [src/CMakeFiles/spark.dir/allclasses.cpp.o] Error 1
    make[2]: *** Waiting for unfinished jobs....
    make[2]: *** [src/CMakeFiles/spark.dir/asobject.cpp.o] Error 1
    make[2]: *** [src/CMakeFiles/spark.dir/memory_support.cpp.o] Error 1
    /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/swf.cpp: In function 'lightspark::SystemState* lightspark::getSys()':
    /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/swf.cpp:58:35: warning: 'void* g_static_private_get(GStaticPrivate*)' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:246): Use 'g_private_get' instead [-Wdeprecated-declarations]
    SystemState* ret = (SystemState*)g_static_private_get(&tls_system);
    ^
    /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/swf.cpp:58:67: warning: 'void* g_static_private_get(GStaticPrivate*)' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:246): Use 'g_private_get' instead [-Wdeprecated-declarations]
    SystemState* ret = (SystemState*)g_static_private_get(&tls_system);
    ^
    /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/swf.cpp: In function 'void lightspark::setTLSSys(lightspark::SystemState*)':
    /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/swf.cpp:64:9: warning: 'void g_static_private_set(GStaticPrivate*, gpointer, GDestroyNotify)' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:249): Use 'g_private_set' instead [-Wdeprecated-declarations]
    g_static_private_set(&tls_system,sys,NULL);
    ^
    /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/swf.cpp:64:50: warning: 'void g_static_private_set(GStaticPrivate*, gpointer, GDestroyNotify)' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:249): Use 'g_private_set' instead [-Wdeprecated-declarations]
    g_static_private_set(&tls_system,sys,NULL);
    ^
    /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/swf.cpp: In function 'lightspark::ParseThread* lightspark::getParseThread()':
    /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/swf.cpp:70:34: warning: 'void* g_static_private_get(GStaticPrivate*)' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:246): Use 'g_private_get' instead [-Wdeprecated-declarations]
    ParseThread* pt = (ParseThread*)g_static_private_get(&parse_thread_tls);
    ^
    /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/swf.cpp:70:72: warning: 'void* g_static_private_get(GStaticPrivate*)' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:246): Use 'g_private_get' instead [-Wdeprecated-declarations]
    ParseThread* pt = (ParseThread*)g_static_private_get(&parse_thread_tls);
    ^
    /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/swf.cpp: In member function 'virtual void lightspark::ParseThread::execute()':
    /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/swf.cpp:1274:2: warning: 'void g_static_private_set(GStaticPrivate*, gpointer, GDestroyNotify)' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:249): Use 'g_private_set' instead [-Wdeprecated-declarations]
    g_static_private_set(&parse_thread_tls,this,NULL);
    ^
    /tmp/yaourt-tmp-bp/aur-lightspark/src/lightspark-0.7.2/src/swf.cpp:1274:50: warning: 'void g_static_private_set(GStaticPrivate*, gpointer, GDestroyNotify)' is deprecated (declared at /usr/include/glib-2.0/glib/deprecated/gthread.h:249): Use 'g_private_set' instead [-Wdeprecated-declarations]
    g_static_private_set(&parse_thread_tls,this,NULL);
    ^
    make[2]: *** [src/CMakeFiles/spark.dir/swf.cpp.o] Error 1
    make[1]: *** [src/CMakeFiles/spark.dir/all] Error 2
    make: *** [all] Error 2
    ==> ERROR: A failure occurred in build().
    Aborting...
    ==> ERROR: Makepkg was unable to build lightspark.
    ==> Restart building lightspark ? [y/N]
    ==> -----------------------------------
    ==>
    I can't find if it is related to the lighspark code or if it is specific to Arch Linux.
    Last edited by mau5kito (2013-08-17 14:48:24)

    It seems lightspark was written for an old version of ffmpeg.  I was able to solve some problems with patches, but more and more would keep popping up.
    There is a -git version which should work.  I'm compiling it now to verify - and so far so good (but it's taking a while on my old hardware).
    EDIT: confirmed, lightspark-git builds fine.
    Last edited by Trilby (2013-08-17 12:37:31)

  • Passing Opaque Objects from Oracle to Java

    Hi all
    I am trying to write a stored procedure that needs to be called from different triggers. Each triggers needs to pass a different set of data to the stored procedure. Now the problem is that i need to pack the different set of data into one opaque object type that i can pass onto java. Is there any way of doing this. I am using Oracle 9i running on Linux 2.4.9. I tried using the Object datatype in Oracle 9i. But am not able to pass a object datatype to java directly.

    Didn't know that. Guess the way this API handles the struct is it puts it on the heap, since this idea (with passing a 32-bit var back and forth with a memory location) worked.
    My next problem - I can't figure out a way to destroy a jstring: whenever I do an env->GetStringUTF((char*)charBuff), it seems to simply copy the bytes from the buffer
    into the same String object up the length of the buff (so I get the extra bytes from the previous String if it was longer at the end).
    Here's how it works: I have a loop in C code that parses tags inside a file, then depending on what tag it is, I create a new jobject and call a Java method to do stuff
    to that object. As one of the parameters in the constructor I pass in a String that I create (as you can see above) from a character array, however I am getting
    massive artifacts when I print out that String inside the Java method.
    Thoughts? :(

Maybe you are looking for

  • Oracle Report Server pdf report

    I am running a report via a URL through rwservlet. The settings are DESFORMAT=pdf&DESTYPE=cache The report runs and displays via Adobe Reader in the IE window the URL was submitted on. The is exactly the behaviour we want. When we choose the Adobe sa

  • Condition types for a info record

    hi can someone pls tell me how do i config the following scenario : my client has 10 condition types out of which 5 condition types should compulsorily appear in my Po and remaining 5 should default from inforecord...however even in info record , no

  • Hyperlink in mail message gets changed

    I'm having trouble mailing webpage addresses. If I copy and paste an address into an email the entire thing does not get underlined so when recipients click on it they don't get the entire address. If I use mail/edit/add hyperlink and paste the addre

  • New Report

    I have to make new report in which the output are : name of vendor, category, material, order value, rate unit for the product, last purchase price. what field name  and table i will take. Plz help...

  • Default layout in PSE 12 editor

    I prefer to open photos in default layout rather than as floating window. It was so in PSE9 - now I still have it "floating" and then need to change it manually. Any idea to make default really default?