/** * 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.HashMap; import java.util.Map; import com.francetelecom.clara.cloud.logicalmodel.LogicalConfigService; import com.francetelecom.clara.cloud.logicalmodel.LogicalDeployment; 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.LogicalWebGUIService; import com.francetelecom.clara.cloud.logicalmodel.ProcessingNode; /** * A sample application demonstrating "eligibility" of the Orange DDSI sample "wicketoo" application. */ public class WicketooLogicalModelCatalog extends BaseReferenceLogicalModelsCatalog { public static final String DATABASE_CONFIG = "DatabaseConfig"; String databaseConfigSetContent = "# property used for database selection (mysql / oracle / postgresql / hsqldb). See jpaDaoContext.xml" + "\ndatabase.name=mysql"; @Override public LogicalDeployment createLogicalModel(String logicalModelName, LogicalDeployment existingLDToUpdate) { if (existingLDToUpdate == null) { existingLDToUpdate = new LogicalDeployment(); } LogicalWebGUIService wicketooUserWebUi = createLogicalWebGuiService("WicketooUserWebUi", "wicketoo", true, false, 30, 20); LogicalRelationalService relationalDB = createLogicalRelationalService(this, "WicketooRds", "mysql-MyDataSource", LogicalRelationalServiceSqlDialectEnum.MYSQL_DEFAULT, 1000, "wicketoo"); // not mandatory : comment while storage is not available // LogicalOnlineStorageService onlineStorageService = createLogicalOnlineStorage("WicketooOnlineStorage", "WicketooOnlineStorage", 10); LogicalConfigService databaseConfig = createLogicalConfigService(DATABASE_CONFIG, "", databaseConfigSetContent); ProcessingNode jeeProcessing1 = createJeeProcessing(this, "WicketooJEE", "wicketoo"); existingLDToUpdate.addLogicalService(wicketooUserWebUi); existingLDToUpdate.addLogicalService(relationalDB); // existingLDToUpdate.addLogicalService(onlineStorageService); existingLDToUpdate.addLogicalService(databaseConfig); existingLDToUpdate.addExecutionNode(jeeProcessing1); jeeProcessing1.addLogicalServiceUsage(wicketooUserWebUi, LogicalServiceAccessTypeEnum.NOT_APPLICABLE); jeeProcessing1.addLogicalServiceUsage(relationalDB, LogicalServiceAccessTypeEnum.NOT_APPLICABLE); // jeeProcessing1.addLogicalServiceUsage(onlineStorageService, LogicalServiceAccessTypeEnum.NOT_APPLICABLE); jeeProcessing1.addLogicalServiceUsage(databaseConfig, LogicalServiceAccessTypeEnum.NOT_APPLICABLE); return existingLDToUpdate; } @Override public Map<String, String> getAppUrlsAndKeywords(URL baseUrl) { HashMap<String, String> urls = new HashMap<String, String>(); urls.put("/web/divers/choice.jsp", "wicketoo"); return urls; } @Override public boolean isInstantiable() { return true; } @Override public String getAppDescription() { return "WicketooSample description"; } @Override public String getAppCode() { return "WicketooSampleCODE"; } @Override public String getAppLabel() { return "WicketooSample"; } @Override public String getAppReleaseDescription() { return "WicketooSample release description"; } @Override public String getAppReleaseVersion() { return "G00R01"; } }