mirror of
https://github.com/apache/archiva.git
synced 2025-02-21 01:15:08 +00:00
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
This commit is contained in:
parent
f994014554
commit
c0d576e45e
@ -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
|
||||
|
||||
|
@ -397,5 +397,6 @@ fileupload.version=Version
|
||||
fileupload.packaging=Packaging
|
||||
fileupload.generatePom=Generate Maven POM
|
||||
fileupload.repositoryId=Repository Id
|
||||
fileupload.save=Save Files
|
||||
|
||||
|
||||
|
@ -91,14 +91,21 @@ public FileMetadata post( MultipartBody multipartBody )
|
||||
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[]" );
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
@ -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 @@ <h3>${$.i18n.prop('fileupload.header')}</h3>
|
||||
<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 @@ <h3>${$.i18n.prop('fileupload.header')}</h3>
|
||||
</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">
|
||||
|
Loading…
x
Reference in New Issue
Block a user