java类java.beans.ExceptionListener的实例源码

XMLDecoderTest.java 文件源码 项目:freeVM 阅读 19 收藏 0 点赞 0 评论 0
public void testSetExceptionListener_Called() throws Exception {
    class MockExceptionListener implements ExceptionListener {

        private boolean isCalled = false;

        public void exceptionThrown(Exception e) {
            isCalled = true;
        }

        public boolean isCalled() {
            return isCalled;
        }
    }

    XMLDecoder xmlDecoder = new XMLDecoder(new ByteArrayInputStream(
            "<java><string/>".getBytes("UTF-8")));
    MockExceptionListener mockListener = new MockExceptionListener();
    xmlDecoder.setExceptionListener(mockListener);

    assertFalse(mockListener.isCalled());
    // Real Parsing should occur in method of ReadObject rather constructor.
    assertNotNull(xmlDecoder.readObject());
    assertTrue(mockListener.isCalled());
}
BeanUserManager.java 文件源码 项目:drftpd3-extended 阅读 23 收藏 0 点赞 0 评论 0
/**
 * Sets up the XMLEnconder.
 */
public XMLEncoder getXMLEncoder(OutputStream out) {
    XMLEncoder e = new XMLEncoder(out);
    e.setExceptionListener(new ExceptionListener() {
        public void exceptionThrown(Exception e1) {
            logger.error("", e1);
        }
    });
    e.setPersistenceDelegate(BeanUser.class,
            new DefaultPersistenceDelegate(new String[] { "name" }));
    e.setPersistenceDelegate(Key.class, new DefaultPersistenceDelegate(
            new String[] { "owner", "key" }));
    e.setPersistenceDelegate(HostMask.class,
            new DefaultPersistenceDelegate(new String[] { "mask" }));
    return e;
}
NukeBeans.java 文件源码 项目:drftpd3-extended 阅读 16 收藏 0 点赞 0 评论 0
/**
 * Serializes the TreeMap.
 * 
 * @throws IOException
 */
public void commit() throws IOException {
    saveClassLoader();

    XMLEncoder enc = null;
    try {
        switchClassLoaders();
        enc = new XMLEncoder(new SafeFileOutputStream(nukeFile));
        enc.setExceptionListener(new ExceptionListener() {
            public void exceptionThrown(Exception e) {
                logger.error(e, e);
            }
        });

        enc.setPersistenceDelegate(LRUMap.class, new DefaultPersistenceDelegate(new String[] { "maxSize" } ));
        enc.writeObject(_nukes);
    } catch (IOException ex) {
        throw new IOException(ex.getMessage());
    } finally {
        if (enc != null)
            enc.close();
    }

    setPreviousClassLoader();
}
TopologyManager.java 文件源码 项目:URingPaxos 阅读 31 收藏 0 点赞 0 评论 0
/**
 * @throws InterruptedException 
 * @throws KeeperException 
 */
