Revision 9591 org.gvsig.online/trunk/org.gvsig.online/org.gvsig.online.lib/org.gvsig.online.lib.api/src/main/java/org/gvsig/online/lib/spi/AbstractOnlineUserIdentificationRequesterConfig.java
AbstractOnlineUserIdentificationRequesterConfig.java | ||
---|---|---|
6 | 6 |
package org.gvsig.online.lib.spi; |
7 | 7 |
|
8 | 8 |
import javax.json.JsonObject; |
9 |
import org.apache.commons.lang3.StringUtils; |
|
9 | 10 |
import org.gvsig.json.Json; |
10 | 11 |
import org.gvsig.json.JsonObjectBuilder; |
11 | 12 |
import org.gvsig.online.lib.api.OnlineLocator; |
... | ... | |
25 | 26 |
|
26 | 27 |
protected OnlineUserIdentificationRequesterFactory factory; |
27 | 28 |
protected String urlOnline; |
29 |
private String factoryName; |
|
28 | 30 |
|
29 | 31 |
public AbstractOnlineUserIdentificationRequesterConfig(OnlineUserIdentificationRequesterFactory factory,String urlOnline) { |
30 | 32 |
this.factory = factory; |
31 | 33 |
this.urlOnline = urlOnline; |
34 |
this.factoryName = factory.getName(); |
|
32 | 35 |
} |
33 | 36 |
|
34 | 37 |
public AbstractOnlineUserIdentificationRequesterConfig(String factoryName, String urlOnline) { |
... | ... | |
40 | 43 |
|
41 | 44 |
@Override |
42 | 45 |
public String getName() { |
43 |
return this.factory.getName();
|
|
46 |
return this.factoryName;
|
|
44 | 47 |
} |
45 | 48 |
|
46 | 49 |
@Override |
... | ... | |
66 | 69 |
@Override |
67 | 70 |
public void fromJson(JsonObject json) { |
68 | 71 |
OnlineManager manager = OnlineLocator.getOnlineManager(); |
69 |
|
|
72 |
|
|
73 |
if( json.containsKey("type") ) { |
|
74 |
String url = json.getString(CONFIG_URLONLINE_NAME,null); |
|
75 |
if( url!=null ) { |
|
76 |
this.urlOnline = url; |
|
77 |
} |
|
78 |
} else { |
|
79 |
this.urlOnline = json.getString(CONFIG_URLONLINE_NAME,null); |
|
80 |
} |
|
70 | 81 |
String factoryName = json.getString(CONFIG_FACTORYNAME_NAME, null); |
71 |
this.factory = manager.getUserIdentificationRequester(factoryName); |
|
72 |
this.urlOnline = json.getString(CONFIG_URLONLINE_NAME,null); |
|
82 |
if( factoryName != null ) { |
|
83 |
if( !StringUtils.equalsIgnoreCase(this.factoryName, factoryName) ) { |
|
84 |
throw new IllegalArgumentException("this json can't be restored in a config of '"+this.factoryName+"' (need a '"+factoryName+"')"); |
|
85 |
} |
|
86 |
} |
|
87 |
if( this.factory == null ) { |
|
88 |
this.factory = manager.getUserIdentificationRequester(this.factoryName); |
|
89 |
} |
|
90 |
|
|
91 |
|
|
73 | 92 |
} |
74 | 93 |
|
75 | 94 |
@Override |
Also available in: Unified diff