/* This file is part of OpenMyEWB. OpenMyEWB is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. OpenMyEWB is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenMyEWB. If not, see <http://www.gnu.org/licenses/>. OpenMyEWB is Copyright 2005-2009 Nicolas Kruchten (nicolas@kruchten.com), Francis Kung, Engineers Without Borders Canada, Michael Trauttmansdorff, Jon Fishbein, David Kadish */ package ca.myewb.logic; import java.io.File; import java.util.Arrays; import java.util.List; import java.util.Vector; import ca.myewb.beans.Whiteboard; import ca.myewb.frame.FileNameWrapper; import ca.myewb.frame.Helpers; import ca.myewb.model.SearchableModel; public abstract class WhiteboardLogic extends Whiteboard { protected WhiteboardLogic(){ super(); } public boolean equals(WhiteboardLogic w) { return ((lastEditor == w.getLastEditor()) && (parentEvent.getGroup() == w.getParentEvent().getGroup()) && (body.equals(w.getBody())) && (lastEditDate.equals(w.getLastEditDate()))); } public List getAttachedFiles() { Vector<FileNameWrapper> zipFiles = new Vector<FileNameWrapper>(); if (this.hasfile) { File theDir = new File(Helpers.getUserFilesDir() + "/whiteboards/" + this.id); File[] fileArray = theDir.listFiles(); Arrays.sort(fileArray); Vector<FileNameWrapper> files = new Vector<FileNameWrapper>(); for (File theFile: fileArray) { if (theFile.toString().endsWith(".zip")) zipFiles.add(new FileNameWrapper(theFile)); else files.add(new FileNameWrapper(theFile)); } zipFiles.addAll(files); } return zipFiles; } public Object getParent() { if(getParentEvent() != null) { return getParentEvent(); } else if(getParentPost() != null) { return getParentPost(); } else if(getParentGroup() != null) { return getParentGroup(); } return null; } public String getParentType() { if(getParentEvent() != null) { return "event"; } else if(getParentPost() != null) { return "post"; } else if(getParentGroup() != null) { return "group"; } return null; } public SearchableModel getSearchable() { if(searchables.size() == 0) return null; return searchables.iterator().next(); } public void setSearchable(SearchableModel searchable) { if(searchables.size() != 0) searchables.remove(searchables.iterator().next()); searchables.add(searchable); } }