/************************************************************************* * * * This file is part of the 20n/act project. * * 20n/act enables DNA prediction for synthetic biology/bioengineering. * * Copyright (C) 2017 20n Labs, Inc. * * * * Please direct all queries to act@20n.com. * * * * This program 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. * * * * This program 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 this program. If not, see <http://www.gnu.org/licenses/>. * * * *************************************************************************/ package com.twentyn.patentScorer; import java.io.BufferedReader; import java.io.DataInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.Writer; import java.net.HttpURLConnection; import java.net.URL; /** * These utility methods were extracted from the experimental repo, and were originally intended for use with * PatentMiner/src/org/twentyn/patentminer/GoogleSearcher.java. */ public class Utils { public static String GetPatentText(String id) throws IOException { return fetch("https://www.google.com/patents/" + id); } public static String fetch(String link) throws IOException { URL url = new URL(link); String USER_AGENT = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.76 Safari/537.36"; HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); conn.setRequestProperty("User-Agent", USER_AGENT); int respCode = conn.getResponseCode(); System.err.println("\nSearch Sending 'GET' request to URL : " + url); System.err.println("Response Code : " + respCode); if (respCode != 200) { throw new IOException("StatusCode = " + respCode + " - GET returned not OK.\n" + url); } BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream())); StringBuffer resp = new StringBuffer(); String inputLine; while ((inputLine = in.readLine()) != null) resp.append(inputLine); in.close(); return resp.toString(); } public static boolean filesPresentIn(String dir) { File dirf = new File(dir); return dirf.isDirectory() && dirf.listFiles().length > 0; } public static String readFile(String path) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(new DataInputStream(new FileInputStream(path)))); String line; StringBuffer sb = new StringBuffer(); while ((line = br.readLine()) != null) { sb.append(line); } return sb.toString(); } public static void writeFile(String datafile, String filePath) { try { Writer output = null; File file = new File(filePath); output = new FileWriter(file); output.write(datafile); output.close(); } catch (IOException ex) { ex.printStackTrace(); } } }