org.symbian.tools.mtw.core/src/org/symbian/tools/mtw/core/internal/runtimes/RuntimesManagerImpl.java
changeset 461 7a8f9fa8d278
parent 460 c0bff5ed874c
child 462 cdc4995b1677
--- a/org.symbian.tools.mtw.core/src/org/symbian/tools/mtw/core/internal/runtimes/RuntimesManagerImpl.java	Thu Jul 29 15:59:01 2010 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,101 +0,0 @@
-/**
- * Copyright (c) 2010 Symbian Foundation and/or its subsidiary(-ies).
- * All rights reserved.
- * This component and the accompanying materials are made available
- * under the terms of the License "Eclipse Public License v1.0"
- * which accompanies this distribution, and is available
- * at the URL "http://www.eclipse.org/legal/epl-v10.html".
- *
- * Initial Contributors:
- * Symbian Foundation - initial contribution.
- * Contributors:
- * Description:
- * Overview:
- * Details:
- * Platforms/Drives/Compatibility:
- * Assumptions/Requirement/Pre-requisites:
- * Failures and causes:
- */
-package org.symbian.tools.mtw.core.internal.runtimes;
-
-import java.util.HashMap;
-import java.util.Map;
-import java.util.TreeMap;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.Platform;
-import org.symbian.tools.mtw.core.MTWCore;
-import org.symbian.tools.mtw.core.projects.IMTWProject;
-import org.symbian.tools.mtw.core.runtimes.IMobileWebRuntime;
-import org.symbian.tools.mtw.core.runtimes.IMobileWebRuntimeManager;
-import org.symbian.tools.mtw.core.runtimes.IPackager;
-
-public final class RuntimesManagerImpl implements IMobileWebRuntimeManager {
-    private final Map<String, IMobileWebRuntime> runtimes = new TreeMap<String, IMobileWebRuntime>();
-    private final Map<IMobileWebRuntime, Map<IMobileWebRuntime, IPackager>> packagers = new HashMap<IMobileWebRuntime, Map<IMobileWebRuntime, IPackager>>();
-
-    public RuntimesManagerImpl() {
-        collectRuntimes();
-        collectPackagers();
-    }
-
-    private void collectPackagers() {
-        IConfigurationElement[] elements = Platform.getExtensionRegistry().getConfigurationElementsFor(
-                MTWCore.PLUGIN_ID, "packagers");
-        for (IConfigurationElement element : elements) {
-            final String target = element.getAttribute("targetRuntime");
-            final IMobileWebRuntime targetRuntime = getRuntime(target);
-            if (targetRuntime == null) {
-                MTWCore.log("Runtime %s referenced from plugin %s was not found", target, element
-                        .getDeclaringExtension().getNamespaceIdentifier());
-                break;
-            }
-
-            final String source = element.getAttribute("sourceRuntime");
-            IMobileWebRuntime sourceRuntime;
-            if (source == null) {
-                sourceRuntime = targetRuntime;
-            } else {
-                sourceRuntime = getRuntime(source);
-                if (sourceRuntime == null) {
-                    MTWCore.log("Runtime %s referenced from plugin %s was not found", source, element
-                            .getDeclaringExtension().getNamespaceIdentifier());
-                    break;
-                }
-            }
-            IPackager packager = new LazyPackager(element);
-            Map<IMobileWebRuntime, IPackager> map = packagers.get(targetRuntime);
-            if (map == null) {
-                map = new HashMap<IMobileWebRuntime, IPackager>();
-                packagers.put(targetRuntime, map);
-            }
-            map.put(sourceRuntime, packager);
-        }
-    }
-
-    private void collectRuntimes() {
-        IConfigurationElement[] elements = Platform.getExtensionRegistry().getConfigurationElementsFor(
-                MTWCore.PLUGIN_ID, "runtimes");
-        for (IConfigurationElement element : elements) {
-            final MobileWebRuntime runtime = new MobileWebRuntime(element);
-            runtimes.put(runtime.getId(), runtime);
-        }
-    }
-
-    public IPackager getPackager(IMTWProject project) {
-        return getPackager(project, project.getTargetRuntime());
-    }
-
-    public IPackager getPackager(IMTWProject project, IMobileWebRuntime runtime) {
-        final Map<IMobileWebRuntime, IPackager> map = packagers.get(runtime);
-        if (map != null) {
-            return map.get(project.getTargetRuntime());
-        }
-        return null;
-    }
-
-    public IMobileWebRuntime getRuntime(String id) {
-        return runtimes.get(id);
-    }
-
-}