Author: jgao
Date: 2010-09-11 13:50:51 -0700 (Sat, 11 Sep 2010)
New Revision: 21807
Modified:
csplugins/trunk/soc/jgao/IDMapping/src/csplugins/id/mapping/CyThesaurusPlugin.java
csplugins/trunk/soc/jgao/IDMapping/src/csplugins/id/mapping/IDMapperClientManager.java
Log:
CyThesaurus: listen to defaultSpeciesName property change
Modified:
csplugins/trunk/soc/jgao/IDMapping/src/csplugins/id/mapping/CyThesaurusPlugin.java
===================================================================
---
csplugins/trunk/soc/jgao/IDMapping/src/csplugins/id/mapping/CyThesaurusPlugin.java
2010-09-10 23:23:15 UTC (rev 21806)
+++
csplugins/trunk/soc/jgao/IDMapping/src/csplugins/id/mapping/CyThesaurusPlugin.java
2010-09-11 20:50:51 UTC (rev 21807)
@@ -40,6 +40,7 @@
import csplugins.id.mapping.ui.CyThesaurusDialog;
import cytoscape.Cytoscape;
+import cytoscape.CytoscapeInit;
import cytoscape.plugin.CytoscapePlugin;
import cytoscape.util.CytoscapeAction;
@@ -67,7 +68,7 @@
BioDataSource.init();
// IDMapperClientManager.reloadFromCytoscapeGlobalProperties();
registerDefaultClients();
- listenToSessionEvent();
+ addListeners();
IDMappingServiceSuppport.addService();
CyThesaurusNamespace.register(CyThesaurusNamespace.NAME);
@@ -79,7 +80,7 @@
.add(new IDMappingAction());
}
- private void listenToSessionEvent() {
+ private void addListeners() {
PropertyChangeSupport pcs = Cytoscape.getPropertyChangeSupport();
pcs.addPropertyChangeListener(Cytoscape.CYTOSCAPE_INITIALIZED,
@@ -120,6 +121,16 @@
mapSrcAttrIDTypes = null;
}
});
+
+ pcs.addPropertyChangeListener(Cytoscape.PREFERENCE_MODIFIED,
+ new PropertyChangeListener() {
+ public void propertyChange(PropertyChangeEvent evt) {
+ if
((CytoscapeInit.getProperties().getProperty("defaultSpeciesName") ==
evt.getOldValue())
+ ||
(CytoscapeInit.getProperties().getProperty("defaultSpeciesName") ==
evt.getNewValue())) {
+
IDMapperClientManager.registerDefaultClient((String)evt.getNewValue(),
(String)evt.getOldValue());
+ }
+ }
+ });
}
private void registerDefaultClients() {
Modified:
csplugins/trunk/soc/jgao/IDMapping/src/csplugins/id/mapping/IDMapperClientManager.java
===================================================================
---
csplugins/trunk/soc/jgao/IDMapping/src/csplugins/id/mapping/IDMapperClientManager.java
2010-09-10 23:23:15 UTC (rev 21806)
+++
csplugins/trunk/soc/jgao/IDMapping/src/csplugins/id/mapping/IDMapperClientManager.java
2010-09-11 20:50:51 UTC (rev 21807)
@@ -190,18 +190,36 @@
static boolean registerDefaultClient() {
Properties props = CytoscapeInit.getProperties();
String defaultSpecies =
props.getProperty(FinalStaticValues.DEFAULT_SPECIES_NAME);
+ return registerDefaultClient(defaultSpecies);
+ }
+ static boolean registerDefaultClient(String defaultSpecies) {
+ return registerDefaultClient(defaultSpecies, null);
+ }
+
+ static boolean registerDefaultClient(String newDefaultSpecies, String
oldDefaultSpecies) {
+ if (newDefaultSpecies==null) {
+ throw new IllegalArgumentException("newDefaultSpecies is null");
+ }
+
+ if (oldDefaultSpecies!=null) {
+
removeClient("idmapper-bridgerest:"+BridgeRestUtil.defaultBaseUrl+"/"+oldDefaultSpecies);
+ }
+
List<String> orgs =
BridgeRestUtil.supportedOrganisms(BridgeRestUtil.defaultBaseUrl);
- if (!orgs.contains(defaultSpecies))
+ if (!orgs.contains(newDefaultSpecies)) {
+ System.err.println("No default ID mapping resources for species:
"+newDefaultSpecies
+ +". Please configure manually.");
return false;
+ }
String classPath = "org.bridgedb.webservice.bridgerest.BridgeRest";
- String connStr =
"idmapper-bridgerest:"+BridgeRestUtil.defaultBaseUrl+"/"+defaultSpecies;
+ String connStr =
"idmapper-bridgerest:"+BridgeRestUtil.defaultBaseUrl+"/"+newDefaultSpecies;
IDMapperClient client;
try {
client = new IDMapperClientImplTunables
.Builder(connStr, classPath)
-
.displayName("BridgeDb("+BridgeRestUtil.defaultBaseUrl+"/"+defaultSpecies+")")
+
.displayName("BridgeDb("+BridgeRestUtil.defaultBaseUrl+"/"+newDefaultSpecies+")")
.selected(true)
.clientType(IDMapperClient.ClientType.WEBSERVICE)
.build();
--
You received this message because you are subscribed to the Google Groups
"cytoscape-cvs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/cytoscape-cvs?hl=en.