From 2da4c7df98f9a1fa9d2d83a486b12d7481dfb12c Mon Sep 17 00:00:00 2001
From: Kevin Ruland <kruland@sunflower.com>
Date: Tue, 3 Apr 2012 02:05:17 +0000
Subject: [PATCH] Remove the Daos interface and have the Application hold the
 ComponentPresetDao itself.  This was an unnecessary layer of abstraction.

---
 .../database/ComponentPresetDao.java          |  4 ++--
 core/src/net/sf/openrocket/database/Daos.java |  7 -------
 .../net/sf/openrocket/database/DaosImpl.java  | 19 -------------------
 .../openrocket/gui/adaptors/PresetModel.java  |  3 +--
 .../preset/ComponentPresetChooserDialog.java  |  2 +-
 .../sf/openrocket/startup/Application.java    | 13 +++++++------
 .../net/sf/openrocket/startup/Startup.java    |  6 ++++--
 7 files changed, 15 insertions(+), 39 deletions(-)
 delete mode 100644 core/src/net/sf/openrocket/database/Daos.java
 delete mode 100644 core/src/net/sf/openrocket/database/DaosImpl.java

diff --git a/core/src/net/sf/openrocket/database/ComponentPresetDao.java b/core/src/net/sf/openrocket/database/ComponentPresetDao.java
index 17a85c4ea..0cbdb1b54 100644
--- a/core/src/net/sf/openrocket/database/ComponentPresetDao.java
+++ b/core/src/net/sf/openrocket/database/ComponentPresetDao.java
@@ -16,9 +16,9 @@ public class ComponentPresetDao {
 	private final List<ComponentPreset> templates = new ArrayList<ComponentPreset>();
 
 	// Package scope constructor to control creation pattern.
-	ComponentPresetDao() {}
+	public ComponentPresetDao() {}
 	
-	void initialize() throws IOException {
+	public void initialize() throws IOException {
 		
 		InputStream is = ComponentPresetDao.class.getResourceAsStream("/datafiles/bodytubepresets.csv");
 		
diff --git a/core/src/net/sf/openrocket/database/Daos.java b/core/src/net/sf/openrocket/database/Daos.java
deleted file mode 100644
index f19839e71..000000000
--- a/core/src/net/sf/openrocket/database/Daos.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package net.sf.openrocket.database;
-
-public interface Daos {
-
-	public ComponentPresetDao getBodyTubePresetDao();
-	
-}
diff --git a/core/src/net/sf/openrocket/database/DaosImpl.java b/core/src/net/sf/openrocket/database/DaosImpl.java
deleted file mode 100644
index fde421855..000000000
--- a/core/src/net/sf/openrocket/database/DaosImpl.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package net.sf.openrocket.database;
-
-
-public class DaosImpl implements Daos {
-
-	private ComponentPresetDao bodyTubePresetDao;
-	
-	public DaosImpl() throws Exception {
-		bodyTubePresetDao = new ComponentPresetDao();
-		bodyTubePresetDao.initialize();
-		
-	}
-	
-	@Override
-	public ComponentPresetDao getBodyTubePresetDao() {
-		return bodyTubePresetDao;
-	}
-
-}
diff --git a/core/src/net/sf/openrocket/gui/adaptors/PresetModel.java b/core/src/net/sf/openrocket/gui/adaptors/PresetModel.java
index d8d23a3fa..87045931d 100644
--- a/core/src/net/sf/openrocket/gui/adaptors/PresetModel.java
+++ b/core/src/net/sf/openrocket/gui/adaptors/PresetModel.java
@@ -28,9 +28,8 @@ public class PresetModel extends AbstractListModel implements ComboBoxModel, Com
 	private final List<ComponentPreset> presets;
 	
 	public PresetModel(RocketComponent component) {
-		// FIXME:  Make generic for any component type
 		// FIXME:  This should load only the user's favorites, NOT all presets
-		presets = Application.getDaos().getBodyTubePresetDao().listAll();
+		presets = Application.getComponentPresetDao().listAll();
 		this.component = component;
 		previousPreset = component.getPresetComponent();
 		component.addComponentChangeListener(this);
diff --git a/core/src/net/sf/openrocket/gui/dialogs/preset/ComponentPresetChooserDialog.java b/core/src/net/sf/openrocket/gui/dialogs/preset/ComponentPresetChooserDialog.java
index 027e1c29b..52912439c 100644
--- a/core/src/net/sf/openrocket/gui/dialogs/preset/ComponentPresetChooserDialog.java
+++ b/core/src/net/sf/openrocket/gui/dialogs/preset/ComponentPresetChooserDialog.java
@@ -37,7 +37,7 @@ public class ComponentPresetChooserDialog extends JDialog {
 		this.component = component;
 		
 		// FIXME: Make generic for component type
-		presets = Application.getDaos().getBodyTubePresetDao().listAll();
+		presets = Application.getComponentPresetDao().listAll();
 		
 		
 		
diff --git a/core/src/net/sf/openrocket/startup/Application.java b/core/src/net/sf/openrocket/startup/Application.java
index 9f0f4321f..18d1af776 100644
--- a/core/src/net/sf/openrocket/startup/Application.java
+++ b/core/src/net/sf/openrocket/startup/Application.java
@@ -1,6 +1,6 @@
 package net.sf.openrocket.startup;
 
-import net.sf.openrocket.database.Daos;
+import net.sf.openrocket.database.ComponentPresetDao;
 import net.sf.openrocket.database.MotorDatabase;
 import net.sf.openrocket.l10n.ClassBasedTranslator;
 import net.sf.openrocket.l10n.DebugTranslator;
@@ -25,7 +25,7 @@ public final class Application {
 	
 	private static MotorDatabase motorSetDatabase;
 	
-	private static Daos daos;
+	private static ComponentPresetDao componentPresetDao;
 
 	private static Preferences preferences;
 	
@@ -163,12 +163,13 @@ public final class Application {
 		Application.motorSetDatabase = motorSetDatabase;
 	}
 
-	public static Daos getDaos() {
-		return daos;
+	public static ComponentPresetDao getComponentPresetDao() {
+		return componentPresetDao;
+		
 	}
 
-	public static void setDaos(Daos daos) {
-		Application.daos = daos;
+	public static void setComponentPresetDao(ComponentPresetDao componentPresetDao) {
+		Application.componentPresetDao = componentPresetDao;
 	}
 	
 
diff --git a/core/src/net/sf/openrocket/startup/Startup.java b/core/src/net/sf/openrocket/startup/Startup.java
index 3f5f176f6..1b6cfc8bc 100644
--- a/core/src/net/sf/openrocket/startup/Startup.java
+++ b/core/src/net/sf/openrocket/startup/Startup.java
@@ -4,7 +4,7 @@ import java.io.PrintStream;
 import java.util.Locale;
 import java.util.prefs.Preferences;
 
-import net.sf.openrocket.database.DaosImpl;
+import net.sf.openrocket.database.ComponentPresetDao;
 import net.sf.openrocket.gui.util.SwingPreferences;
 import net.sf.openrocket.l10n.DebugTranslator;
 import net.sf.openrocket.l10n.L10N;
@@ -57,7 +57,9 @@ public class Startup {
 		initializeL10n();
 
 		// Must be done after localization is initialized
-		Application.setDaos( new DaosImpl() );
+		ComponentPresetDao componentPresetDao = new ComponentPresetDao();
+		componentPresetDao.initialize();
+		Application.setComponentPresetDao( componentPresetDao );
 		
 		// Continue startup in Startup2 class (where Application is already set up)
 		Startup2.runMain(args);