From 49120f48474fc8fdc2448c75d961bc238213cfac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Tue, 1 May 2018 14:34:32 +0200 Subject: New upstream version 0.28.2 --- .../FSpotDatabaseBehavior.vala | 208 --------------------- 1 file changed, 208 deletions(-) delete mode 100644 plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala (limited to 'plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala') diff --git a/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala b/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala deleted file mode 100644 index 6d669b3..0000000 --- a/plugins/shotwell-data-imports/FSpotDatabaseBehavior.vala +++ /dev/null @@ -1,208 +0,0 @@ -/* Copyright 2016 Software Freedom Conservancy Inc. - * - * This software is licensed under the GNU Lesser General Public License - * (version 2.1 or later). See the COPYING file in this distribution. - */ - -namespace DataImports.FSpot.Db { - -private class FSpotBehaviorEntry { - private Utils.VersionNumber version; - private FSpotTableBehavior behavior; - - public FSpotBehaviorEntry(Utils.VersionNumber version, FSpotTableBehavior behavior) { - this.version = version; - this.behavior = behavior; - } - - public Utils.VersionNumber get_version() { - return version; - } - - public FSpotTableBehavior get_behavior() { - return behavior; - } -} - -/** - * A class that consolidates the behavior of all F-Spot tables (apart from meta) - * and is the one place to check whether the database version is supported. - */ -public class FSpotDatabaseBehavior : Object { - // Minimum unsupported version: any database from that version and above - // is not supported as it's too new and support has not been provided - // In practice, the code may work with future versions but this cannot be - // guaranteed as it hasn't been tested so it's probably better to just - // bomb out at that point rather than risk importing incorrect data - public static Utils.VersionNumber MIN_UNSUPPORTED_VERSION = - new Utils.VersionNumber({ 19 }); - private static Gee.Map> behavior_map; - - private FSpotTableBehavior photos_behavior; - private FSpotTableBehavior tags_behavior; - private FSpotTableBehavior photo_tags_behavior; - private FSpotTableBehavior photo_versions_behavior; - private FSpotTableBehavior rolls_behavior; - - public static void create_behavior_map() { - behavior_map = new Gee.HashMap>(); - // photos table - Gee.List photos_list = new Gee.ArrayList(); - // v0-4 - photos_list.add(new FSpotBehaviorEntry( - new Utils.VersionNumber({ 0 }), - FSpotPhotosV0Behavior.get_instance() - )); - // v5-6 - photos_list.add(new FSpotBehaviorEntry( - new Utils.VersionNumber({ 5 }), - FSpotPhotosV5Behavior.get_instance() - )); - // v7-10 - photos_list.add(new FSpotBehaviorEntry( - new Utils.VersionNumber({ 7 }), - FSpotPhotosV7Behavior.get_instance() - )); - // v11-15 - photos_list.add(new FSpotBehaviorEntry( - new Utils.VersionNumber({ 11 }), - FSpotPhotosV11Behavior.get_instance() - )); - // v16 - photos_list.add(new FSpotBehaviorEntry( - new Utils.VersionNumber({ 16 }), - FSpotPhotosV16Behavior.get_instance() - )); - // v17 - photos_list.add(new FSpotBehaviorEntry( - new Utils.VersionNumber({ 17 }), - FSpotPhotosV17Behavior.get_instance() - )); - // v18+ - photos_list.add(new FSpotBehaviorEntry( - new Utils.VersionNumber({ 18 }), - FSpotPhotosV18Behavior.get_instance() - )); - behavior_map.set(FSpotPhotosTable.TABLE_NAME, photos_list); - // tags table - Gee.List tags_list = new Gee.ArrayList(); - // v0+ - tags_list.add(new FSpotBehaviorEntry( - new Utils.VersionNumber({ 0 }), - FSpotTagsV0Behavior.get_instance() - )); - behavior_map.set(FSpotTagsTable.TABLE_NAME, tags_list); - // photo_tags table - Gee.List photo_tags_list = new Gee.ArrayList(); - // v0+ - photo_tags_list.add(new FSpotBehaviorEntry( - new Utils.VersionNumber({ 0 }), - FSpotPhotoTagsV0Behavior.get_instance() - )); - behavior_map.set(FSpotPhotoTagsTable.TABLE_NAME, photo_tags_list); - // photo_versions table - Gee.List photo_versions_list = new Gee.ArrayList(); - // v0-8 - photo_versions_list.add(new FSpotBehaviorEntry( - new Utils.VersionNumber({ 0 }), - FSpotPhotoVersionsV0Behavior.get_instance() - )); - // v9-15 - photo_versions_list.add(new FSpotBehaviorEntry( - new Utils.VersionNumber({ 9 }), - FSpotPhotoVersionsV9Behavior.get_instance() - )); - // v16 - photo_versions_list.add(new FSpotBehaviorEntry( - new Utils.VersionNumber({ 16 }), - FSpotPhotoVersionsV16Behavior.get_instance() - )); - // v17 - photo_versions_list.add(new FSpotBehaviorEntry( - new Utils.VersionNumber({ 17 }), - FSpotPhotoVersionsV17Behavior.get_instance() - )); - // v18+ - photo_versions_list.add(new FSpotBehaviorEntry( - new Utils.VersionNumber({ 18 }), - FSpotPhotoVersionsV18Behavior.get_instance() - )); - behavior_map.set(FSpotPhotoVersionsTable.TABLE_NAME, photo_versions_list); - // rolls table - Gee.List rolls_list = new Gee.ArrayList(); - // v0-4 - rolls_list.add(new FSpotBehaviorEntry( - new Utils.VersionNumber({ 0 }), - FSpotRollsV0Behavior.get_instance() - )); - // v5+ - rolls_list.add(new FSpotBehaviorEntry( - new Utils.VersionNumber({ 5 }), - FSpotRollsV5Behavior.get_instance() - )); - behavior_map.set(FSpotRollsTable.TABLE_NAME, rolls_list); - } - - public static FSpotTableBehavior? find_behavior(string table_name, Utils.VersionNumber version) { - FSpotTableBehavior behavior = null; - Gee.List behavior_list = behavior_map.get(table_name); - if (behavior_list != null) - foreach (FSpotBehaviorEntry entry in behavior_list) { - if (version.compare_to(entry.get_version()) >= 0) - behavior = entry.get_behavior(); - } - else - warning("Could not find behavior list for table %s", table_name); - return behavior; - - } - public FSpotDatabaseBehavior(Utils.VersionNumber version) throws Spit.DataImports.DataImportError { - if (version.compare_to(MIN_UNSUPPORTED_VERSION) >= 0) - throw new Spit.DataImports.DataImportError.UNSUPPORTED_VERSION("Version %s is not yet supported", version.to_string()); - - FSpotTableBehavior? photos_generic_behavior = find_behavior(FSpotPhotosTable.TABLE_NAME, version); - if (photos_generic_behavior != null) - photos_behavior = photos_generic_behavior as FSpotTableBehavior; - FSpotTableBehavior? tags_generic_behavior = find_behavior(FSpotTagsTable.TABLE_NAME, version); - if (tags_generic_behavior != null) - tags_behavior = tags_generic_behavior as FSpotTableBehavior; - FSpotTableBehavior? photo_tags_generic_behavior = find_behavior(FSpotPhotoTagsTable.TABLE_NAME, version); - if (photo_tags_generic_behavior != null) - photo_tags_behavior = photo_tags_generic_behavior as FSpotTableBehavior; - FSpotTableBehavior? photo_versions_generic_behavior = find_behavior(FSpotPhotoVersionsTable.TABLE_NAME, version); - if (photo_versions_generic_behavior != null) - photo_versions_behavior = photo_versions_generic_behavior as FSpotTableBehavior; - FSpotTableBehavior? rolls_generic_behavior = find_behavior(FSpotRollsTable.TABLE_NAME, version); - if (rolls_generic_behavior != null) - rolls_behavior = rolls_generic_behavior as FSpotTableBehavior; - - if (photos_behavior == null || tags_behavior == null || - photo_tags_behavior == null || photo_versions_behavior == null || - rolls_behavior == null - ) - throw new Spit.DataImports.DataImportError.UNSUPPORTED_VERSION("Version %s is not supported", version.to_string()); - } - - public FSpotTableBehavior get_photos_behavior() { - return photos_behavior; - } - - public FSpotTableBehavior get_tags_behavior() { - return tags_behavior; - } - - public FSpotTableBehavior get_photo_tags_behavior() { - return photo_tags_behavior; - } - - public FSpotTableBehavior get_photo_versions_behavior() { - return photo_versions_behavior; - } - - public FSpotTableBehavior get_rolls_behavior() { - return rolls_behavior; - } -} - -} - -- cgit v1.2.3