###############################################################################
# Copyright (c) 2010, 2012 JBoss by Red Hat and others.
# All rights reserved. This program and the accompanying materials 
# are 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:
#     University College London - initial API and implementation
#     JBoss by Red Hat - subsequent contributions and maintenance
###############################################################################
pluginName = JBoss Riftsaw Runtime Adapter
providerName = Eclipse.org

MODULE_TYPE_NAME=JBoss BPEL 2.0 Process
MODULE_TYPE_DESCRIPTION=Module representing a JBoss BPEL process

BPEL_CORE_FACET_LABEL=JBoss Legacy BPEL 2.0 Facet (SOA-P 5.1 and earlier)
BPEL_CORE_FACET_DESCRIPTION=Enables modeling and deployment of BPEL processes to SOA-P 5.1 and earlier.
BPEL_FACET_CATEGORY_LABEL=JBoss Legacy BPEL 2.0
BPEL_FACET_TEMPLATE_LABEL=JBoss Legacy BPEL 2.0 Project
NEW_BPEL_CATEGORY=JBoss Legacy BPEL 2.0
NEW_BPEL_PROJECT=JBoss Legacy BPEL Project
NEW_BPEL_PROJECT_DESCRIPTION=Create a new JBoss BPEL project for SOA-P 5.1 and earlier. 
jbossHome = JBoss App Server home directory:
jbossServerConfig = Server configuration:
serverAddress = Server address\: 
port = Port: