blob: 6cb74667fa30ec28365a0a037676476e9f40ee85 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2011 BSI Business Systems Integration AG.
* 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:
* Daniel Wiehl (BSI Business Systems Integration AG) - initial API and implementation
******************************************************************************/
/**
*
*/
package org.eclipse.scout.sdk.ws.jaxws.resource;
import java.util.HashMap;
import java.util.Map;
import org.eclipse.scout.sdk.workspace.IScoutBundle;
import org.eclipse.scout.sdk.ws.jaxws.JaxWsConstants;
import org.eclipse.scout.sdk.ws.jaxws.util.JaxWsSdkUtility;
public final class ResourceFactory {
private static final Map<IScoutBundle, XmlResource> sm_sunJaxWsResourceMap = new HashMap<IScoutBundle, XmlResource>();
private static final Map<IScoutBundle, XmlResource> sm_buildJaxWsResourceMap = new HashMap<IScoutBundle, XmlResource>();
private ResourceFactory() {
}
public static synchronized XmlResource getSunJaxWsResource(IScoutBundle bundle) {
return getSunJaxWsResource(bundle, false);
}
public static synchronized XmlResource getSunJaxWsResource(IScoutBundle bundle, boolean autoCreate) {
if (!sm_sunJaxWsResourceMap.containsKey(bundle)) {
XmlResource resource = new XmlResource(bundle);
resource.setFile(JaxWsSdkUtility.getFile(bundle, JaxWsConstants.PATH_SUN_JAXWS, autoCreate));
sm_sunJaxWsResourceMap.put(bundle, resource);
}
XmlResource xmlResource = sm_sunJaxWsResourceMap.get(bundle);
if (autoCreate && (xmlResource.getFile() == null || !xmlResource.existsFile())) {
xmlResource.setFile(JaxWsSdkUtility.getFile(bundle, JaxWsConstants.PATH_SUN_JAXWS, autoCreate));
}
return xmlResource;
}
public static synchronized XmlResource getBuildJaxWsResource(IScoutBundle bundle) {
return getBuildJaxWsResource(bundle, false);
}
public static synchronized XmlResource getBuildJaxWsResource(IScoutBundle bundle, boolean autoCreate) {
if (!sm_buildJaxWsResourceMap.containsKey(bundle)) {
XmlResource resource = new XmlResource(bundle);
resource.setFile(JaxWsSdkUtility.getFile(bundle, JaxWsConstants.PATH_BUILD_JAXWS, autoCreate));
sm_buildJaxWsResourceMap.put(bundle, resource);
}
XmlResource xmlResource = sm_buildJaxWsResourceMap.get(bundle);
if (autoCreate && (xmlResource.getFile() == null || !xmlResource.existsFile())) {
xmlResource.setFile(JaxWsSdkUtility.getFile(bundle, JaxWsConstants.PATH_BUILD_JAXWS, autoCreate));
}
return xmlResource;
}
}