Search in sources :

Example 21 with XMLDecoder

use of java.beans.XMLDecoder in project jdk8u_jdk by JetBrains.

the class JavaElementHandler method getValue.

/**
     * Returns the owner of the owner document handler
     * as a value of <java> element.
     *
     * @return the owner of the owner document handler
     */
private Object getValue() {
    Object owner = getOwner().getOwner();
    if ((this.type == null) || isValid(owner)) {
        return owner;
    }
    if (owner instanceof XMLDecoder) {
        XMLDecoder decoder = (XMLDecoder) owner;
        owner = decoder.getOwner();
        if (isValid(owner)) {
            return owner;
        }
    }
    throw new IllegalStateException("Unexpected owner class: " + owner.getClass().getName());
}
Also used : XMLDecoder(java.beans.XMLDecoder)

Example 22 with XMLDecoder

use of java.beans.XMLDecoder in project jdk8u_jdk by JetBrains.

the class Test4676532 method main.

public static void main(String[] args) throws Exception {
    StringBuilder sb = new StringBuilder(256);
    sb.append("file:");
    sb.append(System.getProperty("test.src", "."));
    sb.append(File.separatorChar);
    sb.append("test.jar");
    URL[] url = { new URL(sb.toString()) };
    URLClassLoader cl = new URLClassLoader(url);
    Class type = cl.loadClass("test.Test");
    if (type == null) {
        throw new Error("could not find class test.Test");
    }
    InputStream stream = new ByteArrayInputStream(DATA.getBytes());
    ExceptionListener el = new ExceptionListener() {

        public void exceptionThrown(Exception exception) {
            throw new Error("unexpected exception", exception);
        }
    };
    XMLDecoder decoder = new XMLDecoder(stream, null, el, cl);
    Object object = decoder.readObject();
    decoder.close();
    if (!type.equals(object.getClass())) {
        throw new Error("unexpected " + object.getClass());
    }
}
Also used : ByteArrayInputStream(java.io.ByteArrayInputStream) ByteArrayInputStream(java.io.ByteArrayInputStream) InputStream(java.io.InputStream) URLClassLoader(java.net.URLClassLoader) XMLDecoder(java.beans.XMLDecoder) ExceptionListener(java.beans.ExceptionListener) URL(java.net.URL)

Example 23 with XMLDecoder

use of java.beans.XMLDecoder in project jdk8u_jdk by JetBrains.

the class Test6329581 method decode.

private Object decode(byte[] array) {
    ByteArrayInputStream in = new ByteArrayInputStream(array);
    XMLDecoder decoder = new XMLDecoder(in, null, this, this);
    Object object = decoder.readObject();
    validate(object);
    decoder.close();
    return object;
}
Also used : ByteArrayInputStream(java.io.ByteArrayInputStream) XMLDecoder(java.beans.XMLDecoder)

Example 24 with XMLDecoder

use of java.beans.XMLDecoder in project aima-java by aimacode.

the class MapViewPopup method actionPerformed.

