blob: b5da99a8e5a2a35ecdeecf678c956b96fc874921 [file] [log] [blame]
SiteManager.getSite(URL)throws CoreException
String type = getTypeForprotocol(URL.getprotocol);
try {
if (type != null){
attemptCreationSite(type,URL);
} else {
attemptCreationSite("http",URL);
}
} catch (CoreException e){
throw new CoreException("Cannot create site",e.getMessage());
}
SiteManager.attemptCreationSite(type,URL)throws CoreException
try {
createSite(type,URL);
} catch (InvalidTypeException e){
try {
createSite(e.getRealType(),URL);
} catch (InvalidSiteExeption e){
throw new CoreException("Wrong site type");
}
}
SiteManager.createSite(type,URL) throws CoreExeption, InvalidSiteTypeException
try {
factory.createSite(url, forceCreation);
} catch (IOException e) {
// if the URL is pointing to either a file
// or a directory, without reference
if (url.getRef() != null) {
// 4 nothing we can do
throw newCoreException("Error accessing url:"+url.toExternalForm()+"\r\n"+e.getMessage(),e);
} else if (url.getFile().endsWith("/")) {
// 1 try to add site.xml
try {
url = new URL(url,Site.SITE_XML);
} catch (MalformedURLException e1){
throw newCoreException("Cannot create URL:"+url.toExternalForm()+"+"+Site.SITE_XML,e1);
}
try {
site = factory.createSite(url, forceCreation);
} catch (ParsingException e1){
throw newCoreException("Error parsing URL:"+url.toExternalForm()+"\r\n"+e1.getMessage(),e1);
} catch (IOException e1){
throw newCoreException("Error accessing url:"+url.toExternalForm()+"\r\n"+e1.getMessage(),e1);
}
} else if (url.getFile().endsWith(Site.SITE_XML)) {
// 3 nothing we can do
throw newCoreException("Error accessing url:"+url.toExternalForm()+"\r\n"+e.getMessage(),e);
} else {
// 2 try to add /site.xml
try {
url = new URL(url.getProtocol(),url.getHost(), url.getPort(), url.getFile()+"/"+Site.SITE_XML);
} catch (MalformedURLException e1){
throw newCoreException("Cannot create URL:"+url.toExternalForm()+"+"+Site.SITE_XML,e1);
}
try {
site = factory.createSite(url, forceCreation);
} catch (ParsingException e1){
throw newCoreException("Error parsing URL:"+url.toExternalForm()+"\r\n"+e1.getMessage()+"\r\nPrevious Input/Output Error:"+e.getMessage(),e1);
} catch (IOException e1){
throw newCoreException("Error accessing url:"+url.toExternalForm()+"\r\n"+e1.getMessage()+"\r\nPrevious Input/Output Error:"+e.getMessage(),e1);
}
}
} catch (ParsingException e) {
// if the URL is pointing to either a file
// or a directory, without reference
if (url.getRef() != null) {
// 4 nothing we can do
throw newCoreException("Error parsing URL:"+url.toExternalForm()+"\r\n"+e.getMessage(),e);
} else if (url.getFile().endsWith("/")) {
// 1 try to add site.xml
try {
url = new URL(url,Site.SITE_XML);
} catch (MalformedURLException e1){
throw newCoreException("Cannot create URL:"+url.toExternalForm()+"+"+Site.SITE_XML,e1);
}
try {
site = factory.createSite(url, forceCreation);
} catch (ParsingException e1){
throw newCoreException("Error parsing URL:"+url.toExternalForm()+"\r\n"+e1.getMessage(),e1);
} catch (IOException e1){
throw newCoreException("Error accessing url:"+url.toExternalForm()+"\r\n"+e1.getMessage(),e1);
}
} else if (url.getFile().endsWith(Site.SITE_XML)) {
// 3 nothing we can do
throw newCoreException("Error parsing URL:"+url.toExternalForm()+"\r\n"+e.getMessage(),e);
} else {
// 2 try to add /site.xml
try {
url = new URL(url.getProtocol(),url.getHost(), url.getPort(), url.getFile()+"/"+Site.SITE_XML);
} catch (MalformedURLException e1){
throw newCoreException("Cannot create URL:"+url.toExternalForm()+"+"+Site.SITE_XML,e1);
}
try {
site = factory.createSite(url, forceCreation);
} catch (ParsingException e1){
throw newCoreException("Error parsing URL:"+url.toExternalForm()+"\r\n"+e1.getMessage()+"\r\nPrevious Parsing error:"+e.getMessage(),e1);
} catch (IOException e1){
throw newCoreException("Error accessing url:"+url.toExternalForm()+"\r\n"+e1.getMessage()+"\r\nPrevious Parsing error:"+e.getMessage(),e1);