/* * JBoss, Home of Professional Open Source. * * See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing. * * See the AUTHORS.txt file distributed with this work for a full listing of individual contributors. */ package org.teiid.designer.advisor.ui.actions; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; import org.teiid.designer.advisor.ui.AdvisorUiConstants; import org.teiid.designer.advisor.ui.Messages; public class AdvisorGuides implements AdvisorUiConstants { Map<String, AdvisorActionInfo[]> actionInfoMap; public static final String MODEL_JDBC_SOURCE = Messages.ModelJdbcSource; public static final String MODEL_TEIID_DATA_SOURCE = Messages.ModelTeiidDataSourceDDL; public static final String MODEL_FLAT_FILE_SOURCE = Messages.ModelFlatFileSource; public static final String MODEL_REMOTE_XML_SOURCE = Messages.ModelRemoteXmlFileSource; public static final String MODEL_LOCAL_XML_SOURCE = Messages.ModelLocalXmlFileSource; public static final String CONSUME_SOAP_WEB_SERVICE = Messages.ConsumeSoapWebService; public static final String TEIID_SERVER_ACTIONS = Messages.TeiidServer; public static final String CREATE_REST_WAR = Messages.CreateARESTWar; public static final String CREATE_SOAP_WAR = Messages.CreateASOAPWar; public AdvisorGuides() { super(); init(); } private void init() { this.actionInfoMap = new HashMap<String, AdvisorActionInfo[]>(3); Collection<AdvisorActionInfo> infoList = new ArrayList<AdvisorActionInfo>(); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.DEFINE_TEIID_MODEL_PROJECT)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.CREATE_CONNECTION_JDBC)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.IMPORT_JDBC)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.PREVIEW_DATA)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.DEFINE_VDB)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.EDIT_VDB)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.EXECUTE_VDB)); AdvisorActionInfo[] infoArray = infoList.toArray(new AdvisorActionInfo[infoList.size()]); actionInfoMap.put(MODEL_JDBC_SOURCE, infoArray); infoList = new ArrayList<AdvisorActionInfo>(); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.DEFINE_TEIID_MODEL_PROJECT)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.CREATE_CONNECTION_FLAT_FILE)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.IMPORT_FLAT_FILE)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.PREVIEW_DATA)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.DEFINE_VDB)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.EDIT_VDB)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.EXECUTE_VDB)); infoArray = infoList.toArray(new AdvisorActionInfo[infoList.size()]); actionInfoMap.put(MODEL_FLAT_FILE_SOURCE, infoArray); infoList = new ArrayList<AdvisorActionInfo>(); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.DEFINE_TEIID_MODEL_PROJECT)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.CREATE_CONNECTION_XML_FILE_LOCAL)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.IMPORT_XML_FILE)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.PREVIEW_DATA)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.DEFINE_VDB)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.EDIT_VDB)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.EXECUTE_VDB)); infoArray = infoList.toArray(new AdvisorActionInfo[infoList.size()]); actionInfoMap.put(MODEL_LOCAL_XML_SOURCE, infoArray); infoList = new ArrayList<AdvisorActionInfo>(); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.DEFINE_TEIID_MODEL_PROJECT)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.CREATE_CONNECTION_XML_FILE_URL)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.IMPORT_XML_FILE_URL)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.PREVIEW_DATA)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.DEFINE_VDB)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.EDIT_VDB)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.EXECUTE_VDB)); infoArray = infoList.toArray(new AdvisorActionInfo[infoList.size()]); actionInfoMap.put(MODEL_REMOTE_XML_SOURCE, infoArray); infoList = new ArrayList<AdvisorActionInfo>(); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.DEFINE_TEIID_MODEL_PROJECT)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.CREATE_CONNECTION_WEB_SERVICE_ODA)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.GENERATE_WS_MODELS_FROM_WSDL)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.PREVIEW_DATA)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.DEFINE_VDB)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.EDIT_VDB)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.EXECUTE_VDB)); infoArray = infoList.toArray(new AdvisorActionInfo[infoList.size()]); actionInfoMap.put(CONSUME_SOAP_WEB_SERVICE, infoArray); infoList = new ArrayList<AdvisorActionInfo>(); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.NEW_TEIID_SERVER)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.EDIT_TEIID_SERVER)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.SET_DEFAULT_TEIID_SERVER)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.REFRESH_TEIID_SERVER)); infoArray = infoList.toArray(new AdvisorActionInfo[infoList.size()]); actionInfoMap.put(TEIID_SERVER_ACTIONS, infoArray); // ============================================================================= // // Create project // ** Create Data Source (Optional) // Assign REST properties (MED) // Create VDB with view model // ** Deploy VDB // ** Generate DS for VDB // Generate REST WAR // Deploy REST WAR // ============================================================================= infoList = new ArrayList<AdvisorActionInfo>(); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.DEFINE_TEIID_MODEL_PROJECT)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.CREATE_DATA_SOURCE)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.IMPORT_TEIID_CONNECTION_DDL)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.SET_CONNECTION_PROFILE)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.PREVIEW_DATA)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.DEFINE_VDB)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.EXECUTE_VDB)); infoArray = infoList.toArray(new AdvisorActionInfo[infoList.size()]); actionInfoMap.put(MODEL_TEIID_DATA_SOURCE, infoArray); // ============================================================================= // Create REST Web services WAR file // // Create project // ** Create RESTful View // ** : New View Table in View model and generate procedure (invoke() ??) // ** : Full CRUD, if updates are required // Assign REST properties (MED) // Create VDB with view model // ** Deploy VDB // ** Generate DS for VDB // Generate REST WAR // Deploy REST WAR // ============================================================================= infoList = new ArrayList<AdvisorActionInfo>(); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.DEFINE_TEIID_MODEL_PROJECT)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.DEFINE_SOURCE)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.DEFINE_VIEW_TABLE)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.DEFINE_VIEW_PROCEDURE)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.PREVIEW_DATA)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.DEFINE_VDB)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.DEPLOY_VDB)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.GENERATE_REST_WAR)); infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.DEPLOY_WAR)); infoArray = infoList.toArray(new AdvisorActionInfo[infoList.size()]); actionInfoMap.put(CREATE_REST_WAR, infoArray); // ============================================================================= // JBossWS-CXF (SOAP) War actions set: // // Create project // Create Web Service Models // Create VDB // Add Models // Deploy VDB // Generate DS for VDB // Generate JBossWS-CXF WAR // Deploy JBossWS-CXF WAR // ============================================================================= // infoList = new ArrayList<AdvisorActionInfo>(); // infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.DEFINE_TEIID_MODEL_PROJECT)); // infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.NEW_OBJECT_VIEW_TABLE)); // infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.NEW_OBJECT_REST_PROCEDURE)); // infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.PREVIEW_DATA)); // infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.CREATE_VDB)); // infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.DEPLOY_VDB)); // infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.GENERATE_SOAP_WAR)); // infoList.add(AdvisorActionFactory.getActionInfo(COMMAND_IDS.DEPLOY_WAR)); // infoArray = infoList.toArray(new AdvisorActionInfo[infoList.size()]); // actionInfoMap.put(CREATE_SOAP_WAR, infoArray); } public Object[] getChildren(String categoryId) { return actionInfoMap.get(categoryId); } public List<String> getCategories() { List<String> categories = new ArrayList<String>(); for( String cat : actionInfoMap.keySet()) { categories.add(cat); } return categories; } }