/** * Copyright (C) 2015 Orange * Licensed 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 com.francetelecom.clara.cloud.logicalmodel.samplecatalog; import java.net.URL; import java.util.Map; import com.francetelecom.clara.cloud.logicalmodel.LogicalConfigService; import com.francetelecom.clara.cloud.logicalmodel.LogicalDeployment; import com.francetelecom.clara.cloud.logicalmodel.LogicalMomService; import com.francetelecom.clara.cloud.logicalmodel.LogicalOnlineStorageService; import com.francetelecom.clara.cloud.logicalmodel.LogicalQueueReceiveService; import com.francetelecom.clara.cloud.logicalmodel.LogicalQueueSendService; import com.francetelecom.clara.cloud.logicalmodel.LogicalRelationalService; import com.francetelecom.clara.cloud.logicalmodel.LogicalRelationalServiceSqlDialectEnum; import com.francetelecom.clara.cloud.logicalmodel.LogicalServiceAccessTypeEnum; import com.francetelecom.clara.cloud.logicalmodel.LogicalSoapConsumer; import com.francetelecom.clara.cloud.logicalmodel.LogicalSoapService; import com.francetelecom.clara.cloud.logicalmodel.LogicalWebGUIService; import com.francetelecom.clara.cloud.logicalmodel.ProcessingNode; /** * User: Thomas Escalle - tawe8231 * Entity : FT/OLNC/RD/MAPS/MEP/MSE * Date: 27/07/12 */ public class AllServicesLogicalModelCatalog extends BaseReferenceLogicalModelsCatalog { public static final String APP_CODE = "AllServices"; public static final String JNDI_PREFIX_FOR_CONFIG = ""; public static final String QSS_APP_NAME = "PtpmBackOffice"; public static final String QSS_APP_VERSION = "G1R2C0"; public static final String QSS_APP_BASICAT = "bck"; public static final String QSS_SERVICE_NAME = "ping"; public static final String QSS_SERVICE_VERSION = "G1R1C0"; public static final String QRS_APP_NAME = "PtpmFrontOffice"; public static final String QRS_APP_VERSION = "G1R1C0"; public static final String QRS_APP_BASICAT = "frt"; public static final String QRS_SERVICE_NAME = "pong"; public static final String QRS_SERVICE_VERSION = "G1R1C0"; public static final String SOAP_PROVIDER_SERVICE_LABEL = "SoapProvider"; public static final String SOAP_PROVIDER_SERVICE_NAME = "Echo"; public static final String SOAP_PROVIDER_SERVICE_JNDI_PREFIX = "EchoService"; public static final int SOAP_PROVIDER_SERVICE_MAJOR_VERSION = 1; public static final int SOAP_PROVIDER_SERVICE_MINOR_VERSION = 2; public static String configSetContent = "#Defines the email contact that appears in the UI for asking help. Should be overriden per environment\n" + "support-email-contact=delis-dev-support@orange.com\n" + "#Ability to turn off the UI to rejects HTTP requests without the SSO gassi header. Use only on dev environments as a convenient for local testing\n"+ "reject_unauthenticated_gassi_logins=true"; @Override public LogicalDeployment createLogicalModel(String logicalModelName, LogicalDeployment existingLDToUpdate) { if (existingLDToUpdate == null) { existingLDToUpdate = new LogicalDeployment(); } LogicalWebGUIService webGui = createLogicalWebGuiService(APP_CODE + "WebUi", "springoo", true, false, 1, 20); LogicalQueueSendService qss = createLogicalQueueSend(APP_CODE + "QSS", QSS_SERVICE_NAME, QSS_SERVICE_VERSION, QSS_APP_BASICAT, QSS_APP_NAME, QSS_APP_VERSION, "ping.out", 5, 50, 1); LogicalQueueReceiveService qrs = createLogicalQueueReceive(APP_CODE + "QRS", QRS_SERVICE_NAME, QRS_SERVICE_VERSION, "pong.in", 10, 10, 1); LogicalSoapConsumer soapConsumer = createLogicalSoapConsumer("echoConsumerSoap", "API_SHOP", "Echo", 1, 0, "Echo"); LogicalSoapService soapProvider = createLogicalSoapService(this, SOAP_PROVIDER_SERVICE_LABEL, SOAP_PROVIDER_SERVICE_NAME, SOAP_PROVIDER_SERVICE_MAJOR_VERSION, SOAP_PROVIDER_SERVICE_MINOR_VERSION, SOAP_PROVIDER_SERVICE_JNDI_PREFIX, null, "ElPaaso Logical Model catalog : Echo SOAP Service", "echoService"); LogicalMomService mom = createInternalMomService(APP_CODE + "InternlMom", "Request", 3, 2000, "DeadLetterQueue"); LogicalConfigService config = createLogicalConfigService(APP_CODE + "Config", JNDI_PREFIX_FOR_CONFIG, configSetContent); LogicalRelationalService relationalDB = createLogicalRelationalService(this, "SpringooRds", "postgres-MyDataSource", LogicalRelationalServiceSqlDialectEnum.POSTGRESQL_DEFAULT, 1000, "springoo"); LogicalOnlineStorageService blobStore = createLogicalOnlineStorage(APP_CODE + "BlobStore", "blob_prefix", 20); ProcessingNode jeeProcessing1 = createJeeProcessing(this, APP_CODE+"JeeProcessing1", "springoo"); ProcessingNode jeeProcessing2 = createJeeProcessing(this, APP_CODE+"JeeProcessing2", "wicketoo"); //ProcessingNode jeeProcessing3 = createJeeProcessing(this, APP_CODE+"JeeProcessing3", "petclinic"); ProcessingNode cfjavaProcessing1 = createCFJavaProcessing(this, APP_CODE+"CFJavaProcessing3", "petclinic", ArtefactType.ear); existingLDToUpdate.addLogicalService(webGui); existingLDToUpdate.addLogicalService(qss); existingLDToUpdate.addLogicalService(qrs); existingLDToUpdate.addLogicalService(soapConsumer); existingLDToUpdate.addLogicalService(soapProvider); existingLDToUpdate.addLogicalService(mom); existingLDToUpdate.addLogicalService(config); existingLDToUpdate.addLogicalService(relationalDB); existingLDToUpdate.addLogicalService(blobStore); existingLDToUpdate.addExecutionNode(jeeProcessing1); existingLDToUpdate.addExecutionNode(jeeProcessing2); existingLDToUpdate.addExecutionNode(cfjavaProcessing1); jeeProcessing1.addLogicalServiceUsage(webGui, LogicalServiceAccessTypeEnum.NOT_APPLICABLE); jeeProcessing1.addLogicalServiceUsage(qss, LogicalServiceAccessTypeEnum.NOT_APPLICABLE); jeeProcessing1.addLogicalServiceUsage(qrs, LogicalServiceAccessTypeEnum.NOT_APPLICABLE); jeeProcessing1.addLogicalServiceUsage(soapConsumer, LogicalServiceAccessTypeEnum.NOT_APPLICABLE); jeeProcessing1.addLogicalServiceUsage(soapProvider, LogicalServiceAccessTypeEnum.NOT_APPLICABLE); jeeProcessing1.addLogicalServiceUsage(mom, LogicalServiceAccessTypeEnum.NOT_APPLICABLE); jeeProcessing1.addLogicalServiceUsage(config, LogicalServiceAccessTypeEnum.NOT_APPLICABLE); jeeProcessing1.addLogicalServiceUsage(relationalDB, LogicalServiceAccessTypeEnum.NOT_APPLICABLE); jeeProcessing1.addLogicalServiceUsage(blobStore, LogicalServiceAccessTypeEnum.NOT_APPLICABLE); jeeProcessing2.addLogicalServiceUsage(webGui, LogicalServiceAccessTypeEnum.NOT_APPLICABLE); jeeProcessing2.addLogicalServiceUsage(qss, LogicalServiceAccessTypeEnum.NOT_APPLICABLE); jeeProcessing2.addLogicalServiceUsage(qrs, LogicalServiceAccessTypeEnum.NOT_APPLICABLE); jeeProcessing2.addLogicalServiceUsage(soapConsumer, LogicalServiceAccessTypeEnum.NOT_APPLICABLE); cfjavaProcessing1.addLogicalServiceUsage(webGui, LogicalServiceAccessTypeEnum.NOT_APPLICABLE); cfjavaProcessing1.addLogicalServiceUsage(qss, LogicalServiceAccessTypeEnum.NOT_APPLICABLE); cfjavaProcessing1.addLogicalServiceUsage(qrs, LogicalServiceAccessTypeEnum.NOT_APPLICABLE); cfjavaProcessing1.addLogicalServiceUsage(soapConsumer, LogicalServiceAccessTypeEnum.NOT_APPLICABLE); cfjavaProcessing1.addLogicalServiceUsage(soapProvider, LogicalServiceAccessTypeEnum.NOT_APPLICABLE); cfjavaProcessing1.addLogicalServiceUsage(mom, LogicalServiceAccessTypeEnum.NOT_APPLICABLE); cfjavaProcessing1.addLogicalServiceUsage(config, LogicalServiceAccessTypeEnum.NOT_APPLICABLE); cfjavaProcessing1.addLogicalServiceUsage(relationalDB, LogicalServiceAccessTypeEnum.NOT_APPLICABLE); cfjavaProcessing1.addLogicalServiceUsage(blobStore, LogicalServiceAccessTypeEnum.NOT_APPLICABLE); return existingLDToUpdate; //To change body of implemented methods use File | Settings | File Templates. } @Override public Map<String, String> getAppUrlsAndKeywords(URL baseUrl) { return null; //To change body of implemented methods use File | Settings | File Templates. } @Override public boolean isInstantiable() { return true; } @Override public String getAppCode() { return "ALLSERV"; } @Override public String getAppLabel() { return "All services test application"; } @Override public String getAppReleaseVersion() { return "TEST0"; } }