Generate java objects from one single XML file

Hi,
I want to create an XML file that describes a set of "messages" (see XML below).
I want to generate the objects "Message" with simple getters and setters for each <message> entry.
And a little bit more complicated, I need to generate an object "Action" that will parse an incoming message based on the fields and rules described in the XML.
XML file:
*<messages>*
*<message>*
*<name>PrivateMessage</name>*
*<fields>*
*<receiver maxlength="32" minlength="4"/>*
*<sender maxlength="32" minlength="4"/>*
*<content minlength="1"/>*
*</fields>*
*</message>*
*<message>*
*<name>MessageToAll</name>*
Message object:
Example:
public class MessagePrivateMessage extends Message {
     private String sender;
     private String receiver;
     private String message;
     /* all the getters and setters for the fields above */
Action object:
The Action will parse an incoming message based on the rules in the XML above, and create the Message object; e.g. :
<sender maxlength="32" minlength="4"/>
will result to
String sender = getNextField(fields);
if (sender == null || sender.trim().equals("")) {
     throw new InvalidMessageException("Sender username null");
if (sender.length() > 32 || sender.length() < 4) {
     throw new InvalidMessageException("Sender username exceeds 32 characters: " + sender);
Example:
public class ActionPrivateMessage extends ActionReceiveClient<MessagePrivateMessage> {
     public ActionPrivateMessage() {
     public void execute(LinkedList<String> fields, EndpointServer server, int idMessage, Object stream, Date dateRead)
               throws InvalidMessageException {
          MessagePrivateMessage dtoMessage = new MessagePrivateMessage();
          dtoMessage.setDateServerRead(dateRead);
          dtoMessage.setId(idMessage);
          dtoMessage.setStream(stream);
          parseMessage(fields, dtoMessage);
          dtoMessage.setDateServerParsed(new Date());
          server.sendPrivateMessage(dtoMessage);
     public void parseMessage(LinkedList<String> fields, MessagePrivateMessage dto)
               throws InvalidMessageException {
          super.parseMessage(fields, dto);
          String sender = getNextField(fields);
          if (sender == null || sender.trim().equals("")) {
               throw new InvalidMessageException("Sender username null");
          if (sender.length() > 32 || sender.length() < 4) {
               throw new InvalidMessageException("Sender username exceeds 32 characters: " + sender);
          String receiver = getNextField(fields);
          if (receiver == null || receiver.trim().equals("")) {
               throw new InvalidMessageException("Receiver username null");
          if (receiver.length() > 32 || receiver.length() < 4) {
               throw new InvalidMessageException("Receiver username exceeds 32 characters: " + receiver);
          String message = getNextField(fields);
          if (message == null || message.trim().equals("")) {
               throw new InvalidMessageException("Message null");
          if (message.length() < 1) {
               throw new InvalidMessageException("Message exceeds 200 characters: " + message);
          if (!fields.isEmpty()) {
               String remainingFields = "";
               while (!fields.isEmpty()) {
                    remainingFields += fields.remove(0) + " ";
               throw new InvalidMessageException("Fields remaining but everything has been parsed: " + remainingFields);
          dto.setSender(sender);
          dto.setReceiver(receiver);
          dto.setMessage(message);
First question, is it possible ?
Second one would be, how ? Any tips ?
Thank you for any help :)

matthew_be wrote:
First question, is it possible ?Sure, why not.
Second one would be, how ?Well, I think the standard way is to write the required code.
If you really can't come up with a way, then you probably shouldn't be trying to implement such a thing.
Any tips ?Before I would start writing my own framework for something like that, I'd take a look at all the existing Java/XML technologies out there (of which there are a bunch). Either an existing framework will solve your problem or it will prove to be helpful in your own implementation.

Similar Messages

  • How to generate Java objects from XML files with out  scema compilation

    Dear participants,
    My name is Raghavendra , i have a requirement of reading XML files Dynamically and parse them and create java types for manipulation . i will not be provided with sxd files (no schema compilation )coz no one knows how many types of structures are there. i want a generic solution. Please Help.
    Thanks ,
    Raghavendra Ach
    you can mail me to " [email protected]"

    georgemc wrote:
    You could also look at something like Apache Digester, which will parse your XML and populate Java objects with the data. A slightly steeper learning curve than the lower-level APIs such as JDOM, but that's outweighed by the lesser development effortdon't think that would work for the original problem, which seemed to indicate that the xml had an unknown structure.

  • Which method to use to separate out invoices from one large xml file

    I will generate one massive invoice file , say , containgoin aout 200 invoices.
    However, I would like them to be produced as separate .pdf files instead of a singular pdf
    Th eintention is to take each pdf and email it out to customers.
    Is there another approach?

    Thank you Dominic,
    I found the chapter on bursting in another User Guide .
    But since I have not worked with java ( classes), I am not sure where to place the separate code units.
    From user guide I understand that the following need to be done:-
    1. Write up a control file
    2. Write up another little class , which will use DocumenTProcessor class and registerListener method.
    example
    public BurstingTest()
    try
    DocumentProcessor dp = new DocumentProcessor
    ("\burst\burstCtrl.xml", "\\burst\\empData.xml","\\burst");
    dp.registerListener(this);
    dp.process();
    catch (Exception e)
    { System.out.println(e);
    Where should this new code be placed on the server ? Will it be JAVA_TOP ?
    Will the bursting be a stand-alone process , called from the server ? And how to call it ?

  • XQuery query over just one single xml file returns data but query over lots of XML didn't return any data.

    Hello,
    Please, help me.
    I am depending on this query working fine to complete a academic task.
    On the Oracle xml database Express version 11.2.0.2.0 I used data from wikipedia to populate my table of XML files and W3C use case as a query model (XQuery and XPath Full Text 1.0 Use Cases).
    I have a table with 26.416 split xml files into some xml columns, it is about 512 MB.
    CREATE TABLE tb_wikipedia_inex (DOC VARCHAR(30) NOT NULL,
                                    XML XMLTYPE,
                                    PRIMARY KEY (DOC)
    I want to perform a query (full text) on all those files but when I execute a xquery it retuns nothing or warnings. Unfortunatelly I understand nothing from trace file.
    SQLPLUS:
    XQUERY  fn:collection("oradb:/HR/TB_INEX2009")//article//language  [ora:contains(., "java") > 0]
    TRACE FILE:
    System altered.
    Elapsed: 00:00:42.08
    Session altered.
    Elapsed: 00:00:00.00
    PL/SQL procedure successfully completed.
    Elapsed: 00:00:00.00
    Elapsed: 00:00:00.05
    Execution Plan
    Plan hash value: 1500681423                                                                      
    | Id  | Operation                           | Name                   | Rows  | Bytes | Cost (%CPU)|
    Time     |                                                                                       
    |   0 | SELECT STATEMENT                    |                        |  8168 | 16336 |    29   (0)|
    00:00:01 |                                                                                       
    |   1 |  COLLECTION ITERATOR XMLSEQ FETCH   | XMLSEQUENCEFROMXMLTYPE |  8168 | 16336 |    29   (0)|
    00:00:01 |                                                                                       
    |   2 |   SORT AGGREGATE                    |                        |     1 |     2 |            |
             |                                                                                       
    |*  3 |    COLLECTION ITERATOR PICKLER FETCH| XMLSEQUENCEFROMXMLTYPE |   408 |   816 |    66  (57)|
    00:00:01 |                                                                                       
    Predicate Information (identified by operation id):                                              
       3 - filter(SYS_XMLCONTAINS(SYS_XQ_UPKXML2SQL(SYS_XQEXVAL(SYS_XQEXTRACT(SYS_XQCON2SEQ(VALUE(KOKBF$
                  ,'/language/text()'),1,50),50,1,0),'java')>0)                                      
    Note                                                                                             
       - Unoptimized XML construct detected (enable XMLOptimizationCheck for more information)       
    PL/SQL procedure successfully completed.
    Elapsed: 00:00:00.00
    How can I execute xquery over a bunch of xml files to obtain xml data?
    Regards,
    Daiane

    Hello,
    I was trying to find what is the problem, but without success.
    The most simple test don't work.
    So, I created a new table with few xml files to reproduce the query.
    Below are my scripts:
    XML COLUMN  SQLPLUS
    CREATE TABLE HR.tb_xml (DOC VARCHAR(30) NOT NULL,
                                               XML XMLTYPE,PRIMARY KEY (DOC))
    CREATE INDEX HR.Ixml_tb_xml ON HR.tb_xml (XML)  INDEXTYPE IS XDB.XMLINDEX  PARAMETERS ('PATHS (INCLUDE(//article
                                                                                                                       //article/physical_entity/communicator/person/compiler/causal_agent/language))')
    CREATE INDEX Itxt_tb_xml1  ON HR.tb_xml (XML)  INDEXTYPE IS CTXSYS.CONTEXT;
    Shell:
    nohup sqlldr daiane/daiane DIRECT=false PARALLEL=false control = load_xml.ctl;
    XML TABLE SQLPLUS:
    create table livros of XMLTYPE;
    Shell:
    nohup sqlldr daiane/daiane DIRECT=false PARALLEL=false control = load_xmltb.ctl;
    XML Files:
    https://www.dropbox.com/sh/sn26jq6fjoi4635/0wjJI6tT4h
    Queries:
    for XQUERY  fn:collection("oradb:/HR/TB_XML")//article/physical_entity/communicator/person/compiler/causal_agent/language/writer/header/categories/category [ora:contains(., "PHP") > 0]
    XQUERY  fn:collection("oradb:/HR/TB_XML")//article/physical_entity/communicator/person/compiler/causal_agent/language/writer/header/title [ora:contains(text(), "PHP") > 0]
    for XQUERY  fn:collection("oradb:/HR/LIVROS")//article/physical_entity/communicator/person/compiler/causal_agent/language/writer/header/categories/category [ora:contains(., "PHP") > 0]
    XQUERY  fn:collection("oradb:/HR/LIVROS")//article/physical_entity/communicator/person/compiler/causal_agent/language/writer/header/title [ora:contains(text(), "PHP") > 0]
    What is wrong with these queries?
    Regards,
    Daiane

  • Generating multiple target xmls from one source xml using xslt mappings

    Hi,
    I need to create more than one xml file from one source xml file using xslt mappings in file to file scenario.
    Can you please let me know how this can be achieved.
    Thanks,
    Rajesh

    Rajesh,
    If you must use the XSL Transformation then you can find a nice simple example here.  It's based on the Xalan XSLT Processor which to my knowledge is incorporated in PI7.1.  I've not actually tried this but it makes for an interesting mapping case so please let us know the results: 
    [XSLT Split for multiple XML file output|http://abbeyworkshop.com/howto/xslt/xslt_split/index.html]
    The XSL file will require a namespace addition:
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:redirect="http://xml.apache.org/xalan/redirect" extension-element-prefixes="redirect" version="1.0">
    The redirect prefix is used for the write tags in the XSL file.
    The details cover the transformation of the source file:
    1:<student_list>
       2:    <student id="1">
       3:        <name>George Washington</name>
       4:        <major>Politics</major>
       5:        <phone>312-123-4567</phone>
       6:        <email>gw_at_example.edu</email>
       7:    </student>
       8:    <student id="2">
       9:        <name>Janet Jones</name>
      10:        <major>Undeclared</major>
      11:        <phone>311-122-2233</phone>
      12:        <email>janetj_at_example.edu</email>
      13:    </student>
      14:    <student id="3">
      15:        <name>Joe Taylor</name>
      16:        <major>Engineering</major>
      17:        <phone>211-111-2333</phone>
      18:        <email>joe_at_example.edu</email>
      19:    </student>
      20:</student_list>
    Using this transformation:
    2:<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    3:    xmlns:redirect="http://xml.apache.org/xalan/redirect"
    4:    extension-element-prefixes="redirect"
    5:    version="1.0"
    6:>
    7:<xsl:output method="xml"/>
    8:
    9:<xsl:template match="/">
    10:    <xsl:apply-templates />
    11:</xsl:template>
    12:
    13:<xsl:template match="student_list">
    14:    <xsl:apply-templates />
    15:</xsl:template>
    16:
    17:<xsl:template match="student">
    18:    <xsl:variable name="filename" select="concat(@id,'.xml')" />
    19:    <redirect:write select="$filename">
    20:        <student id="{@id}">
    21:            <xsl:apply-templates />
    22:        </student>
    23:    </redirect:write>
    24:</xsl:template>
    25:
    26:<xsl:template match="name | major | phone | email">
    27:    <xsl:copy-of select="." />
    28:</xsl:template>
    29:
    30:</xsl:stylesheet>

  • Errors generating Java classes from XML schema

    I received the following errors when generating Java classes from the schema located at: http://imsproject.org/xsd/ims_qti_rootv1p1.xsd and http://imsproject.org/xsd/ims_xml.xsd
    XML Spy v4 claims that the schema is well-formed and valid. Could this be a problem with the class generators, or is XML Spy not telling the truth?
    Thanks.
    D:\IMS_QTI\Java>java -classpath .;lib/xmlparserv2.jar;lib/xschema.jar;lib/classgen.jar oracle.xml.classgen.oracg -schema ims_qti_rootv1p1.xs
    d -outputDir src\com\icld\qti -package com.icld.qti -comment
    file:/D:/IMS_QTI/Java/ims_qti_rootv1p1.xsd<Line 235, Column 21>: XSD-2209: (Error) Duplicated definition for: 'attr.view'
    file:/D:/IMS_QTI/Java/ims_qti_rootv1p1.xsd<Line 303, Column 21>: XSD-2209: (Error) Duplicated definition for: 'grp.labels'
    file:/D:/IMS_QTI/Java/ims_qti_rootv1p1.xsd<Line 1834, Column -12236>: XSD-2209: (Error) Duplicated definition for: 'qtimetadatafield'
    file:/D:/IMS_QTI/Java/ims_qti_rootv1p1.xsd<Line 1834, Column -9642>: XSD-2209: (Error) Duplicated definition for: 'typeofsolutionType'
    file:/D:/IMS_QTI/Java/ims_qti_rootv1p1.xsd<Line 2252, Column -3019>: XSD-2026: (Error) Invalid attribute 'use' in element 'attribute'
    Error: Schema Class Generator failed to generate classes. oracle.xml.parser.schema.XSDException: Duplicated definition for: 'attr.view'

    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Jinyu Wang ([email protected]):
    Which version are you using? I can't reproduce the error with 9.0.2B version.<HR></BLOCKQUOTE>
    Thanks for having a look at the problem. I am using the 9.0.2.0B version with Java 2 Standard Edition Build 1.3.1-b24. The classgen -version option returns 9.0.2.0b-beta - and xmlparserv2.jar and xschema.jar are from the same distribution. Running the corresponding DTD from the same source work fine - I'm just havinf this problem with the XSD. Anything else I should look at?

  • Error when generating java classes from object types

    Hi,
    I'm using JDeveloper version 10.1.3.0.2
    I created an object type in the database, the definition is:
    TYPE domain_cls IS OBJECT (
    domain_idx           NUMBER(3)
    ) NOT INSTANTIABLE NOT FINAL
    I tried to create a java class for this object using JDeveloper, by using generate java menu item.
    I got the following error:
    oracle.jpub.JPubException: Warning: Cannot determine what kind of type is OBJMOI. DOMAIN_CLS. The following error occurred: ORA-06550: line 1, column 13:
    PLS-00103: Encountered the symbol "SYS" when expecting one of the following:
    := . ( @ % ;
    The symbol ":=" was substituted for "SYS" to continue.
    at oracle.jpub.sqlrefl.SqlReflector.addSqlType(SqlReflector.java:519)
    at oracle.jpub.sqlrefl.SqlReflector.addSqlUserType(SqlReflector.java:707)
    at oracle.jpub.publish.Publisher.addTypeOrPackage(Publisher.java:209)
    at oracle.jpub.publish.IntypeParser.TypeDeclaration(IntypeParser.java:238)
    at oracle.jpub.publish.IntypeParser.CompilationUnit(IntypeParser.java:75)
    at oracle.jpub.Doit.main(Doit.java:257)
    at oracle.jpub.Doit.main(Doit.java:102)
    at oracle.jdevimpl.cm.dt.jpub.JPubModel.publish(JPubModel.java:1047)
    at oracle.jdevimpl.wizard.jpub.JPubPanel.publish(JPubPanel.java:516)
    at oracle.jdevimpl.cm.dt.jpub.JPubAddin._doJPub(JPubAddin.java:174)
    at oracle.jdevimpl.cm.dt.jpub.JPubAddin.handleEvent(JPubAddin.java:81)
    at oracle.ide.IdeAction.performAction(IdeAction.java:661)
    at oracle.ide.IdeAction$2.run(IdeAction.java:889)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:454)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
    any body can hlep in that please

    I would recommend using JAXB instead of the Oracle class generator. This will give a standards based object-to-XML platform.
    Oracle provides two JAXB implementations: one in the TopLink product, and the other in the XDK.
    For an example of using TopLink JAXB see:
    http://www.oracle.com/technology/products/ias/toplink/technical/tips/jaxb/index.htm
    TopLink also provides the ability to map existing Java objects to an existing XML Schema, for an example of this see:
    http://www.oracle.com/technology/products/ias/toplink/technical/tips/ox/index.htm
    -Blaise

  • Pass a object from one jar to another jar file

    I have a common jar file which will communicate to the server for data validation purpose.But after validation it has to invoke different different jar file based on its response from the server.So, I might have a object which has to pass from the common jar file to a specific jar file.So, I like to know what will be the best procedure to achieve it.
    Please help me out.

    arpitak wrote:
    Yes,jar file holds class files.one of class files wants to trigger a method of a class file which resides in different jar file.this is the situation I tried to describe.Let consider there are three jar files like JAR A,JAR B ,JAR C.Here JAR A is a common jar where other two jar could be used as a plug in. So based on the condition any one of them (JARS) will be triggered by the common jar(JAR A).this is the situation.The class file of JAR A will trigger some method or main method of the JAR B/JAR C.So,here how could I pass a object from one jar to another is my main question.
    Is it clear now?
    I need a solution for this very urgently.Are you looking for a plug-in framework? That is, dynamically discovering and loading plugins. I am not experienced in developing or using plugins. However Googling "java plugin" brings up JPF.
    If you just have multiple jars that have different classes, the JVM will load the appropriate classes if it can find the jars through the standard classloader on the classpath or through a customer classloader.

  • I have to print two labels using single XML file.Error:Only one top level e

    Hi,
    I have to print two labels using single XML file. But its giving error:
    [Error] Error -1072896683 - Line: 38 Pos: 2 Error: Only one top level element is allowed in an XML document.
    Below is my XMl file:
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE labels SYSTEM "label.dtd">
    <labels FORMAT="lib://FRD/PurchasedDoor.btw"  PRINTERNAME="IBM 6700-R80 (300 dpi)" _QUANTITY="1">
    <label>
    <variable name= "Color">AUTUMN</variable>
    <variable name= "Special_Message_Attribute">MSG*</variable>
    <variable name= "Special_Message">This is special Message Label</variable>
    <variable name= "Model"></variable>
    <variable name= "Build_Date">09-APR-12</variable>
    <variable name= "Assy_Cart"></variable>
    <variable name= "Assy_Slot"></variable>
    <variable name= "Finish_Cart"></variable>
    <variable name= "Finish_Slot"></variable>
    <variable name= "Serial_Number">1945.1.1.2-1</variable>
    <variable name= "Serial_Number_Barcode">1945.1.1.2-1</variable>
    <variable name= "Specie">BIRCH</variable>
    <variable name= "Truck_Group"></variable>
    <variable name= "Label_Sequence_No">1</variable>
    <variable name= "WIP_Cart"></variable>
    <variable name= "WIP_Slot"></variable>
    <variable name= "Cabinet_Sequence_No">110</variable>
    <variable name= "JC"></variable>
    <variable name= "Thickness"> </variable>
    <variable name= "Width"> </variable>
    <variable name= "Length"> </variable>
    <variable name= "Overlay"></variable>
    <variable name= "Options">B30</variable>
    <variable name= "Profile_No"></variable>
    <variable name= "Door_Style">NEWBERRY</variable>
    <variable name= "Glaze"></variable>
    <variable name= "Shape"></variable>
    <variable name= "Glass"></variable>
    <variable name= "Hinge_Side"></variable>
    <variable name= "Hinge_Type"></variable>
    <variable name= "EGE"></variable>
    </label>
    <labels FORMAT="lib://FRD/SpecialMessage.btw"  PRINTERNAME="IBM 6700-R80 (300 dpi)" _QUANTITY="1">
    <label>
    <variable name= "Serial_Number">1945.1.1.2-1</variable>
    <variable name= "Special_Message">This is special Message Label</variable>
    <variable name= "Cabinet_Sequence_No">110</variable>
    </label>
    </labels>
    Please suggest.

    >
    XML can only have one root element per file.
    >
    from XML Document: The Root Element

  • How to retrieve elements from 3 different xml file in one url

    Hi all,
    Could anyone please let me how can we retrieve elements from 3 different xml file in one url?
    i just can only do it with one file only, any help would very appreciate.
    Thank in advance
    Jim

    Hi Philip
    Thanks for replying me.
    I tried on that way, In my mdx query i am using one slice attribute (i.e [Customer].[Gender].allmembers) in rows so getting error "The  Hierarchy already appears in Axis1".
    SELECT
    {[Measures].[Internet Sales Amount] } ON 0,
    NON EMPTY
    {[Customer].[Gender].allmembers } ON 1 -- Used
    FROM
    [Adventure Works]
    WHERE
    [Customer].[Gender].&[M]
    ,[Product].[Size Range].[(All)]
    ,[Customer].[Country].[All Customers]
    [Customer].[Gender].[All Customers]
    ,[Product].[Size Range].&[XL]
    ,[Customer].[Country].[All Customers]
    [Customer].[Gender].[All Customers]
    ,[Product].[Size Range].[(All)]
    ,[Customer].[Country].&[Australia]
    Can you provide alternate ways to get resolved.
    Thanks in advance

  • Multiple records of table from RFC to XI in single XML file

    Hi
    My Scenario is as following -->
    <b>RFC ---> Sender RFC Adapter ---> XI -
    > Rec SOAP adapter ---> Web Service</b>
    Now we need multiple records from RFC which can be put in single XML file & XI can transport the whole XML file to Web Service. All the configuration in XI, Web Service is complete & I tested my mapping which is able to accept multiple records.
    But when ABAPer is sending the records I am not getting it in XI, I checked that in message payload from RFC.
    He put the table name in TABLE tab of RFC. But not under Import Tab, as whatever he is providing under Import parameter & exporting it through report I am getting in message payload but not the table data.
    Did anyone try such scenario, can you tell me how can we achieve this.
    Pls. provide me your mail ID in case you need an attachment of the current RFC & report code & my mapping snapshot.
    Regards
    - lalit -

    Hi
    We have created the BAPI in which we are just describing the structure of the payload & which I am importing in Integration Repository.
    And we are calling this BAPI from another program using " Call function ... " command & also provinding the data in that program.
    Actually ethically ABAPers are against the idea of provinding the data into program they would like to provide it in BAPI but that won't work, you have to provide data in program which in turn populate the fields of BAPI.
    Let me know with your mail ID in case you need snapshot of function & programs.
    Regards
    - Lalit -

  • 2 TopLink Java Object from Table to be used in single selectOneChoice

    Hello everyone, can I ask for help on how to solve my problem....
    Here's my scenario, I have 2 tables namely tblCollege and tblCourse, they are related through tblCourse.CollegeCode = tblCollege.Code.
    I use the jdeveloper wizard using TopLink -> Java Object from Table to add these table to my project. I created an EJB Data Control so that I can use them to my Userinterface using ADF Faces.
    What I really want to do is that I need to have selectOneChoice component displaying:
    tblCollege.Name + tblCourse.Name, and it should have a value of tblCollege.Code + tblCourse.Code,
    so for example in my
    tblCollege:
    Code---------Name
    1---------------Science
    2---------------Music
    tblCourse
    Code-------Name-----------CollegeCode
    1-------------Biology----------1
    2-------------Computer-------1
    3-------------Guitar------------2
    what I want in my selectOneChoice is like this:
    value----------display
    1-1--------------Science-Biology
    1-2--------------Science-Computer
    2-3--------------Music-Guitar
    I'm a little stuck on how I'm going to that. Thanks.

    Bawasi,
    I see a couple of angles of attack, but this really depends on the technologies involved. If you are using ADF Bindings in combination with ADF Faces then you need to shape the data at the entity level. If ADF Bindings are no the in equation, you can take a less aggressive approach and shape the data in a managed bean. What is not clear to me is the end-to-end use-case. I see the read-only (i.e. how to get data to the drop box), but I am
    not certain what attribute on an entity you are attempting to set. Are you trying to set the course for the current user or for a master schedule? Finally, notice that the final shape of your data set shows a unique combinations, you could increase the performance of your use-case and ease of development simply by denormalizing your schema.
    --RiC                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Two objects from one table

    My current setup is two tables and two objects with a one to one relationship between them, Object and ObjectMD (metadata).
    Not sure why my predecessors set it up like this but...that's how it is.
    The problem is that my Object table (and thus ObjectMD also) has reached 40 million rows and large joins between Object and ObjectMD are taking forever and are completely unnecessary.
    I want to import the ObjectMD data into the Object table and go forward with a single table. The problem is that the ObjectMD table has it's own java surrounding it and that code is used in way too many places to weed it out. I need to leave the Java object structure in place.
    I think I should be able to create both these objects from a single table, but I can not figure out the descriptor. My set method needs to be getMetaData().setMethod, but of course TL's reflection doesn't like this. I suppose I could create new methods in Object to get/set all these fields and just forward them to the real methods.
    How can I define descriptors to create two objects from a single table?

    What I decided on for my last problem was to use a method to setBar, and inside that method, set the Foo of the Bar.
    Here are my files for future reference:
    --------------------------------------Foo.java-------------------------------------
    public class Foo {
         public int id;
         public String first;
         public Bar bar;
         public void setBar(Bar newBar){
              if(newBar != null){
                   newBar.foo = this;
              this.bar = newBar;
    --------------------------------------Bar.java-------------------------------------
    public class Bar {
         public Foo foo;
         public String second;
    --------------------------------------Descriptors.java-------------------------------------
    public class Descriptors {
         public static void addDescriptors(Project project) {
    project.addDescriptor(Descriptors.buildFooDescriptor());
    project.addDescriptor(Descriptors.buildBarDescriptor());
    private static Descriptor buildFooDescriptor() {
    Descriptor descriptor = new Descriptor();
    //     basic information
    descriptor.setJavaClass(Foo.class);
    descriptor.addTableName("FOO");
    descriptor.setPrimaryKeyFieldName("ID");
    //     mappings
    DirectToFieldMapping directToFieldMapping;
    AggregateObjectMapping aggregateObjectMapping;
    //     id mapping
    directToFieldMapping = new DirectToFieldMapping();
    directToFieldMapping.setAttributeName("id");
    directToFieldMapping.setFieldName("ID");
    descriptor.addMapping(directToFieldMapping);
    //     first mapping
    directToFieldMapping = new DirectToFieldMapping();
    directToFieldMapping.setAttributeName("first");
    directToFieldMapping.setFieldName("FIRST");
    descriptor.addMapping(directToFieldMapping);
    //     bar mapping
    aggregateObjectMapping = new AggregateObjectMapping();
    aggregateObjectMapping.setAttributeName("bar");
    aggregateObjectMapping.setReferenceClass(Bar.class);
    aggregateObjectMapping.setSetMethodName("setBar");
    aggregateObjectMapping.dontAllowNull();
    descriptor.addMapping(aggregateObjectMapping);
    return descriptor;
    private static Descriptor buildBarDescriptor() {
    Descriptor descriptor = new Descriptor();
    // basic information
    descriptor.descriptorIsAggregate();
    descriptor.setJavaClass(Bar.class);
    //     mappings
    DirectToFieldMapping directToFieldMapping;
    //     second mapping
    directToFieldMapping = new DirectToFieldMapping();
    directToFieldMapping.setAttributeName("second");
    directToFieldMapping.setFieldName("SECOND");
    descriptor.addMapping(directToFieldMapping);
    return descriptor;
    ----------------------------------------Go.java------------------------------------
    public class Go {
         public static void main(String[] args) {
              if(args.length != 0){
                   throw new RuntimeException("Arguments are not supported");
              Project project = new Project();
              project.setName("fooBarProject");
              DatabaseLogin login = new DatabaseLogin();
         login.usePlatform(new Oracle9Platform());
         login.setDriverClassName("oracle.jdbc.driver.OracleDriver");
         login.setConnectionString("jdbc:oracle:thin:@nnn.nnn.nnn.nnn:nnnn:SERVICE");
         project.setDatasourceLogin(login);
         Descriptors.addDescriptors(project);
         Server server = project.createServerSession(2, 2);
         server.setLogLevel(oracle.toplink.sessions.SessionLog.FINE);
         server.login("schema", "password");
         Session session = server.acquireClientSession();
         UnitOfWork uow = session.acquireUnitOfWork();
         Foo fooBar = (Foo) uow.newInstance(Foo.class);
         fooBar.id = (int) (Math.random() * 10000);
         fooBar.first = "abcd";
         uow.commit();
         ExpressionBuilder builder = new ExpressionBuilder();
         Foo fooBarLoad = (Foo) session.readObject(Foo.class, builder.get("id").equal(fooBar.id));
         System.out.println("ID:" + fooBarLoad.id + " FIRST:" + fooBarLoad.first + " SECOND:" + fooBarLoad.bar.second );
         session.release();
         server.logout();
    ------------------------------------------------------------------------------------------

  • Error when generating Java Classes from XSD

    I'm getting the following error when using oragc to generate Java classes from a schema:
    Error: Schema Class Generator failed to generate classes. oracle.xml.parser.schema.XSDException: Invalid facet 'pattern' in element 'simpleType'
    Any thoughts?
    Here's the part where it is getting the error:
    +111 <!-- Timestamp Type - Timezone portion is required and fractional seconds are prohibited -->
    +112 <xsd:simpleType name="TimestampType">
    +113 <xsd:annotation>
    +114 <xsd:documentation>Base type for a date and time stamp</xsd:documentation>
    +115 </xsd:annotation>
    +116 <xsd:restriction base="xsd:dateTime">
    +117 <xsd:pattern value="[1-9][0-9]{3}\-.+T[^\.]+(Z|[\+\-].+)" />
    +118 </xsd:restriction>
    +119 </xsd:simpleType>

    I would recommend using JAXB instead of the Oracle class generator. This will give a standards based object-to-XML platform.
    Oracle provides two JAXB implementations: one in the TopLink product, and the other in the XDK.
    For an example of using TopLink JAXB see:
    http://www.oracle.com/technology/products/ias/toplink/technical/tips/jaxb/index.htm
    TopLink also provides the ability to map existing Java objects to an existing XML Schema, for an example of this see:
    http://www.oracle.com/technology/products/ias/toplink/technical/tips/ox/index.htm
    -Blaise

  • About generating Java classes from XSD Schema ???

    I need a powerfull tool to generate Java classes from XML Schema. I want that generated classes to have the option to validate XML(to be JAXP1.2 compliant).
    I used XML Spy 5.4 but the generated classes can't validate an XML file.
    Can you help me with other tools that:
    - generate Java classes from XSD
    - generate sample XML from XSD
    - are JAXP1.2 compliant(validate a XML file with a schema)
    Thanks.

    You can also use Castor: http://www.castor.org
    It generates classes from XML Schemas and enables data
    binding without writing any line of a fuckin SAX
    parser :-)I evaluated Castor and JAXB and while JAXB isn't perfect, it's got some things over Castor. Castor almost looks abandonded when I go to the site. The documentation just sort of trails off.

Maybe you are looking for

  • Problems with focus traversal after moving to j2sdk_1.4.1_02

    Hi, Just moved to j2sdk_1.4.1_02 and we are having problems where focus stays on wrong UI component e.g. a user(user2) is taking edit/write permissions from another user(user1) that has write permissions. User1 is told that they will lose write permi

  • URGENT: Creating LIST item during design time.

    Hi All, Is it possible to create LIST item [with MultiSelect option] during design time. The Developer guide has only programmatic implementation. So, Please let me know, whether its possible or not. Thanks.

  • Error run message when installing spectrasonics Trillian

    I have recently purchased Spectrasonics Trillian but I'm having trouble installing...... When i run the installer for Ohmnisphere I am met with the following message Install failed! The following install step failed: run preflight script for Trilian

  • EA4500 would not allow web GUI mgmt session any longer?

    Hi everyone, The strangest thing -- EA4500 would not allow web GUI mgmt session any longer? It worked just fine for 6 moths; now if I try to manage it using the web gui it would authenticate fine but right after correct password is entered it will si

  • Ios 7 phone application, where is the number box above keyboard?

    am i missing something. the number box at the top of the keypad of the phone application is gone. why?????????? do they now assume that you either dial the number or it is in contacts. what about a number which is not in contacts and which you want t