###############################################################################
# Copyright (c) 2000, 2007 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
###############################################################################

AbstractSourceLookupDirector_11=Unable to restore source lookup path - expecting typeId attribute.
AbstractSourceLookupDirector_12=Unable to restore source lookup path - unknown type source container type specified: {0}
AbstractSourceLookupDirector_13=Unable to restore source lookup path - expecting memento attribute.
AbstractSourceLookupDirector_14=Unable to read source lookup path - expecting sourceLookupDirector node.
AbstractSourceLookupDirector_10=Exception occurred during source lookup

ExternalArchiveSourceContainer_2=Unable to access archive {0}
ExternalArchiveSourceContainer_1=Archive does not exist: {0}

ExternalArchiveSourceContainerType_10=Invalid or missing <path> attribute in archive memento.
ExternalArchiveSourceContainerType_11=Missing <archive> node in archive memento.
ExternalArchiveSourceContainerType_12=Invalid archive memento

DefaultSourceContainer_0=Default
DefaultSourceContainerType_6=Unable to restore default source lookup path - expecting default element.
DefaultSourceContainerType_7=Unable to restore default source lookup path - invalid memento.

DirectorySourceContainerType_10=Unable to restore directory source lookup entry - missing path attribute.
DirectorySourceContainerType_11=Unable to restore directory source lookup entry - expecting directory element.
DirectorySourceContainerType_12=Unable to restore directory source lookup entry - invalid memento.

FolderSourceContainerType_10=Unable to restore source lookup folder - missing path attribute.
FolderSourceContainerType_11=Unable to restore source lookup folder - expecting folder element.
FolderSourceContainerType_12=Unable to restore source lookup folder - invalid memento.

LocalFileStorage_0=Exception occurred retrieving file contents.

ProjectSourceContainerType_10=Unable to restore project source lookup entry - missing name attribute.
ProjectSourceContainerType_11=Unable to restore project source lookup entry - expecting project element.
ProjectSourceContainerType_12=Unable to restore project source lookup entry - invalid memento.

WorkspaceSourceContainer_0=Workspace

WorkspaceSourceContainerType_3=Unable to restore workspace source lookup entry - expecting workspace element.
WorkspaceSourceContainerType_4=Unable to restore workspace source lookup entry - invalid memento.

ZipEntryStorage_0=Unable to read ZipEntry contents
Source_Lookup_Error=Source lookup error
SourceContainerType_0=Unable to persist source lookup path.