@Override
public void actionPerformed(ActionEvent ae) {
    if (ae.getSource() == entityInfoMenuItem) {
        MapNode mNode = pane.getRenderer().getNextNode(x, y);
        if (mNode != null)
            pane.showMapEntityInfoDialog(mNode, pane.isDebugModeEnabled());
    } else if (ae.getSource() == clearMenuItem) {
        pane.getMap().clearMarkersAndTracks();
    } else if (ae.getSource() == createMarkerMenuItem) {
        PositionPanel panel = new PositionPanel();
        int res = JOptionPane.showConfirmDialog(pane, panel, "Specify a Position", JOptionPane.OK_CANCEL_OPTION);
        if (res == JOptionPane.OK_OPTION) {
            float lat = panel.getLat();
            float lon = panel.getLon();
            if (!Float.isNaN(lat) && !Float.isNaN(lon)) {
                pane.getMap().addMarker(lat, lon);
                pane.adjustToCenter(lat, lon);
            }
        }
    } else if (ae.getSource() == removeMarkerMenuItem) {
        pane.removeNearestMarker(x, y);
    } else if (ae.getSource() == loadMarkersMenuItem) {
        XMLDecoder decoder = null;
        try {
            File xmlFile = null;
            if (getFileChooser().showDialog(pane, "Load Markers") == JFileChooser.APPROVE_OPTION) {
                xmlFile = getFileChooser().getSelectedFile();
                if (!xmlFile.getPath().contains("."))
                    xmlFile = new File(xmlFile.getPath() + ".xml");
            }
            if (xmlFile != null && xmlFile.exists()) {
                pane.getMap().clearMarkersAndTracks();
                decoder = new XMLDecoder(new BufferedInputStream(new FileInputStream(xmlFile)));
                int size = (Integer) decoder.readObject();
                for (int i = 0; i < size; i++) {
                    WritablePosition pos = (WritablePosition) decoder.readObject();
                    pane.getMap().addMarker(pos.getLat(), pos.getLon());
                }
                pane.fireMapViewEvent(new MapViewEvent(pane, MapViewEvent.Type.MARKER_ADDED));
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (decoder != null)
                decoder.close();
        }
    } else if (ae.getSource() == saveMarkersMenuItem) {
        XMLEncoder encoder = null;
        try {
            File xmlFile = null;
            if (getFileChooser().showDialog(pane, "Save Markers") == JFileChooser.APPROVE_OPTION) {
                xmlFile = getFileChooser().getSelectedFile();
                if (!xmlFile.getPath().contains("."))
                    xmlFile = new File(xmlFile.getPath() + ".xml");
                encoder = new XMLEncoder(new BufferedOutputStream(new FileOutputStream(xmlFile)));
                encoder.writeObject(pane.getMap().getMarkers().size());
                for (MapNode node : pane.getMap().getMarkers()) encoder.writeObject(new WritablePosition(node));
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (encoder != null)
                encoder.close();
        }
    } else if (ae.getSource() == functionsMenuItem) {
        JOptionPane.showMessageDialog(pane, MapViewPane.FUNCTION_DESCRIPTION.split("\\|"), "Function Description", JOptionPane.INFORMATION_MESSAGE);
    } else if (ae.getSource() == debugMenuItem) {
        pane.enableDebugMode(debugMenuItem.isSelected());
    }
}
Also used : MapViewEvent(aimax.osm.viewer.MapViewEvent) MapNode(aimax.osm.data.entities.MapNode) IOException(java.io.IOException) FileInputStream(java.io.FileInputStream) XMLEncoder(java.beans.XMLEncoder) BufferedInputStream(java.io.BufferedInputStream) FileOutputStream(java.io.FileOutputStream) XMLDecoder(java.beans.XMLDecoder) File(java.io.File) BufferedOutputStream(java.io.BufferedOutputStream)

Aggregations

XMLDecoder (java.beans.XMLDecoder)24 ByteArrayInputStream (java.io.ByteArrayInputStream)15 XMLEncoder (java.beans.XMLEncoder)7 IOException (java.io.IOException)7 ExceptionListener (java.beans.ExceptionListener)6 LinkedList (java.util.LinkedList)6 BufferedInputStream (java.io.BufferedInputStream)5 ByteArrayOutputStream (java.io.ByteArrayOutputStream)5 Test (org.junit.Test)5 FileInputStream (java.io.FileInputStream)4 FileOutputStream (java.io.FileOutputStream)4 AssertionFailedError (junit.framework.AssertionFailedError)4 File (java.io.File)3 BufferedOutputStream (java.io.BufferedOutputStream)2 FileNotFoundException (java.io.FileNotFoundException)2 InputStream (java.io.InputStream)2 MalformedURLException (java.net.MalformedURLException)2 URL (java.net.URL)2 MapNode (aimax.osm.data.entities.MapNode)1 MapViewEvent (aimax.osm.viewer.MapViewEvent)1