[INST] Progressing installmanager 3.0 70/20470/1
authoryongsung1.kim <yongsung1.kim@samsung.com>
Thu, 8 May 2014 04:39:36 +0000 (13:39 +0900)
committeryongsung1.kim <yongsung1.kim@samsung.com>
Thu, 8 May 2014 04:39:36 +0000 (13:39 +0900)
Change-Id: I571e8bc55603686bee41fe3bb9cb97d14c85fc27
Signed-off-by: yongsung1.kim <yongsung1.kim@samsung.com>
InstallManager_java/src/org/tizen/installmanager/pkg/lib/PackageManager.java
InstallManager_java/src/org/tizen/installmanager/pkg/model/Package.java
InstallManager_java/src/org/tizen/installmanager/ui/InstallManagerWindow.java
InstallManager_java/src/org/tizen/installmanager/ui/page/InstallableListPage.java
InstallManager_java/src/org/tizen/installmanager/ui/page/PackageListPage.java
InstallManager_java/src/org/tizen/installmanager/ui/page/UninstallableListPage.java
InstallManager_java/src/org/tizen/installmanager/ui/page/UpdatableListPage.java
InstallManager_java/src/org/tizen/installmanager/ui/page/ViewController.java

index 055edd3..bdad5c3 100644 (file)
@@ -480,7 +480,11 @@ public abstract class PackageManager {
                \r
                repoPackages = clone;\r
                \r
-               return rootMeta(repoPackages);\r
+               PackageSet pkgForTree = profileMeta(repoPackages);\r
+               pkgForTree.addAll(rootMeta(repoPackages));\r
+               \r
+               return pkgForTree;\r
+//             return rootMeta(repoPackages);\r
        }\r
        \r
        /**\r
@@ -495,10 +499,6 @@ public abstract class PackageManager {
                return profileMeta(repoPackages);\r
        }\r
        \r
-       public PackageSet getDevmoduleMetaPackagesOfRepository() {\r
-               return devmoduleMeta(repoPackages);\r
-       }\r
-       \r
        /**\r
         * Get root meta package from extension package server()\r
         */\r
@@ -796,39 +796,7 @@ public abstract class PackageManager {
                }\r
                return dependPackages;\r
        }\r
-       \r
-       public PackageSet getUIDependsPackages(Package pkg) {\r
-               PackageSet dependPackages = new PackageSet();\r
-               if (pkg == null) {\r
-                       return dependPackages;\r
-               }\r
-               \r
-               Collection<String> depends = pkg.getUIDependentPackageNames();\r
-               \r
-               try {\r
-                       dependPackages = recentPackages.getPackagesByNames(depends);\r
-               } catch (IMPackageNotFound e) {\r
-                       Log.ExceptionLog(e);\r
-               }\r
-               return dependPackages;\r
-       }\r
-       \r
-       public PackageSet getUIDefaultPackages(Package pkg) {\r
-               PackageSet dependPackages = new PackageSet();\r
-               if (pkg == null) {\r
-                       return dependPackages;\r
-               }\r
-               \r
-               Collection<String> depends = pkg.getUIdefaultPackageNames();\r
-               \r
-               try {\r
-                       dependPackages = recentPackages.getPackagesByNames(depends);\r
-               } catch (IMPackageNotFound e) {\r
-                       Log.ExceptionLog(e);\r
-               }\r
-               return dependPackages;\r
-       }\r
-       \r
+\r
        /**\r
         * @return partner meta packages among all meta packages.\r
         */\r
@@ -1173,16 +1141,6 @@ public abstract class PackageManager {
                return metas;\r
        }\r
        \r
