Author: olamy
Date: Mon Jan 16 16:53:57 2012
New Revision: 1232062
URL: http://svn.apache.org/viewvc?rev=1232062&view=rev
Log:
[MRM-1574] add managed repo now implemented.
change the rest service to return the repo rather than a Boolean to have real
path available in the ui.
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/ManagedRepositoriesService.java
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultManagedRepositoriesService.java
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/repositories.js
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/ManagedRepositoriesService.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/ManagedRepositoriesService.java?rev=1232062&r1=1232061&r2=1232062&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/ManagedRepositoriesService.java
(original)
+++
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/ManagedRepositoriesService.java
Mon Jan 16 16:53:57 2012
@@ -68,7 +68,7 @@ public interface ManagedRepositoriesServ
@Consumes( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } )
@Produces( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML,
MediaType.TEXT_PLAIN } )
@RedbackAuthorization( permissions =
ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION )
- Boolean addManagedRepository( ManagedRepository managedRepository )
+ ManagedRepository addManagedRepository( ManagedRepository
managedRepository )
throws ArchivaRestServiceException;
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultManagedRepositoriesService.java
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultManagedRepositoriesService.java?rev=1232062&r1=1232061&r2=1232062&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultManagedRepositoriesService.java
(original)
+++
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultManagedRepositoriesService.java
Mon Jan 16 16:53:57 2012
@@ -93,15 +93,20 @@ public class DefaultManagedRepositoriesS
}
}
- public Boolean addManagedRepository( ManagedRepository managedRepository )
+ public ManagedRepository addManagedRepository( ManagedRepository
managedRepository )
throws ArchivaRestServiceException
{
try
{
- return managedRepositoryAdmin.addManagedRepository(
managedRepository,
-
managedRepository.isStageRepoNeeded(),
-
getAuditInformation() );
+ boolean res =
+ managedRepositoryAdmin.addManagedRepository(
managedRepository, managedRepository.isStageRepoNeeded(),
+
getAuditInformation() );
+ if ( res )
+ {
+ return getManagedRepository( managedRepository.getId() );
+ }
+ throw new ArchivaRestServiceException( "fail to created managed
Repository" );
}
catch ( RepositoryAdminException e )
{
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/repositories.js
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/repositories.js?rev=1232062&r1=1232061&r2=1232062&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/repositories.js
(original)
+++
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/repositories.js
Mon Jan 16 16:53:57 2012
@@ -67,10 +67,10 @@ $(function() {
this.stageRepoNeeded=ko.observable(stageRepoNeeded);
}
- ManagedRepositoryViewModel=function(managedRepository, update){
+ ManagedRepositoryViewModel=function(managedRepository, update,
managedRepositoriesViewModel){
this.managedRepository=ko.observable(managedRepository);
+ this.managedRepositoriesViewModel = managedRepositoriesViewModel;
this.update = update;
-
save=function(){
var valid = $("#main-content #managed-repository-edit-form").valid();
if (valid==false) {
@@ -78,22 +78,41 @@ $(function() {
}
$.log("save:"+this.managedRepository().name());
clearUserMessages();
-
$.ajax("restServices/archivaServices/managedRepositoriesService/updateManagedRepository",
- {
- type: "POST",
- contentType: 'application/json',
- data: "{\"managedRepository\": " +
ko.toJSON(this.managedRepository)+"}",
- dataType: 'json',
- success: function(data) {
- displaySuccessMessage($.i18n.prop('managedrepository.updated'));
- },
- error: function(data) {
- var res = $.parseJSON(data.responseText);
- displayRestError(res);
- }
- }
- );
-
+ if (this.update){
+
$.ajax("restServices/archivaServices/managedRepositoriesService/updateManagedRepository",
+ {
+ type: "POST",
+ contentType: 'application/json',
+ data: "{\"managedRepository\": " +
ko.toJSON(this.managedRepository)+"}",
+ dataType: 'json',
+ success: function(data) {
+
displaySuccessMessage($.i18n.prop('managedrepository.updated'));
+ },
+ error: function(data) {
+ var res = $.parseJSON(data.responseText);
+ displayRestError(res);
+ }
+ }
+ );
+ } else {
+ $.log("add managedRepo");
+
$.ajax("restServices/archivaServices/managedRepositoriesService/addManagedRepository",
+ {
+ type: "POST",
+ contentType: 'application/json',
+ data: "{\"managedRepository\": " +
ko.toJSON(this.managedRepository)+"}",
+ dataType: 'json',
+ success: function(data) {
+
this.managedRepositoriesViewModel.managedRepositories.push(mapManagedRepository(data));
+ displaySuccessMessage($.i18n.prop('managedrepository.added'));
+ },
+ error: function(data) {
+ var res = $.parseJSON(data.responseText);
+ displayRestError(res);
+ }
+ }
+ );
+ }
}
displayGrid=function(){
@@ -102,29 +121,34 @@ $(function() {
}
+ activateManagedRepositoryFormValidation=function(){
+ $("#main-content #managed-repository-edit-form").validate({
+ rules: {
+ daysOlder : {
+ digits: true
+ },
+ retentionCount : {
+ digits: true
+ }
+ },
+ showErrors: function(validator, errorMap, errorList) {
+ customShowError(validator,errorMap,errorMap);
+ }
+ });
+ }
+
ManagedRepositoriesViewModel=function(){
this.managedRepositories=ko.observableArray(new Array());
this.gridViewModel = null;
+ var self = this;
editManagedRepository=function(managedRepository){
- var viewModel = new ManagedRepositoryViewModel(managedRepository,true);
+ var viewModel = new
ManagedRepositoryViewModel(managedRepository,true,self);
ko.applyBindings(viewModel,$("#main-content
#managed-repository-edit").get(0));
activateManagedRepositoryEditTab();
$("#managed-repository-edit-li a").html($.i18n.prop('edit'));
- $("#main-content #managed-repository-edit-form").validate({
- rules: {
- daysOlder : {
- digits: true
- },
- retentionCount : {
- digits: true
- }
- },
- showErrors: function(validator, errorMap, errorList) {
- customShowError(validator,errorMap,errorMap);
- }
- });
+ activateManagedRepositoryFormValidation();
}
}
@@ -149,7 +173,7 @@ $(function() {
clearUserMessages();
$("#main-content").html(mediumSpinnerImg());
$("#main-content").html($("#repositoriesMain").tmpl());
- $("#repositories-tabs").tabs();
+ $("#main-content #repositories-tabs").tabs();
$("#main-content
#managed-repositories-content").append(mediumSpinnerImg());
$("#main-content #remote-repositories-content").append(mediumSpinnerImg());
@@ -189,6 +213,18 @@ $(function() {
removeMediumSpinnerImg("#main-content
#managed-repositories-content");
$("#main-content #managed-repositories-table [title]").twipsy();
activateManagedRepositoriesGridTab();
+ $("#main-content #managed-repositories-pills").bind('change',
function (e) {
+
+ if ($(e.target).attr("href")=="#managed-repository-edit") {
+ var viewModel = new ManagedRepositoryViewModel(new
ManagedRepository(),false,managedRepositoriesViewModel);
+ ko.applyBindings(viewModel,$("#main-content
#managed-repository-edit").get(0));
+ activateManagedRepositoryFormValidation();
+ }
+ if ($(e.target).attr("href")=="#managed-repositories-view") {
+ $("#main-content #managed-repository-edit-li
a").html($.i18n.prop("add"));
+ }
+
+ });
}
}
);