author | Eugene Ostroukhov <eugeneo@symbian.org> |
Thu, 04 Nov 2010 15:22:02 -0700 | |
changeset 495 | 0008ebdc0ec0 |
parent 478 | 6c07c755d0c7 |
permissions | -rw-r--r-- |
461
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
1 |
/** |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
2 |
* Copyright (c) 2010 Symbian Foundation and/or its subsidiary(-ies). |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
3 |
* All rights reserved. |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
4 |
* This component and the accompanying materials are made available |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
5 |
* under the terms of the License "Eclipse Public License v1.0" |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
6 |
* which accompanies this distribution, and is available |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
7 |
* at the URL "http://www.eclipse.org/legal/epl-v10.html". |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
8 |
* |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
9 |
* Initial Contributors: |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
10 |
* Symbian Foundation - initial contribution. |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
11 |
* Contributors: |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
12 |
* Description: |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
13 |
* Overview: |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
14 |
* Details: |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
15 |
* Platforms/Drives/Compatibility: |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
16 |
* Assumptions/Requirement/Pre-requisites: |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
17 |
* Failures and causes: |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
18 |
*/ |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
19 |
package org.symbian.tools.tmw.ui; |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
20 |
|
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
21 |
import java.io.ByteArrayInputStream; |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
22 |
import java.io.ByteArrayOutputStream; |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
23 |
import java.io.IOException; |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
24 |
import java.io.InputStream; |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
25 |
import java.io.InputStreamReader; |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
26 |
import java.io.OutputStreamWriter; |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
27 |
import java.io.Writer; |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
28 |
|
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
29 |
import org.eclipse.core.resources.IFile; |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
30 |
import org.eclipse.core.runtime.CoreException; |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
31 |
import org.eclipse.core.runtime.Path; |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
32 |
import org.eclipse.ui.IMemento; |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
33 |
import org.eclipse.ui.XMLMemento; |
478
6c07c755d0c7
PhoneGap template will use proper screen size
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
470
diff
changeset
|
34 |
import org.symbian.tools.tmw.core.TMWCore; |
468
a05c6e5cc7d9
Previewer now is TMWed (can support projects with different natures). Note: this commit does not compile. This previewer still only supports WRT libraries
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
461
diff
changeset
|
35 |
import org.symbian.tools.tmw.core.projects.ITMWProject; |
461
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
36 |
import org.symbian.tools.tmw.ui.deployment.IDeploymentTarget; |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
37 |
import org.symbian.tools.tmw.ui.deployment.IDeploymentTargetType; |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
38 |
|
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
39 |
public class ProjectMemo { |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
40 |
private static final String TARGET_TYPE = "typeId"; |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
41 |
private static final String TARGET = "targetId"; |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
42 |
private static final String TARGET_CONFIGURATION = "target"; |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
43 |
private static final String MEMO_TYPE = "deployment"; |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
44 |
|
468
a05c6e5cc7d9
Previewer now is TMWed (can support projects with different natures). Note: this commit does not compile. This previewer still only supports WRT libraries
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
461
diff
changeset
|
45 |
private final ITMWProject project; |
461
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
46 |
private XMLMemento memento; |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
47 |
|
468
a05c6e5cc7d9
Previewer now is TMWed (can support projects with different natures). Note: this commit does not compile. This previewer still only supports WRT libraries
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
461
diff
changeset
|
48 |
public ProjectMemo(ITMWProject project) { |
461
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
49 |
this.project = project; |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
50 |
} |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
51 |
|
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
52 |
public synchronized void setDeploymentTarget(String providerId, IDeploymentTarget target) { |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
53 |
try { |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
54 |
checkMemento(); |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
55 |
memento.putString(TARGET_TYPE, providerId); |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
56 |
memento.putString(TARGET, target.getId()); |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
57 |
IMemento child = null; |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
58 |
IMemento[] children = memento.getChildren(TARGET_CONFIGURATION); |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
59 |
for (IMemento memento : children) { |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
60 |
if (providerId.equals(memento.getString(TARGET_TYPE)) |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
61 |
&& target.getId().equals(memento.getString(TARGET))) { |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
62 |
child = memento; |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
63 |
} |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
64 |
} |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
65 |
if (child == null) { |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
66 |
child = memento.createChild(TARGET_CONFIGURATION); |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
67 |
child.putString(TARGET_TYPE, providerId); |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
68 |
child.putString(TARGET, target.getId()); |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
69 |
} |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
70 |
target.save(child); |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
71 |
saveMemento(); |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
72 |
} catch (CoreException e) { |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
73 |
TMWCoreUI.log(e); |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
74 |
} catch (IOException e) { |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
75 |
TMWCoreUI.log(e); |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
76 |
} |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
77 |
} |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
78 |
|
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
79 |
private void saveMemento() throws IOException, CoreException { |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
80 |
ByteArrayOutputStream os = new ByteArrayOutputStream(); |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
81 |
final Writer writer = new OutputStreamWriter(os); |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
82 |
memento.save(writer); |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
83 |
writer.close(); |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
84 |
final InputStream stream = new ByteArrayInputStream(os.toByteArray()); |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
85 |
IFile file = getMemoFile(); |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
86 |
if (file.exists()) { |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
87 |
file.setContents(stream, IFile.KEEP_HISTORY, null); |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
88 |
} else { |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
89 |
file.create(stream, false, null); |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
90 |
} |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
91 |
} |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
92 |
|
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
93 |
private IFile getMemoFile() { |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
94 |
return project.getProject().getFile(new Path(".settings").append(TMWCoreUI.PLUGIN_ID).addFileExtension("xml")); |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
95 |
} |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
96 |
|
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
97 |
private void checkMemento() throws CoreException, IOException { |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
98 |
IFile memoFile = getMemoFile(); |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
99 |
if (memoFile.exists()) { |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
100 |
memento = XMLMemento.createReadRoot(new InputStreamReader(memoFile.getContents(), memoFile.getCharset())); |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
101 |
} else { |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
102 |
memento = XMLMemento.createWriteRoot(MEMO_TYPE); |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
103 |
} |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
104 |
} |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
105 |
|
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
106 |
public IDeploymentTarget getPreviousDeploymentTarget() { |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
107 |
try { |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
108 |
checkMemento(); |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
109 |
String type = memento.getString(TARGET_TYPE); |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
110 |
if (type != null) { |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
111 |
final IDeploymentTargetType provider = TMWCoreUI.getDefault().getDeploymentTypesRegistry() |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
112 |
.getType(type); |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
113 |
if (provider != null) { |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
114 |
IDeploymentTarget target = provider.findTarget(project, memento.getString(TARGET)); |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
115 |
if (target != null) { |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
116 |
return target; |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
117 |
} |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
118 |
} |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
119 |
} |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
120 |
} catch (CoreException e) { |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
121 |
TMWCoreUI.log(e); |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
122 |
} catch (IOException e) { |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
123 |
TMWCoreUI.log(e); |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
124 |
} |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
125 |
return null; |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
126 |
} |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
127 |
|
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
128 |
public IMemento getMemo(String targetType, IDeploymentTarget target) { |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
129 |
if (memento != null) { |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
130 |
IMemento[] children = memento.getChildren(TARGET_CONFIGURATION); |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
131 |
for (IMemento memento : children) { |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
132 |
if (targetType.equals(memento.getString(TARGET_TYPE)) |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
133 |
&& target.getId().equals(memento.getString(TARGET))) { |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
134 |
return memento; |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
135 |
} |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
136 |
} |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
137 |
} |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
138 |
return null; |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
139 |
} |
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
140 |
|
478
6c07c755d0c7
PhoneGap template will use proper screen size
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
470
diff
changeset
|
141 |
public void setAttribute(String name, String value) { |
6c07c755d0c7
PhoneGap template will use proper screen size
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
470
diff
changeset
|
142 |
try { |
6c07c755d0c7
PhoneGap template will use proper screen size
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
470
diff
changeset
|
143 |
checkMemento(); |
6c07c755d0c7
PhoneGap template will use proper screen size
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
470
diff
changeset
|
144 |
memento.putString(name, value); |
6c07c755d0c7
PhoneGap template will use proper screen size
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
470
diff
changeset
|
145 |
saveMemento(); |
6c07c755d0c7
PhoneGap template will use proper screen size
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
470
diff
changeset
|
146 |
} catch (CoreException e) { |
6c07c755d0c7
PhoneGap template will use proper screen size
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
470
diff
changeset
|
147 |
TMWCoreUI.log(e); |
6c07c755d0c7
PhoneGap template will use proper screen size
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
470
diff
changeset
|
148 |
} catch (IOException e) { |
6c07c755d0c7
PhoneGap template will use proper screen size
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
470
diff
changeset
|
149 |
TMWCoreUI.log(e); |
6c07c755d0c7
PhoneGap template will use proper screen size
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
470
diff
changeset
|
150 |
} |
6c07c755d0c7
PhoneGap template will use proper screen size
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
470
diff
changeset
|
151 |
} |
6c07c755d0c7
PhoneGap template will use proper screen size
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
470
diff
changeset
|
152 |
|
6c07c755d0c7
PhoneGap template will use proper screen size
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
470
diff
changeset
|
153 |
public String getAttribute(String name) { |
6c07c755d0c7
PhoneGap template will use proper screen size
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
470
diff
changeset
|
154 |
try { |
6c07c755d0c7
PhoneGap template will use proper screen size
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
470
diff
changeset
|
155 |
checkMemento(); |
6c07c755d0c7
PhoneGap template will use proper screen size
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
470
diff
changeset
|
156 |
} catch (CoreException e) { |
6c07c755d0c7
PhoneGap template will use proper screen size
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
470
diff
changeset
|
157 |
TMWCore.log(null, e); |
6c07c755d0c7
PhoneGap template will use proper screen size
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
470
diff
changeset
|
158 |
} catch (IOException e) { |
6c07c755d0c7
PhoneGap template will use proper screen size
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
470
diff
changeset
|
159 |
TMWCore.log(null, e); |
6c07c755d0c7
PhoneGap template will use proper screen size
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
470
diff
changeset
|
160 |
} |
6c07c755d0c7
PhoneGap template will use proper screen size
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
470
diff
changeset
|
161 |
if (memento != null) { |
6c07c755d0c7
PhoneGap template will use proper screen size
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
470
diff
changeset
|
162 |
return memento.getString(name); |
6c07c755d0c7
PhoneGap template will use proper screen size
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
470
diff
changeset
|
163 |
} |
6c07c755d0c7
PhoneGap template will use proper screen size
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
470
diff
changeset
|
164 |
return null; |
6c07c755d0c7
PhoneGap template will use proper screen size
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
470
diff
changeset
|
165 |
} |
6c07c755d0c7
PhoneGap template will use proper screen size
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
470
diff
changeset
|
166 |
|
461
7a8f9fa8d278
Project model introduction and JSDT classpath support
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff
changeset
|
167 |
} |