Package org.neo4j.neoclipse.util

Source Code of org.neo4j.neoclipse.util.DataExportUtils

/**
* Licensed to Neo Technology under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Neo Technology licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.neo4j.neoclipse.util;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

import org.eclipse.core.runtime.Platform;
import org.eclipse.osgi.service.datalocation.Location;
import org.json.CDL;
import org.json.JSONArray;
import org.json.XML;

public class DataExportUtils
{

    public static File exportToXml( String jsonString ) throws Exception
    {
        File file = getFile( ".xml" );
        StringBuilder sb = new StringBuilder( "<rootnode>" );
        sb.append( XML.toString( new JSONArray( jsonString ), "node" ) );
        sb.append( "</rootnode>" );
        BufferedWriter bw = new BufferedWriter( new FileWriter( file ) );
        bw.write( sb.toString() );
        bw.close();
        return file;
    }



    public static File exportToJson( String jsonString ) throws IOException
    {
        File file = getFile( ".json" );
        BufferedWriter out = new BufferedWriter( new FileWriter( file ) );
        out.write( jsonString );
        out.close();
        return file;
    }

    public static File exportToCsv( String jsonString ) throws Exception
    {
        File file = getFile( ".csv" );
        String csv = CDL.toString( new JSONArray( jsonString ) );
        BufferedWriter out = new BufferedWriter( new FileWriter( file ) );
        out.write( csv );
        out.close();
        return file;
    }

    private static File getFile( String fileExtention )
    {

        Location installLocation = Platform.getInstallLocation();
        String startingDirectory = installLocation.getURL().getPath() + "neoclipse-workspace/data" + File.separator;
        File dir = new File( startingDirectory );
        if ( !dir.exists() )
        {
            if ( !dir.mkdirs() )
            {
                throw new RuntimeException( "Could not create the directory: " + dir );
            }
        }

        return new File( startingDirectory, System.currentTimeMillis() + fileExtention );
    }
}
TOP

Related Classes of org.neo4j.neoclipse.util.DataExportUtils

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.