浏览代码

Remove unneeded subscription where we're displaying an aggregate object anyway

Sam Jaffe 5 年之前
父节点
当前提交
0f28e148d6

+ 0 - 15
src/main/lombok/org/leumasjaffe/recipe/view/summary/IngredientPanel.java

@@ -10,8 +10,6 @@ import java.util.Locale;
 
 import javax.swing.text.NumberFormatter;
 
-import org.leumasjaffe.observer.ObservableListener;
-import org.leumasjaffe.observer.ObserverDispatch;
 import org.leumasjaffe.recipe.model.Ingredient;
 
 import lombok.AccessLevel;
@@ -25,7 +23,6 @@ import javax.swing.JLabel;
 @SuppressWarnings("serial")
 @FieldDefaults(level=AccessLevel.PRIVATE, makeFinal=true)
 public class IngredientPanel extends JPanel {
-	ObservableListener<IngredientPanel, Ingredient> listener;
 	@Getter(AccessLevel.PACKAGE) JTextField txtName;
 	@Getter(AccessLevel.PACKAGE) JFormattedTextField txtAmount;
 	@Getter(AccessLevel.PACKAGE) JTextField txtUnit;
@@ -82,18 +79,6 @@ public class IngredientPanel extends JPanel {
 		gbc_txtUnit.gridy = 0;
 		add(txtUnit, gbc_txtUnit);
 		txtUnit.setColumns(6);
-		
-		listener = new ObservableListener<>(this, (c, t) -> {
-			if (txtName.getText().equals(t.getName())) return;
-			txtName.setText(t.getName());
-		});
-		listener.setObserved(ingredient);
-	}
-	
-	@Override
-	public void removeNotify() {
-		super.removeNotify();
-		ObserverDispatch.unsubscribeAll(listener);
 	}
 
 }

+ 2 - 3
src/test/java/org/leumasjaffe/recipe/view/summary/IngredientPanelTest.java

@@ -35,12 +35,11 @@ class IngredientPanelTest extends SwingTestCase {
 	}
 
 	@Test
-	void testIsSubscribedToUpdates() {
+	void testIsNotSubscribedToUpdates() {
 		stuff.setName("Bacon");
 		assertEquals("Onions", panel.getTxtName().getText());
 		ObserverDispatch.notifySubscribers(stuff);
-		assertEquals("Bacon", panel.getTxtName().getText());
-		// TODO: I need to add hook-ups for the rest of the fields, too
+		assertNotEquals("Bacon", panel.getTxtName().getText());
 	}
 
 }