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> 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> at org.netbeans.lib.jmi.xmi.SAXReader.read(SAXReader.java:62)<br>
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> public static void main(String[] args) {<br> MDRepository repository = MDRManager.getDefault
()<br> .getDefaultRepository();<br> boolean fail = true;<br> repository.beginTrans(true);<br> try {<br> MofPackage umlPackage = null;<br> XMIReader reader = XMIReaderFactory.getDefault
().createXMIReader();<br> RefPackage mof = repository.createExtent("UML");<br> FileInputStream stream = new FileInputStream(<br> "/home/ajay/models/uml1.3-metamodel/01-12-02_Diff.xml");
<br> reader.read(stream, null, mof);<br> for (Iterator it = ((ModelPackage) mof).getMofPackage()<br> .refAllOfClass().iterator(); it.hasNext();) {<br> MofPackage temp = (MofPackage)
it.next();<br> System.out.println(temp.getName());<br> if ("UML".equals(temp.getName())) {<br> umlPackage = temp;<br> break;<br> }
<br> }<br> RefPackage umlInstance = repository.createExtent("UML-MetaModel",<br> umlPackage);<br> reader.read(new File("/home/ajay/test.xmi").toURL().toString(),
<br> umlInstance);<br> fail = false;<br> } catch (Exception e) {<br> System.out.println("Fatal error reading XMI.");<br> e.printStackTrace();<br> } finally {
<br> repository.endTrans(fail);<br> }<br> }<br><br> public static void print(String s) {<br> System.out.println(s);<br> }<br><br> public static void print(Collection c) {<br> Iterator itr =
c.iterator();<br> while (itr.hasNext())<br> System.out.println(itr.next());<br> }<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--