mirror of https://github.com/apache/archiva.git
proxy connector screen add PolicyInformation bean
git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1237581 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
91d63e741b
commit
d080db57e5
|
@ -38,9 +38,14 @@
|
|||
<dependency>
|
||||
<groupId>org.apache.archiva</groupId>
|
||||
<artifactId>archiva-repository-admin-api</artifactId>
|
||||
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.archiva</groupId>
|
||||
<artifactId>archiva-policies</artifactId>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>org.codehaus.redback</groupId>
|
||||
<artifactId>redback-authorization-api</artifactId>
|
||||
|
|
|
@ -0,0 +1,104 @@
|
|||
package org.apache.archiva.rest.api.model;
|
||||
/*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author Olivier Lamy
|
||||
* @since 1.4-M3
|
||||
*/
|
||||
@XmlRootElement( name = "policyInformation" )
|
||||
public class PolicyInformation
|
||||
{
|
||||
private List<String> options;
|
||||
|
||||
private String defaultOption;
|
||||
|
||||
private String id;
|
||||
|
||||
private String name;
|
||||
|
||||
public PolicyInformation()
|
||||
{
|
||||
// no op
|
||||
}
|
||||
|
||||
public PolicyInformation( List<String> options, String defaultOption, String id, String name )
|
||||
{
|
||||
this.options = options;
|
||||
this.defaultOption = defaultOption;
|
||||
this.id = id;
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public List<String> getOptions()
|
||||
{
|
||||
return options;
|
||||
}
|
||||
|
||||
public void setOptions( List<String> options )
|
||||
{
|
||||
this.options = options;
|
||||
}
|
||||
|
||||
public String getDefaultOption()
|
||||
{
|
||||
return defaultOption;
|
||||
}
|
||||
|
||||
public void setDefaultOption( String defaultOption )
|
||||
{
|
||||
this.defaultOption = defaultOption;
|
||||
}
|
||||
|
||||
public String getId()
|
||||
{
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId( String id )
|
||||
{
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public String getName()
|
||||
{
|
||||
return name;
|
||||
}
|
||||
|
||||
public void setName( String name )
|
||||
{
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString()
|
||||
{
|
||||
final StringBuilder sb = new StringBuilder();
|
||||
sb.append( "PolicyInformation" );
|
||||
sb.append( "{options=" ).append( options );
|
||||
sb.append( ", defaultOption='" ).append( defaultOption ).append( '\'' );
|
||||
sb.append( ", id='" ).append( id ).append( '\'' );
|
||||
sb.append( ", name='" ).append( name ).append( '\'' );
|
||||
sb.append( '}' );
|
||||
return sb.toString();
|
||||
}
|
||||
}
|
|
@ -31,9 +31,9 @@ $(function() {
|
|||
//private List<String> whiteListPatterns;
|
||||
this.whiteListPatterns=ko.observableArray(whiteListPatterns);
|
||||
//private Map<String, String> policies;
|
||||
|
||||
this.policies=ko.observable(policies);
|
||||
//private Map<String, String> properties;
|
||||
|
||||
this.properties=ko.observable(properties);
|
||||
//private boolean disabled = false;
|
||||
this.disabled=ko.observable(disabled);
|
||||
//private int order = 0;
|
||||
|
@ -43,6 +43,113 @@ $(function() {
|
|||
displayProxyConnectors=function(){
|
||||
$("#main-content").html($("#proxyConnectorsMain").tmpl());
|
||||
$("#main-content").append(smallSpinnerImg());
|
||||
PolicyInformation=function(options,defaultOption,id,name){
|
||||
//private List<String> options;
|
||||
this.options=ko.observableArray(options);
|
||||
//private String defaultOption;
|
||||
this.defaultOption=ko.observable(defaultOption);
|
||||
//private String id;
|
||||
this.id=ko.observable(id);
|
||||
//private String name;
|
||||
this.name=ko.observable(name);
|
||||
}
|
||||
|
||||
ProxyConnectorsViewModel=function(){
|
||||
this.proxyConnectors=ko.observableArray([]);
|
||||
var self=this;
|
||||
|
||||
editProxyConnector=function(proxyConnector){
|
||||
|
||||
}
|
||||
|
||||
this.displayGrid=function(){
|
||||
var sourcesRepos=[];
|
||||
//sourceRepoId
|
||||
for(i=0;i<self.proxyConnectors().length;i++){
|
||||
var curSrcRepo=self.proxyConnectors()[i].sourceRepoId();
|
||||
var curTarget=self.proxyConnectors()[i].targetRepoId;
|
||||
var sourceRepo = $.grep(sourcesRepos,
|
||||
function(srcRepo,idx){
|
||||
$.log("grep:"+srcRepo.source);
|
||||
$.log("sourcesRepos.length:"+sourcesRepos.length);
|
||||
for (i=0;i<sourcesRepos.length;i++){
|
||||
if (srcRepo.source==sourcesRepos[i].source){
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
);
|
||||
if (sourceRepo!=null){
|
||||
$.log("sourceRepoId:"+curSrcRepo);
|
||||
sourcesRepos.push({source:curSrcRepo,targetRepos:[curTarget]});
|
||||
} else {
|
||||
sourceRepo.targetRepos.push(curTarget);
|
||||
}
|
||||
}
|
||||
|
||||
$.log("sourcesRepo.length:"+sourcesRepos.length);
|
||||
for(i=0;i<sourcesRepos.length;i++){
|
||||
$.log(sourcesRepos.targetRepos.length);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
displayProxyConnectors=function(){
|
||||
$("#main-content").html($("#proxyConnectorsMain").tmpl());
|
||||
$("#main-content").append(smallSpinnerImg());
|
||||
|
||||
var proxyConnectorsViewModel = new ProxyConnectorsViewModel();
|
||||
|
||||
$.ajax("restServices/archivaServices/proxyConnectorService/getProxyConnectors", {
|
||||
type: "GET",
|
||||
dataType: 'json',
|
||||
success: function(data) {
|
||||
proxyConnectorsViewModel.proxyConnectors(mapProxyConnectors(data));
|
||||
proxyConnectorsViewModel.displayGrid();
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
$.ajax("restServices/archivaServices/proxyConnectorService/allPolicies", {
|
||||
type: "GET",
|
||||
dataType: 'json',
|
||||
success: function(data) {
|
||||
mapPolicyInformations(data);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
}
|
||||
|
||||
mapProxyConnector=function(data){
|
||||
if (data==null){
|
||||
return null;
|
||||
}
|
||||
return new ProxyConnector(data.sourceRepoId,data.targetRepoId,data.proxyId,mapStringArray(data.blackListPatterns),
|
||||
mapStringArray(data.whiteListPatterns),data.policies,data.properties,
|
||||
data.disabled,data.order);
|
||||
}
|
||||
|
||||
mapProxyConnectors=function(data){
|
||||
var mappedProxyConnectors = $.map(data.proxyConnector, function(item) {
|
||||
return mapProxyConnector(item);
|
||||
});
|
||||
return mappedProxyConnectors;
|
||||
}
|
||||
|
||||
mapPolicyInformation=function(data){
|
||||
if (data==null){
|
||||
return null;
|
||||
}
|
||||
return new PolicyInformation(mapStringArray(data.options),data.defaultOption,data.id,data.name);
|
||||
}
|
||||
|
||||
mapPolicyInformations=function(data){
|
||||
return $.map(data.policyInformation, function(item) {
|
||||
return mapPolicyInformation(item);
|
||||
});
|
||||
}
|
||||
|
||||
});
|
Loading…
Reference in New Issue