org.symbian.tools.mtw.ui/src/org/symbian/tools/mtw/ui/ProjectMemo.java
changeset 461 7a8f9fa8d278
parent 460 c0bff5ed874c
child 462 cdc4995b1677
--- a/org.symbian.tools.mtw.ui/src/org/symbian/tools/mtw/ui/ProjectMemo.java	Thu Jul 29 15:59:01 2010 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,140 +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.ui;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.OutputStreamWriter;
-import java.io.Writer;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.XMLMemento;
-import org.symbian.tools.mtw.core.projects.IMTWProject;
-import org.symbian.tools.mtw.ui.deployment.IDeploymentTarget;
-import org.symbian.tools.mtw.ui.deployment.IDeploymentTargetType;
-
-public class ProjectMemo {
-    private static final String TARGET_TYPE = "typeId";
-    private static final String TARGET = "targetId";
-    private static final String TARGET_CONFIGURATION = "target";
-    private static final String MEMO_TYPE = "deployment";
-
-    private final IMTWProject project;
-    private XMLMemento memento;
-
-    public ProjectMemo(IMTWProject project) {
-        this.project = project;
-    }
-
-    public synchronized void setDeploymentTarget(String providerId, IDeploymentTarget target) {
-        try {
-            checkMemento();
-            memento.putString(TARGET_TYPE, providerId);
-            memento.putString(TARGET, target.getId());
-            IMemento child = null;
-            IMemento[] children = memento.getChildren(TARGET_CONFIGURATION);
-            for (IMemento memento : children) {
-                if (providerId.equals(memento.getString(TARGET_TYPE))
-                        && target.getId().equals(memento.getString(TARGET))) {
-                    child = memento;
-                }
-            }
-            if (child == null) {
-                child = memento.createChild(TARGET_CONFIGURATION);
-                child.putString(TARGET_TYPE, providerId);
-                child.putString(TARGET, target.getId());
-            }
-            target.save(child);
-            saveMemento();
-        } catch (CoreException e) {
-            MTWCoreUI.log(e);
-        } catch (IOException e) {
-            MTWCoreUI.log(e);
-        }
-    }
-
-    private void saveMemento() throws IOException, CoreException {
-        ByteArrayOutputStream os = new ByteArrayOutputStream();
-        final Writer writer = new OutputStreamWriter(os);
-        memento.save(writer);
-        writer.close();
-        final InputStream stream = new ByteArrayInputStream(os.toByteArray());
-        IFile file = getMemoFile();
-        if (file.exists()) {
-            file.setContents(stream, IFile.KEEP_HISTORY, null);
-        } else {
-            file.create(stream, false, null);
-        }
-    }
-
-    private IFile getMemoFile() {
-        return project.getProject().getFile(new Path(".settings").append(MTWCoreUI.PLUGIN_ID).addFileExtension("xml"));
-    }
-
-    private void checkMemento() throws CoreException, IOException {
-        IFile memoFile = getMemoFile();
-        if (memoFile.exists()) {
-            memento = XMLMemento.createReadRoot(new InputStreamReader(memoFile.getContents(), memoFile.getCharset()));
-        } else {
-            memento = XMLMemento.createWriteRoot(MEMO_TYPE);
-        }
-    }
-
-    public IDeploymentTarget getPreviousDeploymentTarget() {
-        try {
-            checkMemento();
-            String type = memento.getString(TARGET_TYPE);
-            if (type != null) {
-                final IDeploymentTargetType provider = MTWCoreUI.getDefault().getDeploymentTypesRegistry()
-                        .getType(type);
-                if (provider != null) {
-                    IDeploymentTarget target = provider.findTarget(project, memento.getString(TARGET));
-                    if (target != null) {
-                        return target;
-                    }
-                }
-            }
-        } catch (CoreException e) {
-            MTWCoreUI.log(e);
-        } catch (IOException e) {
-            MTWCoreUI.log(e);
-        }
-        return null;
-    }
-
-    public IMemento getMemo(String targetType, IDeploymentTarget target) {
-        if (memento != null) {
-            IMemento[] children = memento.getChildren(TARGET_CONFIGURATION);
-            for (IMemento memento : children) {
-                if (targetType.equals(memento.getString(TARGET_TYPE))
-                        && target.getId().equals(memento.getString(TARGET))) {
-                    return memento;
-                }
-            }
-        }
-        return null;
-    }
-
-}