You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ol...@apache.org on 2012/03/30 18:47:14 UTC
svn commit: r1307528 - in /archiva/trunk: ./
archiva-modules/archiva-web/archiva-web-common/src/main/resources/org/apache/archiva/i18n/
archiva-modules/archiva-web/archiva-webapp-js/src/main/java/org/apache/archiva/webapp/ui/services/api/
archiva-modul...
Author: olamy
Date: Fri Mar 30 16:47:14 2012
New Revision: 1307528
URL: http://svn.apache.org/viewvc?rev=1307528&view=rev
Log:
NPE check and start moving to a knockout model
Modified:
archiva/trunk/README.txt
archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/resources/org/apache/archiva/i18n/default.properties
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/java/org/apache/archiva/webapp/ui/services/api/DefaultFileUploadService.java
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/artifacts-management.js
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/artifacts-management.html
Modified: archiva/trunk/README.txt
URL: http://svn.apache.org/viewvc/archiva/trunk/README.txt?rev=1307528&r1=1307527&r2=1307528&view=diff
==============================================================================
--- archiva/trunk/README.txt (original)
+++ archiva/trunk/README.txt Fri Mar 30 16:47:14 2012
@@ -55,3 +55,7 @@ This file must contains:
mail.smtp.socketFactory.class="javax.net.ssl.SSLSocketFactory"/>
</Context>
+
+jrebel
+generate files: mvn org.zeroturnaround:jrebel-maven-plugin:1.1.3:generate -Pjs
+
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/resources/org/apache/archiva/i18n/default.properties
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/resources/org/apache/archiva/i18n/default.properties?rev=1307528&r1=1307527&r2=1307528&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/resources/org/apache/archiva/i18n/default.properties (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-web-common/src/main/resources/org/apache/archiva/i18n/default.properties Fri Mar 30 16:47:14 2012
@@ -397,5 +397,6 @@ fileupload.version=Version
fileupload.packaging=Packaging
fileupload.generatePom=Generate Maven POM
fileupload.repositoryId=Repository Id
+fileupload.save=Save Files
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/java/org/apache/archiva/webapp/ui/services/api/DefaultFileUploadService.java
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/java/org/apache/archiva/webapp/ui/services/api/DefaultFileUploadService.java?rev=1307528&r1=1307527&r2=1307528&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/java/org/apache/archiva/webapp/ui/services/api/DefaultFileUploadService.java (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/java/org/apache/archiva/webapp/ui/services/api/DefaultFileUploadService.java Fri Mar 30 16:47:14 2012
@@ -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[]" );
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/artifacts-management.js
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/artifacts-management.js?rev=1307528&r1=1307527&r2=1307528&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/artifacts-management.js (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/artifacts-management.js Fri Mar 30 16:47:14 2012
@@ -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",["
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);
}
}
);
Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/artifacts-management.html
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/artifacts-management.html?rev=1307528&r1=1307527&r2=1307528&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/artifacts-management.html (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/artifacts-management.html Fri Mar 30 16:47:14 2012
@@ -1,3 +1,7 @@
+<script id="file-upload-screen" type="text/html">
+ <div id="file-upload-main" ddata-bind='template:{name:"file-upload-tmpl"}'></div>
+</script>
+
<script id="file-upload-tmpl" type="text/html">
<div class="page-header">
<h3>${$.i18n.prop('fileupload.header')}</h3>
@@ -9,45 +13,43 @@
<div class="control-group">
<label class="control-label" for="repositoryId">${$.i18n.prop('fileupload.repositoryId')}</label>
<div class="controls">
- <select id="repositoryId" name="repositoryId">
- {{each(i,repository) managedRepositories}}
- <option value="${repository.id}">${repository.name}</option>
- {{/each}}
- </select>
+ <select id="repositoryId"
+ data-bind="options: managedRepositories, optionsText: 'name',optionsValue:'id',
+ value: repositoryId"></select>
</div>
</div>
<div class="control-group">
<label class="control-label" for="groupId">${$.i18n.prop('fileupload.groupId')}</label>
<div class="controls">
- <input type="text" class="xlarge required" id="groupId" name="groupId" size="10" />
+ <input type="text" class="xlarge required" data-bind="value: groupId" id="groupId" name="groupId" size="10" />
</div>
</div>
</div>
<div class="control-group">
<label class="control-label" for="artifactId">${$.i18n.prop('fileupload.artifactId')}</label>
<div class="controls">
- <input type="text" class="xlarge required" id="artifactId" name="artifactId" size="10" />
+ <input type="text" class="xlarge required" data-bind="value: artifactId" id="artifactId" name="artifactId" size="10" />
</div>
</div>
</div>
<div class="control-group">
<label class="control-label" for="artifactId">${$.i18n.prop('fileupload.version')}</label>
<div class="controls">
- <input type="text" class="xlarge required" id="version" name="version" size="10" />
+ <input type="text" class="xlarge required" data-bind="value: version" id="version" name="version" size="10" />
</div>
</div>
</div>
<div class="control-group">
<label class="control-label" for="artifactId">${$.i18n.prop('fileupload.packaging')}</label>
<div class="controls">
- <input type="text" class="xlarge required" id="packaging" name="packaging" size="10" />
+ <input type="text" class="xlarge required" data-bind="value: packaging" id="packaging" name="packaging" size="10" />
</div>
</div>
</div>
<div class="control-group">
<label class="control-label" for="generatePom">${$.i18n.prop('fileupload.generatePom')}</label>
<div class="controls">
- <input type="checkbox" class="xlarge required" id="generatePom" name="generatePom" />
+ <input type="checkbox" class="xlarge required" data-bind="value: generatePom" id="generatePom" name="generatePom" />
</div>
</div>
</div>
@@ -80,6 +82,14 @@
</div>
</div>
</div>
+ <div>
+ <a href="#" id="fileupload-save-files">
+ <span class="btn btn-info">
+ <i class="icon-file icon-white"></i>
+ <span>${$.i18n.prop('fileupload.save')}</span>
+ </span>
+ </a>
+ </div>
<div class="fileupload-loading"></div>
<br>
<table class="table table-striped">