*/
package eu.etaxonomy.taxeditor.httpinvoker;
+import java.io.InputStream;
import java.lang.reflect.Field;
import java.util.Map;
+import java.util.Properties;
+import org.apache.log4j.Logger;
import org.junit.AfterClass;
import org.junit.Assert;
import org.junit.BeforeClass;
*/
@Transactional(TransactionMode.DISABLED)
@SpringApplicationContext("file:./target/classes/eu/etaxonomy/cdm/testRemotingApplicationContext.xml")
-public abstract class BaseRemotingTest extends UnitilsJUnit4 {
- //private static final Logger logger = Logger.getLogger(BaseRemotingTest.class);
+public class BaseRemotingTest extends UnitilsJUnit4 {
+ private static final Logger logger = Logger.getLogger(BaseRemotingTest.class);
- private static final Resource TEST_REMOTE_APPLICATION_CONTEXT_RESOURCE =
- new ClassPathResource("/eu/etaxonomy/cdm/testRemotingApplicationContext.xml");
+
+ public static final Resource SERVER_PROPERTIES_FILE =
+ new ClassPathResource("server.properties");
private static CdmApplicationRemoteController remoteApplicationController;
private static ICdmRemoteSource cdmRemoteSource;
private static CdmPersistentRemoteSource remotePersistentSource;
- public static boolean useManagedServer = false;
+ public static boolean useManagedServer = true;
protected static ICdmEntitySessionManager cdmEntitySessionManager;
+ private final static String DEFAULT_USER = "admin";
+ private final static String DEFAULT_PASSWORD = "00000";
+
+ private static String user = DEFAULT_USER;
+ private static String password = DEFAULT_PASSWORD;
@BeforeClass
public static void initializeBaseRemotingTest() {
useManagedServer = (System.getProperty("use.managed.server") == null) ? useManagedServer : Boolean.valueOf(System.getProperty("use.managed.server"));
if(useManagedServer) {
try {
- CDMServer.getInstance().start();
+ CDMServer cdmServer = CDMServer.getInstance();
+ Properties prop = new Properties();
+ InputStream inputStream = SERVER_PROPERTIES_FILE.getInputStream();
+
+ if (inputStream != null) {
+ prop.load(inputStream);
+ }
+
+ if(prop.getProperty("httpPort") != null) {
+ cdmServer.setHttpPort(Integer.valueOf(prop.getProperty("httpPort")));
+ }
+
+ if(prop.getProperty("stopPort") != null) {
+ cdmServer.setStopPort(Integer.valueOf(prop.getProperty("stopPort")));
+ }
+
+ if(prop.getProperty("stopKey") != null) {
+ cdmServer.setStopKey(prop.getProperty("stopKey"));
+ }
+
+ if(prop.getProperty("user") != null) {
+ user = prop.getProperty("user");
+ }
+
+ if(prop.getProperty("password") != null) {
+ password = prop.getProperty("password");
+ }
+
+ cdmServer.start();
} catch (Exception e) {
e.printStackTrace();
Assert.fail("Server failed to start. Reason : " + e.getMessage());
CDMServer.getInstance().getPort(),
CDMServer.getInstance().getContextPath(),
NomenclaturalCode.ICNAFP,
- "admin",
- "00000");
+ user,
+ password);
}
DatabaseUnitils.disableConstraints();
}
+
public static void initializeController(String sourceName, String host, int port, String contextPath, NomenclaturalCode ncode, String username, String password) {
+ if(remoteApplicationController != null) {
+ return;
+ }
cdmRemoteSource = CdmRemoteSource.NewInstance(sourceName, host, port, contextPath, ncode);
remoteApplicationController =
CdmApplicationRemoteController.NewInstance(cdmRemoteSource,