package ProductConfig; public class Driver { // Put some stuff in the part list public static void fillPartList(PartList list) { Part newPart = new SimplePart("Aplo2", "Apollo 2 Motherboard",109); // provides PCI slots+ newPart.getResourceList().addResource("PCI Slots",5); newPart.getResourceList().addResource("DIMM",3); newPart.getResourceList().addResource("AGP Port",1); newPart.getResourceList().addResource("Slot 1",1); // consumes a motherboard newPart.getResourceList().removeResource("Motherboard",1); list.addPart(newPart); newPart = new SimplePart("Sota24", "Sota 24",115); // provides PCI slots+ newPart.getResourceList().addResource("PCI Slots",5); newPart.getResourceList().addResource("DIMM",3); newPart.getResourceList().addResource("Slot 1",1); // consumes a motherboard newPart.getResourceList().removeResource("Motherboard",1); list.addPart(newPart); newPart = new SimplePart("MX24","Std Mid-sized Tower Case",59); newPart.getResourceList().addResource("Motherboard",1); list.addPart(newPart); newPart = new SimplePart("FX24","Std Full-sized Tower Case",79); newPart.getResourceList().addResource("Motherboard",1); list.addPart(newPart); newPart = new SimplePart("I550","550Mhz Slot 1 Processor",300); newPart.getResourceList().removeResource("Slot 1",1); list.addPart(newPart); newPart = new SimplePart("I600","600Mhz Slot 1 Processor",350); newPart.getResourceList().removeResource("Slot 1",1); list.addPart(newPart); newPart = new SimplePart("D128","128MB Dimm Memory",120); newPart.getResourceList().removeResource("DIMM",1); list.addPart(newPart); newPart = new SimplePart("D256","256MB Dimm Memory - 1 slot",270); newPart.getResourceList().removeResource("DIMM",1); list.addPart(newPart); newPart = new SimplePart("D256-2","256MB Dimm Memory - 2 slots",230); newPart.getResourceList().removeResource("DIMM",2); list.addPart(newPart); newPart = new CompositePart("BBC1","BareBones Config 1",300); newPart.addPart(list.getPart("Sota24")); newPart.addPart(list.getPart("I550")); newPart.addPart(list.getPart("MX24")); list.addPart(newPart); } /** * Test Driver Main - Creates a simple configuration and outputs it. * */ public static void main (String[] args) { PartList list = new PartList(); fillPartList(list); Part base = new CompositePart("Galaxy Pro 200","Basic setup system"); base.addPart(list.getPart("BBC1")); base.addPart(list.getPart("D256")); base.displayInvoice(System.out, 0); System.out.println("Resource are: " + (base.getResourceList().isValid() ? "Valid" : "Invalid")); base.getResourceList().displayResources(System.out); } }
The program results in the following output:
Galaxy Pro 200:Basic setup system:570.0 BBC1:BareBones Config 1:300.0 Sota24:Sota 24:115.0 I550:550Mhz Slot 1 Processor:300.0 MX24:Std Mid-sized Tower Case:59.0 D256:256MB Dimm Memory - 1 slot:270.0 Resource are: Valid Motherboard: 0 DIMM: 2 Slot 1: 0 PCI Slots: 5
3.16.50.71