/** * Actions added are automatically removed when canceled or stopped. * * @param action Action to run in background * @return True */ @Override public synchronized boolean add(final BackgroundAction action) { action.addListener(this); return super.add(action); }
@Override public boolean add(final Host host) { if(this.contains(host)) { log.warn(String.format("Reset UUID of duplicate in collection for %s", host)); host.setUuid(null); } return super.add(host); }
@Override public void add(final int row, final Host host) { if(this.contains(host)) { log.warn(String.format("Reset UUID of duplicate in collection for %s", host)); host.setUuid(null); } super.add(row, host); }
@Override public Collection<S> readCollection(final Local file) throws AccessDeniedException { final Collection<S> c = new Collection<S>(); final NSArray list = (NSArray) this.parse(file.getInputStream()); if(null == list) { log.error(String.format("Invalid bookmark file %s", file)); return c; } for(int i = 0; i < list.count(); i++) { NSObject next = list.objectAtIndex(i); if(next instanceof NSDictionary) { final NSDictionary dict = (NSDictionary) next; final S object = this.deserialize(dict); if(null == object) { continue; } c.add(object); } } return c; }
@Override public Collection<S> readCollection(final Local file) throws AccessDeniedException { if(!file.exists()) { throw new LocalAccessDeniedException(file.getAbsolute()); } final Collection<S> c = new Collection<S>(); NSArray list = NSArray.arrayWithContentsOfFile(file.getAbsolute()); if(null == list) { log.error(String.format("Invalid bookmark file %s", file)); return c; } final NSEnumerator i = list.objectEnumerator(); NSObject next; while(((next = i.nextObject()) != null)) { if(next.isKindOfClass(Rococoa.createClass("NSDictionary", NSDictionary._Class.class))) { final NSDictionary dict = Rococoa.cast(next, NSDictionary.class); final S object = this.deserialize(dict); if(null == object) { continue; } c.add(object); } } return c; }