From 9a9eb739452e2d5d280be874bdec74f9b33e8d5e Mon Sep 17 00:00:00 2001 From: Tim Su Date: Wed, 25 Aug 2010 19:55:53 -0700 Subject: [PATCH] reflected new API change in dependency injector --- .../todoroo/astrid/core/PluginServices.java | 16 ------- .../astrid/activity/FilterListActivity.java | 12 ++--- .../astrid/activity/TaskListActivity.java | 4 -- .../service/AstridDependencyInjector.java | 4 +- .../service/DependencyInjectionTests.java | 44 ++++++++++--------- .../service/TestDependencyInjector.java | 27 ++---------- .../AstridDependencyInjectorTests.java | 5 +-- .../upgrade/Astrid2To3UpgradeTests.java | 6 ++- 8 files changed, 37 insertions(+), 81 deletions(-) diff --git a/astrid/plugin-src/com/todoroo/astrid/core/PluginServices.java b/astrid/plugin-src/com/todoroo/astrid/core/PluginServices.java index 5e60bd77d..b120128e6 100644 --- a/astrid/plugin-src/com/todoroo/astrid/core/PluginServices.java +++ b/astrid/plugin-src/com/todoroo/astrid/core/PluginServices.java @@ -3,8 +3,6 @@ package com.todoroo.astrid.core; import com.todoroo.andlib.service.Autowired; import com.todoroo.andlib.service.DependencyInjectionService; import com.todoroo.andlib.service.ExceptionService; -import com.todoroo.andlib.utility.DateUtilities; -import com.todoroo.andlib.utility.DialogUtilities; import com.todoroo.astrid.dao.Database; import com.todoroo.astrid.dao.StoreObjectDao; import com.todoroo.astrid.service.AddOnService; @@ -32,12 +30,6 @@ public final class PluginServices { @Autowired MetadataService metadataService; - @Autowired - DialogUtilities DialogUtilities; - - @Autowired - DateUtilities dateUtilities; - @Autowired AddOnService addOnService; @@ -78,14 +70,6 @@ public final class PluginServices { return getInstance().addOnService; } - public static DialogUtilities getDialogUtilities() { - return getInstance().DialogUtilities; - } - - public static DateUtilities getDateUtilities() { - return getInstance().dateUtilities; - } - public static StoreObjectDao getStoreObjectDao() { return getInstance().storeObjectDao; } diff --git a/astrid/src/com/todoroo/astrid/activity/FilterListActivity.java b/astrid/src/com/todoroo/astrid/activity/FilterListActivity.java index cd05deffe..5053ddc64 100644 --- a/astrid/src/com/todoroo/astrid/activity/FilterListActivity.java +++ b/astrid/src/com/todoroo/astrid/activity/FilterListActivity.java @@ -5,8 +5,8 @@ package com.todoroo.astrid.activity; import android.app.AlertDialog; import android.app.ExpandableListActivity; -import android.app.SearchManager; import android.app.PendingIntent.CanceledException; +import android.app.SearchManager; import android.content.DialogInterface; import android.content.Intent; import android.graphics.Bitmap; @@ -18,20 +18,20 @@ import android.net.Uri; import android.os.Bundle; import android.util.DisplayMetrics; import android.view.ContextMenu; +import android.view.ContextMenu.ContextMenuInfo; import android.view.KeyEvent; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.WindowManager; -import android.view.ContextMenu.ContextMenuInfo; import android.view.inputmethod.EditorInfo; import android.widget.EditText; import android.widget.ExpandableListView; +import android.widget.ExpandableListView.ExpandableListContextMenuInfo; import android.widget.FrameLayout; import android.widget.TextView; -import android.widget.Toast; -import android.widget.ExpandableListView.ExpandableListContextMenuInfo; import android.widget.TextView.OnEditorActionListener; +import android.widget.Toast; import com.flurry.android.FlurryAgent; import com.timsu.astrid.R; @@ -40,7 +40,6 @@ import com.todoroo.andlib.service.DependencyInjectionService; import com.todoroo.andlib.service.ExceptionService; import com.todoroo.andlib.sql.Functions; import com.todoroo.andlib.sql.QueryTemplate; -import com.todoroo.andlib.utility.DialogUtilities; import com.todoroo.astrid.adapter.FilterAdapter; import com.todoroo.astrid.api.Filter; import com.todoroo.astrid.api.FilterCategory; @@ -75,9 +74,6 @@ public class FilterListActivity extends ExpandableListActivity { @Autowired protected ExceptionService exceptionService; - @Autowired - protected DialogUtilities DialogUtilities; - FilterAdapter adapter = null; /* ====================================================================== diff --git a/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java b/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java index 1fd140993..b042de133 100644 --- a/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java +++ b/astrid/src/com/todoroo/astrid/activity/TaskListActivity.java @@ -58,7 +58,6 @@ import com.todoroo.andlib.service.ContextManager; import com.todoroo.andlib.service.DependencyInjectionService; import com.todoroo.andlib.service.ExceptionService; import com.todoroo.andlib.utility.AndroidUtilities; -import com.todoroo.andlib.utility.DialogUtilities; import com.todoroo.andlib.utility.Pair; import com.todoroo.andlib.widget.GestureService; import com.todoroo.andlib.widget.GestureService.GestureInterface; @@ -141,9 +140,6 @@ public class TaskListActivity extends ListActivity implements OnScrollListener, @Autowired protected MetadataService metadataService; - @Autowired - protected DialogUtilities DialogUtilities; - @Autowired protected Database database; diff --git a/astrid/src/com/todoroo/astrid/service/AstridDependencyInjector.java b/astrid/src/com/todoroo/astrid/service/AstridDependencyInjector.java index efecc4d0f..422acb7ba 100644 --- a/astrid/src/com/todoroo/astrid/service/AstridDependencyInjector.java +++ b/astrid/src/com/todoroo/astrid/service/AstridDependencyInjector.java @@ -87,9 +87,7 @@ public class AstridDependencyInjector extends AbstractDependencyInjector { synchronized(AstridDependencyInjector.class) { if(instance == null) instance = new AstridDependencyInjector(); - DependencyInjectionService.getInstance().setInjectors(new AbstractDependencyInjector[] { - instance - }); + DependencyInjectionService.getInstance().addInjector(instance); } } diff --git a/tests/src/com/todoroo/andlib/service/DependencyInjectionTests.java b/tests/src/com/todoroo/andlib/service/DependencyInjectionTests.java index a4ee76662..2407b4c86 100644 --- a/tests/src/com/todoroo/andlib/service/DependencyInjectionTests.java +++ b/tests/src/com/todoroo/andlib/service/DependencyInjectionTests.java @@ -4,15 +4,10 @@ import java.lang.reflect.Field; import android.test.AndroidTestCase; -import com.todoroo.andlib.service.AbstractDependencyInjector; -import com.todoroo.andlib.service.Autowired; -import com.todoroo.andlib.service.DependencyInjectionService; - public class DependencyInjectionTests extends AndroidTestCase { public void testNoAutowire() { DependencyInjectionService service = new DependencyInjectionService(); - service.setInjectors(new AbstractDependencyInjector[] {}); Object test = new Object(); service.inject(test); @@ -20,16 +15,17 @@ public class DependencyInjectionTests extends AndroidTestCase { public void testSimpleStringInjectionAutowire() { DependencyInjectionService service = new DependencyInjectionService(); - service.setInjectors(new AbstractDependencyInjector[] { + service.addInjector( new AbstractDependencyInjector() { + @Override public Object getInjection(Object object, Field field) { if(field.getName().equals("foo")) return "bar"; return null; } } - }); + ); // test various permissions Object test = new Object() { @@ -95,22 +91,25 @@ public class DependencyInjectionTests extends AndroidTestCase { public void testHierarchicalStringInjectionAutowire() { DependencyInjectionService service = new DependencyInjectionService(); - service.setInjectors(new AbstractDependencyInjector[] { + service.addInjector( new AbstractDependencyInjector() { + @Override public Object getInjection(Object object, Field field) { - if(field.getName().equals("foo")) - return "bar"; - return null; + return "malarkey"; } - }, + } + ); + service.addInjector( new AbstractDependencyInjector() { + @Override public Object getInjection(Object object, Field field) { - return "malarkey"; + if(field.getName().equals("foo")) + return "bar"; + return null; } - } - }); + }); Object test = new Object() { @Autowired @@ -139,16 +138,17 @@ public class DependencyInjectionTests extends AndroidTestCase { public void testMissingInjection() { DependencyInjectionService service = new DependencyInjectionService(); - service.setInjectors(new AbstractDependencyInjector[] { + service.addInjector( new AbstractDependencyInjector() { + @Override public Object getInjection(Object object, Field field) { if(field.getName().equals("wozzle")) return "bar"; return null; } } - }); + ); Object test = new Object() { @Autowired @@ -172,16 +172,17 @@ public class DependencyInjectionTests extends AndroidTestCase { public void testMultipleInjection() { DependencyInjectionService service = new DependencyInjectionService(); - service.setInjectors(new AbstractDependencyInjector[] { + service.addInjector( new AbstractDependencyInjector() { + @Override public Object getInjection(Object object, Field field) { if(field.getName().equals("foo")) return "bar"; return null; } } - }); + ); Object test1 = new Object() { @Autowired @@ -219,9 +220,10 @@ public class DependencyInjectionTests extends AndroidTestCase { public void testInheritedInjection() { DependencyInjectionService service = new DependencyInjectionService(); - service.setInjectors(new AbstractDependencyInjector[] { + service.addInjector( new AbstractDependencyInjector() { + @Override public Object getInjection(Object object, Field field) { if(field.getName().equals("foo")) return "gotfoo"; @@ -230,7 +232,7 @@ public class DependencyInjectionTests extends AndroidTestCase { return null; } } - }); + ); ChildInjectee child = new ChildInjectee(); service.inject(child); diff --git a/tests/src/com/todoroo/andlib/service/TestDependencyInjector.java b/tests/src/com/todoroo/andlib/service/TestDependencyInjector.java index 9c0d0b54f..7c4d9cc04 100644 --- a/tests/src/com/todoroo/andlib/service/TestDependencyInjector.java +++ b/tests/src/com/todoroo/andlib/service/TestDependencyInjector.java @@ -1,8 +1,5 @@ package com.todoroo.andlib.service; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Iterator; public class TestDependencyInjector extends AbstractDependencyInjector { @@ -32,14 +29,8 @@ public class TestDependencyInjector extends AbstractDependencyInjector { * Install TestDependencyInjector above other injectors */ public synchronized static TestDependencyInjector initialize(String name) { - deinitialize(name); - - ArrayList list = - new ArrayList(Arrays.asList(DependencyInjectionService.getInstance().getInjectors())); - TestDependencyInjector instance = new TestDependencyInjector(name); - list.add(0, instance); - DependencyInjectionService.getInstance().setInjectors(list.toArray(new AbstractDependencyInjector[list.size()])); + DependencyInjectionService.getInstance().addInjector(instance); return instance; } @@ -47,20 +38,8 @@ public class TestDependencyInjector extends AbstractDependencyInjector { * Remove an installed TestDependencyInjector * @param string */ - public static void deinitialize(String name) { - ArrayList list = - new ArrayList(Arrays.asList(DependencyInjectionService.getInstance().getInjectors())); - - for(Iterator i = list.iterator(); i.hasNext(); ) { - AbstractDependencyInjector injector = i.next(); - - // if another one of these injectors already exists in the - // stack, remove it - if(injector instanceof TestDependencyInjector) { - if(((TestDependencyInjector)injector).name.equals(name)) - i.remove(); - } - } + public static void deinitialize(TestDependencyInjector instance) { + DependencyInjectionService.getInstance().removeInjector(instance); } } diff --git a/tests/src/com/todoroo/astrid/service/AstridDependencyInjectorTests.java b/tests/src/com/todoroo/astrid/service/AstridDependencyInjectorTests.java index 537a347c9..d25d89d0b 100644 --- a/tests/src/com/todoroo/astrid/service/AstridDependencyInjectorTests.java +++ b/tests/src/com/todoroo/astrid/service/AstridDependencyInjectorTests.java @@ -3,7 +3,6 @@ package com.todoroo.astrid.service; import android.test.AndroidTestCase; import com.timsu.astrid.R; -import com.todoroo.andlib.service.AbstractDependencyInjector; import com.todoroo.andlib.service.Autowired; import com.todoroo.andlib.service.DependencyInjectionService; import com.todoroo.andlib.utility.DialogUtilities; @@ -21,9 +20,9 @@ public class AstridDependencyInjectorTests extends AndroidTestCase { super.setUp(); // in case some state from other unit tests overwrote injector - DependencyInjectionService.getInstance().setInjectors(new AbstractDependencyInjector[] { + DependencyInjectionService.getInstance().addInjector( new AstridDependencyInjector() - }); + ); } public void testWithString() { diff --git a/tests/src/com/todoroo/astrid/upgrade/Astrid2To3UpgradeTests.java b/tests/src/com/todoroo/astrid/upgrade/Astrid2To3UpgradeTests.java index 6d6573309..3b49f45e4 100644 --- a/tests/src/com/todoroo/astrid/upgrade/Astrid2To3UpgradeTests.java +++ b/tests/src/com/todoroo/astrid/upgrade/Astrid2To3UpgradeTests.java @@ -56,10 +56,12 @@ public class Astrid2To3UpgradeTests extends DatabaseTestCase { @Autowired MetadataDao metadataDao; + TestDependencyInjector injector; + @Override protected void setUp() throws Exception { // initialize test dependency injector - TestDependencyInjector injector = TestDependencyInjector.initialize("upgrade"); + injector = TestDependencyInjector.initialize("upgrade"); injector.addInjectable("tasksTable", TASKS_TEST); injector.addInjectable("tagsTable", TAGS_TEST); injector.addInjectable("tagTaskTable", TAG_TASK_TEST); @@ -83,7 +85,7 @@ public class Astrid2To3UpgradeTests extends DatabaseTestCase { @Override protected void tearDown() throws Exception { super.tearDown(); - TestDependencyInjector.deinitialize("upgrade"); + TestDependencyInjector.deinitialize(injector); } // --- helper methods