From c0d576e45efdea412e7c07c16642d7d5de5895a6 Mon Sep 17 00:00:00 2001 From: Olivier Lamy Date: Fri, 30 Mar 2012 16:47:14 +0000 Subject: [PATCH] NPE check and start moving to a knockout model git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1307528 13f79535-47bb-0310-9956-ffa450edef68 --- README.txt | 4 +++ .../apache/archiva/i18n/default.properties | 1 + .../api/DefaultFileUploadService.java | 15 +++++++--- .../webapp/js/archiva/artifacts-management.js | 27 +++++++++++++++-- .../archiva/artifacts-management.html | 30 ++++++++++++------- 5 files changed, 61 insertions(+), 16 deletions(-) diff --git a/README.txt b/README.txt index aa22dfa0f..5f470c0b9 100644 --- a/README.txt +++ b/README.txt @@ -55,3 +55,7 @@ This file must contains: mail.smtp.socketFactory.class="javax.net.ssl.SSLSocketFactory"/> + +jrebel +generate files: mvn org.zeroturnaround:jrebel-maven-plugin:1.1.3:generate -Pjs + diff --git a/archiva-modules/archiva-web/archiva-web-common/src/main/resources/org/apache/archiva/i18n/default.properties b/archiva-modules/archiva-web/archiva-web-common/src/main/resources/org/apache/archiva/i18n/default.properties index 50bb4cabb..cf8e23b87 100644 --- a/archiva-modules/archiva-web/archiva-web-common/src/main/resources/org/apache/archiva/i18n/default.properties +++ b/archiva-modules/archiva-web/archiva-web-common/src/main/resources/org/apache/archiva/i18n/default.properties @@ -397,5 +397,6 @@ fileupload.version=Version fileupload.packaging=Packaging fileupload.generatePom=Generate Maven POM fileupload.repositoryId=Repository Id +fileupload.save=Save Files diff --git a/archiva-modules/archiva-web/archiva-webapp-js/src/main/java/org/apache/archiva/webapp/ui/services/api/DefaultFileUploadService.java b/archiva-modules/archiva-web/archiva-webapp-js/src/main/java/org/apache/archiva/webapp/ui/services/api/DefaultFileUploadService.java index 4d5ff797f..9e114f0f3 100644 --- a/archiva-modules/archiva-web/archiva-webapp-js/src/main/java/org/apache/archiva/webapp/ui/services/api/DefaultFileUploadService.java +++ b/archiva-modules/archiva-web/archiva-webapp-js/src/main/java/org/apache/archiva/webapp/ui/services/api/DefaultFileUploadService.java @@ -91,14 +91,21 @@ public class DefaultFileUploadService String repositoryId = IOUtils.toString( multipartBody.getAttachment( "repositoryId" ).getDataHandler().getInputStream() ); - boolean generatePom = BooleanUtils.toBoolean( - IOUtils.toString( multipartBody.getAttachment( "generatePom" ).getDataHandler().getInputStream() ) ); + Attachment generatePomAttachment = multipartBody.getAttachment( "generatePom" ); + boolean generatePom = BooleanUtils.toBoolean( generatePomAttachment == null + ? Boolean.FALSE.toString() + : IOUtils.toString( + generatePomAttachment.getDataHandler().getInputStream() ) ); String classifier = IOUtils.toString( multipartBody.getAttachment( "classifier" ).getDataHandler().getInputStream() ); - boolean pomFile = BooleanUtils.toBoolean( - IOUtils.toString( multipartBody.getAttachment( "pomFile" ).getDataHandler().getInputStream() ) ); + Attachment pomFileAttachment = multipartBody.getAttachment( "pomFile" ); + + boolean pomFile = BooleanUtils.toBoolean( pomFileAttachment == null + ? Boolean.FALSE.toString() + : IOUtils.toString( + pomFileAttachment.getDataHandler().getInputStream() ) ); log.info( "uploading file:" + groupId + ":" + artifactId + ":" + version ); Attachment file = multipartBody.getAttachment( "files[]" ); diff --git a/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/artifacts-management.js b/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/artifacts-management.js index 6e76eeb66..3fbffdad6 100644 --- a/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/artifacts-management.js +++ b/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/artifacts-management.js @@ -19,6 +19,23 @@ define("archiva.artifacts-management",["jquery","i18n","order!utils","order!jquery.tmpl","order!knockout", "order!knockout.simpleGrid","jquery.validate","bootstrap","jquery.fileupload","jquery.fileupload.ui"] , function() { + + ArtifactUpload=function(classifier,pomFile){ + this.classifier=classifier; + this.pomFile=pomFile; + } + + ArtifactUploadViewModel=function(managedRepositories){ + this.managedRepositories=ko.observableArray(managedRepositories); + this.repositoryId=ko.observable(); + this.groupId=ko.observable(); + this.artifactId=ko.observable(); + this.version=ko.observable(); + this.packaging=ko.observable(); + this.generatePom=ko.observable(); + + } + displayUploadArtifact=function(){ var mainContent=$("#main-content"); mainContent.html(mediumSpinnerImg()); @@ -27,11 +44,17 @@ define("archiva.artifacts-management",["jquery","i18n","order!utils","order!jque dataType: 'json', success: function(data) { mainContent.html($("#file-upload-tmpl" ).tmpl({managedRepositories: data})); + var artifactUploadViewModel=new ArtifactUploadViewModel(data); + ko.applyBindings(artifactUploadViewModel,mainContent.find("#file-upload-main" ).get(0)); + mainContent.find("#fileupload-save-files" ).on("click",function(){ + $.log("fileupload-save-files click"); + }); + $('#fileupload').fileupload({ add: function (e, data) { data.timeStamp = $.now(); - $.blueimpUI.fileupload.prototype - .options.add.call(this, e, data); + $.log("fileupload add file"); + $.blueimpUI.fileupload.prototype.options.add.call(this, e, data); } } ); diff --git a/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/artifacts-management.html b/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/artifacts-management.html index 8140438f8..7bff1cec1 100644 --- a/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/artifacts-management.html +++ b/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/artifacts-management.html @@ -1,3 +1,7 @@ + +