OSDN Git Service

AppliStation-All,起動時間の高速化。起動時のpackages.list.xmlの読み込み処理を正常時に2回重複して行っていたのを修正。
[applistation/AppliStation.git] / na-get-lib / NaGet.Packages / PackageListsManager.cs
index 2fedc2b..861bc07 100644 (file)
@@ -42,11 +42,14 @@ namespace NaGet.Packages
                private List<InstallationLog> systemInstalledLogList;\r
                \r
                /// <summary>\r
-               /// å\88\9dæ\9c\9få\8c\96ã\82\92ã\81\99ã\82\8bã\80\82ã\83\95ã\82¡ã\82¤ã\83«ç¾¤ã\82\92読ã\81¿è¾¼ã\82\93ã\81§æ\9b´æ\96°ã\81\8cã\81ªã\81\95ã\82\8cã\82\8b\r
+               /// å\88\9dæ\9c\9få\8c\96ã\82\92ã\81\99ã\82\8bã\80\82ã\83\87ã\83¼ã\82¿ã\81®èª­ã\81¿è¾¼ã\81¿ã\81¯æ\98\8e示ç\9a\84ã\81«LoadPackageLists()ã\82\92å\91¼ã\81³å\87ºã\81\95ã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81ªã\81\84\r
                /// </summary>\r
                public PackageListsManager()\r
                {\r
-                       LoadPackageLists();\r
+                       availablePkgList = new PackageList<Package>();\r
+                       installedPkgList = new PackageList<InstalledPackage>();\r
+                       systemInstalledPkgList = new PackageList<InstalledPackage>();\r
+                       systemInstalledLogList = new List<InstallationLog>();\r
                }\r
                \r
                #region ファイル読み書き\r
@@ -56,32 +59,37 @@ namespace NaGet.Packages
                /// </summary>\r
                public void LoadPackageLists()\r
                {\r
-                       try {\r
-                               availablePkgList = NaGet.Utils.GetDeserializedObject<PackageList<Package>>(NaGet.Env.PackageListFile);\r
-                       } catch (FileNotFoundException) {\r
+                       System.Xml.Serialization.XmlSerializer sr;\r
+                       \r
+                       // ソフトリストのパッケージリスト読み込み\r
+                       sr = new System.Xml.Serialization.XmlSerializer(typeof(PackageList<Package>));\r
+                       if (File.Exists(NaGet.Env.PackageListFile)) {\r
+                               availablePkgList = (PackageList<Package>) NaGet.Utils.GetDeserializedObject(NaGet.Env.PackageListFile, sr);\r
+                       } else {\r
                                availablePkgList = new PackageList<Package>();\r
                        }\r
                        \r
-                       try {\r
-                               installedPkgList = NaGet.Utils.GetDeserializedObject<PackageList<InstalledPackage>>(NaGet.Env.ArchiveInstalledPackageListFile);\r
-                       } catch (FileNotFoundException) {\r
+                       sr = new System.Xml.Serialization.XmlSerializer(typeof(PackageList<InstalledPackage>));\r
+                       if (File.Exists(NaGet.Env.ArchiveInstalledPackageListFile)) {\r
+                               installedPkgList = (PackageList<InstalledPackage>) NaGet.Utils.GetDeserializedObject(NaGet.Env.ArchiveInstalledPackageListFile, sr);\r
+                       } else {\r
                                installedPkgList = new PackageList<InstalledPackage>();\r
                        }\r
                        \r
-                       try {\r
-                               systemInstalledPkgList = NaGet.Utils.GetDeserializedObject<PackageList<InstalledPackage>>(NaGet.Env.SystemInstalledPackageListFile);\r
-                       } catch (FileNotFoundException) {\r
+                       //sr = new System.Xml.Serialization.XmlSerializer(typeof(PackageList<InstalledPackage>));\r
+                       if (File.Exists(NaGet.Env.SystemInstalledPackageListFile)) {\r
+                               systemInstalledPkgList = (PackageList<InstalledPackage>) NaGet.Utils.GetDeserializedObject(NaGet.Env.SystemInstalledPackageListFile, sr);\r
+                       } else {\r
                                systemInstalledPkgList = new PackageList<InstalledPackage>();\r
                        }\r
                        \r
-                       \r
-                       systemInstalledLogList = new List<InstallationLog>();\r
-                       try {\r
-                               systemInstalledLogList.AddRange(\r
-                                       NaGet.Utils.GetDeserializedObject<InstallationLog[]>(NaGet.Env.SystemInstalledPackageLogFile)\r
+                       sr = new System.Xml.Serialization.XmlSerializer(typeof(InstallationLog[]));\r
+                       if (File.Exists(NaGet.Env.SystemInstalledPackageLogFile)) {\r
+                               systemInstalledLogList = new List<InstallationLog>(\r
+                                       (InstallationLog[]) NaGet.Utils.GetDeserializedObject(NaGet.Env.SystemInstalledPackageLogFile, sr)\r
                                );\r
-                       } catch (Exception) {\r
-                               // do nothing\r
+                       } else {\r
+                               systemInstalledLogList = new List<InstallationLog>();\r
                        }\r
                }\r
                \r