APACHE FOP  LOGGER NOT SET

In this day I have one issue and I was not able to resolve.
Basically I found many post that speak of something similar. But don´t found one particular solution.
I have one installation of APEX 3.1 and installed APache FOP 10.1.3.2.0, but this installations are on E-business suite 11.5.10.2
First installed EBS 11.5.10.2 , then migrated DAtabase a 10.2.0.3, then installed APEX 3.1 and now installed OC4J Containers 10.1.3.2.0 and configured Apache FOP, my SO is Linux 4, I have jdk 1.4.2.
I'm trying to print some reports as PDF and I have the following problem:
I followed the step "5.Installing and Configuring Apache FOP" of http://www.oracle.com/technology/products/database/application_express/html/configure_printing.html
When I try to print my report I get this message on OC4J console:
08/07/24 20:39:52 [ERROR] Logger not set
08/07/24 20:39:52 [WARNING] Screen logger not set - Using ConsoleLogger.
08/07/24 20:39:52 [INFO] Using oracle.xml.parser.v2.SAXParser as SAX2 Parser
08/07/24 20:39:52 [INFO] building formatting object tree
08/07/24 20:39:52 [INFO] setting up fonts
08/07/24 20:39:53 [INFO] [1]
08/07/24 20:39:53 [WARNING] table-layout=auto is not supported, using fixed!
08/07/24 20:39:53 [WARNING] Sum of fixed column widths 660000 greater than maximum specified IPD 658800
08/07/24 20:39:53 [INFO] Parsing of document complete, stopping renderer
I get this message on Log Apache
[Thu Jul 24 20:39:53 2008] [warn] mod_plsql: Stale Connection due to Oracle error 22293
[Thu Jul 24 20:39:53 2008] [error] mod_plsql: /pls/apex/wwv_flow.accept ORA-22293
ORA-22293: LOB already opened in the same transaction
anybody help me ?

When I pressing the button does export writes that "it is impossible to display the page".Export does not occur.
However, I added apex_fop.jsp following:
java.io.FileOutputStream os = new java.io.FileOutputStream ("/tmp/out.test");
driver.setOutputStream(os);
driver.run();
os.close();
Once I click on the button in the apex export all the information stored in a file out.test.Open the file are all displayed correctly. However, the apex does not return the file, and writes "it is impossible to display the page"

