Package org.twodividedbyzero.idea.findbugs.gui.tree

Source Code of org.twodividedbyzero.idea.findbugs.gui.tree.TreeXmlSerializer

/*
* Copyright 2008-2013 Andre Pfeiler
*
* This file is part of FindBugs-IDEA.
*
* FindBugs-IDEA is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* FindBugs-IDEA is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with FindBugs-IDEA.  If not, see <http://www.gnu.org/licenses/>.
*/
package org.twodividedbyzero.idea.findbugs.gui.tree;

import javax.swing.tree.DefaultTreeModel;
import java.beans.XMLDecoder;
import java.beans.XMLEncoder;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;


/**
* $Date: 2013-12-05 08:09:56 -0600 (Thu, 05 Dec 2013) $
*
* @author Andre Pfeiler<andrep@twodividedbyzero.org>
* @version $Revision: 257 $
* @since 0.9.29-dev
*/
@SuppressWarnings("CallToPrintStackTrace")
class TreeXmlSerializer {

  public static void write(final DefaultTreeModel model, final String filename) {
    XMLEncoder encoder = null;
    FileOutputStream fileOutputStream = null;
    BufferedOutputStream stream = null;

    try {
      fileOutputStream = new FileOutputStream(filename);
      stream = new BufferedOutputStream(fileOutputStream);
      encoder = new XMLEncoder(stream);
      encoder.writeObject(model);
    } catch (final FileNotFoundException e) {
      e.printStackTrace();
    } finally {
      try {
        if (fileOutputStream != null) {
          fileOutputStream.close();
        }
        if (stream != null) {
          stream.close();
        }
      } catch (final IOException e) {
        e.printStackTrace();
      }
      if (encoder != null) {
        encoder.close();
      }
    }
  }

  // -------------------------
  // loads JTree


  public static DefaultTreeModel read(final String filename) {
    XMLDecoder decoder = null;
    BufferedInputStream stream = null;
    try {
      final FileInputStream fis = new FileInputStream(filename);
      stream = new BufferedInputStream(fis);
      decoder = new XMLDecoder(stream);
    } catch (final FileNotFoundException e) {
      e.printStackTrace();
    } finally {
      try {
        assert stream != null;
        stream.close();
      } catch (final IOException e) {
        e.printStackTrace();
      }
    }

    DefaultTreeModel model = null;
    try {
      model = (DefaultTreeModel) decoder.readObject();
    } catch (final Exception e) {
      e.printStackTrace();
    } finally {
      decoder.close();
    }

    return model;
  }

}
TOP

Related Classes of org.twodividedbyzero.idea.findbugs.gui.tree.TreeXmlSerializer

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.