/*
*Copyright (c) 2005-2010, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
*
*WSO2 Inc. licenses this file to you under the Apache License,
*Version 2.0 (the "License"); you may not use this file except
*in compliance with the License.
*You may obtain a copy of the License at
*
*http://www.apache.org/licenses/LICENSE-2.0
*
*Unless required by applicable law or agreed to in writing,
*software distributed under the License is distributed on an
*"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
*KIND, either express or implied. See the License for the
*specific language governing permissions and limitations
*under the License.
*/
package org.wso2.carbon.esb.ui.test;
import org.apache.axiom.attachments.ByteArrayDataSource;
import org.apache.axiom.om.OMElement;
import org.apache.axiom.om.util.AXIOMUtil;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.testng.Assert;
import org.wso2.carbon.automation.api.clients.security.SecurityAdminServiceClient;
import org.wso2.carbon.automation.core.ProductConstant;
import org.wso2.carbon.automation.core.annotations.ExecutionEnvironment;
import org.wso2.carbon.automation.core.utils.UserInfo;
import org.wso2.carbon.automation.core.utils.UserListCsvReader;
import org.wso2.carbon.automation.core.utils.environmentutils.EnvironmentBuilder;
import org.wso2.carbon.automation.core.utils.environmentutils.EnvironmentVariables;
import org.wso2.carbon.automation.core.utils.environmentutils.ProductUrlGeneratorUtil;
import org.wso2.carbon.automation.core.utils.frameworkutils.FrameworkFactory;
import org.wso2.carbon.automation.utils.esb.ESBTestCaseUtils;
import org.wso2.carbon.automation.utils.esb.StockQuoteClient;
import org.wso2.carbon.esb.ui.test.util.EndpointGenerator;
import org.wso2.carbon.esb.ui.test.util.ServiceDeploymentUtil;
import org.wso2.carbon.security.mgt.stub.config.SecurityAdminServiceSecurityConfigExceptionException;
import org.wso2.carbon.sequences.stub.types.SequenceEditorException;
import javax.activation.DataHandler;
import javax.xml.namespace.QName;
import javax.xml.stream.XMLStreamException;
import java.io.BufferedInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.rmi.RemoteException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public abstract class ESBIntegrationUITest {
protected Log log = LogFactory.getLog(getClass());
protected StockQuoteClient axis2Client;
protected EnvironmentVariables esbServer;
protected UserInfo userInfo;
protected OMElement synapseConfiguration = null;
protected ESBTestCaseUtils esbUtils;
private List<String> proxyServicesList = null;
private List<String> sequencesList = null;
private List<String> endpointsList = null;
private List<String> localEntryList = null;
private List<String> messageProcessorsList = null;
private List<String> messageStoresList = null;
private List<String> sequenceTemplateList = null;
private List<String> apiList = null;
private List<String> priorityExecutorList = null;
protected void init() throws Exception {
init(2);
}
protected void init(int userId) throws Exception {
axis2Client = new StockQuoteClient();
userInfo = UserListCsvReader.getUserInfo(userId);
EnvironmentBuilder builder = new EnvironmentBuilder().esb(userId);
esbServer = builder.build().getEsb();
esbUtils = new ESBTestCaseUtils();
}
protected String getLoginURL(String productName) {
EnvironmentBuilder environmentBuilder = new EnvironmentBuilder();
boolean isRunningOnStratos =
environmentBuilder.getFrameworkSettings().getEnvironmentSettings().is_runningOnStratos();
if (isRunningOnStratos) {
return ProductUrlGeneratorUtil.getServiceHomeURL(productName);
} else {
return ProductUrlGeneratorUtil.getProductHomeURL(productName);
}
}
protected boolean isRunningOnCloud() {
return FrameworkFactory.getFrameworkProperties(ProductConstant.APP_SERVER_NAME).getEnvironmentSettings().is_runningOnStratos();
}
protected void cleanup() throws Exception {
try {
if (synapseConfiguration != null) {
esbUtils.deleteArtifact(synapseConfiguration, esbServer.getBackEndUrl(), esbServer.getSessionCookie());
if (ExecutionEnvironment.stratos.name().equalsIgnoreCase(getExecutionEnvironment()) || isClusterEnabled()) {
long deploymentDelay = FrameworkFactory.getFrameworkProperties(
ProductConstant.ESB_SERVER_NAME).getEnvironmentVariables().getDeploymentDelay();
Thread.sleep(deploymentDelay);
Iterator<OMElement> proxies = synapseConfiguration.getChildrenWithLocalName("proxy");
while (proxies.hasNext()) {
String proxy = proxies.next().getAttributeValue(new QName("name"));
Assert.assertTrue(isProxyWSDlNotExist(getProxyServiceURL(proxy), deploymentDelay)
, "UnDeployment Synchronizing failed in workers");
Assert.assertTrue(isProxyWSDlNotExist(getProxyServiceURL(proxy), deploymentDelay)
, "UnDeployment Synchronizing failed in workers");
Assert.assertTrue(isProxyWSDlNotExist(getProxyServiceURL(proxy), deploymentDelay)
, "UnDeployment Synchronizing failed in workers");
}
}
}
deleteProxyServices();
deleteSequences();
deleteEndpoints();
deleteMessageProcessors();
deleteMessageStores();
deleteSequenceTemplates();
deleteLocalEntries();
deleteApi();
deletePriorityExecutors();
} finally {
synapseConfiguration = null;
proxyServicesList = null;
messageProcessorsList = null;
proxyServicesList = null;
sequencesList = null;
endpointsList = null;
localEntryList = null;
apiList = null;
priorityExecutorList = null;
if (axis2Client != null) {
axis2Client.destroy();
}
axis2Client = null;
userInfo = null;
esbServer = null;
esbUtils = null;
}
}
protected String getMainSequenceURL() {
String mainSequenceUrl = esbServer.getServiceUrl();
if (mainSequenceUrl.endsWith("/services")) {
mainSequenceUrl = mainSequenceUrl.replace("/services", "");
}
return mainSequenceUrl + "/";
}
protected String getProxyServiceURL(String proxyServiceName) {
return esbServer.getServiceUrl() + "/" + proxyServiceName;
}
protected String getApiInvocationURL(String apiContext) {
return getMainSequenceURL() + apiContext;
}
protected String getProxyServiceSecuredURL(String proxyServiceName) {
return esbServer.getSecureServiceUrl() + "/" + proxyServiceName;
}
protected void loadSampleESBConfiguration(int sampleNo) throws Exception {
OMElement synapseSample = esbUtils.loadSampleESBConfiguration(sampleNo);
updateESBConfiguration(synapseSample);
}
protected void loadESBConfigurationFromClasspath(String relativeFilePath) throws Exception {
relativeFilePath = relativeFilePath.replaceAll("[\\\\/]", File.separator);
OMElement synapseConfig = esbUtils.loadClasspathResource(relativeFilePath);
updateESBConfiguration(synapseConfig);
}
protected void updateESBConfiguration(OMElement synapseConfig) throws Exception {
if (synapseConfiguration == null) {
synapseConfiguration = synapseConfig;
} else {
Iterator<OMElement> itr = synapseConfig.cloneOMElement().getChildElements();
while (itr.hasNext()) {
synapseConfiguration.addChild(itr.next());
}
}
esbUtils.updateESBConfiguration(setEndpoints(synapseConfig), esbServer.getBackEndUrl(), esbServer.getSessionCookie());
if (ExecutionEnvironment.stratos.name().equalsIgnoreCase(getExecutionEnvironment()) || isClusterEnabled()) {
long deploymentDelay = FrameworkFactory.getFrameworkProperties(
ProductConstant.ESB_SERVER_NAME).getEnvironmentVariables().getDeploymentDelay();
Thread.sleep(deploymentDelay);
Iterator<OMElement> proxies = synapseConfig.getChildrenWithLocalName("proxy");
while (proxies.hasNext()) {
String proxy = proxies.next().getAttributeValue(new QName("name"));
Assert.assertTrue(isProxyWSDlExist(getProxyServiceURL(proxy), deploymentDelay)
, "Deployment Synchronizing failed in workers");
Assert.assertTrue(isProxyWSDlExist(getProxyServiceURL(proxy), deploymentDelay)
, "Deployment Synchronizing failed in workers");
Assert.assertTrue(isProxyWSDlExist(getProxyServiceURL(proxy), deploymentDelay)
, "Deployment Synchronizing failed in workers");
}
}
}
protected void addProxyService(OMElement proxyConfig) throws Exception {
String proxyName = proxyConfig.getAttributeValue(new QName("name"));
if (esbUtils.isProxyServiceExist(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), proxyName)) {
esbUtils.deleteProxyService(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), proxyName);
}
if (proxyServicesList == null) {
proxyServicesList = new ArrayList<String>();
}
proxyServicesList.add(proxyName);
esbUtils.addProxyService(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), setEndpoints(proxyConfig));
if (ExecutionEnvironment.stratos.name().equalsIgnoreCase(getExecutionEnvironment())) {
long deploymentDelay = FrameworkFactory.getFrameworkProperties(
ProductConstant.ESB_SERVER_NAME).getEnvironmentVariables().getDeploymentDelay();
Assert.assertTrue(isProxyWSDlExist(getProxyServiceURL(proxyName), deploymentDelay)
, "Deployment Synchronizing failed in workers");
Assert.assertTrue(isProxyWSDlExist(getProxyServiceURL(proxyName), deploymentDelay)
, "Deployment Synchronizing failed in workers");
Assert.assertTrue(isProxyWSDlExist(getProxyServiceURL(proxyName), deploymentDelay)
, "Deployment Synchronizing failed in workers");
}
}
protected void isProxyDeployed(String proxyServiceName) throws Exception {
Assert.assertTrue(esbUtils.isProxyDeployed(esbServer.getBackEndUrl(), esbServer.getSessionCookie(),
proxyServiceName), "Proxy Deployment failed or time out");
}
protected void deleteProxyService(String proxyServiceName) throws Exception {
if (esbUtils.isProxyServiceExist(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), proxyServiceName)) {
esbUtils.deleteProxyService(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), proxyServiceName);
Assert.assertTrue(esbUtils.isProxyUnDeployed(esbServer.getBackEndUrl(), esbServer.getSessionCookie(),
proxyServiceName), "Proxy Deletion failed or time out");
}
if (proxyServicesList != null && proxyServicesList.contains(proxyServiceName)) {
proxyServicesList.remove(proxyServiceName);
}
}
protected void deleteSequence(String sequenceName)
throws SequenceEditorException, RemoteException {
if (esbUtils.isSequenceExist(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), sequenceName)) {
esbUtils.deleteSequence(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), sequenceName);
}
if (sequencesList != null && sequencesList.contains(sequenceName)) {
sequencesList.remove(sequenceName);
}
}
protected void addSequence(OMElement sequenceConfig) throws Exception {
String sequenceName = sequenceConfig.getAttributeValue(new QName("name"));
if (esbUtils.isSequenceExist(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), sequenceName)) {
esbUtils.deleteSequence(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), sequenceName);
}
esbUtils.addSequence(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), setEndpoints(sequenceConfig));
if (sequencesList == null) {
sequencesList = new ArrayList<String>();
}
sequencesList.add(sequenceName);
}
protected void addEndpoint(OMElement endpointConfig)
throws Exception {
String endpointName = endpointConfig.getAttributeValue(new QName("name"));
if (esbUtils.isSequenceExist(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), endpointName)) {
esbUtils.deleteEndpoint(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), endpointName);
}
esbUtils.addEndpoint(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), setEndpoints(endpointConfig));
if (endpointsList == null) {
endpointsList = new ArrayList<String>();
}
endpointsList.add(endpointName);
}
protected void addLocalEntry(OMElement localEntryConfig) throws Exception {
String localEntryName = localEntryConfig.getAttributeValue(new QName("key"));
if (esbUtils.isLocalEntryExist(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), localEntryName)) {
esbUtils.deleteLocalEntry(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), localEntryName);
}
esbUtils.addLocalEntry(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), localEntryConfig);
if (localEntryList == null) {
localEntryList = new ArrayList<String>();
}
localEntryList.add(localEntryName);
}
protected void addMessageProcessor(OMElement messageProcessorConfig) throws Exception {
String messageProcessorName = messageProcessorConfig.getAttributeValue(new QName("name"));
if (esbUtils.isMessageProcessorExist(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), messageProcessorName)) {
esbUtils.deleteMessageProcessor(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), messageProcessorName);
}
esbUtils.addMessageProcessor(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), setEndpoints(messageProcessorConfig));
if (messageProcessorsList == null) {
messageProcessorsList = new ArrayList<String>();
}
messageProcessorsList.add(messageProcessorName);
}
protected void addMessageStore(OMElement messageStoreConfig) throws Exception {
String messageStoreName = messageStoreConfig.getAttributeValue(new QName("name"));
if (esbUtils.isMessageStoreExist(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), messageStoreName)) {
esbUtils.deleteMessageStore(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), messageStoreName);
}
esbUtils.addMessageStore(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), setEndpoints(messageStoreConfig));
if (messageStoresList == null) {
messageStoresList = new ArrayList<String>();
}
messageStoresList.add(messageStoreName);
}
protected void addSequenceTemplate(OMElement sequenceTemplate) throws Exception {
String name = sequenceTemplate.getAttributeValue(new QName("name"));
if (esbUtils.isSequenceTemplateExist(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), name)) {
esbUtils.deleteSequenceTemplate(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), name);
}
esbUtils.addSequenceTemplate(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), setEndpoints(sequenceTemplate));
if (sequenceTemplateList == null) {
sequenceTemplateList = new ArrayList<String>();
}
sequenceTemplateList.add(name);
}
protected void addApi(OMElement api) throws Exception {
String apiName = api.getAttributeValue(new QName("name"));
if (esbUtils.isApiExist(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), apiName)) {
esbUtils.deleteApi(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), apiName);
}
esbUtils.addAPI(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), api);
if (apiList == null) {
apiList = new ArrayList<String>();
}
apiList.add(apiName);
}
protected void addPriorityExecutor(OMElement priorityExecutor) throws Exception {
String executorName = priorityExecutor.getAttributeValue(new QName("name"));
if (esbUtils.isPriorityExecutorExist(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), executorName)) {
esbUtils.deletePriorityExecutor(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), executorName);
}
esbUtils.addPriorityExecutor(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), priorityExecutor);
if (priorityExecutorList == null) {
priorityExecutorList = new ArrayList<String>();
}
priorityExecutorList.add(executorName);
}
protected void applySecurity(String serviceName, int policyId, String[] userGroups)
throws SecurityAdminServiceSecurityConfigExceptionException, RemoteException,
InterruptedException {
SecurityAdminServiceClient securityAdminServiceClient =
new SecurityAdminServiceClient(esbServer.getBackEndUrl(), esbServer.getSessionCookie());
if (FrameworkFactory.getFrameworkProperties(ProductConstant.ESB_SERVER_NAME).getEnvironmentSettings().is_runningOnStratos()) {
securityAdminServiceClient.applySecurity(serviceName, policyId + "", userGroups,
new String[]{"service.jks"}, "service.jks");
} else {
securityAdminServiceClient.applySecurity(serviceName, policyId + "", userGroups,
new String[]{"wso2carbon.jks"}, "wso2carbon.jks");
}
log.info("Security Scenario " + policyId + " Applied");
Thread.sleep(1000);
}
protected OMElement replaceEndpoints(String relativePathToConfigFile, String serviceName,
String port)
throws XMLStreamException, FileNotFoundException {
String config = esbUtils.loadClasspathResource(relativePathToConfigFile).toString();
config = config.replace("http://localhost:" + port + "/services/" + serviceName,
getBackEndServiceUrl(serviceName));
return AXIOMUtil.stringToOM(config);
}
private void deleteMessageProcessors() {
if (messageProcessorsList != null) {
Iterator<String> itr = messageProcessorsList.iterator();
while (itr.hasNext()) {
String messageProcessor = itr.next();
try {
if (esbUtils.isMessageProcessorExist(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), messageProcessor)) {
esbUtils.deleteMessageProcessor(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), messageProcessor);
}
} catch (Exception e) {
Assert.fail("while undeploying Message Processor. " + e.getMessage());
}
}
messageProcessorsList.clear();
}
}
private void deleteMessageStores() {
if (messageStoresList != null) {
Iterator<String> itr = messageStoresList.iterator();
while (itr.hasNext()) {
String messageStore = itr.next();
try {
if (esbUtils.isMessageStoreExist(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), messageStore)) {
esbUtils.deleteMessageStore(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), messageStore);
}
} catch (Exception e) {
Assert.fail("while undeploying Message store. " + e.getMessage());
}
}
messageStoresList.clear();
}
}
private void deleteSequences() {
if (sequencesList != null) {
Iterator<String> itr = sequencesList.iterator();
while (itr.hasNext()) {
String sequence = itr.next();
if (!sequence.equalsIgnoreCase("fault")) {
try {
if (esbUtils.isSequenceExist(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), sequence)) {
esbUtils.deleteSequence(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), sequence);
}
} catch (Exception e) {
Assert.fail("while undeploying Sequence. " + e.getMessage());
}
}
}
sequencesList.clear();
}
}
private void deleteProxyServices() {
if (proxyServicesList != null) {
Iterator<String> itr = proxyServicesList.iterator();
while (itr.hasNext()) {
String proxyName = itr.next();
try {
if (esbUtils.isProxyServiceExist(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), proxyName)) {
esbUtils.deleteProxyService(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), proxyName);
if (ExecutionEnvironment.stratos.name().equalsIgnoreCase(getExecutionEnvironment())) {
long deploymentDelay = FrameworkFactory.getFrameworkProperties(
ProductConstant.ESB_SERVER_NAME).getEnvironmentVariables().getDeploymentDelay();
Assert.assertTrue(isProxyWSDlNotExist(getProxyServiceURL(proxyName), deploymentDelay)
, "Proxy UnDeployment Synchronizing failed in workers");
Assert.assertTrue(isProxyWSDlNotExist(getProxyServiceURL(proxyName), deploymentDelay)
, "Proxy UnDeployment Synchronizing failed in workers");
Assert.assertTrue(isProxyWSDlNotExist(getProxyServiceURL(proxyName), deploymentDelay)
, "Proxy UnDeployment Synchronizing failed in workers");
}
}
} catch (Exception e) {
Assert.fail("while undeploying Proxy. " + e.getMessage());
}
}
proxyServicesList.clear();
}
}
private void deleteEndpoints() {
if (endpointsList != null) {
Iterator<String> itr = endpointsList.iterator();
while (itr.hasNext()) {
String endpoint = itr.next();
try {
if (esbUtils.isEndpointExist(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), endpoint)) {
esbUtils.deleteEndpoint(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), endpoint);
}
} catch (Exception e) {
Assert.fail("while undeploying Endpoint. " + e.getMessage());
}
}
endpointsList.clear();
}
}
private void deleteLocalEntries() {
if (localEntryList != null) {
Iterator<String> itr = localEntryList.iterator();
while (itr.hasNext()) {
String localEntry = itr.next();
try {
if (esbUtils.isLocalEntryExist(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), localEntry)) {
esbUtils.deleteLocalEntry(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), localEntry);
}
} catch (Exception e) {
Assert.fail("while undeploying LocalEntry. " + e.getMessage());
}
}
localEntryList.clear();
}
}
private void deleteSequenceTemplates() {
if (sequenceTemplateList != null) {
Iterator<String> itr = sequenceTemplateList.iterator();
while (itr.hasNext()) {
String localEntry = itr.next();
try {
if (esbUtils.isSequenceTemplateExist(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), localEntry)) {
esbUtils.deleteSequenceTemplate(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), localEntry);
}
} catch (Exception e) {
Assert.fail("while undeploying Sequence Template. " + e.getMessage());
}
}
sequenceTemplateList.clear();
}
}
private void deleteApi() {
if (apiList != null) {
Iterator<String> itr = apiList.iterator();
while (itr.hasNext()) {
String api = itr.next();
try {
if (esbUtils.isApiExist(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), api)) {
esbUtils.deleteApi(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), api);
}
} catch (Exception e) {
Assert.fail("while undeploying Api. " + e.getMessage());
}
}
apiList.clear();
}
}
private void deletePriorityExecutors() {
if (priorityExecutorList != null) {
Iterator<String> itr = priorityExecutorList.iterator();
while (itr.hasNext()) {
String executor = itr.next();
try {
if (esbUtils.isPriorityExecutorExist(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), executor)) {
esbUtils.deleteProxyService(esbServer.getBackEndUrl(), esbServer.getSessionCookie(), executor);
}
} catch (Exception e) {
Assert.fail("while undeploying Priority Executor. " + e.getMessage());
}
}
priorityExecutorList.clear();
}
}
protected String getESBResourceLocation() {
return ProductConstant.getResourceLocations(ProductConstant.ESB_SERVER_NAME);
}
protected String getBackEndServiceUrl(String serviceName) {
return EndpointGenerator.getEndpointServiceUrl(serviceName);
}
protected OMElement setEndpoints(OMElement synapseConfig) throws XMLStreamException {
if (isBuilderEnabled()) {
return synapseConfig;
}
String config = replaceEndpoints(synapseConfig.toString());
return AXIOMUtil.stringToOM(config);
}
protected DataHandler setEndpoints(DataHandler dataHandler)
throws XMLStreamException, IOException {
String config = readInputStreamAsString(dataHandler.getInputStream());
config = replaceEndpoints(config);
ByteArrayDataSource dbs = new ByteArrayDataSource(config.getBytes());
return new DataHandler(dbs);
}
protected String[] getUserRole(String userId) {
if (Integer.parseInt(userId) <= 1) {
return new String[]{ProductConstant.ADMIN_ROLE_NAME};
} else {
return new String[]{ProductConstant.DEFAULT_PRODUCT_ROLE};
}
}
private boolean isBuilderEnabled() {
return FrameworkFactory.getFrameworkProperties(ProductConstant.ESB_SERVER_NAME).getEnvironmentSettings().is_builderEnabled();
}
private boolean isClusterEnabled() {
return FrameworkFactory.getFrameworkProperties(ProductConstant.ESB_SERVER_NAME).getEnvironmentSettings().isClusterEnable();
}
private String getExecutionEnvironment() {
return FrameworkFactory.getFrameworkProperties(ProductConstant.ESB_SERVER_NAME).getEnvironmentSettings().executionEnvironment();
}
private boolean isProxyWSDlExist(String serviceUrl, long synchronizingDelay)
throws Exception {
return new ServiceDeploymentUtil().isServiceWSDlExist(serviceUrl, synchronizingDelay);
}
private boolean isProxyWSDlNotExist(String serviceUrl, long synchronizingDelay)
throws Exception {
return new ServiceDeploymentUtil().isServiceWSDlNotExist(serviceUrl, synchronizingDelay);
}
private String replaceEndpoints(String config) {
String service = getBackEndServiceUrl("");
config = config.replace("http://localhost:9000/services/"
, service);
config = config.replace("http://127.0.0.1:9000/services/"
, service);
return config;
}
private String readInputStreamAsString(InputStream in)
throws IOException {
BufferedInputStream bis = new BufferedInputStream(in);
ByteArrayOutputStream buf = new ByteArrayOutputStream();
int result = bis.read();
while (result != -1) {
byte b = (byte) result;
buf.write(b);
result = bis.read();
}
return buf.toString();
}
}