Revision 070d8fe4
Added by Niels Hoffmann over 13 years ago
.gitattributes | ||
---|---|---|
3419 | 3419 |
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/application/CdmApplicationController.java -text |
3420 | 3420 |
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/application/CdmApplicationDefaultConfiguration.java -text |
3421 | 3421 |
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/application/ICdmApplicationConfiguration.java -text |
3422 |
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/application/eclipse/EclipseRcpSaveFileSystemXmlApplicationContext.java -text |
|
3423 |
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/application/eclipse/EclipseRcpSaveGenericApplicationContext.java -text |
|
3424 |
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/application/eclipse/EclipseRcpSavePathMatchingResourcePatternResolver.java -text |
|
3425 | 3422 |
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/conversation/ConversationHolder.java -text |
3426 | 3423 |
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/conversation/IConversationEnabled.java -text |
3427 | 3424 |
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/facade/DerivedUnitFacade.java -text |
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/application/CdmApplicationController.java | ||
---|---|---|
16 | 16 |
|
17 | 17 |
import org.apache.log4j.Logger; |
18 | 18 |
import org.hibernate.SessionFactory; |
19 |
import org.springframework.beans.MutablePropertyValues; |
|
20 | 19 |
import org.springframework.beans.factory.config.BeanDefinition; |
21 | 20 |
import org.springframework.beans.factory.xml.XmlBeanDefinitionReader; |
22 | 21 |
import org.springframework.context.support.AbstractApplicationContext; |
... | ... | |
29 | 28 |
import org.springframework.transaction.TransactionStatus; |
30 | 29 |
import org.springframework.transaction.support.DefaultTransactionDefinition; |
31 | 30 |
|
32 |
import eu.etaxonomy.cdm.api.application.eclipse.EclipseRcpSaveGenericApplicationContext; |
|
33 | 31 |
import eu.etaxonomy.cdm.api.conversation.ConversationHolder; |
34 | 32 |
import eu.etaxonomy.cdm.api.service.IAgentService; |
35 | 33 |
import eu.etaxonomy.cdm.api.service.ICollectionService; |
... | ... | |
53 | 51 |
import eu.etaxonomy.cdm.common.IProgressMonitor; |
54 | 52 |
import eu.etaxonomy.cdm.common.NullProgressMonitor; |
55 | 53 |
import eu.etaxonomy.cdm.database.CdmPersistentDataSource; |
56 |
import eu.etaxonomy.cdm.database.DataSourceNotFoundException; |
|
57 | 54 |
import eu.etaxonomy.cdm.database.DbSchemaValidation; |
58 | 55 |
import eu.etaxonomy.cdm.database.ICdmDataSource; |
59 | 56 |
import eu.etaxonomy.cdm.model.common.CdmBase; |
60 | 57 |
import eu.etaxonomy.cdm.model.common.CdmMetaData; |
61 | 58 |
import eu.etaxonomy.cdm.model.common.DefinedTermBase; |
62 | 59 |
import eu.etaxonomy.cdm.model.common.User; |
63 |
import eu.etaxonomy.cdm.model.common.init.TermNotFoundException; |
|
64 | 60 |
|
65 | 61 |
|
66 | 62 |
/** |
... | ... | |
83 | 79 |
|
84 | 80 |
|
85 | 81 |
/** |
86 |
* Constructor, opens an spring 2.5 ApplicationContext by using the default data source
|
|
82 |
* Constructor, opens a spring ApplicationContext by using the default data source
|
|
87 | 83 |
*/ |
88 |
public static CdmApplicationController NewInstance() throws DataSourceNotFoundException, TermNotFoundException {
|
|
84 |
public static CdmApplicationController NewInstance() { |
|
89 | 85 |
logger.info("Start CdmApplicationController with default data source"); |
90 | 86 |
CdmPersistentDataSource dataSource = CdmPersistentDataSource.NewDefaultInstance(); |
91 | 87 |
DbSchemaValidation dbSchemaValidation = defaultDbSchemaValidation; |
... | ... | |
93 | 89 |
} |
94 | 90 |
|
95 | 91 |
/** |
96 |
* Constructor, opens an spring 2.5 ApplicationContext by using the default data source
|
|
92 |
* Constructor, opens a spring ApplicationContext by using the default data source
|
|
97 | 93 |
* @param dbSchemaValidation validation type for database schema |
98 | 94 |
*/ |
99 |
public static CdmApplicationController NewInstance(DbSchemaValidation dbSchemaValidation) throws DataSourceNotFoundException, TermNotFoundException {
|
|
95 |
public static CdmApplicationController NewInstance(DbSchemaValidation dbSchemaValidation) { |
|
100 | 96 |
logger.info("Start CdmApplicationController with default data source"); |
101 | 97 |
CdmPersistentDataSource dataSource = CdmPersistentDataSource.NewDefaultInstance(); |
102 | 98 |
return CdmApplicationController.NewInstance(null, dataSource, dbSchemaValidation, false); |
... | ... | |
104 | 100 |
|
105 | 101 |
|
106 | 102 |
/** |
107 |
* Constructor, opens an spring 2.5 ApplicationContext by using the according data source and the
|
|
103 |
* Constructor, opens an spring ApplicationContext by using the according data source and the |
|
108 | 104 |
* default database schema validation type |
109 | 105 |
* @param dataSource |
110 | 106 |
*/ |
111 |
public static CdmApplicationController NewInstance(ICdmDataSource dataSource) |
|
112 |
throws DataSourceNotFoundException, TermNotFoundException{ |
|
107 |
public static CdmApplicationController NewInstance(ICdmDataSource dataSource) { |
|
113 | 108 |
return CdmApplicationController.NewInstance(null, dataSource, defaultDbSchemaValidation, false); |
114 | 109 |
} |
115 | 110 |
|
116 |
public static CdmApplicationController NewInstance(ICdmDataSource dataSource, DbSchemaValidation dbSchemaValidation) |
|
117 |
throws DataSourceNotFoundException, TermNotFoundException{ |
|
111 |
public static CdmApplicationController NewInstance(ICdmDataSource dataSource, DbSchemaValidation dbSchemaValidation) { |
|
118 | 112 |
return CdmApplicationController.NewInstance(null, dataSource, dbSchemaValidation, false); |
119 | 113 |
} |
120 | 114 |
|
121 |
public static CdmApplicationController NewInstance(ICdmDataSource dataSource, DbSchemaValidation dbSchemaValidation, boolean omitTermLoading) |
|
122 |
throws DataSourceNotFoundException, TermNotFoundException{ |
|
115 |
public static CdmApplicationController NewInstance(ICdmDataSource dataSource, DbSchemaValidation dbSchemaValidation, boolean omitTermLoading) { |
|
123 | 116 |
return CdmApplicationController.NewInstance(null, dataSource, dbSchemaValidation, omitTermLoading); |
124 | 117 |
} |
125 | 118 |
|
126 |
public static CdmApplicationController NewInstance(Resource applicationContextResource, ICdmDataSource dataSource, DbSchemaValidation dbSchemaValidation, boolean omitTermLoading) |
|
127 |
throws DataSourceNotFoundException, TermNotFoundException{ |
|
119 |
public static CdmApplicationController NewInstance(Resource applicationContextResource, ICdmDataSource dataSource, DbSchemaValidation dbSchemaValidation, boolean omitTermLoading) { |
|
128 | 120 |
return CdmApplicationController.NewInstance(applicationContextResource, dataSource, dbSchemaValidation, omitTermLoading, null); |
129 | 121 |
} |
130 | 122 |
|
131 |
public static CdmApplicationController NewInstance(Resource applicationContextResource, ICdmDataSource dataSource, DbSchemaValidation dbSchemaValidation, boolean omitTermLoading, IProgressMonitor progressMonitor) |
|
132 |
throws DataSourceNotFoundException, TermNotFoundException{ |
|
133 |
|
|
134 |
|
|
123 |
public static CdmApplicationController NewInstance(Resource applicationContextResource, ICdmDataSource dataSource, DbSchemaValidation dbSchemaValidation, boolean omitTermLoading, IProgressMonitor progressMonitor) { |
|
135 | 124 |
return new CdmApplicationController(applicationContextResource, dataSource, dbSchemaValidation, omitTermLoading, progressMonitor); |
136 | 125 |
} |
137 | 126 |
|
... | ... | |
164 | 153 |
dbSchemaValidation = defaultDbSchemaValidation; |
165 | 154 |
} |
166 | 155 |
logger.info("Connecting to '" + dataSource.getName() + "'"); |
167 |
progressMonitor.subTask("Connecting to '" + dataSource.getName() + "'");
|
|
156 |
progressMonitor.beginTask("Connecting to '" + dataSource.getName() + "'", 6);
|
|
168 | 157 |
progressMonitor.worked(1); |
169 | 158 |
|
170 |
GenericApplicationContext appContext; |
|
171 |
appContext = new EclipseRcpSaveGenericApplicationContext(); |
|
159 |
GenericApplicationContext applicationContext = new GenericApplicationContext(); |
|
172 | 160 |
|
173 | 161 |
BeanDefinition datasourceBean = dataSource.getDatasourceBean(); |
174 | 162 |
datasourceBean.setAttribute("isLazy", false); |
175 | 163 |
progressMonitor.subTask("Registering datasource."); |
176 | 164 |
progressMonitor.worked(1); |
177 |
appContext.registerBeanDefinition("dataSource", datasourceBean); |
|
165 |
applicationContext.registerBeanDefinition("dataSource", datasourceBean);
|
|
178 | 166 |
|
179 | 167 |
BeanDefinition hibernatePropBean= dataSource.getHibernatePropertiesBean(dbSchemaValidation); |
180 |
appContext.registerBeanDefinition("hibernateProperties", hibernatePropBean); |
|
168 |
applicationContext.registerBeanDefinition("hibernateProperties", hibernatePropBean);
|
|
181 | 169 |
|
182 |
XmlBeanDefinitionReader xmlReader = new XmlBeanDefinitionReader(appContext); |
|
183 |
progressMonitor.subTask("Registering context resources.");
|
|
170 |
XmlBeanDefinitionReader xmlReader = new XmlBeanDefinitionReader(applicationContext);
|
|
171 |
progressMonitor.subTask("Registering resources."); |
|
184 | 172 |
progressMonitor.worked(1); |
185 |
xmlReader.loadBeanDefinitions(this.applicationContextResource);
|
|
173 |
xmlReader.loadBeanDefinitions(applicationContextResource); |
|
186 | 174 |
|
187 | 175 |
//omitTerms |
188 |
String initializerName = "persistentTermInitializer"; |
|
189 |
BeanDefinition beanDef = appContext.getBeanDefinition(initializerName); |
|
176 |
/*String initializerName = "persistentTermInitializer";
|
|
177 |
BeanDefinition beanDef = applicationContext.getBeanDefinition(initializerName);
|
|
190 | 178 |
MutablePropertyValues values = beanDef.getPropertyValues(); |
191 |
values.addPropertyValue("omit", omitTermLoading); |
|
179 |
values.addPropertyValue("omit", omitTermLoading);*/
|
|
192 | 180 |
|
193 |
progressMonitor.subTask("Starting context. This might take a while...");
|
|
181 |
progressMonitor.subTask("Connecting. This might take a while ...");
|
|
194 | 182 |
progressMonitor.worked(1); |
195 |
appContext.refresh(); |
|
196 |
appContext.start(); |
|
183 |
applicationContext.refresh();
|
|
184 |
applicationContext.start();
|
|
197 | 185 |
|
198 |
progressMonitor.subTask("Setting application context.");
|
|
186 |
progressMonitor.subTask("Cleaning up.");
|
|
199 | 187 |
progressMonitor.worked(1); |
200 |
setApplicationContext(appContext); |
|
188 |
setApplicationContext(applicationContext);
|
|
201 | 189 |
|
202 | 190 |
//initialize user and metaData for new databases |
203 | 191 |
int userCount = getUserService().count(User.class); |
... | ... | |
212 | 200 |
progressMonitor.worked(1); |
213 | 201 |
createMetadata(); |
214 | 202 |
} |
215 |
|
|
203 |
progressMonitor.done(); |
|
216 | 204 |
return true; |
217 | 205 |
} |
218 | 206 |
|
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/application/eclipse/EclipseRcpSaveFileSystemXmlApplicationContext.java | ||
---|---|---|
1 |
// $Id$ |
|
2 |
/** |
|
3 |
* Copyright (C) 2007 EDIT |
|
4 |
* European Distributed Institute of Taxonomy |
|
5 |
* http://www.e-taxonomy.eu |
|
6 |
* |
|
7 |
* The contents of this file are subject to the Mozilla Public License Version 1.1 |
|
8 |
* See LICENSE.TXT at the top of this package for the full license terms. |
|
9 |
*/ |
|
10 |
|
|
11 |
package eu.etaxonomy.cdm.api.application.eclipse; |
|
12 |
|
|
13 |
import org.springframework.beans.BeansException; |
|
14 |
import org.springframework.context.ApplicationContext; |
|
15 |
import org.springframework.context.support.FileSystemXmlApplicationContext; |
|
16 |
import org.springframework.core.io.support.ResourcePatternResolver; |
|
17 |
|
|
18 |
public class EclipseRcpSaveFileSystemXmlApplicationContext extends |
|
19 |
FileSystemXmlApplicationContext { |
|
20 |
|
|
21 |
|
|
22 |
@Override |
|
23 |
protected ResourcePatternResolver getResourcePatternResolver() { |
|
24 |
return new EclipseRcpSavePathMatchingResourcePatternResolver(this); |
|
25 |
} |
|
26 |
|
|
27 |
/* all constructors */ |
|
28 |
public EclipseRcpSaveFileSystemXmlApplicationContext(String configLocation) |
|
29 |
throws BeansException { |
|
30 |
super(configLocation); |
|
31 |
} |
|
32 |
|
|
33 |
public EclipseRcpSaveFileSystemXmlApplicationContext(String[] configLocations, |
|
34 |
ApplicationContext parent) throws BeansException { |
|
35 |
super(configLocations, parent); |
|
36 |
} |
|
37 |
|
|
38 |
public EclipseRcpSaveFileSystemXmlApplicationContext(String[] configLocations, |
|
39 |
boolean refresh, ApplicationContext parent) throws BeansException { |
|
40 |
super(configLocations, refresh, parent); |
|
41 |
} |
|
42 |
|
|
43 |
public EclipseRcpSaveFileSystemXmlApplicationContext(String[] configLocations, |
|
44 |
boolean refresh) throws BeansException { |
|
45 |
super(configLocations, refresh); |
|
46 |
} |
|
47 |
|
|
48 |
public EclipseRcpSaveFileSystemXmlApplicationContext(String[] configLocations) |
|
49 |
throws BeansException { |
|
50 |
super(configLocations); |
|
51 |
} |
|
52 |
|
|
53 |
|
|
54 |
} |
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/application/eclipse/EclipseRcpSaveGenericApplicationContext.java | ||
---|---|---|
1 |
// $Id$ |
|
2 |
/** |
|
3 |
* Copyright (C) 2007 EDIT |
|
4 |
* European Distributed Institute of Taxonomy |
|
5 |
* http://www.e-taxonomy.eu |
|
6 |
* |
|
7 |
* The contents of this file are subject to the Mozilla Public License Version 1.1 |
|
8 |
* See LICENSE.TXT at the top of this package for the full license terms. |
|
9 |
*/ |
|
10 |
|
|
11 |
package eu.etaxonomy.cdm.api.application.eclipse; |
|
12 |
|
|
13 |
import org.springframework.beans.factory.support.DefaultListableBeanFactory; |
|
14 |
import org.springframework.context.ApplicationContext; |
|
15 |
import org.springframework.context.support.GenericApplicationContext; |
|
16 |
import org.springframework.core.io.support.ResourcePatternResolver; |
|
17 |
|
|
18 |
/** |
|
19 |
* @author a.mueller |
|
20 |
* |
|
21 |
*/ |
|
22 |
public class EclipseRcpSaveGenericApplicationContext extends |
|
23 |
GenericApplicationContext { |
|
24 |
|
|
25 |
@Override |
|
26 |
protected ResourcePatternResolver getResourcePatternResolver() { |
|
27 |
return new EclipseRcpSavePathMatchingResourcePatternResolver(this); |
|
28 |
} |
|
29 |
|
|
30 |
/** |
|
31 |
* |
|
32 |
*/ |
|
33 |
public EclipseRcpSaveGenericApplicationContext() { |
|
34 |
} |
|
35 |
|
|
36 |
/** |
|
37 |
* @param beanFactory |
|
38 |
*/ |
|
39 |
public EclipseRcpSaveGenericApplicationContext( |
|
40 |
DefaultListableBeanFactory beanFactory) { |
|
41 |
super(beanFactory); |
|
42 |
} |
|
43 |
|
|
44 |
/** |
|
45 |
* @param parent |
|
46 |
*/ |
|
47 |
public EclipseRcpSaveGenericApplicationContext(ApplicationContext parent) { |
|
48 |
super(parent); |
|
49 |
} |
|
50 |
|
|
51 |
/** |
|
52 |
* @param beanFactory |
|
53 |
* @param parent |
|
54 |
*/ |
|
55 |
public EclipseRcpSaveGenericApplicationContext( |
|
56 |
DefaultListableBeanFactory beanFactory, ApplicationContext parent) { |
|
57 |
super(beanFactory, parent); |
|
58 |
} |
|
59 |
|
|
60 |
} |
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/application/eclipse/EclipseRcpSavePathMatchingResourcePatternResolver.java | ||
---|---|---|
1 |
// $Id$ |
|
2 |
/** |
|
3 |
* Copyright (C) 2007 EDIT |
|
4 |
* European Distributed Institute of Taxonomy |
|
5 |
* http://www.e-taxonomy.eu |
|
6 |
* |
|
7 |
* The contents of this file are subject to the Mozilla Public License Version 1.1 |
|
8 |
* See LICENSE.TXT at the top of this package for the full license terms. |
|
9 |
*/ |
|
10 |
|
|
11 |
package eu.etaxonomy.cdm.api.application.eclipse; |
|
12 |
|
|
13 |
import java.io.*; |
|
14 |
import java.net.*; |
|
15 |
import java.util.*; |
|
16 |
|
|
17 |
import org.eclipse.osgi.framework.internal.core.*; |
|
18 |
import org.springframework.core.*; |
|
19 |
import org.springframework.core.io.*; |
|
20 |
import org.springframework.core.io.support.*; |
|
21 |
|
|
22 |
public class EclipseRcpSavePathMatchingResourcePatternResolver extends PathMatchingResourcePatternResolver |
|
23 |
{ |
|
24 |
public EclipseRcpSavePathMatchingResourcePatternResolver(ResourceLoader resourceLoader) |
|
25 |
{ |
|
26 |
super(resourceLoader); |
|
27 |
} |
|
28 |
|
|
29 |
protected Resource[] findAllClassPathResources(String location) throws IOException |
|
30 |
{ |
|
31 |
String path = location; |
|
32 |
|
|
33 |
if (path.startsWith("/")) |
|
34 |
{ |
|
35 |
path = path.substring(1) ; |
|
36 |
} |
|
37 |
|
|
38 |
Enumeration<URL> resourceUrls = getClassLoader().getResources(path); |
|
39 |
Set result = CollectionFactory.createLinkedSetIfPossible(16); |
|
40 |
while (resourceUrls.hasMoreElements()) |
|
41 |
{ |
|
42 |
URL url = (URL) resourceUrls.nextElement(); |
|
43 |
|
|
44 |
if (url.getProtocol().startsWith("bundleresource")){ |
|
45 |
//handle eclipse bundleresource: |
|
46 |
URLConnection con = url.openConnection(); |
|
47 |
BundleURLConnection bundleCon = (BundleURLConnection) con; |
|
48 |
// Convert the bundle URL into a file system URL. |
|
49 |
result.add(new UrlResource(bundleCon.getFileURL())); |
|
50 |
}else{ |
|
51 |
result.add(convertClassLoaderURL(url)); |
|
52 |
} |
|
53 |
} |
|
54 |
|
|
55 |
return (Resource[]) result.toArray(new Resource[result.size()]); |
|
56 |
} |
|
57 |
} |
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/FeatureTreeServiceImpl.java | ||
---|---|---|
112 | 112 |
public FeatureTree load(UUID uuid, List<String> propertyPaths) { |
113 | 113 |
return super.load(uuid, propertyPaths); |
114 | 114 |
} |
115 |
|
|
116 |
/* (non-Javadoc) |
|
117 |
* @see eu.etaxonomy.cdm.api.service.IFeatureTreeService#createTransientDefaultFeatureTree() |
|
118 |
*/ |
|
119 |
@Override |
|
120 |
public FeatureTree createTransientDefaultFeatureTree() { |
|
121 |
return load(IFeatureTreeDao.DefaultFeatureTreeUuid); |
|
122 |
} |
|
123 |
|
|
124 |
|
|
115 | 125 |
|
116 | 126 |
} |
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/IFeatureTreeService.java | ||
---|---|---|
36 | 36 |
|
37 | 37 |
public Map<UUID, FeatureNode> saveOrUpdateFeatureNodesAll(Collection<FeatureNode> featureNodeCollection); |
38 | 38 |
|
39 |
public FeatureTree createTransientDefaultFeatureTree(); |
|
39 | 40 |
} |
cdmlib-services/src/main/resources/eu/etaxonomy/cdm/defaultApplicationContext.xml | ||
---|---|---|
16 | 16 |
<context:component-scan base-package="eu/etaxonomy/cdm/api/service"> |
17 | 17 |
<!-- <context:exclude-filter type="regex" expression="eu\.etaxonomy\.cdm\.api\.service\.UserService"/> --> |
18 | 18 |
</context:component-scan> |
19 |
|
|
19 | 20 |
<context:component-scan base-package="eu/etaxonomy/cdm/api/application"/> |
20 | 21 |
|
21 | 22 |
<!-- EditGeoService was moved to ext. Therefore it will not be found by the default component scan. |
cdmlib-services/src/test/java/eu/etaxonomy/cdm/test/function/Datasource.java | ||
---|---|---|
26 | 26 |
import eu.etaxonomy.cdm.api.application.CdmApplicationUtils; |
27 | 27 |
import eu.etaxonomy.cdm.database.CdmDataSource; |
28 | 28 |
import eu.etaxonomy.cdm.database.CdmPersistentDataSource; |
29 |
import eu.etaxonomy.cdm.database.DataSourceNotFoundException; |
|
30 | 29 |
import eu.etaxonomy.cdm.database.DatabaseTypeEnum; |
31 | 30 |
import eu.etaxonomy.cdm.database.DbSchemaValidation; |
32 | 31 |
import eu.etaxonomy.cdm.database.ICdmDataSource; |
... | ... | |
42 | 41 |
import eu.etaxonomy.cdm.model.name.NameRelationshipType; |
43 | 42 |
import eu.etaxonomy.cdm.model.name.Rank; |
44 | 43 |
import eu.etaxonomy.cdm.model.name.TaxonNameBase; |
45 |
import eu.etaxonomy.cdm.model.reference.IGeneric; |
|
46 | 44 |
import eu.etaxonomy.cdm.model.reference.ReferenceBase; |
47 | 45 |
import eu.etaxonomy.cdm.model.reference.ReferenceFactory; |
48 | 46 |
import eu.etaxonomy.cdm.model.taxon.Taxon; |
... | ... | |
59 | 57 |
// ICdmDataSource dataSource = CdmDataSource.NewInstance(dbType, "192.168.2.10", "cdm_test_andreas", dbType.getDefaultPort() + "", "edit", "", null, null); |
60 | 58 |
CdmPersistentDataSource.save(dataSource.getName(), dataSource); |
61 | 59 |
CdmApplicationController appCtr; |
62 |
try { |
|
63 |
appCtr = CdmApplicationController.NewInstance(dataSource); |
|
64 |
appCtr.close(); |
|
65 |
} catch (DataSourceNotFoundException e) { |
|
66 |
logger.error("Unknown datasource"); |
|
67 |
} catch (TermNotFoundException e) { |
|
68 |
logger.error("defined terms not found"); |
|
69 |
} |
|
70 |
|
|
60 |
appCtr = CdmApplicationController.NewInstance(dataSource); |
|
61 |
appCtr.close(); |
|
71 | 62 |
} |
72 | 63 |
|
73 | 64 |
private void testDatabaseChange(){ |
74 | 65 |
CdmApplicationController appCtr; |
75 |
try { |
|
76 |
appCtr = CdmApplicationController.NewInstance(); |
|
66 |
appCtr = CdmApplicationController.NewInstance(); |
|
67 |
|
|
68 |
// DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL; |
|
69 |
// String server = "192.168.2.10"; |
|
70 |
// String database = "cdm_test_andreas"; |
|
71 |
// String user = "edit"; |
|
72 |
// String pwd = "wp5"; |
|
73 |
// |
|
74 |
DatabaseTypeEnum dbType = DatabaseTypeEnum.SqlServer2005; |
|
75 |
String server = "LAPTOPHP"; |
|
76 |
String database = "cdmTest"; |
|
77 |
String username = "edit"; |
|
78 |
String password = ""; |
|
77 | 79 |
|
78 |
// DatabaseTypeEnum dbType = DatabaseTypeEnum.MySQL; |
|
79 |
// String server = "192.168.2.10"; |
|
80 |
// String database = "cdm_test_andreas"; |
|
81 |
// String user = "edit"; |
|
82 |
// String pwd = "wp5"; |
|
83 |
// |
|
84 |
DatabaseTypeEnum dbType = DatabaseTypeEnum.SqlServer2005; |
|
85 |
String server = "LAPTOPHP"; |
|
86 |
String database = "cdmTest"; |
|
87 |
String username = "edit"; |
|
88 |
String password = ""; |
|
89 |
|
|
90 |
ICdmDataSource dataSource = CdmDataSource.NewInstance(DatabaseTypeEnum.SqlServer2005, "LAPTOPHP", "cdmTest", DatabaseTypeEnum.SqlServer2005.getDefaultPort(), "edit", ""); |
|
91 |
|
|
92 |
appCtr.getDatabaseService().saveDataSource("testSqlServer", dataSource); |
|
80 |
ICdmDataSource dataSource = CdmDataSource.NewInstance(DatabaseTypeEnum.SqlServer2005, "LAPTOPHP", "cdmTest", DatabaseTypeEnum.SqlServer2005.getDefaultPort(), "edit", ""); |
|
81 |
|
|
82 |
appCtr.getDatabaseService().saveDataSource("testSqlServer", dataSource); |
|
83 |
try { |
|
93 | 84 |
appCtr.getDatabaseService().connectToDatabase(dbType, server, database, username, password); |
94 |
|
|
95 |
appCtr.close(); |
|
96 |
} catch (DataSourceNotFoundException e) { |
|
97 |
logger.error("datasource error"); |
|
98 | 85 |
} catch (TermNotFoundException e) { |
99 |
logger.error("defined terms not found"); |
|
86 |
// TODO Auto-generated catch block |
|
87 |
e.printStackTrace(); |
|
100 | 88 |
} |
89 |
|
|
90 |
appCtr.close(); |
|
101 | 91 |
} |
102 | 92 |
|
103 | 93 |
private void testSqlServer(){ |
... | ... | |
129 | 119 |
TaxonNameBase tn = BotanicalName.NewInstance(null); |
130 | 120 |
appCtr.getNameService().save(tn); |
131 | 121 |
appCtr.close(); |
132 |
} catch (DataSourceNotFoundException e) { |
|
133 |
logger.error("Unknown datasource"); |
|
134 |
} catch (TermNotFoundException e) { |
|
135 |
logger.error("defined terms not found"); |
|
136 | 122 |
} catch (SQLException e) { |
137 | 123 |
// TODO Auto-generated catch block |
138 | 124 |
e.printStackTrace(); |
... | ... | |
149 | 135 |
ICdmDataSource dataSource = CdmDataSource.NewInstance(databaseTypeEnum, server, database, databaseTypeEnum.getDefaultPort(), username, password); |
150 | 136 |
|
151 | 137 |
CdmPersistentDataSource ds = CdmPersistentDataSource.save("testSqlServer", dataSource); |
152 |
try { |
|
153 |
CdmApplicationController appCtr = CdmApplicationController.NewInstance(ds); |
|
154 |
Person agent = Person.NewInstance(); |
|
155 |
appCtr.getAgentService().save(agent); |
|
156 |
TaxonNameBase tn = BotanicalName.NewInstance(null); |
|
157 |
appCtr.getNameService().save(tn); |
|
158 |
appCtr.close(); |
|
159 |
} catch (DataSourceNotFoundException e) { |
|
160 |
logger.error("Unknown datasource"); |
|
161 |
} catch (TermNotFoundException e) { |
|
162 |
logger.error("defined terms not found"); |
|
163 |
} |
|
138 |
|
|
139 |
CdmApplicationController appCtr = CdmApplicationController.NewInstance(ds); |
|
140 |
Person agent = Person.NewInstance(); |
|
141 |
appCtr.getAgentService().save(agent); |
|
142 |
TaxonNameBase tn = BotanicalName.NewInstance(null); |
|
143 |
appCtr.getNameService().save(tn); |
|
144 |
appCtr.close(); |
|
145 |
|
|
164 | 146 |
} |
165 | 147 |
|
166 | 148 |
private void testPostgreServer(){ |
... | ... | |
173 | 155 |
ICdmDataSource dataSource = CdmDataSource.NewInstance(databaseTypeEnum, server, database, databaseTypeEnum.getDefaultPort(), username, password); |
174 | 156 |
|
175 | 157 |
CdmPersistentDataSource ds = CdmPersistentDataSource.save("PostgreTest", dataSource); |
176 |
try { |
|
177 |
CdmApplicationController appCtr = CdmApplicationController.NewInstance(ds); |
|
178 |
Person agent = Person.NewInstance(); |
|
179 |
appCtr.getAgentService().save(agent); |
|
180 |
TaxonNameBase tn = BotanicalName.NewInstance(null); |
|
181 |
appCtr.getNameService().save(tn); |
|
182 |
appCtr.close(); |
|
183 |
} catch (DataSourceNotFoundException e) { |
|
184 |
logger.error("Unknown datasource"); |
|
185 |
} catch (TermNotFoundException e) { |
|
186 |
logger.error("defined terms not found"); |
|
187 |
} |
|
158 |
|
|
159 |
CdmApplicationController appCtr = CdmApplicationController.NewInstance(ds); |
|
160 |
Person agent = Person.NewInstance(); |
|
161 |
appCtr.getAgentService().save(agent); |
|
162 |
TaxonNameBase tn = BotanicalName.NewInstance(null); |
|
163 |
appCtr.getNameService().save(tn); |
|
164 |
appCtr.close(); |
|
165 |
|
|
188 | 166 |
} |
189 | 167 |
|
190 | 168 |
private void testLocalHsql(){ |
169 |
|
|
170 |
CdmPersistentDataSource ds = CdmPersistentDataSource.NewLocalHsqlInstance(); |
|
171 |
CdmApplicationController appCtr = CdmApplicationController.NewInstance(ds); |
|
191 | 172 |
try { |
192 |
CdmPersistentDataSource ds = CdmPersistentDataSource.NewLocalHsqlInstance(); |
|
193 |
CdmApplicationController appCtr = CdmApplicationController.NewInstance(ds); |
|
194 |
try { |
|
195 |
List l = appCtr.getNameService().list(null,5, 1,null,null); |
|
196 |
System.out.println(l); |
|
197 |
//Agent agent = new Agent(); |
|
198 |
//appCtr.getAgentService().saveAgent(agent); |
|
199 |
appCtr.close(); |
|
200 |
} catch (RuntimeException e) { |
|
201 |
logger.error("Runtime Exception"); |
|
202 |
e.printStackTrace(); |
|
203 |
appCtr.close(); |
|
204 |
|
|
205 |
} |
|
206 |
} catch (DataSourceNotFoundException e) { |
|
207 |
logger.error("LOCAL HSQL"); |
|
208 |
} catch (TermNotFoundException e) { |
|
209 |
logger.error("defined terms not found"); |
|
173 |
List l = appCtr.getNameService().list(null,5, 1,null,null); |
|
174 |
System.out.println(l); |
|
175 |
//Agent agent = new Agent(); |
|
176 |
//appCtr.getAgentService().saveAgent(agent); |
|
177 |
appCtr.close(); |
|
178 |
} catch (RuntimeException e) { |
|
179 |
logger.error("Runtime Exception"); |
|
180 |
e.printStackTrace(); |
|
181 |
appCtr.close(); |
|
182 |
|
|
210 | 183 |
} |
211 | 184 |
} |
212 | 185 |
|
213 | 186 |
private void testLocalH2(){ |
214 |
try { |
|
215 |
DbSchemaValidation validation = DbSchemaValidation.CREATE;
|
|
216 |
ICdmDataSource ds =
|
|
217 |
CdmDataSource.NewH2EmbeddedInstance("cdm", "sa", "", null);
|
|
187 |
|
|
188 |
DbSchemaValidation validation = DbSchemaValidation.CREATE; |
|
189 |
ICdmDataSource ds = |
|
190 |
CdmDataSource.NewH2EmbeddedInstance("cdm", "sa", "", null); |
|
218 | 191 |
// ds = |
219 | 192 |
// CdmPersistentDataSource.NewInstance("localH2"); |
220 |
CdmApplicationController appCtr = CdmApplicationController.NewInstance(ds, validation); |
|
193 |
CdmApplicationController appCtr = CdmApplicationController.NewInstance(ds, validation); |
|
194 |
|
|
195 |
boolean exists = appCtr.getUserService().userExists("admin"); |
|
196 |
try { |
|
197 |
BotanicalName name = BotanicalName.NewInstance(null); |
|
198 |
String nameCache = "testName"; |
|
199 |
name.setNameCache(nameCache); |
|
200 |
name.setTitleCache(nameCache, true); |
|
201 |
ReferenceFactory refFactory = ReferenceFactory.newInstance(); |
|
202 |
ReferenceBase ref = refFactory.newGeneric(); |
|
203 |
ref.setTitleCache("mySec", true); |
|
204 |
Taxon taxon = Taxon.NewInstance(name, ref); |
|
205 |
TaxonDescription description = TaxonDescription.NewInstance(); |
|
206 |
taxon.addDescription(description); |
|
207 |
NamedArea area1 = TdwgArea.getAreaByTdwgAbbreviation("GER"); |
|
208 |
Distribution distribution = Distribution.NewInstance(area1, PresenceTerm.PRESENT()); |
|
209 |
description.addElement(distribution); |
|
221 | 210 |
|
222 |
boolean exists = appCtr.getUserService().userExists("admin"); |
|
223 |
try { |
|
224 |
BotanicalName name = BotanicalName.NewInstance(null); |
|
225 |
String nameCache = "testName"; |
|
226 |
name.setNameCache(nameCache); |
|
227 |
name.setTitleCache(nameCache, true); |
|
228 |
ReferenceFactory refFactory = ReferenceFactory.newInstance(); |
|
229 |
ReferenceBase ref = refFactory.newGeneric(); |
|
230 |
ref.setTitleCache("mySec", true); |
|
231 |
Taxon taxon = Taxon.NewInstance(name, ref); |
|
232 |
TaxonDescription description = TaxonDescription.NewInstance(); |
|
233 |
taxon.addDescription(description); |
|
234 |
NamedArea area1 = TdwgArea.getAreaByTdwgAbbreviation("GER"); |
|
235 |
Distribution distribution = Distribution.NewInstance(area1, PresenceTerm.PRESENT()); |
|
236 |
description.addElement(distribution); |
|
237 |
|
|
238 |
List<Distribution> distrList = new ArrayList<Distribution>(); |
|
239 |
distrList.add(distribution); |
|
240 |
List<NamedArea> areaList = new ArrayList<NamedArea>(); |
|
241 |
areaList.add(area1); |
|
242 |
|
|
243 |
// distribution.getInDescription().get |
|
244 |
appCtr.getTaxonService().save(taxon); |
|
211 |
List<Distribution> distrList = new ArrayList<Distribution>(); |
|
212 |
distrList.add(distribution); |
|
213 |
List<NamedArea> areaList = new ArrayList<NamedArea>(); |
|
214 |
areaList.add(area1); |
|
215 |
|
|
216 |
// distribution.getInDescription().get |
|
217 |
appCtr.getTaxonService().save(taxon); |
|
245 | 218 |
|
246 |
System.out.println(taxon.getDescriptions().size());
|
|
247 |
|
|
248 |
TransactionStatus txStatus = appCtr.startTransaction();
|
|
249 |
|
|
250 |
Session session = appCtr.getSessionFactory().getCurrentSession();
|
|
251 |
|
|
252 |
//String hqlQuery = "from DescriptionBase d join d.elements as e "
|
|
219 |
System.out.println(taxon.getDescriptions().size()); |
|
220 |
|
|
221 |
TransactionStatus txStatus = appCtr.startTransaction(); |
|
222 |
|
|
223 |
Session session = appCtr.getSessionFactory().getCurrentSession(); |
|
224 |
|
|
225 |
//String hqlQuery = "from DescriptionBase d join d.elements as e " |
|
253 | 226 |
// String hqlQuery = "from Taxon t join t.descriptions as d "+ |
254 | 227 |
// " inner join d.elements e on e member of d " |
255 | 228 |
// + |
256 | 229 |
// "";//" where e.area = :namedArea " ; |
257 |
String hqlQuery = "Select t from Distribution e join e.inDescription d join d.taxon t join t.name n "+ |
|
258 |
" WHERE e.area in (:namedArea) AND n.nameCache = :nameCache "; |
|
259 |
Query query = session.createQuery(hqlQuery); |
|
260 |
|
|
261 |
//query.setEntity("namedArea", area1); |
|
262 |
query.setParameter("nameCache", nameCache); |
|
263 |
query.setParameterList("namedArea", areaList); |
|
264 |
List resultList = query.list(); |
|
265 |
//List list = appCtr.getCommonService().getHqlResult(hqlQuery); |
|
266 |
|
|
267 |
for (Object o:resultList){ |
|
268 |
System.out.println(o); |
|
269 |
} |
|
270 |
appCtr.commitTransaction(txStatus); |
|
271 |
|
|
272 |
//System.out.println(l); |
|
273 |
//Agent agent = new Agent(); |
|
274 |
//appCtr.getAgentService().saveAgent(agent); |
|
275 |
appCtr.close(); |
|
276 |
} catch (RuntimeException e) { |
|
277 |
logger.error("Runtime Exception"); |
|
278 |
e.printStackTrace(); |
|
279 |
appCtr.close(); |
|
280 |
|
|
230 |
String hqlQuery = "Select t from Distribution e join e.inDescription d join d.taxon t join t.name n "+ |
|
231 |
" WHERE e.area in (:namedArea) AND n.nameCache = :nameCache "; |
|
232 |
Query query = session.createQuery(hqlQuery); |
|
233 |
|
|
234 |
//query.setEntity("namedArea", area1); |
|
235 |
query.setParameter("nameCache", nameCache); |
|
236 |
query.setParameterList("namedArea", areaList); |
|
237 |
List resultList = query.list(); |
|
238 |
//List list = appCtr.getCommonService().getHqlResult(hqlQuery); |
|
239 |
|
|
240 |
for (Object o:resultList){ |
|
241 |
System.out.println(o); |
|
281 | 242 |
} |
282 |
} catch (DataSourceNotFoundException e) { |
|
283 |
logger.error("Error in LOCAL HSQL"); |
|
284 |
} catch (TermNotFoundException e) { |
|
285 |
logger.error("defined terms not found"); |
|
243 |
appCtr.commitTransaction(txStatus); |
|
244 |
|
|
245 |
//System.out.println(l); |
|
246 |
//Agent agent = new Agent(); |
|
247 |
//appCtr.getAgentService().saveAgent(agent); |
|
248 |
appCtr.close(); |
|
249 |
} catch (RuntimeException e) { |
|
250 |
logger.error("Runtime Exception"); |
|
251 |
e.printStackTrace(); |
|
252 |
appCtr.close(); |
|
253 |
|
|
286 | 254 |
} |
287 | 255 |
} |
288 | 256 |
|
... | ... | |
294 | 262 |
private boolean testH2(){ |
295 | 263 |
// testLocalH2(); |
296 | 264 |
// if (true)return true; |
297 |
try{ |
|
298 |
DbSchemaValidation validation = DbSchemaValidation.CREATE; |
|
299 |
ICdmDataSource ds = |
|
300 |
CdmDataSource.NewH2EmbeddedInstance("cdm", "sa", "", null); |
|
301 |
//CdmDataSource.NewH2EmbeddedInstance("cdm", "sa", ""); |
|
302 |
// ds = |
|
303 |
// CdmPersistentDataSource.NewInstance("localH2"); |
|
304 |
CdmApplicationController appCtr = CdmApplicationController.NewInstance(ds, validation); |
|
265 |
|
|
266 |
DbSchemaValidation validation = DbSchemaValidation.CREATE; |
|
267 |
ICdmDataSource ds = |
|
268 |
CdmDataSource.NewH2EmbeddedInstance("cdm", "sa", "", null); |
|
269 |
//CdmDataSource.NewH2EmbeddedInstance("cdm", "sa", ""); |
|
270 |
// ds = |
|
271 |
// CdmPersistentDataSource.NewInstance("localH2"); |
|
272 |
CdmApplicationController appCtr = CdmApplicationController.NewInstance(ds, validation); |
|
273 |
try { |
|
274 |
BotanicalName botName1 = BotanicalName.NewInstance(Rank.SPECIES()); |
|
275 |
BotanicalName botName2 = BotanicalName.NewInstance(Rank.SPECIES()); |
|
276 |
BotanicalName hybridName = BotanicalName.NewInstance(Rank.SPECIES()); |
|
277 |
botName1.addRelationshipToName(botName2, NameRelationshipType.ORTHOGRAPHIC_VARIANT(), null); |
|
278 |
UUID uuid1 = botName1.getUuid(); |
|
279 |
UUID uuid2 = botName2.getUuid(); |
|
305 | 280 |
try { |
306 |
BotanicalName botName1 = BotanicalName.NewInstance(Rank.SPECIES()); |
|
307 |
BotanicalName botName2 = BotanicalName.NewInstance(Rank.SPECIES()); |
|
308 |
BotanicalName hybridName = BotanicalName.NewInstance(Rank.SPECIES()); |
|
309 |
botName1.addRelationshipToName(botName2, NameRelationshipType.ORTHOGRAPHIC_VARIANT(), null); |
|
310 |
UUID uuid1 = botName1.getUuid(); |
|
311 |
UUID uuid2 = botName2.getUuid(); |
|
312 |
try { |
|
313 |
Logger loggerTrace = logger.getLogger("org.hibernate.type"); |
|
314 |
loggerTrace.setLevel(Level.TRACE); |
|
315 |
System.out.println(logger.getName()); |
|
316 |
|
|
317 |
appCtr.getNameService().save(botName1); |
|
318 |
ResultSet rs = ds.executeQuery("Select count(*) as n FROM NameRelationship"); |
|
319 |
rs.next(); |
|
320 |
int c = rs.getInt("n"); |
|
321 |
System.out.println("Begin :" + c); |
|
322 |
|
|
323 |
botName1.removeRelationToTaxonName(botName2); |
|
324 |
botName1.setSpecificEpithet("DELETED"); |
|
325 |
botName2.addHybridParent(hybridName, HybridRelationshipType.FIRST_PARENT(), null); |
|
326 |
|
|
327 |
TransactionStatus tx = appCtr.startTransaction(); |
|
328 |
appCtr.getNameService().saveOrUpdate(botName2); |
|
329 |
rs = ds.executeQuery("Select count(*) as n FROM NameRelationship"); |
|
330 |
rs.next(); |
|
331 |
c = rs.getInt("n"); |
|
332 |
System.out.println("End: " + c); |
|
333 |
|
|
334 |
appCtr.commitTransaction(tx); |
|
335 |
|
|
336 |
appCtr.getNameService().saveOrUpdate(botName1); |
|
337 |
|
|
338 |
rs = ds.executeQuery("Select count(*) as n FROM NameRelationship"); |
|
339 |
rs.next(); |
|
340 |
c = rs.getInt("n"); |
|
341 |
System.out.println("End: " + c); |
|
342 |
|
|
343 |
} catch (SQLException e) { |
|
344 |
// TODO Auto-generated catch block |
|
345 |
e.printStackTrace(); |
|
346 |
} |
|
281 |
Logger loggerTrace = logger.getLogger("org.hibernate.type"); |
|
282 |
loggerTrace.setLevel(Level.TRACE); |
|
283 |
System.out.println(logger.getName()); |
|
347 | 284 |
|
285 |
appCtr.getNameService().save(botName1); |
|
286 |
ResultSet rs = ds.executeQuery("Select count(*) as n FROM NameRelationship"); |
|
287 |
rs.next(); |
|
288 |
int c = rs.getInt("n"); |
|
289 |
System.out.println("Begin :" + c); |
|
348 | 290 |
|
349 |
//Agent agent = new Agent(); |
|
350 |
//appCtr.getAgentService().saveAgent(agent); |
|
351 |
appCtr.close(); |
|
352 |
return true; |
|
353 |
} catch (RuntimeException e) { |
|
354 |
logger.error("Runtime Exception"); |
|
355 |
e.printStackTrace(); |
|
356 |
appCtr.close(); |
|
291 |
botName1.removeRelationToTaxonName(botName2); |
|
292 |
botName1.setSpecificEpithet("DELETED"); |
|
293 |
botName2.addHybridParent(hybridName, HybridRelationshipType.FIRST_PARENT(), null); |
|
357 | 294 |
|
295 |
TransactionStatus tx = appCtr.startTransaction(); |
|
296 |
appCtr.getNameService().saveOrUpdate(botName2); |
|
297 |
rs = ds.executeQuery("Select count(*) as n FROM NameRelationship"); |
|
298 |
rs.next(); |
|
299 |
c = rs.getInt("n"); |
|
300 |
System.out.println("End: " + c); |
|
301 |
|
|
302 |
appCtr.commitTransaction(tx); |
|
303 |
|
|
304 |
appCtr.getNameService().saveOrUpdate(botName1); |
|
305 |
|
|
306 |
rs = ds.executeQuery("Select count(*) as n FROM NameRelationship"); |
|
307 |
rs.next(); |
|
308 |
c = rs.getInt("n"); |
|
309 |
System.out.println("End: " + c); |
|
310 |
|
|
311 |
} catch (SQLException e) { |
|
312 |
// TODO Auto-generated catch block |
|
313 |
e.printStackTrace(); |
|
358 | 314 |
} |
359 |
} catch (DataSourceNotFoundException e) { |
|
360 |
logger.error("Error in LOCAL HSQL"); |
|
361 |
} catch (TermNotFoundException e) { |
|
362 |
logger.error("defined terms not found"); |
|
315 |
|
|
316 |
|
|
317 |
//Agent agent = new Agent(); |
|
318 |
//appCtr.getAgentService().saveAgent(agent); |
|
319 |
appCtr.close(); |
|
320 |
return true; |
|
321 |
} catch (RuntimeException e) { |
|
322 |
logger.error("Runtime Exception"); |
|
323 |
e.printStackTrace(); |
|
324 |
appCtr.close(); |
|
325 |
|
|
363 | 326 |
} |
364 | 327 |
return false; |
365 | 328 |
} |
cdmlib-services/src/test/java/eu/etaxonomy/cdm/test/function/TestDatabase.java | ||
---|---|---|
21 | 21 |
|
22 | 22 |
import org.apache.log4j.Logger; |
23 | 23 |
import org.hibernate.mapping.Column; |
24 |
import org.junit.Test; |
|
25 | 24 |
import org.springframework.core.io.ClassPathResource; |
26 | 25 |
import org.springframework.core.io.Resource; |
27 | 26 |
|
... | ... | |
39 | 38 |
import eu.etaxonomy.cdm.model.agent.Contact; |
40 | 39 |
import eu.etaxonomy.cdm.model.agent.Person; |
41 | 40 |
import eu.etaxonomy.cdm.model.common.Annotation; |
42 |
import eu.etaxonomy.cdm.model.common.AnnotationType; |
|
43 | 41 |
import eu.etaxonomy.cdm.model.common.Language; |
44 |
import eu.etaxonomy.cdm.model.common.init.TermNotFoundException; |
|
45 | 42 |
import eu.etaxonomy.cdm.model.description.CommonTaxonName; |
46 | 43 |
import eu.etaxonomy.cdm.model.description.DescriptionBase; |
47 | 44 |
import eu.etaxonomy.cdm.model.description.Feature; |
... | ... | |
56 | 53 |
import eu.etaxonomy.cdm.model.reference.ReferenceBase; |
57 | 54 |
import eu.etaxonomy.cdm.model.reference.ReferenceFactory; |
58 | 55 |
import eu.etaxonomy.cdm.model.taxon.Taxon; |
59 |
import eu.etaxonomy.cdm.model.taxon.TaxonBase; |
|
60 | 56 |
|
61 | 57 |
|
62 | 58 |
public class TestDatabase { |
... | ... | |
74 | 70 |
} |
75 | 71 |
|
76 | 72 |
public void testNewDatabaseConnection(){ |
77 |
try { |
|
78 |
|
|
79 |
Column coL; |
|
80 |
boolean omitTermLoading = false; |
|
81 |
Resource applicationContextResource = new ClassPathResource(CdmApplicationController.DEFAULT_APPLICATION_CONTEXT_RESOURCE); |
|
82 |
CdmPersistentDataSource dataSource = CdmPersistentDataSource.NewDefaultInstance(); |
|
83 |
CdmApplicationController appCtr = CdmApplicationController.NewInstance(applicationContextResource, dataSource, DbSchemaValidation.CREATE, omitTermLoading); |
|
84 |
appCtr.NewConversation(); |
|
85 |
appCtr.NewConversation(); |
|
86 |
|
|
87 |
//CdmApplicationController appCtr = CdmApplicationController.NewInstance(DbSchemaValidation.CREATE); |
|
88 |
appCtr.close(); |
|
89 |
} catch (DataSourceNotFoundException e) { |
|
90 |
logger.error("datasource error"); |
|
91 |
} catch (TermNotFoundException e) { |
|
92 |
logger.error("defined terms not found"); |
|
93 |
} |
|
73 |
|
|
74 |
Column coL; |
|
75 |
boolean omitTermLoading = false; |
|
76 |
Resource applicationContextResource = new ClassPathResource(CdmApplicationController.DEFAULT_APPLICATION_CONTEXT_RESOURCE); |
|
77 |
CdmPersistentDataSource dataSource = CdmPersistentDataSource.NewDefaultInstance(); |
|
78 |
CdmApplicationController appCtr = CdmApplicationController.NewInstance(applicationContextResource, dataSource, DbSchemaValidation.CREATE, omitTermLoading); |
|
79 |
appCtr.NewConversation(); |
|
80 |
appCtr.NewConversation(); |
|
81 |
|
|
82 |
//CdmApplicationController appCtr = CdmApplicationController.NewInstance(DbSchemaValidation.CREATE); |
|
83 |
appCtr.close(); |
|
94 | 84 |
} |
95 | 85 |
|
96 | 86 |
public void testNewDatasourceClass(){ |
97 |
try { |
|
98 | 87 |
// String server = "192.168.2.10"; |
99 | 88 |
// String database = "cdm_test_andreasM"; |
100 | 89 |
// String username = "edit"; |
101 | 90 |
// String password = CdmUtils.readInputLine("Password: "); |
102 |
DbSchemaValidation dbSchemaValidation = DbSchemaValidation.CREATE;
|
|
91 |
DbSchemaValidation dbSchemaValidation = DbSchemaValidation.CREATE; |
|
103 | 92 |
|
104 | 93 |
// ICdmDataSource datasource = CdmDataSource.NewMySqlInstance(server, database, username, password); |
105 |
ICdmDataSource datasource = CdmDataSource.NewH2EmbeddedInstance("CDM", "sa", "", null); |
|
106 |
CdmApplicationController appCtr = CdmApplicationController.NewInstance(datasource, dbSchemaValidation); |
|
107 |
|
|
108 |
Rank genus = Rank.GENUS(); |
|
109 |
BotanicalName botanicalName = BotanicalName.NewInstance(genus); |
|
110 |
botanicalName.setGenusOrUninomial("GenusName"); |
|
94 |
ICdmDataSource datasource = CdmDataSource.NewH2EmbeddedInstance("CDM", "sa", "", null); |
|
95 |
CdmApplicationController appCtr = CdmApplicationController.NewInstance(datasource, dbSchemaValidation); |
|
111 | 96 |
|
112 |
IJournal journal = refFactory.newJournal(); |
|
113 |
journal.setTitleCache("Afro+Doc", true); |
|
114 |
|
|
115 |
// Taxon taxon = Taxon.NewInstance(botanicalName, journal); |
|
97 |
Rank genus = Rank.GENUS(); |
|
98 |
BotanicalName botanicalName = BotanicalName.NewInstance(genus); |
|
99 |
botanicalName.setGenusOrUninomial("GenusName"); |
|
100 |
|
|
101 |
IJournal journal = refFactory.newJournal(); |
|
102 |
journal.setTitleCache("Afro+Doc", true); |
|
103 |
|
|
104 |
// Taxon taxon = Taxon.NewInstance(botanicalName, journal); |
|
116 | 105 |
// Taxon taxon2 = Taxon.NewInstance(botanicalName2, null); |
117 |
// botanicalName.getTitleCache();
|
|
118 |
|
|
119 |
Taxon taxon1 = Taxon.NewInstance(botanicalName,(ReferenceBase)journal);
|
|
120 |
appCtr.getTaxonService().save(taxon1);
|
|
121 |
BotanicalName homotypName = BotanicalName.NewInstance(Rank.SUBGENUS(), botanicalName.getHomotypicalGroup());
|
|
122 |
homotypName.setGenusOrUninomial("Subgenus");
|
|
123 |
homotypName.setInfraGenericEpithet("homotyp");
|
|
124 |
|
|
125 |
//Synonym synonym = Synonym.NewInstance(homotypName, journal);
|
|
126 |
|
|
127 |
System.out.println("Taxa of " + botanicalName + ": " + botanicalName.getTaxonBases());
|
|
128 |
System.out.println("Synonyms of " + homotypName + ": " + homotypName.getSynonyms());
|
|
129 |
|
|
130 |
HomotypicalGroup homotypicalGroup = taxon1.getHomotypicGroup();
|
|
131 |
System.out.println("HomotypicNames of " + botanicalName + ":" + homotypicalGroup.getTypifiedNames());
|
|
132 |
System.out.println("HomotypicSynonymsByGroup of " + taxon1 + ":" + taxon1.getHomotypicSynonymsByHomotypicGroup());
|
|
133 |
System.out.println("HomotypicSynonymsBySynonymy of " + taxon1 + ":" + taxon1.getHomotypicSynonymsByHomotypicRelationship());
|
|
134 |
|
|
106 |
// botanicalName.getTitleCache(); |
|
107 |
|
|
108 |
Taxon taxon1 = Taxon.NewInstance(botanicalName,(ReferenceBase)journal); |
|
109 |
appCtr.getTaxonService().save(taxon1); |
|
110 |
BotanicalName homotypName = BotanicalName.NewInstance(Rank.SUBGENUS(), botanicalName.getHomotypicalGroup()); |
|
111 |
homotypName.setGenusOrUninomial("Subgenus"); |
|
112 |
homotypName.setInfraGenericEpithet("homotyp"); |
|
113 |
|
|
114 |
//Synonym synonym = Synonym.NewInstance(homotypName, journal); |
|
115 |
|
|
116 |
System.out.println("Taxa of " + botanicalName + ": " + botanicalName.getTaxonBases()); |
|
117 |
System.out.println("Synonyms of " + homotypName + ": " + homotypName.getSynonyms()); |
|
118 |
|
|
119 |
HomotypicalGroup homotypicalGroup = taxon1.getHomotypicGroup(); |
|
120 |
System.out.println("HomotypicNames of " + botanicalName + ":" + homotypicalGroup.getTypifiedNames()); |
|
121 |
System.out.println("HomotypicSynonymsByGroup of " + taxon1 + ":" + taxon1.getHomotypicSynonymsByHomotypicGroup()); |
|
122 |
System.out.println("HomotypicSynonymsBySynonymy of " + taxon1 + ":" + taxon1.getHomotypicSynonymsByHomotypicRelationship()); |
|
123 |
|
|
135 | 124 |
// appCtr.getTaxonService().saveTaxon(taxon2); |
136 | 125 |
// appCtr.getTaxonService().saveTaxon(taxon); |
137 |
|
|
138 |
appCtr.close(); |
|
139 |
|
|
140 |
} catch (DataSourceNotFoundException e) { |
|
141 |
logger.error("datasource error"); |
|
142 |
} catch (TermNotFoundException e) { |
|
143 |
logger.error("defined terms not found"); |
|
144 |
} |
|
126 |
|
|
127 |
appCtr.close(); |
|
145 | 128 |
} |
146 | 129 |
|
147 | 130 |
|
148 | 131 |
public void testFacts(){ |
149 |
try { |
|
150 |
String server = "192.168.2.10"; |
|
151 |
String database = "cdm_test_andreasM"; |
|
152 |
String username = "edit"; |
|
153 |
String password = CdmUtils.readInputLine("Password: "); |
|
154 |
DbSchemaValidation dbSchemaValidation = DbSchemaValidation.VALIDATE; |
|
155 |
ICdmDataSource datasource = CdmDataSource.NewMySqlInstance(server, database, username, password); |
|
156 |
CdmApplicationController appCtr = CdmApplicationController.NewInstance(datasource, dbSchemaValidation); |
|
157 |
|
|
158 |
Rank genus = Rank.GENUS(); |
|
159 |
BotanicalName botanicalName = BotanicalName.NewInstance(genus); |
|
160 |
botanicalName.setGenusOrUninomial("GenusName"); |
|
161 |
|
|
162 |
IJournal journal = refFactory.newJournal(); |
|
163 |
journal.setTitleCache("Afro+Doc", true); |
|
164 |
|
|
165 |
Taxon taxon = Taxon.NewInstance(botanicalName,(ReferenceBase)journal); |
|
166 |
appCtr.getTaxonService().save(taxon); |
|
167 |
|
|
168 |
TaxonDescription taxonDescription = TaxonDescription.NewInstance(); |
|
169 |
taxon.addDescription(taxonDescription); |
|
170 |
|
|
171 |
//textData |
|
172 |
TextData textData = TextData.NewInstance(); |
|
173 |
textData.putText("XXX", Language.DEFAULT()); |
|
174 |
taxonDescription.addElement(textData); |
|
175 |
|
|
176 |
//commonNames |
|
177 |
String commonNameString; |
|
178 |
if (taxon.getName() != null){ |
|
179 |
commonNameString = "Common " + taxon.getName().getTitleCache(); |
|
180 |
}else{ |
|
181 |
commonNameString = "Common (null)"; |
|
182 |
} |
|
183 |
CommonTaxonName commonName = CommonTaxonName.NewInstance(commonNameString, Language.DEFAULT()); |
|
184 |
taxonDescription.addElement(commonName); |
|
185 |
|
|
186 |
//save |
|
187 |
appCtr.getTaxonService().save(taxon); |
|
188 | 132 |
|
189 |
|
|
190 |
appCtr.close(); |
|
191 |
|
|
192 |
} catch (DataSourceNotFoundException e) { |
|
193 |
logger.error("datasource error"); |
|
194 |
} catch (TermNotFoundException e) { |
|
195 |
logger.error("defined terms not found"); |
|
133 |
String server = "192.168.2.10"; |
|
134 |
String database = "cdm_test_andreasM"; |
|
135 |
String username = "edit"; |
|
136 |
String password = CdmUtils.readInputLine("Password: "); |
|
137 |
DbSchemaValidation dbSchemaValidation = DbSchemaValidation.VALIDATE; |
|
138 |
ICdmDataSource datasource = CdmDataSource.NewMySqlInstance(server, database, username, password); |
|
139 |
CdmApplicationController appCtr = CdmApplicationController.NewInstance(datasource, dbSchemaValidation); |
|
140 |
|
|
141 |
Rank genus = Rank.GENUS(); |
|
142 |
BotanicalName botanicalName = BotanicalName.NewInstance(genus); |
|
143 |
botanicalName.setGenusOrUninomial("GenusName"); |
|
144 |
|
|
145 |
IJournal journal = refFactory.newJournal(); |
|
146 |
journal.setTitleCache("Afro+Doc", true); |
|
147 |
|
|
148 |
Taxon taxon = Taxon.NewInstance(botanicalName,(ReferenceBase)journal); |
|
149 |
appCtr.getTaxonService().save(taxon); |
|
150 |
|
|
151 |
TaxonDescription taxonDescription = TaxonDescription.NewInstance(); |
|
152 |
taxon.addDescription(taxonDescription); |
|
153 |
|
|
154 |
//textData |
|
155 |
TextData textData = TextData.NewInstance(); |
|
156 |
textData.putText("XXX", Language.DEFAULT()); |
|
157 |
taxonDescription.addElement(textData); |
|
158 |
|
|
159 |
//commonNames |
|
160 |
String commonNameString; |
|
161 |
if (taxon.getName() != null){ |
|
162 |
commonNameString = "Common " + taxon.getName().getTitleCache(); |
|
163 |
}else{ |
|
164 |
commonNameString = "Common (null)"; |
|
196 | 165 |
} |
166 |
CommonTaxonName commonName = CommonTaxonName.NewInstance(commonNameString, Language.DEFAULT()); |
|
167 |
taxonDescription.addElement(commonName); |
|
168 |
|
|
169 |
//save |
|
170 |
appCtr.getTaxonService().save(taxon); |
|
171 |
|
|
172 |
|
|
173 |
appCtr.close(); |
|
197 | 174 |
} |
198 | 175 |
|
199 | 176 |
|
200 | 177 |
public void testHybridRelationships(){ |
201 |
try { |
|
178 |
|
|
202 | 179 |
// String database = "cdm"; |
203 | 180 |
// String username = "sa"; |
204 | 181 |
|
205 |
String server = "192.168.2.10"; |
|
206 |
String database = "cdm_test_andreasM"; |
|
207 |
String username = "edit"; |
|
208 |
String password = CdmUtils.readInputLine("Password: "); |
|
209 |
DbSchemaValidation dbSchemaValidation = DbSchemaValidation.CREATE; |
|
210 |
ICdmDataSource datasource = CdmDataSource.NewMySqlInstance(server, database, username, password); |
|
211 |
CdmApplicationController appCtr = CdmApplicationController.NewInstance(datasource, dbSchemaValidation); |
|
212 |
|
|
213 |
Rank genus = Rank.GENUS(); |
|
214 |
BotanicalName parentName = BotanicalName.NewInstance(genus); |
|
215 |
parentName.setGenusOrUninomial("parent"); |
|
182 |
String server = "192.168.2.10"; |
|
183 |
String database = "cdm_test_andreasM"; |
|
184 |
String username = "edit"; |
|
185 |
String password = CdmUtils.readInputLine("Password: "); |
|
186 |
DbSchemaValidation dbSchemaValidation = DbSchemaValidation.CREATE; |
|
187 |
ICdmDataSource datasource = CdmDataSource.NewMySqlInstance(server, database, username, password); |
|
188 |
CdmApplicationController appCtr = CdmApplicationController.NewInstance(datasource, dbSchemaValidation); |
|
216 | 189 |
|
217 |
BotanicalName childName = BotanicalName.NewInstance(genus); |
|
218 |
childName.setGenusOrUninomial("child"); |
|
219 |
parentName.addHybridChild(childName, HybridRelationshipType.FIRST_PARENT(), null); |
|
220 |
|
|
221 |
//save |
|
222 |
appCtr.getNameService().save(parentName); |
|
223 |
|
|
224 |
|
|
225 |
appCtr.close(); |
|
190 |
Rank genus = Rank.GENUS(); |
|
191 |
BotanicalName parentName = BotanicalName.NewInstance(genus); |
|
192 |
parentName.setGenusOrUninomial("parent"); |
|
193 |
|
|
194 |
BotanicalName childName = BotanicalName.NewInstance(genus); |
|
195 |
childName.setGenusOrUninomial("child"); |
|
196 |
parentName.addHybridChild(childName, HybridRelationshipType.FIRST_PARENT(), null); |
|
197 |
|
|
198 |
//save |
|
199 |
appCtr.getNameService().save(parentName); |
|
226 | 200 |
|
227 |
} catch (DataSourceNotFoundException e) { |
|
228 |
logger.error("datasource error"); |
|
229 |
} catch (TermNotFoundException e) { |
|
230 |
logger.error("defined terms not found"); |
|
231 |
} |
|
201 |
|
|
202 |
appCtr.close(); |
|
232 | 203 |
} |
233 | 204 |
|
234 | 205 |
public void testPaddie(){ |
206 |
String server = "PADDIE"; |
|
207 |
String database = "edit_test"; |
|
208 |
String username = "andreas"; |
|
209 |
String password = CdmUtils.readInputLine("Password: "); |
|
210 |
DbSchemaValidation validation = DbSchemaValidation.VALIDATE; |
|
211 |
ICdmDataSource datasource = CdmDataSource.NewSqlServer2005Instance(server, database, -1, username, password, null); |
|
212 |
CdmApplicationController appCtr = CdmApplicationController.NewInstance(datasource, validation); |
|
235 | 213 |
|
236 |
|
|
237 |
try { |
|
238 |
String server = "PADDIE"; |
|
239 |
String database = "edit_test"; |
|
240 |
String username = "andreas"; |
|
241 |
String password = CdmUtils.readInputLine("Password: "); |
|
242 |
DbSchemaValidation validation = DbSchemaValidation.VALIDATE; |
|
243 |
ICdmDataSource datasource = CdmDataSource.NewSqlServer2005Instance(server, database, -1, username, password, null); |
|
244 |
CdmApplicationController appCtr = CdmApplicationController.NewInstance(datasource, validation); |
|
245 |
|
|
246 |
Rank genus = Rank.GENUS(); |
|
247 |
BotanicalName botanicalName = BotanicalName.NewInstance(genus); |
|
248 |
botanicalName.setGenusOrUninomial("GenusName"); |
|
214 |
Rank genus = Rank.GENUS(); |
|
215 |
BotanicalName botanicalName = BotanicalName.NewInstance(genus); |
|
216 |
botanicalName.setGenusOrUninomial("GenusName"); |
|
217 |
|
|
218 |
IJournal journal = refFactory.newJournal(); |
|
219 |
journal.setTitle("JournalTitel"); |
|
249 | 220 |
|
250 |
IJournal journal = refFactory.newJournal(); |
|
251 |
journal.setTitle("JournalTitel"); |
|
252 |
|
|
253 |
// Taxon taxon = Taxon.NewInstance(botanicalName, journal); |
|
221 |
// Taxon taxon = Taxon.NewInstance(botanicalName, journal); |
|
254 | 222 |
// Taxon taxon2 = Taxon.NewInstance(botanicalName2, null); |
255 |
// botanicalName.getTitleCache();
|
|
256 |
Rank.SPECIES();
|
|
257 |
appCtr.getNameService().save(botanicalName);
|
|
223 |
// botanicalName.getTitleCache(); |
|
224 |
Rank.SPECIES(); |
|
225 |
appCtr.getNameService().save(botanicalName); |
|
258 | 226 |
|
259 | 227 |
// appCtr.getTaxonService().saveTaxon(taxon2); |
260 | 228 |
// appCtr.getTaxonService().saveTaxon(taxon); |
261 |
|
|
262 |
appCtr.close(); |
|
263 |
} catch (DataSourceNotFoundException e) { |
|
264 |
logger.error("datasource error"); |
|
265 |
} catch (TermNotFoundException e) { |
|
266 |
logger.error("defined terms not found"); |
|
267 |
} |
|
229 |
|
|
230 |
appCtr.close(); |
|
268 | 231 |
} |
269 | 232 |
|
270 | 233 |
|
271 | 234 |
public void testContact(){ |
272 |
try { |
|
273 | 235 |
// String server = "192.168.2.10"; |
274 | 236 |
// String database = "cdm_test_andreasM"; |
275 | 237 |
// String username = "edit"; |
276 | 238 |
// String password = CdmUtils.readInputLine("Password: "); |
277 |
DbSchemaValidation dbSchemaValidation = DbSchemaValidation.CREATE;
|
|
239 |
DbSchemaValidation dbSchemaValidation = DbSchemaValidation.CREATE; |
|
278 | 240 |
|
279 | 241 |
// ICdmDataSource datasource = CdmDataSource.NewMySqlInstance(server, database, username, password); |
280 |
//ICdmDataSource datasource = CdmDataSource.NewH2EmbeddedInstance("CDM", "sa", "");
|
|
281 |
ICdmDataSource datasource = cdm_test_anahit2();
|
|
282 |
CdmApplicationController appCtr = CdmApplicationController.NewInstance(datasource, dbSchemaValidation);
|
|
283 |
AgentBase person = Person.NewTitledInstance("TestPerson");
|
|
284 |
Contact contact1 = new Contact();
|
|
285 |
Set<String> set = new HashSet<String>();
|
|
286 |
set.add("email1");
|
|
287 |
set.add("c@d.org");
|
|
242 |
//ICdmDataSource datasource = CdmDataSource.NewH2EmbeddedInstance("CDM", "sa", ""); |
|
243 |
ICdmDataSource datasource = cdm_test_anahit2(); |
|
244 |
CdmApplicationController appCtr = CdmApplicationController.NewInstance(datasource, dbSchemaValidation); |
|
245 |
AgentBase person = Person.NewTitledInstance("TestPerson"); |
|
246 |
Contact contact1 = new Contact(); |
|
247 |
Set<String> set = new HashSet<String>(); |
|
248 |
set.add("email1"); |
|
249 |
set.add("c@d.org"); |
|
288 | 250 |
// contact1.setEmail(set); |
289 | 251 |
// person.setContact(contact1); |
290 |
appCtr.getAgentService().save(person); |
|
291 |
appCtr.close(); |
|
292 |
System.out.println("End"); |
|
293 |
} catch (DataSourceNotFoundException e) { |
|
294 |
logger.error("datasource error"); |
|
295 |
} catch (TermNotFoundException e) { |
|
296 |
logger.error("defined terms not found"); |
|
297 |
} |
|
252 |
appCtr.getAgentService().save(person); |
|
253 |
appCtr.close(); |
|
254 |
System.out.println("End"); |
|
298 | 255 |
} |
299 | 256 |
|
300 | 257 |
|
301 | 258 |
public void testNewVersion(){ |
302 |
try { |
|
303 |
System.out.println("Start"); |
|
304 |
DbSchemaValidation dbSchemaValidation = DbSchemaValidation.CREATE; |
|
259 |
System.out.println("Start"); |
|
260 |
DbSchemaValidation dbSchemaValidation = DbSchemaValidation.CREATE; |
|
305 | 261 |
|
306 | 262 |
// ICdmDataSource datasource = CdmDataSource.NewMySqlInstance(server, database, username, password); |
307 |
ICdmDataSource datasource = CdmDataSource.NewH2EmbeddedInstance("CDM", "sa", "", null);
|
|
308 |
CdmApplicationController appCtr = CdmApplicationController.NewInstance(datasource, dbSchemaValidation);
|
|
309 |
BotanicalName botName = BotanicalName.NewInstance(Rank.SPECIES());
|
|
310 |
botName.setGenusOrUninomial("Genus");
|
|
311 |
botName.setSpecificEpithet("species");
|
|
312 |
appCtr.getNameService().save(botName);
|
|
313 |
List<?> names = appCtr.getNameService().findNamesByTitle("Genus species");
|
|
263 |
ICdmDataSource datasource = CdmDataSource.NewH2EmbeddedInstance("CDM", "sa", "", null); |
|
264 |
CdmApplicationController appCtr = CdmApplicationController.NewInstance(datasource, dbSchemaValidation); |
|
265 |
BotanicalName botName = BotanicalName.NewInstance(Rank.SPECIES()); |
|
266 |
botName.setGenusOrUninomial("Genus"); |
|
267 |
botName.setSpecificEpithet("species"); |
|
268 |
appCtr.getNameService().save(botName); |
|
269 |
List<?> names = appCtr.getNameService().findNamesByTitle("Genus species"); |
|
314 | 270 |
|
315 |
names.size();
|
|
271 |
names.size(); |
|
316 | 272 |
// AgentBase person = Person.NewTitledInstance("TestPerson"); |
317 | 273 |
// Contact contact1 = new Contact(); |
318 | 274 |
// Set<String> set = new HashSet<String>(); |
... | ... | |
321 | 277 |
//// contact1.setEmail(set); |
322 | 278 |
// person.setContact(contact1); |
323 | 279 |
// appCtr.getAgentService().save(person); |
324 |
appCtr.close(); |
|
325 |
System.out.println("End"); |
|
326 |
} catch (DataSourceNotFoundException e) { |
|
327 |
logger.error("datasource error"); |
|
328 |
} catch (TermNotFoundException e) { |
|
329 |
logger.error("defined terms not found"); |
|
330 |
} |
|
280 |
appCtr.close(); |
|
281 |
System.out.println("End"); |
|
331 | 282 |
} |
332 | 283 |
|
333 | 284 |
public void testDataSourceWithNomenclaturalCode(){ |
... | ... | |
358 | 309 |
public void testLoadedAnnotationGetAnnotatedObjectCall(){ |
359 | 310 |
String password = CdmUtils.readInputLine("Password: "); |
360 | 311 |
ICdmDataSource dataSource = CdmDataSource.NewMySqlInstance("192.168.2.10", "cdm_test_niels2", 3306, "edit", password, NomenclaturalCode.ICBN); |
361 |
try { |
|
362 |
CdmApplicationController appCtr = CdmApplicationController.NewInstance(dataSource, DbSchemaValidation.UPDATE); |
|
363 |
|
|
364 |
ConversationHolder conversation = appCtr.NewConversation(); |
|
365 |
|
|
366 |
// make the taxon and description elements |
|
367 |
Taxon taxon = Taxon.NewInstance(null, null); |
|
368 | 312 |
|
369 |
TaxonDescription taxonDescription = TaxonDescription.NewInstance(taxon); |
|
370 |
|
|
371 |
UUID taxonDescriptionUuid = taxonDescription.getUuid(); |
|
372 |
|
|
373 |
Feature featureAnatomy = Feature.ANATOMY(); |
|
374 |
|
|
375 |
TextData textData = TextData.NewInstance(); |
|
376 |
textData.addAnnotation(Annotation.NewInstance(null, null)); |
|
377 |
|
|
378 |
assertNotNull(textData.getAnnotations().iterator().next().getAnnotatedObj()); |
|
379 |
|
|
380 |
textData.setFeature(featureAnatomy); |
|
381 |
|
|
382 |
taxonDescription.addElement(textData); |
|
313 |
CdmApplicationController appCtr = CdmApplicationController.NewInstance(dataSource, DbSchemaValidation.UPDATE); |
|
314 |
|
|
315 |
ConversationHolder conversation = appCtr.NewConversation(); |
|
316 |
|
|
317 |
// make the taxon and description elements |
|
318 |
Taxon taxon = Taxon.NewInstance(null, null); |
|
383 | 319 |
|
384 |
appCtr.getTaxonService().save(taxon); |
|
385 |
|
|
386 |
conversation.commit(false); |
|
387 |
// end of creation phase |
|
388 |
|
|
389 |
|
|
390 |
// load the new taxon in a new conversation to assure that it was loaded into a new session |
|
391 |
// if you are willing to blame it on conversations, please rewrite into two methods |
|
392 |
// the result will be the same |
|
393 |
ConversationHolder newConversation = appCtr.NewConversation(); |
|
394 |
DescriptionBase loadedDescription = appCtr.getDescriptionService().load(taxonDescriptionUuid); |
|
395 |
|
|
396 |
TextData descriptionElement = (TextData) loadedDescription.getElements().iterator().next(); |
|
320 |
TaxonDescription taxonDescription = TaxonDescription.NewInstance(taxon); |
|
397 | 321 |
|
398 |
Annotation annotation = descriptionElement.getAnnotations().iterator().next(); |
|
399 |
|
|
400 |
// this should not be null |
|
401 |
assertNotNull(annotation.getAnnotatedObj()); |
|
402 |
|
|
403 |
|
|
404 |
} catch (DataSourceNotFoundException e) { |
|
405 |
// TODO Auto-generated catch block |
|
406 |
e.printStackTrace(); |
|
407 |
} catch (TermNotFoundException e) { |
|
408 |
// TODO Auto-generated catch block |
|
409 |
e.printStackTrace(); |
|
410 |
} |
|
322 |
UUID taxonDescriptionUuid = taxonDescription.getUuid(); |
|
323 |
|
|
324 |
Feature featureAnatomy = Feature.ANATOMY(); |
|
325 |
|
|
326 |
TextData textData = TextData.NewInstance(); |
|
327 |
textData.addAnnotation(Annotation.NewInstance(null, null)); |
|
328 |
|
|
329 |
assertNotNull(textData.getAnnotations().iterator().next().getAnnotatedObj()); |
|
330 |
|
|
331 |
textData.setFeature(featureAnatomy); |
|
332 |
|
|
333 |
taxonDescription.addElement(textData); |
|
334 |
|
|
335 |
appCtr.getTaxonService().save(taxon); |
|
336 |
|
|
337 |
conversation.commit(false); |
|
338 |
// end of creation phase |
|
339 |
|
|
340 |
|
|
341 |
// load the new taxon in a new conversation to assure that it was loaded into a new session |
|
342 |
// if you are willing to blame it on conversations, please rewrite into two methods |
|
343 |
// the result will be the same |
|
344 |
ConversationHolder newConversation = appCtr.NewConversation(); |
|
345 |
DescriptionBase loadedDescription = appCtr.getDescriptionService().load(taxonDescriptionUuid); |
|
346 |
|
|
347 |
TextData descriptionElement = (TextData) loadedDescription.getElements().iterator().next(); |
|
348 |
|
|
349 |
Annotation annotation = descriptionElement.getAnnotations().iterator().next(); |
|
350 |
|
|
351 |
// this should not be null |
|
352 |
assertNotNull(annotation.getAnnotatedObj()); |
|
411 | 353 |
|
412 | 354 |
} |
413 | 355 |
|
cdmlib-services/src/test/java/eu/etaxonomy/cdm/test/function/TestLocationServiceImpl.java | ||
---|---|---|
21 | 21 |
import eu.etaxonomy.cdm.api.service.ILocationService; |
22 | 22 |
import eu.etaxonomy.cdm.api.service.ILocationService.NamedAreaVocabularyType; |
23 | 23 |
import eu.etaxonomy.cdm.database.CdmDataSource; |
24 |
import eu.etaxonomy.cdm.database.DataSourceNotFoundException; |
|
25 | 24 |
import eu.etaxonomy.cdm.database.DbSchemaValidation; |
26 | 25 |
import eu.etaxonomy.cdm.database.ICdmDataSource; |
27 |
import eu.etaxonomy.cdm.model.common.init.TermNotFoundException; |
|
28 |
|
|
29 | 26 |
import eu.etaxonomy.cdm.model.taxon.Taxon; |
30 | 27 |
import eu.etaxonomy.cdm.test.integration.CdmIntegrationTest; |
31 | 28 |
|
... | ... | |
59 | 56 |
} |
60 | 57 |
|
61 | 58 |
public void testNewDatasourceClass(){ |
62 |
try { |
|
63 | 59 |
// String server = "192.168.2.10"; |
64 | 60 |
// String database = "cdm_test_andreasM"; |
65 | 61 |
// String username = "edit"; |
66 | 62 |
// String password = CdmUtils.readInputLine("Password: "); |
67 |
DbSchemaValidation dbSchemaValidation = DbSchemaValidation.CREATE;
|
|
63 |
DbSchemaValidation dbSchemaValidation = DbSchemaValidation.CREATE; |
|
68 | 64 |
|
69 | 65 |
// ICdmDataSource datasource = CdmDataSource.NewMySqlInstance(server, database, username, password); |
70 |
ICdmDataSource datasource = CdmDataSource.NewH2EmbeddedInstance("test", "sa", "", null); |
|
71 |
CdmApplicationController appCtr = CdmApplicationController.NewInstance(datasource, dbSchemaValidation); |
|
72 |
|
|
73 |
ConversationHolder conversation = appCtr.NewConversation(); |
|
74 |
conversation.bind(); |
|
75 |
|
|
76 |
Taxon taxon = Taxon.NewInstance(null, null); |
|
77 |
|
|
66 |
ICdmDataSource datasource = CdmDataSource.NewH2EmbeddedInstance("test", "sa", "", null); |
|
67 |
CdmApplicationController appCtr = CdmApplicationController.NewInstance(datasource, dbSchemaValidation); |
|
68 |
|
|
69 |
ConversationHolder conversation = appCtr.NewConversation(); |
|
70 |
conversation.bind(); |
|
71 |
|
|
72 |
Taxon taxon = Taxon.NewInstance(null, null); |
|
78 | 73 |
|
79 |
} catch (DataSourceNotFoundException e) { |
|
80 |
logger.error("datasource error"); |
|
81 |
} catch (TermNotFoundException e) { |
|
82 |
logger.error("defined terms not found"); |
|
83 |
} |
|
84 | 74 |
} |
85 | 75 |
} |
cdmlib-services/src/test/java/eu/etaxonomy/cdm/test/function/TestTaxonFunction.java | ||
---|---|---|
18 | 18 |
import eu.etaxonomy.cdm.database.CdmPersistentDataSource; |
19 | 19 |
import eu.etaxonomy.cdm.database.DataSourceNotFoundException; |
20 | 20 |
import eu.etaxonomy.cdm.database.DbSchemaValidation; |
21 |
import eu.etaxonomy.cdm.model.common.init.TermNotFoundException; |
|
22 | 21 |
import eu.etaxonomy.cdm.model.name.BotanicalName; |
23 |
import eu.etaxonomy.cdm.model.name.NonViralName; |
|
24 | 22 |
import eu.etaxonomy.cdm.model.name.Rank; |
25 | 23 |
import eu.etaxonomy.cdm.model.name.TaxonNameBase; |
26 |
import eu.etaxonomy.cdm.model.reference.IBook; |
|
27 | 24 |
import eu.etaxonomy.cdm.model.reference.ReferenceBase; |
28 | 25 |
import eu.etaxonomy.cdm.model.reference.ReferenceFactory; |
29 | 26 |
import eu.etaxonomy.cdm.model.taxon.Synonym; |
... | ... | |
43 | 40 |
cdmApp = CdmApplicationController.NewInstance(dataSource, hbm2dll); |
44 | 41 |
} catch (DataSourceNotFoundException e) { |
45 | 42 |
e.printStackTrace(); |
46 |
} catch (TermNotFoundException e) { |
|
47 |
logger.error("defined terms not found"); |
|
48 |
} |
|
43 |
} |
|
49 | 44 |
return cdmApp; |
50 | 45 |
|
51 | 46 |
} |
cdmlib-services/src/test/java/eu/etaxonomy/cdm/test/integration/CreateDataTestNoUnit.java | ||
---|---|---|
19 | 19 |
import org.apache.log4j.Logger; |
20 | 20 |
|
21 | 21 |
import eu.etaxonomy.cdm.api.application.CdmApplicationController; |
22 |
import eu.etaxonomy.cdm.database.DataSourceNotFoundException; |
|
23 | 22 |
import eu.etaxonomy.cdm.database.DbSchemaValidation; |
24 | 23 |
import eu.etaxonomy.cdm.database.ICdmDataSource; |
25 | 24 |
import eu.etaxonomy.cdm.model.common.Language; |
26 |
import eu.etaxonomy.cdm.model.common.init.TermNotFoundException; |
|
27 | 25 |
import eu.etaxonomy.cdm.model.description.CommonTaxonName; |
28 | 26 |
import eu.etaxonomy.cdm.model.description.DescriptionElementBase; |
29 | 27 |
import eu.etaxonomy.cdm.model.description.TaxonDescription; |
... | ... | |
51 | 49 |
dbSchemaValidation = DbSchemaValidation.CREATE; |
52 | 50 |
} |
53 | 51 |
ICdmDataSource dataSource = CreateDataTest.cdm_test(); |
54 |
try { |
Also available in: Unified diff
Changed exception handling