###############################################################################
# Copyright (c) 2007, 2011 IBM Corporation 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:
#     IBM Corporation - initial API and implementation
###############################################################################

ActionManager_Exception_Creating_Action_Extension=Error creating action with id: {0}.
ActionManager_Required_Touchpoint_Not_Found=The required {0} touchpoint for the {1} action is not included in the installation manager configuration.
action_syntax_error=Invalid action syntax: {0}.
download_artifact=Downloading artifacts
download_no_repository=No artifact repository available.

error_parsing_profile=Error parsing profile {0}.
error_persisting_profile=Error persisting profile {0}.
io_FailedRead=Failed to read profile repository at {0}
io_NotFound=No repository found at {0}

TouchpointManager_Null_Touchpoint_Type_Argument=A null or empty string was passed as the type of a touchpoint.
TouchpointManager_Incorrectly_Named_Extension=A touchpoint extension is incorrectly named {0} instead of {1}.
TouchpointManager_Attribute_Not_Specified=The required attribute {0} is not specified for the touchpoints extension point.
TouchpointManager_Conflicting_Touchpoint_Types=Two or more touchpoint extensions of type {0} are defined.
TouchpointManager_Exception_Creating_Touchpoint_Extension=An exception was thrown and caught when creating the extension point instance for the {0} touchpoint.
TouchpointManager_Null_Creating_Touchpoint_Extension=A null object was returned when creating the extension point instance for the {0} touchpoint.

ParameterizedProvisioningAction_action_or_parameters_null=Both action and action parameters must not be null.
Profile_Null_Profile_Id=A profile must have an non-empty id.
Profile_Duplicate_Root_Profile_Id=Adding a profile with duplicate id: {0}.
Profile_Parent_Not_Found=Parent profile not found: {0}.

SimpleProfileRegistry_Parser_Error_Parsing_Registry=\
	Error parsing the profile registry.
SimpleProfileRegistry_Parser_Has_Incompatible_Version=\
	The profile registry has incompatible version {0}; expected {1}.
SimpleProfileRegistry_Profile_in_use=The profile is currently in use.
SimpleProfileRegistry_Profile_not_locked=The profile is not locked.
SimpleProfileRegistry_Profile_not_locked_due_to_exception=Profile not locked due to exception: {0}
SimpleProfileRegistry_Bad_profile_location=Bad profile location: {0}
SimpleProfileRegistry_CannotRemoveCurrentSnapshot=Cannot remove the current profile timestamp
SimpleProfileRegistry_States_Error_Reading_File=Error reading profile state properties.
SimpleProfileRegistry_States_Error_Writing_File=Error writing profile state properties.
SimpleProfileRegistry_state_not_found=State {0} for profile {1} not found.
profile_does_not_exist=Profile to be updated does not exist: {0}.
profile_not_current=Profile {0} is not current. Expected timestamp {1} but was {2}.
profile_changed=Profile {0} is marked as changed.
profile_not_registered=Profile {0} not registered.
reg_dir_not_available=Registry Directory not available: {0}.
thread_not_owner=Thread not lock owner.
profile_lock_not_reentrant=Lock failed. Profile does not permit reentrant locking.
Shared_Profile=Shared profile
shared_profile_not_found=Shared profile {0} not found.

ProfilePreferences_saving=Saving profile preferences
phase_error=An error occurred during the {0} phase.
action_undo_error=An error occurred while rolling back the engine operation while undoing the {0} action.
forced_action_execute_error=An error occurred while performing the engine operation while executing the {0} action in forced mode. The operation will continue.
phaseid_not_positive=Phase weight must be positive.
phaseid_not_set=Phase id must be set.
action_not_found=No action found for: {0}.
actions_not_found=No actions found for: {0}.
not_current_phase=Current phase does not match argument.
null_operands=Operands must not be null.
null_phase=Phase must not be null.
null_phases=Phases must not be null
null_phaseset=PhaseSet must not be null.
null_profile=Profile must not be null.
touchpoint_prepare_error=An error occurred while preparing the engine operation for the {0} touchpoint.
touchpoint_commit_error=An error occurred while committing the engine operation for the {0} touchpoint.
touchpoint_rollback_error=An error occurred while rolling back the engine operation for the {0} touchpoint.
phase_undo_error=An error occurred while undoing the {0} phase.
phase_undo_operand_error=An error occurred while undoing the {0} phase for operand {1}.
phase_not_started=There is no phase to end.
phase_started=A phase is already started.

session_prepare_error=An error occurred while preparing the engine session for profile: {0}.
session_commit_error=An error occurred while committing the engine session for profile: {0}.
null_operand=Operand must not be null.
operand_started=An operand is already started.
operand_not_started=There is no operand to end.
not_current_operand=Current operand does not match argument.
null_action=Action must not be null
session_context=session context was:(profile={0}, phase={1}, operand={2}, action={3}).
preparing=Preparing to commit the provisioning operation.
committing=Committing the provisioning operation.
rollingback_error=An error was detected while performing the engine operation and the changes are being rolled back. See the log for details.
rollingback_cancel=The engine operation was cancelled and the changes are being rolled back.

Engine_Operation_Canceled_By_User=Operation canceled by the user.
InstallableUnitEvent_type_not_install_or_uninstall=type must be either UNINSTALL(0) or INSTALL(1)
CertificateChecker_CertificateError=An invalid certificate was found.
CertificateChecker_CertificateRejected=One or more certificates rejected. Cannot proceed with installation.
CertificateChecker_KeystoreConnectionError=Cannot connect to keystore.
CertificateChecker_SignedContentError=Error with signed content.
CertificateChecker_SignedContentIOError=Error reading signed content.
CertificateChecker_UnsignedNotAllowed=Installing unsigned artifacts is not permitted: {0}

Phase_Collect_Error=An error occurred while collecting items to be installed
Phase_Configure_Error=An error occurred while configuring the installed items
Phase_Configure_Task=Configuring {0}
Phase_Install_Error=An error occurred while installing the items
Phase_Install_Task=Installing {0}
Phase_Sizing_Error=Error computing the size.  Some of the items to be installed could not be found.
Phase_Sizing_Warning=The size may not be accurate.  Some of the items did not report a size.
Phase_Unconfigure_Error=An error occurred while unconfiguring the items to uninstall
Phase_Uninstall_Error=An error occurred while uninstalling
