You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by sk...@apache.org on 2013/05/12 18:19:42 UTC
svn commit: r1481595 [1/4] - in
/archiva/branches/archiva-MRM-1756/archiva-modules/archiva-web:
archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/
archiva-webapp/src/main/webapp/js/archiva/ archiva-webapp/src/main/webapp...
Author: skygo
Date: Sun May 12 16:19:41 2013
New Revision: 1481595
URL: http://svn.apache.org/r1481595
Log:
admin in folders. Some features may not work properly
Added:
archiva/branches/archiva-MRM-1756/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/admin/features/
archiva/branches/archiva-MRM-1756/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/admin/features/10networkproxies/
archiva/branches/archiva-MRM-1756/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/admin/features/10networkproxies/main.js (with props)
archiva/branches/archiva-MRM-1756/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/admin/features/20generaladmin/
archiva/branches/archiva-MRM-1756/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/admin/features/20generaladmin/main.js (with props)
archiva/branches/archiva-MRM-1756/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/admin/repository/10maven2/proxy-connectors-rules.js (with props)
archiva/branches/archiva-MRM-1756/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/admin/repository/10maven2/proxy-connectors.js (with props)
archiva/branches/archiva-MRM-1756/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/admin/repository/10maven2/repositories.js (with props)
archiva/branches/archiva-MRM-1756/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/admin/repository/10maven2/repository-groups.js (with props)
Removed:
archiva/branches/archiva-MRM-1756/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/general-admin.js
archiva/branches/archiva-MRM-1756/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/network-proxies.js
archiva/branches/archiva-MRM-1756/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/proxy-connectors-rules.js
archiva/branches/archiva-MRM-1756/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/proxy-connectors.js
archiva/branches/archiva-MRM-1756/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/repositories.js
archiva/branches/archiva-MRM-1756/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/repository-groups.js
Modified:
archiva/branches/archiva-MRM-1756/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultPluginsServices.java
archiva/branches/archiva-MRM-1756/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/admin/repository/10maven2/main.js
archiva/branches/archiva-MRM-1756/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/archiva.js
archiva/branches/archiva-MRM-1756/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/main.js
Modified: archiva/branches/archiva-MRM-1756/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultPluginsServices.java
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-MRM-1756/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultPluginsServices.java?rev=1481595&r1=1481594&r2=1481595&view=diff
==============================================================================
--- archiva/branches/archiva-MRM-1756/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultPluginsServices.java (original)
+++ archiva/branches/archiva-MRM-1756/archiva-modules/archiva-web/archiva-rest/archiva-rest-services/src/main/java/org/apache/archiva/rest/services/DefaultPluginsServices.java Sun May 12 16:19:41 2013
@@ -34,43 +34,53 @@ import org.springframework.core.io.Resou
*/
@Service( "pluginsService#rest" )
public class DefaultPluginsServices
- implements PluginsService
+ implements PluginsService
{
private List<String> repositoryType = new ArrayList<String>();
-
+ private List<String> adminFeatures = new ArrayList<String>();
+
@Inject
- public DefaultPluginsServices( ApplicationContext applicationContext )
+ public DefaultPluginsServices( ApplicationContext applicationContext )
+ {
+ feed( repositoryType, "repository", applicationContext );
+ feed( adminFeatures, "features", applicationContext );
+ }
+
+ private void feed( List<String> repository, String key, ApplicationContext applicationContext )
{
Resource[] xmlResources;
- try {
- xmlResources = applicationContext.getResources( "/**/repository/**/main.js" );
- for (Resource rc : xmlResources)
+ try
+ {
+ xmlResources = applicationContext.getResources( "/**/" + key + "/**/main.js" );
+ for ( Resource rc : xmlResources )
{
- String tmp = rc.getURL().toString();
- tmp = tmp.substring( tmp.lastIndexOf("repository") + 11, tmp.length() - 8 );
- repositoryType.add( tmp );
+ String tmp = rc.getURL().toString();
+ tmp = tmp.substring( tmp.lastIndexOf( key ) + key.length() + 1, tmp.length() - 8 );
+ repository.add( "archiva/admin/" + key + "/" + tmp + "/main" );
}
- } catch (IOException ex) {
-
}
-
+ catch ( IOException ex )
+ {
+ }
}
-
+
@Override
public String getAdminPlugins()
- throws ArchivaRestServiceException
+ throws ArchivaRestServiceException
{
// rebuild
- String baseRepo = "archiva/admin/repository/";
StringBuilder sb = new StringBuilder();
- for (String repoType : repositoryType)
+ for ( String repoType : repositoryType )
{
- sb.append( baseRepo ).append( repoType ).append( "/main" ).append( "|" );
+ sb.append( repoType ).append( "|" );
}
-
- return sb.substring( 0, sb.length() - 1);
-
- }
+ for ( String repoType : adminFeatures )
+ {
+ sb.append( repoType ).append( "|" );
+ }
+
+ return sb.substring( 0, sb.length() - 1 );
+ }
}
Added: archiva/branches/archiva-MRM-1756/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/admin/features/10networkproxies/main.js
URL: http://svn.apache.org/viewvc/archiva/branches/archiva-MRM-1756/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/admin/features/10networkproxies/main.js?rev=1481595&view=auto
==============================================================================
--- archiva/branches/archiva-MRM-1756/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/admin/features/10networkproxies/main.js (added)
+++ archiva/branches/archiva-MRM-1756/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/admin/features/10networkproxies/main.js Sun May 12 16:19:41 2013
@@ -0,0 +1,328 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+define("archiva/admin/features/10networkproxies/main",["jquery","i18n","jquery.tmpl","bootstrap","jquery.validate","knockout"
+ ,"knockout.simpleGrid"], function(jquery,i18n,jqueryTmpl,bootstrap,jqueryValidate,ko) {
+
+ showMenu = function(administrationMenuItems) {
+ administrationMenuItems.push(
+ { text : $.i18n.prop('menu.network-proxies') , id: "menu-network-proxies-list-a" , href: "#networkproxies" , redback: "{permissions: ['archiva-manage-configuration']}", func: function(){displayNetworkProxies()}}
+ );
+ }
+
+ NetworkProxy=function(id,protocol,host,port,username,password,useNtlm){
+ var self=this;
+ //private String id;
+ this.id = ko.observable(id);
+ this.id.subscribe(function(newValue){self.modified(true)});
+
+ //private String protocol = "http";
+ this.protocol=ko.observable(protocol);
+ this.protocol.subscribe(function(newValue){self.modified(true)});
+
+ //private String host;
+ this.host=ko.observable(host);
+ this.host.subscribe(function(newValue){self.modified(true)});
+
+ //private int port = 8080;
+ this.port=ko.observable(port);
+ this.port.subscribe(function(newValue){self.modified(true)});
+
+ //private String username;
+ this.username=ko.observable(username?username:"");
+ this.username.subscribe(function(newValue){self.modified(true)});
+
+ //private String password;
+ this.password=ko.observable(password?password:"");
+ this.password.subscribe(function(newValue){self.modified(true)});
+
+ //use NTLM proxy
+ this.useNtlm=ko.observable(useNtlm?useNtlm:false);
+ this.useNtlm.subscribe(function(newValue){self.modified(true)});
+
+ this.modified=ko.observable(false);
+ }
+
+ NetworkProxyViewModel=function(networkProxy, update, networkProxiesViewModel,bulkMode){
+ this.update=update;
+ this.networkProxy=networkProxy;
+ this.networkProxiesViewModel=networkProxiesViewModel;
+ var self=this;
+ this.bulkMode=false || bulkMode;
+
+ this.save=function(){
+ if (!$("#main-content" ).find("#network-proxy-edit-form").valid()){
+ return;
+ }
+ if (!this.bulkMode){
+ clearUserMessages();
+ }
+ if (update){
+ $.ajax("restServices/archivaServices/networkProxyService/updateNetworkProxy",
+ {
+ type: "POST",
+ contentType: 'application/json',
+ data: ko.toJSON(networkProxy),
+ dataType: 'json',
+ success: function(data) {
+ $.log("update proxy id:"+self.networkProxy.id());
+ var message=$.i18n.prop('networkproxy.updated',self.networkProxy.id());
+ displaySuccessMessage(message);
+ self.networkProxy.modified(false);
+ if (!this.bulkMode){
+ activateNetworkProxiesGridTab();
+ }
+ },
+ error: function(data) {
+ var res = $.parseJSON(data.responseText);
+ displayRestError(res);
+ }
+ }
+ );
+ } else {
+
+ $.ajax("restServices/archivaServices/networkProxyService/addNetworkProxy",
+ {
+ type: "POST",
+ contentType: 'application/json',
+ data: ko.toJSON(networkProxy),
+ dataType: 'json',
+ success: function(data) {
+ self.networkProxy.modified(false);
+ self.networkProxiesViewModel.networkProxies.push(self.networkProxy);
+ displaySuccessMessage($.i18n.prop('networkproxy.added',self.networkProxy.id()));
+ activateNetworkProxiesGridTab();
+ },
+ error: function(data) {
+ var res = $.parseJSON(data.responseText);
+ displayRestError(res);
+ }
+ }
+ );
+
+ }
+ }
+
+ displayGrid=function(){
+ activateNetworkProxiesGridTab();
+ }
+ }
+
+ NetworkProxiesViewModel=function(){
+ this.networkProxies=ko.observableArray([]);
+
+ var self=this;
+
+ this.gridViewModel = null;
+
+ editNetworkProxy=function(networkProxy){
+ clearUserMessages();
+ $.log("editNetworkProxy");
+ var mainContent = $("#main-content");
+ mainContent.find("#network-proxies-view-tabs-li-edit a").html($.i18n.prop("edit"));
+ var viewModel = new NetworkProxyViewModel(networkProxy,true,self);
+ ko.applyBindings(viewModel,mainContent.find("#network-proxies-edit").get(0));
+ activateNetworkProxyFormValidation();
+ activateNetworkProxyEditTab();
+ mainContent.find("#network-proxy-btn-save").attr("disabled","true");
+ mainContent.find("#network-proxy-btn-save").button('toggle');
+ }
+
+ this.bulkSave=function(){
+ return getModifiedNetworkProxies().length>0;
+ }
+
+ getModifiedNetworkProxies=function(){
+ var prx = $.grep(self.networkProxies(),
+ function (networkProxy,i) {
+ return networkProxy.modified();
+ });
+ return prx;
+ }
+
+
+ updateModifiedNetworkProxies=function(){
+ var modifiedNetworkProxies = getModifiedNetworkProxies();
+
+ openDialogConfirm(function(){
+ for(var i=0;i<modifiedNetworkProxies.length;i++){
+ var viewModel = new NetworkProxyViewModel(modifiedNetworkProxies[i],true,self,false);
+ viewModel.save();
+ }
+ closeDialogConfirm();
+ },
+ $.i18n.prop('ok'),
+ $.i18n.prop('cancel'),
+ $.i18n.prop('networkproxy.bulk.save.confirm.title'),
+ $.i18n.prop('networkproxy.bulk.save.confirm',modifiedNetworkProxies.length));
+
+
+ }
+
+ updateNetworkProxy=function(networkProxy){
+ var viewModel = new NetworkProxyViewModel(networkProxy,true,self,false);
+ viewModel.save();
+ }
+
+ removeNetworkProxy=function(networkProxy){
+ openDialogConfirm(
+ function(){
+ $.ajax("restServices/archivaServices/networkProxyService/deleteNetworkProxy/"+encodeURIComponent(networkProxy.id()),
+ {
+ type: "get",
+ success: function(data) {
+ self.networkProxies.remove(networkProxy);
+ clearUserMessages();
+ displaySuccessMessage($.i18n.prop('networkproxy.deleted',networkProxy.id()));
+ activateNetworkProxiesGridTab();
+ },
+ error: function(data) {
+ var res = $.parseJSON(data.responseText);
+ displayRestError(res);
+ },
+ complete: function(){
+ closeDialogConfirm();
+ }
+ }
+ )}, $.i18n.prop('ok'), $.i18n.prop('cancel'), $.i18n.prop('networkproxy.delete.confirm',networkProxy.id()),
+ $("#network-proxy-delete-warning-tmpl" ).tmpl(networkProxy));
+ }
+ }
+
+
+ displayNetworkProxies=function(){
+ screenChange();
+ var mainContent = $("#main-content");
+ mainContent.html(mediumSpinnerImg());
+
+
+
+ loadNetworkProxies( function(data) {
+ var networkProxiesViewModel = new NetworkProxiesViewModel();
+ mainContent.html($("#networkProxiesMain").tmpl());
+ mainContent.find("#network-proxies-view-tabs a:first").tab('show');
+
+ mainContent.find("#network-proxies-view-tabs").on('show', function (e) {
+ if ($(e.target).attr("href")=="#network-proxies-edit") {
+ var viewModel = new NetworkProxyViewModel(new NetworkProxy(),false,networkProxiesViewModel);
+ ko.applyBindings(viewModel,$("#main-content" ).find("#network-proxies-edit").get(0));
+ activateNetworkProxyFormValidation();
+ clearUserMessages();
+ }
+ if ($(e.target).attr("href")=="#network-proxies-view") {
+ $("#main-content" ).find("#network-proxies-view-tabs-li-edit a").html($.i18n.prop("add"));
+ clearUserMessages();
+ }
+
+ });
+ networkProxiesViewModel.networkProxies(mapNetworkProxies(data));
+ networkProxiesViewModel.gridViewModel = new ko.simpleGrid.viewModel({
+ data: networkProxiesViewModel.networkProxies,
+ columns: [
+ {
+ headerText: $.i18n.prop('identifier'),
+ rowText: "id"
+ },
+ {
+ headerText: $.i18n.prop('protocol'),
+ rowText: "protocol"
+ },
+ {
+ headerText: $.i18n.prop('host'),
+ rowText: "host"
+ },
+ {
+ headerText: $.i18n.prop('port'),
+ rowText: "port"
+ },
+ {
+ headerText: $.i18n.prop('username'),
+ rowText: "username"
+ }
+ ],
+ pageSize: 5,
+ gridUpdateCallBack: function(networkProxy){
+ $("#main-content" ).find("#networkProxiesTable [title]").tooltip();
+ }
+ });
+ ko.applyBindings(networkProxiesViewModel,$("#main-content" ).find("#network-proxies-view").get(0));
+ }
+ )
+ }
+
+ loadNetworkProxies=function(successCallbackFn, errorCallbackFn){
+ $.ajax("restServices/archivaServices/networkProxyService/getNetworkProxies", {
+ type: "GET",
+ dataType: 'json',
+ success: successCallbackFn,
+ error: errorCallbackFn
+ });
+ }
+
+ activateNetworkProxyFormValidation=function(){
+ var editForm=$("#main-content" ).find("#network-proxy-edit-form");
+ var validator = editForm.validate({
+ rules: {id: {
+ required: true,
+ remote: {
+ url: "restServices/archivaUiServices/dataValidatorService/networkProxyIdNotExists",
+ type: "get"
+ }
+ }},
+ showErrors: function(validator, errorMap, errorList) {
+ customShowError(editForm,validator,errorMap,errorMap);
+ }
+ });
+ validator.settings.messages["id"]=$.i18n.prop("id.required.or.alreadyexists");
+ }
+
+ activateNetworkProxiesGridTab=function(){
+ var mainContent = $("#main-content");
+ mainContent.find("#network-proxies-view-tabs-li-edit").removeClass("active");
+ mainContent.find("#network-proxies-edit").removeClass("active");
+
+ mainContent.find("#network-proxies-view-tabs-li-grid").addClass("active");
+ mainContent.find("#network-proxies-view").addClass("active");
+ mainContent.find("#network-proxies-view-tabs-li-edit a").html($.i18n.prop("add"));
+
+ }
+
+ activateNetworkProxyEditTab=function(){
+ var mainContent = $("#main-content");
+ mainContent.find("#network-proxies-view-tabs-li-grid").removeClass("active");
+ mainContent.find("#network-proxies-view").removeClass("active");
+
+ mainContent.find("#network-proxies-view-tabs-li-edit").addClass("active");
+ mainContent.find("#network-proxies-edit").addClass("active");
+ }
+
+ mapNetworkProxy=function(data){
+ if (data==null){
+ return null;
+ }
+ return new NetworkProxy(data.id,data.protocol,data.host,data.port,data.username,data.password,data.useNtlm);
+ }
+
+ mapNetworkProxies=function(data){
+ var mappedNetworkProxies = $.map(data, function(item) {
+ return mapNetworkProxy(item);
+ });
+ return mappedNetworkProxies;
+ }
+
+});
\ No newline at end of file
Propchange: archiva/branches/archiva-MRM-1756/archiva-modules/archiva-web/archiva-webapp/src/main/webapp/js/archiva/admin/features/10networkproxies/main.js
------------------------------------------------------------------------------
svn:eol-style = native