Author: olamy
Date: Tue Oct 2 15:13:38 2012
New Revision: 1392956
URL: http://svn.apache.org/viewvc?rev=1392956&view=rev
Log:
[MRM-1681] addProxy Connectors Rules screen
screen implementation.
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/ProxyConnectorRuleService.java
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/proxy-connectors-rules.js
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/repositories.html
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/test/tomcat/log4j2-test.xml
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/ProxyConnectorRuleService.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/ProxyConnectorRuleService.java?rev=1392956&r1=1392955&r2=1392956&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/ProxyConnectorRuleService.java
(original)
+++
archiva/trunk/archiva-modules/archiva-web/archiva-rest/archiva-rest-api/src/main/java/org/apache/archiva/rest/api/services/ProxyConnectorRuleService.java
Tue Oct 2 15:13:38 2012
@@ -48,7 +48,7 @@ public interface ProxyConnectorRuleServi
throws ArchivaRestServiceException;
@Path ( "proxyConnectorRule" )
- @PUT
+ @POST
@Consumes ( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } )
@Produces ( { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML } )
@RedbackAuthorization ( permissions =
ArchivaRoleConstants.OPERATION_MANAGE_CONFIGURATION )
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/proxy-connectors-rules.js
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/proxy-connectors-rules.js?rev=1392956&r1=1392955&r2=1392956&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/proxy-connectors-rules.js
(original)
+++
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/archiva/proxy-connectors-rules.js
Tue Oct 2 15:13:38 2012
@@ -23,9 +23,13 @@ define("archiva.proxy-connectors-rules",
ProxyConnectorRulesViewModel=function(proxyConnectorRules,proxyConnectors){
var self=this;
-
this.proxyConnectorRules=ko.observableArray(proxyConnectorRules?proxyConnectorRules:[]);
+ this.proxyConnectorRules=ko.observableArray(proxyConnectorRules);
this.proxyConnectors=proxyConnectors;
+ // FIXME get that from a REST service
+ // FIXME i18n
+ this.ruleTypes=[new RuleType("WHITE_LIST"," white list"),new
RuleType("BLACK_LIST"," black list")];
+
this.displayGrid=function(){
var mainContent = $("#main-content");
@@ -33,15 +37,14 @@ define("archiva.proxy-connectors-rules",
data: self.proxyConnectorRules,
pageSize: 5,
gridUpdateCallBack: function(){
- $("#main-content" ).find("#proxy-connectors-rules-view-tabsTable"
).find("[title]").tooltip();
+ //$("#main-content" ).find("#proxy-connectors-rules-view-tabsTable"
).find("[title]").tooltip();
}
});
-
ko.applyBindings(self,mainContent.find("#proxy-connectors-rules-view-tabs-view").get(0));
+
ko.applyBindings(self,mainContent.find("#proxy-connector-rules-view").get(0));
removeSmallSpinnerImg();
-
mainContent.find("#proxy-connectors-rules-view-tabs").on('show',
function (e) {
$.log("on show:"+$(e.target).attr("href"));
if ($(e.target).attr("href")=="#proxy-connector-rules-edit") {
@@ -49,10 +52,79 @@ define("archiva.proxy-connectors-rules",
ko.applyBindings(proxyConnectorRuleViewModel,mainContent.find("#proxy-connector-rules-edit"
).get(0));
activateProxyConnectorRulesEditTab();
}
+ });
+ }
+ addProxyConnectorRule=function(proxyConnectorRule){
+ $.log("addProxyConnectorRule");
+
self.saveProxyConnectorRule(proxyConnectorRule,"restServices/archivaServices/proxyConnectorRuleService/proxyConnectorRule");
+ }
+ this.saveProxyConnectorRule=function(proxyConnectorRule,url){
+ $.log("saveProxyConnectorRule:"+url);
+ $("#user-messages" ).html(mediumSpinnerImg());
+ $.ajax(url,
+ {
+ type: "POST",
+ contentType: 'application/json',
+ data: ko.toJSON(proxyConnectorRule),
+ dataType: 'json',
+ success: function(data) {
+ $.log("save proxyConnectorRule
pattern:"+proxyConnectorRule.pattern());
+ var
message=$.i18n.prop(self.update?'proxy-connector-rule.updated':'proxy-connector-rule.added',proxyConnectorRule.pattern());
+ displaySuccessMessage(message);
+ proxyConnectorRule.modified(false);
+ self.proxyConnectorRules.push(proxyConnectorRule);
+ activateProxyConnectorRulesGridTab();
+ },
+ error: function(data) {
+ var res = $.parseJSON(data.responseText);
+ displayRestError(res);
+ },
+ complete:function(data){
+ removeMediumSpinnerImg("#user-messages");
+ }
+ }
+ );
+ }
- });
+ updateProxyConnectorRule=function(proxyConnectorRule){
+ $.log("updateProxyConnectorRule");
+
self.saveProxyConnectorRule(proxyConnectorRule,"restServices/archivaServices/proxyConnectorRuleService/updateProxyConnectorRule");
}
+
+ removeProxyConnectorRule=function(proxyConnectorRule){
+
+ //FIXME modal dialog to confirm
+
+ $("#user-messages" ).html(mediumSpinnerImg());
+
$.ajax("restServices/archivaServices/proxyConnectorRuleService/deleteProxyConnectorRule",
+ {
+ type:"POST",
+ contentType: 'application/json',
+ data: ko.toJSON(proxyConnectorRule),
+ dataType: 'json',
+ success:function(data){
+ var
message=$.i18n.prop('proxy-connector-rule.deleted',proxyConnectorRule.pattern());
+ displaySuccessMessage(message);
+ },
+ error: function(data) {
+ var res = $.parseJSON(data.responseText);
+ displayRestError(res);
+ },
+ complete:function(data){
+ removeMediumSpinnerImg("#user-messages");
+ }
+ }
+ );
+ }
+
+ editProxyConnectorRule=function(proxyConnectorRule){
+ var proxyConnectorRuleViewModel=new
ProxyConnectorRuleViewModel(proxyConnectorRule,self,true);
+
ko.applyBindings(proxyConnectorRuleViewModel,$("#main-content").find("#proxy-connector-rules-edit"
).get(0));
+ activateProxyConnectorRulesEditTab();
+
+ }
+
}
ProxyConnectorRuleViewModel=function(proxyConnectorRule,proxyConnectorRulesViewModel,update){
@@ -63,7 +135,14 @@ define("archiva.proxy-connectors-rules",
this.update=update;
proxyConnectorMoved=function(arg){
+ $.log("repositoryMoved:"+arg.sourceIndex+" to " + arg.targetIndex);
+ }
+ saveProxyConnectorRule=function(){
+ $.log("pattern:"+self.proxyConnectorRule.pattern());
+
$.log("proxyConnectorRuleType:"+proxyConnectorRule.proxyConnectorRuleType());
+ $.log("proxyConnectors:"+proxyConnectorRule.proxyConnectors().length);
+
self.proxyConnectorRulesViewModel.saveProxyConnectorRule(self.proxyConnectorRule)
}
}
@@ -74,7 +153,7 @@ define("archiva.proxy-connectors-rules",
screenChange();
var mainContent = $("#main-content");
mainContent.html($("#proxyConnectorsRulesMain").tmpl());
- mainContent.append(smallSpinnerImg());
+ $("#user-messages").html(mediumSpinnerImg());
loadAllProxyConnectors(function(data){
var proxyConnectors = mapProxyConnectors(data);
@@ -86,6 +165,9 @@ define("archiva.proxy-connectors-rules",
var proxyConnectorRulesViewModel = new
ProxyConnectorRulesViewModel(proxyConnectorRules,proxyConnectors);
proxyConnectorRulesViewModel.displayGrid();
activateProxyConnectorRulesGridTab();
+ },
+ complete: function(data){
+ removeMediumSpinnerImg("#user-messages");
}
});
@@ -123,7 +205,7 @@ define("archiva.proxy-connectors-rules",
if (data==null){
return null;
}
- return new ProxyConnector(data.pattern, data.proxyConnectorRuleType,
mapProxyConnectors(data.proxyConnectors));
+ return new ProxyConnectorRule(data.pattern, data.proxyConnectorRuleType,
mapProxyConnectors(data.proxyConnectors));
}
mapProxyConnectorRules=function(data){
@@ -137,9 +219,9 @@ define("archiva.proxy-connectors-rules",
activateProxyConnectorRulesGridTab=function(){
var mainContent = $("#main-content");
mainContent.find("#proxy-connectors-rules-view-tabs-content
div[class*='tab-pane']").removeClass("active");
- mainContent.find("#proxy-connectors-rules-view-tabs >
li").removeClass("active");
+ mainContent.find("#proxy-connectors-rules-view-tabs
li").removeClass("active");
- mainContent.find("#repository-groups-view").addClass("active");
+ mainContent.find("#proxy-connector-rules-view").addClass("active");
mainContent.find("#proxy-connectors-rules-view-tabs-li-grid").addClass("active");
mainContent.find("#proxy-connectors-rules-view-tabs-a-edit").html($.i18n.prop("add"));
@@ -155,5 +237,9 @@ define("archiva.proxy-connectors-rules",
mainContent.find("#proxy-connectors-rules-view-tabs-edit").addClass("active");
}
+ RuleType=function(type,label){
+ this.type=type;
+ this.label=label;
+ }
});
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/repositories.html
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/repositories.html?rev=1392956&r1=1392955&r2=1392956&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/repositories.html
(original)
+++
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/main/webapp/js/templates/archiva/repositories.html
Tue Oct 2 15:13:38 2012
@@ -1229,14 +1229,14 @@
<ul id="proxy-connectors-rules-view-tabs" class="nav nav-tabs">
<li id="proxy-connectors-rules-view-tabs-li-grid" class="active">
- <a data-toggle="tab" href="#proxy-connector-rules-view"
id="proxy-connectors-rules-view-tabs-a-network-proxies-grid">${$.i18n.prop('proxy-connectors-rules.grid.tab.title')}</a>
+ <a data-toggle="tab" href="#proxy-connector-rules-view"
id="proxy-connectors-rules-view-tabs-a-grid">${$.i18n.prop('proxy-connectors-rules.grid.tab.title')}</a>
</li>
<li id="proxy-connectors-rules-view-tabs-li-edit">
<a data-toggle="tab" href="#proxy-connector-rules-edit"
id="proxy-connectors-rules-view-tabs-a-edit">${$.i18n.prop('add')}</a>
</li>
</ul>
<div id="proxy-connectors-rules-view-tabs-content" class="tab-content">
- <div id="proxy-connectors-rules-view-tabs-view" class="tab-pane active">
+ <div id="proxy-connector-rules-view" class="tab-pane active">
<div id="proxy-connectors-rules-view-tabs-bulk-save-btn"
data-bind='template:{name:"proxy-connectors-rules-view-tabs-bulk-save-tmpl"}'></div>
<table class="table table-striped table-bordered"
id="proxy-connectors-rules-view-tabsTable"
data-bind="simpleGrid:
gridViewModel,simpleGridTemplate:'ko-proxy-connectors-rules-grid',pageLinksId:'proxy-connectors-rules-pagination'">
@@ -1285,14 +1285,36 @@
</thead>
<tbody>
{{each(i, row) itemsOnCurrentPage()}}
- <tr data-bind="css:{ 'modified': row.modified()}">
- <td>${row.pattern()}</td>
- <td>${row.proxyConnectorRuleType()}</td>
- <td>connector</td>
- <td>edit</td>
- <td>delete</td>
- <td>save</td>
- </tr>
+ <tr data-bind="css:{ 'modified': row.modified()}">
+ <td>${row.pattern()}</td>
+ <td>${row.proxyConnectorRuleType()}</td>
+ <td>
+ <ul>
+ {{each(j,proxyConnector) row.proxyConnectors()}}
+ <li>${proxyConnector.sourceRepoId()} <->
${proxyConnector.targetRepoId()}</li>
+ {{/each}}
+ </ul>
+ </td>
+ <td>
+ <a href="#" data-bind="click: function(){
editProxyConnectorRule(row) }">
+ <span class="btn btn-primary">
+ <i class="icon-pencil icon-white"/>
+ </span>
+ </a>
+ </td>
+ <td>
+ <a href="#" data-bind="click: function(){
removeProxyConnectorRule(row) }">
+ <span class="btn btn-danger">
+ <i class="icon-trash icon-white"/>
+ </span>
+ </a>
+ </td>
+ <td>
+ {{if row.modified()}}
+ <a href="#" class="btn btn-warning" data-bind="click:
function(){ updateProxyConnectorRule(row) }">${$.i18n.prop('save')}</a>
+ {{/if}}
+ </td>
+ </tr>
{{/each}}
</tbody>
</script>
@@ -1307,6 +1329,8 @@
<div class="dotted span8">
<blockquote>
${proxyConnectorRule.pattern()}
+ <br/>
+ ${proxyConnectorRule.proxyConnectorRuleType()}
</blockquote>
</div>
{{else}}
@@ -1320,13 +1344,20 @@
data-bind="value:proxyConnectorRule.pattern,css:{'uneditable-input':
update},readonly:update"/>
</div>
</div>
+ <div class="control-group">
+ <label class="control-label"
for="layout">${$.i18n.prop('type')}</label>
+ <div class="controls">
+ <select id="proxy-connector-rule-pattern-type"
+ data-bind="options:
proxyConnectorRulesViewModel.ruleTypes,optionsText:
'label',optionsValue:'type',value: proxyConnectorRule.proxyConnectorRuleType"/>
+ </div>
+ </div>
</fieldset>
</form>
</div>
{{/if}}
{{if proxyConnectorRule.modified()}}
<div class="span3">
- <a href="#" class="btn btn-warning" data-bind="click:
function(){saveRepositoryGroup(repositoryGroup)}">${$.i18n.prop('save')}</a>
+ <a href="#" class="btn btn-warning" data-bind="click:
function(){addProxyConnectorRule(proxyConnectorRule)}">${$.i18n.prop('save')}</a>
</div>
<br/>
{{/if}}
Modified:
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/test/tomcat/log4j2-test.xml
URL:
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/test/tomcat/log4j2-test.xml?rev=1392956&r1=1392955&r2=1392956&view=diff
==============================================================================
---
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/test/tomcat/log4j2-test.xml
(original)
+++
archiva/trunk/archiva-modules/archiva-web/archiva-webapp-js/src/test/tomcat/log4j2-test.xml
Tue Oct 2 15:13:38 2012
@@ -26,9 +26,9 @@
</Console>
</appenders>
<loggers>
- <logger name="org.apache.archiva.indexer.search.NexusRepositorySearch"
level="debug"/>
+ <logger name="org.apache.archiva.indexer.search.NexusRepositorySearch"
level="info"/>
- <logger name="org.apache.archiva.common.plexusbridge.MavenIndexerUtils"
level="debug"/>
+ <logger name="org.apache.archiva.common.plexusbridge.MavenIndexerUtils"
level="info"/>
<logger name="JPOX" level="error"/>
@@ -36,7 +36,7 @@
<logger
name="org.apache.commons.configuration.DefaultConfigurationBuilder"
level="error"/>
- <logger name="org.apache.archiva.admin.repository.managed" level="debug"/>
+ <logger name="org.apache.archiva.admin.repository.managed" level="info"/>
<!-- apache httpclient debug content transfer-->
@@ -61,7 +61,7 @@
<logger name="org.quartz" level="info"/>
- <logger name="org.apache.archiva.indexer.merger" level="debug"/>
+ <logger name="org.apache.archiva.indexer.merger" level="info"/>
<root level="info">
<appender-ref ref="console"/>