blob: b303340493fb73e7bf9dc25eb024ffae4c648911 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2002-2005 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 - Initial API and implementation
*******************************************************************************/
package org.eclipse.wst.wsi.internal;
import java.util.HashMap;
import java.util.Map;
import org.eclipse.wst.wsi.internal.core.WSIException;
import org.eclipse.wst.wsi.internal.core.document.DocumentFactory;
import org.eclipse.wst.wsi.internal.core.profile.ProfileAssertions;
import org.eclipse.wst.wsi.internal.core.profile.ProfileAssertionsReader;
/**
* WS-I test tools property.
*/
public class WSITestToolsProperties
{
protected static String installURL = "";
protected static String tadfile = "";
public final static String schemaDir = "common/schemas/";
public static String SSBP_ASSERTION_FILE = "http://www.ws-i.org/Testing/Tools/2005/01/SSBP10_BP11_TAD_1-0.xml";
public static String AP_ASSERTION_FILE = "http://www.ws-i.org/Testing/Tools/2004/12/AP10_BP11_SSBP10_TAD.xml";
public final static String DEFAULT_ASSERTION_FILE = AP_ASSERTION_FILE;
public static final String STOP_NON_WSI = "0";
public static final String WARN_NON_WSI = "1";
public static final String IGNORE_NON_WSI = "2";
protected static boolean eclipseContext = false;
protected static Map uriToAssertionsMap = new HashMap();
protected static DocumentFactory documentFactory = null;
/**
* Constructor.
*/
protected WSITestToolsProperties()
{
super();
}
public static void setEclipseContext(boolean eclipseActive)
{
eclipseContext = eclipseActive;
}
public static boolean getEclipseContext()
{
return eclipseContext;
}
/**
* Checks the WS-I preferences for the given file and return them in a
* WSIPreferences object.
*
* @param fileuri The file URI to check the WS-I preferences for.
* @return A WSIPreferences object containing the preference for this file URI.
*/
public static WSIPreferences checkWSIPreferences(String fileuri)
{
return new WSIPreferences();
}
/**
* Returns the profile assertions located at the given URI.
* @param assertionsURI the location of the TAD.
* @return the profile assertions located at the given URI.
* @throws WSIException
*/
public static ProfileAssertions getProfileAssertions(String assertionsURI) throws WSIException
{
ProfileAssertions result = null;
if (assertionsURI != null)
{
try
{
if (uriToAssertionsMap.containsKey(assertionsURI))
result = (ProfileAssertions)uriToAssertionsMap.get(assertionsURI);
else
{
// Read profile assertions
if (documentFactory == null)
documentFactory = DocumentFactory.newInstance();
ProfileAssertionsReader profileAssertionsReader = documentFactory.newProfileAssertionsReader();
result = profileAssertionsReader.readProfileAssertions(assertionsURI);
if (result != null)
{
uriToAssertionsMap.put(assertionsURI, result);
}
}
}
catch (Exception e)
{
result = null;
}
}
return result;
}
/**
* Remove file: and any slashes from the fileuri.
* Eclipse's resolution mechanism needs to start with the drive.
*/
protected static String trimURI(String fileuri)
{
String uriStr = fileuri;
if(fileuri.startsWith("file:"))
{
uriStr = fileuri.substring(5);
}
while(uriStr.startsWith("/") || uriStr.startsWith("\\"))
{
uriStr = uriStr.substring(1);
}
return uriStr;
}
}