diff --git a/src/main/java/org/hbp/mip/MIPApplication.java b/src/main/java/org/hbp/mip/MIPApplication.java index 1b1b9fc648c1dd102927b80fc9779a733c2fb3e4..e721ed77483285090be89a972ddf98d54881db3c 100644 --- a/src/main/java/org/hbp/mip/MIPApplication.java +++ b/src/main/java/org/hbp/mip/MIPApplication.java @@ -3,21 +3,6 @@ * Based on gregturn code at : 'https://github.com/spring-guides/tut-spring-boot-oauth2'. */ -/* - * Copyright 2012-2015 the original author or authors. - * - * Licensed 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.hbp.mip; import com.fasterxml.jackson.core.JsonProcessingException; @@ -93,7 +78,7 @@ import java.security.Principal; @Api(value = "/", description = "MIP API") public class MIPApplication extends WebSecurityConfigurerAdapter { - private Logger logger = Logger.getLogger(this.getClass()); + private static final Logger LOGGER = Logger.getLogger(MIPApplication.class); @Autowired OAuth2ClientContext oauth2ClientContext; @@ -184,9 +169,9 @@ public class MIPApplication extends WebSecurityConfigurerAdapter { cookie.setPath("/"); response.addCookie(cookie); } catch (JsonProcessingException e) { - logger.trace(e); + LOGGER.trace(e); } catch (UnsupportedEncodingException e) { - logger.trace(e); + LOGGER.trace(e); } return principal; } @@ -277,8 +262,7 @@ public class MIPApplication extends WebSecurityConfigurerAdapter { } private CsrfTokenRepository csrfTokenRepository() { - HttpSessionCsrfTokenRepository repository = httpSessionCsrfTokenRepository; - return repository; + return httpSessionCsrfTokenRepository; } } diff --git a/src/main/java/org/hbp/mip/controllers/AppsApi.java b/src/main/java/org/hbp/mip/controllers/AppsApi.java index 705fc0736e7d4ecdf2d6c73218d21d310508c558..b89ef31b4836ba1e52966ae8a002e341bdb13546 100644 --- a/src/main/java/org/hbp/mip/controllers/AppsApi.java +++ b/src/main/java/org/hbp/mip/controllers/AppsApi.java @@ -33,7 +33,7 @@ import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE; @Api(value = "/apps", description = "the apps API") public class AppsApi { - private Logger logger = Logger.getLogger(this.getClass()); + private static final Logger LOGGER = Logger.getLogger(AppsApi.class); @Autowired MIPApplication mipApplication; @@ -109,7 +109,7 @@ public class AppsApi { } catch (ConstraintViolationException cve) { - logger.trace(cve); + LOGGER.trace(cve); if(session.getTransaction() != null) { session.getTransaction().rollback(); @@ -118,7 +118,7 @@ public class AppsApi { } catch (NonUniqueObjectException nuoe) { - logger.trace(nuoe); + LOGGER.trace(nuoe); if(session.getTransaction() != null) { session.getTransaction().rollback(); diff --git a/src/main/java/org/hbp/mip/controllers/ArticlesApi.java b/src/main/java/org/hbp/mip/controllers/ArticlesApi.java index 3fb3febd15833459e7fb9b54055aed423cf8f88b..99fe8334aef8fa27ba2fde647794b472b1cdb196 100644 --- a/src/main/java/org/hbp/mip/controllers/ArticlesApi.java +++ b/src/main/java/org/hbp/mip/controllers/ArticlesApi.java @@ -32,7 +32,7 @@ import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE; @Api(value = "/articles", description = "the articles API") public class ArticlesApi { - private Logger logger = Logger.getLogger(this.getClass()); + private static final Logger LOGGER = Logger.getLogger(ArticlesApi.class); @Autowired MIPApplication mipApplication; @@ -60,11 +60,6 @@ public class ArticlesApi { else { queryString += " AND (status='published' or u.username= :username)"; - if(team != null && team) - { - // TODO: decide if this is needed - //queryString += " AND u.team= :team"; - } } Session session = HibernateUtil.getSessionFactory().getCurrentSession(); @@ -102,7 +97,7 @@ public class ArticlesApi { User user = mipApplication.getUser(); article.setCreatedAt(new Date()); - if (article.getStatus().equals("published")) { + if ("published".equals(article.getStatus())) { article.setPublishedAt(new Date()); } article.setCreatedBy(user); @@ -131,13 +126,7 @@ public class ArticlesApi { } } while(count > 0); - Slugify slg = null; - try { - slg = new Slugify(); - } catch (IOException e) { - logger.trace(e); - } - String slug = slg != null ? slg.slugify(article.getTitle()) : ""; + String slug = new Slugify().slugify(article.getTitle()); i = 0; do { @@ -159,8 +148,9 @@ public class ArticlesApi { session.save(article); session.getTransaction().commit(); - } catch (Exception e) - { + } catch (IOException e) { + LOGGER.trace(e); + } catch (Exception e) { if(session.getTransaction() != null) { session.getTransaction().rollback(); @@ -194,7 +184,7 @@ public class ArticlesApi { session.getTransaction().commit(); - if (!article.getStatus().equals("published") && !article.getCreatedBy().getUsername().equals(user.getUsername())) + if (!"published".equals(article.getStatus()) && !article.getCreatedBy().getUsername().equals(user.getUsername())) { return new ResponseEntity<>(HttpStatus.FORBIDDEN); } diff --git a/src/main/java/org/hbp/mip/controllers/ExperimentApi.java b/src/main/java/org/hbp/mip/controllers/ExperimentApi.java index cadf43ea34a878031348bf7b916c512887df902a..0281039e3bb3bce2d514418cfc76fc25b4e0c2ca 100644 --- a/src/main/java/org/hbp/mip/controllers/ExperimentApi.java +++ b/src/main/java/org/hbp/mip/controllers/ExperimentApi.java @@ -35,7 +35,7 @@ import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE; @javax.annotation.Generated(value = "class io.swagger.codegen.languages.SpringMVCServerCodegen", date = "2016-01-07T07:38:20.227Z") public class ExperimentApi { - private Logger logger = Logger.getLogger(this.getClass()); + private static final Logger LOGGER = Logger.getLogger(ExperimentApi.class); private static final String EXAREME_ALGO_JSON_FILE="data/exareme_algorithms.json"; @@ -62,48 +62,25 @@ public class ExperimentApi { // this runs in the background. For future optimization: use a thread pool new Thread() { + @Override public void run() { try { - HttpURLConnection con = (HttpURLConnection) obj.openConnection(); - String query = experiment.computeQuery(); - System.out.println("Running experiment: " + query); - - // create query - try { - con.setRequestMethod("POST"); - } catch (ProtocolException pe) { logger.trace(pe); } // ignore; won't happen - con.addRequestProperty("Content-Type", "application/json"); - con.setRequestProperty("Content-Length", Integer.toString(query.length())); - con.setFollowRedirects(true); - con.setReadTimeout(3600000); // 1 hour: 60*60*1000 ms - - // write body of query - con.setDoOutput(true); - DataOutputStream wr = new DataOutputStream(con.getOutputStream()); - wr.write(query.getBytes("UTF8")); - wr.flush(); - wr.close(); - - // get response - InputStream stream = con.getResponseCode() < 400 ? con.getInputStream() : con.getErrorStream(); - BufferedReader in = new BufferedReader(new InputStreamReader(stream)); - String inputLine; - StringBuilder response = new StringBuilder(); - while ((inputLine = in.readLine()) != null) { - response.append(inputLine + '\n'); - } - in.close(); + HttpURLConnection con = createConnection(obj, query); + writeQueryBody(con, query); + String response = readResponse(con); // write to experiment - experiment.setResult(response.toString().replace("\0", "")); + experiment.setResult(response.replace("\0", "")); experiment.setHasError(con.getResponseCode() >= 400); experiment.setHasServerError(con.getResponseCode() >= 500); + } catch (ProtocolException pe) { + LOGGER.trace(pe); } catch (IOException ioe) { // write error to - logger.trace(ioe); - logger.warn("Experiment failed to run properly !"); + LOGGER.trace(ioe); + LOGGER.warn("Experiment failed to run properly !"); experiment.setHasError(true); experiment.setHasServerError(true); experiment.setResult(ioe.getMessage()); @@ -126,6 +103,36 @@ public class ExperimentApi { }.start(); } + private static String readResponse(HttpURLConnection con) throws IOException { + InputStream stream = con.getResponseCode() < 400 ? con.getInputStream() : con.getErrorStream(); + BufferedReader in = new BufferedReader(new InputStreamReader(stream)); + String inputLine; + StringBuilder response = new StringBuilder(); + while ((inputLine = in.readLine()) != null) { + response.append(inputLine + '\n'); + } + in.close(); + return response.toString(); + } + + private static void writeQueryBody(HttpURLConnection con, String query) throws IOException { + DataOutputStream wr = new DataOutputStream(con.getOutputStream()); + wr.write(query.getBytes("UTF8")); + wr.flush(); + wr.close(); + } + + private static HttpURLConnection createConnection(URL url, String query) throws IOException { + HttpURLConnection con = (HttpURLConnection) url.openConnection(); + con.setRequestMethod("POST"); + con.addRequestProperty("Content-Type", "application/json"); + con.setRequestProperty("Content-Length", Integer.toString(query.length())); + con.setInstanceFollowRedirects(true); + con.setReadTimeout(3600000); // 1 hour: 60*60*1000 ms + con.setDoOutput(true); + return con; + } + @ApiOperation(value = "Send a request to the workflow to run an experiment", response = Experiment.class) @ApiResponses(value = { @ApiResponse(code = 200, message = "Success") }) @RequestMapping(method = RequestMethod.POST) @@ -158,8 +165,8 @@ public class ExperimentApi { { transaction.rollback(); } - logger.trace(e); - logger.warn("Cannot create experiment to run ! This is probably caused by a bad request !"); + LOGGER.trace(e); + LOGGER.warn("Cannot create experiment to run ! This is probably caused by a bad request !"); // 400 here probably return new ResponseEntity<>(e.getMessage(), HttpStatus.BAD_REQUEST); } @@ -173,7 +180,7 @@ public class ExperimentApi { { sendPost(experiment); } - } catch (MalformedURLException mue) { logger.trace(mue.getMessage()); } // ignore + } catch (MalformedURLException mue) { LOGGER.trace(mue.getMessage()); } // ignore return new ResponseEntity<>(gson.toJson(experiment), HttpStatus.OK); } @@ -183,7 +190,7 @@ public class ExperimentApi { Model model = experiment.getModel(); String algoCode = "WP_LINEAR_REGRESSION"; - LinkedList<ExaremeQueryElement> queryElements = new LinkedList<>(); + List<ExaremeQueryElement> queryElements = new LinkedList<>(); for (Variable var : model.getQuery().getVariables()) { ExaremeQueryElement el = new ExaremeQueryElement(); @@ -224,6 +231,7 @@ public class ExperimentApi { String jsonQuery = new Gson().toJson(queryElements); new Thread() { + @Override public void run() { try { String url = miningExaremeQueryUrl + "/" + algoCode; @@ -239,8 +247,8 @@ public class ExperimentApi { experiment.setResult("Unsupported variables !"); } } catch (Exception e) { - logger.trace(e); - logger.warn("Failed to run Exareme algorithm !"); + LOGGER.trace(e); + LOGGER.warn("Failed to run Exareme algorithm !"); experiment.setHasError(true); experiment.setHasServerError(true); experiment.setResult(e.getMessage()); @@ -267,7 +275,7 @@ public class ExperimentApi { new JsonParser().parse(test); } catch (JsonParseException jpe) { - logger.trace(jpe); // This is the normal behavior when the input string is not JSON-ified + LOGGER.trace(jpe); // This is the normal behavior when the input string is not JSON-ified return false; } return true; @@ -276,7 +284,7 @@ public class ExperimentApi { private boolean isExaremeAlgo(Experiment experiment) { JsonArray algorithms = new JsonParser().parse(experiment.getAlgorithms()).getAsJsonArray(); String algoCode = algorithms.get(0).getAsJsonObject().get("code").getAsString(); - return algoCode.equals("glm_exareme"); + return "glm_exareme".equals(algoCode); } @ApiOperation(value = "get an experiment", response = Experiment.class) @@ -289,8 +297,8 @@ public class ExperimentApi { try { experimentUuid = UUID.fromString(uuid); } catch (IllegalArgumentException iae) { - logger.trace(iae); - logger.warn("An invalid Experiment UUID was received !"); + LOGGER.trace(iae); + LOGGER.warn("An invalid Experiment UUID was received !"); return ResponseEntity.badRequest().body("Invalid Experiment UUID"); } @@ -329,8 +337,8 @@ public class ExperimentApi { try { experimentUuid = UUID.fromString(uuid); } catch (IllegalArgumentException iae) { - logger.trace(iae); - logger.warn("An invalid Experiment UUID was received !"); + LOGGER.trace(iae); + LOGGER.warn("An invalid Experiment UUID was received !"); return ResponseEntity.badRequest().body("Invalid Experiment UUID"); } @@ -370,8 +378,8 @@ public class ExperimentApi { try { experimentUuid = UUID.fromString(uuid); } catch (IllegalArgumentException iae) { - logger.trace(iae); - logger.warn("An invalid Experiment UUID was received !"); + LOGGER.trace(iae); + LOGGER.warn("An invalid Experiment UUID was received !"); return ResponseEntity.badRequest().body("Invalid Experiment UUID"); } @@ -436,7 +444,7 @@ public class ExperimentApi { baseQuery += mine ? "e.createdBy = :user" : "(e.createdBy = :user OR e.shared is true)"; - if (modelSlug == null || modelSlug.equals("")) { + if (modelSlug == null || "".equals(modelSlug)) { hibernateQuery = session.createQuery(baseQuery); } else { hibernateQuery = session.createQuery(baseQuery + " AND e.model.slug = :slug"); @@ -489,7 +497,7 @@ public class ExperimentApi { @ApiParam(value = "maxResultCount", required = false) @RequestParam("maxResultCount") int maxResultCount ) { - if (maxResultCount <= 0 && (modelSlug == null || modelSlug.equals(""))) { + if (maxResultCount <= 0 && (modelSlug == null || "".equals(modelSlug))) { return new ResponseEntity<>("You must provide at least a slug or a limit of result", HttpStatus.BAD_REQUEST); } @@ -499,7 +507,7 @@ public class ExperimentApi { @ApiOperation(value = "List available methods and validations", response = String.class) @ApiResponses(value = { @ApiResponse(code = 200, message = "Success") }) @RequestMapping(path = "/methods", method = RequestMethod.GET) - public ResponseEntity<String> listAvailableMethodsAndValidations() throws Exception { + public ResponseEntity<String> listAvailableMethodsAndValidations() throws IOException { StringBuilder response = new StringBuilder(); diff --git a/src/main/java/org/hbp/mip/controllers/ModelsApi.java b/src/main/java/org/hbp/mip/controllers/ModelsApi.java index 4679b0857750323e85bc34aecac6c1b8221db550..21b102e1858a508f92bff344a4aded93006c10f2 100644 --- a/src/main/java/org/hbp/mip/controllers/ModelsApi.java +++ b/src/main/java/org/hbp/mip/controllers/ModelsApi.java @@ -29,7 +29,7 @@ import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE; @javax.annotation.Generated(value = "class io.swagger.codegen.languages.SpringMVCServerCodegen", date = "2016-01-07T07:38:20.227Z") public class ModelsApi { - private Logger logger = Logger.getLogger(this.getClass()); + private static final Logger LOGGER = Logger.getLogger(ModelsApi.class); @Autowired MIPApplication mipApplication; @@ -60,11 +60,6 @@ public class ModelsApi { else { queryString += " AND (m.valid=true or u.username= :username)"; - if(team != null && team) - { - // TODO: decide if this is needed - //queryString += " AND u.team= :team"; - } } queryString += " ORDER BY m.createdAt DESC"; @@ -95,7 +90,7 @@ public class ModelsApi { } for(Model model:models){ - String ds_code = model.getDataset().getCode(); + String dsCode = model.getDataset().getCode(); session = HibernateUtil.getSessionFactory().getCurrentSession(); Dataset dataset = null; @@ -103,7 +98,7 @@ public class ModelsApi { session.beginTransaction(); dataset = (Dataset) session .createQuery("from Dataset where code= :code") - .setString("code", ds_code) + .setString("code", dsCode) .uniqueResult(); session.getTransaction().commit(); } catch (Exception e) @@ -163,14 +158,7 @@ public class ModelsApi { } } while(count > 0); - Slugify slg = null; - String slug = ""; - try { - slg = new Slugify(); - slug = slg.slugify(model.getTitle()); - } catch (IOException e) { - logger.trace(e); - } + String slug = new Slugify().slugify(model.getTitle()); i = 0; do { @@ -196,6 +184,8 @@ public class ModelsApi { session.save(model); session.getTransaction().commit(); + } catch (IOException e) { + LOGGER.trace(e); } catch (Exception e) { if(session.getTransaction() != null) @@ -219,7 +209,6 @@ public class ModelsApi { Session session = HibernateUtil.getSessionFactory().getCurrentSession(); Model model = null; - Query query; try { session.beginTransaction(); @@ -387,41 +376,7 @@ public class ModelsApi { return new ResponseEntity<>(HttpStatus.NO_CONTENT); } - @ApiOperation(value = "Copy a model", response = Model.class) - @ApiResponses(value = { @ApiResponse(code = 201, message = "Model copied"), @ApiResponse(code = 404, message = "Not found") }) - @RequestMapping(value = "/{slug}/copies", method = RequestMethod.POST) - public ResponseEntity<Model> copyAModel( - @ApiParam(value = "slug", required = true) @PathVariable("slug") String slug, - @RequestBody @ApiParam(value = "Model to update", required = true) Model model - ) { - - User user = mipApplication.getUser(); - - String originalSlug = model.getSlug(); - String copySlug; - do { - copySlug = originalSlug+" copy_"+randomStr(20); - } while (getAModel(copySlug) == null); - model.setSlug(copySlug); - - Session session = HibernateUtil.getSessionFactory().getCurrentSession(); - try{ - session.beginTransaction(); - session.save(model); - session.getTransaction().commit(); - } catch (Exception e) - { - if(session.getTransaction() != null) - { - session.getTransaction().rollback(); - throw e; - } - } - - return new ResponseEntity<>(HttpStatus.CREATED).ok(model); - } - - private String randomStr(int length) { + private static String randomStr(int length) { char[] chars = "abcdefghijklmnopqrstuvwxyz0123456789".toCharArray(); StringBuilder sb = new StringBuilder(); Random random = new Random(); diff --git a/src/main/java/org/hbp/mip/model/App.java b/src/main/java/org/hbp/mip/model/App.java index 38450ade304847675a0f02966eb79d0fef9e54b7..c328c36ca8330b538d66028cd085407959a4b5ca 100644 --- a/src/main/java/org/hbp/mip/model/App.java +++ b/src/main/java/org/hbp/mip/model/App.java @@ -44,6 +44,9 @@ public class App { public App() { + /* + * Empty constructor is needed by Hibernate + */ } diff --git a/src/main/java/org/hbp/mip/model/Article.java b/src/main/java/org/hbp/mip/model/Article.java index 49e0fc8171d7d4ea26401312d708cc77c5689b34..26e36e60fc49e1d6e3b3adad37555e8e4671f26b 100644 --- a/src/main/java/org/hbp/mip/model/Article.java +++ b/src/main/java/org/hbp/mip/model/Article.java @@ -55,6 +55,9 @@ public class Article { public Article() { + /* + * Empty constructor is needed by Hibernate + */ } diff --git a/src/main/java/org/hbp/mip/model/Config.java b/src/main/java/org/hbp/mip/model/Config.java index 555d7cece4fc591d29792f9ffdcbb5e30a67c1a7..08bed89798cda8f97015ae62717a7a2300b7126d 100644 --- a/src/main/java/org/hbp/mip/model/Config.java +++ b/src/main/java/org/hbp/mip/model/Config.java @@ -41,6 +41,9 @@ public class Config { public Config() { + /* + * Empty constructor is needed by Hibernate + */ } diff --git a/src/main/java/org/hbp/mip/model/Dataset.java b/src/main/java/org/hbp/mip/model/Dataset.java index 61b5a5316cebdd78d10b4bb63045bffeb4541c35..023cecf06d6738dc31f7cfde5edb2dccf2dbd09f 100644 --- a/src/main/java/org/hbp/mip/model/Dataset.java +++ b/src/main/java/org/hbp/mip/model/Dataset.java @@ -39,6 +39,9 @@ public class Dataset { public Dataset() { + /* + * Empty constructor is needed by Hibernate + */ } diff --git a/src/main/java/org/hbp/mip/model/Experiment.java b/src/main/java/org/hbp/mip/model/Experiment.java index a569c9719231a54e50f66f4d1b71a7421b1fdd32..dec5eee686865874502e036a07484350ac678cc0 100644 --- a/src/main/java/org/hbp/mip/model/Experiment.java +++ b/src/main/java/org/hbp/mip/model/Experiment.java @@ -78,6 +78,9 @@ public class Experiment { private boolean resultsViewed = false; public Experiment() { + /* + * Empty constructor is needed by Hibernate + */ } public String computeQuery() { diff --git a/src/main/java/org/hbp/mip/model/Filter.java b/src/main/java/org/hbp/mip/model/Filter.java index c85bc140a47ab0bcef46c795ad9160a60edac1c1..27af1d69c9b26fd1475d1395f1e3a6432c86bf81 100644 --- a/src/main/java/org/hbp/mip/model/Filter.java +++ b/src/main/java/org/hbp/mip/model/Filter.java @@ -34,6 +34,9 @@ public class Filter { public Filter() { + /* + * Empty constructor is needed by Hibernate + */ } diff --git a/src/main/java/org/hbp/mip/model/GeneralStats.java b/src/main/java/org/hbp/mip/model/GeneralStats.java index 94b3b62b28b5dea3b2d727c66042272401827858..b9366c013e3e2913a220e598cfe6c3264d231b6a 100644 --- a/src/main/java/org/hbp/mip/model/GeneralStats.java +++ b/src/main/java/org/hbp/mip/model/GeneralStats.java @@ -17,6 +17,9 @@ public class GeneralStats { public GeneralStats() { + /* + * Empty constructor is needed by Hibernate + */ } diff --git a/src/main/java/org/hbp/mip/model/Group.java b/src/main/java/org/hbp/mip/model/Group.java index 066f3f94905128fdb961b1d473b0d878948814ad..32cf44f662107d113c214901ee77113d6e434d85 100644 --- a/src/main/java/org/hbp/mip/model/Group.java +++ b/src/main/java/org/hbp/mip/model/Group.java @@ -32,6 +32,9 @@ public class Group { public Group() { + /* + * Empty constructor is needed by Hibernate + */ } @@ -70,15 +73,4 @@ public class Group { this.groups = groups; } - - public Group clone() - { - Group g = new Group(); - g.setCode(this.getCode()); - g.setLabel(this.getLabel()); - g.setParent(this.getParent()); - g.setGroups(this.getGroups()); - return g; - } - } diff --git a/src/main/java/org/hbp/mip/model/Model.java b/src/main/java/org/hbp/mip/model/Model.java index 774b8e0cf75833d659a06a75a637c3d7e84b19cb..fb871152fe562a4fab41a0b7def52123cd26394b 100644 --- a/src/main/java/org/hbp/mip/model/Model.java +++ b/src/main/java/org/hbp/mip/model/Model.java @@ -59,6 +59,9 @@ public class Model { public Model() { + /* + * Empty constructor is needed by Hibernate + */ } diff --git a/src/main/java/org/hbp/mip/model/Query.java b/src/main/java/org/hbp/mip/model/Query.java index ebcce263bb75713c521f0e34b25f1264038b3724..fddb0c7a7c68ffb5a79c733032d9a36c4564008b 100644 --- a/src/main/java/org/hbp/mip/model/Query.java +++ b/src/main/java/org/hbp/mip/model/Query.java @@ -52,6 +52,9 @@ public class Query { public Query() { + /* + * Empty constructor is needed by Hibernate + */ } diff --git a/src/main/java/org/hbp/mip/model/Tag.java b/src/main/java/org/hbp/mip/model/Tag.java index e4c34e30bb9ca12ee306455e755018033ab928f7..6619bd75f57a66dfe66446e4f710b4d515663199 100644 --- a/src/main/java/org/hbp/mip/model/Tag.java +++ b/src/main/java/org/hbp/mip/model/Tag.java @@ -22,6 +22,9 @@ public class Tag { public Tag() { + /* + * Empty constructor is needed by Hibernate + */ } diff --git a/src/main/java/org/hbp/mip/model/User.java b/src/main/java/org/hbp/mip/model/User.java index f013859e96b02d12adeada9cbadf250b4429d9e9..7d12a47f5265f9f4aebd58463b7dcde0c93140b1 100644 --- a/src/main/java/org/hbp/mip/model/User.java +++ b/src/main/java/org/hbp/mip/model/User.java @@ -88,6 +88,9 @@ public class User { public User() { + /* + * Empty constructor is needed by Hibernate + */ } @@ -133,7 +136,7 @@ public class User { p = Pattern.compile("title=([\\w ]+)"); m = p.matcher(userInfo); if (m.find()) { - if (m.group(1).equals("Mr")) { + if ("Mr".equals(m.group(1))) { this.gender = "Male"; } else { this.gender = "Female"; diff --git a/src/main/java/org/hbp/mip/model/Variable.java b/src/main/java/org/hbp/mip/model/Variable.java index e651105c6f525d13345daf6a6b7f04b56d4f4fbf..2bc6a37c8637930c0ea1466633250bfb467ac9b2 100644 --- a/src/main/java/org/hbp/mip/model/Variable.java +++ b/src/main/java/org/hbp/mip/model/Variable.java @@ -59,6 +59,9 @@ public class Variable { public Variable() { + /* + * Empty constructor is needed by Hibernate + */ } diff --git a/src/main/java/org/hbp/mip/model/Vote.java b/src/main/java/org/hbp/mip/model/Vote.java index 91ce0b055d21cfd9dd65a9066d34dea1f9aa93db..b9981a8e92a96092b8c0fa8e4e833f70846dedfd 100644 --- a/src/main/java/org/hbp/mip/model/Vote.java +++ b/src/main/java/org/hbp/mip/model/Vote.java @@ -33,6 +33,9 @@ public class Vote { public Vote() { + /* + * Empty constructor is needed by Hibernate + */ } diff --git a/src/main/java/org/hbp/mip/utils/CORSFilter.java b/src/main/java/org/hbp/mip/utils/CORSFilter.java index 30bea8de4bc436b3a9aa685424e89d7f6f7c92ab..02349cffae160c1f7fcc221676074ef7de84a452 100644 --- a/src/main/java/org/hbp/mip/utils/CORSFilter.java +++ b/src/main/java/org/hbp/mip/utils/CORSFilter.java @@ -18,7 +18,11 @@ public class CORSFilter implements Filter { chain.doFilter(req, res); } - public void init(FilterConfig filterConfig) {} + public void init(FilterConfig filterConfig) { + /* Nothing to do */ + } - public void destroy() {} + public void destroy() { + /* Nothing to do */ + } } diff --git a/src/main/java/org/hbp/mip/utils/CSVUtil.java b/src/main/java/org/hbp/mip/utils/CSVUtil.java index c001e83b3bd467d814d122299df88bdb22d35a00..b3f6850be795983ec8728624da7dfcf733369dfe 100644 --- a/src/main/java/org/hbp/mip/utils/CSVUtil.java +++ b/src/main/java/org/hbp/mip/utils/CSVUtil.java @@ -20,10 +20,16 @@ import java.util.stream.Collectors; */ public class CSVUtil { - private static Logger logger = Logger.getLogger(CSVUtil.class); + private static final Logger LOGGER = Logger.getLogger(CSVUtil.class); private static final String SEPARATOR = ","; + private CSVUtil() + { + /* Hide implicit public constructor */ + throw new IllegalAccessError("CSVUtil class"); + } + public static Dataset parseValues(String filename, Query query) { List<String[]> rows = getRows(filename); @@ -143,7 +149,7 @@ public class CSVUtil { data.put(c, ll); } } catch (IOException e) { - logger.trace(e); + LOGGER.trace(e); } result.setCode(code); result.setDate(date); @@ -170,8 +176,8 @@ public class CSVUtil { isr.close(); is.close(); } catch (IOException e) { - logger.trace(e); - logger.warn("A problem occured while trying to read a CSV file !"); + LOGGER.trace(e); + LOGGER.warn("A problem occured while trying to read a CSV file !"); } return rows; diff --git a/src/main/java/org/hbp/mip/utils/HTTPUtil.java b/src/main/java/org/hbp/mip/utils/HTTPUtil.java index 92beffaf45e7f48e8c71d51e36414fb78ce827ae..0a524bb99d7fa8403af05fb94fdfec0c1e9d9a25 100644 --- a/src/main/java/org/hbp/mip/utils/HTTPUtil.java +++ b/src/main/java/org/hbp/mip/utils/HTTPUtil.java @@ -2,6 +2,7 @@ package org.hbp.mip.utils; import java.io.BufferedReader; import java.io.DataOutputStream; +import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; @@ -11,20 +12,26 @@ import java.net.URL; */ public class HTTPUtil { - public static int sendGet(String url, StringBuilder resp) throws Exception { + private HTTPUtil() + { + /* Hide implicit public constructor */ + throw new IllegalAccessError("HTTPUtil class"); + } + + public static int sendGet(String url, StringBuilder resp) throws IOException { return sendHTTP(url, "", resp, "GET"); } - public static int sendPost(String url, String query, StringBuilder resp) throws Exception { + public static int sendPost(String url, String query, StringBuilder resp) throws IOException { return sendHTTP(url, query, resp, "POST"); } - public static int sendHTTP(String url, String query, StringBuilder resp, String httpVerb) throws Exception { + public static int sendHTTP(String url, String query, StringBuilder resp, String httpVerb) throws IOException { URL obj = new URL(url); HttpURLConnection con = (HttpURLConnection) obj.openConnection(); - if(!httpVerb.equals("GET")) { + if(!"GET".equals(httpVerb)) { con.setRequestMethod(httpVerb); if(query != null && query.length() > 0) { diff --git a/src/main/java/org/hbp/mip/utils/HibernateUtil.java b/src/main/java/org/hbp/mip/utils/HibernateUtil.java index bbb0296db496156b39b7c5cd140ba62c90fa07d3..87cde9618993e4070518b70d2bf6e4d058d54760 100644 --- a/src/main/java/org/hbp/mip/utils/HibernateUtil.java +++ b/src/main/java/org/hbp/mip/utils/HibernateUtil.java @@ -4,15 +4,25 @@ package org.hbp.mip.utils; +import org.apache.log4j.Logger; import org.hibernate.SessionFactory; import org.hibernate.boot.registry.StandardServiceRegistryBuilder; import org.hibernate.cfg.Configuration; import org.hibernate.service.ServiceRegistry; public class HibernateUtil { + + private static final Logger LOGGER = Logger.getLogger(CSVUtil.class); + private static ServiceRegistry serviceRegistry; + private static SessionFactory sessionFactory = buildSessionFactory(); + private HibernateUtil() { + /* Hide implicit public constructor */ + throw new IllegalAccessError("HibernateUtil class"); + } + private static SessionFactory buildSessionFactory() { try { Configuration configuration = new Configuration(); @@ -22,7 +32,7 @@ public class HibernateUtil { sessionFactory = configuration.buildSessionFactory(serviceRegistry); return sessionFactory; } catch (RuntimeException ex) { - System.err.println("Initial SessionFactory creation failed." + ex); + LOGGER.error("Initial SessionFactory creation failed." + ex); throw new ExceptionInInitializerError(ex); } }