/*******************************************************************************
* Copyright (c) 2007 Red Hat, Inc.
* Distributed under license by Red Hat, Inc. All rights reserved.
* This program is made available under the terms of the
* Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Red Hat, Inc. - initial API and implementation
******************************************************************************/
package org.jboss.tools.seam.internal.core.project.facet;
import org.eclipse.wst.common.project.facet.core.IActionConfigFactory;
/**
* Seam facet properties collected in Seam Web Project Wizard.
* Only properties listed below are saved in Seam WebProject Preferences:
* ISeamFacetDataModelProperties.SESSION_BEAN_SOURCE_FOLDER,
* ISeamFacetDataModelProperties.SESION_BEAN_PACKAGE_NAME,
* ISeamFacetDataModelProperties.ENTITY_BEAN_SOURCE_FOLDER,
* ISeamFacetDataModelProperties.ENTITY_BEAN_PACKAGE_NAME,
* ISeamFacetDataModelProperties.SEAM_CONNECTION_PROFILE,
* ISeamFacetDataModelProperties.JBOSS_AS_DEPLOY_AS,
* ISeamFacetDataModelProperties.SEAM_TEST_PROJECT,
* ISeamFacetDataModelProperties.SEAM_RUNTIME_NAME,
* ISeamFacetDataModelProperties.SEAM_SETTINGS_VERSION,
* ISeamFacetDataModelProperties.TEST_SOURCE_FOLDER,
* ISeamFacetDataModelProperties.TEST_CASES_PACKAGE_NAME,
* ISeamFacetDataModelProperties.TEST_CREATING,
* ISeamFacetDataModelProperties.SEAM_EJB_PROJECT,
* ISeamFacetDataModelProperties.SEAM_EAR_PROJECT
* @author eskimo
*/
public interface ISeamFacetDataModelProperties extends IActionConfigFactory {
/**
* Seam Facet ID constant
*/
String SEAM_FACET_ID = "jst.seam"; //$NON-NLS-1$
/**
* Seam 1.2 Facet Version constant
*/
String SEAM_FACET_VERSION_12 = "1.2"; //$NON-NLS-1$
/**
* Seam 2.0 Facet Version constant
*/
String SEAM_FACET_VERSION_20 = "2.0"; //$NON-NLS-1$
/**
* Seam 2.1 Facet Version constant
*/
String SEAM_FACET_VERSION_21 = "2.1"; //$NON-NLS-1$
// Seam Preferences names constants
/**
* Source folder used session objects: actions, forms, conversations, beans
* web pages backing beans
*/
String SESSION_BEAN_SOURCE_FOLDER = "action.sources"; //$NON-NLS-1$
/**
* Package name used session objects: actions, forms, conversations, beans
* web pages backing beans
*/
String SESSION_BEAN_PACKAGE_NAME = "action.package"; //$NON-NLS-1$
/**
* Source folder used entity beans: actions, forms, conversations, beans
* web pages backing beans
*/
String ENTITY_BEAN_SOURCE_FOLDER = "model.sources"; //$NON-NLS-1$
/**
* This flag indicates that we should create test project.
* Can be "true" or "false".
*/
String TEST_PROJECT_CREATING = "seam.test.project.creating"; //$NON-NLS-1$
/**
* Package name for Entity Beans classes
*/
String ENTITY_BEAN_PACKAGE_NAME = "model.package"; //$NON-NLS-1$
/**
* Connection profile name
*/
String SEAM_CONNECTION_PROFILE = "seam.project.connection.profile"; //$NON-NLS-1$
/**
* Selected deployment type
*/
String JBOSS_AS_DEPLOY_AS = "seam.project.deployment.type"; //$NON-NLS-1$
/**
* Test project name that was created for Seam Web Project
*/
String SEAM_TEST_PROJECT = "seam.test.project"; //$NON-NLS-1$
/**
* Seam runtime name that should be used to create seam artifacts:
* forms, actions, conversations and entities
*/
String SEAM_RUNTIME_NAME = "seam.runtime.name"; //$NON-NLS-1$
/**
* Seam settings version.
*/
String SEAM_SETTINGS_VERSION = "seam.project.settings.version";
/**
* Seam settings version 1.0.
*/
String SEAM_SETTINGS_VERSION_1_0 = "1.0";
/**
* Seam settings version 1.1.
*/
String SEAM_SETTINGS_VERSION_1_1 = "1.1";
/**
* Source folder where tests for seam artifacts should be placed inside the
* test project
*/
String TEST_SOURCE_FOLDER = "test.sources"; //$NON-NLS-1$
/**
* Package where tests for seam artifacts should be placed inside the
* test project
*/
String TEST_CASES_PACKAGE_NAME = "test.package"; //$NON-NLS-1$
/**
* This flag indicates that we should create seam tests.
* Can be "true" or "false".
*/
String TEST_CREATING = "seam.test.creating"; //$NON-NLS-1$
/**
* Parent war project for EJB and Test projects.
*/
String SEAM_PARENT_PROJECT = "seam.parent.project"; //$NON-NLS-1$
/**
* Ejb project name created from Seam Web Project in EAR deployment configuration
*/
String SEAM_EJB_PROJECT = "seam.ejb.project"; //$NON-NLS-1$
/**
* Ear project name created for Seam Web Project in EAR deployment configuration
*/
String SEAM_EAR_PROJECT = "seam.ear.project"; //$NON-NLS-1$
// Seam Facet Wizard Page parameters constants
/**
* Project name token
*/
String SEAM_PROJECT_NAME = "project.name"; //$NON-NLS-1$
/**
* Selected Seam Project
*/
String SEAM_PROJECT_INSTANCE = "seam.project.instance"; //$NON-NLS-1$
/**
* Path to JBoss AS server
*/
String JBOSS_AS_HOME = "jboss.home"; //$NON-NLS-1$
/**
* Selected Database type
*/
String DB_TYPE = "database.type"; //$NON-NLS-1$
/**
* Selected hibernate dialect
*/
String HIBERNATE_DIALECT = "hibernate.dialect"; //$NON-NLS-1$
/**
* JDBC driver class name token
*/
String JDBC_DRIVER_CLASS_NAME = "hibernate.connection.driver_class"; //$NON-NLS-1$
/**
* JDBC Connection URL token
*/
String JDBC_URL_FOR_DB = "hibernate.connection.url"; //$NON-NLS-1$
/**
* Connection user name token
*/
String DB_USER_NAME = "hibernate.connection.username"; //$NON-NLS-1$
/**
* Connection user name password
*/
String DB_USER_PASSWORD = "hibernate.connection.password"; //$NON-NLS-1$
/**
* Schema name
*/
String DB_SCHEMA_NAME = "schema.property"; //$NON-NLS-1$
/**
* If it is empty schema.property is empty
* If is not empty schema.property should be set to
*
<property name="hibernate.default_schema" value="${hibernate.default_schema}"/>
*
*/
String DB_DEFAULT_SCHEMA_NAME = "hibernate.default_schema"; //$NON-NLS-1$
/**
* Catalog name
*/
String DB_CATALOG_NAME = "catalog.property"; //$NON-NLS-1$
/**
* If it is empty catalog.property is empty
* If is not empty catalog.property should be set to
*
<property name="hibernate.default_catalog" value="${hibernate.default_catalog}"/>
*/
String DB_DEFAULT_CATALOG_NAME = "hibernate.default_catalog"; //$NON-NLS-1$
/**
* DB tables already exists in database check box value
*/
String DB_ALREADY_EXISTS = "database.exists"; //$NON-NLS-1$
/**
* Recreate database tables and data on deploy check box value
*/
String RECREATE_TABLES_AND_DATA_ON_DEPLOY = "database.drop"; //$NON-NLS-1$
/**
* TODO
*/
String HIBERNATE_HBM2DDL_AUTO = "hibernate.hbm2ddl.auto"; //$NON-NLS-1$
/**
* Driver file names
*/
String JDBC_DRIVER_JAR_PATHS_ARRAY = "driver.files.array"; //$NON-NLS-1$
/**
* Driver file name
*/
String JDBC_DRIVER_JAR_NAME = "driver.file"; //$NON-NLS-1$
// TODO: should be moved to org.jboss.tools.seam.ui.wizard.IParameter
// why is this a property when it is always derivable from sesion_bean_package_name ?
String SESSION_BEAN_PACKAGE_PATH = "action.package.path"; //$NON-NLS-1$
// TODO: should be moved to org.jboss.tools.seam.ui.wizard.IParameter
// why is this a property when it is always derivable from entity_bean_package_name ?
String ENTITY_BEAN_PACKAGE_PATH = "model.package.path"; //$NON-NLS-1$
// TODO: should be moved to org.jboss.tools.seam.ui.wizard.IParameter
// why is this a property when it is always derivable from test_package_path ?
String TEST_CASES_PACKAGE_PATH = "test.package.path"; //$NON-NLS-1$
/**
* Selected Seam Runtime home folder
*/
String JBOSS_SEAM_HOME = "seam.home.folder"; //$NON-NLS-1$
/**
* Seam project web contents root folder
*/
String WEB_CONTENTS_FOLDER = "seam.project.web.root.folder"; //$NON-NLS-1$
/**
* WAR deployment constant
*/
String DEPLOY_AS_WAR = "war"; //$NON-NLS-1$
/**
* EAR deployment constant
*/
String DEPLOY_AS_EAR = "ear"; //$NON-NLS-1$
/**
* Selected Server Runtime
*/
String JBOSS_AS_TARGET_SERVER = "seam.project.deployment.target"; //$NON-NLS-1$
/**
* Selected Server
*/
String JBOSS_AS_TARGET_RUNTIME = "seam.project.deployment.runtime"; //$NON-NLS-1$
/**
* Default action source folder name;
*/
String DEFAULT_ACTION_SRC_FOLDER_NAME = "hot"; //$NON-NLS-1$
/**
* Default model source folder name;
*/
String DEFAULT_MODEL_SRC_FOLDER_NAME = "main"; //$NON-NLS-1$
String CREATE_EAR_PROJECTS = "create.ear.projects"; //$NON-NLS-1$
String CONFIGURE_DEFAULT_SEAM_RUNTIME = "configure.default.seam.runtime"; //$NON-NLS-1$
String CONFIGURE_WAR_PROJECT = "configure.war.project"; //$NON-NLS-1$
String SEAM_SETTINGS_CHANGED_BY_USER = "seam.settings.changed.by.user"; //$NON-NLS-1$
/**
* if(SEAM_TEMPLATES_AND_LIBRARIES_COPYING){
*
* COPY_TEMPLATES();
*
* if(SEAM_RUNTIME_LIBRARIES_COPYING){
* COPY_LIBRARIES();
* }
* }
*
* Case 1. Add Seam Facet to new project + "Copy libraries From Seam Runtime to the project" option
*
* SEAM_TEMPLATES_AND_LIBRARIES_COPYING - true
* SEAM_RUNTIME_LIBRARIES_COPYING - true
*
* Case 2. Add Seam Facet to new project + "Configure Later" option
*
* SEAM_TEMPLATES_AND_LIBRARIES_COPYING - true
* SEAM_RUNTIME_LIBRARIES_COPYING - false
*
* Case 3. Add Seam Facet to existing project
*
* SEAM_TEMPLATES_AND_LIBRARIES_COPYING - false
* SEAM_RUNTIME_LIBRARIES_COPYING - false
*
*/
/**
* This flag indicates that we should copy libraries from Seam Runtime to projects.
* Can be "true" or "false".
*/
String SEAM_RUNTIME_LIBRARIES_COPYING = "seam.runtime.libraries.copying"; //$NON-NLS-1$
/**
* This flag indicates that we should copy Seam templates and libraries from Seam Runtime to projects.
* Can be "true" or "false".
*/
String SEAM_TEMPLATES_AND_LIBRARIES_COPYING = "seam.templates.copying"; //$NON-NLS-1$
String SEAM_LIBRARY_PROVIDER = "seam.runtime.library.provider"; //$NON-NLS-1$
/**
* This flag indicates a project already exists in the workspace.
* This is used to distinguish Facet installation from a Wizard vs from a Maven configurator.
*/
String PROJECT_ALREADY_EXISTS = "seam.project.already.exists";
}