SNIPPET : Refactoring snippet 16/18616/1
authorjeonghwan kim <jeonghwan0613.kim@samsung.com>
Thu, 27 Mar 2014 07:22:53 +0000 (16:22 +0900)
committerjeonghwan kim <jeonghwan0613.kim@samsung.com>
Thu, 27 Mar 2014 07:22:53 +0000 (16:22 +0900)
Change-Id: I287d1fe1f7bf16b00d68a5d487c0282376704af6
Signed-off-by: jeonghwan kim <jeonghwan0613.kim@samsung.com>
12 files changed:
org.tizen.webuibuilder/src/org/tizen/webuibuilder/builder/WebUIBuilderBuilder.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/pagetemplate/manager/TemplateManager.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/pagetemplate/model/ITemplateGroup.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/pagetemplate/model/TemplateGroup.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/pagetemplate/ui/wizard/policy/CreatePolicy.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/pagetemplate/ui/wizards/CreateWizard.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/pagetemplate/ui/wizards/TemplateComposite.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/snippet/loader/DescriptorLoader.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/snippet/manager/ISnippetManager.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/snippet/manager/SnippetManager.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/snippet/ui/wizards/policy/CreatePolicy.java
org.tizen.webuibuilder/src/org/tizen/webuibuilder/utility/PageManager.java

index 6063137..28aedc3 100644 (file)
@@ -38,6 +38,8 @@ import org.eclipse.core.runtime.IProgressMonitor;
 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;
