diff -r ed2b6ebf138d -r 9b399cde6a3b java/rozsirene-atributy/src/cz/frantovo/rozsireneAtributy/Model.java --- a/java/rozsirene-atributy/src/cz/frantovo/rozsireneAtributy/Model.java Wed Dec 15 23:29:14 2010 +0100 +++ b/java/rozsirene-atributy/src/cz/frantovo/rozsireneAtributy/Model.java Wed Dec 15 23:58:34 2010 +0100 @@ -23,12 +23,12 @@ private static final Logger log = Logger.getLogger(Model.class.getSimpleName()); private String[] sloupečky = {"Název", "Hodnota"}; private HashSet posluchače = new HashSet(); - private UserDefinedFileAttributeView souborovySystem; + private UserDefinedFileAttributeView souborovýSystém; private ArrayList atributy = new ArrayList(); public Model(File soubor) throws IOException { Path cesta = soubor.toPath(); - souborovySystem = cesta.getFileAttributeView(UserDefinedFileAttributeView.class); + souborovýSystém = cesta.getFileAttributeView(UserDefinedFileAttributeView.class); načtiAtributy(); } @@ -54,7 +54,7 @@ public Object getValueAt(int m, int n) { if (n == 0) { - return atributy.get(m).getKlic(); + return atributy.get(m).getKlíč(); } else if (n == 1) { return atributy.get(m).getHodnota(); } else { @@ -68,19 +68,19 @@ if (n == 0) { /** Měníme klíč – název atributu */ String novýKlíč = String.valueOf(value.toString()); - if (!novýKlíč.equals(a.getKlic())) { - if (a.getKlic() != null) { - souborovySystem.delete(a.getKlic()); + if (!novýKlíč.equals(a.getKlíč())) { + if (a.isPlatnýKlíč()) { + souborovýSystém.delete(a.getKlíč()); } - a.setKlic(novýKlíč); - if (a.getHodnotaBajty() != null) { - souborovySystem.write(a.getKlic(), a.getHodnotaBajty()); + a.setKlíč(novýKlíč); + if (a.isPlatnáHodnota()) { + souborovýSystém.write(a.getKlíč(), a.getHodnotaBajty()); } } } else if (n == 1) { /** Měníme hodnotu atributu */ a.setHodnota(String.valueOf(value.toString())); - souborovySystem.write(a.getKlic(), a.getHodnotaBajty()); + souborovýSystém.write(a.getKlíč(), a.getHodnotaBajty()); } } catch (IOException e) { log.log(Level.SEVERE, "Selhalo ukládání atributu na souborový systém", e); @@ -110,16 +110,18 @@ public void odeberAtribut(Atribut a) throws IOException { atributy.remove(a); - souborovySystem.delete(a.getKlic()); + if (a.isPlatnýKlíč()) { + souborovýSystém.delete(a.getKlíč()); + } upozorniPosluchače(); } public final void načtiAtributy() throws IOException { - List jménaAtributů = souborovySystem.list(); + List jménaAtributů = souborovýSystém.list(); atributy.clear(); for (String jménoAtributu : jménaAtributů) { - ByteBuffer hodnotaAtributu = ByteBuffer.allocate(souborovySystem.size(jménoAtributu)); - souborovySystem.read(jménoAtributu, hodnotaAtributu); + ByteBuffer hodnotaAtributu = ByteBuffer.allocate(souborovýSystém.size(jménoAtributu)); + souborovýSystém.read(jménoAtributu, hodnotaAtributu); atributy.add(new Atribut(jménoAtributu, hodnotaAtributu)); } upozorniPosluchače();