From 2bd2ecd13dc06b5737883712711ee23a9cc04245 Mon Sep 17 00:00:00 2001 From: bancika Date: Tue, 4 Jan 2011 21:13:13 +0000 Subject: [PATCH] renamed BOM objects --- .../AbstractLeadedDIYComponent.java | 4 +- .../diylc/components/MockDIYComponent.java | 8 ++-- .../{BomName.java => ComponentName.java} | 5 ++- .../{BomValue.java => ComponentValue.java} | 2 +- .../src/org/diylc/plugins/file/BomMaker.java | 4 +- .../diylc/plugins/statusbar/StatusBar.java | 4 +- .../diylc/presenter/ComponentProcessor.java | 41 ++++++++++--------- .../src/org/diylc/presenter/Presenter.java | 4 +- 8 files changed, 37 insertions(+), 35 deletions(-) rename diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/core/annotations/{BomName.java => ComponentName.java} (61%) rename diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/core/annotations/{BomValue.java => ComponentValue.java} (87%) diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src.library/org/diylc/components/AbstractLeadedDIYComponent.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src.library/org/diylc/components/AbstractLeadedDIYComponent.java index b553b345..37a886f4 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src.library/org/diylc/components/AbstractLeadedDIYComponent.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src.library/org/diylc/components/AbstractLeadedDIYComponent.java @@ -4,7 +4,7 @@ import java.awt.Point; import org.diylc.core.IDIYComponent; import org.diylc.core.VisibilityPolicy; -import org.diylc.core.annotations.BomName; +import org.diylc.core.annotations.ComponentName; import org.diylc.core.annotations.ControlPoint; import org.diylc.core.annotations.EditableProperty; import org.diylc.core.measures.Size; @@ -48,7 +48,7 @@ public abstract class AbstractLeadedDIYComponent implements IDIYComponent { */ protected abstract Size getDefaultHeight(); - @BomName + @ComponentName @EditableProperty public String getName() { return name; diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src.library/org/diylc/components/MockDIYComponent.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src.library/org/diylc/components/MockDIYComponent.java index 1321dfd7..ebbf0a8d 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src.library/org/diylc/components/MockDIYComponent.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src.library/org/diylc/components/MockDIYComponent.java @@ -7,8 +7,8 @@ import java.awt.Point; import org.diylc.core.ComponentState; import org.diylc.core.IDIYComponent; import org.diylc.core.VisibilityPolicy; -import org.diylc.core.annotations.BomName; -import org.diylc.core.annotations.BomValue; +import org.diylc.core.annotations.ComponentName; +import org.diylc.core.annotations.ComponentValue; import org.diylc.core.annotations.ComponentDescriptor; import org.diylc.core.annotations.ControlPoint; import org.diylc.core.annotations.EditableProperty; @@ -47,7 +47,7 @@ public class MockDIYComponent implements IDIYComponent { super(); } - @BomName + @ComponentName @EditableProperty public String getName() { return name; @@ -75,7 +75,7 @@ public class MockDIYComponent implements IDIYComponent { this.testField = testField; } - @BomValue + @ComponentValue @EditableProperty(defaultable = true) public Capacitance getC() { return c; diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/core/annotations/BomName.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/core/annotations/ComponentName.java similarity index 61% rename from diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/core/annotations/BomName.java rename to diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/core/annotations/ComponentName.java index 866bcf21..3e119413 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/core/annotations/BomName.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/core/annotations/ComponentName.java @@ -5,11 +5,12 @@ import java.lang.annotation.RetentionPolicy; /** * Annotates getter for the component name that will be shown in the BOM. Only - * one getter per class may be tagged with this annotation. + * one getter per class may be tagged with this annotation and, must return + * string type and there has to be a matching setter. * * @author Branislav Stojkovic */ @Retention(RetentionPolicy.RUNTIME) -public @interface BomName { +public @interface ComponentName { } diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/core/annotations/BomValue.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/core/annotations/ComponentValue.java similarity index 87% rename from diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/core/annotations/BomValue.java rename to diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/core/annotations/ComponentValue.java index 5ebe79f3..1c9b53f8 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/core/annotations/BomValue.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/core/annotations/ComponentValue.java @@ -10,6 +10,6 @@ import java.lang.annotation.RetentionPolicy; * @author Branislav Stojkovic */ @Retention(RetentionPolicy.RUNTIME) -public @interface BomValue { +public @interface ComponentValue { } diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/file/BomMaker.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/file/BomMaker.java index bd399078..f6b93222 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/file/BomMaker.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/file/BomMaker.java @@ -28,8 +28,8 @@ public class BomMaker { public List createBom(List components) { Map entryMap = new HashMap(); for (IDIYComponent component : components) { - String name = ComponentProcessor.getInstance().extractBomName(component); - String value = ComponentProcessor.getInstance().extractBomValue(component); + String name = ComponentProcessor.getInstance().extractComponentName(component); + String value = ComponentProcessor.getInstance().extractComponentValue(component); if ((name != null) && (value != null)) { String key = name + "|" + value; if (entryMap.containsKey(key)) { diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/statusbar/StatusBar.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/statusbar/StatusBar.java index f214024a..67070cb8 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/statusbar/StatusBar.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/statusbar/StatusBar.java @@ -193,14 +193,14 @@ public class StatusBar extends JPanel implements IPlugIn { if (componentsUnderCursor.size() == 1) { getStatusLabel().setText( "Drag \"" - + ComponentProcessor.getInstance().extractBomName( + + ComponentProcessor.getInstance().extractComponentName( componentsUnderCursor.get(0)) + "\""); } else { getStatusLabel().setText( "Hold CTRL key to drag all " + componentsUnderCursor.size() + " components under the cursor or drag only \"" - + ComponentProcessor.getInstance().extractBomName( + + ComponentProcessor.getInstance().extractComponentName( componentsUnderCursor.get(0)) + "\""); } } diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/presenter/ComponentProcessor.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/presenter/ComponentProcessor.java index e8235194..ae2b87dc 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/presenter/ComponentProcessor.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/presenter/ComponentProcessor.java @@ -11,8 +11,8 @@ import org.apache.log4j.Logger; import org.diylc.common.ControlPointWrapper; import org.diylc.common.PropertyWrapper; import org.diylc.core.IDIYComponent; -import org.diylc.core.annotations.BomName; -import org.diylc.core.annotations.BomValue; +import org.diylc.core.annotations.ComponentName; +import org.diylc.core.annotations.ComponentValue; import org.diylc.core.annotations.ControlPoint; import org.diylc.core.annotations.EditableProperty; @@ -91,8 +91,8 @@ public class ComponentProcessor { * Reads all control points from the specified component class. Note than * control points are cached, so it may happen that control points returned * already have their values populated. Always use - * {@link ControlPointWrapper#readFrom(IDIYComponent)} to update their - * state from an actual component. + * {@link ControlPointWrapper#readFrom(IDIYComponent)} to update their state + * from an actual component. * * @param clazz * @return @@ -135,8 +135,7 @@ public class ComponentProcessor { * @param selectedComponents * @return */ - public List getMutualSelectionProperties( - List selectedComponents) { + public List getMutualSelectionProperties(List selectedComponents) { if (selectedComponents.isEmpty()) { return null; } @@ -177,16 +176,16 @@ public class ComponentProcessor { } /** - * Finds the method annotated with {@link BomName} annotations and calls it - * to retrieve component name. + * Finds the method annotated with {@link ComponentName} annotations and + * calls it to retrieve component name. * * @param component * @return */ - public String extractBomName(IDIYComponent component) { + public String extractComponentName(IDIYComponent component) { String name = null; for (Method method : component.getClass().getMethods()) { - if (method.isAnnotationPresent(BomName.class)) { + if (method.isAnnotationPresent(ComponentName.class)) { try { name = method.invoke(component).toString(); } catch (Exception e) { @@ -198,36 +197,38 @@ public class ComponentProcessor { } /** - * Finds the method annotated with {@link BomName} and it's matching setter - * and calls the setter to update the component name. + * Finds the method annotated with {@link ComponentName} and it's matching + * setter and calls the setter to update the component name. * * @param component - * @param newBomName + * @param newName */ - public void writeBomName(IDIYComponent component, String newBomName) { + public void writeComponentName(IDIYComponent component, String newName) { for (Method method : component.getClass().getMethods()) { - if (method.isAnnotationPresent(BomName.class)) { + if (method.isAnnotationPresent(ComponentName.class)) { try { Method setter = component.getClass().getMethod( method.getName().replaceFirst("get", "set"), String.class); - setter.invoke(component, newBomName); + setter.invoke(component, newName); } catch (Exception e) { + LOG.warn("Could not update component name on a component of type " + + component.getClass().getName()); } } } } /** - * Finds the method annotated with {@link BomValue} annotations and calls it - * to retrieve component value. + * Finds the method annotated with {@link ComponentValue} annotations and + * calls it to retrieve component value. * * @param component * @return */ - public String extractBomValue(IDIYComponent component) { + public String extractComponentValue(IDIYComponent component) { String value = null; for (Method method : component.getClass().getMethods()) { - if (method.isAnnotationPresent(BomValue.class)) { + if (method.isAnnotationPresent(ComponentValue.class)) { try { value = method.invoke(component).toString(); } catch (Exception e) { diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/presenter/Presenter.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/presenter/Presenter.java index b62d64e6..206dfb46 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/presenter/Presenter.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/presenter/Presenter.java @@ -714,14 +714,14 @@ public class Presenter implements IPlugInPort { String name = namePrefix + i; exists = false; for (IDIYComponent c : currentProject.getComponents()) { - String cName = ComponentProcessor.getInstance().extractBomName(c); + String cName = ComponentProcessor.getInstance().extractComponentName(c); if (cName.equals(name)) { exists = true; break; } } } - ComponentProcessor.getInstance().writeBomName(component, namePrefix + i); + ComponentProcessor.getInstance().writeComponentName(component, namePrefix + i); // Add it to the project. currentProject.getComponents().add(component);