Author: rob.stryker(a)jboss.com
Date: 2007-06-01 16:43:35 -0400 (Fri, 01 Jun 2007)
New Revision: 2093
Modified:
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/internal/xb/XMLBinding.java
Log:
moved some code to xmlbinding from archivesmodel
Modified:
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/internal/xb/XMLBinding.java
===================================================================
---
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/internal/xb/XMLBinding.java 2007-06-01
20:43:10 UTC (rev 2092)
+++
trunk/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/model/internal/xb/XMLBinding.java 2007-06-01
20:43:35 UTC (rev 2093)
@@ -21,14 +21,20 @@
*/
package org.jboss.ide.eclipse.archives.core.model.internal.xb;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
import java.io.Writer;
import java.net.URL;
import javax.xml.parsers.ParserConfigurationException;
+import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.IProgressMonitor;
import org.jboss.ide.eclipse.archives.core.ArchivesCore;
import org.jboss.ide.eclipse.archives.core.Trace;
@@ -79,6 +85,10 @@
private static XbPackages element = null;
+ public static XbPackages unmarshal( String input, IProgressMonitor monitor ) {
+ return unmarshal(new ByteArrayInputStream(input.getBytes()), monitor);
+ }
+
public static XbPackages unmarshal (final InputStream in, final IProgressMonitor
monitor)
{
if( !initialized) init();
@@ -134,4 +144,40 @@
}
});
}
+
+
+ public static void savePackagesToFile(XbPackages packages, IPath outputFile,
IProgressMonitor monitor) {
+ try {
+ ByteArrayOutputStream bytesOut = new ByteArrayOutputStream();
+ OutputStreamWriter writer = new OutputStreamWriter(bytesOut);
+ XMLBinding.marshal(packages, writer, monitor);
+ writer.close();
+
+ ByteArrayInputStream bytesIn = new ByteArrayInputStream(bytesOut.toByteArray());
+ OutputStream out = new FileOutputStream(outputFile.toFile());
+
+ // Transfer bytes from in to out
+ byte[] buf = new byte[1024];
+ int len;
+ while ((len = bytesIn.read(buf)) > 0) {
+ out.write(buf, 0, len);
+ }
+ out.close();
+ bytesIn.close();
+ bytesOut.close();
+ } catch( IOException ioe ) {
+ }
+ }
+
+ public static String serializePackages(XbPackages packages, IProgressMonitor monitor) {
+ try {
+ ByteArrayOutputStream bytesOut = new ByteArrayOutputStream();
+ OutputStreamWriter writer = new OutputStreamWriter(bytesOut);
+ XMLBinding.marshal(packages, writer, monitor);
+ writer.close();
+ return new String(bytesOut.toByteArray());
+ } catch( Exception e ) {
+ }
+ return null;
+ }
}
Show replies by date