MDR usage

"Ajay Kumar" <[email protected]> Sat, 27 Jan 2007 22:31:43 +0530
Newsgroups gmane.comp.java.netbeans.modules.mdr.devel
Message-ID <[email protected]>
------=_Part_47817_26459327.1169917303667
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Hi,
       I started using MDR jar file which i downloaded from netbeans website
. My objective is to parse the xmi file which contains UML . But when i try
parsing the 01-12-02_Diff.xml , i am getting parsing error something like
this...
/*********************************************************/
org.netbeans.lib.jmi.util.DebugException: Cannot create URL: 01-12-02.xml
........
[org.netbeans.lib.jmi.Logger] XMI parsing error at line: 242: Cannot create
URL: 01-12-02.xml
Fatal error reading XMI.javax.jmi.xmi.MalformedXMIException:
org.netbeans.lib.jmi.util.DebugException: Cannot create URL: 01-12-02.xml
    at org.netbeans.lib.jmi.xmi.SAXReader.read(SAXReader.java:62)
    at test.XMITest.main(XMITest.java:40)
/*******************************************************/

//the code i am trying to execute .
import java.io.File;
import java.io.FileInputStream;
import java.util.Collection;
import java.util.Iterator;

import javax.jmi.model.ModelPackage;
import javax.jmi.model.MofPackage;
import javax.jmi.reflect.RefPackage;

import org.netbeans.api.mdr.MDRManager;
import org.netbeans.api.mdr.MDRepository;
import org.netbeans.api.xmi.XMIReader;
import org.netbeans.api.xmi.XMIReaderFactory;

public class XMITest {

    public static void main(String[] args) {
        MDRepository repository = MDRManager.getDefault()
        .getDefaultRepository();
        boolean fail = true;
        repository.beginTrans(true);
        try {
            MofPackage umlPackage = null;
            XMIReader reader = XMIReaderFactory.getDefault
().createXMIReader();
            RefPackage mof = repository.createExtent("UML");
            FileInputStream stream = new FileInputStream(
            "/home/ajay/models/uml1.3-metamodel/01-12-02_Diff.xml");
            reader.read(stream, null, mof);
            for (Iterator it = ((ModelPackage) mof).getMofPackage()
                    .refAllOfClass().iterator(); it.hasNext();) {
                MofPackage temp = (MofPackage) it.next();
                System.out.println(temp.getName());
                if ("UML".equals(temp.getName())) {
                    umlPackage = temp;
                    break;
                }
            }
            RefPackage umlInstance = repository.createExtent
("UML-MetaModel",
                    umlPackage);
            reader.read(new File("/home/ajay/test.xmi").toURL().toString(),
                    umlInstance);
            fail = false;
        } catch (Exception e) {
            System.out.println("Fatal error reading XMI.");
            e.printStackTrace();
        } finally {
            repository.endTrans(fail);
        }
    }

    public static void print(String s) {
        System.out.println(s);
    }

    public static void print(Collection c) {
        Iterator itr = c.iterator();
        while (itr.hasNext())
            System.out.println(itr.next());
    }

}

/********************************************************************/
If the above approach is wrong ..... please tell me where i am going wrong .
A small working code would really help me a lot.
-- 
with regards
Nadathur Srinivasan Ajay Kumar

------=_Part_47817_26459327.1169917303667
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Hi,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; I started using MDR jar file which i downloaded from netbeans website . My objective is to parse the xmi file which contains UML . But when i try parsing the 01-12-02_Diff.xml , i am getting parsing error something like this...
<br>/*********************************************************/<br>org.netbeans.lib.jmi.util.DebugException: Cannot create URL: 01-12-02.xml<br>........<br>[org.netbeans.lib.jmi.Logger] XMI parsing error at line: 242: Cannot create URL: 
01-12-02.xml<br>Fatal error reading XMI.javax.jmi.xmi.MalformedXMIException: org.netbeans.lib.jmi.util.DebugException: Cannot create URL: 01-12-02.xml<br>&nbsp;&nbsp;&nbsp; at org.netbeans.lib.jmi.xmi.SAXReader.read(SAXReader.java:62)<br>
&nbsp;&nbsp;&nbsp; at test.XMITest.main(XMITest.java:40)<br>/*******************************************************/<br><br>//the code i am trying to execute .<br>import java.io.File;<br>import java.io.FileInputStream;<br>import java.util.Collection
;<br>import java.util.Iterator;<br><br>import javax.jmi.model.ModelPackage;<br>import javax.jmi.model.MofPackage;<br>import javax.jmi.reflect.RefPackage;<br><br>import org.netbeans.api.mdr.MDRManager;<br>import org.netbeans.api.mdr.MDRepository
;<br>import org.netbeans.api.xmi.XMIReader;<br>import org.netbeans.api.xmi.XMIReaderFactory;<br><br>public class XMITest {<br><br>&nbsp;&nbsp;&nbsp; public static void main(String[] args) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; MDRepository repository = MDRManager.getDefault
()<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; .getDefaultRepository();<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; boolean fail = true;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; repository.beginTrans(true);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; try {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; MofPackage umlPackage = null;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; XMIReader reader = XMIReaderFactory.getDefault
().createXMIReader();<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; RefPackage mof = repository.createExtent(&quot;UML&quot;);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; FileInputStream stream = new FileInputStream(<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &quot;/home/ajay/models/uml1.3-metamodel/01-12-02_Diff.xml&quot;);
<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; reader.read(stream, null, mof);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; for (Iterator it = ((ModelPackage) mof).getMofPackage()<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; .refAllOfClass().iterator(); it.hasNext();) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; MofPackage temp = (MofPackage) 
it.next();<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; System.out.println(temp.getName());<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if (&quot;UML&quot;.equals(temp.getName())) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; umlPackage = temp;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; break;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }
<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; RefPackage umlInstance = repository.createExtent(&quot;UML-MetaModel&quot;,<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; umlPackage);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; reader.read(new File(&quot;/home/ajay/test.xmi&quot;).toURL().toString(),
<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; umlInstance);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; fail = false;<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } catch (Exception e) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; System.out.println(&quot;Fatal error reading XMI.&quot;);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; e.printStackTrace();<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; } finally {
<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; repository.endTrans(fail);<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; }<br><br>&nbsp;&nbsp;&nbsp; public static void print(String s) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; System.out.println(s);<br>&nbsp;&nbsp;&nbsp; }<br><br>&nbsp;&nbsp;&nbsp; public static void print(Collection c) {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Iterator itr = 
c.iterator();<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; while (itr.hasNext())<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; System.out.println(itr.next());<br>&nbsp;&nbsp;&nbsp; }<br><br>}<br><br clear="all">/********************************************************************/<br>If the above approach is wrong ..... please tell me where i am going wrong . A small working code would really help me a lot.
<br>-- <br>with regards<br>Nadathur Srinivasan Ajay Kumar


------=_Part_47817_26459327.1169917303667--