diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/lib/diylc-core.jar b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/lib/diylc-core.jar index 95980138..2e27961a 100644 Binary files a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/lib/diylc-core.jar and b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/lib/diylc-core.jar differ diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/library/main.jar b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/library/main.jar index bdf83e6c..a8092563 100644 Binary files a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/library/main.jar and b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/library/main.jar differ diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/ActionFactory.java b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/ActionFactory.java index 638c3118..a3d24065 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/ActionFactory.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/ActionFactory.java @@ -25,12 +25,11 @@ import org.diylc.swing.gui.DialogFactory; import org.diylc.swing.gui.editor.PropertyEditorDialog; import org.diylc.swing.plugins.edit.ComponentTransferable; import org.diylc.swing.plugins.file.BomDialog; -import org.diylc.swing.plugins.file.BomEntry; -import org.diylc.swing.plugins.file.BomMaker; import org.diylc.swing.plugins.file.FileFilterEnum; import org.diylc.swingframework.ButtonDialog; import org.diylc.swingframework.IDrawingProvider; import org.diylc.swingframework.export.DrawingExporter; +import org.diylc.utils.BomEntry; import com.rits.cloning.Cloner; @@ -380,7 +379,7 @@ public class ActionFactory { @Override public void actionPerformed(ActionEvent e) { LOG.info("CreateBomAction triggered"); - List bom = BomMaker.getInstance().createBom( + List bom = org.diylc.utils.BomMaker.getInstance().createBom( plugInPort.getCurrentProject().getComponents()); BomDialog dialog = DialogFactory.getInstance().createBomDialog(bom); dialog.setVisible(true); diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/gui/DialogFactory.java b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/gui/DialogFactory.java index 65744cb9..373e0c3f 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/gui/DialogFactory.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/gui/DialogFactory.java @@ -13,13 +13,13 @@ import org.diylc.common.PropertyWrapper; import org.diylc.swing.gui.components.OverwritePromptFileChooser; import org.diylc.swing.gui.editor.PropertyEditorDialog; import org.diylc.swing.plugins.file.BomDialog; -import org.diylc.swing.plugins.file.BomEntry; import org.diylc.swing.plugins.online.view.LoginDialog; import org.diylc.swing.plugins.online.view.NewUserDialog; import org.diylc.swing.plugins.online.view.UploadDialog; import org.diylc.swingframework.AboutDialog; import org.diylc.swingframework.IFileChooserAccessory; import org.diylc.swingframework.ProgressDialog; +import org.diylc.utils.BomEntry; public class DialogFactory { diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/plugins/file/BomDialog.java b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/plugins/file/BomDialog.java index 983164d9..1d8c4921 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/plugins/file/BomDialog.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/plugins/file/BomDialog.java @@ -19,6 +19,7 @@ import org.diylc.images.IconLoader; import org.diylc.swing.gui.DialogFactory; import org.diylc.swingframework.export.TableExporter; import org.diylc.swingframework.objecttable.ObjectListTable; +import org.diylc.utils.BomEntry; public class BomDialog extends JDialog { diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/plugins/file/BomEntry.java b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/plugins/file/BomEntry.java deleted file mode 100644 index 550a21d0..00000000 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/plugins/file/BomEntry.java +++ /dev/null @@ -1,89 +0,0 @@ -package org.diylc.swing.plugins.file; - -public class BomEntry { - - private String name; - private String value; - private Integer quantity; - private String notes; - - public BomEntry(String name, String value, int quantity) { - super(); - this.name = name; - this.value = value; - this.quantity = quantity; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public String getValue() { - return value; - } - - public void setValue(String value) { - this.value = value; - } - - public Integer getQuantity() { - return quantity; - } - - public void setQuantity(Integer quantity) { - this.quantity = quantity; - } - - public String getNotes() { - return notes; - } - - public void setNotes(String notes) { - this.notes = notes; - } - - @Override - public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + ((name == null) ? 0 : name.hashCode()); - result = prime * result + ((notes == null) ? 0 : notes.hashCode()); - result = prime * result + quantity; - result = prime * result + ((value == null) ? 0 : value.hashCode()); - return result; - } - - @Override - public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; - BomEntry other = (BomEntry) obj; - if (name == null) { - if (other.name != null) - return false; - } else if (!name.equals(other.name)) - return false; - if (notes == null) { - if (other.notes != null) - return false; - } else if (!notes.equals(other.notes)) - return false; - if (quantity != other.quantity) - return false; - if (value == null) { - if (other.value != null) - return false; - } else if (!value.equals(other.value)) - return false; - return true; - } - -} diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/plugins/file/BomMaker.java b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/plugins/file/BomMaker.java deleted file mode 100644 index 1c3d7d73..00000000 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/plugins/file/BomMaker.java +++ /dev/null @@ -1,55 +0,0 @@ -package org.diylc.swing.plugins.file; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.diylc.core.IDIYComponent; - -public class BomMaker { - - private static BomMaker instance; - - public static BomMaker getInstance() { - if (instance == null) { - instance = new BomMaker(); - } - return instance; - } - - private BomMaker() { - } - - public List createBom(List> components) { - Map entryMap = new HashMap(); - for (IDIYComponent component : components) { - String name = component.getName(); - String value = component.getValue() == null ? null : component.getValue().toString(); - if ((name != null) && (value != null)) { - String key = name + "|" + value; - if (entryMap.containsKey(key)) { - BomEntry entry = entryMap.get(key); - entry.setQuantity(entry.getQuantity() + 1); - } else { - entryMap.put(key, new BomEntry(name, value, 1)); - } - } - } - List bom = new ArrayList(entryMap.values()); - Collections.sort(bom, new Comparator() { - - @Override - public int compare(BomEntry o1, BomEntry o2) { - int compare = o1.getName().compareToIgnoreCase(o2.getName()); - if (compare != 0) { - return compare; - } - return o1.getValue().compareToIgnoreCase(o2.getValue()); - } - }); - return bom; - } -} diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/update.xml b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/update.xml index 35686133..bcfc17c4 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/update.xml +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/update.xml @@ -642,6 +642,10 @@ IMPROVEMENT Click on a component in the toolbar sometimes doesn't register + + IMPROVEMENT + Remove junk from BOM (eyelets, wires, traces) + http://code.google.com/p/diy-layout-creator/downloads/list