Package org.deri.eurostat.toc

Source Code of org.deri.eurostat.toc.DatasetTitles

package org.deri.eurostat.toc;

import java.io.FileOutputStream;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import org.apache.commons.cli.BasicParser;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.Options;
import org.deri.eurostat.dsdparser.ParserUtil;
import com.hp.hpl.jena.rdf.model.Model;
import com.hp.hpl.jena.rdf.model.Resource;

/**
*
* @author Aftab Iqbal
*
*/

public class DatasetTitles {

  private static String serialization = "TURTLE";
  private static String fileExt = ".ttl";
  private static String inputFilePath = "";
  private static String outputFilePath = "";
  ParseToC obj;
 
  public void getDS_Titles()
  {
    obj = new ParseToC();
    if(inputFilePath.equals("")) {
    obj.getDatasetTitles();
    }
    else {
      obj.getDatasetTitles(inputFilePath);
    }
   
    buildRDF();
  }
 
  public void buildRDF()
  {
    Model model = ParserUtil.getModelProperties();
    HashMap<String, String> hsh = new HashMap<String, String>();
    Iterator it = obj.toc.entrySet().iterator();
    String lang = "";
    String title = "";
      while (it.hasNext()) {
      Map.Entry pairs = (Map.Entry)it.next();
      Resource dsd = model.createResource(ParserUtil.titleURI + pairs.getKey());
          hsh = (HashMap<String,String>)pairs.getValue();
          Iterator iter = hsh.entrySet().iterator();
          while(iter.hasNext())
          {
            Map.Entry titles = (Map.Entry)iter.next();
            lang = (String) titles.getKey();
            title = hsh.get(lang);
            model.add(dsd,ParserUtil.dcTitle,model.createLiteral(title,lang));
          }
      }

    writeRDFToFile("title", model);
  }
 
  public void writeRDFToFile(String fileName, Model model)
  {
    if(serialization.equalsIgnoreCase("RDF/XML"))
      fileExt = ".rdf";
    else if(serialization.equalsIgnoreCase("TURTLE"))
      fileExt = ".ttl";
    else if(serialization.equalsIgnoreCase("N-TRIPLES"))
      fileExt = ".nt";
    try
       {
      OutputStream output = new FileOutputStream(outputFilePath + fileName + fileExt,false);
      model.write(output,serialization.toUpperCase());
     
       }catch(Exception e)
       {
         System.out.println("Error while creating file ..." + e.getMessage());
       }
  }
 
  private static void usage()
  {
    System.out.println("usage: DatasetTitles [parameters]");
    System.out.println();
    System.out.println("  -o outputFilePath  Output directory path to generate the file.");
    System.out.println("  (optional)-f   format  RDF format for serialization (RDF/XML, TURTLE, N-TRIPLES).");
  }
 
  public static void main(String[] args) throws Exception
  {
    DatasetTitles obj = new DatasetTitles();
   
    CommandLineParser parser = new BasicParser( );
    Options options = new Options( );
    options.addOption("h", "help", false, "Print this usage information.");
    options.addOption("i", "inputFilepath", true, "Local ToC file.");
    options.addOption("o", "outputFilePath", true, "Output directory path to generate the file.");
    options.addOption("f", "format", true, "RDF format for serialization (RDF/XML, TURTLE, N-TRIPLES).");

    CommandLine commandLine = parser.parse( options, args );
   
    if( commandLine.hasOption('h') ) {
        usage();
        return;
     }
   
    if(commandLine.hasOption('i'))
      inputFilePath = commandLine.getOptionValue('i');
    if(commandLine.hasOption('o'))
      outputFilePath = commandLine.getOptionValue('o');
   
    if(commandLine.hasOption('f'))
      serialization = commandLine.getOptionValue('f');
   
    if(serialization.equals("") || outputFilePath.equals(""))
    {
      usage();
      return;
    }
    else
    {
      obj.getDS_Titles();
    }
  }
 
}
TOP

Related Classes of org.deri.eurostat.toc.DatasetTitles

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.