[coselmar] branch feature/6009-create-document updated (51bd8e3 -> c07e607)
This is an automated email from the git hooks/post-receive script. New change to branch feature/6009-create-document in repository coselmar. See http://git.codelutin.com/coselmar.git from 51bd8e3 Merge branch 'feature/single-page-ui' into develop new c07e607 first step of document creation : document metadata The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit c07e6075711aa057960e58d2a8c062d2584b59d9 Author: Yannick Martel <martel@©odelutin.com> Date: Mon Nov 3 18:02:15 2014 +0100 first step of document creation : document metadata Summary of changes: coselmar-persistence/pom.xml | 3 +- .../src/main/xmi/coselmar-model.properties | 1 + .../src/main/xmi/coselmar-model.zargo | Bin 4041 -> 4656 bytes .../src/main/xmi/coselmar-model.zargo~ | Bin 0 -> 4635 bytes .../fr/ifremer/coselmar/beans/DocumentBean.java | 10 ++++++ .../coselmar/services/v1/DocumentsWebService.java | 38 ++++++++++++++++----- .../src/main/webapp/js/coselmar-controllers.js | 6 ++-- coselmar-ui/src/main/webapp/views/newdocument.html | 8 +++-- 8 files changed, 52 insertions(+), 14 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/6009-create-document in repository coselmar. See http://git.codelutin.com/coselmar.git commit c07e6075711aa057960e58d2a8c062d2584b59d9 Author: Yannick Martel <martel@©odelutin.com> Date: Mon Nov 3 18:02:15 2014 +0100 first step of document creation : document metadata --- coselmar-persistence/pom.xml | 3 +- .../src/main/xmi/coselmar-model.properties | 1 + .../src/main/xmi/coselmar-model.zargo | Bin 4041 -> 4656 bytes .../src/main/xmi/coselmar-model.zargo~ | Bin 0 -> 4635 bytes .../fr/ifremer/coselmar/beans/DocumentBean.java | 10 ++++++ .../coselmar/services/v1/DocumentsWebService.java | 38 ++++++++++++++++----- .../src/main/webapp/js/coselmar-controllers.js | 6 ++-- coselmar-ui/src/main/webapp/views/newdocument.html | 8 +++-- 8 files changed, 52 insertions(+), 14 deletions(-) diff --git a/coselmar-persistence/pom.xml b/coselmar-persistence/pom.xml index 1fefb8f..0932629 100644 --- a/coselmar-persistence/pom.xml +++ b/coselmar-persistence/pom.xml @@ -137,7 +137,8 @@ http://maven.apache.org/xsd/maven-4.0.0.xsd"> fr.ifremer.coselmar.persistence </defaultPackage> <templates> - org.nuiton.topia.templates.TopiaMetaTransformer + org.nuiton.topia.templates.TopiaMetaTransformer, + org.nuiton.eugene.java.JavaEnumerationTransformer, </templates> <failIfUnsafe>true</failIfUnsafe> </configuration> diff --git a/coselmar-persistence/src/main/xmi/coselmar-model.properties b/coselmar-persistence/src/main/xmi/coselmar-model.properties index 85c849e..15b50a2 100644 --- a/coselmar-persistence/src/main/xmi/coselmar-model.properties +++ b/coselmar-persistence/src/main/xmi/coselmar-model.properties @@ -1,3 +1,4 @@ model.tagvalue.version=1.0 package.fr.ifremer.coselmar.persistence.entity.stereotype=entity +model.tagvalue.useEnumerationName=true \ No newline at end of file diff --git a/coselmar-persistence/src/main/xmi/coselmar-model.zargo b/coselmar-persistence/src/main/xmi/coselmar-model.zargo index b0e53d3..f8878a3 100644 Binary files a/coselmar-persistence/src/main/xmi/coselmar-model.zargo and b/coselmar-persistence/src/main/xmi/coselmar-model.zargo differ diff --git a/coselmar-persistence/src/main/xmi/coselmar-model.zargo~ b/coselmar-persistence/src/main/xmi/coselmar-model.zargo~ index e69de29..7bc7172 100644 Binary files a/coselmar-persistence/src/main/xmi/coselmar-model.zargo~ and b/coselmar-persistence/src/main/xmi/coselmar-model.zargo~ differ 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 d96652f..cc785a8 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 @@ -2,6 +2,7 @@ package fr.ifremer.coselmar.beans; import java.io.Serializable; import java.util.Date; +import java.util.List; /** * @author ymartel <martel@codelutin.com> @@ -12,6 +13,7 @@ public class DocumentBean implements Serializable { protected String name; protected String ownerName; protected String privacy; + protected List<String> keywords; protected Date depositDate; public DocumentBean(String id, String name, String ownerName, String privacy, Date depositDate) { @@ -61,4 +63,12 @@ public class DocumentBean implements Serializable { public void setDepositDate(Date depositDate) { this.depositDate = depositDate; } + + public List<String> getKeywords() { + return keywords; + } + + public void setKeywords(List<String> keywords) { + this.keywords = keywords; + } } diff --git a/coselmar-rest/src/main/java/fr/ifremer/coselmar/services/v1/DocumentsWebService.java b/coselmar-rest/src/main/java/fr/ifremer/coselmar/services/v1/DocumentsWebService.java index 331bcd4..0220344 100644 --- a/coselmar-rest/src/main/java/fr/ifremer/coselmar/services/v1/DocumentsWebService.java +++ b/coselmar-rest/src/main/java/fr/ifremer/coselmar/services/v1/DocumentsWebService.java @@ -4,10 +4,12 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; +import com.google.common.base.Preconditions; import fr.ifremer.coselmar.beans.DocumentBean; +import fr.ifremer.coselmar.persistence.entity.Document; +import fr.ifremer.coselmar.persistence.entity.DocumentPrivacy; import fr.ifremer.coselmar.services.CoselmarTechnicalException; import fr.ifremer.coselmar.services.CoselmarWebServiceSupport; -import org.apache.commons.lang3.RandomUtils; /** * @author ymartel <martel@codelutin.com> @@ -22,19 +24,36 @@ public class DocumentsWebService extends CoselmarWebServiceSupport { } public List<DocumentBean> getDocuments() { - //TODO load from bdd - List<DocumentBean> result = new ArrayList<>(); - Date now = new Date(); - for (int i = 1; i < RandomUtils.nextInt(0, 20); i++) { - String privacy = i % 2 == 0 ? "public" : "private"; - DocumentBean document = new DocumentBean(String.valueOf(i), "fakeDocument " + i, "no owner", privacy, now); - result.add(document); + List<Document> documentList = getDocumentDao().findAll(); + List<DocumentBean> result = new ArrayList<>(documentList.size()); + + for (Document document : documentList) { + Date depositDate = new Date(document.getDepositDate().getTime()); + //TODO ymartel 20141103 : manage file ? + DocumentBean documentBean = new DocumentBean(document.getTopiaId(), document.getName(), "N/A", document.getPrivacy().name(), depositDate); + result.add(documentBean); } + return result; } public void addDocument(DocumentBean documentBean) { - throw new CoselmarTechnicalException("not yet implemented"); + Preconditions.checkNotNull(documentBean); + Document document = getDocumentDao().create(); + + document.setName(documentBean.getName()); + document.setPrivacy(DocumentPrivacy.valueOf(documentBean.getPrivacy().toUpperCase())); + document.addAllKeywords(documentBean.getKeywords()); + + Date depositDate = documentBean.getDepositDate(); + if (depositDate != null) { + document.setDepositDate(new Date(depositDate.getTime())); + } else { + document.setDepositDate(new Date()); + } + //TODO ymartel 20141103 : manage file + + commit(); } public void saveDocument(DocumentBean documentBean) { @@ -44,4 +63,5 @@ public class DocumentsWebService extends CoselmarWebServiceSupport { public void deleteDocument(String documentId) { throw new CoselmarTechnicalException("not yet implemented"); } + } diff --git a/coselmar-ui/src/main/webapp/js/coselmar-controllers.js b/coselmar-ui/src/main/webapp/js/coselmar-controllers.js index 6effe66..68316a6 100644 --- a/coselmar-ui/src/main/webapp/js/coselmar-controllers.js +++ b/coselmar-ui/src/main/webapp/js/coselmar-controllers.js @@ -12,16 +12,18 @@ coselmarControllers.controller("DocumentsCtrl", ['$scope','documentService', fun // Controller for new document View coselmarControllers.controller("NewDocumentCtrl", ['$scope', 'documentService', function($scope, documentService){ - documentService.getDocuments($scope); + $scope.privacy="public"; $scope.createNewDocument = function(){ var newdocument = {'name':$scope.name, 'file':$scope.file, 'privacy':$scope.privacy, 'keywords':$scope.keywords}; + console.log("document to create"); + console.log(newdocument); // Call service to create a new document documentService.createDocument(newdocument, $scope); // Push new doc to existing table column - $scope.documents.push(newdocument); + //$scope.documents.push(newdocument); // Reset fields values $scope.name=''; diff --git a/coselmar-ui/src/main/webapp/views/newdocument.html b/coselmar-ui/src/main/webapp/views/newdocument.html index 9782b46..2a27b38 100644 --- a/coselmar-ui/src/main/webapp/views/newdocument.html +++ b/coselmar-ui/src/main/webapp/views/newdocument.html @@ -25,7 +25,7 @@ <label class="col-md-4 control-label">keyword</label> <div class="col-md-5"> - <input type="text" class="form-control" name="keyword" ng-model="keyword" required=""/> + <input type="text" class="form-control" name="keyword" ng-model="keywords" ng-list required=""/> </div> </div> @@ -33,7 +33,11 @@ <label class="col-md-4 control-label">Privacy</label> <div class="col-md-5"> - <input type="text" class="form-control" name="privacy" ng-model="privacy"/> + <select class="form-control" name="privacy" ng-model="privacy"> + <option value="private">private</option> + <option value="public">public</option> + <option value="restricted">restricted</option> + </select> </div> </div> -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm