Java API support in MHP

What java APIs are supported exactly on the MHP platform? The specs descrive mainly the MHP APIs (havi, dvb, etc), but how about the core java APIs? Are we really restricted to java 1.1? Cause I tried using an ArrayList, which was introduced with java 1.2, and it's running fine in my Alticast STB. Should I ignore this and use a Vector instead?

Ideally, you should use only Java 1.1 with the restrictions described in the MHP specification. Most people do use pJava as you say, but there are a few companies using other implementations.
While using elements from Java 1.2 or later may work, it's not guaranteed that it will be interoperable, and you'll probably run in to problems on some platforms.
Steve.

Similar Messages

  • Java API's supported in the Jdeveloper, IAS, and RDBMS product components

    If there are any technical errors or "mistatement of the facts" in this posting, please let me know about them ..
    This article is being delivered in Draft form and may contain
    errors. Please use the MetaLink "Feedback" button to advise
    Oracle of any issues related to this article.
    PURPOSE
    This article describes the "Enterprise Java Beans" (EJB), "Java Server Pages"
    (JSP) and servlets Application Programming Interfaces (API) supported by the
    Oracle products, Jdeveloper, Internet Application Server (IAS) and the Oracle
    RDBMS release 2 and release 3, also known as Version 8.1.6 and 8.1.7,
    respectively.
    SCOPE & APPLICATION
    All parties interested in the Java API's supported by these products.
    Java API's supported in the Jdeveloper, IAS, and RDBMS product components
    JDEVELOPER
    JDEVELOPER is Oracle's Java development tool designed for coding / development,
    testing / debugging, and deployment of Java Applications to the IAS and
    RDBMS platforms.
    With the java software api's being in a constant state of evolution, each new
    release of Jdeveloper adds support for the "then current" version of the java
    software api's, if it does not already have it implemented.
    JDEVELOPER SERVLET API JSP API EJB API
    VERSION VERSION VERSION VERSION
    3.2.X.X 2.2 1.1 1.1
    3.1.X.X 2.1 1.0 1.0
    NOTE :
    Sun Microsystems and their advisory teams (Oracle is on it) is working on
    "draft" specifications for the next version of all of these API's
    EJB -------> http://java.sun.com/products/ejb/index.html
    JSP -------> http://java.sun.com/products/jsp/index.html
    Servlets --> http://java.sun.com/products/servlet/?frontpage-javaplatform
    It is anticipated that future releases of Jdeveloper will continue to be
    upgraded to include support for the next version of each api.
    To obtain the latest information on Oracle's Internet Development Suite (IDS)
    of tools, please review the "Internet Developer Suite" information located
    on Oracle's technet web site at :
    http://technet.oracle.com/products/index.htm
    IAS
    IAS is Oracle's next evolution of the web server and application server
    product technology superceeding the Web Application Server (WAS) and Oracle
    Application Server (OAS) product lines.
    IAS SERVLET API JSP API EJB API EJE VERSION
    VERSION VERSION VERSION VERSION SUPPORTED
    9I(1.0.2) 2.2 1.1 1.1 817
    8i(1.0.1-NT) 2.0 1.0 1.0 816
    8i(1.0.0-UNIX) 2.0 1.0 1.0 816
    The IAS product contains two Java Virtual Machines (JVM) within it's
    architecture.
    They are called :
    1) APACHE JSERV servlet engine
    2) ORACLE ENTERPRISE JAVA ENGINE (EJE)
    APACHE JSERV servlet engine
    The APACHE JSERV servlet engine is an EXISTING product licensed from the
    apache group which supports the servlet api 2.0.ONLY.
    The APACHE JSERV product does not support ANY JSP's unless the customer
    installs a third party jsp engine.
    The IAS 8i/9i which has the APACHE JSERV product embedded in it, comes with
    Oracle's JSP engine (OJSP) already integrated into it. OJSP supports JSP's up
    to the specific JSP engine version documented in the Oracle Universal
    Installer (OUI) for the 8.1.7 RDBMS or the IAS products. It is also documented
    in the product's release notes.
    Oracle ENTERPRISE JAVA ENGINE (EJE)
    The EJE formerly known as :
    1) Oracle 8i Java Virtual Machine (JVM)
    2) JSERVER component,
    3) Aurora JVM
    was originally releas ed in the RDBMS 8.1.5 database with jdk 1.1.6 based java
    support.
    The currently supported versions of the Oracle 8i RDBMS, versions 2 and 3,
    also known as Version 8.1.6 and 8.1.7, respectively, provides a jdk 1.2.1
    based java virtual machine support.
    "EJE" Version 816
    This EJE, found in rdbms 8.1.6 and IAS 8i, contains support for the ejb
    api 1.0, corba, and java stored procedures.
    "EJE" Version 817
    This EJE, found in rdbms 8.1.7 and IAS 9i, contains support for the ejb,
    corba, and java stored procedures as well as the Oracle Servlet Engine (OSE)
    which provides support for the servlets 2.2 api and JSP 1.1 api.
    Note :
    EJB support in the "EJE" Version 817 has been upgraded to comply with the EJB
    1.1 api specification which includes "entity beans" support.
    What is the bottom line ??
    1) Servlets deployed to the APACHE JSERV must comply with servlet api 2.0.
    2) Servlets 2.1 or higher are only supported in EJE's OSE component found in
    the rdbms 817 or ias 9i products. Servlets api 2.0 can also run in the OSE.
    References
    1) "Oracle9i Application Server Technical White Paper" located at :
    http://technet.oracle.com/products/ias/pdf/9ias_102.pdf
    2) "Whats New? Oracle8i JVM Accelerator, Oracle Servlet Engine, OracleJSP ..."
    located at :
    http://technet.oracle.com/products/oracle8i/pdf/504.pdf
    3) "Oracle8i Release 3 New Features Summary" located at :
    http://technet.oracle.com/products/oracle8i/pdf/8iR3_nfs.pdf
    null

    which jvm is used by jserv ?? EJE or a separate jdk ?
    The Jserv servlet engine is running in a separate jdk JVM external to the EJE jvm which is embedded within the "database" component of ias and the RDBMS.
    See the reference below for more details ...
    if jserv only support old apis, why it is in oracle's products ?
    i would assume that the oracle servlet engine was under development when ias 8i was released and became available in time for the ias 9i and rdbms 817 products.
    looking back in history leads me to believe ias 8i was a migration path to get to ias 9i or rdbms 817.
    Based upon the long history of new releases of every oracle product being upgraded with new features, it's reasonable to assume that these products will continue to evolve.
    when I deploy a jsp how to deploy in the right servlet container ("EJE") ?
    as documented in the reference below, you can deploy JSP's to either the apache jserv jvm or the EJE since the ORACLE JSP engine functionality is in both jvm's.
    there are many posts where you can see that people have deploy in jserv and they have problems because they don't use the right container (servlet 2.0 instead of
    servlet 2.2) http://technet.oracle.com:89/ubb/Forum2/HTML/006349.html
    when ias 8i came out this was clearly an issue since servlet support was at api 2.0, and the current servlet api was probably at 2.1.
    oracle clearly made every effort to get ias 9i released quickly to supply a servlet 2.1 and 2.2 capable engine to resolve this issue.
    since ias 9i and rdbms 8.1.7 are available this is no longer an issue.
    The reference below explains the architecture and understanding it would eliminate a lot of "deploy to the wrong ias 9i component" issues.
    so why jserv is bundled with oracle 8i/9ias since EJE support the right api version ?
    if in ias 9i release , oracle had removed the jserv component without any advance warning, many customers would have been very upset since oracle makes every attempt to give advance notice before removal of functionality.
    References
    1) "Oracle9i Application Server Technical White Paper" located at :
    http://technet.oracle.com/products/ias/pdf/9ias_102.pdf

  • MQSeries 5.2 still support old Java API 1.1.8 ?

    We are using MQseries 5.1 and java 1.1.8. now we are upgrading to MQseries 5.2, do we need java 1.2 or 1.3.
    does the MQSeries 5.2 still support old Java API 1.1.8 ?
    thanks
    Rupinder

    Not according to the documentation which says MQSeries 5.2 has a dependency on JDK1.2.2 or later.
    Having said that, I have managed to get some JMS functions to work under JDK1.1.8.
    I have had a problem when using JMS to GET a message from our mainframe QMgr but not from our Unix QMgr. This runs ok when using JDK1.2.2,
    Regards
    Chris

  • Is there Java API available for third-party integrations with SCCM 2012? I went through the "Developer's Survival Guide", and it seems that SCCM 2012 SDKs only support C# and PowerShell

    Hi All,<o:p></o:p>
    My team and I are developing a software using java that works closely with IT management software such as SCCM. Our software will be highly dependent on data stored in SCCM. Basically
    our software will talk to SCCM to get information about a system managed by SCCM. To be able to do that, our software needs to use a java API that talks to SCCM. Is there a java API for SCCM 2012 that we can use? If there is not, what is the work around to
    this issue (integrate a java project with SCCM SDKs)? Any help is appreciated! Thanks!<o:p></o:p>

    Hi,
    As you mentioned, it seems that there is no available Java API for SCCM .
    Just curious, what's information you want to get from SCCM.
    Based on my experience, you could query the SCCM site database to get almost all the information.
    Otherwise, your question seems to be related to SCCM 2012. You may also choose to post there to get more effictive help.
    We
    are trying to better understand customer views on social support experience, so your participation in this
    interview project would be greatly appreciated if you have time.
    Thanks for helping make community forums a great place.

  • Does the APS Java API v11.1.1 support the Essbase 9.x?

    Hi All,
    I'm currently using the APS java API v11.1.1 for the Essbase 11.x and works well. Now I'll change to Essbase 9.x, and I don't want to change the ess_japi.jar which version is 11.1.1. I want to ask if the api v11.1.1 support the Essbase 9.x?
    Thanks
    Edited by: 932953 on 2012-5-8 下午7:46

    Garden,
    Why don't you want to change the jar files? The way to test this would be to compile your code using the the earlier version jar files. results are a little more predicable than just swapping runtime environments.
    It should work unless you are using a method on the 11.1.1.3 API that doesn't exist on 9.3.1
    Regards,
    Robb Salzmann

  • Java API 1.7 Released - getSite() fix, XSD 1.1 support

    I have released a new version of the iTunesU Web Services API for Java, version 1.7. This release supports version 1.1 of the XSD, including the new UpdateGroup web service method, the ExternalFeed entity type, and the ExternalFeed, GroupType and AllowSubscription attributes for Groups.
    This release includes a fix for the getSite() method, which broke due to a change in the behavior of the URL-based ShowTree method (/API/ShowTree/). It used to return an XML document with a Site element as its root; it now returns an ITunesUResponse.
    The latest jar is available here:
    http://code.google.com/p/itunesu-api-java/downloads/detail?name=itunesu-api-java -1.7.jar
    The latest JavaDocs, including docs for the new ExternalFeed class, can be found here:
    http://itunesu-api-java.googlecode.com/svn/trunk/doc/index.html
    If you are experiencing problems with getSite(), I would like to hear if this release resolves those problems for you, or if you have further issues. I also recommend against using getSite() if you can avoid it, since it downloads the entire site tree into memory. Using getSiteMinimal() followed by getCourse(), getSection(), etc. will be much faster and use much less memory.
    Thanks,
    Dave

    I noticed there were issues with setting permissions. I read the discussion posts on that, but I didn't see any notice of the problem being solved.
    I'm getting an error when I try to set the permission for a course.
    [org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Invalid content starting with element 'Permission'. The content must match '(("":Name){0-1},("":ShortName){0-1},("":Identifier){0-1},("":Instructor){0-1}, ("":Description){0-1},("":Group){0-UNBOUNDED},("":AllowSubscription){0-1},("":Th emeHandle){0-1},("":Permission){0-1})'.]
    edu.asu.itunesu.ITunesUException: [org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Invalid content starting with element 'Permission'. The content must match '(("":Name){0-1},("":ShortName){0-1},("":Identifier){0-1},("":Instructor){0-1}, ("":Description){0-1},("":Group){0-UNBOUNDED},("":AllowSubscription){0-1},("":Th emeHandle){0-1},("":Permission){0-1})'.]
    at edu.asu.itunesu.ITunesUConnection.send(ITunesUConnection.java:1007)
    at edu.asu.itunesu.ITunesUConnection.addCourse(ITunesUConnection.java:560)
    nextCourse.setName(courseTitle);
    nextCourse.setShortName(courseTitle);
    nextCourse.setIdentifier(courseId);
    nextCourse.setPermissions(sectionPermission);
    LinkedList crsTab = new LinkedList();
    Group tab1 = new Group();
    tab1.setName("Tab 1");
    crsTab.addFirst(tab1);
    nextCourse.setGroups(crsTab);
    ITunesUResponse addCrs_resp = ituneConn.addCourse(sectionHandle, courseTemplateHandle, nextCourse);
    successful = addCrs_resp.getAddedObjectHandle();
    I never had this issue before, so I'm wondering what's causing it.
    I'm currently using the 1.7 release of the Java API.

  • Does Java Card 2 API support all the smart card?

    Does Java Card 2 API support all the smart card? I guess all the java cards are smart card but all the smart card are not java card. so Java card 2 API supports only java card. It does not support all the smart card. Please somebody let me know wheather I am correct or not. Because I want to make an application which supports all the smart card. I am confuse wheather I have to use JavaCard API or OCF or any other framework/API. Please help me. Thanks

    I am clear with java card.
    But I want to make an application which can verify the PIN inside card and read logon certificate, which is saved inside card. Is there any framework which I can use to full fill my simple requiremnt. I dont want to deal with any applet inside card.

  • Transaction support for LC Java API?

    Hi everybody,
    I'm using the LC Java API to make some stuff with the LC ES like file converting, create and apply of policies, and reader extending and I will wrap this actions in a single transaction - e.g. if the applying of a policy fails, the document should not be reader enabled or stuff like this.
    I've found some classes in the LiveDoc specification - com.adobe.idp.dsc.transaction.* -, but no examples, how to use it.
    Can somebody help me with a code snippet or tip?
    Thanks & regards
    Angel

    You can only do this at your own logic, because these operations are not atomic .

  • Performance of Java API 2

    Hello,
    we are currently using Java API 2 that comes with MDM 5.5 SP5 (Build 5.5.42.65) to read extended information from the mdm repository.
    Our process:
    We are export every product as a XML file over the MDM Syndicator and enrich this file with extended information from the API (This step is needed because we cannot export all data by the Syndicator, for example multilingual attributes / some product data like textblocks / id's for incremental updates ...).
    Actually the performance is really bad, we need ca. 10-15 secs to process one file, that is really frustrating when you have stored near 70.000 products in your repository.
    Are there some tricks to improve the performance or is the API really so slow? Or any better alternatives for an fast export?
    Thanks for your help ....
    Best Regards,
    Jan

    1 - If you are able to use the EJB connection with the LiveCycle SDK classes (you have are using a supported java version such as 1.5_xx, your network security doesn't prevent RMI calls, etc.) then that is your best bet.
    2 - Yes, you will need the java APIs to be accessible for your application. The LiveCycle APIs have remote EJB endpoints so you can access them from another server.
    3 - There are samples that ship with the LiveCycle server (located in your LCInstall\LiveCycle_ES_SDK\samples\Forms). There are also samples on the LiveDocs page at: http://livedocs.adobe.com/livecycle/8.2/programLC/programmer/help/000064.html

  • MDM Java API (Creation of table)

    Hi,
    can anyone help me for  creation of tables in repository using MDM java API .
    Can u Provide sample code for this.
    Edited by: Srikanth Josyula on Jun 26, 2008 8:52 AM

    Hi Srikanth,
    Check with this code.It may be useful.
    createflattable.java
    Created on June 25, 2008, 5:08 PM
    To change this template, choose Tools | Options and locate the template under
    the Source Creation and Management node. Right-click the template and choose
    Open. You can then make changes to the template in the Source Editor.
    package tabletype;
    import com.sap.mdm.commands.AuthenticateRepositorySessionCommand;
    import com.sap.mdm.commands.CommandException;
    import com.sap.mdm.commands.CreateRepositorySessionCommand;
    import com.sap.mdm.commands.GetRepositoryRegionListCommand;
    import com.sap.mdm.data.MultilingualString;
    import com.sap.mdm.data.RegionProperties;
    import com.sap.mdm.data.RegionalString;
    import com.sap.mdm.net.ConnectionException;
    import com.sap.mdm.net.ConnectionPool;
    import com.sap.mdm.net.ConnectionPoolFactory;
    import com.sap.mdm.schema.TableProperties;
    import com.sap.mdm.schema.commands.CreateTableCommand;
    import com.sap.mdm.schema.commands.GetFieldListCommand;
    import com.sap.mdm.schema.commands.GetTableListCommand;
    import com.sap.*;
    import com.sap.mdm.server.DBMSType;
    import com.sap.mdm.server.RepositoryIdentifier;
    import java.util.Locale;
    public class createflattable {
        /** Creates a new instance of createflattable */
        public createflattable() {
            private static MultilingualString createMultilingualString(RegionProperties[] regionPropertiesList, String baseString)
            MultilingualString mlString = new MultilingualString();
            for (int i = 0; i < regionPropertiesList.length; i++)
                Locale locale = regionPropertiesList<i>.getLocale();
                //Locale locale = regionPropertiesList<i>.getLocale();
                String regionCode = regionPropertiesList<i>.getRegionCode();
                String string = baseString + "_" + locale.getLanguage() + "_" + locale.getCountry();
                RegionalString regionalstring = new RegionalString(string, regionCode);
                mlString.set(regionalstring);
            return mlString;
        private static TableProperties createFlatTable(RegionProperties[] regionPropertiesList)
            //MultilingualString tableName = createMultilingualString(regionPropertiesList, "NewTable" + System.currentTimeMillis());
    MultilingualString tableName = createMultilingualString(regionPropertiesList, "first"+System.currentTimeMillis());
    System.out.println("table is" +tableName);
            TableProperties table = new TableProperties(TableProperties.FLAT);       
            table.setName(tableName);
            table.setCode("NewCode" + System.currentTimeMillis());
            table.setKeyMappable(true);
            table.setDescription("");
            return table;
          public static void main(String[] args) {
                // System Name
         String tag = "";
        ConnectionPool connections = null;
    try {
        connections = ConnectionPoolFactory.getInstance(tag);
    catch (ConnectionException e)
    e.printStackTrace();
    return;
    //////////////// specify the repository to use
    //RepositoryName
    String repositoryName = "";
    //DataBase Name
    String dbmsName = "";
    RepositoryIdentifier  reposId = new RepositoryIdentifier(repositoryName, dbmsName, DBMSType.MS_SQL);
    /////// create a repository session
    CreateRepositorySessionCommand sessionCommand = new CreateRepositorySessionCommand(connections);
    sessionCommand.setRepositoryIdentifier(reposId);
    try {
    sessionCommand.execute();
    catch (CommandException e) {
    e.printStackTrace();
    return;
    System.out.println("Currently connected to "+reposId);
    String sessionId = sessionCommand.getRepositorySession();
    /////////// authenticate the repository session
    String userName = "";
    String userPassword = "";
    AuthenticateRepositorySessionCommand authCommand = new AuthenticateRepositorySessionCommand(connections);
    authCommand.setSession(sessionId);
    authCommand.setUserName(userName);
    authCommand.setUserPassword(userPassword);
    try {
    authCommand.execute();
    catch (CommandException e) {
    e.printStackTrace();
    return;
    //////////////////// retrieve the list of tables
    GetTableListCommand tableListCommand = new GetTableListCommand(connections);
    tableListCommand.setSession(sessionId);
    try {
    tableListCommand.execute();
    catch (CommandException e) {
    e.printStackTrace();
    return;
    // get change stamp
      // this is required when we make any kind of changes to the repository
         int changeStamp = tableListCommand.getChangeStamp();
         //////get repository regionlist
    //A command for retrieving the list of regions supported by the repository.
          // retrieve the available regions (languages) for the repository
          // we need this to set up the table name for each region
      GetRepositoryRegionListCommand gm =  new GetRepositoryRegionListCommand(connections);
       gm.setRepositoryIdentifier(reposId);
            try {
               gm.execute();
            catch (CommandException e) {
                e.printStackTrace();
                return;
       //   RegionProperties[] rs = gm.getRegions();
    RegionProperties[] regionPropertiesList = gm.getRegions();
          TableProperties newtable = createFlatTable(regionPropertiesList);
          CreateTableCommand c = new CreateTableCommand (connections);
            c.setSession(sessionId);
          c.setTable(newtable);
       c.setInChangeStamp(changeStamp);
            try {
                 c.execute();
                System.out.println("sdf");
            catch (CommandException e) {
                e.printStackTrace();
                return;

  • How to add a navigation Panel and Zoom Slider Bar using Java API

    Hello,
    I am using Mapviewer Java bean as I have to use Oracle Mapviewer in Java Stanalone application.Please can anyone tell me how to add a Navigation panel and Zoom Slider in Java API. I found the API s for same in Java Script but not in Java.Kindly help.
    I am using Oracle Mapviewer 11g.

    This is forum sponsored by Adobe make of Acrobat and Reader. Since Chrome and FireFox web browser have chosen to use their own viewer you might get more help in their forums or customer support.

  • Java API for Adobe Flex(AIR and Browser)

    Hello Community,
    Sometime ago i started the project located at: : http://code.google.com/p/gwt4air/ , wich primary goal was to bring another approach on writing AIR application by providing a Java API for the AIR API. On top of that i added support for PDF and Excel generation using Java.
    I m glad to announce that  the project  will now add support for the Flex Framework
    I wrote a post about it on the main page.
    The Idea behind it is to give Java Developers a more simple way to write Flex Application by leaveraing a swing like API.
    I hope this project will be a good alternative to the MXML+ ActionScript approach and looking for people willing to join the project.
    Regards,
    Alain

    Good question, I'd like to know this myself. 4.5 has a huge number of changes since 4.0.

  • Can't display a Tile Layer using JAVA API V2 (based on HTML5)

    Hi Experts,
    I am trying to display a tile layer using JAVA API V2 but i get the below error and nothing shows after that.
    MAPVIEWER-05501: Map tile layer not found. Check map tile layer name and/or data source name.
    Source: OM.layer.Tilelayer.getTileLayerConfig
    *[mvdemo.demo_map]*
    I tried with chrome and firefox browsers which supports HTML5 but same issue. Here is the html code i am using
    <html>
    <head>
    <title></title>
    <meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>
    <script type='text/javascript' src='http://localhost:8282/mapviewer/jslib/v2/oraclemapsv2.js'></script>
    <style type= 'text/css '>body {cursor:default;}</style>
    <script language="JavaScript" type="text/javascript">
    function showMap()
    var baseURL = "http://"+document.location.host+"/mapviewer";
    var mapCenterLon = -122.45;
    var mapCenterLat = 37.6706;
    var mapZoom = 4;
    var mpoint = new OM.geometry.Point(mapCenterLon,mapCenterLat,8307);
    var map = new OM.Map(
    document.getElementById('map'),
    mapviewerURL: baseURL
    var tileLayer = new OM.layer.TileLayer(
    "baseMap",
    dataSource:"mvdemo",
    tileLayer:"demo_map",
    tileServerURL:baseURL+"/mcserver"
    map.addLayer(tileLayer) ;
    navigationPanelBar=new OM.control.NavigationPanelBar();
    map.addMapDecoration(navigationPanelBar);
    map.setMapCenter(mpoint);
    map.setMapZoomLevel(mapZoom) ;
    map.init() ;
    </script>
    </head>
    </html>
    Note: inside the body on load i use DIV Id = Map (i skipped that one line of code because it stops rest of the line from displaying in the thread)
    However, I am successful in using the same tile Layer with JAVA API V1
    Please share your thoughts as what could be the fix
    Thanks
    Nag

    Nag,
    inside the body on load i use DIV Id = Map (i skipped that one line of code because it stops rest of the line from displaying in the thread)please surround your code with [ c o d e ] [ / c o d e ] (without the spaces).
    Secondly: this is probably more appropriate for the {forum:id=727} forum.
    Regards,
    Stefan

  • Urgent - Need an answer - XML Java API

    This is the 3rd time I've posted this question in last week - Oracle Support: How can I get an answer to this?
    This question is about how to free up the memory of XMLDocuments, Parsers, etc using the Java APIs - not the PLSQL wrappers.
    I'm writing an app using the DocumentSplitter class (from Steve M.'s book) that allows for the SAX parsing of large XML documents. But this question is really about the Oracle Java XML API.
    Is there a way to free the memory of each of the "temporary" XMLDocuments that get created? I know there's a XMLNodeCover.freeDocument(int id)
    method in the xmlplsql.jar- where do you get the id from? I'm trying XMLNodeCover.getDocumentId(curDoc) - but that doesn't seem to work.
    And can I use that same method for each Node and Element that gets created also?
    Also, would like to free the memory for the XSL processor, SAXParser, and XSLStylesheet - but this is even less obvious (although not as critical).
    I'm actually getting out-of-memory errors even sooner when using the SAX parser then when using the DOM parser, and I think its due to this issue.
    I know that there are PL/SQL wrappers for all these, but I'm trying to use the DocumentSplitter and associated custom classes
    in only Java stored procs, and then writing a single XSLT.transform wrapper. This way its largely invisible to the PLSQL layer.
    Thanks

    Hi - thanks for your response.
    Actually, yes, I did change the split method to return a CLOB. The big picture is I'm trying to use the DocumentSplitter
    class to assist in the transformation of large XML documents to html or tab-delimited output. Using the standard DOM parser,
    I eventually get an out-of-memory situation. So now I'm trying the DocumentSplitter to do a "mini" XSL transform on each <ROW>.
    The good news is it works for small to medium size reports. But its slower and runs out of memory quicker.
    Below is some of the relevant code. I also wrote associated classes to wrap the DocumentSplitter and to be the 'handler' that transfoms the XML when a <ROW> is found, and returns a string (see 'endElement' method below).
    I'm freeing the CLOBS in PLSQL after reading them - do I need to free them from JVM memory seprately? If so, how can I do that if I need to pass them to PLSQL?
    Thanks much,
    Eric
    // Split a large XML document into N subdocuments, each one identified
    // by the an opening 'splitElement' element. Invoke an XMLDocumentHandler
    // to process each subdocument encountered.
    public CLOB split(String splitElement, CLOB inputCLOB, CLOB outputCLOB)
    throws Exception, SAXParseException,SAXException,IOException, SQLException {
    this.inputCLOB = inputCLOB;
    this.outputCLOB = outputCLOB;
    this.splitOnElement = splitElement;
    // Create a new SAXParser
    SAXParser parser = new SAXParser();
    // Register the current instance of this class as the Document Handler
    parser.setDocumentHandler(this);
    // Create ascii stream from CLOB source
    InputStream inputStream = inputCLOB.getAsciiStream();
    // Start parsing the stream of XML
    parser.parse(inputStream);
    Writer out = this.outputCLOB.getCharacterOutputStream();
    // Set buffer to be the optimal size
    int chunk = outputCLOB.getChunkSize();
    char[] buffer = new char[chunk];
    // Create a reader from the output string
    StringReader reader = new StringReader(this.outputString);
    int length = -1;
    // Now write from output string to output CLOB
    while ((length = reader.read(buffer)) != -1) {
    out.write(buffer, 0, length);
    // Close streams
    reader.close();
    out.close();
    inputStream.close();
    return outputCLOB;
    portion of endElement method:
    // Handle the </Element> "end-element" parsing event
    public void endElement(String name) throws SAXException {
    // If we're NOT building a subdocument, we don't care. Just return.
    if (curDoc == null) return;
    // If this is the endElement event for the subdocument splitElement
    // then we're done with the subdocument and are ready to call the
    // handler to handle it.
    if (name.equals(splitOnElement)) {
    if (curDoc != null) {
    try {
    // Call the XMLDocumentHandler.handle() method for current subdoc
    //Append the output to the growing output string
    if (this.outputString == null) {
    this.outputString = handler.handleDocument(curDoc);
    } else {
    this.outputString = this.outputString + handler.handleDocument(curDoc);
    catch (Exception e) {
    System.out.println(e.getMessage());
    e.printStackTrace();
    }

  • PRC Collab Java API - external op job?

    I am looking into using the PRC Collab Java API (to add calendar tasks programmatically) and want to know if that could be called as an external operation. It would probably be possible if the latest version edk.jar with the Collaboration API was on the Automation Portal Server. We have Automation Portal 5.0.4 installed and it comes with an older version of the EDK.jar.
    Any comments and recommendations on on the best method way to accomplish what I am trying to do, would be appreciated.
    Thanks.
    Vanita

    Collaboration Server API support is added to the EDK since v 5.1.  It provides support for Collab Project, documents, tasks and disucssions.  You can use methods in com.plumtree.remote.prc.collaboration.tasklist.ITaskListManager and ITaskList to create tasklists and tasks.  However, if you want to manage Collab Calendar events, you cannot use PRC Collab API, since there is currently no Calendar support in the API.

Maybe you are looking for