package dk.hansen; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.Iterator; public class SimpleDVDManager implements DVDManagerIF { private static HashMap dvds = new HashMap(); static { System.out.println("SimpleDVDManager created - static code"); // Create some DVDs for testing DVD dvd; String id; String title; id = "ID10"; title = "Troy"; dvd = new DVD(id, title); dvds.put(id, dvd); id = "ID11"; title = "Peter Pan"; dvd = new DVD(id, title); dvds.put(id, dvd); } public void createDVD(String id, String title) throws DAOException { DVD dvd = (DVD)dvds.get(id); if (dvd != null) throw new DAOException("Id " + id + " is already used"); dvd = new DVD(id, title); dvds.put(id, dvd); } public void updateDVD(String id, String title) throws DAOException { DVD dvd = (DVD)dvds.get(id); if (dvd == null) throw new DAOException("Id " + id + " was not found"); dvd.setTitle(title); } public void deleteDVD(String id) throws DAOException { DVD dvd = (DVD)dvds.get(id); if (dvd == null) throw new DAOException("Id " + id + " was not found"); dvds.remove(id); } public DVD getDVD(String id) throws DAOException { DVD dvd = (DVD)dvds.get(id); return dvd; } public Collection getAll() { return dvds.values(); } public Collection findDVDTitle(String title) { Collection hits = new ArrayList(); Collection c = dvds.values(); for (Iterator it = c.iterator(); it.hasNext();) { DVD dvd = (DVD)it.next(); if (dvd.getTitle().toUpperCase().indexOf(title.toUpperCase()) > -1) { hits.add(dvd); } } return hits; } }