This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository coselmar. See https://gitlab.nuiton.org/codelutin/coselmar.git commit a142971830bf98eb48e505847de2532d9bb9a3c9 Author: Yannick Martel <martel@©odelutin.com> Date: Thu Jun 15 10:14:03 2017 +0200 Some code quality --- .../fr/ifremer/coselmar/beans/AbstractMail.java | 2 +- .../fr/ifremer/coselmar/beans/DocumentBean.java | 8 ++- .../ifremer/coselmar/beans/DocumentSearchBean.java | 31 +++++++--- .../fr/ifremer/coselmar/beans/QuestionBean.java | 24 ++++++-- .../ifremer/coselmar/beans/QuestionSearchBean.java | 32 ++++++++--- .../ifremer/coselmar/beans/QuestionTreeNode.java | 16 ++++-- .../coselmar/converter/BeanEntityConverter.java | 67 ++++------------------ .../coselmar/services/CoselmarRestUtil.java | 4 ++ .../services/DefaultCoselmarServicesContext.java | 7 ++- .../services/StringLongMapValueComparator.java | 8 ++- .../indexation/DocumentsIndexationService.java | 7 ++- 11 files changed, 115 insertions(+), 91 deletions(-) diff --git a/coselmar-rest/src/main/java/fr/ifremer/coselmar/beans/AbstractMail.java b/coselmar-rest/src/main/java/fr/ifremer/coselmar/beans/AbstractMail.java index c7ce0cb..bd7f4b0 100644 --- a/coselmar-rest/src/main/java/fr/ifremer/coselmar/beans/AbstractMail.java +++ b/coselmar-rest/src/main/java/fr/ifremer/coselmar/beans/AbstractMail.java @@ -56,7 +56,7 @@ public abstract class AbstractMail { this.to = mail; } - abstract public String getSubject(); + public abstract String getSubject(); @Override public String toString() { diff --git a/coselmar-rest/src/main/java/fr/ifremer/coselmar/beans/DocumentBean.java b/coselmar-rest/src/main/java/fr/ifremer/coselmar/beans/DocumentBean.java index 0c26bbb..5ec0d92 100644 --- a/coselmar-rest/src/main/java/fr/ifremer/coselmar/beans/DocumentBean.java +++ b/coselmar-rest/src/main/java/fr/ifremer/coselmar/beans/DocumentBean.java @@ -152,12 +152,14 @@ public class DocumentBean implements Serializable { } public Date getDepositDate() { - return depositDate; + return depositDate != null ? new Date(depositDate.getTime()) : null; } public void setDepositDate(Date depositDate) { if (depositDate != null) { this.depositDate = new Date(depositDate.getTime()); + } else { + this.depositDate = null; } } @@ -225,12 +227,14 @@ public class DocumentBean implements Serializable { } public Date getPublicationDate() { - return publicationDate; + return publicationDate != null ? new Date(publicationDate.getTime()) : null; } public void setPublicationDate(Date publicationDate) { if (publicationDate != null) { this.publicationDate = new Date(publicationDate.getTime()); + } else { + this.publicationDate = null; } } diff --git a/coselmar-rest/src/main/java/fr/ifremer/coselmar/beans/DocumentSearchBean.java b/coselmar-rest/src/main/java/fr/ifremer/coselmar/beans/DocumentSearchBean.java index 0fe4745..17a7599 100644 --- a/coselmar-rest/src/main/java/fr/ifremer/coselmar/beans/DocumentSearchBean.java +++ b/coselmar-rest/src/main/java/fr/ifremer/coselmar/beans/DocumentSearchBean.java @@ -82,34 +82,49 @@ public class DocumentSearchBean extends DocumentBean { } public Date getDepositAfterDate() { - return depositAfterDate; + return depositAfterDate != null ? new Date(depositAfterDate.getTime()) : null; } public void setDepositAfterDate(Date depositAfterDate) { - this.depositAfterDate = depositAfterDate; + if (depositAfterDate != null) { + this.depositAfterDate = new Date(depositAfterDate.getTime()); + } else { + this.depositAfterDate = null; + } } public Date getDepositBeforeDate() { - return depositBeforeDate; + return depositBeforeDate != null ? new Date(depositBeforeDate.getTime()) : null; } public void setDepositBeforeDate(Date depositBeforeDate) { - this.depositBeforeDate = depositBeforeDate; + if (depositBeforeDate != null) { + this.depositBeforeDate = new Date(depositBeforeDate.getTime()); + } else { + this.depositBeforeDate = null; + } } public Date getPublicationAfterDate() { - return publicationAfterDate; + return publicationAfterDate != null ? new Date(publicationAfterDate.getTime()) : null; } public void setPublicationAfterDate(Date publicationAfterDate) { - this.publicationAfterDate = publicationAfterDate; + if (publicationAfterDate != null) { + this.publicationAfterDate = new Date(publicationAfterDate.getTime()); + } else { + this.publicationAfterDate = null; + } } public Date getPublicationBeforeDate() { - return publicationBeforeDate; + return publicationBeforeDate != null ? new Date(publicationBeforeDate.getTime()) : null; } public void setPublicationBeforeDate(Date publicationBeforeDate) { - this.publicationBeforeDate = publicationBeforeDate; + if (publicationBeforeDate != null) { + this.publicationBeforeDate = new Date(publicationBeforeDate.getTime()); + } + this.publicationBeforeDate = null; } } diff --git a/coselmar-rest/src/main/java/fr/ifremer/coselmar/beans/QuestionBean.java b/coselmar-rest/src/main/java/fr/ifremer/coselmar/beans/QuestionBean.java index 037d51b..c5395aa 100644 --- a/coselmar-rest/src/main/java/fr/ifremer/coselmar/beans/QuestionBean.java +++ b/coselmar-rest/src/main/java/fr/ifremer/coselmar/beans/QuestionBean.java @@ -102,19 +102,27 @@ public class QuestionBean implements Serializable { } public Date getSubmissionDate() { - return submissionDate; + return submissionDate != null ? new Date(submissionDate.getTime()) : null; } public void setSubmissionDate(Date submissionDate) { - this.submissionDate = submissionDate; + if (submissionDate != null) { + this.submissionDate = new Date(submissionDate.getTime()); + } else { + this.submissionDate = null; + } } public Date getDeadline() { - return deadline; + return deadline != null ? new Date(deadline.getTime()) : null; } public void setDeadline(Date deadline) { - this.deadline = deadline; + if (deadline != null) { + this.deadline = new Date(deadline.getTime()); + } else { + this.deadline = null; + } } public Set<String> getThemes() { @@ -134,11 +142,15 @@ public class QuestionBean implements Serializable { } public Date getClosingDate() { - return closingDate; + return closingDate != null ? new Date(closingDate.getTime()) : null; } public void setClosingDate(Date closingDate) { - this.closingDate = closingDate; + if (closingDate != null) { + this.closingDate = new Date(closingDate.getTime()); + } else { + this.closingDate = null; + } } public String getType() { diff --git a/coselmar-rest/src/main/java/fr/ifremer/coselmar/beans/QuestionSearchBean.java b/coselmar-rest/src/main/java/fr/ifremer/coselmar/beans/QuestionSearchBean.java index e7591ea..d1fd0f7 100644 --- a/coselmar-rest/src/main/java/fr/ifremer/coselmar/beans/QuestionSearchBean.java +++ b/coselmar-rest/src/main/java/fr/ifremer/coselmar/beans/QuestionSearchBean.java @@ -77,35 +77,51 @@ public class QuestionSearchBean extends QuestionBean { } public Date getSubmissionAfterDate() { - return submissionAfterDate; + return submissionAfterDate != null ? new Date(submissionAfterDate.getTime()) : null; } public void setSubmissionAfterDate(Date submissionAfterDate) { - this.submissionAfterDate = submissionAfterDate; + if (submissionAfterDate != null) { + this.submissionAfterDate = new Date(submissionAfterDate.getTime()); + } else { + this.submissionAfterDate = null; + } } public Date getSubmissionBeforeDate() { - return submissionBeforeDate; + return submissionBeforeDate != null ? new Date(submissionBeforeDate.getTime()) : null; } public void setSubmissionBeforeDate(Date submissionBeforeDate) { - this.submissionBeforeDate = submissionBeforeDate; + if (submissionBeforeDate != null) { + this.submissionBeforeDate = new Date(submissionBeforeDate.getTime()); + } else { + this.submissionBeforeDate = null; + } } public Date getDeadlineAfterDate() { - return deadlineAfterDate; + return deadlineAfterDate != null ? new Date(deadlineAfterDate.getTime()) : null; } public void setDeadlineAfterDate(Date deadlineAfterDate) { - this.deadlineAfterDate = deadlineAfterDate; + if (deadlineAfterDate != null) { + this.deadlineAfterDate = new Date(deadlineAfterDate.getTime()); + } else { + this.deadlineAfterDate = null; + } } public Date getDeadlineBeforeDate() { - return deadlineBeforeDate; + return deadlineBeforeDate != null ? new Date(deadlineBeforeDate.getTime()) : null; } public void setDeadlineBeforeDate(Date deadlineBeforeDate) { - this.deadlineBeforeDate = deadlineBeforeDate; + if (deadlineBeforeDate != null) { + this.deadlineBeforeDate = new Date(deadlineBeforeDate.getTime()); + } else { + this.deadlineBeforeDate = null; + } } public String getParticipantId() { diff --git a/coselmar-rest/src/main/java/fr/ifremer/coselmar/beans/QuestionTreeNode.java b/coselmar-rest/src/main/java/fr/ifremer/coselmar/beans/QuestionTreeNode.java index ee6743d..d5cc11c 100644 --- a/coselmar-rest/src/main/java/fr/ifremer/coselmar/beans/QuestionTreeNode.java +++ b/coselmar-rest/src/main/java/fr/ifremer/coselmar/beans/QuestionTreeNode.java @@ -67,19 +67,27 @@ public class QuestionTreeNode implements Serializable { } public Date getSubmissionDate() { - return submissionDate; + return submissionDate != null ? new Date(submissionDate.getTime()) : null; } public void setSubmissionDate(Date submissionDate) { - this.submissionDate = submissionDate; + if (submissionDate != null) { + this.submissionDate = new Date(submissionDate.getTime()); + } else { + this.submissionDate = null; + } } public Date getDeadline() { - return deadline; + return deadline != null ? new Date(deadline.getTime()) : null; } public void setDeadline(Date deadline) { - this.deadline = deadline; + if (deadline != null) { + this.deadline = new Date(deadline.getTime()); + } else { + this.deadline = null; + } } public Set<String> getThemes() { diff --git a/coselmar-rest/src/main/java/fr/ifremer/coselmar/converter/BeanEntityConverter.java b/coselmar-rest/src/main/java/fr/ifremer/coselmar/converter/BeanEntityConverter.java index d36354b..b470a39 100644 --- a/coselmar-rest/src/main/java/fr/ifremer/coselmar/converter/BeanEntityConverter.java +++ b/coselmar-rest/src/main/java/fr/ifremer/coselmar/converter/BeanEntityConverter.java @@ -56,6 +56,10 @@ import java.util.Set; */ public class BeanEntityConverter { + private BeanEntityConverter() { + throw new IllegalAccessError("Utility class"); + } + public static DocumentBean toBean(TopiaIdFactory idFactory, Document document) { String lightId = idFactory.getRandomPart(document.getTopiaId()); Date depositeDate = document.getDepositDate(); @@ -98,7 +102,7 @@ public class BeanEntityConverter { ); } - public static UserBean toBean(String lightId ,CoselmarUser user) { + public static UserBean toBean(String lightId, CoselmarUser user) { return new UserBean(lightId, user.getFirstname(), user.getName(), @@ -129,34 +133,7 @@ public class BeanEntityConverter { } public static QuestionBean toBean(TopiaIdFactory idFactory, Question question) { - QuestionBean result = new QuestionBean(); - result.setId(idFactory.getRandomPart(question.getTopiaId())); - - result.setTitle(question.getTitle()); - result.setSummary(question.getSummary()); - result.setType(question.getType()); - result.setPrivacy(question.getPrivacy().name()); - result.setStatus(question.getStatus().name()); - - Collection<String> theme = question.getTheme(); - if (theme != null && !theme.isEmpty()) { - result.setThemes(new HashSet(theme)); - } - - Date submissionDate = question.getSubmissionDate(); - if (submissionDate != null){ - result.setSubmissionDate(new Date(submissionDate.getTime())); - } - - Date deadline = question.getDeadline(); - if (deadline != null){ - result.setDeadline(new Date(deadline.getTime())); - } - - Date closingDate = question.getClosingDate(); - if (closingDate != null){ - result.setClosingDate(new Date(closingDate.getTime())); - } + QuestionBean result = toLightBean(idFactory, question); CoselmarUserGroup participants = question.getParticipants(); if (participants != null && participants.getMembers() != null) { @@ -216,26 +193,6 @@ public class BeanEntityConverter { } result.setConclusion(question.getConclusion()); - Collection<Document> closingDocuments = question.getClosingDocuments(); - if (closingDocuments != null && !closingDocuments.isEmpty()) { - for (Document relatedDocument : closingDocuments) { - DocumentBean documentBean = toBean(idFactory, relatedDocument); - result.addClosingDocument(documentBean); - } - } - - result.setRestricted(question.isUnavailable()); - - Collection<Link> links = question.getLinks(); - if (links != null && !links.isEmpty()) { - for (Link link : links) { - LinkBean linkBean = new LinkBean(); - linkBean.setId(idFactory.getRandomPart(link.getTopiaId())); - linkBean.setName(link.getName()); - linkBean.setUrl(link.getUrl()); - result.addLink(linkBean); - } - } return result; } @@ -256,17 +213,17 @@ public class BeanEntityConverter { } Date submissionDate = question.getSubmissionDate(); - if (submissionDate != null){ + if (submissionDate != null) { result.setSubmissionDate(new Date(submissionDate.getTime())); } Date deadline = question.getDeadline(); - if (deadline != null){ + if (deadline != null) { result.setDeadline(new Date(deadline.getTime())); } Date closingDate = question.getClosingDate(); - if (closingDate != null){ + if (closingDate != null) { result.setClosingDate(new Date(closingDate.getTime())); result.setConclusion(question.getConclusion()); } @@ -387,17 +344,17 @@ public class BeanEntityConverter { } Date submissionDate = questionBean.getSubmissionDate(); - if (submissionDate != null){ + if (submissionDate != null) { question.setSubmissionDate(new Date(submissionDate.getTime())); } Date deadline = questionBean.getDeadline(); - if (deadline != null){ + if (deadline != null) { question.setDeadline(new Date(deadline.getTime())); } Date closingDate = questionBean.getClosingDate(); - if (closingDate != null){ + if (closingDate != null) { question.setClosingDate(new Date(closingDate.getTime())); question.setConclusion(questionBean.getConclusion()); } diff --git a/coselmar-rest/src/main/java/fr/ifremer/coselmar/services/CoselmarRestUtil.java b/coselmar-rest/src/main/java/fr/ifremer/coselmar/services/CoselmarRestUtil.java index 3c6bfa7..152ed50 100644 --- a/coselmar-rest/src/main/java/fr/ifremer/coselmar/services/CoselmarRestUtil.java +++ b/coselmar-rest/src/main/java/fr/ifremer/coselmar/services/CoselmarRestUtil.java @@ -38,6 +38,10 @@ public class CoselmarRestUtil { public static final String HEADER_ACCESS_CONTROL_ALLOW_HEADERS = "Access-Control-Allow-Headers"; + private CoselmarRestUtil() { + throw new IllegalAccessError("Utility class"); + } + public static void prepareResponse(HttpContext context) { HttpServletResponse response = context.getResponse(); diff --git a/coselmar-rest/src/main/java/fr/ifremer/coselmar/services/DefaultCoselmarServicesContext.java b/coselmar-rest/src/main/java/fr/ifremer/coselmar/services/DefaultCoselmarServicesContext.java index b48a74f..70faf28 100644 --- a/coselmar-rest/src/main/java/fr/ifremer/coselmar/services/DefaultCoselmarServicesContext.java +++ b/coselmar-rest/src/main/java/fr/ifremer/coselmar/services/DefaultCoselmarServicesContext.java @@ -38,6 +38,7 @@ import java.lang.reflect.InvocationTargetException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; +import java.util.Arrays; import java.util.Date; import java.util.Locale; @@ -50,6 +51,8 @@ public class DefaultCoselmarServicesContext implements CoselmarServicesContext { private static final Log log = getLog(DefaultCoselmarServicesContext.class); + protected static final int SALT_SIZE = 16; + protected CoselmarServicesConfig servicesConfig; protected CoselmarPersistenceContext persistenceContext; @@ -154,9 +157,9 @@ public class DefaultCoselmarServicesContext implements CoselmarServicesContext { } catch (NoSuchAlgorithmException e) { secureRandom = new SecureRandom(); } - byte[] salt = new byte[16]; + byte[] salt = new byte[SALT_SIZE]; secureRandom.nextBytes(salt); - return salt.toString(); + return Arrays.toString(salt); } @Override diff --git a/coselmar-rest/src/main/java/fr/ifremer/coselmar/services/StringLongMapValueComparator.java b/coselmar-rest/src/main/java/fr/ifremer/coselmar/services/StringLongMapValueComparator.java index f5168e9..ba2453e 100644 --- a/coselmar-rest/src/main/java/fr/ifremer/coselmar/services/StringLongMapValueComparator.java +++ b/coselmar-rest/src/main/java/fr/ifremer/coselmar/services/StringLongMapValueComparator.java @@ -24,14 +24,18 @@ package fr.ifremer.coselmar.services; * #L% */ +import java.io.Serializable; import java.util.Comparator; import java.util.Map; /** * @author ymartel (martel@codelutin.com) */ -public class StringLongMapValueComparator implements Comparator<String> { - Map<String, Long> base; +public class StringLongMapValueComparator implements Comparator<String>, Serializable { + + private static final long serialVersionUID = 8730879698907790905L; + + protected Map<String, Long> base; public StringLongMapValueComparator(Map<String, Long> base) { this.base = base; diff --git a/coselmar-rest/src/main/java/fr/ifremer/coselmar/services/indexation/DocumentsIndexationService.java b/coselmar-rest/src/main/java/fr/ifremer/coselmar/services/indexation/DocumentsIndexationService.java index 137c228..ba46886 100644 --- a/coselmar-rest/src/main/java/fr/ifremer/coselmar/services/indexation/DocumentsIndexationService.java +++ b/coselmar-rest/src/main/java/fr/ifremer/coselmar/services/indexation/DocumentsIndexationService.java @@ -79,6 +79,7 @@ public class DocumentsIndexationService extends CoselmarSimpleServiceSupport { protected static final String DOCUMENT_KEYWORD_CLOUD_TAG_PROPERTY = "documentCloudTagKeyword"; protected static final String DOCUMENT_FILE_CONTENT_INDEX_PROPERTY = "documentFileContent"; protected static final String DOCUMENT_TYPE = "documentindextype"; + protected static final int MAGICAL_SEARCH_SIZE = 1000; public void indexDocument(DocumentBean document, String fileContent) throws IOException { @@ -159,7 +160,7 @@ public class DocumentsIndexationService extends CoselmarSimpleServiceSupport { fullQueryBuilder.add(queryBuilder.build(), BooleanClause.Occur.MUST); fullQueryBuilder.add(new TermQuery(new Term("type", DOCUMENT_TYPE)), BooleanClause.Occur.MUST); - ScoreDoc[] hits = isearcher.search(fullQueryBuilder.build(), 1000).scoreDocs; + ScoreDoc[] hits = isearcher.search(fullQueryBuilder.build(), MAGICAL_SEARCH_SIZE).scoreDocs; List<String> documentIds = new ArrayList(hits.length); @@ -216,7 +217,7 @@ public class DocumentsIndexationService extends CoselmarSimpleServiceSupport { fullQueryBuilder.add(keywordsQueryBuilder.build(), BooleanClause.Occur.MUST); fullQueryBuilder.add(new TermQuery(new Term("type", DOCUMENT_TYPE)), BooleanClause.Occur.MUST); - ScoreDoc[] hits = isearcher.search(fullQueryBuilder.build(), 1000).scoreDocs; + ScoreDoc[] hits = isearcher.search(fullQueryBuilder.build(), MAGICAL_SEARCH_SIZE).scoreDocs; List<String> documentIds = new ArrayList(hits.length); @@ -239,7 +240,7 @@ public class DocumentsIndexationService extends CoselmarSimpleServiceSupport { queryBuilder.add(new TermQuery(new Term(DOCUMENT_ID_INDEX_PROPERTY, document.getId())), BooleanClause.Occur.MUST); queryBuilder.add(new TermQuery(new Term("type", DOCUMENT_TYPE)), BooleanClause.Occur.MUST); - ScoreDoc[] hits = isearcher.search(queryBuilder.build(), 1000).scoreDocs; + ScoreDoc[] hits = isearcher.search(queryBuilder.build(), MAGICAL_SEARCH_SIZE).scoreDocs; if (hits.length > 0) { Document doc = new Document(); doc.add(new StringField(DOCUMENT_ID_INDEX_PROPERTY, document.getId(), Field.Store.YES)); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.