Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/looseconfig/internal/LooseConfigRegister.java')
-rw-r--r--plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/looseconfig/internal/LooseConfigRegister.java358
1 files changed, 0 insertions, 358 deletions
diff --git a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/looseconfig/internal/LooseConfigRegister.java b/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/looseconfig/internal/LooseConfigRegister.java
deleted file mode 100644
index 17c670796..000000000
--- a/plugins/org.eclipse.jst.j2ee.core/commonArchive/org/eclipse/jst/j2ee/commonarchivecore/looseconfig/internal/LooseConfigRegister.java
+++ /dev/null
@@ -1,358 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2001, 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.j2ee.commonarchivecore.looseconfig.internal;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.jst.j2ee.application.Module;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.Container;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.EARFile;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.exception.ArchiveRuntimeException;
-import org.eclipse.jst.j2ee.commonarchivecore.internal.util.ArchiveUtil;
-import org.eclipse.wst.common.internal.emf.utilities.StringUtil;
-
-
-/**
- * Used internally for loose module support
- */
-public class LooseConfigRegister {
-
- /**
- * The system property used to specify the absolute path to the loose config document;
- * "was.loose.config"
- */
- public static final String LOOSE_CONFIG_PROPERTY = "was.loose.config"; //$NON-NLS-1$
-
- protected static LooseConfigRegister singleton;
-
- protected LooseConfiguration looseConfiguration;
-
- protected ResourceSet resourceSet;
-
- /** Have we previously loaded or tried to load the loose configuration? */
- protected boolean loadAttempted = false;
-
- private Map looseEarMap;
-
- /**
- * Constructor for LooseConfigRegister.
- */
- protected LooseConfigRegister() {
- super();
- initialize();
- }
-
- public static LooseConfigRegister singleton() {
- if (singleton == null)
- singleton = new LooseConfigRegister();
-
- return singleton;
- }
-
- /**
- * Searches for the ear file in the fluffed LooseConfiguration object, and attempts to load the
- * LooseApplication on demand from the existing mappings if it is not already loaded.
- *
- * @param earFileURI
- * @return
- */
- public LooseApplication findLooseApplication(String earFileURI) {
- // System.out.println(getClass().getName() + ".findLooseApplication(String
- // earFileURI=\""+earFileURI+"\")");
- if (getLooseConfiguration() != null) {
- List apps = getLooseConfiguration().getApplications();
- for (int i = 0; i < apps.size(); i++) {
- LooseApplication app = (LooseApplication) apps.get(i);
- // System.out.println(getClass().getName() + ".findLooseApplication():
- // app["+i+"].getURI()=\""+app.getUri()+"\"" );
- if (app.getUri().equals(earFileURI))
- return app;
- }
- }
- // System.out.println(getClass().getName() + ".findLooseApplication(): did not find loaded
- // LooseApplication, loading new value." );
- if (getDocumentURI() == null || getDocumentURI().trim().length() == 0) {
- URI looseConfig = (URI) getLooseEarMap().get(earFileURI);
- // System.out.println(getClass().getName() + ".findLooseApplication(): looseConfig URI
- // from map \""+looseConfig+"\"");
- LooseApplication application = loadLooseApplication(looseConfig);
- // System.out.println(getClass().getName() + ".findLooseApplication():
- // looseApplication="+application);
- if (application != null) {
- List modules = application.getLooseArchives();
- // System.out.println(getClass().getName() + ".findLooseApplication():
- // looseApplication contains " + modules.size() + " modules.");
- for (int i = 0; i < modules.size(); i++)
- // System.out.println(getClass().getName() + ".findLooseApplication():
- // modules.get("+i+"):"+ modules.get(i));
- getLooseConfiguration().getApplications().add(application);
- return application;
- }
- }
- return null;
- }
-
- /**
- * @param earFileURI
- * The containing EAR -- the absolute file system URI will be determined
- * automatically
- * @param looseApplicationResource
- * The absolute file system URI of a document containing a LooseApplication as its
- * root
- */
- public void addLooseMapping(Container container, String looseApplicationResource) {
- if (container != null)
- addLooseMapping(ArchiveUtil.getOSUri(container.getURI()), looseApplicationResource);
- }
-
- /**
- * @param earFileURI
- * The absolute file system URI of the EAR file of the given mapping
- * @param looseApplicationResource
- * The absolute file system URI of a document containing a LooseApplication as its
- * root
- */
- public void addLooseMapping(String earFileURI, String looseApplicationResource) {
- if (earFileURI != null) {
- // System.out.println(getClass().getName() + ".addLooseMapping(String
- // earFileURI=\""+earFileURI+"\", String
- // looseApplicationResource=\""+looseApplicationResource+"\")");
- if (getLooseEarMap().containsKey(earFileURI)) {
- // System.out.println(getClass().getName() + ".addLooseMapping(): Found existing key
- // with same earFileURI, looking for loaded app.");
- LooseApplication app = findLooseApplicationIfLoaded(earFileURI);
- // System.out.println(getClass().getName() + ".addLooseMapping(): Loaded app=" +
- // app);
- if (app != null) {
- Resource res = loadLooseApplicationResource(URI.createURI(looseApplicationResource));
- // System.out.println(getClass().getName() + ".addLooseMapping(): clearing
- // resource:" + res);
- res.unload();
- removeLooseApplication(app);
- }
- }
- getLooseEarMap().put(earFileURI, URI.createURI(looseApplicationResource));
- }
- }
-
- /**
- * @param earFileURI
- * @return
- */
- public LooseApplication findLooseApplicationIfLoaded(String earFileURI) {
- // System.out.println(getClass().getName() + ".findLooseApplicationIfLoaded(String
- // earFileURI=\""+earFileURI+"\")");
- if (getLooseConfiguration() != null) {
- List apps = getLooseConfiguration().getApplications();
- for (int i = 0; i < apps.size(); i++) {
- LooseApplication app = (LooseApplication) apps.get(i);
- // System.out.println(getClass().getName() + ".findLooseApplicationIfLoaded():
- // app["+i+"].getURI()=\""+app.getUri()+"\"" );
- if (app.getUri().equals(earFileURI))
- return app;
- }
- }
- return null;
- }
-
- /**
- * Allows adding LooseApplications dynmically.
- *
- * @param application
- * An application created and persisted by an external entity
- */
- public void addLooseApplication(LooseApplication application) {
- getLooseConfiguration().getApplications().add(application);
- }
-
- /**
- * Allows removing LooseApplications dynmically.
- *
- * @param application
- * An application created and persisted by an external entity
- */
- public void removeLooseApplication(LooseApplication application) {
- // System.out.println(getClass().getName() + ".removeLooseApplication(LooseApplication
- // application=\""+application+"\")");
- getLooseConfiguration().getApplications().remove(application);
- }
-
- /**
- * @param earFileURI
- * The absolute file system URI of the EAR file of the given mapping
- */
- public void removeLooseMapping(String earFileURI) {
- // System.out.println(getClass().getName() + ".removeLooseMapping(String
- // earFileURI=\""+earFileURI+"\")");
- if (earFileURI != null)
- getLooseEarMap().remove(earFileURI);
- }
-
- public LooseModule findLooseModule(LooseApplication app, String uri, String altDD) {
- List archives = app.getLooseArchives();
- for (int i = 0; i < archives.size(); i++) {
- LooseArchive element = (LooseArchive) archives.get(i);
- if (!element.isModule())
- continue;
-
- if (StringUtil.stringsEqual(uri, element.getUri()) && StringUtil.stringsEqual(altDD, ((LooseModule) element).getAltDD()))
- return (LooseModule) element;
- }
- return null;
- }
-
- public LooseModule findLooseModule(Module m, EARFile ear) {
- LooseApplication app = findLooseApplication(ear.getURI());
- return app == null ? null : findLooseModule(app, m.getUri(), m.getAltDD());
- }
-
- /**
- * Clears the loose configuration; the next time it is requested it will be reloaded;
- */
- public void flush() {
- loadAttempted = false;
- looseConfiguration = null;
- resourceSet = new ResourceSetImpl();
- }
-
- protected void initialize() {
- resourceSet = new ResourceSetImpl();
- }
-
- protected void loadLooseConfiguration() {
- Resource res = loadLooseConfigurationResource();
- if (res != null && !res.getContents().isEmpty())
- setLooseConfiguration((LooseConfiguration) res.getContents().get(0));
- else
- /*
- * if the document is empty then fluff up a LooseConfiguration object
- */
- setLooseConfiguration(LooseconfigFactory.eINSTANCE.createLooseConfiguration());
- loadAttempted = true;
- }
-
- protected Resource loadLooseConfigurationResource() {
- String uri = getDocumentURI();
- if (ArchiveUtil.isNullOrEmpty(uri))
- return null;
- try {
- return resourceSet.getResource(URI.createURI(uri), true);
- } catch (Exception ex) {
- throw new ArchiveRuntimeException("Exception occurred loading loose configuration", ex); //$NON-NLS-1$
- }
- }
-
- protected LooseApplication loadLooseApplication(URI looseAppURI) {
- Resource res = loadLooseApplicationResource(looseAppURI);
- if (res != null && !res.getContents().isEmpty())
- return (LooseApplication) res.getContents().get(0);
- return null;
- }
-
- protected Resource loadLooseApplicationResource(URI looseConfigURI) {
- if (looseConfigURI == null)
- return null;
- try {
- return resourceSet.getResource(looseConfigURI, true);
- } catch (Exception ex) {
- throw new ArchiveRuntimeException("Exception occurred loading loose application", ex); //$NON-NLS-1$
- }
- }
-
- /**
- * Gets the looseConfiguration. Basic accessor with no initialization
- *
- * @return Returns a LooseConfiguration
- */
- public LooseConfiguration primGetLooseConfiguration() {
- return looseConfiguration;
- }
-
- /** The value of the loose config property */
- protected String getDocumentURI() {
- return System.getProperty(LOOSE_CONFIG_PROPERTY);
- }
-
- /**
- * Gets the looseConfiguration. Tries to load it using the system property was.loose.config, if
- * necessary.
- *
- * @return Returns a LooseConfiguration or null
- */
- public LooseConfiguration getLooseConfiguration() {
- if (looseConfiguration == null && !loadAttempted)
- loadLooseConfiguration();
- return looseConfiguration;
- }
-
- /**
- * Assumption: the parameter must be a type that can have children, e.g., LooseWAR or
- * LooseApplication
- */
- public List getLooseChildren(LooseArchive loose) {
- if (loose != null) {
- if (loose.isEAR())
- return ((LooseApplication) loose).getLooseArchives();
- else if (loose.isWAR())
- return ((LooseWARFile) loose).getLooseLibs();
- }
- return Collections.EMPTY_LIST;
- }
-
- /**
- * Assumption: the parameter must be a type that can have children, e.g., LooseWAR or
- * LooseApplication
- */
- public LooseArchive findFirstLooseChild(String uri, LooseArchive loose) {
- List children = getLooseChildren(loose);
- for (int i = 0; i < children.size(); i++) {
- LooseArchive child = (LooseArchive) children.get(i);
- if (StringUtil.stringsEqual(uri, child.getUri()))
- return loose;
- }
- return null;
- }
-
- /**
- * Sets the looseConfiguration.
- *
- * @param looseConfiguration
- * The looseConfiguration to set
- */
- public void setLooseConfiguration(LooseConfiguration config) {
- looseConfiguration = config;
- }
-
- /**
- * Have we previously loaded or tried to load the loose configuration?
- *
- * @return Returns a boolean
- */
- public boolean getLoadAttempted() {
- return loadAttempted;
- }
-
- /**
- * @return Returns the looseEarMap.
- */
- public Map getLooseEarMap() {
- if (looseEarMap == null)
- looseEarMap = new HashMap();
- return looseEarMap;
- }
-}

Back to the top