import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.QualifiedName;
import org.eclipse.ui.actions.WorkspaceModifyOperation;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.tizen.webuibuilder.BuilderConstants;
import org.tizen.webuibuilder.animator.AnimatorConstants;
import org.tizen.webuibuilder.model.PartFactory;
private static final String XSLT_PAGE_MANAGED_JS = "res/xslt/page_managed_js_ver0_0_2.xslt"; //$NON-NLS-1$
public static final String XSLT_PAGE_CSS = "res/xslt/page_managed_css_ver0_0_3.xslt"; //$NON-NLS-1$
public static final String XSLT_INDEX_MANAGED_JS = "res/xslt/index_managed_js_ver0_0_1.xslt"; //$NON-NLS-1$
+ private static Logger logger = LoggerFactory.getLogger(WebUIBuilderBuilder.class);
// org.eclipse.jst.pagedesigner.editors.HTMLEditor.MODE_SOURCE;
public static final int MODE_SOURCE = 3;
// build(project);
break;
default:
- throw new CoreException(null);
+ break;
}
project.refreshLocal(IResource.DEPTH_INFINITE, null);
private String getTemplatePath(ITemplateGroup group, ITemplate template) {
String path =
getDefaultPath() + File.separator + group.getName() + File.separator
- + template.getName();
+ + template.getId() + "." + template.getName();
return path;
}
if (!loader.save(path)) {
return false;
}
+ templateGroups.add(group);
return true;
}
if (!FileUtil.recursiveDelete(file)) {
return false;
}
+ templateGroups.remove(group);
return true;
}
*/
@Override
public boolean create(ITemplateGroup group, ITemplate template) {
+ // create id
+ String id = group.createId();
+ template.setId(id);
+
String path = getTemplatePath(group, template);
TemplateLoader loader = new TemplateLoader();
+ template.setId(id);
loader.template = template;
if (!loader.save(path)) {
return false;
}
+ group.add(template);
return true;
}
if (!FileUtil.recursiveDelete(file)) {
return false;
}
+ group.remove(template);
return true;
}
package org.tizen.webuibuilder.pagetemplate.model;
-import java.util.List;
+import java.util.Collection;
public interface ITemplateGroup {
+ public Collection<ITemplate> getTemplates();
+
+ public String createId();
+
public void setName(String name);
public String getName();
- public List<ITemplate> getTemplates();
-
public void add(ITemplate template);
public void remove(ITemplate template);
package org.tizen.webuibuilder.pagetemplate.model;
-import java.util.ArrayList;
-import java.util.List;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
public class TemplateGroup implements ITemplateGroup {
- private List<ITemplate> templates = null;
private String name = null;
+ private Map<Integer, ITemplate> templates = null;
public TemplateGroup() {
- templates = new ArrayList<ITemplate>();
+ templates = new HashMap<Integer, ITemplate>();
}
/*
*/
@Override
public void add(ITemplate template) {
- templates.add(template);
+ Integer key = Integer.parseInt(template.getId());
+ templates.put(key, template);
}
/*
*/
@Override
public void remove(ITemplate template) {
- templates.remove(template);
+ Integer key = Integer.parseInt(template.getId());
+ templates.remove(key);
}
/*
* @see org.tizen.webuibuilder.pagetemplate.model.ITemplateGroup#getTemplates()
*/
@Override
- public List<ITemplate> getTemplates() {
- return templates;
+ public Collection<ITemplate> getTemplates() {
+ return templates.values();
}
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.tizen.webuibuilder.pagetemplate.model.ITemplateGroup#createId()
+ */
+ @Override
+ public String createId() {
+ // initialize id
+ Integer id = Integer.valueOf(1);
+ while (templates.containsKey(id)) {
+ id = id + 1;
+ }
+ return id.toString();
+ }
}
\ No newline at end of file
package org.tizen.webuibuilder.pagetemplate.ui.wizard.policy;
-import java.util.List;
-
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.swt.graphics.Image;
import org.tizen.webuibuilder.BuilderConstants;
-import org.tizen.webuibuilder.model.Part;
+import org.tizen.webuibuilder.model.ISerializer;
import org.tizen.webuibuilder.model.descriptors.DescriptorManager;
import org.tizen.webuibuilder.pagetemplate.converter.Converter;
import org.tizen.webuibuilder.pagetemplate.manager.ITemplateManager;
public class CreatePolicy implements IWizardPolicy {
- private List<Part> parts = null;
+ private ISerializer model = null;
private ITemplateGroup group = null;
private String name = null;
private DescriptorManager descriptorManager = null;
super();
}
- public CreatePolicy(List<Part> parts, ITemplateGroup group, String name,
+ public CreatePolicy(ISerializer model, ITemplateGroup group, String name,
DescriptorManager descriptorManager) {
this();
- this.parts = parts;
+ this.model = model;
this.group = group;
this.name = name;
this.descriptorManager = descriptorManager;
template.setImageDescriptor(imageDescriptor);
IDescriptor descriptor = new Descriptor();
Converter converter = new Converter();
- String text = converter.convert(parts.get(0));
+// String text = converter.convert(model);
+ String text = "";
descriptor.setText(text);
template.setDescriptor(descriptor);
package org.tizen.webuibuilder.pagetemplate.ui.wizards;
-import java.util.List;
-
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.wizard.Wizard;
import org.eclipse.ui.INewWizard;
import org.eclipse.ui.IWorkbench;
-import org.tizen.webuibuilder.model.Part;
+import org.tizen.webuibuilder.model.ISerializer;
import org.tizen.webuibuilder.model.descriptors.DescriptorManager;
import org.tizen.webuibuilder.pagetemplate.model.ITemplateGroup;
import org.tizen.webuibuilder.pagetemplate.ui.wizard.policy.CreatePolicy;
public class CreateWizard extends Wizard implements INewWizard {
- private List<Part> parts;
+ private ISerializer model;
private CreateWizardFirstPage firstPage;
private DescriptorManager descriptorManager;
super();
}
- public CreateWizard(List<Part> parts, DescriptorManager descriptorManager) {
+ public CreateWizard(ISerializer model, DescriptorManager descriptorManager) {
this();
- this.parts = parts;
+ this.model = model;
this.descriptorManager = descriptorManager;
}
String name = firstPage.getTemplateName();
// create policy
- CreatePolicy createPolicy = new CreatePolicy(parts, group, name, descriptorManager);
+ CreatePolicy createPolicy = new CreatePolicy(model, group, name, descriptorManager);
// run processor
IWizardProcessor processor = new WizardProcessor();
processor.add(createPolicy);
package org.tizen.webuibuilder.pagetemplate.ui.wizards;
+import java.util.Collection;
import java.util.List;
import org.eclipse.jface.viewers.ILabelProvider;
public Object[] getElements(Object inputElement) {
Object element = fTemplateViewer.getInput();
if (element instanceof ITemplateGroup) {
- List<?> templates = ((ITemplateGroup) element).getTemplates();
- if (templates == null) {
- return null;
- }
+ Collection<?> templates = ((ITemplateGroup) element).getTemplates();
return templates.toArray();
}
return null;
ITemplateGroup templateGroup = (ITemplateGroup) object;
setTemplateGroup(templateGroup);
fTemplateViewer.setInput(templateGroup);
- List<?> templates = templateGroup.getTemplates();
- if (templates == null || templates.size() == 0) {
+ Collection<?> templates = templateGroup.getTemplates();
+ if (templates.size() == 0) {
return;
}
- fTemplateViewer.setSelection(new StructuredSelection(templates.get(0)));
+// fTemplateViewer.setSelection(new StructuredSelection(templates.);
}
}
} else if (e.getSource().equals(fTemplateViewer)) {
public boolean save(String path) {
String text = descriptor.getText();
try {
- FileUtil.writeTextFile(new File(path), text, null);
+ FileUtil.createTextFile(new File(path), text, null);
} catch (IOException e) {
return false;
}
* @see SnippetManager
*/
public interface ISnippetManager {
- public Collection<?> getSnippets();
+ public Collection<ISnippet> getSnippets();
public boolean create(ISnippet snippet);
if (!snippetLoader.save(path)) {
return false;
}
+ Integer key = getKey(snippet);
+ snippets.put(key, snippet);
return true;
}
if (!FileUtil.recursiveDelete(file)) {
return false;
}
+ Integer key = getKey(snippet);
+ snippets.remove(key);
return true;
}
*/
@Override
public boolean rename(ISnippet snippet, String name) {
- // Remove oldName
- if (!remove(snippet)) {
+ // exist in collection ?
+ Integer key = getKey(snippet);
+ ISnippet selectedSnippet = snippets.get(key);
+ if (selectedSnippet == null) {
+ return false;
+ }
+ // Remove old snippet
+ if (!remove(selectedSnippet)) {
return false;
}
-
// Rename
snippet.setName(name);
-
- // Save
- String path = getSnippetPath(snippet);
- SnippetLoader snippetLoader = new SnippetLoader();
- snippetLoader.snippet = snippet;
- if (!snippetLoader.save(path)) {
+ // Create new snippet
+ if (!create(snippet)) {
return false;
}
return true;
}
// snippet id consistency broken
- Integer key = Integer.parseInt(snippet.getId());
+ Integer key = getKey(snippet);
if (snippets.containsKey(key)) {
logger.warn("snippet id consistency broken");
return null;
return snippets;
}
+ protected Integer getKey(ISnippet snippet) {
+ return Integer.parseInt(snippet.getId());
+ }
+
protected String createId() {
// initialize id
Integer id = Integer.valueOf(1);
- logger.info("id : " + id);
while (snippets.containsKey(id)) {
id = id + 1;
}
private String description = null;
private String imagePath = null;
- @SuppressWarnings("unused")
private CreatePolicy() {
super();
}
public CreatePolicy(Object model, String name, String description, String imagePath) {
+ this();
this.model = model;
this.name = name;
this.description = description;
snippet.setImageDescriptor(imageDescriptor);
// Create Descriptor
IDescriptor descriptor = new Descriptor();
- if (!(model instanceof Part)) {
- return false;
- }
+// if (!(model instanceof Part)) {
+// return false;
+// }
// TODO : implementation Model -> String serialization
// Converter converter = new Converter();
// String text = converter.convert(parts.get(0));
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.swt.widgets.Display;
+import org.tizen.common.util.Assert;
import org.tizen.webuibuilder.BuilderConstants;
import org.tizen.webuibuilder.animator.AnimatorConstants;
import org.tizen.webuibuilder.animator.model.io.AnimatorFileWriter;
* @return
*/
public static PageFileData readPageFileData(IResource res) {
- if (!isVaild(res)) {
- return null;
- }
+ Assert.isTrue(isVaild(res));
ProjectManager projectManager = ProjectManager.getProjectManager(res.getProject());
PageFileData pageFileData =
* @return
*/
private static PageData createPageData(IResource res) {
- if (!isVaild(res)) {
- return null;
- }
+ Assert.isTrue(isVaild(res));
PageFileData pageFileData = readPageFileData(res);
- if(pageFileData == null) {
- return null;
+ if (pageFileData == null) {
+ return null;
}
Page page = createPage(pageFileData.getName(0));
ProjectManager projectManager = ProjectManager.getProjectManager(res.getProject());
* @throws IOException
*/
public static void create(IResource res, Page page) throws CoreException, IOException {
- if (!isVaild(res)) {
- return;
- }
+ Assert.isTrue(isVaild(res));
ProjectManager projectManager = ProjectManager.getProjectManager(res.getProject());
AppManagerForAppXML appManager =
* @throws IOException
*/
public static void add(IResource res) throws CoreException, IOException {
- if (!isVaild(res)) {
- return;
- }
+ Assert.isTrue(isVaild(res));
ProjectManager projectManager = ProjectManager.getProjectManager(res.getProject());
AppManager appManager = projectManager.getDefaultAppManager();
// If not imported file
if (pageData == null) {
pageData = createPageData(res);
- if(pageData == null){
- return;
+ if (pageData == null) {
+ return;
}
}
appManager.addPage(pageData);
if (jsFile != null) {
ResourceManager.copy(BuilderMessages.NEWTEMPLATEFILE_JS, jsFile);
}
-
+
IFile cssFile = getCssFile(res);
if (cssFile != null) {
ResourceManager.copy(BuilderMessages.NEWTEMPLATEFILE_CSS, cssFile);
}
public static void remove(IResource res, PageData pageData) throws CoreException, IOException {
- if (!isVaild(res)) {
- return;
- }
+ Assert.isTrue(isVaild(res));
WebUIBuilderBuilder.clean(res);
ProjectManager projectManager = ProjectManager.getProjectManager(res.getProject());
public static void remove(IResource res, PageData pageData, int style) throws CoreException,
IOException {
- if (!isVaild(res)) {
- return;
- }
+ Assert.isTrue(isVaild(res));
WebUIBuilderBuilder.clean(res, style);
ProjectManager projectManager = ProjectManager.getProjectManager(res.getProject());
}
public static IFile getHtmlFile(IResource res) {
- if (!isVaild(res)) {
- return null;
- }
+ Assert.isTrue(isVaild(res));
PageData pageData = getPageData(res);
return res.getProject().getFile(pageData.getHtmlPath());
}
public static IFile getManagedJsFile(IResource res) {
- if (!isVaild(res)) {
- return null;
- }
+ Assert.isTrue(isVaild(res));
PageData pageData = getPageData(res);
return res.getProject().getFile(pageData.getManagedJsPath());
}
public static IFile getJsFile(IResource res) {
- if (!isVaild(res)) {
- return null;
- }
+ Assert.isTrue(isVaild(res));
return res.getProject().getFile(getPageData(res).getJsPath());
}
public static IFile getCssFile(IResource res) {
- if (!isVaild(res)) {
- return null;
- }
+ Assert.isTrue(isVaild(res));
return res.getProject().getFile(getPageData(res).getCssPath());
}
public static IFile getManagedCssFile(IResource res) {
- if (!isVaild(res)) {
- return null;
- }
+ Assert.isTrue(isVaild(res));
return res.getProject().getFile(getPageData(res).getManagedCssPath());
}
* @return
*/
public static IFile getAnimatorManagedJsFile(IResource res) {
- if (!isVaild(res)) {
- return null;
- }
+ Assert.isTrue(isVaild(res));
return res.getProject().getFile(getPageData(res).getAnimatorManagedJsPath());
}
* @return
*/
public static IFile getAnimatorManagedCssFile(IResource res) {
- if (!isVaild(res)) {
- return null;
- }
+ Assert.isTrue(isVaild(res));
return res.getProject().getFile(getPageData(res).getAnimatorManagedCssPath());
}
public static PageData getPageData(IResource res) {
- if (!isVaild(res)) {
- return null;
- }
+ Assert.isTrue(isVaild(res));
String pageFilePath = res.getProjectRelativePath().toString();
ProjectManager projectManager = ProjectManager.getProjectManager(res.getProject());