@@ -56,6 +58,7 @@ public class WebUIBuilderBuilder extends IncrementalProjectBuilder {
     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;
@@ -393,7 +396,7 @@ public class WebUIBuilderBuilder extends IncrementalProjectBuilder {
                 // build(project);
                 break;
             default:
-                throw new CoreException(null);
+                break;
         }
         project.refreshLocal(IResource.DEPTH_INFINITE, null);
 
index f9c33ba..2782b35 100644 (file)
@@ -57,7 +57,7 @@ public class TemplateManager implements ITemplateManager {
     private String getTemplatePath(ITemplateGroup group, ITemplate template) {
         String path =
                 getDefaultPath() + File.separator + group.getName() + File.separator
-                        + template.getName();
+                        + template.getId() + "." + template.getName();
         return path;
     }
 
@@ -116,6 +116,7 @@ public class TemplateManager implements ITemplateManager {
         if (!loader.save(path)) {
             return false;
         }
+        templateGroups.add(group);
         return true;
     }
 
@@ -132,6 +133,7 @@ public class TemplateManager implements ITemplateManager {
         if (!FileUtil.recursiveDelete(file)) {
             return false;
         }
+        templateGroups.remove(group);
         return true;
     }
 
@@ -144,12 +146,18 @@ public class TemplateManager implements ITemplateManager {
      */
     @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;
     }
 
@@ -167,6 +175,7 @@ public class TemplateManager implements ITemplateManager {
         if (!FileUtil.recursiveDelete(file)) {
             return false;
         }
+        group.remove(template);
         return true;
     }
 
index 1d3754f..54bda8b 100644 (file)
 
 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);
index b764ce8..6bc815f 100644 (file)
 
 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>();
     }
 
     /*
@@ -64,7 +65,8 @@ public class TemplateGroup implements ITemplateGroup {
      */
     @Override
     public void add(ITemplate template) {
-        templates.add(template);
+        Integer key = Integer.parseInt(template.getId());
+        templates.put(key, template);
     }
 
     /*
@@ -75,7 +77,8 @@ public class TemplateGroup implements ITemplateGroup {
      */
     @Override
     public void remove(ITemplate template) {
-        templates.remove(template);
+        Integer key = Integer.parseInt(template.getId());
+        templates.remove(key);
     }
 
     /*
@@ -84,8 +87,22 @@ public class TemplateGroup implements ITemplateGroup {
      * @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
index efea2a4..77205b3 100644 (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;
@@ -43,7 +41,7 @@ import org.tizen.webuibuilder.utility.ResourceManager;
 
 
 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;
@@ -52,10 +50,10 @@ public class CreatePolicy implements IWizardPolicy {
         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;
@@ -83,7 +81,8 @@ public class CreatePolicy implements IWizardPolicy {
         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);
 
index c878ef9..296698c 100644 (file)
 
 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;
@@ -39,7 +37,7 @@ import org.tizen.webuibuilder.utility.ResourceManager;
 
 
 public class CreateWizard extends Wizard implements INewWizard {
-    private List<Part> parts;
+    private ISerializer model;
     private CreateWizardFirstPage firstPage;
     private DescriptorManager descriptorManager;
 
@@ -47,9 +45,9 @@ public class CreateWizard extends Wizard implements INewWizard {
         super();
     }
 
-    public CreateWizard(List<Part> parts, DescriptorManager descriptorManager) {
+    public CreateWizard(ISerializer model, DescriptorManager descriptorManager) {
         this();
-        this.parts = parts;
+        this.model = model;
         this.descriptorManager = descriptorManager;
     }
 
@@ -92,7 +90,7 @@ public class CreateWizard extends Wizard implements INewWizard {
         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);
index 518e327..c154c24 100644 (file)
@@ -23,6 +23,7 @@
 
 package org.tizen.webuibuilder.pagetemplate.ui.wizards;
 
+import java.util.Collection;
 import java.util.List;
 
 import org.eclipse.jface.viewers.ILabelProvider;
@@ -164,10 +165,7 @@ public class TemplateComposite extends Composite implements ISelectionProvider,
         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;
@@ -273,11 +271,11 @@ public class TemplateComposite extends Composite implements ISelectionProvider,
                     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)) {
index 4e9dd97..cf516ce 100644 (file)
@@ -74,7 +74,7 @@ public class DescriptorLoader implements IDescriptorLoader {
     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;
         }
index 8457281..09f7efb 100644 (file)
@@ -36,7 +36,7 @@ import org.tizen.webuibuilder.snippet.model.ISnippet;
  * @see SnippetManager
  */
 public interface ISnippetManager {
-    public Collection<?> getSnippets();
+    public Collection<ISnippet> getSnippets();
 
     public boolean create(ISnippet snippet);
 
index 09607b2..c7a80d0 100644 (file)
@@ -79,6 +79,8 @@ public class SnippetManager implements ISnippetManager {
         if (!snippetLoader.save(path)) {
             return false;
         }
+        Integer key = getKey(snippet);
+        snippets.put(key, snippet);
         return true;
     }
 
@@ -96,6 +98,8 @@ public class SnippetManager implements ISnippetManager {
         if (!FileUtil.recursiveDelete(file)) {
             return false;
         }
+        Integer key = getKey(snippet);
+        snippets.remove(key);
         return true;
     }
 
@@ -108,19 +112,20 @@ public class SnippetManager implements ISnippetManager {
      */
     @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;
@@ -209,7 +214,7 @@ public class SnippetManager implements ISnippetManager {
             }
 
             // 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;
@@ -219,10 +224,13 @@ public class SnippetManager implements ISnippetManager {
         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;
         }
index 543efc6..0965189 100644 (file)
@@ -44,12 +44,12 @@ public class CreatePolicy implements IWizardPolicy {
     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;
@@ -76,9 +76,9 @@ public class CreatePolicy implements IWizardPolicy {
         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));
index 83752e4..ce35e1e 100644 (file)
@@ -31,6 +31,7 @@ import org.eclipse.core.resources.IFile;
 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;
@@ -136,9 +137,7 @@ public class PageManager {
      * @return
      */
     public static PageFileData readPageFileData(IResource res) {
-        if (!isVaild(res)) {
-            return null;
-        }
+        Assert.isTrue(isVaild(res));
 
         ProjectManager projectManager = ProjectManager.getProjectManager(res.getProject());
         PageFileData pageFileData =
@@ -160,13 +159,11 @@ public class PageManager {
      * @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());
@@ -268,9 +265,7 @@ public class PageManager {
      * @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 =
@@ -296,9 +291,7 @@ public class PageManager {
      * @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();
@@ -309,8 +302,8 @@ public class PageManager {
         // If not imported file
         if (pageData == null) {
             pageData = createPageData(res);
-            if(pageData == null){
-               return;
+            if (pageData == null) {
+                return;
             }
         }
         appManager.addPage(pageData);
@@ -321,7 +314,7 @@ public class PageManager {
         if (jsFile != null) {
             ResourceManager.copy(BuilderMessages.NEWTEMPLATEFILE_JS, jsFile);
         }
-        
+
         IFile cssFile = getCssFile(res);
         if (cssFile != null) {
             ResourceManager.copy(BuilderMessages.NEWTEMPLATEFILE_CSS, cssFile);
@@ -330,9 +323,7 @@ public class PageManager {
     }
 
     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());
@@ -346,9 +337,7 @@ public class PageManager {
 
     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());
@@ -432,43 +421,33 @@ public class PageManager {
     }
 
     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());
     }
@@ -480,9 +459,7 @@ public class PageManager {
      * @return
      */
     public static IFile getAnimatorManagedJsFile(IResource res) {
-        if (!isVaild(res)) {
-            return null;
-        }
+        Assert.isTrue(isVaild(res));
 
         return res.getProject().getFile(getPageData(res).getAnimatorManagedJsPath());
     }
@@ -494,17 +471,13 @@ public class PageManager {
      * @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());