public FolderWatcher ( final String... path ) { this.location = new Location ( path ); }
public FolderWatcher ( final String... path ) { this.location = new Location ( path ); }
public void addFolderListener ( final FolderListener listener, final Location location ) { synchronized ( this.folderListeners ) { if ( !this.folderListeners.containsKey ( location ) ) { this.folderListeners.put ( location, new FolderSyncController ( this.connection, new Location ( location ) ) ); } final FolderSyncController controller = this.folderListeners.get ( location ); controller.addListener ( listener ); } }
public void addFolderListener ( final FolderListener listener, final Location location ) { synchronized ( this.folderListeners ) { if ( !this.folderListeners.containsKey ( location ) ) { this.folderListeners.put ( location, new FolderSyncController ( this.connection, new Location ( location ) ) ); } final FolderSyncController controller = this.folderListeners.get ( location ); controller.addListener ( listener ); } }
private void handleFolderDataUpdate ( final FolderDataUpdate message ) { final FolderListener listener = this.folderListeners.get ( new Location ( message.getLocation () ) ); if ( listener != null ) { this.executor.execute ( new Runnable () { @Override public void run () { listener.folderChanged ( convert ( message.getAddedOrModified () ), message.getRemoved (), message.isFull () ); } } ); } }
private void handelSubscribeFolder ( final SubscribeFolder message ) { try { this.service.getBrowser ().subscribe ( this.session, new Location ( message.getLocation () ) ); } catch ( final Exception e ) { logger.warn ( "Failed to subscribe", e ); } }
private void handelUnsubscribeFolder ( final UnsubscribeFolder message ) { try { this.service.getBrowser ().unsubscribe ( this.session, new Location ( message.getLocation () ) ); } catch ( final NoSuchFolderException e ) { logger.debug ( "Folder was already gone", e ); } catch ( final Exception e ) { logger.warn ( "Failed to unsubscribe", e ); } }
private void handelSubscribeFolder ( final SubscribeFolder message ) { try { this.service.getBrowser ().subscribe ( this.session, new Location ( message.getLocation () ) ); } catch ( final Exception e ) { logger.warn ( "Failed to subscribe", e ); } }
private void handelUnsubscribeFolder ( final UnsubscribeFolder message ) { try { this.service.getBrowser ().unsubscribe ( this.session, new Location ( message.getLocation () ) ); } catch ( final NoSuchFolderException e ) { logger.debug ( "Folder was already gone", e ); } catch ( final Exception e ) { logger.warn ( "Failed to unsubscribe", e ); } }
public Folder findFolder ( final Stack<String> path, final boolean create ) { if ( path.isEmpty () ) { return this; } else { final String name = path.pop (); final Entry entry = this.entries.get ( name ); if ( entry instanceof FolderEntry ) { return ( (FolderEntry)entry ).getFolder ().findFolder ( path, create ); } else if ( entry == null && create ) { final Folder folder = new Folder ( this.executor, this, new Location ( this.location, name ) ); final FolderEntry folderEntry = new FolderEntry ( name, folder ); this.entries.put ( name, folderEntry ); fireListener ( Arrays.<org.eclipse.scada.da.core.browser.Entry> asList ( folderEntry ), null, false ); return folder.findFolder ( path, create ); } else { return null; } } }
private void processDataUpdate ( final DataUpdate message ) { final Set<Integer> registers = new HashSet<> (); for ( final DataUpdate.Entry entry : message.getEntries () ) { final DataItemValue value = convert ( entry ); this.dataManager.updateData ( entry.getRegister (), value ); registers.add ( entry.getRegister () ); } this.previousRegisters.removeAll ( registers ); // now process the removed keys for ( final Integer removed : this.previousRegisters ) { final String itemId = this.dataManager.removeRegister ( removed ); final LinkedList<String> hier = new LinkedList<> ( Arrays.asList ( makeItemHiearchy ( itemId ) ) ); if ( hier.size () == 1 ) { this.folderManager.removeEntry ( Location.ROOT, itemId ); } else { // last segment is the name final String name = hier.removeLast (); this.folderManager.removeEntry ( new Location ( hier ), name ); } } this.previousRegisters = registers; }
private void unsubscribePath ( final SessionCommon session, final Location location ) throws NoSuchFolderException { final Object tag = session.getData ().getTag ( new Location ( location ) ); if ( tag != null ) { session.getData ().removePath ( location ); synchronized ( this.subscriberMap ) { this.subscriberMap.remove ( tag ); } final Stack<String> pathStack = location.getPathStack (); getRootFolder ().unsubscribe ( pathStack, tag ); } }
newEntry = new FolderEntryWrapper ( this.parent, entry, new Location ( this.parent.getLocation (), entry.getName () ) );
private void handleBrowseFolder ( final BrowseFolder message ) { try { final NotifyFuture<Entry[]> future = this.service.getBrowser ().startBrowse ( this.session, new Location ( message.getLocation () ) ); future.addListener ( new FutureListener<Entry[]> () { @Override public void complete ( final Future<Entry[]> future ) { try { final Entry[] result = future.get (); sendMessage ( new BrowseResult ( new Response ( message.getRequest () ), convertEntries ( result ), null ) ); } catch ( final Exception e ) { logger.warn ( "Browse completed with error", e ); sendBrowseError ( message, e, 0x03L ); } } } ); } catch ( final Exception e ) { logger.warn ( "Failed to browse", e ); sendBrowseError ( message, e, 0x02L ); } }
private void handleBrowseFolder ( final BrowseFolder message ) { try { final NotifyFuture<Entry[]> future = this.service.getBrowser ().startBrowse ( this.session, new Location ( message.getLocation () ) ); future.addListener ( new FutureListener<Entry[]> () { @Override public void complete ( final Future<Entry[]> future ) { try { final Entry[] result = future.get (); sendMessage ( new BrowseResult ( new Response ( message.getRequest () ), convertEntries ( result ), null ) ); } catch ( final Exception e ) { logger.warn ( "Browse completed with error", e ); sendBrowseError ( message, e, 0x03L ); } } } ); } catch ( final Exception e ) { logger.warn ( "Failed to browse", e ); sendBrowseError ( message, e, 0x02L ); } }
this.folderManager.addEntry ( new Location ( hier ), name, entry.getName (), entry.getDescription () );