Similar Messages

  • Cannot print reports as PDF: Logger not set error

    Hi all,
    I'm trying to print some reports as PDF and I have the following problem:
    - I followed the step "5.Installing and Configuring Apache FOP" of http://www.oracle.com/technology/products/database/application_express/html/configure_printing.html
    - When I try to print my report I get this message on OC4J console:
    08/04/30 11:54:42 [ERROR] Logger not set
    08/04/30 11:54:42 [INFO] Using oracle.xml.parser.v2.SAXParser as SAX2 Par
    08/04/30 11:54:42 [INFO] building formatting object tree
    08/04/30 11:54:42 [INFO] setting up fonts
    08/04/30 11:54:42 [INFO] [1]
    08/04/30 11:54:42 [WARNING] table-layout=auto is not supported, using fix
    08/04/30 11:54:42 [WARNING] Sum of fixed column widths 720000 greater tha
    um specified IPD 658800
    08/04/30 11:54:42 [INFO] Parsing of document complete, stopping renderer
    My question is about the Logger error. What is exactly a Logger?
    May I define it in j2ee-logging.xml file of OC4J?
    I'm working with:
    - APEX 3.0.1
    - Java SDK 1.4.2
    - Oracle Containers for J2EE (10.1.3.2)
    Thanks!
    Roger

    Hi again,
    I still didn't found the solution to my problem. In the "ascontrol.log" file of OC4J there is this warning:
    2008-05-05 11:36:28,934 [OC4J Launcher] WARN jmx.SecureWalletManager _setPermission.161 - WARNING: Could not set file permissions administrators:F for wallet at E:\oc4j\j2ee\home\persistence\ascontrol\ascontrol\securestore\ewallet.p12
    Is it significant?
    Thanks

  • PDF printing with oc4j apache fop not working

    I am configuring PDF printing in Apex 3.1.1. I have set up a shared component report query with a simple query. I have implemented the oc4j standalone and implemented the fop.war as specified in the "pdf printing in Apex" documentation. When I use the test button to verify the output of the report, I am redirected to a 404-page not found and the oc4j instance logs the following:
    08/09/09 12:02:36 [ERROR] Logger not set
    08/09/09 12:02:36 [INFO] Using oracle.xml.parser.v2.SAXParser as SAX2 Parser
    08/09/09 12:02:36 [INFO] building formatting object tree
    08/09/09 12:02:36 [INFO] setting up fonts
    08/09/09 12:02:36 [INFO] [1]
    08/09/09 12:02:36 [WARNING] table-layout=auto is not supported, using fixed!
    08/09/09 12:02:36 [WARNING] Sum of fixed column widths 662000 greater than maximum specified IPD 658800
    08/09/09 12:02:36 [INFO] Parsing of document complete, stopping renderer
    Any ideas why this is happening?
    Database is oracle 9.2.0.7
    OC4J standalone 10.1.3

    Hello,
    Just did some more search on this, and apparently it's a more common problem:
    Re: PDF problem FOP mod_plsql: /pls/apex/wwv_flow.accept ORA-22293
    Regards,
    Dimitri
    http://dgielis.blogspot.com/
    http://www.apex-evangelists.com/
    http://www.apexblogs.info/

  • Apache FOP not displaying Cyrillic properly

    Hi,
    I am using apache FOP to generate pdfs' in Russian. I have embedded the fonts into the application but the output is being displayed as html numerical codes.
    The html numerical codes are stored in the database but I am unable to render them properly. I know the fonts are embedded correctly because when I apply the fonts to English text, Russian characters are displayed in the pdf correctly.
    e.g the Russian characters are displayed like this:
    прод... etc
    Why are my codes not displaying properly ? I'm a bit lost at this point.
    thanks in advance

    Hi,
    thanks for the reply.
    To clarify things a bit. My web page is submitting Russian text which is being stored in an Oracle database. This text is being stored in the &#xxxx; format. This formatting is displayed properly in a web browser but I am using Apache FOP to produce a pdf and the Russian text is not being displayed as the Russian characters but as the relative &#xxxx; codes. So these codes are not being translated back into their Russian Cyrillic symbols.
    I have configured FOP and embedded the Cyrillic TTF but these codes are still not displayed. I can apply the Cyrillic font style to English text and Russian characters are displayed so it seems that that cyrillic TTF is embedded properly.
    I am not generating an serialized xml file but rather creating a javax.xml.transform.dom.DOMSource object and with my xsl file I create the pdf code snippet below:
    thanks
    Paul
              //Setup a buffer to obtain the content length
              ByteArrayOutputStream out = new ByteArrayOutputStream();
              // add fonts for Russian and Chinese certificates
              String fontConfig = path + "fonts/fontcfg.xml";
           FopFactory fopFactory = FopFactory.newInstance();
           fopFactory.setUserConfig(fontConfig);
           FOUserAgent foAgent = fopFactory.newFOUserAgent();
              //Setup FOP
              Fop fop = fopFactory.newFop(MimeConstants.MIME_PDF,foAgent , out);
              //Setup Transformer
              Source xsltSrc = new StreamSource(new File(xslFile));
              TransformerFactory tFactory = TransformerFactory.newInstance();
              Transformer transformer = tFactory.newTransformer(xsltSrc);
              //Make sure the XSL transformation's result is piped through to FOP
              Result res = new SAXResult(fop.getDefaultHandler());
              //Setup input
              Source domSrc = new DOMSource(xmlDom);         
           //Start the transformation and rendering process
              transformer.transform(domSrc, res);
              //Prepare response
              response.setContentType("application/pdf");
              response.setContentLength(out.size());
              //Send content to Browser
              response.getOutputStream().write(out.toByteArray());
              response.getOutputStream().flush();

  • [Apache 2] Critical error mod_rewrite: Could not set permissions on rewrite

    Hi,
    Well I had a look around to this problem and it seems it is specific to mac os system on intel machines, so I send my post here.
    I had installed the apache 2 server from www.serverlogistics.com and it seems to start. However it is impossible to log into my local website with an error in my web browser "can't log to "localhost" server".
    By reading the logs I got in /Library/Apache2/logs/error_log (where there is also a httpd.pid file): [crit] (14)Bad address: mod_rewrite: Could not set permissions on rewriteloglock; check User and Group directives Configuration Failed
    So, I commented the line "LoadModule rewrite_module modules/mod_rewrite.so" in /Library/Apache2/conf/httpd.conf with no efffect at all.
    Then I don't know what to do.... any idea please ?
    NB : I did not configure or set any htaccess file in any directory.
    Denis

    denis_4l wrote:
    Hi,
    Well, I had tried several ways among others MAMP. With, MAMP, I experienced some problems running MySQL and or Apache server.
    If you'd like help, you need to describe the specific problems you're having. You're not giving people here much to go on in order to be able to help. Without knowing what you've already tried, and what the results were, it's impossible to say if you've just made a simple mistake or if you've truly hit upon something that won't work. The Apache logs are especially helpful, with lots of detailed information to help in troubleshooting.
    To say the true, I bought this Macbook because the system kernel is 100% compatible with Linux, and I was full of naives hopes, thinking that I will install/compile easily softwares that are usual under Linux world.....
    I certainly haven't had much problem compiling and installing software that's distributed as source code, though I haven't tried to compile Apache. While it's true that much of the software will compile, it's also true that you might have to make some small changes here and there to the source code to get it to work correctly. But you might also have to do the same thing to get them to compile on different Linux distributions. So OS X isn't that different in that respect.
    If you want to get Apache 2 running with MAMP, post back with specific information on what problems you had and I'll try to help. I've been hacking at Apache installations for many years now, so if I know the problems you're having, there's a good chance I've been through them, too.
    charlie

  • Error : The value is not set for parameter number"

    Hello All,
    I am getting an error message when I tried modifying a program by adding a new ID column to a database table.
    All DML is working except the Delete. So to look at the delete method, I am setting the parameter correctly as can be seen in the code belwo.
    Can someone please take a quick look and let me know where I need to tweak the code further.
    Thanks
    Fm
    The piece of code is given below.
    /* File Modified */
    /* EmailSetupDao.java
    * Generated by the MDK DAO Code Generator
    package com.harris.mercury.setups.standard.emailsetup;
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.Vector;
    import org.apache.log4j.Logger;
    import com.harris.mercury.dao.CreateException;
    import com.harris.mercury.dao.DAO;
    import com.harris.mercury.dao.DataField;
    import com.harris.mercury.dao.Holder;
    import com.harris.mercury.dao.LocalResultProxy;
    import com.harris.mercury.dao.RemoveException;
    import com.harris.mercury.dao.ResultProxy;
    import com.harris.mercury.system.DatabaseHelper;
    import com.harris.mercury.system.database.dialect.Dialect;
    * The EmailSetupDao class
    public class EmailSetupDao implements DAO
    protected static Logger logger = Logger.getLogger(EmailSetupDao.class);
    /* This method is called by ResultProxies when they need
    * the data they have retrieved in a ResultSet mapped
    * to a holder.
    public Holder createHolder(ResultSet rs) throws SQLException
    EmailSetupHolder holder = new EmailSetupHolder(); // THE CODE GENERATOR NEEDS THIS VARIABLE
    try
    /* Assign the data into the new holder */
    // $$START_CREATEHOLDER_CONVERSIONS
    holder.setEmail_address( rs.getString("email_address") );
    holder.setLogin_id( rs.getString("login_id") );
    holder.setUser_name( rs.getString("user_name") );
    holder.setSmtp( rs.getString("smtp") );
    holder.setId(rs.getString("id") );
    // $$END_CREATEHOLDER_CONVERSIONS
    catch(SQLException sqle)
    logger.error(sqle, sqle);
    throw sqle;
    return holder;
    /* The findAll method returns a ResultProxy containing all the
    * records in the pucemailr table, unless an extended where clause
    * has been defined.
    public ResultProxy findAll(Connection con) throws SQLException
    LocalResultProxy result = null; // THE CODE GENERATOR NEEDS THIS VARIABLE
    // $$START_ALLFIND
    result = new LocalResultProxy(this,con, "select email_address, login_id, user_name, smtp, id from pucemailr"+makeOrderBy());
    // $$END_ALLFIND
    return result;
    /* Inserts a record into the pucemailr table using a EmailSetupHolder.
    * An exception is thrown if it is not sucessful.
    public void insert(Connection con, EmailSetupHolder holder) throws CreateException
    CreateException ce = null;
    PreparedStatement ps = null; // THE CODE GENERATOR NEEDS THIS VARIABLE
    try
    // Insert into the data base
    // $$START_INSERT_PS
         ps = con.prepareStatement("insert into pucemailr (email_address, login_id, user_name, smtp) values(?, ?, ?, ?) ");
    // $$END_INSERT_PS
    /* Assign the variables in the holder to their corresponding
    * indexes in the prepared statement
    ps = assignPreparedStatementValues(ps, holder, true) ;
    // Try the insert
    ps.executeUpdate();
    catch (SQLException se)
    ce = new CreateException(se.getMessage());
    catch (Exception ex)
    ce = new CreateException(ex.getMessage());
    } finally {
    DatabaseHelper.close(ps);
    // Throw exception if error occurred
    if (ce != null) {
    throw ce;
    /* This method will update a pucemailr record using the
    * supplied EmailSetupHolder. If an error occurs, an exception
    * is thrown.
    public void update(Connection con, EmailSetupHolder holder) throws Exception
    RuntimeException re = null;
    PreparedStatement ps = null; // THE CODE GENERATOR NEEDS THIS VARIABLE
    try
    // $$START_UPDATE_PS
         ps = con.prepareStatement("update pucemailr set email_address=?, login_id=?, user_name=?,smtp=? where id=?");
    // $$END_UPDATE_PS
    /* Assign the variables in the holder to their corresponding
    * indexes in the prepared statement
    ps = assignPreparedStatementValues(ps, holder, false) ;
    // Try the insert
    int ret = ps.executeUpdate();
    if (ret != 1)
    re = new RuntimeException("Update failed on table pucemailr in EmailSetupDao");
    catch (SQLException se)
    re = new CreateException(se.getMessage());
    catch (Exception ex)
    re = new RuntimeException(ex.getMessage());
    } finally {
    DatabaseHelper.close(ps);
    // Throw exception if error occurred
    if (re != null) {
    throw re;
    /* Using the EmailSetupHolder, this method locates records in the pucemailr table.
    * Null values found in the holder are not used in the search.
    * An exception is thrown if an error occurs.
    public ResultProxy find(Connection con, EmailSetupHolder holder) throws SQLException
    // THE CODE GENERATOR NEEDS THESE VARIABLES
    ResultProxy result = null;
    int needAnd = 0;
    StringBuffer selectStatement = new StringBuffer();
    // $$START_FIND
    selectStatement.append("select email_address, login_id, user_name, smtp, id from pucemailr ");
    if(holder.getId() != null)
    if ( needAnd > 0)
    selectStatement.append(" and ");
    else
    selectStatement.append(" where ");
    needAnd++;
    selectStatement.append("id like ");
    selectStatement.append("'"+ Dialect.getSafeDialect(con).escape(holder.getId())+"%'");
    if(holder.getEmail_address() != null)
    if ( needAnd > 0)
    selectStatement.append(" and ");
    else
    selectStatement.append(" where ");
    needAnd++;
    selectStatement.append("email_address like ");
    selectStatement.append("'"+ Dialect.getSafeDialect(con).escape(holder.getEmail_address())+"%'");
    if(holder.getLogin_id() != null)
    if ( needAnd > 0)
    selectStatement.append(" and ");
    else
    selectStatement.append(" where ");
    needAnd++;
    selectStatement.append("login_id like ");
    selectStatement.append("'"+ Dialect.getSafeDialect(con).escape(holder.getLogin_id())+"%'");
    if(holder.getUser_name() != null)
    if ( needAnd > 0)
    selectStatement.append(" and ");
    else
    selectStatement.append(" where ");
    needAnd++;
    selectStatement.append("user_name like ");
    selectStatement.append("'"+ Dialect.getSafeDialect(con).escape(holder.getUser_name())+"%'");
    if(holder.getSmtp() != null)
    if ( needAnd > 0)
    selectStatement.append(" and ");
    else
    selectStatement.append(" where ");
    needAnd++;
    selectStatement.append("smtp like ");
    selectStatement.append("'"+ Dialect.getSafeDialect(con).escape(holder.getSmtp())+"%'");
    // $$END_FIND
    result = new LocalResultProxy(this, con, selectStatement.toString()+makeOrderBy());
    return result;
    /* Creates an Order by clause */
    public String makeOrderBy()
    String result = "";
    // $$START_ORDERBY
    result = " order by smtp";
    // $$END_ORDERBY
    return result ;
    /* This method deltes a single record that matches all the
    * variables found in the EmailSetupHolder.
    * An exception is thrown if an error occurs.
    public void delete(Connection con, EmailSetupHolder holder) throws RemoveException
    RemoveException re = null;
    PreparedStatement ps = null; // THE CODE GENERATOR NEEDS THIS VARIABLE
    boolean hasVars = false;
    StringBuffer deleteSQL = new StringBuffer();
    deleteSQL.append( "delete from pucemailr where " );
    // $$START_DELETE_SQL
    if (hasVars)
    deleteSQL.append(" and ");
    if (holder.getEmail_address() != null) {
    deleteSQL.append("email_address=?") ;
    } else {
    deleteSQL.append("email_address is null");
    hasVars = true;
    if (hasVars)
    deleteSQL.append(" and ");
    if (holder.getLogin_id() != null) {
    deleteSQL.append("login_id=?") ;
    } else {
    deleteSQL.append("login_id is null");
    hasVars = true;
    if (hasVars)
    deleteSQL.append(" and ");
    if (holder.getUser_name() != null) {
    deleteSQL.append("user_name=?") ;
    } else {
    deleteSQL.append("user_name is null");
    hasVars = true;
    if (hasVars)
    deleteSQL.append(" and ");
    if (holder.getSmtp() != null) {
    deleteSQL.append("smtp=?") ;
    } else {
    deleteSQL.append("smtp is null");
    hasVars = true;
    if (hasVars)
    deleteSQL.append(" and ");
    if (holder.getSmtp() != null) {
    deleteSQL.append("id=?") ;
    } else {
    deleteSQL.append("id is null");
    hasVars = true;
    // $$END_DELETE_SQL
    try
         ps = con.prepareStatement(deleteSQL.toString());
    /* Assign the variables in the holder to their corresponding
    * indexes in the prepared statement
    int index = 1 ;
    // $$START_DELETE_VARS
    /* if( holder.getEmail_address() != null) {
    ps.setString(index, holder.getEmail_address() );
    index ++;
    if( holder.getLogin_id() != null) {
    ps.setString(index, holder.getLogin_id() );
    index ++;
    if( holder.getUser_name() != null) {
    ps.setString(index, holder.getUser_name() );
    index ++;
    if( holder.getSmtp() != null) {
    ps.setString(index, holder.getSmtp() );
    index ++;
    if( holder.getId() != null) {
    ps.setString(index, holder.getId() );
    index ++;
    // $$END_DELETE_VARS
    // Try the insert
    int ret = ps.executeUpdate();
    if (ret != 1)
    re = new RemoveException("Delete failed on table pucemailr in EmailSetupDao");
    catch (SQLException se)
    re = new RemoveException(se.getMessage());
    catch (Exception ex) {
    re = new RemoveException(ex.getMessage());
    } finally {
    DatabaseHelper.close(ps);
    // Throw exception if error occurred
    if (re != null)
    throw re;
    /* This method finds records in pucemailr table that match the
    * supplied where clause.
    * An exception is thrown if an error occurs.
    public ResultProxy advancedFind(Connection con, String whereclause) throws SQLException
    // THE CODE GENERATOR NEEDS THIS VARIABLE AND THE PARAMETER VARIABLE 'whereclause'
    StringBuffer selectStatement = new StringBuffer();
    // $$START_ADVANCEDFIND
    selectStatement.append("select email_address, login_id, user_name, smtp, id from pucemailr ");
    // $$END_ADVANCEDFIND
    selectStatement.append(" where ");
    selectStatement.append(whereclause);
    return new LocalResultProxy(this,con, selectStatement.toString()+makeOrderBy());
    /* This methods returns a Vector of DataField objects that
    * map the columns in the pucemailr table for the
    * advanced find Where Clause Generator in the client. The extended
    * where clause will be applied if one exists for this DAO.
    public Vector<DataField> getQueryFields() {
    Vector<DataField> v = new Vector<DataField>() ; // THE CODE GENERATOR NEEDS THIS VARIABLE
    // $$START_QUERYFIELDS
    v.addElement( new DataField( "email_address", "Email address", DataField.STRING ) ) ;
    v.addElement( new DataField( "login_id", "Login id", DataField.STRING ) ) ;
    v.addElement( new DataField( "user_name", "User name", DataField.STRING ) ) ;
    v.addElement( new DataField( "smtp", "Smtp", DataField.STRING ) ) ;
    v.addElement( new DataField( "id", "Id", DataField.STRING ) ) ;
    // $$END_QUERYFIELDS
    return v;
         * Jira Issue NS 30679 - Faiz Qureshi March 7, 2013
         * @param ps
         * @param holder
         * @param isInsert - Added Boolean parameter so the id parameter does not get passed for Insert DML statements
         * @return
         * @throws Exception
    public PreparedStatement assignPreparedStatementValues(PreparedStatement ps, EmailSetupHolder holder, boolean isInsert)
    throws Exception
    // $$START_PS_SETS
    if( holder.getEmail_address() != null)
    ps.setString(1, holder.getEmail_address() );
    else
    ps.setNull(1, java.sql.Types.VARCHAR);
    if( holder.getLogin_id() != null)
    ps.setString(2, holder.getLogin_id() );
    else
    ps.setNull(2, java.sql.Types.VARCHAR);
    if( holder.getUser_name() != null)
    ps.setString(3, holder.getUser_name() );
    else
    ps.setNull(3, java.sql.Types.VARCHAR);
    if( holder.getSmtp() != null)
    ps.setString(4, holder.getSmtp() );
    else
    ps.setNull(4, java.sql.Types.VARCHAR);
    if (!isInsert){
         if( holder.getId() != null)
         ps.setString(5, holder.getId() );
         else
         ps.setNull(5, java.sql.Types.VARCHAR);
    // $$END_PS_SETS
    return ps;
    /* Do not delete this tag, it is reserved for adding new methods to the DAO */
    // $$ START_MDK_RESERVED
    // $$START_EDITABLE_SUB_TABLE_NAME
    * Returns the table names used in this DAO
    * @return the table names used in this DAO
    public String[] getTableNames() {
    // $$START_UNEDITABLE_SUB_TABLE_NAME
    String[] tableNames = new String[] {"pucemailr"};
    // $$END_UNEDITABLE_SUB_TABLE_NAME
    return tableNames;
    // $$END_EDITABLE_SUB_TABLE_NAME
    // $$START_EDITABLE_SUB_FIND
    * Using the EmailSetupHolder, this method locates records in the pucemailr table.
    * Null values found in the holder are not used in the search.
    * An exception is thrown if an error occurs.
    * @param con The database connection
    * @param holder holder containing the values to generate a query upon
    * @param orderBy The order by clause. Note, you must specify the "ORDER BY". If you forget to add a
    * space in front of the order by, it will be automatically handled. Specify null to use the default
    * or empty string for no ordering.
    * @return The result of the search
    * @throws SQLException if an error occurs in the search.
    public ResultProxy find(Connection con, EmailSetupHolder holder, String orderBy) throws SQLException
    // THE CODE GENERATOR NEEDS THESE VARIABLES
    ResultProxy result = null;
    int needAnd = 0;
    StringBuffer selectStatement = new StringBuffer();
    // $$START_FIND
    selectStatement.append("select email_address, login_id, user_name, smtp, id from pucemailr ");
    if(holder.getEmail_address() != null)
    if ( needAnd > 0)
    selectStatement.append(" and ");
    else
    selectStatement.append(" where ");
    needAnd++;
    selectStatement.append("email_address like ");
    selectStatement.append("'"+ Dialect.getSafeDialect(con).escape(holder.getEmail_address())+"%'");
    if(holder.getLogin_id() != null)
    if ( needAnd > 0)
    selectStatement.append(" and ");
    else
    selectStatement.append(" where ");
    needAnd++;
    selectStatement.append("login_id like ");
    selectStatement.append("'"+ Dialect.getSafeDialect(con).escape(holder.getLogin_id())+"%'");
    if(holder.getUser_name() != null)
    if ( needAnd > 0)
    selectStatement.append(" and ");
    else
    selectStatement.append(" where ");
    needAnd++;
    selectStatement.append("user_name like ");
    selectStatement.append("'"+ Dialect.getSafeDialect(con).escape(holder.getUser_name())+"%'");
    if(holder.getSmtp() != null)
    if ( needAnd > 0)
    selectStatement.append(" and ");
    else
    selectStatement.append(" where ");
    needAnd++;
    selectStatement.append("smtp like ");
    selectStatement.append("'"+ Dialect.getSafeDialect(con).escape(holder.getSmtp())+"%'");
    if(holder.getId() != null)
    if ( needAnd > 0)
    selectStatement.append(" and ");
    else
    selectStatement.append(" where ");
    needAnd++;
    selectStatement.append("Id like ");
    selectStatement.append("'"+ Dialect.getSafeDialect(con).escape(holder.getId())+"%'"); }
    // $$END_FIND
    result = new LocalResultProxy(this, con, selectStatement.toString() + (orderBy == null ? makeOrderBy() : com.harris.mercury.system.utils.StringUtils.padLeft(orderBy)));
    return result;
    // $$END_EDITABLE_SUB_FIND
    // $$START_EDITABLE_SUB_FINDALL
    * The findAll method returns a ResultProxy containing all the records in the pucemailr table,
    * unless an extended where clause has been defined.
    * @param con The database connection
    * @param orderBy The order by clause. Note, you must specify the "ORDER BY". If you forget to add a
    * space in front of the order by, it will be automatically handled. Specify null to use the default
    * or empty string for no ordering.
    * @return The result of the search
    * @throws SQLException if an error occurs in the search.
    public ResultProxy findAll(Connection con, String orderBy) throws SQLException
    LocalResultProxy result = null; // THE CODE GENERATOR NEEDS THIS VARIABLE
    // $$START_UNEDITABLE_SUB_FINDALL
    result = new LocalResultProxy(this,con, "select email_address, login_id, user_name, smtp, id from pucemailr" + (orderBy == null ? makeOrderBy() : com.harris.mercury.system.utils.StringUtils.padLeft(orderBy)));
    // $$END_UNEDITABLE_SUB_FINDALL
    return result;
    // $$END_EDITABLE_SUB_FINDALL
    // $$START_EDITABLE_SUB_ADVANCEDFIND
    * This method finds records in pucemailr table that match the supplied where clause.
    * @param con The database connection
    * @param whereclause The where clause for the select statement - do not include the "where" - it
    * will be automatically prepended
    * @param orderBy The order by clause. Note, you must specify the "ORDER BY". If you forget to add a
    * space in front of the order by, it will be automatically handled. Specify null to use the default
    * or empty string for no ordering.
    * @return The result of the search
    * @throws SQLException if an error occurs in the search.
    public ResultProxy advancedFind(Connection con, String whereclause, String orderBy) throws SQLException
    // THE CODE GENERATOR NEEDS THIS VARIABLE AND THE PARAMETER VARIABLE 'whereclause'
    StringBuffer selectStatement = new StringBuffer();
    // $$START_ADVANCEDFIND
    selectStatement.append("select email_address, login_id, user_name, smtp, id from pucemailr ");
    // $$END_ADVANCEDFIND
    selectStatement.append(" where ");
    selectStatement.append(whereclause);
    selectStatement.append((orderBy == null ? makeOrderBy() : com.harris.mercury.system.utils.StringUtils.padLeft(orderBy)));
    return new LocalResultProxy(this,con, selectStatement.toString());
    // $$END_EDITABLE_SUB_ADVANCEDFIND
    // $$ END_MDK_RESERVED
    }

    First thing to do is to edit the post and use some tags to format the code as it is unreadable and too much!
    Read the FAQ (https://forums.oracle.com/forums/help.jspa) to find out how to do this.
    Next we need to know the jdev version you are using!
    As the code is generated I would first try to generate it again after the db change.
    Timo

  • Error while configuring apache FOP for printing

    Dear All,
    I have a requirement to print a report using custom layout.
    I have installed apex 4.2 by configuring embedded PL/SQL gateway. I used the link:
    http://docs.oracle.com/cd/E37097_01/doc/install.42/e35123/overview.htm#CJABBFIH
    And for printing purpose I am installing apache FOP. I have installed oc4j in standalone mode. I followed the link:
    http://www.oracle.com/technetwork/developer-tools/apex/application-express/configure-printing-093060.html
    But after setting oc4jadmin password, I am getting following error
    13/01/15 12:52:07 WARNING: EJBContainer.postInit Error generating wrappers for f
    ile:/E:/app/OracleDb/j2ee/home/applications/admin_ejb.jarjava.lang.Instantiation
    Exception: javac.exe not found under C:\Program Files\Java\jre7, please use a va
    lid jdk or specify the location of your java compiler in server.xml using the <j
    ava-compiler .../> tag
    I have JAVA_HOME and ORACLE_HOME system environment variables set up as mentioned in the guide.
    I am not well versed with java.
    Can anyone please throw light on this issue and help me resolve this problem. This is an urgent requirement.
    Thanks and regards,
    Deepika.

    Deepika R wrote:
    13/01/15 12:52:07 WARNING: EJBContainer.postInit Error generating wrappers for f
    ile:/E:/app/OracleDb/j2ee/home/applications/admin_ejb.jarjava.lang.Instantiation
    Exception: javac.exe not found under C:\Program Files\Java\jre7, please use a va
    lid jdk or specify the location of your java compiler in server.xml using the <j
    ava-compiler .../> tag
    I have JAVA_HOME and ORACLE_HOME system environment variables set up as mentioned in the guide.
    Seems like the Java EE container is looking for the Java compiler. Try installing the Java Development Kit (JDK) and respecify your JAVA_HOME accordingly. HTH.

  • LOGO in PDF file (Apache FOP)

    Hi all...I'm using the Apache FOP PDF printing option with the jsp packaged in the AppEx 3.0.1 install. I would like to put a logo in the header of the generated PDF file. I made a compy of the default generic columns layout and added this to the header section in Page Template:
    <fo:block>
    Test Header Changes
    <fo:external-graphic src="file:///tmp/FastenalLogo.png"/>
    </fo:block>
    The following error is then generated in the logs:
    07/10/31 10:50:44 [INFO] Using oracle.xml.parser.v2.SAXParser as SAX2 Parser
    07/10/31 10:50:44 [INFO] building formatting object tree
    07/10/31 10:50:44 [INFO] setting up fonts
    07/10/31 10:50:51 [INFO] [1]
    07/10/31 10:50:51 [WARNING] table-layout=auto is not supported, using fixed!
    07/10/31 10:50:53 [ERROR] Error while creating area : Error creating FopImage ob ject (file:/tmp/FastenalLogo.png) : Jimi image library not available
    07/10/31 10:50:54 [INFO] [2]
    07/10/31 10:50:55 [ERROR] Error while creating area : Error creating FopImage ob ject (file:/tmp/FastenalLogo.png) : Jimi image library not available
    07/10/31 10:50:55 [INFO] [3]
    07/10/31 10:50:55 [ERROR] Error while creating area : Error creating FopImage ob ject (file:/tmp/FastenalLogo.png) : Jimi image library not available
    07/10/31 10:50:56 [INFO] Parsing of document complete, stopping renderer
    I also tried using a URL (with appropriate syntax), but that generated these errors:
    07/10/31 10:44:14 [ERROR] Error while creating area : No ImageReader for this ty pe of image (http://epsilon.fastenal.com:7784/i/FastenalLogo.jpg)
    07/10/31 10:44:14 [INFO] [3]
    07/10/31 10:44:15 [ERROR] Could not load external SVG: http://epsilon.fastenal.c om:7784/i/FastenalLogo.jpg<Line 1, Column 50>: XML-20190: (Fatal Error) Whitespa ce required.
    07/10/31 10:44:15 [ERROR] Error while creating area : No ImageReader for this ty pe of image (http://epsilon.fastenal.com:7784/i/FastenalLogo.jpg)
    07/10/31 10:44:15 [INFO] Parsing of document complete, stopping renderer
    Is it not possible to import an external image file into a PDF rendered by the Apache FOP? Any help would be greatly appreciated.
    Thanks,
    Leigh

    Hi Carl --
    I changed the image source to this:
    <xsl:variable name="_SECTION_NAME" select="string('master0')"/>
    <fo:static-content flow-name="region-header">
    <fo:block>
    Test Header Changes
    <fo:external-graphic src="http://epsilon.fastenal.com:7784/i/FastenalLogo.jpg" />
    </fo:block>
    <fo:block xsl:use-attribute-sets="text text_2 text_0 #PAGE_HEADER_ALIGNMENT#">
    <fo:inline xsl:use-attribute-sets="page-header">#PAGE_HEADER#</fo:inline>
    </fo:block>
    </fo:static-content>
    I can access the image through my web browser using the URL, but my log is throwing these errors:
    07/10/31 13:01:18 [WARNING] table-layout=auto is not supported, using fixed!
    07/10/31 13:01:20 [ERROR] Could not load external SVG: http://epsilon.fastenal.com:7784/i/FastenalLogo.jpg<Line 1, Column 50>: XML-20190: (Fatal Error) Whitespace required.
    07/10/31 13:01:20 [ERROR] Error while creating area : No ImageReader for this type of image (http://epsilon.fastenal.com:7784/i/FastenalLogo.jpg)
    07/10/31 13:01:20 [INFO] [2]
    07/10/31 13:01:21 [ERROR] Could not load external SVG: http://epsilon.fastenal.com:7784/i/FastenalLogo.jpg<Line 1, Column 50>: XML-20190: (Fatal Error) Whitespace required.
    07/10/31 13:01:21 [ERROR] Error while creating area : No ImageReader for this type of image (http://epsilon.fastenal.com:7784/i/FastenalLogo.jpg)
    07/10/31 13:01:21 [INFO] Parsing of document complete, stopping renderer
    Could the fo block be in the wrong place in the document? I'm not very familiar with XSL-FO and may have just placed it wrong.
    One other thing I just noticed. The webserver is actually using SSL, which on windows systems results in a pop-up about security. If I change the URL to https using the SSL port, I receive a message about security certificates.
    Thanks,
    Leigh
    Message was edited by:
    ljohnson74

  • Apache FOP

    I am trying to install Apache FOP. I have downloaded from the Oracle website. I have then saved the file in c:\program files\java\oc4j.
    When I change directory I can locate the file but can not start oc4j? All of the related files mentioned in the installation notes are included in the ocj4 file.

    Hi Dimitri,
    Thanks for the reply.
    The environment variables have been set.
    ORACLE_HOME c:\program files\oracle\oc4j
    JAVA_HOME c:\program files\java\j2re1.4.2_8
    Move to c:\
    Path: c:\program files\oracle\oc4j\j2ee\home
    Command: oc4j -start
    Error: 'oc4j' is not recognised as an internal or external command, operable program or batch file.
    OR I also tried
    Command: java -jar oc4j.jar
    The first time I did this I was asked to create a password but then the initialization failed. If I try to execute this command again I get a Missing Class and Fatal Error????
    No idea.
    If you have any ideas on how to fix this it would be great appreciated.
    Many thanks
    Ros

  • Apache FOP getClassLoader problem

    I have loaded Apache FOP 1.1 into an 11g database, and a driver class to retrieve XML/XSLT and save PDF as CLOBs. When I try to execute this in the DB, I get
    ORA-29532: Java call terminated by uncaught Java exception: javax.xml.transform.TransformerException: java.security.AccessControlException: the Permission (java.lang.RuntimePermission getClassLoader) has not been granted to ProtectionDomain  (null <no signer certificates>)
    com.sun.org.apache.xalan.internal.xsltc.trax.TemplatesImpl$TransletClassLoader@98644313
    <no principals>
    java.security.Permissions@b0558743 (
    (java.lang.RuntimePermission modifyThreadGroup)
    (java.lang.RuntimePermission createSecurityManager)
    (java.lang.RuntimePermission modifyThread)
    (java.lang.RuntimePermission preferences)
    (java.lang.RuntimePermission exitVM)
    (java.util.PropertyPermission user.language write)
    (java.util.PropertyPermission * read)
    (oracle.aurora.security.JServerPermission LoadClassInPackage.*)
    It looks like the SecurityManager is only looking at PUBLIC permissions, even though the FOP classes were loaded into a schema with 'SYS:java.lang.RuntimePermission', 'getClassLoader', ''.
    Any ideas on how to get around this?
    Thanks!

    Dear Brian,
    It looks to me like org.apache.fop.apps.Driver might be doing a
    Class.forName() for the Loggable class. If Class.forName() does not pass a
    specific classloader, the system classpath loader is used; which is why it
    works when you put the classes on the system classpath.
    Best regards,
    Timothy Potter
    Senior Software Engineer
    eCommerce Server Division
    BEA Systems, Inc.
    "Brian Dowd" <[email protected]> wrote in message
    news:3c8c9ba0$[email protected]..
    >
    HI,
    I am deploying a big EAR in WL 6.1 on solaris and I am bundling FOP1.20.3
    within it, I am
    also including avalon 4.0 and logkit 1.0 jars within it as they are neededby
    fop.jar. Whenever I
    try to construct a "Driver()" class I get a NoClassDefFoundError on theorg.apache.framework.logger.Loggable
    interface that it needs. The strange thing is that when I do thefollowing :
    >
    try {
    ClassLoader cl = this.getClass().getClassLoader();
    cl.loadClass("org.apache.avalon.framework.logger.Loggable"); //.........this
    works OK
    // the following .... fails with NoClassDefFoundError on Loggable
    org.apache.fop.apps.Driver d = new org.apache.fop.apps.Driver();
    } catch (Throwable t) {
    cat.error("failed:", t);
    It DOES work when I put the necessary jars on the server startup classpath,
    however it would obviously be
    better to be able to bundle the 3rd party jars within my EAR ....... Iknow this
    seems like it would be a general
    weblogic classloader question - but I have had no problems with any other3rd
    party jars that are similar to
    this one.
    Has anyone else had these kinds of problems ?
    Cheers,
    Brian.

  • Apache FOP configuration with Oracle XE

    Hi,
    I have installed Oracle XE on my laptop and upgraded Apex to 3.2. I am now trying to install Apache FOP for PDF printing. I am following Section 5 of the following document:
    http://www.oracle.com/technology/products/database/application_express/html/configure_printing.html
    Since it is a standalone installation, I followed the directions given here :
    http://download.oracle.com/docs/cd/B32110_01/web.1013/b28950/install.htm#BABIBGCA
    I installed JDK version 6 and also downloaded the OC4J zip file and did as specified.
    Now here is my problem: The next step is this :
    Step 1: Installing the WAR file
    Place the fop.war file (located in apex_install_directory/utlities/fop) in an accessible location on your local machine. You then follow the directions below or can view the process by running this viewlet.
    +1. Navigate to your OC4J Oracle Enterprise Manager Console eg: http://localhost:8888/em/+
    +2. Select the Applications Tab+
    +3. Select Deploy Button+
    +4. On the "Deploy: Select Archive" page use the option "Archive is present on local host. Upload the archive to the server where Application Server Control is running." Use the file browse to select the fop.war file and click "Next" button+
    +5. On the "Deploy: Application Attributes" page set the "Application Name" option to "fop" and clear the "Context Root " option and click "Next" Button+
    +6. On the Deploy: Deployment Settings click the "Deploy" button+
    The problem is, since mine is an XE installation on my laptop, I do not have Oracle Enterprise Manager Console. In this case, how can I deploy the WAR file ?
    Any ideas ?
    Thanks,
    Ashok

    Hi Ashok,
    I have the same problem. have installed 10g xe and upgrated to apex 3.2 on my laptop.
    I dont have the EM to deploy the WAR file.
    Anyway you could share how exactly you deployed the file and made pdf working?
    much appreciated.
    Danny
    Edited by: user10188025 on 14-Aug-2010 03:25

  • Apache fop classloading problem in EAR file

    HI,
    I am deploying a big EAR in WL 6.1 on solaris and I am bundling FOP 1.20.3
    within it, I am
    also including avalon 4.0 and logkit 1.0 jars within it as they are needed by
    fop.jar. Whenever I
    try to construct a "Driver()" class I get a NoClassDefFoundError on the org.apache.framework.logger.Loggable
    interface that it needs. The strange thing is that when I do the following :
    try {
    ClassLoader cl = this.getClass().getClassLoader();
    cl.loadClass("org.apache.avalon.framework.logger.Loggable"); // .........this
    works OK
    // the following .... fails with NoClassDefFoundError on Loggable
    org.apache.fop.apps.Driver d = new org.apache.fop.apps.Driver();
    } catch (Throwable t) {
    cat.error("failed:", t);
    It DOES work when I put the necessary jars on the server startup class path,
    however it would obviously be
    better to be able to bundle the 3rd party jars within my EAR ....... I know this
    seems like it would be a general
    weblogic classloader question - but I have had no problems with any other 3rd
    party jars that are similar to
    this one.
    Has anyone else had these kinds of problems ?
    Cheers,
    Brian.

    Dear Brian,
    It looks to me like org.apache.fop.apps.Driver might be doing a
    Class.forName() for the Loggable class. If Class.forName() does not pass a
    specific classloader, the system classpath loader is used; which is why it
    works when you put the classes on the system classpath.
    Best regards,
    Timothy Potter
    Senior Software Engineer
    eCommerce Server Division
    BEA Systems, Inc.
    "Brian Dowd" <[email protected]> wrote in message
    news:3c8c9ba0$[email protected]..
    >
    HI,
    I am deploying a big EAR in WL 6.1 on solaris and I am bundling FOP1.20.3
    within it, I am
    also including avalon 4.0 and logkit 1.0 jars within it as they are neededby
    fop.jar. Whenever I
    try to construct a "Driver()" class I get a NoClassDefFoundError on theorg.apache.framework.logger.Loggable
    interface that it needs. The strange thing is that when I do thefollowing :
    >
    try {
    ClassLoader cl = this.getClass().getClassLoader();
    cl.loadClass("org.apache.avalon.framework.logger.Loggable"); //.........this
    works OK
    // the following .... fails with NoClassDefFoundError on Loggable
    org.apache.fop.apps.Driver d = new org.apache.fop.apps.Driver();
    } catch (Throwable t) {
    cat.error("failed:", t);
    It DOES work when I put the necessary jars on the server startup classpath,
    however it would obviously be
    better to be able to bundle the 3rd party jars within my EAR ....... Iknow this
    seems like it would be a general
    weblogic classloader question - but I have had no problems with any other3rd
    party jars that are similar to
    this one.
    Has anyone else had these kinds of problems ?
    Cheers,
    Brian.

  • Comboboxes are not set  on the 1st time a row is clicked in the dataTable

    I have somewhat the following setup:
    I have a DataTable that is filled with a listof objects, a actionListener is handeled when a row is clicked.
    Under the Table there are two ComboBoxes (lets call them Category and Item) that get their values from lists of Objects. The values of the list that backs the Item combo depend on the selected value of the Category combo.
    Lets assume the values look like this:
    CategoryA
    ---ItemA1
    ---ItemA2
    CategoryB
    ---ItemB1
    ---ItemB2
    Together with some textboxes, they should represent the values of the clicked row in the Table.
    Now the problem:
    When the comboboxes have a different value than the row that is be&iuml;ng selected the values of the comboboxes and textboxes are not set correctly until the 3rd time the row is clicked.
    It also doesn't go into the onClickMehod in the backing bean before the 3rd click. This is checked by a logger.
    an example:
    before clicking, the category combo is set to "CategoryB", the Item combo is set to "ItemB1" and the textboxes are empty. The row that is going to be clicked has as its category "CategoryA" and as its Item "ItemA1"
    1st click:
    the form still shows the values like they were before clicking, the log doesn't show that the method is triggered
    2nd click:
    the Item combo is set to "ItemA1", the category is still set to "CategoryB", the textBoxes are still empty. The log still doesn't show that the method is triggered
    3rd click:
    the Category combo is set to "CategoryA", the Item combo is set to "ItemA1", the textboxes also have their correct values.
    the code is as followed:
    JSP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
    <%@ taglib prefix="h" uri="http://java.sun.com/jsf/html" %>
    <%@ taglib prefix="f" uri="http://java.sun.com/jsf/core" %>
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head></head>
    <body>
    <f:view>
    <h:form binding="#{backingBean.pageLoad}">
    <h:dataTable binding="#{backingBean.dataTable}" columnClasses="COL1, COL1, COL2, COL2, COL3" value="#{backingBean.myObjects}" var="myObject" width="100%" headerClass="HEADING" rowClasses="ROW1, ROW2" rows="10">
    <h:column>
    <f:facet name="header">
    <h:commandLink actionListener="#{backingBean.sortDataList}" styleClass="rowHeader">
    <f:attribute name="sortField" value="getItemCategory" />
    <h:outputText value="Category"/>
    </h:commandLink>
    </f:facet>
    <h:commandLink shape="rect" styleClass="rowtext" value="#{myObject.item.itemCategory.description}" actionListener="#{backingBean.rowSelect}" />
    </h:column>
    <h:column>
    <f:facet name="header">
    <h:commandLink actionListener="#{backingBean.sortDataList}" styleClass="rowHeader">
    <f:attribute name="sortField" value="getItem" />
    <h:outputText value="Item"/>
    </h:commandLink>
    </f:facet>
    <h:commandLink shape="rect" styleClass="rowtext" value="#{myObject.item.name}" actionListener="#{backingBean.rowSelect}" />
    </h:column>
    <h:column>
    <f:facet name="header">
    <h:commandLink actionListener="#{backingBean.sortDataList}" styleClass="rowHeader">
    <f:attribute name="sortField" value="getDescription" />
    <h:outputText value="Certification"/>
    </h:commandLink>
    </f:facet>
    <h:commandLink shape="rect" styleClass="rowtext" value="#{myObject.description}" actionListener="#{myObject.description}"/>
    </h:column>
    <f:facet name="footer">
    <h:panelGroup style="text-align:right">
    <h:commandButton value="first" action="#{backingBean.pageFirst}" disabled="#{backingBean.dataTable.first == 0}" />
    <h:commandButton value="prev" action="#{backingBean.pagePrevious}" disabled="#{backingBean.dataTable.first == 0}" />
    <h:commandButton value="next" action="#{backingBean.pageNext}" disabled="#{backingBean.dataTable.first + backingBean.dataTable.rows >= backingBean.dataTable.rowCount}" />
    <h:commandButton value="last" action="#{backingBean.pageLast}" disabled="#{backingBean.dataTable.first + backingBean.dataTable.rows >= backingBean.dataTable.rowCount}" />
    <h:commandButton value="Append New" action="#{backingBean.ClearFields}" />
    </h:panelGroup>
    </f:facet>
    </h:dataTable>
    <h:inputHidden value="#{backingBean.sortField}"/>
    <h:inputHidden value="#{backingBean.sortAscending}"/>
    <h:inputHidden value="#{backingBean.myObjectId}"/>
    <br />
    <br />
    <table style="border-collapse: collapse; width:100%" cellpadding="3" border="1">
    <tr>
    <td style="text-align:left; width:20%; background-image:url('images/lbar.gif'); font-family:Arial; font-size:smaller; font-weight:bold" colspan="3">Detail</td>
    </tr>
    <tr>
    <td style="text-align:right; width:20%; background-color:#CCCCCC; font-family:Arial; font-size:smaller; font-weight:bold">Category </td>
    <td style="width:80%; background-color:#CCCCCC;font-weight:bold">
    <h:selectOneMenu value="#{backingBean.selectedCategory}" onchange="submit();" valueChangeListener="#{backingBean.CategoryChange}">
    <f:selectItems value="#{backingBean.selectedCategories}"/>
    </h:selectOneMenu>
    </td>
    </tr>
    <tr>
    <td style="text-align:right; width:20%; background-color:#CCCCCC; font-family:Arial; font-size:smaller; font-weight:bold">Item id </td>
    <td style="width:80%; background-color:#CCCCCC;font-weight:bold">
    <h:selectOneMenu value="#{backingBean.selectedItem}">
    <f:selectItems value="#{backingBean.selectedItems}"/>
    </h:selectOneMenu>
    </td>
    </tr>
    <tr>
    <td style="text-align:right; width:20%; background-color:#CCCCCC; font-family:Arial; font-size:smaller; font-weight:bold">Item Description </td>
    <td style="width:80%; background-color:#CCCCCC;font-weight:bold"> <h:inputTextarea value="#{backingBean.description}" cols="60" rows="5"/></td>
    </tr>
    </table>
    </h:form>
    </f:view>
    </body>
    </html>the backing bean:
    public class BackingBean{
    -- Declaration of properties --
    public void rowSelect(ActionEvent event) {
    // Get selected MyData item to be edited.
    logger.debug("Select row");
    FacesContext context = FacesContext.getCurrentInstance();
    try
    if ((sortField != null) && (myObjects != null)) {
    Collections.sort(myObjects, new DTOComparator(sortField, sortAscending));
    dataTable.saveState(context);
    catch(Exception e){
    logger.error(e.getLocalizedMessage(), e);
    context.addMessage("ERROR", new FacesMessage(e.toString()));}
    logger.debug("Setting fields");
    myObject = (MyObject) dataTable.getRowData();
    description = myObject.getDescription();
    itemCategory = myObject.getItem().getItemCategory();
    item = myObject.getItem();
    docDisabled = !certified;
    selectedCategory = itemCategory.getId();
    myObjectId = myObject.getId();
    logger.debug("Fields set");
    public void sortDataList(ActionEvent event) {
    String sortFieldAttribute = getAttribute(event, "sortField");
    // Get and set sort field and sort order.
    if (sortField != null && sortField.equals(sortFieldAttribute)) {
    sortAscending = !sortAscending;
    } else {
    sortField = sortFieldAttribute;
    sortAscending = true;
    // Sort results.
    if (sortField != null) {
    Collections.sort(myObjects, new DTOComparator(sortField, sortAscending));
    public void CategoryChange(ValueChangeEvent vce){
    try {
    logger.debug("SelectedIndexChange: Category: {}",vce.getNewValue().toString());
    selectedCategory = Integer.parseInt(vce.getNewValue().toString());
    logger.debug("SelectedIndexChange: Category");
    itemCategory = itemCategoryService.retrieveItemCategoryById(selectedCategory);
    logger.debug("Showing Category: {}", itemCategory.getDescription());
    } catch (Exception e) {
    logger.error("Error occured: {}",e.toString());
    FacesContext context = FacesContext.getCurrentInstance();
    context.addMessage("ERROR", new FacesMessage(e.toString()));
    public List<SelectItem> getSelectedItems() {
    selectedItems = new ArrayList<SelectItem>();
    try
    logger.debug("selectedCategory: {}",selectedCategory);
    if (itemCategory!=null)
    logger.debug("Category Object: {}",itemCategory.getId());
    items.clear();
    items.addAll(itemCategoryService.retrieveItemCategoryById(selectedCategory).getItems());
    logger.debug("items recieved: {}",items.size());
    for (int count = 0; count < items.size(); count++) {
    selectedItems.add(new SelectItem(items.get(count).getSeq(),items.get(count).getName()));
    catch (Exception e){
    logger.error("Error occured: {}",e.toString());
    FacesContext context = FacesContext.getCurrentInstance();
    context.addMessage("ERROR", new FacesMessage(e.toString()));
    return selectedItems;
    public List<SelectItem> getSelectedCategories() {
    selectedCategories = new ArrayList<SelectItem>();
    try{
    for (int count = 0; count < itemCategories.size(); count++) {
    if (itemCategories.get(count).getItems().size() != 0)
    selectedCategories.add(new SelectItem(itemCategories.get(count).getId(),itemCategories.get(count).getDescription()));
    if (selectedCategory == 0)
    selectedCategory = itemCategories.get(0).getId();
    catch (Exception e){
    logger.error("Error occured: {}",e.toString());
    FacesContext context = FacesContext.getCurrentInstance();
    context.addMessage("ERROR", new FacesMessage(e.toString()));
    return selectedCategories;
    -- other getters and setters --
    }I've already tried to use the action attribute instead of the actionlistener attribute, also tried to add immediate="true" to all fields and columns.
    Did try to add onclick="submit();" to the rows.
    What can be done to fix it??
    ps: the enviroment is JSF + Spring + Hibernate

    The <h:messages/> tag is where the validation exception is shown, but no validation is used on the form, no other exeptions are sown.
    the List<Categories> is filled at a setPageLoad method which is bound to the form by <h:form binding="#{backingBean.pageLoad}">.
    The List<SelectedItem> of the categories box is filled in its getter and filled with the values of the List<Categories>
    And both the List<SelectedItem> of the items box and the List<Item> are filled in the getter of the List<SelectedItem> of the items box
    so instead of that i should rewrite it to something like this:
    public BackingBean() {
        selectedCategories = new List<SelectedItem>();
        selectedItems = new List<SelectedItem>();
        categories = CategoryService.retrieveCategories(); //gets all categories
        items = ItemService.retrieveItemsByCategory(selectedCategory); //gets the items
        for (int count = 0; count < categories.size(); count++) {
            selectedCategories.add(new SelectItem(categories.get(count).getId(),categories.get(count).getDescription()));
        if (selectedCategory == 0){
            selectedCategory = categories.get(0).getId();
        for (int count = 0; count < items.size(); count++) {
            selectedItems.add(new SelectItem(items.get(count).getId(),items.get(count).getDescription()));
        if (selectedItem == 0){
            selectedItem = items.get(0).getId();
    public void CategoryChange(ValueChangeEvent vce){
            try {
                if (vce.getPhaseId() != PhaseId.INVOKE_APPLICATION) {
                    vce.setPhaseId(PhaseId.INVOKE_APPLICATION);
                    vce.queue();
                } else {
                    FacesContext.getCurrentInstance().renderResponse();
                    selectedCategory = Integer.parseInt(vce.getNewValue().toString());
                    category = CategoryService.retrieveCategoryById(selectedCategory); // gets the category Object
            } catch (Exception e) {
                logger.error("Error occured: {}",e.toString());
                FacesContext context = FacesContext.getCurrentInstance();
                context.addMessage("ERROR", new FacesMessage(e.toString()));
    public List<SelectItem> getSelectedCategories() {
        return selectedCategories;
    public void setSelectedCategories(List<SelectItem> selectedCategories) {
        this.selectedCategories = selectedCategories;
    public List<SelectItem> getSelectedItems() {
        return selectedCategories;
    public void setSelectedItems(List<SelectItem> selectedItems) {
        this.selectedItems = selectedItems;
    }The bean is request scoped.

  • PDF printing by Apache FOP : what are the prerequisites ?

    Hello,
    I'm actually looking for a way to print reports, and I've 2 questions :
    1) If I'm not wrong there are three means : BI Publisher, Apache FOP and an other XSL-FO like Cocoon...
    -> For budgetary reasons, we can't use BI Publisher.
    -> Besides, my company owns the Oracle Standard Edition, so I'm not even sure we can use Apache FOP : in every documentation FOP is deployed in App Server or Enterprise Manager, and we don't have those. OC4J seems installed on our server but it may not work without Application Server...
    -> So is Cocoon the solution ?
    2) We're about installing Apex 4.0. We want to be able to print interactive reports, with aggregations and sums. Does it possible and are there differences between report engines ?
    Thanks a lot !
    Fanny

    Hi Fanny,
    I stand to be corrected, but my understanding regarding OC4J licensing is this.
    OC4J can be downloaded and installed in standalone configuration from OTN under the OTN license, which is fairly restrictive and means that it cannot be used for production or commercial purposes. This applies whether it is installed on the database server or on a separate server. In order to license it you need to buy an OAS or Weblogic license. This is in contrast to Oracle's HTTP server, which can be installed standalone and is included in the database server license provided it is installed on the same server as the database. If the HTTP server is installed on a separate server to the database then it too requires an OAS or Weblogic license.
    My guess for this anomally is that the HTTP server is based on Apache, an open source product and it was originally installed as part of the database up until version 9i. After that it was separated out as a companion product. Where as OC4J is based on a proprietary product called Onion, which Oracle acquired. Commercially going forward, Oracle is pushing Weblogic. If you want a free app server then you can opt for the free version of Glassfish, an Oracle product or Tomcat.
    If you do need a supported environment you can also get Standard One versions of Weblogic and OAS which are considerably cheaper than the Enterprise versions and you can get a supported version of Glasfish for around the same cost.
    You should also note that Oracle BI plus OAS or Weblogic is a complete development and deployment product for business intelligence reporting, whereas Apache FOP and an app server is purely a deployment environment. If you wish to do something more sophisticated than the standard PDF option available in Apex, which is pretty basic, you will need to acquire some sort of XSL-FO production tool. As alluded to previously, Java4less produce a minimally priced one, but there are others in the market place.
    Regards
    Andre

  • PDF PRINTING using Apache FOP and Oracle Containers for J2EE

    Hi,
    I am having major confusion about the pdf printing in Oracle XE and Apex 3.1.2.00.02
    It clearly states that this is an available option on the Oracle website.
    According to Apex there are two options for printing report regions.
    Standard - which is free
    Advanced - which uses BI and requires a licence
    Standard requires me to have Apache FOP (which is provided by Oracle in the Apex release) and Oracle Containers for J2EE (OC4J)
    Where my understanding of all this falls down is the part where I am downloading the Oracle Containers for J2EE and the license agreement states this cannot be used in a production system (only as a protptype). Can anyone clarify this? This is surely a required componenet and for the standard report printing which is supposed to be free.
    My problem is that I need to have a database system on a laptop that will go off site for a number of weeks. We need report printing options.
    Can anyone help with this. im desperate.
    Kind regards
    colin mclay

    no not yet with Application Server.
    I have tried to compare the settings to another installation with a separeted oc4j as described in the howto. But at the moment i found no mistakes.
    If i call the url adresse like:
    http://localhost:18101/fop/apex_fop.jsp
    i get:
    500 Internal Server Error
    Servlet error: java.lang.ClassNotFoundException: fop.apex__fop
    I installed it another time with these settings:
    Web Anwendung= .../fop.war (selected war file from apex install directory)
    Anwendungsname= fop
    URL zuordnen= /fop
    I would like to know if its possible to use the fop.war out of apex install directory with the Application server? In the standalone version (as described in howto) it works. But if you install it there you don't need to define an URL.
    Is the URL /fop correct or what do i have to insert there?

Maybe you are looking for

  • Using Crystal Report Data Connection in Xcelcius 2008

    The documentation does not explain how data to populate row, column and details is passed to SWF. Can some-one please point how CR Data Connection when created in Xcelcius 2008 is used in Crystal Report Design time ? Is it through Flash variables? Ba

  • Content not aligning properly?

    I'm Having trouble getting my content to align properly, it looks right in dreamweaver but when I put it (doesn't matter what internet browser) it is not aligned the same way it is in dreamweaver. The site is www.thecrowdedroom.ca It's pretty obvious

  • Opinions: Content Version System?

    I'm not sure what forum to ask this in. I use InDesign to produce my company collateral for print and web, and lately, my group has begun to run into version issues with the files - meaning that a printed file will be up-to-date and a PDF file that i

  • Why is Airplay so "dumbed down"

    The "it just works" is a great philosophy until things stop working. I have an Ipad2 and Apple TV setup. I can use airplay from the laptop to appleTV but not the Ipad... tried rebooting, shutting down apps etc.. nothing works. The Ipad is on the netw

  • Why does Image Capture not see my scanners?

    I have two multi-function printers - a Canon MF4350d and a HP Officejet J4550 - both connected to my iMac and both printing properly. But when I open Image Capture it does not see either device. How do I get my scanners functional?