svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.plugin / org.gvsig.downloader / org.gvsig.downloader.lib / org.gvsig.downloader.lib.api / src / main / java / org / gvsig / downloader / spi / AbstractDownloaderAuthenticationConfig.java @ 47828
History | View | Annotate | Download (3.31 KB)
1 |
/*
|
---|---|
2 |
* To change this license header, choose License Headers in Project Properties.
|
3 |
* To change this template file, choose Tools | Templates
|
4 |
* and open the template in the editor.
|
5 |
*/
|
6 |
package org.gvsig.downloader.spi; |
7 |
|
8 |
import javax.json.JsonObject; |
9 |
import org.apache.commons.lang3.StringUtils; |
10 |
import org.gvsig.downloader.DownloaderAuthenticationConfig; |
11 |
import org.gvsig.downloader.DownloaderAuthenticationFactory; |
12 |
import org.gvsig.downloader.DownloaderAuthenticationRequester; |
13 |
import org.gvsig.downloader.DownloaderLocator; |
14 |
import org.gvsig.downloader.DownloaderManager; |
15 |
import org.gvsig.json.Json; |
16 |
import org.gvsig.json.JsonObjectBuilder; |
17 |
|
18 |
/**
|
19 |
*
|
20 |
* @author jjdelcerro
|
21 |
*/
|
22 |
public abstract class AbstractDownloaderAuthenticationConfig |
23 |
implements DownloaderAuthenticationConfig
|
24 |
{ |
25 |
|
26 |
protected String providerName; |
27 |
protected DownloaderAuthenticationFactory factory;
|
28 |
protected String serviceUrl; |
29 |
|
30 |
protected AbstractDownloaderAuthenticationConfig(DownloaderAuthenticationFactory factory, String serviceUrl) { |
31 |
this.factory = factory;
|
32 |
this.serviceUrl = serviceUrl;
|
33 |
this.providerName = factory.getProviderName();
|
34 |
} |
35 |
|
36 |
// public AbstractDownloaderAuthenticationConfig(String providerName, String baseUrl) {
|
37 |
// this(
|
38 |
// DownloaderLocator.getDownloaderManager().getAuthenticationType(providerName),
|
39 |
// baseUrl
|
40 |
// );
|
41 |
// }
|
42 |
//
|
43 |
@Override
|
44 |
public String getProviderName() { |
45 |
return this.providerName; |
46 |
} |
47 |
|
48 |
@Override
|
49 |
public DownloaderAuthenticationFactory getFactory() {
|
50 |
return this.factory; |
51 |
} |
52 |
|
53 |
@Override
|
54 |
public String getServiceUrl() { |
55 |
return this.serviceUrl; |
56 |
} |
57 |
|
58 |
@Override
|
59 |
public boolean isConfigurable() { |
60 |
return false; |
61 |
} |
62 |
|
63 |
@Override
|
64 |
public boolean requestAuthenticationConfig() { |
65 |
return true; |
66 |
} |
67 |
|
68 |
@Override
|
69 |
public Object clone() throws CloneNotSupportedException { |
70 |
return (DownloaderAuthenticationConfig) super.clone(); |
71 |
} |
72 |
|
73 |
@Override
|
74 |
public String getKey() { |
75 |
return null; |
76 |
} |
77 |
|
78 |
@Override
|
79 |
public void fromJson(JsonObject json) { |
80 |
DownloaderManager manager = DownloaderLocator.getDownloaderManager(); |
81 |
|
82 |
// if( json.containsKey("type") ) {
|
83 |
// String url = json.getString(CONFIG_URLONLINE_NAME,null);
|
84 |
// if( url!=null ) {
|
85 |
// this.urlOnline = url;
|
86 |
// }
|
87 |
// } else {
|
88 |
this.serviceUrl = json.getString(CONFIG_SERVICEURL_NAME,null); |
89 |
// }
|
90 |
String providerName = json.getString(CONFIG_PROVIDERNAME_NAME, null); |
91 |
if( providerName != null ) { |
92 |
if( !StringUtils.equalsIgnoreCase(this.providerName, providerName) ) { |
93 |
throw new IllegalArgumentException("this json can't be restored in a config of '"+this.providerName+"' (need a '"+providerName+"')"); |
94 |
} |
95 |
} |
96 |
if( this.factory == null ) { |
97 |
this.factory = manager.getDownloaderAuthenticationFactory(this.providerName); |
98 |
} |
99 |
} |
100 |
|
101 |
@Override
|
102 |
public JsonObjectBuilder toJsonBuilder() {
|
103 |
JsonObjectBuilder builder = Json.createObjectBuilder(); |
104 |
builder.add(CONFIG_PROVIDERNAME_NAME, this.getFactory().getProviderName());
|
105 |
// builder.add("urlOnline",this.getUrlOnline());
|
106 |
|
107 |
return builder;
|
108 |
} |
109 |
|
110 |
} |