Strabon
changeset 326:b29f0bd444a1
some code beautification in Strabon
author | Babis Nikolaou <charnik@di.uoa.gr> |
---|---|
date | Fri Jun 22 17:44:15 2012 +0300 (2012-06-22) |
parents | 90c0265f8020 |
children | c7dd5add6c9d |
files | runtime/src/main/java/eu/earthobservatory/runtime/generaldb/Strabon.java |
line diff
1.1 --- a/runtime/src/main/java/eu/earthobservatory/runtime/generaldb/Strabon.java Fri Jun 22 13:45:05 2012 +0300 1.2 +++ b/runtime/src/main/java/eu/earthobservatory/runtime/generaldb/Strabon.java Fri Jun 22 17:44:15 2012 +0300 1.3 @@ -110,11 +110,13 @@ 1.4 1.5 //Used for the conversions taking place involving JTS + WGS84 (4326) 1.6 System.setProperty("org.geotools.referencing.forceXY", "true"); 1.7 + 1.8 //our repository 1.9 repo1 = new SailRepository(db_store); 1.10 1.11 try { 1.12 repo1.initialize(); 1.13 + 1.14 } catch (RepositoryException e) { 1.15 logger.error("[Strabon.init] initialize", e); 1.16 } 1.17 @@ -123,6 +125,7 @@ 1.18 1.19 try { 1.20 con1 = repo1.getConnection(); 1.21 + 1.22 } catch (RepositoryException e) { 1.23 logger.error("[Strabon.init] getConnection", e); 1.24 } 1.25 @@ -130,7 +133,7 @@ 1.26 1.27 1.28 protected abstract void checkAndDeleteLock(String databaseName, String user, String password, int port, String serverName) 1.29 - throws SQLException, ClassNotFoundException ; 1.30 + throws SQLException, ClassNotFoundException; 1.31 1.32 public SailRepositoryConnection getSailRepoConnection() { 1.33 return con1; 1.34 @@ -159,52 +162,52 @@ 1.35 } 1.36 1.37 public Object query(String queryString) 1.38 - throws MalformedQueryException, QueryEvaluationException, IOException, TupleQueryResultHandlerException 1.39 - { 1.40 + throws MalformedQueryException, QueryEvaluationException, IOException, TupleQueryResultHandlerException { 1.41 return query(queryString, "", this.getSailRepoConnection()); 1.42 } 1.43 1.44 public Object query(String queryString, String resultsFormat) 1.45 - throws MalformedQueryException , QueryEvaluationException, IOException, TupleQueryResultHandlerException 1.46 - { 1.47 + throws MalformedQueryException , QueryEvaluationException, IOException, TupleQueryResultHandlerException { 1.48 return query(queryString, resultsFormat, this.getSailRepoConnection()); 1.49 } 1.50 1.51 public Object query(String queryString, SailRepositoryConnection con) 1.52 - throws MalformedQueryException, QueryEvaluationException, IOException, TupleQueryResultHandlerException 1.53 - { 1.54 + throws MalformedQueryException, QueryEvaluationException, IOException, TupleQueryResultHandlerException { 1.55 return query(queryString, "", con); 1.56 } 1.57 1.58 public Object queryBindings(String queryString, SailRepositoryConnection con) throws QueryEvaluationException, MalformedQueryException 1.59 { 1.60 - logger.info("[Strabon.query] Executing query: " + queryString); 1.61 + logger.info("[Strabon.query] Executing query: {}", queryString); 1.62 + 1.63 TupleQuery tupleQuery = null; 1.64 try { 1.65 tupleQuery = con.prepareTupleQuery(QueryLanguage.SPARQL, queryString); 1.66 + 1.67 } catch (RepositoryException e) { 1.68 logger.error("[Strabon.query] Error in preparing tuple query.", e); 1.69 } 1.70 - TupleQueryResult result = tupleQuery.evaluate(); 1.71 - return result; 1.72 + 1.73 + return tupleQuery.evaluate(); 1.74 } 1.75 1.76 public Object query(String queryString, String resultsFormat, SailRepositoryConnection con) 1.77 - throws MalformedQueryException, QueryEvaluationException, IOException, TupleQueryResultHandlerException 1.78 - { 1.79 - logger.info("[Strabon.query] Executing query: " + queryString); 1.80 + throws MalformedQueryException, QueryEvaluationException, IOException, TupleQueryResultHandlerException { 1.81 + logger.info("[Strabon.query] Executing query: {}", queryString); 1.82 + 1.83 TupleQuery tupleQuery = null; 1.84 try { 1.85 tupleQuery = con.prepareTupleQuery(QueryLanguage.SPARQL, queryString); 1.86 + 1.87 } catch (RepositoryException e) { 1.88 logger.error("[Strabon.query] Error in preparing tuple query.", e); 1.89 } 1.90 1.91 ArrayList<String> ret = new ArrayList<String>(); 1.92 ByteArrayOutputStream retStream = new ByteArrayOutputStream(); 1.93 - // DataOutputStream out = new DataOutputStream(retStream); 1.94 - OutputStreamWriter writeOut = new OutputStreamWriter(retStream,"UTF-8"); 1.95 - if ( resultsFormat.equalsIgnoreCase("EXP") ) { 1.96 + OutputStreamWriter writeOut = new OutputStreamWriter(retStream, "UTF-8"); 1.97 + 1.98 + if (resultsFormat.equalsIgnoreCase("EXP")) { 1.99 long results = 0; 1.100 long t1 = System.nanoTime(); 1.101 TupleQueryResult result = tupleQuery.evaluate(); 1.102 @@ -214,49 +217,64 @@ 1.103 } 1.104 long t3 = System.nanoTime(); 1.105 1.106 - return new long[]{t2-t1, t3-t2, t3-t1,results}; 1.107 - } else if ( resultsFormat.equalsIgnoreCase("") ) { 1.108 + return new long[]{t2-t1, t3-t2, t3-t1, results}; 1.109 + 1.110 + } else if (resultsFormat.equalsIgnoreCase("")) { 1.111 TupleQueryResult result = null; 1.112 - //System.out.println("About to evaluate: "); 1.113 result = tupleQuery.evaluate(); 1.114 1.115 - //System.out.println("-------------------------------------------"); 1.116 - //System.out.println("- RESULTS -"); 1.117 - //System.out.println("-------------------------------------------"); 1.118 - 1.119 - 1.120 while (result.hasNext()) { 1.121 1.122 BindingSet bindingSet = result.next(); 1.123 - // try { 1.124 System.out.println(bindingSet.toString()); 1.125 ret.add(bindingSet.toString()); 1.126 - // } catch (NullPointerException e) { 1.127 - // System.err.println("Null pointer"); 1.128 - // } 1.129 } 1.130 1.131 - //System.out.println("-------------------------------------------"); 1.132 - System.out.flush(); 1.133 return ret; 1.134 - } 1.135 - else if (resultsFormat.equalsIgnoreCase("XML")) { 1.136 + 1.137 + } else if (resultsFormat.equalsIgnoreCase("XML")) { 1.138 if (logger.isDebugEnabled()) { 1.139 logger.debug("Serializing results (XML)"); 1.140 } 1.141 - tupleQuery.evaluate(new stSPARQLResultsXMLWriter(retStream)); 1.142 - } 1.143 - else if (resultsFormat.equalsIgnoreCase("GeoJSON")) { 1.144 + 1.145 + tupleQuery.evaluate(new stSPARQLResultsXMLWriter(System.out)); 1.146 + 1.147 + } else if (resultsFormat.equalsIgnoreCase("KML") || resultsFormat.equalsIgnoreCase("KMZ")) { 1.148 + if (logger.isDebugEnabled()) { 1.149 + logger.debug("Serializing results (KML/KMZ)"); 1.150 + } 1.151 + 1.152 + if (resultsFormat.equalsIgnoreCase("KML")) { 1.153 + tupleQuery.evaluate(new stSPARQLResultsKMLWriter(System.out)); 1.154 + 1.155 + } else { // KMZ 1.156 + // create a zip entry 1.157 + ZipEntry entry = new ZipEntry("sparql_results.kml"); 1.158 + 1.159 + // create a zip stream on standard output 1.160 + ZipOutputStream kmzout = new ZipOutputStream(System.out); 1.161 + 1.162 + // add the zip entry in it 1.163 + kmzout.putNextEntry(entry); 1.164 + 1.165 + // pass the zip stream for evaluation 1.166 + tupleQuery.evaluate(new stSPARQLResultsKMLWriter(kmzout)); 1.167 + 1.168 + // close the zip entry 1.169 + kmzout.closeEntry(); 1.170 + 1.171 + // close the zip stream 1.172 + kmzout.close(); 1.173 + } 1.174 + 1.175 + } else if (resultsFormat.equalsIgnoreCase("GeoJSON")) { 1.176 1.177 DataOutputStream dos = new DataOutputStream(retStream); 1.178 1.179 TupleQueryResult result = null; 1.180 - try 1.181 - { 1.182 + try { 1.183 result = tupleQuery.evaluate(); 1.184 - } 1.185 - catch (QueryEvaluationException e1) 1.186 - { 1.187 + } catch (QueryEvaluationException e1) { 1.188 e1.printStackTrace(); 1.189 } 1.190 1.191 @@ -311,16 +329,13 @@ 1.192 } 1.193 } 1.194 1.195 - } 1.196 - else 1.197 - { 1.198 + } else { 1.199 return retStream.toString(); //empty 1.200 } 1.201 1.202 boolean firstLineParsed = false; 1.203 1.204 - do 1.205 - { 1.206 + do { 1.207 if(firstLineParsed) 1.208 { 1.209 bindingSet = result.next(); 1.210 @@ -421,50 +436,9 @@ 1.211 fjson.writeFeatureCollection(sfCollection, dos); 1.212 System.out.println(retStream.toString()); 1.213 1.214 - } 1.215 - else if (resultsFormat.equalsIgnoreCase("KML") || resultsFormat.equalsIgnoreCase("KMZ")) { 1.216 - if (logger.isDebugEnabled()) { 1.217 - logger.debug("Serializing results (KML/KMZ)"); 1.218 - } 1.219 - 1.220 - if (resultsFormat.equalsIgnoreCase("KML")) { 1.221 - tupleQuery.evaluate(new stSPARQLResultsKMLWriter(System.out)); 1.222 - 1.223 - } else { 1.224 - // create a zip entry 1.225 - ZipEntry entry = new ZipEntry("sparql_results.kml"); 1.226 - 1.227 - // create a zip stream on standard output 1.228 - ZipOutputStream kmzout = new ZipOutputStream(System.out); 1.229 - 1.230 - // add the zip entry in it 1.231 - kmzout.putNextEntry(entry); 1.232 - 1.233 - // pass the zip stream for evaluation 1.234 - tupleQuery.evaluate(new stSPARQLResultsKMLWriter(kmzout)); 1.235 - 1.236 - // close the zip entry 1.237 - kmzout.closeEntry(); 1.238 - 1.239 - // close the zip stream 1.240 - kmzout.close(); 1.241 - } 1.242 + } else if(resultsFormat.equalsIgnoreCase("HTML")) { 1.243 + TupleQueryResult result = tupleQuery.evaluate(); 1.244 1.245 - } else if(resultsFormat.equalsIgnoreCase("HTML")) { 1.246 - //System.out.println("Placemark1!!"); 1.247 - TupleQueryResult result = tupleQuery.evaluate(); 1.248 - // List<String> bindingNames = result.getBindingNames(); 1.249 - // out.writeBytes("<tr>"); 1.250 - // for (int i = 0; i < bindingNames.size(); i++) { 1.251 - // String bindingName = bindingNames.get(i); 1.252 - // out.writeBytes("<th>"); 1.253 - // out.writeBytes(bindingName); 1.254 - // out.writeBytes("</th>"); 1.255 - // } 1.256 - /////////////////////////////// 1.257 - 1.258 - //System.out.println("Placemark2!!"); 1.259 - //Remove IF in case it is considered redundant -> added to test Registry.war 1.260 if(result.hasNext()) 1.261 { 1.262 BindingSet set = result.next(); 1.263 @@ -504,25 +478,20 @@ 1.264 writeOut.write("</tr>"); 1.265 } 1.266 } 1.267 - } 1.268 - else { 1.269 + 1.270 + } else { 1.271 // System.exit(-1);// throw new InvalidDatasetFormatFault(); // TODO 1.272 logger.warn("[Strabon.query] No such format available \"" + resultsFormat + "\"."); 1.273 return null; 1.274 } 1.275 1.276 try { 1.277 - // baos.flush(); 1.278 writeOut.flush(); 1.279 retStream.flush(); 1.280 } catch (IOException e) { 1.281 logger.error("[Strabon.query]", e); 1.282 } 1.283 - 1.284 - // Print results. 1.285 - //System.out.println(retStream.toString()); 1.286 1.287 - //return ret; 1.288 return retStream.toString(); 1.289 } 1.290 1.291 @@ -532,12 +501,11 @@ 1.292 1.293 try { 1.294 update = con.prepareUpdate(QueryLanguage.SPARQL, updateString); 1.295 + 1.296 } catch (RepositoryException e) { 1.297 logger.error("[Strabon.update]", e); 1.298 } 1.299 1.300 - //System.out.println("Placemark0"); 1.301 - //System.out.println("\n\n\nGot query: " + updateString + "\n\n\n"); 1.302 logger.info("[Strabon.update] executing update query: " + updateString); 1.303 1.304 try { 1.305 @@ -545,10 +513,6 @@ 1.306 } catch (UpdateExecutionException e) { 1.307 logger.error("[Strabon.update]", e); 1.308 } 1.309 - 1.310 - // System.out.println("-------------------------------------------"); 1.311 - // System.out.println("- UPDATE EXECUTED -"); 1.312 - // System.out.println("-------------------------------------------"); 1.313 } 1.314 1.315 public void storeInRepo(String src, String format) throws RDFParseException, RepositoryException, IOException,InvalidDatasetFormatFault, RDFHandlerException 1.316 @@ -560,37 +524,34 @@ 1.317 { 1.318 RDFFormat realFormat = null; 1.319 1.320 - if ((baseURI != null) && (baseURI.equals(""))) 1.321 + if ((baseURI != null) && (baseURI.equals(""))) { 1.322 baseURI = null; 1.323 + } 1.324 1.325 URI uriContext; 1.326 1.327 if ((context == null) || (context.equals(""))) { 1.328 - uriContext = null; 1.329 + uriContext = null; 1.330 + 1.331 } else { 1.332 ValueFactory f = repo1.getValueFactory(); 1.333 uriContext = f.createURI(context); 1.334 } 1.335 1.336 1.337 - if(format.equalsIgnoreCase("N3")) 1.338 - { 1.339 + if(format.equalsIgnoreCase("N3")) { 1.340 realFormat = RDFFormat.N3; 1.341 - } 1.342 - else if(format.equalsIgnoreCase("NTRIPLES")) 1.343 - { 1.344 + 1.345 + } else if(format.equalsIgnoreCase("NTRIPLES")) { 1.346 realFormat = RDFFormat.NTRIPLES; 1.347 - } 1.348 - else if(format.equalsIgnoreCase("RDFXML")) 1.349 - { 1.350 + 1.351 + } else if(format.equalsIgnoreCase("RDFXML")) { 1.352 realFormat = RDFFormat.RDFXML; 1.353 - } 1.354 - else if(format.equalsIgnoreCase("TURTLE")) 1.355 - { 1.356 + 1.357 + } else if(format.equalsIgnoreCase("TURTLE")) { 1.358 realFormat = RDFFormat.TURTLE; 1.359 - } 1.360 - else 1.361 - { 1.362 + 1.363 + } else { 1.364 throw new InvalidDatasetFormatFault(); 1.365 } 1.366 1.367 @@ -601,19 +562,17 @@ 1.368 } catch(MalformedURLException e) { 1.369 1.370 URL fromClasspath = getClass().getResource(src); 1.371 - if(fromClasspath!=null) 1.372 - { 1.373 + if(fromClasspath!=null) { 1.374 storeURL(fromClasspath, baseURI, uriContext, realFormat); 1.375 - } 1.376 - else 1.377 - { 1.378 + 1.379 + } else { 1.380 File file = new File(src); 1.381 if (file.exists()) { 1.382 storeURL(new URL("file://" + src), baseURI, uriContext, realFormat); 1.383 1.384 } else { 1.385 - logger.info("File \"" + src + "\" does not exist. Trying reading as String."); 1.386 - storeString((String)src, baseURI, uriContext, realFormat); 1.387 + logger.info("File \"{}\" does not exist. Trying reading as String.", src); 1.388 + storeString((String) src, baseURI, uriContext, realFormat); 1.389 } 1.390 } 1.391 } 1.392 @@ -622,10 +581,12 @@ 1.393 private void storeURL(URL url, String baseURI, URI context, RDFFormat format) throws RDFParseException, RepositoryException, IOException, RDFHandlerException 1.394 { 1.395 logger.info("[Strabon.storeURL] Storing file."); 1.396 - logger.info("[Strabon.storeURL] URL : " + url.toString()); 1.397 - logger.info("[Strabon.storeURL] Base URI : " + ((baseURI == null) ? "null" : baseURI)); 1.398 - logger.info("[Strabon.storeURL] Context : " + ((context == null) ? "null" : context)); 1.399 - logger.info("[Strabon.storeURL] Format : " + ((format == null) ? "null" : format.toString())); 1.400 + logger.info("[Strabon.storeURL] URL : {}", url.toString()); 1.401 + if (logger.isDebugEnabled()) { 1.402 + logger.debug("[Strabon.storeURL] Base URI : {}", ((baseURI == null) ? "null" : baseURI)); 1.403 + logger.debug("[Strabon.storeURL] Context : {}", ((context == null) ? "null" : context)); 1.404 + logger.debug("[Strabon.storeURL] Format : {}", ((format == null) ? "null" : format)); 1.405 + } 1.406 1.407 InputStream in = (InputStream) url.openStream(); 1.408 InputStreamReader reader = new InputStreamReader(in); 1.409 @@ -637,18 +598,22 @@ 1.410 parser.setRDFHandler(handler); 1.411 parser.parse(reader, ""); 1.412 1.413 - logger.info("[Strabon.storeURL] Inferred " + handler.getNumberOfTriples() + " triples."); 1.414 + logger.info("[Strabon.storeURL] Inferred {} triples.", handler.getNumberOfTriples()); 1.415 if (handler.getNumberOfTriples() > 0) { 1.416 - logger.info("[Strabon.storeURL] Triples inferred:"+ handler.getTriples().toString()); 1.417 + logger.info("[Strabon.storeURL] Triples inferred: {}", handler.getTriples()); 1.418 } 1.419 + 1.420 StringReader georeader = new StringReader(handler.getTriples().toString()); 1.421 handler.endRDF(); 1.422 1.423 if (context == null) { 1.424 con1.add(url, baseURI, format); 1.425 + 1.426 } else { 1.427 con1.add(url, baseURI, format, context); 1.428 + 1.429 } 1.430 + 1.431 con1.add(georeader, "", RDFFormat.NTRIPLES); 1.432 georeader.close(); 1.433 logger.info("[Strabon.storeURL] Storing was successful."); 1.434 @@ -684,10 +649,13 @@ 1.435 if (context == null) { 1.436 con1.add(reader, baseURI, format); 1.437 reader.close(); 1.438 + 1.439 } else { 1.440 con1.add(reader, baseURI, format, context); 1.441 reader.close(); 1.442 + 1.443 } 1.444 + 1.445 con1.add(georeader, "", RDFFormat.NTRIPLES); 1.446 georeader.close(); 1.447 logger.info("[Strabon.storeString] Storing was successful."); 1.448 @@ -699,12 +667,11 @@ 1.449 1.450 try { 1.451 graphQuery = con.prepareGraphQuery(QueryLanguage.SPARQL, describeString); 1.452 + 1.453 } catch (RepositoryException e) { 1.454 logger.error("[Strabon.describe]", e); 1.455 } 1.456 1.457 - // System.out.println("Placemark0"); 1.458 - // System.out.println("\n\n\nGot query: " + describeString + "\n\n\n"); 1.459 logger.info("[Strabon.describe] Executing describe query:" + describeString); 1.460 1.461 try { 1.462 @@ -723,9 +690,6 @@ 1.463 logger.error("[Strabon.describe]", e); 1.464 } 1.465 1.466 - logger.info("[Strabon.describe] Output: "+outFile); 1.467 - // System.out.println("---------------------------------------------"); 1.468 - // System.out.println("- DESCRIBE EXECUTED -"); 1.469 - // System.out.println("---------------------------------------------"); 1.470 + logger.info("[Strabon.describe] Output: {}", outFile); 1.471 } 1.472 }