-       private PackageSet devmoduleMeta(PackageSet pset) {\r
-               PackageSet metas = new PackageSet();\r
-               for(Package p : pset) {\r
-                       if(p.isDevmoduleMeta()) {\r
-                               metas.add(p);\r
-                       }\r
-               }\r
-               return metas;\r
-       }\r
-       \r
        /**\r
         * Get dependency package list from p.\r
         * @param p a package\r
index 435445c..23523fc 100644 (file)
@@ -76,12 +76,9 @@ public class Package {
        // field of Partner SDK\r
        public static final String FIELD_PARTNER = "C-Partner";\r
        \r
-       // fields of ui control\r
-       public static final String FIELD_ORIGIN = "c-origin";\r
-       public static final String FIELD_PROFILE = "c-profile";\r
-       public static final String FIELD_DEFAULT_CHECK = "c-default";\r
-       public static final String FIELD_UI_DEPENDENCY = "c-uidependency";\r
-\r
+       // UI default check\r
+       public static final String FIELD_DEFAULT = "C-Default";\r
+       \r
        // fields of script\r
        public static final String INSTALL_SCRIPT_LINUX = "install.sh";\r
        public static final String REMOVE_SCRIPT_LINUX = "remove.sh";\r
@@ -101,7 +98,6 @@ public class Package {
        private static final String ATTRIBUTE_PARTNER = "partner";\r
        private static final String ATTRIBUTE_PUBLIC = "public";\r
        private static final String ATTRIBUTE_PROFILE = "profile";\r
-       private static final String ATTRIBUTE_DEVMODULE = "devmodule";\r
 \r
        //dependency information\r
        private static final String START_OF_OS_DEPENDENCY = "[";\r
@@ -241,14 +237,6 @@ public class Package {
                return getValue(FIELD_EXTENSION_SERVER);\r
        }\r
        \r
-       public String getOrigin() {\r
-               return getValue(FIELD_ORIGIN);\r
-       }\r
-       \r
-       public String getOriginProfile() {\r
-               return getValue(FIELD_PROFILE);\r
-       }\r
-       \r
        /**\r
         * Set extension server to package information.\r
         * @param extensionServer extension server of this packge\r
@@ -347,7 +335,7 @@ public class Package {
         */\r
        private String getValue(String propertyName) {\r
                for(Property prop : mProperties) {\r
-                       if(prop.getName().equals(propertyName)) {\r
+                       if(prop.getName().equalsIgnoreCase(propertyName)) {\r
                                return prop.getValue();\r
                        }\r
                }\r
@@ -369,7 +357,7 @@ public class Package {
                // to partner meta package because installmanager should download all meta packages.\r
                if (Options.onlyDownload) {\r
                        if (isRootMeta() || isInstallMeta() || isExtraMeta() ||\r
-                                       isPublicMeta() || isPartnerMeta() || isMandatory()) {\r
+                                       isPublicMeta() || isPartnerMeta() || isMandatory() || isProfileMeta()) {\r
                                return true;\r
                        } else {\r
                                return false;\r
@@ -377,13 +365,13 @@ public class Package {
                }\r
                \r
                if (Options.doTest) { // include test packages for SDK testing\r
-                       if (isRootMeta() || isInstallMeta() || isExtraMeta() || isMandatory() || isPublicMeta() || isTestMeta()) {\r
+                       if (isRootMeta() || isInstallMeta() || isExtraMeta() || isMandatory() || isPublicMeta() || isTestMeta() || isProfileMeta()) {\r
                                return true;\r
                        } else {\r
                                return false;\r
                        }\r
                } else { // except test packages for normal SDK.\r
-                       if (isRootMeta() || isInstallMeta() || isExtraMeta() || isMandatory() || isPublicMeta()) {\r
+                       if (isRootMeta() || isInstallMeta() || isExtraMeta() || isMandatory() || isPublicMeta() || isProfileMeta()) {\r
                                return true;\r
                        } else {\r
                                return false;\r
@@ -494,11 +482,11 @@ public class Package {
                }               \r
        }\r
        \r
-       public boolean isDevmoduleMeta() {\r
-               String attributeValue = getAttribute().trim();\r
-               \r
-               if (attributeValue.equalsIgnoreCase(ATTRIBUTE_DEVMODULE)) {\r
+       public boolean isDefault() {\r
+               if (getValue(FIELD_DEFAULT).equalsIgnoreCase("true")) {\r
                        return true;\r
+               } else if (getValue(FIELD_DEFAULT).equalsIgnoreCase("false")) {\r
+                       return false;\r
                } else {\r
                        return false;\r
                }               \r
@@ -531,23 +519,9 @@ public class Package {
                return depends;\r
        }\r
        \r
-       public Collection<String> getUIDependentPackageNames() {\r
-               HashSet<String> depends = new HashSet<String>();\r
-               String dependsStr = getValue(FIELD_UI_DEPENDENCY);\r
-               String deps[] = dependsStr.split(",");\r
-               for(int i = 0; i < deps.length; i++) {\r
-                       String dep = removeOSInformationOfDepends(deps[i]);\r
-\r
-                       if(!dep.isEmpty()) {\r
-                               depends.add(dep);\r
-                       }\r
-               }\r
-               return depends;\r
-       }\r
-       \r
-       public Collection<String> getUIdefaultPackageNames() {\r
+       public Collection<String> getDefaultDependentPackageNames() {\r
                HashSet<String> depends = new HashSet<String>();\r
-               String dependsStr = getValue(FIELD_DEFAULT_CHECK);\r
+               String dependsStr = getValue(FIELD_DEFAULT);\r
                String deps[] = dependsStr.split(",");\r
                for(int i = 0; i < deps.length; i++) {\r
                        String dep = removeOSInformationOfDepends(deps[i]);\r
index 67faa8c..88cdf57 100644 (file)
@@ -355,7 +355,7 @@ public class InstallManagerWindow extends ApplicationWindow {
                                                \r
                                                if (!controller.isNewInstallation()) {// Update case\r
                                                        Config.status = Config.Status.UPDATE;\r
-                                                       compositeUpdatableListPage.loadPage(controller);\r
+                                                       compositeUpdatableListPage.loadPage(controller, false);\r
                                                        btnBack.setVisible(true);\r
                                                        btnNext.setVisible(true);\r
                                                        showComposite(compositeUpdatableListPage);\r
@@ -364,7 +364,7 @@ public class InstallManagerWindow extends ApplicationWindow {
                                                        }\r
                                                        btnBack.setVisible(true);\r
                                                } else {\r
-                                                       boolean hasItem = compositeInstallableListPage.loadPage(controller);\r
+                                                       boolean hasItem = compositeInstallableListPage.loadPage(controller, false);\r
                                                        if (hasItem) {\r
                                                                Config.status = Config.Status.INSTALL;\r
                                                                showComposite(compositeInstallableListPage);\r
@@ -384,7 +384,7 @@ public class InstallManagerWindow extends ApplicationWindow {
                                                btnNext.setEnabled(true);\r
                                                PackageManager.dispose();\r
                                                initInstallManager();\r
-                                               compositeUpdatableListPage.loadPage(controller);\r
+                                               compositeUpdatableListPage.loadPage(controller, false);\r
                                                btnBack.setVisible(true);\r
                                                showComposite(compositeUpdatableListPage);\r
                                                if (controller.existRemovablePackage()) {\r
@@ -437,7 +437,7 @@ public class InstallManagerWindow extends ApplicationWindow {
                                                btnBack.setVisible(true);\r
                                        } else {\r
                                                if (!controller.isNewInstallation()) {// Update case\r
-                                                       compositeUpdatableListPage.loadPage(controller);\r
+                                                       compositeUpdatableListPage.loadPage(controller, false);\r
                                                        btnBack.setVisible(true);\r
                                                        showComposite(compositeUpdatableListPage);\r
                                                        if (controller.existRemovablePackage()) {\r
@@ -485,8 +485,8 @@ public class InstallManagerWindow extends ApplicationWindow {
                                                        compositeSetInstallDirectoryPage.loadPage(\r
                                                                        controller, compositeInstallableListPage.getCheckedPackageSize(false));\r
                                                        btnNext.setText("Install");\r
-//                                                     btnNext.setVisible(false);\r
-//                                                     btnBack.setBounds(447, 10, 78, 29);\r
+                                                       btnNext.setVisible(false);\r
+                                                       btnBack.setBounds(447, 10, 78, 29);\r
                                                }\r
                                        }\r
                                } else if (sl_composite.topControl == compositeUpdatableListPage) {\r
@@ -515,7 +515,6 @@ public class InstallManagerWindow extends ApplicationWindow {
                                        Registry.saveSDKInfo(Registry.targetPath);\r
                                        \r
                                        InstallManager.getInstance().initPackageList();\r
-\r
                                        if (!installable) {\r
                                                MessageBoxDlg.showDlg(\r
                                                                Display.getCurrent().getShells()[0],\r
@@ -537,7 +536,7 @@ public class InstallManagerWindow extends ApplicationWindow {
                                        }\r
 \r
                                        btnBack.setVisible(false);\r
-                                       btnNext.setVisible(false);\r
+                                       btnNext.setVisible(false);                                      \r
                                        List<Item> items = compositeInstallableListPage.getCustomTreeItems();\r
                                        showComposite(compositeInstallingPage);\r
                                        boolean result = compositeInstallingPage.loadPage(getSelectedPackageNames(items),\r
@@ -604,7 +603,9 @@ public class InstallManagerWindow extends ApplicationWindow {
                                } else if (sl_composite.topControl == compositeSetInstallDirectoryPage) {\r
                                        showComposite(compositeLicensePage);\r
                                        btnNext.setText("I agree");\r
+                                       btnNext.setVisible(true);\r
                                        btnNext.setEnabled(true);\r
+                                       btnBack.setBounds(363, 10, 78, 29);\r
                                } else if (sl_composite.topControl == compositeUninstallableListPage) {\r
                                        showComposite(compositeWelcomePage);\r
                                        btnNext.setVisible(false);\r
index 37356fb..b278058 100644 (file)
@@ -123,7 +123,6 @@ public class InstallableListPage extends PackageListPage {
                typicalButton.addSelectionListener(new SelectionAdapter() {\r
                        @Override\r
                        public void widgetSelected(SelectionEvent e) {\r
-                               refreshByType(InstallType.TYPICAL);\r
                                changeTableVisibleStatus(InstallType.TYPICAL);\r
                                addExtraButton.setVisible(false);\r
                        }\r
@@ -173,7 +172,7 @@ public class InstallableListPage extends PackageListPage {
                        public void widgetSelected(SelectionEvent e) {\r
                                extraDialog = new AddExtraRepositoryDialog(buttonComposite.getShell(), viewController);\r
                                extraDialog.open();\r
-                               loadPage(InstallManagerWindow.getInstallManagerWindow().getViewController());\r
+                               loadPage(InstallManagerWindow.getInstallManagerWindow().getViewController(), true);\r
                        }\r
                });\r
                \r
@@ -184,66 +183,58 @@ public class InstallableListPage extends PackageListPage {
         * When a install type is changed, components size and tree checked status are should be changed.\r
         * @param installType\r
         */\r
-       private void refreshByType(InstallType instType) {\r
-               String iType = null;\r
-\r
-               if (instType == InstallType.TYPICAL) {\r
-                       iType = TYPICAL_PACKAGE_NAME;\r
-               } else {\r
-                       throw new IMFatalException("Not supported install type.");\r
-               }\r
-\r
-               setCheckedByType(iType);\r
-\r
-               checkboxTreeViewer.getTree().setEnabled(false);\r
-               checkboxTreeViewer.refresh();\r
-               \r
-               lblRequiredSize.setText("Download size : "\r
-                               + convertToVolumeSize(getCheckedPackageSize(false)));\r
-               lblUncompressedSize.setText("Install size : "\r
-                               + convertToVolumeSize(getCheckedPackageSize(true)));\r
-               setNextBtnEnabledAboutCheckedPackageCount();\r
-       }\r
+//     private void refreshByType(String profile) {\r
+//             setCheckedByProfile(profile);\r
+//\r
+//             checkboxTreeViewer.getTree().setEnabled(false);\r
+//             checkboxTreeViewer.refresh();\r
+//             \r
+//             lblRequiredSize.setText("Download size : "\r
+//                             + convertToVolumeSize(getCheckedPackageSize(false)));\r
+//             lblUncompressedSize.setText("Install size : "\r
+//                             + convertToVolumeSize(getCheckedPackageSize(true)));\r
+//             setNextBtnEnabledAboutCheckedPackageCount();\r
+//     }\r
 \r
        /**\r
         * Check tree item by each install type.\r
         */\r
-       private void setCheckedByType(String installType) {\r
-               if (installType == null || installType.isEmpty()) {\r
-                       Log.err("Install type is empty. check install type or package server is old.");\r
-               }\r
-\r
-               Package pkg = InstallManager.getInstance().getPackageManager().getPackageByName(installType);\r
-\r
-               if (pkg == null) {\r
-                       Log.err(installType + " do not exist in package list.");\r
-                       return;\r
-               }\r
-\r
-               Collection<Item> checkedItems = new ArrayList<Item>();\r
-\r
-               for (String pkgName : pkg.getDependentPackageNames()) {\r
-                       Item item = findItem(pkgName, customTreeItems);\r
-\r
-                       if (item != null) {\r
-                               checkedItems.add(item);\r
-                       }\r
-               }\r
-\r
-               setCheckedItem(checkedItems);\r
-       }\r
-\r
-       private void setCheckedItem(Collection<Item> itemList) {\r
-               checkboxTreeViewer.setCheckedElements(itemList.toArray());\r
-\r
-               // refresh tree item. All of items are unchecked.\r
-               setAllChecked(false);\r
-\r
-               // check selected item.\r
-               for (Item item : itemList) {\r
-                       setCheckbox(item, true);\r
-               }\r
-       }\r
+//     private void setCheckedByProfile(String profile) {\r
+//             if (profile == null || profile.isEmpty()) {\r
+//                     Log.err("Install type is empty. check install type or package server is old.");\r
+//             }\r
+//\r
+//             Package pkg = InstallManager.getInstance().getPackageManager().getPackageByName(profile);\r
+//\r
+//             if (pkg == null) {\r
+//                     Log.err(profile + " do not exist in package list.");\r
+//                     return;\r
+//             }\r
+//\r
+//             Collection<Item> checkedItems = new ArrayList<Item>();\r
+//\r
+//             for (String pkgName : pkg.getDependentPackageNames()) {\r
+//                     Item item = findItem(pkgName, customTreeItems);\r
+//\r
+//                     if (item != null) {\r
+//                             checkedItems.add(item);\r
+//                     }\r
+//             }\r
+//\r
+//             setCheckedItem(checkedItems);\r
+//     }\r
+\r
+//     private void setCheckedItem(Collection<Item> itemList) {\r
+//             checkboxTreeViewer.setCheckedElements(itemList.toArray());\r
+//\r
+//             // refresh tree item. All of items are unchecked.\r
+//             setAllChecked(false);\r
+//\r
+//             // check selected item.\r
+//             for (Item item : itemList) {\r
+//                     setCheckbox(item, true);\r
+//             }\r
+//     }\r
        \r
 \r
 \r
@@ -257,12 +248,16 @@ public class InstallableListPage extends PackageListPage {
        /**\r
         * Display installable package list from view controller.\r
         */\r
-       public boolean loadPage(ViewController controller) {\r
+       public boolean loadPage(ViewController controller, boolean extra) {\r
                this.viewController = controller;\r
                getCustomTreeItems().clear();\r
                \r
-               tree.setVisible(false);\r
-               mDescriptionText.setVisible(false);\r
+               if (extra) {\r
+                       changeTableVisibleStatus(InstallType.CUSTOM);\r
+               } else {\r
+                       tree.setVisible(false);\r
+                       mDescriptionText.setVisible(false);\r
+               }\r
                \r
                // back to next on component selection page case.\r
                // in this case, page status should be typical selection case.\r
@@ -293,7 +288,7 @@ public class InstallableListPage extends PackageListPage {
                        return false;\r
                }\r
                \r
-               refreshByType(InstallType.TYPICAL);\r
+               refreshByType(defaultSelectionProfile.getPackageName());\r
 \r
 //             initDescriptionToInstallType();\r
 \r
@@ -329,25 +324,25 @@ public class InstallableListPage extends PackageListPage {
         * @param itemList\r
         * @return item which should be checked in component tree.\r
         */\r
-       private Item findItem(String name, Collection<Item> itemList) {\r
-               Item retItem = null;\r
-               for (Item item : itemList) {\r
-                       if (name.equalsIgnoreCase(item.getPackageName())) {\r
-                               return item;\r
-                       } else {\r
-                               Collection<Item> childItemList = item.getChildren();\r
-\r
-                               if (childItemList.size() > 0) {\r
-                                       retItem = findItem(name, childItemList);\r
-\r
-                                       if (retItem != null) {\r
-                                               break;\r
-                                       }\r
-                               }\r
-                       }\r
-               }\r
-               return retItem;\r
-       }\r
+//     private Item findItem(String name, Collection<Item> itemList) {\r
+//             Item retItem = null;\r
+//             for (Item item : itemList) {\r
+//                     if (name.equalsIgnoreCase(item.getPackageName())) {\r
+//                             return item;\r
+//                     } else {\r
+//                             Collection<Item> childItemList = item.getChildren();\r
+//\r
+//                             if (childItemList.size() > 0) {\r
+//                                     retItem = findItem(name, childItemList);\r
+//\r
+//                                     if (retItem != null) {\r
+//                                             break;\r
+//                                     }\r
+//                             }\r
+//                     }\r
+//             }\r
+//             return retItem;\r
+//     }\r
        \r
        public CheckboxTreeViewer getCheckboxTreeViewer() {\r
                return checkboxTreeViewer;\r
index 7c75bb4..d12fe14 100644 (file)
@@ -65,6 +65,7 @@ import org.eclipse.swt.widgets.TreeColumn;
 import org.eclipse.swt.widgets.TreeItem;\r
 import org.tizen.installmanager.core.Config;\r
 import org.tizen.installmanager.core.InstallManager;\r
+import org.tizen.installmanager.lib.Log;\r
 import org.tizen.installmanager.lib.Platform;\r
 import org.tizen.installmanager.pkg.lib.PackageManager;\r
 import org.tizen.installmanager.pkg.model.Package;\r
@@ -107,18 +108,12 @@ public abstract class PackageListPage extends PageTemplate {
 \r
        private Composite profileComposite;\r
        protected Button profileButton;\r
-       private String selectedProfile = null;\r
+       private Package selectedProfile = null;\r
 \r
        ViewController viewController = InstallManagerWindow.getInstallManagerWindow().getViewController();;\r
        \r
-       private PackageSet profilePackageSet = null;\r
        private ArrayList<String> profileLabelList = null;\r
-       \r
-       private PackageSet defaultSelectionProfiles = null;\r
-       private PackageSet devModulePackageSet = null;\r
-       \r
-       private List<String> devModuleLabelList = new ArrayList<String>();\r
-       private PackageSet defaultSelectionDevModules = null;\r
+       protected Package defaultSelectionProfile = null;\r
 \r
        // Web, Native minimal packages name.\r
        protected static final String TYPICAL_PACKAGE_NAME = "TYPICAL";\r
@@ -152,11 +147,11 @@ public abstract class PackageListPage extends PageTemplate {
                profileLabelList = new ArrayList<String>();\r
                customTreeItems = new ArrayList<Item>();\r
                \r
-               setProfileList();\r
+               setProfileList(InstallType.TYPICAL.name());\r
                setTitleLabel(getCustomComposite());\r
                setDescriptionText(getCustomComposite());\r
                setProfileLabel(getCustomComposite());\r
-               setProfileButton(getCustomComposite());\r
+               setProfileButton(getCustomComposite(), InstallType.TYPICAL.name());\r
                \r
 //             setProfileTable(getCustomComposite());\r
 //             setDevModuleLabel(getCustomComposite());\r
@@ -192,7 +187,7 @@ public abstract class PackageListPage extends PageTemplate {
                profileLabel.setBackground(InstallManagerWindow.getBackgroundColor());\r
        }\r
        \r
-       private void setProfileButton(Composite composite) {\r
+       private void setProfileButton(Composite composite, String installType) {\r
                // contain default license\r
                int height = 25;\r
                int width = 250;\r
@@ -205,20 +200,29 @@ public abstract class PackageListPage extends PageTemplate {
                \r
                profileComposite = new Composite(composite, SWT.NONE);\r
                profileComposite.setBounds(150, defaultHeight, 468, 280);\r
-//             profileComposite.setBackground(InstallManagerWindow.getBackgroundColor());\r
+               profileComposite.setBackground(InstallManagerWindow.getBackgroundColor());\r
+               \r
+               PackageSet profilePkgs = viewController.getProfileMetaPackages();\r
                \r
                // add license of items\r
                int yCoordinate = 0;\r
-               for (String profile : profileLabelList) {\r
+//             for (Package profile : profilePkgs) {\r
+               for (String profileName : profileLabelList) {\r
                        Button profileButton = new Button(profileComposite, SWT.RADIO);\r
                        profileButton.setBounds(0, yCoordinate, width, height);\r
-                       profileButton.setText(profile);\r
+                       profileButton.setText(profileName);\r
+                       profileButton.setBackground(InstallManagerWindow.getBackgroundColor());\r
 \r
+                       if (profileName.equalsIgnoreCase(defaultSelectionProfile.getPackageName())) {\r
+                               profileButton.setSelection(true);\r
+                       }\r
+                       \r
                        profileButton.addSelectionListener(new SelectionAdapter() {\r
                                @Override\r
                                public void widgetSelected(SelectionEvent e) {\r
                                        Button button = (Button) e.widget;\r
                                        setSelectedProfile(button.getText());\r
+                                       refreshByType(button.getText());\r
                                }\r
                        });\r
 \r
@@ -227,31 +231,29 @@ public abstract class PackageListPage extends PageTemplate {
        }\r
        \r
        private void setSelectedProfile(String profile) {\r
-               selectedProfile = profile;\r
+               PackageSet profilePkgs = viewController.getProfileMetaPackages();\r
+               for (Package pkg : profilePkgs) {\r
+                       if (pkg.getPackageName().equalsIgnoreCase(profile)) {\r
+                               selectedProfile = pkg;          \r
+                       }\r
+               }\r
        }\r
        \r
-       public String getSelectedProfile() {\r
+       public Package getSelectedProfile() {\r
                return selectedProfile;\r
        }\r
        \r
-       private void setProfileList() {\r
-               PackageSet profilePkgs = viewController.getProfileMetaPackages();\r
-\r
-//             for (Package pkg : profilePkgs) {\r
-//                     profilePackageSet = viewController.getUIDependsPackages(pkg);\r
-//                     defaultSelectionProfiles = viewController.getUIDefaultPackages(pkg);\r
-//             }\r
+       public List<String> getSelectedPackagesFromProfile() {\r
                \r
-               for (Package profile : profilePkgs) {\r
-                       profileLabelList.add(profile.getLabel());                                               \r
-               }\r
+               return null;\r
        }\r
        \r
-       private void setDefaultSelection(PackageSet pkgs, Table whichTable) {\r
-               for (Package defaultPkg : pkgs) {\r
-                       for (TableItem item : whichTable.getItems()) {\r
-                               if (defaultPkg.getLabel().equalsIgnoreCase(item.getText())) {\r
-                                       item.setChecked(true);\r
+       private void setProfileList(String pkgName) {\r
+               for (Package pkg : viewController.getInstallTypeMetaPackages()) {\r
+                       if (pkgName.equalsIgnoreCase(pkg.getPackageName())) {\r
+                               profileLabelList.addAll(pkg.getDependentPackageNames());\r
+                               for (String defaultPkg : pkg.getDefaultDependentPackageNames()) {\r
+                                       defaultSelectionProfile = InstallManager.getInstance().getPackageManager().getPackageByName(defaultPkg);\r
                                }\r
                        }\r
                }\r
@@ -664,10 +666,6 @@ public abstract class PackageListPage extends PageTemplate {
                        }\r
                }\r
        }\r
-       \r
-       public List<String> getSelectedPackagesFromProfile() {\r
-               return null;\r
-       }\r
 \r
        /**\r
         * Get items list.\r
@@ -689,7 +687,7 @@ public abstract class PackageListPage extends PageTemplate {
                return selectedList;\r
        }\r
 \r
-       abstract public boolean loadPage(ViewController controller);\r
+       abstract public boolean loadPage(ViewController controller, boolean extra);\r
 \r
        protected void loadPackagesToTreeViewer(PackageSet packageSet, Type type) {\r
                //make tree items from package set.\r
@@ -826,6 +824,7 @@ public abstract class PackageListPage extends PageTemplate {
                treeItems.addAll(addedItems);\r
                \r
                Collections.sort(treeItems);\r
+               System.out.println("asdfasdf");\r
        }\r
 \r
        private void makeState() {\r
@@ -1017,4 +1016,89 @@ public abstract class PackageListPage extends PageTemplate {
                        // not support install type\r
                }\r
        }\r
+       \r
+       /**\r
+        * When a install type is changed, components size and tree checked status are should be changed.\r
+        * @param installType\r
+        */\r
+       protected void refreshByType(String profile) {\r
+               setCheckedByProfile(profile);\r
+\r
+               checkboxTreeViewer.getTree().setEnabled(false);\r
+               checkboxTreeViewer.refresh();\r
+               \r
+               lblRequiredSize.setText("Download size : "\r
+                               + convertToVolumeSize(getCheckedPackageSize(false)));\r
+               lblUncompressedSize.setText("Install size : "\r
+                               + convertToVolumeSize(getCheckedPackageSize(true)));\r
+               setNextBtnEnabledAboutCheckedPackageCount();\r
+       }\r
+       \r
+       /**\r
+        * Check tree item by each install type.\r
+        */\r
+       private void setCheckedByProfile(String profile) {\r
+               if (profile == null || profile.isEmpty()) {\r
+                       Log.err("Install type is empty. check install type or package server is old.");\r
+               }\r
+\r
+               Package pkg = InstallManager.getInstance().getPackageManager().getPackageByName(profile);\r
+\r
+               if (pkg == null) {\r
+                       Log.err(profile + " do not exist in package list.");\r
+                       return;\r
+               }\r
+\r
+               Collection<Item> checkedItems = new ArrayList<Item>();\r
+\r
+               for (String pkgName : pkg.getDefaultDependentPackageNames()) {\r
+                       Item item = findItem(pkgName, customTreeItems);\r
+\r
+                       if (item != null) {\r
+                               checkedItems.add(item);\r
+                       }\r
+               }\r
+\r
+               setCheckedItem(checkedItems);\r
+       }\r
+\r
+       private void setCheckedItem(Collection<Item> itemList) {\r
+               checkboxTreeViewer.setCheckedElements(itemList.toArray());\r
+\r
+               // refresh tree item. All of items are unchecked.\r
+               setAllChecked(false);\r
+\r
+               // check selected item.\r
+               for (Item item : itemList) {\r
+                       setCheckbox(item, true);\r
+               }\r
+       }\r
+       \r
+       /**\r
+        * Find item which should be checked in component tree.\r
+        * \r
+        * @param name\r
+        *            the name of item which should be checked.\r
+        * @param itemList\r
+        * @return item which should be checked in component tree.\r
+        */\r
+       private Item findItem(String name, Collection<Item> itemList) {\r
+               Item retItem = null;\r
+               for (Item item : itemList) {\r
+                       if (name.equalsIgnoreCase(item.getPackageName())) {\r
+                               return item;\r
+                       } else {\r
+                               Collection<Item> childItemList = item.getChildren();\r
+\r
+                               if (childItemList.size() > 0) {\r
+                                       retItem = findItem(name, childItemList);\r
+\r
+                                       if (retItem != null) {\r
+                                               break;\r
+                                       }\r
+                               }\r
+                       }\r
+               }\r
+               return retItem;\r
+       }\r
 }\r
index fe69c58..8849316 100644 (file)
@@ -129,7 +129,7 @@ public class UninstallableListPage extends PackageListPage {
        /**\r
         * Display uninstallable list page.\r
         */\r
-       public boolean loadPage(ViewController controller) {\r
+       public boolean loadPage(ViewController controller, boolean extra) {\r
                this.viewController = controller;\r
                getCustomTreeItems().clear();\r
 \r
index 03f2100..26eb522 100644 (file)
@@ -154,7 +154,7 @@ public class UpdatableListPage extends PackageListPage {
                        public void widgetSelected(SelectionEvent e) {
                                extraDialog = new AddExtraRepositoryDialog(buttonComposite.getShell(), viewController);
                                extraDialog.open();
-                               loadPage(InstallManagerWindow.getInstallManagerWindow().getViewController());
+                               loadPage(InstallManagerWindow.getInstallManagerWindow().getViewController(), false);
                        }
                });
        }
@@ -162,12 +162,18 @@ public class UpdatableListPage extends PackageListPage {
        /**
         * Display installable package list from view controller.
         */
-       public boolean loadPage(ViewController controller) {
+       public boolean loadPage(ViewController controller, boolean extra) {
                this.viewController = controller;
                getCustomTreeItems().clear();
                
-               tree.setVisible(false);
-               mDescriptionText.setVisible(false);
+               if (extra) {
+                       tree.setVisible(true);
+                       tree.setEnabled(true);
+                       mDescriptionText.setVisible(true);
+               } else {
+                       tree.setVisible(false);
+                       mDescriptionText.setVisible(false);
+               }
 
                try {
                        loadPackagesToTreeViewer(viewController.getInstallableMetaPackageList(), Type.UPDATE);
index adbe06a..801b62f 100644 (file)
@@ -232,14 +232,6 @@ public class ViewController {
                }\r
        }\r
        \r
-       public PackageSet getDevModuleMetaPackages() {\r
-               if (packageManager == null) {\r
-                       return null;\r
-               } else {\r
-                       return packageManager.getDevmoduleMetaPackagesOfRepository();\r
-               }\r
-       }\r
-       \r
        public PackageSet getInstallablePackageListInSnapshot() {\r
                if (packageManager == null) {\r
                        return null;\r
@@ -762,16 +754,6 @@ public class ViewController {
                return causePackages;\r
        }\r
        \r
-       public PackageSet getUIDependsPackages(Package pkg) {\r
-               PackageSet pkgSet = packageManager.getUIDependsPackages(pkg);\r
-               return pkgSet;\r
-       }\r
-       \r
-       public PackageSet getUIDefaultPackages(Package pkg) {\r
-               PackageSet pkgSet = packageManager.getUIDefaultPackages(pkg);\r
-               return pkgSet;\r
-       }\r
-       \r
        public void showChangeLog() {\r
                if (Documents.isChecked()) {\r
                        Documents.showChangeLog(); // show the change log(history)\r