Revision 620bbbd6
Added by Andreas Kohlbecker over 8 years ago
eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/remoting/server/CDMServerUtils.java | ||
---|---|---|
47 | 47 |
configStringBuilder.append(" </bean>" + System.lineSeparator()); |
48 | 48 |
|
49 | 49 |
for(CdmPersistentDataSource dataSource : CdmPersistentDataSource.getAllDataSources()) { |
50 |
String beanId = dataSource.getName();
|
|
50 |
String beanId = xmlNCNamefrom(dataSource.getName());
|
|
51 | 51 |
String user = dataSource.getUsername(); |
52 | 52 |
String password = dataSource.getPassword(); |
53 | 53 |
String driverClass = dataSource.getCdmSourceProperty(CdmSourceProperties.DRIVER_CLASS); |
... | ... | |
65 | 65 |
return configStringBuilder.toString(); |
66 | 66 |
} |
67 | 67 |
|
68 |
/** |
|
69 |
* Assures that the datasource name is converted into a valid XML type NCName. |
|
70 |
* |
|
71 |
* Prefixes the string and replaces all forbidden characters by '_'. |
|
72 |
* |
|
73 |
* @param dataSource |
|
74 |
* @return |
|
75 |
*/ |
|
76 |
public static String xmlNCNamefrom(String beanName) { |
|
77 |
return "MGD_" + beanName.replaceAll("[^a-zA-Z0-9]", "_"); |
|
78 |
} |
|
79 |
|
|
68 | 80 |
public static File writeManagedServerConfig(String config, String fileName) throws IOException { |
69 | 81 |
File managedConfigFile = new File(CdmApplicationUtils.getWritableResourceDir(), fileName); |
70 | 82 |
if(managedConfigFile.exists()) { |
eu.etaxonomy.taxeditor.cdmlib/src/main/java/eu/etaxonomy/taxeditor/remoting/source/CdmServerInfo.java | ||
---|---|---|
38 | 38 |
import eu.etaxonomy.cdm.database.ICdmDataSource; |
39 | 39 |
import eu.etaxonomy.cdm.model.metadata.CdmMetaData; |
40 | 40 |
import eu.etaxonomy.taxeditor.remoting.server.CDMServerException; |
41 |
import eu.etaxonomy.taxeditor.remoting.server.CDMServerUtils; |
|
41 | 42 |
|
42 | 43 |
/** |
43 | 44 |
* @author cmathew |
... | ... | |
221 | 222 |
|
222 | 223 |
public void addInstancesFromDataSourcesConfig() { |
223 | 224 |
for(ICdmDataSource dataSource : CdmPersistentDataSource.getAllDataSources()){ |
224 |
logger.info("Adding local instance " + dataSource.getName()); |
|
225 |
addInstance(dataSource.getName(), dataSource.getName()); |
|
225 |
String datasourceNCName = CDMServerUtils.xmlNCNamefrom(dataSource.getName()); |
|
226 |
logger.info("Adding local instance " + dataSource.getName() + " as " + datasourceNCName); |
|
227 |
addInstance(datasourceNCName, datasourceNCName); |
|
226 | 228 |
} |
227 | 229 |
} |
228 | 230 |
|
Also available in: Unified diff
for managed servers the datasource name is now converted into a valid XML type NCName