RTSDK : Remove unnecessary cr(\r) characters
authordaeryong.park <bdragon.park@samsung.com>
Mon, 3 Apr 2017 04:44:49 +0000 (13:44 +0900)
committerdaeryong.park <bdragon.park@samsung.com>
Mon, 3 Apr 2017 04:44:49 +0000 (13:44 +0900)
- Remove cr(\r) characters

Change-Id: Iac3f4412c22fed572218e53ae9bf871c5a2b0f51
Signed-off-by: daeryong.park <bdragon.park@samsung.com>
rt-ide/tizen.rt.product.plugin/src/org/tizen/rt/ide/Messages.java
rt-ide/tizen.rt.product.plugin/src/org/tizen/rt/ide/build/RtosBuildDialogPage.java
rt-ide/tizen.rt.product.plugin/src/org/tizen/rt/ide/build/RtosBuildWizard.java
rt-ide/tizen.rt.product.plugin/src/org/tizen/rt/ide/wizards/NewRtAppWizard.java

index 46bef9a..8894894 100644 (file)
@@ -1,80 +1,80 @@
-/**\r
- * Common\r
- *\r
- * @since 2017. 2. 7.\r
- *\r
- * Copyright (c) 2000 - 2015 Samsung Electronics Co., Ltd. All rights reserved.\r
- *\r
- * Contact:\r
- * Daeryong Park <bdragon.park@samsung.com>\r
- *\r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- *\r
- * Contributors:\r
- * - S-Core Co., Ltd\r
- *\r
- */\r
-\r
-package org.tizen.rt.ide;\r
-\r
-import org.eclipse.osgi.util.NLS;\r
-\r
-public class Messages extends NLS {\r
-    private static final String BUNDLE_NAME = "org.tizen.rt.ide.messages"; //$NON-NLS-1$\r
-\r
-    public static String NewArtikProjectWizard_CreateOperationLabel;\r
-    public static String NewArtikProjectWizard_WindowTitle;\r
-\r
-    public static String NewArtikProjectWizardPage_Description;\r
-    public static String NewArtikProjectWizardPage_Title;\r
-\r
-    public static String NewArtikProjectWizardPage2_Description;\r
-    public static String NewArtikProjectWizardPage2_Title;\r
-    public static String NewArtikProjectWizardPage2_LabelBoard;\r
-    public static String NewArtikProjectWizardPage2_LabelBoardName;\r
-    public static String NewArtikProjectWizardPage2_NameColumn;\r
-\r
-    public static String RtosBuildDialogPage_BoardNameColumn;\r
-    public static String RtosBuildDialogPage_Description;\r
-    public static String RtosBuildDialogPage_KconfigErrorMessage;\r
-    public static String RtosBuildDialogPage_KernelConfigButtonText;\r
-    public static String RtosBuildDialogPage_OptionNameColumn;\r
-    public static String RtosBuildDialogPage_Title;\r
-    public static String RtosBuildDialogPage_ToolchainButtonText;\r
-    public static String RtosBuildDialogPage_ToolchainDialogMessage;\r
-\r
-    public static String RtosBuildWizard_WindowTitle;\r
-\r
-    public static String RtosFlashDialogPage_Description;\r
-    public static String RtosFlashDialogPage_OptionNameColumn;\r
-    public static String RtosFlashDialogPage_Title;\r
-\r
-    public static String RtosFlashWizard_WindowTitle;\r
-\r
-    public static String FlashHandler_NotFoundBuildInfo;\r
-\r
-    public static String LaunchShortcut_NotFoundBuildInfo;\r
-    public static String RtosBuildDialogPage_text_text;\r
-    public static String RtosBuildDialogPage_lblNewLabel_text;\r
-    public static String RtosBuildDialogPage_clearToolchainBtn_text;\r
-\r
-    public static String RtosNewRtAppWizard_WindowTitle;\r
-\r
-    static {\r
-        // initialize resource bundle\r
-        NLS.initializeMessages(BUNDLE_NAME, Messages.class);\r
-    }\r
-\r
-    private Messages() {\r
-    }\r
-}\r
+/**
+ * Common
+ *
+ * @since 2017. 2. 7.
+ *
+ * Copyright (c) 2000 - 2015 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * Contact:
+ * Daeryong Park <bdragon.park@samsung.com>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Contributors:
+ * - S-Core Co., Ltd
+ *
+ */
+
+package org.tizen.rt.ide;
+
+import org.eclipse.osgi.util.NLS;
+
+public class Messages extends NLS {
+    private static final String BUNDLE_NAME = "org.tizen.rt.ide.messages"; //$NON-NLS-1$
+
+    public static String NewArtikProjectWizard_CreateOperationLabel;
+    public static String NewArtikProjectWizard_WindowTitle;
+
+    public static String NewArtikProjectWizardPage_Description;
+    public static String NewArtikProjectWizardPage_Title;
+
+    public static String NewArtikProjectWizardPage2_Description;
+    public static String NewArtikProjectWizardPage2_Title;
+    public static String NewArtikProjectWizardPage2_LabelBoard;
+    public static String NewArtikProjectWizardPage2_LabelBoardName;
+    public static String NewArtikProjectWizardPage2_NameColumn;
+
+    public static String RtosBuildDialogPage_BoardNameColumn;
+    public static String RtosBuildDialogPage_Description;
+    public static String RtosBuildDialogPage_KconfigErrorMessage;
+    public static String RtosBuildDialogPage_KernelConfigButtonText;
+    public static String RtosBuildDialogPage_OptionNameColumn;
+    public static String RtosBuildDialogPage_Title;
+    public static String RtosBuildDialogPage_ToolchainButtonText;
+    public static String RtosBuildDialogPage_ToolchainDialogMessage;
+
+    public static String RtosBuildWizard_WindowTitle;
+
+    public static String RtosFlashDialogPage_Description;
+    public static String RtosFlashDialogPage_OptionNameColumn;
+    public static String RtosFlashDialogPage_Title;
+
+    public static String RtosFlashWizard_WindowTitle;
+
+    public static String FlashHandler_NotFoundBuildInfo;
+
+    public static String LaunchShortcut_NotFoundBuildInfo;
+    public static String RtosBuildDialogPage_text_text;
+    public static String RtosBuildDialogPage_lblNewLabel_text;
+    public static String RtosBuildDialogPage_clearToolchainBtn_text;
+
+    public static String RtosNewRtAppWizard_WindowTitle;
+
+    static {
+        // initialize resource bundle
+        NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+    }
+
+    private Messages() {
+    }
+}
index 431340f..65967f7 100644 (file)
-/*\r
-*  Common\r
-*\r
-* Copyright (c) 2000 - 2015 Samsung Electronics Co., Ltd. All rights reserved.\r
-*\r
-* Contact:\r
-* Jaemin Kim <jm.jemin.kim@samsung.com>\r
-* Gyeongmin Ju <gyeongmin.ju@samsung.com>\r
-* Daeryong Park <bdragon.park@samsung.com>\r
-* HyeongSeok Heo <harry.heo@samsung.com>\r
-*\r
-* Licensed under the Apache License, Version 2.0 (the "License");\r
-* you may not use this file except in compliance with the License.\r
-* You may obtain a copy of the License at\r
-*\r
-* http://www.apache.org/licenses/LICENSE-2.0\r
-*\r
-* Unless required by applicable law or agreed to in writing, software\r
-* distributed under the License is distributed on an "AS IS" BASIS,\r
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
-* See the License for the specific language governing permissions and\r
-* limitations under the License.\r
-*\r
-* Contributors:\r
-* - S-Core Co., Ltd\r
-*\r
-*/\r
-\r
-package org.tizen.rt.ide.build;\r
-\r
-import java.io.File;\r
-import java.io.IOException;\r
-import java.util.List;\r
-\r
-import org.eclipse.jface.dialogs.MessageDialog;\r
-import org.eclipse.jface.viewers.ArrayContentProvider;\r
-import org.eclipse.jface.viewers.DoubleClickEvent;\r
-import org.eclipse.jface.viewers.IDoubleClickListener;\r
-import org.eclipse.jface.viewers.ISelectionChangedListener;\r
-import org.eclipse.jface.viewers.IStructuredSelection;\r
-import org.eclipse.jface.viewers.ITableLabelProvider;\r
-import org.eclipse.jface.viewers.LabelProvider;\r
-import org.eclipse.jface.viewers.SelectionChangedEvent;\r
-import org.eclipse.jface.viewers.TableViewer;\r
-import org.eclipse.jface.wizard.WizardPage;\r
-import org.eclipse.swt.SWT;\r
-import org.eclipse.swt.browser.Browser;\r
-import org.eclipse.swt.events.SelectionAdapter;\r
-import org.eclipse.swt.events.SelectionEvent;\r
-import org.eclipse.swt.events.SelectionListener;\r
-import org.eclipse.swt.graphics.Image;\r
-import org.eclipse.swt.layout.GridData;\r
-import org.eclipse.swt.layout.GridLayout;\r
-import org.eclipse.swt.layout.RowLayout;\r
-import org.eclipse.swt.widgets.Button;\r
-import org.eclipse.swt.widgets.Composite;\r
-import org.eclipse.swt.widgets.DirectoryDialog;\r
-import org.eclipse.swt.widgets.Display;\r
-import org.eclipse.swt.widgets.Label;\r
-import org.eclipse.swt.widgets.Shell;\r
-import org.eclipse.swt.widgets.Table;\r
-import org.eclipse.swt.widgets.TableColumn;\r
-import org.eclipse.swt.widgets.Text;\r
-import org.tizen.rt.ide.Messages;\r
-import org.tizen.rt.ide.RtosCommandManager;\r
-import org.tizen.rt.ide.util.ResourceUtil;\r
-\r
-/**\r
- * DeviceGuideDialogPage Select Emulator Wizard Feature\r
- * @author jm.jaemin.kim{@literal <jm.jaemin.kim>} (S-Core)\r
- */\r
-public class RtosBuildDialogPage extends WizardPage {\r
-\r
-    public final static String DEFAULT_DESC_FILE = "index.html"; //$NON-NLS-1$\r
-    public final static String DEFAULT_DESC_HTML_FORMAT = "<html><body><h2>%s</h2>App : %s</body></html>"; //$NON-NLS-1$\r
-    public final static String[] KERNEL_CONFIG_CMD = new String[] { "gnome-terminal", "--command", "make menuconfig" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$\r
-\r
-    private Shell shell;\r
-    private Table buildOptionTable;\r
-    private Table boardTable;\r
-    private TableViewer boardTableViewer;\r
-    private TableViewer buildOptionTableViewer;\r
-    private Button selectToolchainBtn;\r
-    private Button kernelConfigBtn;\r
-    private Browser browser;\r
-    private Text toolchainText;\r
-    private Composite composite;\r
-    private Label lblNewLabel;\r
-    private Button clearToolchainBtn;\r
-\r
-    protected RtosBuildDialogPage(String pageName, Shell shell) {\r
-        super(pageName);\r
-        this.shell = shell;\r
-        setTitle(Messages.RtosBuildDialogPage_Title);\r
-        setDescription(Messages.RtosBuildDialogPage_Description);\r
-        setErrorMessage(null);\r
-    }\r
-\r
-    @Override\r
-    public void createControl(Composite parentComposite) {\r
-\r
-        List<String> boardList = RtosCommandManager.getBuildBoards();\r
-\r
-        Composite container = new Composite(parentComposite, SWT.NONE);\r
-        container.setLayoutData(new GridData(GridData.FILL_BOTH));\r
-        container.setLayout(new GridLayout(1, true));\r
-\r
-        Composite tableComposite = new Composite(container, SWT.NONE);\r
-        tableComposite.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));\r
-        GridLayout layout = new GridLayout(2, true);\r
-        layout.marginWidth = 0;\r
-        layout.horizontalSpacing = 5;\r
-        tableComposite.setLayout(layout);\r
-\r
-        // Boards select table\r
-        boardTableViewer = new TableViewer(tableComposite, SWT.BORDER | SWT.FULL_SELECTION);\r
-\r
-        boardTable = boardTableViewer.getTable();\r
-        boardTable.setLinesVisible(true);\r
-        boardTable.setHeaderVisible(true);\r
-        GridData gd = new GridData(GridData.FILL_BOTH);\r
-        gd.minimumHeight = 180;\r
-        boardTable.setLayoutData(gd);\r
-\r
-        TableColumn boardNameColumn = new TableColumn(boardTable, SWT.NONE);\r
-        boardNameColumn.setWidth(300);\r
-        boardNameColumn.setText(Messages.RtosBuildDialogPage_BoardNameColumn);\r
-\r
-        boardTableViewer.setLabelProvider(new TableViewerProvider_1());\r
-        boardTableViewer.setContentProvider(new ArrayContentProvider());\r
-        boardTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {\r
-            @Override\r
-            public void selectionChanged(SelectionChangedEvent event) {\r
-                selectToolchainBtn.setEnabled(false);\r
-                clearToolchainBtn.setEnabled(false);\r
-                IStructuredSelection selection = (IStructuredSelection) event.getSelection();\r
-                for (Object o : selection.toArray()) {\r
-                    String board = (String) o;\r
-                    RtosBuildWizardDialog.selectionBoard(board);\r
-                    // input buildOption list\r
-                    List<BuildOption> testList = RtosCommandManager.getBuildOptions(board);\r
-                    buildOptionTableViewer.setInput(testList);\r
-                    if (testList != null && !testList.isEmpty()) {\r
-                        boolean isActive = testList.get(0).getSetEnv();\r
-                        selectToolchainBtn.setEnabled(isActive);\r
-                        clearToolchainBtn.setEnabled(isActive);\r
-                    }\r
-                }\r
-            }\r
-        });\r
-        boardTableViewer.setInput(boardList);\r
-\r
-        // Build option select table\r
-        buildOptionTableViewer = new TableViewer(tableComposite, SWT.BORDER | SWT.FULL_SELECTION);\r
-\r
-        buildOptionTable = buildOptionTableViewer.getTable();\r
-        buildOptionTable.setHeaderVisible(true);\r
-        buildOptionTable.setLinesVisible(true);\r
-        gd = new GridData(GridData.FILL_BOTH);\r
-        gd.minimumHeight = 180;\r
-        buildOptionTable.setLayoutData(gd);\r
-\r
-        TableColumn optionNameColumn = new TableColumn(buildOptionTable, SWT.NONE);\r
-        optionNameColumn.setWidth(300);\r
-        optionNameColumn.setText(Messages.RtosBuildDialogPage_OptionNameColumn);\r
-\r
-        buildOptionTableViewer.setLabelProvider(new TableViewerProvider());\r
-        buildOptionTableViewer.setContentProvider(new ArrayContentProvider());\r
-        buildOptionTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {\r
-            @Override\r
-            public void selectionChanged(SelectionChangedEvent event) {\r
-                IStructuredSelection selection = (IStructuredSelection) event.getSelection();\r
-                if (selection.isEmpty()) {\r
-                    browser.setText(""); //$NON-NLS-1$\r
-                    kernelConfigBtn.setEnabled(false);\r
-                    setPageComplete(false);\r
-                } else {\r
-                    for (Object o : selection.toArray()) {\r
-                        BuildOption bOption = (BuildOption) o;\r
-                        RtosBuildWizardDialog.selectionOption(bOption);\r
-                        File desc = new File(bOption.getPath(), DEFAULT_DESC_FILE);\r
-                        if (desc.exists()) {\r
-                            browser.setUrl(desc.toURI().toString());\r
-                        } else {\r
-                            browser.setText(String.format(DEFAULT_DESC_HTML_FORMAT, bOption.getBoard(), bOption.getBuildOption()));\r
-                        }\r
-                        kernelConfigBtn.setEnabled(true);\r
-                        setPageComplete(true);\r
-                    }\r
-                }\r
-            }\r
-        });\r
-        buildOptionTableViewer.addDoubleClickListener(new IDoubleClickListener() {\r
-            @Override\r
-            public void doubleClick(DoubleClickEvent arg0) {\r
-                RtosBuildWizard wizard = (RtosBuildWizard) getWizard();\r
-                RtosBuildWizardDialog dialog = (RtosBuildWizardDialog) wizard.getContainer();\r
-                dialog.PressedFinished();\r
-            }\r
-        });\r
-\r
-        // Description area\r
-        Composite descComposite = new Composite(container, SWT.BORDER);\r
-        descComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 2));\r
-        GridLayout browserLayout = new GridLayout(1, true);\r
-        browserLayout.marginHeight = 0;\r
-        browserLayout.marginWidth = 0;\r
-        descComposite.setLayout(browserLayout);\r
-\r
-        browser = new Browser(descComposite, SWT.NONE);\r
-        browser.setJavascriptEnabled(false);\r
-        browser.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));\r
-\r
-        composite = new Composite(container, SWT.NONE);\r
-        composite.setLayout(new GridLayout(4, false));\r
-        composite.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));\r
-\r
-        lblNewLabel = new Label(composite, SWT.NONE);\r
-        lblNewLabel.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));\r
-        lblNewLabel.setText(Messages.RtosBuildDialogPage_lblNewLabel_text);\r
-\r
-        toolchainText = new Text(composite, SWT.BORDER);\r
-        toolchainText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));\r
-        toolchainText.setEditable(false);\r
-\r
-        selectToolchainBtn = new Button(composite, SWT.NONE);\r
-        selectToolchainBtn.setText(Messages.RtosBuildDialogPage_ToolchainButtonText);\r
-        selectToolchainBtn.setEnabled(false);\r
-\r
-        clearToolchainBtn = new Button(composite, SWT.NONE);\r
-        clearToolchainBtn.setText(Messages.RtosBuildDialogPage_clearToolchainBtn_text);\r
-        clearToolchainBtn.setEnabled(false);\r
-\r
-        selectToolchainBtn.addSelectionListener(new SelectionAdapter() {\r
-            @Override\r
-            public void widgetSelected(SelectionEvent arg0) {\r
-                DirectoryDialog dialog = new DirectoryDialog(getShell(), SWT.SHEET);\r
-                dialog.setMessage(Messages.RtosBuildDialogPage_ToolchainDialogMessage);\r
-                String toolchainPath = dialog.open();\r
-                if (toolchainPath != null) {\r
-                    toolchainText.setText(toolchainPath);\r
-                    RtosBuildWizardDialog.selectionToolchain(toolchainPath);\r
-                }\r
-            }\r
-        });\r
-\r
-        clearToolchainBtn.addSelectionListener(new SelectionAdapter() {\r
-            @Override\r
-            public void widgetSelected(SelectionEvent e) {\r
-                toolchainText.setText("");\r
-                RtosBuildWizardDialog.selectionToolchain(null);\r
-            }\r
-        });\r
-\r
-        // Button group area\r
-        Composite btnGroupComposite = new Composite(container, SWT.NONE);\r
-        btnGroupComposite.setLayoutData(new GridData(SWT.LEFT, SWT.BOTTOM, true, false, 2, 1));\r
-        RowLayout btnLayout = new RowLayout(SWT.HORIZONTAL);\r
-        btnLayout.marginLeft = 0;\r
-        btnLayout.spacing = 5;\r
-        btnLayout.pack = false;\r
-        btnGroupComposite.setLayout(btnLayout);\r
-\r
-        kernelConfigBtn = new Button(btnGroupComposite, SWT.NONE);\r
-        kernelConfigBtn.setText(Messages.RtosBuildDialogPage_KernelConfigButtonText);\r
-        kernelConfigBtn.setEnabled(false);\r
-        kernelConfigBtn.addSelectionListener(new SelectionListener() {\r
-            @Override\r
-            public void widgetDefaultSelected(SelectionEvent arg0) {\r
-            }\r
-\r
-            @Override\r
-            public void widgetSelected(SelectionEvent arg0) {\r
-                try {\r
-                    Runtime.getRuntime().exec(KERNEL_CONFIG_CMD, null,\r
-                            new File(ResourceUtil.getCurrentProject().getLocation().toString() + File.separator + "os")); //$NON-NLS-1$\r
-                } catch (IOException e) {\r
-                    MessageDialog.openError(Display.getDefault().getActiveShell(), "Error", Messages.RtosBuildDialogPage_KconfigErrorMessage); //$NON-NLS-1$\r
-                    return;\r
-                }\r
-            }\r
-        });\r
-\r
-        initialize();\r
-        dialogChanged();\r
-\r
-        setControl(parentComposite);\r
-    }\r
-\r
-    /**\r
-     * Tests if the current workbench selection is a suitable container to use.\r
-     */\r
-    private void initialize() {\r
-        String toolchainPath = RtosBuildWizardDialog.getSelectionToolchain();\r
-        if (toolchainPath != null) {\r
-            toolchainText.setText(RtosBuildWizardDialog.getSelectionToolchain());\r
-        } else {\r
-            toolchainText.setText("");\r
-        }\r
-        setPageComplete(false);\r
-    }\r
-\r
-    private void dialogChanged() {\r
-\r
-    }\r
-\r
-    /**\r
-     * @return the shell\r
-     */\r
-    public Shell getShell() {\r
-        return shell;\r
-    }\r
-\r
-    private class TableViewerProvider_1 extends LabelProvider implements ITableLabelProvider {\r
-\r
-        @Override\r
-        public Image getColumnImage(Object arg0, int columnIndex) {\r
-            return null;\r
-        }\r
-\r
-        @Override\r
-        public String getColumnText(Object element, int columnIndex) {\r
-            // TODO: create object in associated with Device EntryList\r
-            if (element instanceof String) {\r
-                String bOption = (String) element;\r
-                switch (columnIndex) {\r
-                case 0:\r
-                    return bOption;\r
-                default:\r
-                    break;\r
-                }\r
-            }\r
-            return null;\r
-        }\r
-\r
-    }\r
-\r
-    private class TableViewerProvider extends LabelProvider implements ITableLabelProvider {\r
-\r
-        @Override\r
-        public Image getColumnImage(Object arg0, int columnIndex) {\r
-            return null;\r
-        }\r
-\r
-        @Override\r
-        public String getColumnText(Object element, int columnIndex) {\r
-            // TODO: create object in associated with Device EntryList\r
-            if (element instanceof BuildOption) {\r
-                BuildOption bOption = (BuildOption) element;\r
-                switch (columnIndex) {\r
-                case 0:\r
-                    return bOption.getBuildOption();\r
-                default:\r
-                    break;\r
-                }\r
-            }\r
-            return null;\r
-        }\r
-\r
-    }\r
-\r
-}\r
+/*
+*  Common
+*
+* Copyright (c) 2000 - 2015 Samsung Electronics Co., Ltd. All rights reserved.
+*
+* Contact:
+* Jaemin Kim <jm.jemin.kim@samsung.com>
+* Gyeongmin Ju <gyeongmin.ju@samsung.com>
+* Daeryong Park <bdragon.park@samsung.com>
+* HyeongSeok Heo <harry.heo@samsung.com>
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+* Contributors:
+* - S-Core Co., Ltd
+*
+*/
+
+package org.tizen.rt.ide.build;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.List;
+
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.viewers.ArrayContentProvider;
+import org.eclipse.jface.viewers.DoubleClickEvent;
+import org.eclipse.jface.viewers.IDoubleClickListener;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.ITableLabelProvider;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.wizard.WizardPage;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.browser.Browser;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.layout.RowLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.DirectoryDialog;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.swt.widgets.TableColumn;
+import org.eclipse.swt.widgets.Text;
+import org.tizen.rt.ide.Messages;
+import org.tizen.rt.ide.RtosCommandManager;
+import org.tizen.rt.ide.util.ResourceUtil;
+
+/**
+ * DeviceGuideDialogPage Select Emulator Wizard Feature
+ * @author jm.jaemin.kim{@literal <jm.jaemin.kim>} (S-Core)
+ */
+public class RtosBuildDialogPage extends WizardPage {
+
+    public final static String DEFAULT_DESC_FILE = "index.html"; //$NON-NLS-1$
+    public final static String DEFAULT_DESC_HTML_FORMAT = "<html><body><h2>%s</h2>App : %s</body></html>"; //$NON-NLS-1$
+    public final static String[] KERNEL_CONFIG_CMD = new String[] { "gnome-terminal", "--command", "make menuconfig" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+
+    private Shell shell;
+    private Table buildOptionTable;
+    private Table boardTable;
+    private TableViewer boardTableViewer;
+    private TableViewer buildOptionTableViewer;
+    private Button selectToolchainBtn;
+    private Button kernelConfigBtn;
+    private Browser browser;
+    private Text toolchainText;
+    private Composite composite;
+    private Label lblNewLabel;
+    private Button clearToolchainBtn;
+
+    protected RtosBuildDialogPage(String pageName, Shell shell) {
+        super(pageName);
+        this.shell = shell;
+        setTitle(Messages.RtosBuildDialogPage_Title);
+        setDescription(Messages.RtosBuildDialogPage_Description);
+        setErrorMessage(null);
+    }
+
+    @Override
+    public void createControl(Composite parentComposite) {
+
+        List<String> boardList = RtosCommandManager.getBuildBoards();
+
+        Composite container = new Composite(parentComposite, SWT.NONE);
+        container.setLayoutData(new GridData(GridData.FILL_BOTH));
+        container.setLayout(new GridLayout(1, true));
+
+        Composite tableComposite = new Composite(container, SWT.NONE);
+        tableComposite.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false));
+        GridLayout layout = new GridLayout(2, true);
+        layout.marginWidth = 0;
+        layout.horizontalSpacing = 5;
+        tableComposite.setLayout(layout);
+
+        // Boards select table
+        boardTableViewer = new TableViewer(tableComposite, SWT.BORDER | SWT.FULL_SELECTION);
+
+        boardTable = boardTableViewer.getTable();
+        boardTable.setLinesVisible(true);
+        boardTable.setHeaderVisible(true);
+        GridData gd = new GridData(GridData.FILL_BOTH);
+        gd.minimumHeight = 180;
+        boardTable.setLayoutData(gd);
+
+        TableColumn boardNameColumn = new TableColumn(boardTable, SWT.NONE);
+        boardNameColumn.setWidth(300);
+        boardNameColumn.setText(Messages.RtosBuildDialogPage_BoardNameColumn);
+
+        boardTableViewer.setLabelProvider(new TableViewerProvider_1());
+        boardTableViewer.setContentProvider(new ArrayContentProvider());
+        boardTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
+            @Override
+            public void selectionChanged(SelectionChangedEvent event) {
+                selectToolchainBtn.setEnabled(false);
+                clearToolchainBtn.setEnabled(false);
+                IStructuredSelection selection = (IStructuredSelection) event.getSelection();
+                for (Object o : selection.toArray()) {
+                    String board = (String) o;
+                    RtosBuildWizardDialog.selectionBoard(board);
+                    // input buildOption list
+                    List<BuildOption> testList = RtosCommandManager.getBuildOptions(board);
+                    buildOptionTableViewer.setInput(testList);
+                    if (testList != null && !testList.isEmpty()) {
+                        boolean isActive = testList.get(0).getSetEnv();
+                        selectToolchainBtn.setEnabled(isActive);
+                        clearToolchainBtn.setEnabled(isActive);
+                    }
+                }
+            }
+        });
+        boardTableViewer.setInput(boardList);
+
+        // Build option select table
+        buildOptionTableViewer = new TableViewer(tableComposite, SWT.BORDER | SWT.FULL_SELECTION);
+
+        buildOptionTable = buildOptionTableViewer.getTable();
+        buildOptionTable.setHeaderVisible(true);
+        buildOptionTable.setLinesVisible(true);
+        gd = new GridData(GridData.FILL_BOTH);
+        gd.minimumHeight = 180;
+        buildOptionTable.setLayoutData(gd);
+
+        TableColumn optionNameColumn = new TableColumn(buildOptionTable, SWT.NONE);
+        optionNameColumn.setWidth(300);
+        optionNameColumn.setText(Messages.RtosBuildDialogPage_OptionNameColumn);
+
+        buildOptionTableViewer.setLabelProvider(new TableViewerProvider());
+        buildOptionTableViewer.setContentProvider(new ArrayContentProvider());
+        buildOptionTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
+            @Override
+            public void selectionChanged(SelectionChangedEvent event) {
+                IStructuredSelection selection = (IStructuredSelection) event.getSelection();
+                if (selection.isEmpty()) {
+                    browser.setText(""); //$NON-NLS-1$
+                    kernelConfigBtn.setEnabled(false);
+                    setPageComplete(false);
+                } else {
+                    for (Object o : selection.toArray()) {
+                        BuildOption bOption = (BuildOption) o;
+                        RtosBuildWizardDialog.selectionOption(bOption);
+                        File desc = new File(bOption.getPath(), DEFAULT_DESC_FILE);
+                        if (desc.exists()) {
+                            browser.setUrl(desc.toURI().toString());
+                        } else {
+                            browser.setText(String.format(DEFAULT_DESC_HTML_FORMAT, bOption.getBoard(), bOption.getBuildOption()));
+                        }
+                        kernelConfigBtn.setEnabled(true);
+                        setPageComplete(true);
+                    }
+                }
+            }
+        });
+        buildOptionTableViewer.addDoubleClickListener(new IDoubleClickListener() {
+            @Override
+            public void doubleClick(DoubleClickEvent arg0) {
+                RtosBuildWizard wizard = (RtosBuildWizard) getWizard();
+                RtosBuildWizardDialog dialog = (RtosBuildWizardDialog) wizard.getContainer();
+                dialog.PressedFinished();
+            }
+        });
+
+        // Description area
+        Composite descComposite = new Composite(container, SWT.BORDER);
+        descComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 2));
+        GridLayout browserLayout = new GridLayout(1, true);
+        browserLayout.marginHeight = 0;
+        browserLayout.marginWidth = 0;
+        descComposite.setLayout(browserLayout);
+
+        browser = new Browser(descComposite, SWT.NONE);
+        browser.setJavascriptEnabled(false);
+        browser.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
+
+        composite = new Composite(container, SWT.NONE);
+        composite.setLayout(new GridLayout(4, false));
+        composite.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
+
+        lblNewLabel = new Label(composite, SWT.NONE);
+        lblNewLabel.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));
+        lblNewLabel.setText(Messages.RtosBuildDialogPage_lblNewLabel_text);
+
+        toolchainText = new Text(composite, SWT.BORDER);
+        toolchainText.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
+        toolchainText.setEditable(false);
+
+        selectToolchainBtn = new Button(composite, SWT.NONE);
+        selectToolchainBtn.setText(Messages.RtosBuildDialogPage_ToolchainButtonText);
+        selectToolchainBtn.setEnabled(false);
+
+        clearToolchainBtn = new Button(composite, SWT.NONE);
+        clearToolchainBtn.setText(Messages.RtosBuildDialogPage_clearToolchainBtn_text);
+        clearToolchainBtn.setEnabled(false);
+
+        selectToolchainBtn.addSelectionListener(new SelectionAdapter() {
+            @Override
+            public void widgetSelected(SelectionEvent arg0) {
+                DirectoryDialog dialog = new DirectoryDialog(getShell(), SWT.SHEET);
+                dialog.setMessage(Messages.RtosBuildDialogPage_ToolchainDialogMessage);
+                String toolchainPath = dialog.open();
+                if (toolchainPath != null) {
+                    toolchainText.setText(toolchainPath);
+                    RtosBuildWizardDialog.selectionToolchain(toolchainPath);
+                }
+            }
+        });
+
+        clearToolchainBtn.addSelectionListener(new SelectionAdapter() {
+            @Override
+            public void widgetSelected(SelectionEvent e) {
+                toolchainText.setText("");
+                RtosBuildWizardDialog.selectionToolchain(null);
+            }
+        });
+
+        // Button group area
+        Composite btnGroupComposite = new Composite(container, SWT.NONE);
+        btnGroupComposite.setLayoutData(new GridData(SWT.LEFT, SWT.BOTTOM, true, false, 2, 1));
+        RowLayout btnLayout = new RowLayout(SWT.HORIZONTAL);
+        btnLayout.marginLeft = 0;
+        btnLayout.spacing = 5;
+        btnLayout.pack = false;
+        btnGroupComposite.setLayout(btnLayout);
+
+        kernelConfigBtn = new Button(btnGroupComposite, SWT.NONE);
+        kernelConfigBtn.setText(Messages.RtosBuildDialogPage_KernelConfigButtonText);
+        kernelConfigBtn.setEnabled(false);
+        kernelConfigBtn.addSelectionListener(new SelectionListener() {
+            @Override
+            public void widgetDefaultSelected(SelectionEvent arg0) {
+            }
+
+            @Override
+            public void widgetSelected(SelectionEvent arg0) {
+                try {
+                    Runtime.getRuntime().exec(KERNEL_CONFIG_CMD, null,
+                            new File(ResourceUtil.getCurrentProject().getLocation().toString() + File.separator + "os")); //$NON-NLS-1$
+                } catch (IOException e) {
+                    MessageDialog.openError(Display.getDefault().getActiveShell(), "Error", Messages.RtosBuildDialogPage_KconfigErrorMessage); //$NON-NLS-1$
+                    return;
+                }
+            }
+        });
+
+        initialize();
+        dialogChanged();
+
+        setControl(parentComposite);
+    }
+
+    /**
+     * Tests if the current workbench selection is a suitable container to use.
+     */
+    private void initialize() {
+        String toolchainPath = RtosBuildWizardDialog.getSelectionToolchain();
+        if (toolchainPath != null) {
+            toolchainText.setText(RtosBuildWizardDialog.getSelectionToolchain());
+        } else {
+            toolchainText.setText("");
+        }
+        setPageComplete(false);
+    }
+
+    private void dialogChanged() {
+
+    }
+
+    /**
+     * @return the shell
+     */
+    public Shell getShell() {
+        return shell;
+    }
+
+    private class TableViewerProvider_1 extends LabelProvider implements ITableLabelProvider {
+
+        @Override
+        public Image getColumnImage(Object arg0, int columnIndex) {
+            return null;
+        }
+
+        @Override
+        public String getColumnText(Object element, int columnIndex) {
+            // TODO: create object in associated with Device EntryList
+            if (element instanceof String) {
+                String bOption = (String) element;
+                switch (columnIndex) {
+                case 0:
+                    return bOption;
+                default:
+                    break;
+                }
+            }
+            return null;
+        }
+
+    }
+
+    private class TableViewerProvider extends LabelProvider implements ITableLabelProvider {
+
+        @Override
+        public Image getColumnImage(Object arg0, int columnIndex) {
+            return null;
+        }
+
+        @Override
+        public String getColumnText(Object element, int columnIndex) {
+            // TODO: create object in associated with Device EntryList
+            if (element instanceof BuildOption) {
+                BuildOption bOption = (BuildOption) element;
+                switch (columnIndex) {
+                case 0:
+                    return bOption.getBuildOption();
+                default:
+                    break;
+                }
+            }
+            return null;
+        }
+
+    }
+
+}
index 65f8e04..b2f9673 100644 (file)
-/*\r
-*  Common\r
-*\r
-* Copyright (c) 2000 - 2015 Samsung Electronics Co., Ltd. All rights reserved.\r
-*\r
-* Contact:\r
-* jm.jemin.kim <jm.jemin.kim@samsung.com>\r
-*\r
-* Licensed under the Apache License, Version 2.0 (the "License");\r
-* you may not use this file except in compliance with the License.\r
-* You may obtain a copy of the License at\r
-*\r
-* http://www.apache.org/licenses/LICENSE-2.0\r
-*\r
-* Unless required by applicable law or agreed to in writing, software\r
-* distributed under the License is distributed on an "AS IS" BASIS,\r
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
-* See the License for the specific language governing permissions and\r
-* limitations under the License.\r
-*\r
-* Contributors:\r
-* - S-Core Co., Ltd\r
-*\r
-*/\r
-\r
-package org.tizen.rt.ide.build;\r
-\r
-import java.lang.reflect.InvocationTargetException;\r
-\r
-import org.eclipse.core.resources.IProject;\r
-import org.eclipse.core.resources.IResource;\r
-import org.eclipse.core.runtime.CoreException;\r
-import org.eclipse.core.runtime.IProgressMonitor;\r
-import org.eclipse.jface.dialogs.IPageChangedListener;\r
-import org.eclipse.jface.dialogs.PageChangedEvent;\r
-import org.eclipse.jface.operation.IRunnableWithProgress;\r
-import org.eclipse.jface.wizard.IWizardContainer;\r
-import org.eclipse.jface.wizard.Wizard;\r
-import org.eclipse.jface.wizard.WizardDialog;\r
-import org.eclipse.swt.widgets.Shell;\r
-import org.slf4j.Logger;\r
-import org.slf4j.LoggerFactory;\r
-import org.tizen.rt.ide.Messages;\r
-import org.tizen.rt.ide.RtosCommandManager;\r
-import org.tizen.rt.ide.console.ConsoleManager;\r
-\r
-/**\r
- * RtosWizard\r
- * @author jm.jaemin.kim{@literal <jm.jaemin.kim>} (S-Core)\r
- */\r
-public class RtosBuildWizard extends Wizard implements IPageChangedListener {\r
-\r
-    private ConsoleManager consoleManager;\r
-    private Shell shell;\r
-    private IProject project;\r
-    private final String GUIDE_DIALOG_NAME = "Build Option Selection"; //$NON-NLS-1$\r
-    private RtosBuildDialogPage rtosDialogPage = null;\r
-    private final Logger logger = LoggerFactory.getLogger(RtosBuildWizard.class);\r
-\r
-    public RtosBuildWizard(Shell shell, IProject project) {\r
-        super();\r
-        this.setWindowTitle(Messages.RtosBuildWizard_WindowTitle);\r
-        this.setNeedsProgressMonitor(true);\r
-        this.shell = shell;\r
-        this.project = project;\r
-        this.consoleManager = new ConsoleManager(true);\r
-    }\r
-\r
-    @Override\r
-    public boolean performFinish() {\r
-        IWizardContainer container = getContainer();\r
-        try {\r
-            container.run(true, false, new IRunnableWithProgress() {\r
-                @Override\r
-                public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {\r
-                    // String selectedDeviceName =\r
-                    monitor.beginTask("Build", 4); //$NON-NLS-1$\r
-                    BuildOption buildOption = RtosBuildWizardDialog.getSelectionOption();\r
-                    consoleManager.println("Build Option : " + buildOption.getBuildOption()); //$NON-NLS-1$\r
-                    monitor.worked(1);\r
-\r
-                    String toolchainPath = RtosBuildWizardDialog.getSelectionToolchain();\r
-                    monitor.worked(1);\r
-\r
-                    RtosCommandManager.runBuild(buildOption, toolchainPath, consoleManager, monitor);\r
-                    try {\r
-                        project.refreshLocal(IResource.DEPTH_INFINITE, monitor);\r
-                    } catch (CoreException e) {\r
-                        logger.error(e.getMessage(), e);\r
-                    }\r
-\r
-                    monitor.done();\r
-                }\r
-            });\r
-        } catch (InvocationTargetException e) {\r
-            logger.error(e.getMessage(), e);\r
-        } catch (InterruptedException e) {\r
-            logger.error(e.getMessage(), e);\r
-        }\r
-        return true;\r
-    }\r
-\r
-    @Override\r
-    public void addPages() {\r
-        rtosDialogPage = new RtosBuildDialogPage(GUIDE_DIALOG_NAME, shell);\r
-        addPage(rtosDialogPage);\r
-        WizardDialog dialog = (WizardDialog) getContainer();\r
-        dialog.addPageChangedListener(this);\r
-    }\r
-\r
-    @Override\r
-    public void pageChanged(PageChangedEvent arg0) {\r
-\r
-    }\r
-}\r
+/*
+*  Common
+*
+* Copyright (c) 2000 - 2015 Samsung Electronics Co., Ltd. All rights reserved.
+*
+* Contact:
+* jm.jemin.kim <jm.jemin.kim@samsung.com>
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+* Contributors:
+* - S-Core Co., Ltd
+*
+*/
+
+package org.tizen.rt.ide.build;
+
+import java.lang.reflect.InvocationTargetException;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.jface.dialogs.IPageChangedListener;
+import org.eclipse.jface.dialogs.PageChangedEvent;
+import org.eclipse.jface.operation.IRunnableWithProgress;
+import org.eclipse.jface.wizard.IWizardContainer;
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.jface.wizard.WizardDialog;
+import org.eclipse.swt.widgets.Shell;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.tizen.rt.ide.Messages;
+import org.tizen.rt.ide.RtosCommandManager;
+import org.tizen.rt.ide.console.ConsoleManager;
+
+/**
+ * RtosWizard
+ * @author jm.jaemin.kim{@literal <jm.jaemin.kim>} (S-Core)
+ */
+public class RtosBuildWizard extends Wizard implements IPageChangedListener {
+
+    private ConsoleManager consoleManager;
+    private Shell shell;
+    private IProject project;
+    private final String GUIDE_DIALOG_NAME = "Build Option Selection"; //$NON-NLS-1$
+    private RtosBuildDialogPage rtosDialogPage = null;
+    private final Logger logger = LoggerFactory.getLogger(RtosBuildWizard.class);
+
+    public RtosBuildWizard(Shell shell, IProject project) {
+        super();
+        this.setWindowTitle(Messages.RtosBuildWizard_WindowTitle);
+        this.setNeedsProgressMonitor(true);
+        this.shell = shell;
+        this.project = project;
+        this.consoleManager = new ConsoleManager(true);
+    }
+
+    @Override
+    public boolean performFinish() {
+        IWizardContainer container = getContainer();
+        try {
+            container.run(true, false, new IRunnableWithProgress() {
+                @Override
+                public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
+                    // String selectedDeviceName =
+                    monitor.beginTask("Build", 4); //$NON-NLS-1$
+                    BuildOption buildOption = RtosBuildWizardDialog.getSelectionOption();
+                    consoleManager.println("Build Option : " + buildOption.getBuildOption()); //$NON-NLS-1$
+                    monitor.worked(1);
+
+                    String toolchainPath = RtosBuildWizardDialog.getSelectionToolchain();
+                    monitor.worked(1);
+
+                    RtosCommandManager.runBuild(buildOption, toolchainPath, consoleManager, monitor);
+                    try {
+                        project.refreshLocal(IResource.DEPTH_INFINITE, monitor);
+                    } catch (CoreException e) {
+                        logger.error(e.getMessage(), e);
+                    }
+
+                    monitor.done();
+                }
+            });
+        } catch (InvocationTargetException e) {
+            logger.error(e.getMessage(), e);
+        } catch (InterruptedException e) {
+            logger.error(e.getMessage(), e);
+        }
+        return true;
+    }
+
+    @Override
+    public void addPages() {
+        rtosDialogPage = new RtosBuildDialogPage(GUIDE_DIALOG_NAME, shell);
+        addPage(rtosDialogPage);
+        WizardDialog dialog = (WizardDialog) getContainer();
+        dialog.addPageChangedListener(this);
+    }
+
+    @Override
+    public void pageChanged(PageChangedEvent arg0) {
+
+    }
+}
index 378105c..b453ad3 100644 (file)
-/*\r
- * NewRtAppWizard\r
- *\r
- * Copyright (c) 2000 - 2013 Samsung Electronics Co., Ltd. All rights reserved.\r
- *\r
- * Contact:\r
- * Gyeongmin Ju <gyeongmin.ju@samsung.com>\r
- * HyeongSeok Heo <harry.heo@samsung.com>\r
- *\r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- *\r
- * Contributors:\r
- * - S-Core Co., Ltd\r
- */\r
-package org.tizen.rt.ide.wizards;\r
-\r
-import java.io.File;\r
-import java.io.FileOutputStream;\r
-import java.io.IOException;\r
-import java.io.InputStream;\r
-import java.io.OutputStream;\r
-import java.lang.reflect.InvocationTargetException;\r
-import java.nio.file.Files;\r
-import java.nio.file.Paths;\r
-import java.nio.file.StandardCopyOption;\r
-import java.util.HashMap;\r
-import java.util.Map;\r
-\r
-import org.eclipse.core.resources.IFolder;\r
-import org.eclipse.core.resources.IProject;\r
-import org.eclipse.core.resources.IResource;\r
-import org.eclipse.core.runtime.CoreException;\r
-import org.eclipse.core.runtime.IProgressMonitor;\r
-import org.eclipse.jface.dialogs.MessageDialog;\r
-import org.eclipse.jface.operation.IRunnableWithProgress;\r
-import org.eclipse.ui.wizards.newresource.BasicNewResourceWizard;\r
-import org.slf4j.Logger;\r
-import org.slf4j.LoggerFactory;\r
-import org.tizen.rt.ide.Messages;\r
-import org.tizen.rt.ide.util.MacroUtil;\r
-import org.tizen.rt.ide.util.ZipUtil;\r
-import org.tizen.rt.ide.util.ZipUtil.AbstractRunner;\r
-\r
-public class NewRtAppWizard extends BasicNewResourceWizard {\r
-    private final Logger logger = LoggerFactory.getLogger(NewRtAppWizard.class);\r
-\r
-    private NewRtAppWizardPage page;\r
-\r
-    /**\r
-     * Constructor for NewRtAppWizard.\r
-     */\r
-    public NewRtAppWizard() {\r
-        super();\r
-        setWindowTitle(Messages.RtosNewRtAppWizard_WindowTitle);\r
-        setNeedsProgressMonitor(true);\r
-    }\r
-\r
-    /**\r
-     * Adding the page to the wizard.\r
-     */\r
-    public void addPages() {\r
-        page = new NewRtAppWizardPage(selection);\r
-        addPage(page);\r
-    }\r
-\r
-    /**\r
-     * This method is called when 'Finish' button is pressed in the wizard. We will create an operation and run it using wizard as execution context.\r
-     */\r
-    @Override\r
-    public boolean performFinish() {\r
-        final String appName = page.getAppName();\r
-        final String localtion = page.getFileName();\r
-        final IProject project = page.getProject();\r
-        final String tempFileName = page.getTemplateFileName();\r
-        IRunnableWithProgress op = new IRunnableWithProgress() {\r
-            public void run(IProgressMonitor monitor) throws InvocationTargetException {\r
-                try {\r
-                    doFinish(appName, localtion, tempFileName, project, monitor);\r
-                } catch (CoreException e) {\r
-                    throw new InvocationTargetException(e);\r
-                } finally {\r
-                    monitor.done();\r
-                }\r
-            }\r
-        };\r
-        try {\r
-            getContainer().run(true, false, op);\r
-\r
-            // select and reveal created app folder\r
-            IFolder folder = project.getFolder(localtion);\r
-            if (folder != null && folder.exists()) {\r
-                selectAndReveal(folder);\r
-            }\r
-        } catch (InterruptedException e) {\r
-            return false;\r
-        } catch (InvocationTargetException e) {\r
-            Throwable realException = e.getTargetException();\r
-            MessageDialog.openError(getShell(), "Error", realException.getMessage());\r
-            return false;\r
-        }\r
-        return true;\r
-    }\r
-\r
-    /**\r
-     * The worker method. It will find the container, create the file if missing or just replace its contents, and open the editor on the newly created file.\r
-     */\r
-    private void copys(File srcFile, File desFile, IProgressMonitor monitor) throws IOException {\r
-        java.nio.file.Path srcPath = Paths.get(srcFile.toString());\r
-        java.nio.file.Path desPath = Paths.get(desFile.toString());\r
-\r
-        File[] tempFiles = srcFile.listFiles();\r
-        if (tempFiles != null) {\r
-            for (File file : tempFiles) {\r
-                String name = file.getName();\r
-                java.nio.file.Path srcPath2 = srcPath.resolve(name);\r
-                if (Files.isSymbolicLink(srcPath2)) {\r
-                    continue;\r
-                }\r
-\r
-                java.nio.file.Path desPath2 = desPath.resolve(name);\r
-                Files.copy(srcPath2, desPath2, StandardCopyOption.COPY_ATTRIBUTES, StandardCopyOption.REPLACE_EXISTING);\r
-                if (monitor != null) {\r
-                    monitor.subTask(name);\r
-                    monitor.worked(1);\r
-                }\r
-\r
-                if (file.isDirectory()) {\r
-                    copys(file, desPath2.toFile(), monitor);\r
-                }\r
-            }\r
-        }\r
-    }\r
-\r
-    private class MacroFileRunner extends AbstractRunner {\r
-        private Map<String, String> macros;\r
-        private String targetDir;\r
-\r
-        public MacroFileRunner(Map<String, String> macros, String targetDir) {\r
-            this.macros = macros;\r
-            this.targetDir = targetDir;\r
-        }\r
-\r
-        @Override\r
-        public boolean run(boolean isDirectory, InputStream ios, String filename, int extra) {\r
-            File targetFile = new File(targetDir, filename);\r
-\r
-            if (isDirectory) {\r
-                String path = MacroUtil.processMacro(targetFile.getAbsolutePath(), "TIZEN", macros);\r
-                File targetFileObj = new File(path);\r
-                targetFileObj.mkdirs();\r
-            } else {\r
-                String path = MacroUtil.processMacro(targetFile.toString(), macros);\r
-                targetFile = new File(path);\r
-                File targetFileHome = targetFile.getParentFile();\r
-                targetFileHome.mkdirs();\r
-\r
-                OutputStream fs = null;\r
-                try {\r
-                    fs = new FileOutputStream(targetFile);\r
-                    MacroUtil.processMacro(ios, fs, "TIZEN", macros);\r
-                } catch (Exception e) {\r
-                    logger.error(e.getMessage());\r
-                    return false;\r
-                } finally {\r
-                    if (fs != null) {\r
-                        try {\r
-                            fs.close();\r
-                        } catch (IOException e) {\r
-                            return false;\r
-                        }\r
-                    }\r
-                }\r
-            }\r
-\r
-            return true;\r
-        }\r
-    }\r
-\r
-    private void doFinish(String appName, String appPathName, String templateFileName, IProject project,\r
-            IProgressMonitor monitor) throws CoreException {\r
-        monitor.beginTask("Creating " + appPathName, 4); //$NON-NLS-1$\r
-\r
-        Map<String, String> macros = new HashMap<String, String>();\r
-        macros.put("TIZEN.newapp", appName);\r
-        macros.put("TIZEN.NEWAPP", appName.toUpperCase());\r
-\r
-        File appPathFile = new File(project.getLocation().toString(), appPathName);\r
-        appPathFile.mkdirs();\r
-\r
-        File tempFile = new File(templateFileName);\r
-\r
-        if (tempFile.isDirectory()) {\r
-            File projFile = project.getFullPath().toFile();\r
-\r
-            try {\r
-                copys(tempFile, projFile, monitor);\r
-            } catch (IOException e) {\r
-                logger.error(e.getMessage(), e);\r
-            }\r
-        } else if (tempFile.getName().endsWith(".zip")) { //$NON-NLS-1$\r
-            try {\r
-                ZipUtil.unzip(tempFile.toString(), new MacroFileRunner(macros, appPathFile.toString()), monitor);\r
-            } catch (Exception e) {\r
-                logger.error(e.getMessage(), e);\r
-            }\r
-        }\r
-\r
-        project.getFolder(appPathName).refreshLocal(IResource.DEPTH_INFINITE, monitor);\r
-\r
-        monitor.worked(1);\r
-    }\r
-}\r
+/*
+ * NewRtAppWizard
+ *
+ * Copyright (c) 2000 - 2013 Samsung Electronics Co., Ltd. All rights reserved.
+ *
+ * Contact:
+ * Gyeongmin Ju <gyeongmin.ju@samsung.com>
+ * HyeongSeok Heo <harry.heo@samsung.com>
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ * Contributors:
+ * - S-Core Co., Ltd
+ */
+package org.tizen.rt.ide.wizards;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.lang.reflect.InvocationTargetException;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+import java.nio.file.StandardCopyOption;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.operation.IRunnableWithProgress;
+import org.eclipse.ui.wizards.newresource.BasicNewResourceWizard;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.tizen.rt.ide.Messages;
+import org.tizen.rt.ide.util.MacroUtil;
+import org.tizen.rt.ide.util.ZipUtil;
+import org.tizen.rt.ide.util.ZipUtil.AbstractRunner;
+
+public class NewRtAppWizard extends BasicNewResourceWizard {
+    private final Logger logger = LoggerFactory.getLogger(NewRtAppWizard.class);
+
+    private NewRtAppWizardPage page;
+
+    /**
+     * Constructor for NewRtAppWizard.
+     */
+    public NewRtAppWizard() {
+        super();
+        setWindowTitle(Messages.RtosNewRtAppWizard_WindowTitle);
+        setNeedsProgressMonitor(true);
+    }
+
+    /**
+     * Adding the page to the wizard.
+     */
+    public void addPages() {
+        page = new NewRtAppWizardPage(selection);
+        addPage(page);
+    }
+
+    /**
+     * This method is called when 'Finish' button is pressed in the wizard. We will create an operation and run it using wizard as execution context.
+     */
+    @Override
+    public boolean performFinish() {
+        final String appName = page.getAppName();
+        final String localtion = page.getFileName();
+        final IProject project = page.getProject();
+        final String tempFileName = page.getTemplateFileName();
+        IRunnableWithProgress op = new IRunnableWithProgress() {
+            public void run(IProgressMonitor monitor) throws InvocationTargetException {
+                try {
+                    doFinish(appName, localtion, tempFileName, project, monitor);
+                } catch (CoreException e) {
+                    throw new InvocationTargetException(e);
+                } finally {
+                    monitor.done();
+                }
+            }
+        };
+        try {
+            getContainer().run(true, false, op);
+
+            // select and reveal created app folder
+            IFolder folder = project.getFolder(localtion);
+            if (folder != null && folder.exists()) {
+                selectAndReveal(folder);
+            }
+        } catch (InterruptedException e) {
+            return false;
+        } catch (InvocationTargetException e) {
+            Throwable realException = e.getTargetException();
+            MessageDialog.openError(getShell(), "Error", realException.getMessage());
+            return false;
+        }
+        return true;
+    }
+
+    /**
+     * The worker method. It will find the container, create the file if missing or just replace its contents, and open the editor on the newly created file.
+     */
+    private void copys(File srcFile, File desFile, IProgressMonitor monitor) throws IOException {
+        java.nio.file.Path srcPath = Paths.get(srcFile.toString());
+        java.nio.file.Path desPath = Paths.get(desFile.toString());
+
+        File[] tempFiles = srcFile.listFiles();
+        if (tempFiles != null) {
+            for (File file : tempFiles) {
+                String name = file.getName();
+                java.nio.file.Path srcPath2 = srcPath.resolve(name);
+                if (Files.isSymbolicLink(srcPath2)) {
+                    continue;
+                }
+
+                java.nio.file.Path desPath2 = desPath.resolve(name);
+                Files.copy(srcPath2, desPath2, StandardCopyOption.COPY_ATTRIBUTES, StandardCopyOption.REPLACE_EXISTING);
+                if (monitor != null) {
+                    monitor.subTask(name);
+                    monitor.worked(1);
+                }
+
+                if (file.isDirectory()) {
+                    copys(file, desPath2.toFile(), monitor);
+                }
+            }
+        }
+    }
+
+    private class MacroFileRunner extends AbstractRunner {
+        private Map<String, String> macros;
+        private String targetDir;
+
+        public MacroFileRunner(Map<String, String> macros, String targetDir) {
+            this.macros = macros;
+            this.targetDir = targetDir;
+        }
+
+        @Override
+        public boolean run(boolean isDirectory, InputStream ios, String filename, int extra) {
+            File targetFile = new File(targetDir, filename);
+
+            if (isDirectory) {
+                String path = MacroUtil.processMacro(targetFile.getAbsolutePath(), "TIZEN", macros);
+                File targetFileObj = new File(path);
+                targetFileObj.mkdirs();
+            } else {
+                String path = MacroUtil.processMacro(targetFile.toString(), macros);
+                targetFile = new File(path);
+                File targetFileHome = targetFile.getParentFile();
+                targetFileHome.mkdirs();
+
+                OutputStream fs = null;
+                try {
+                    fs = new FileOutputStream(targetFile);
+                    MacroUtil.processMacro(ios, fs, "TIZEN", macros);
+                } catch (Exception e) {
+                    logger.error(e.getMessage());
+                    return false;
+                } finally {
+                    if (fs != null) {
+                        try {
+                            fs.close();
+                        } catch (IOException e) {
+                            return false;
+                        }
+                    }
+                }
+            }
+
+            return true;
+        }
+    }
+
+    private void doFinish(String appName, String appPathName, String templateFileName, IProject project,
+            IProgressMonitor monitor) throws CoreException {
+        monitor.beginTask("Creating " + appPathName, 4); //$NON-NLS-1$
+
+        Map<String, String> macros = new HashMap<String, String>();
+        macros.put("TIZEN.newapp", appName);
+        macros.put("TIZEN.NEWAPP", appName.toUpperCase());
+
+        File appPathFile = new File(project.getLocation().toString(), appPathName);
+        appPathFile.mkdirs();
+
+        File tempFile = new File(templateFileName);
+
+        if (tempFile.isDirectory()) {
+            File projFile = project.getFullPath().toFile();
+
+            try {
+                copys(tempFile, projFile, monitor);
+            } catch (IOException e) {
+                logger.error(e.getMessage(), e);
+            }
+        } else if (tempFile.getName().endsWith(".zip")) { //$NON-NLS-1$
+            try {
+                ZipUtil.unzip(tempFile.toString(), new MacroFileRunner(macros, appPathFile.toString()), monitor);
+            } catch (Exception e) {
+                logger.error(e.getMessage(), e);
+            }
+        }
+
+        project.getFolder(appPathName).refreshLocal(IResource.DEPTH_INFINITE, monitor);
+
+        monitor.worked(1);
+    }
+}