protected void registerNode() throws KeeperException, InterruptedException {
    // register and watch node ID
    Util.checkThenCreateZooNode(path + "/" + id_path,null,Ids.OPEN_ACL_UNSAFE,CreateMode.PERSISTENT,zoo);
    zoo.getChildren(path + "/" + id_path, true); // start watching
    byte[] b = (addr.getHostString() + ";" + addr.getPort()).getBytes(); // store the SocketAddress
    // special case for EC2 inter-region ring; publish public IP
    String public_ip = System.getenv("EC2");
    if(public_ip != null){
        b = (public_ip + ";" + addr.getPort()).getBytes(); // store the SocketAddress
        logger.warn("Publish env(EC2) in zookeeper: " + new String(b) + "!");
    }
    Util.checkThenCreateZooNode(path + "/" + id_path + "/" + nodeID,b,Ids.OPEN_ACL_UNSAFE,CreateMode.EPHEMERAL, zoo,
            new ExceptionListener() {
        @Override
        public void exceptionThrown(Exception e) {
            logger.error("Node ID " + nodeID + " in topology " + topologyID + " already registred!");
        }
    });
}
Test4676532.java 文件源码 项目:jdk8u-jdk 阅读 15 收藏 0 点赞 0 评论 0
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());
    }
}
Test4676532.java 文件源码 项目:openjdk-jdk10 阅读 14 收藏 0 点赞 0 评论 0
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());
    }
}
Test4676532.java 文件源码 项目:openjdk9 阅读 14 收藏 0 点赞 0 评论 0
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());
    }
}
PersistenceManager.java 文件源码 项目:PhET 阅读 23 收藏 0 点赞 0 评论 0
public Object loadLocal() throws FileNotFoundException {
    Window frame = getFrame();

    // Choose the file to load.
    JFileChooser fileChooser = new JFileChooser( _directoryName );
    fileChooser.setDialogTitle( "Load File" );
    int rval = fileChooser.showOpenDialog( frame );
    _directoryName = fileChooser.getCurrentDirectory().getAbsolutePath();
    File selectedFile = fileChooser.getSelectedFile();
    if( rval == JFileChooser.CANCEL_OPTION || selectedFile == null ) {
        return null;
    }

    // XML decode directly from the file.
    Object object = null;
    String filename = selectedFile.getAbsolutePath();
    FileInputStream fis = new FileInputStream( filename );
    BufferedInputStream bis = new BufferedInputStream( fis );
    XMLDecoder decoder = new XMLDecoder( bis );
    decoder.setExceptionListener( new ExceptionListener() {
        private int errors = 0;

        // Report the first recoverable exception.
        public void exceptionThrown( Exception e ) {
            if( errors == 0 ) {
                showError( QWIResources.getString( "Load.error.decode" ), e );
                errors++;
            }
        }
    } );
    object = decoder.readObject();
    decoder.close();

    return object;
}
PersistenceManager.java 文件源码 项目:PhET 阅读 23 收藏 0 点赞 0 评论 0
private void saveJNLP( Serializable object ) throws Exception {

        final JFrame frame = PhetApplication.getInstance().getPhetFrame();

        // XML encode into a byte output stream.
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        XMLEncoder encoder = new XMLEncoder( baos );
        encoder.setExceptionListener( new ExceptionListener() {
            private int errors = 0;

            // Report the first recoverable exception.
            public void exceptionThrown( Exception e ) {
                if( errors == 0 ) {
                    showError( QWIResources.getString( "Save.error.encode" ), e );
                    errors++;
                }
            }
        } );
        encoder.writeObject( object );
        encoder.close();
        if( object == null ) {
            throw new Exception( QWIResources.getString( "XML encoding failed" ) );
        }

        // Convert to a byte input stream.
        ByteArrayInputStream inputStream = new ByteArrayInputStream( baos.toByteArray() );

        // Get the JNLP service for saving files.
        FileSaveService fss = (FileSaveService)ServiceManager.lookup( "javax.jnlp.FileSaveService" );
        if( fss == null ) {
            throw new UnavailableServiceException( "JNLP FileSaveService is unavailable" );
        }

        // Save the configuration to a file.
        FileContents fc = fss.saveFileDialog( null, null, inputStream, _directoryName );
        if( fc != null ) {
            _directoryName = getDirectoryName( fc.getName() );
        }
    }
PersistenceManager.java 文件源码 项目:PhET 阅读 27 收藏 0 点赞 0 评论 0
private Object loadJNLP() throws UnavailableServiceException, IOException {

        Window frame = getFrame();

        // Get the JNLP service for opening files.
        FileOpenService fos = (FileOpenService)ServiceManager.lookup( "javax.jnlp.FileOpenService" );
        if( fos == null ) {
            throw new UnavailableServiceException( "JNLP FileOpenService is unavailable" );
        }

        // Read the configuration from a file.
        FileContents fc = fos.openFileDialog( _directoryName, null );
        if( fc == null ) {
            return null;
        }
        _directoryName = getDirectoryName( fc.getName() );

        // Convert the FileContents to an input stream.
        InputStream inputStream = fc.getInputStream();

        // XML-decode the input stream.
        Object object = null;
        XMLDecoder decoder = new XMLDecoder( inputStream );
        decoder.setExceptionListener( new ExceptionListener() {
            private int errors = 0;

            // Report the first recoverable exception.
            public void exceptionThrown( Exception e ) {
                if( errors == 0 ) {
                    showError( QWIResources.getString( "Load.error.decode" ), e );
                    errors++;
                }
            }
        } );
        object = decoder.readObject();
        decoder.close();

        return object;
    }


问题


面经


文章

微信
公众号

扫码关注公众号