/** * {@inheritDoc} */ @Override public void unregister(String guid) { IRemotePeer remotePeer = backingStore.remove(guid); LOG.trace("Un-registering {} with GUID {}.", remotePeer, guid); if (remotePeer instanceof IPermIdSource) { String permId = ((IPermIdSource) remotePeer).getPermId(); if (permId != null) { automationBackingStore.remove(permId); } } fireRemotePeerRemoved(guid); }
/** * {@inheritDoc} */ @Override public IView<RComponent> constructView(RComponent viewComponent, IViewDescriptor descriptor, IValueConnector connector) { IView<RComponent> view = super.constructView(viewComponent, descriptor, connector); if (connector instanceof IPermIdSource) { ((IPermIdSource) connector).setPermId(descriptor.getPermId()); } if (viewComponent.getState() == null) { viewComponent.setState(((IRemoteStateOwner) connector).getState()); } viewComponent.setPermId(descriptor.getPermId()); return view; }
/** * Always grants but dumps security requests to a file. * <p> * {@inheritDoc} */ @Override public boolean isAccessGranted(ISecurable securable, Map<String, Object> context) { try { if (writer != null) { writer.write("Target :\n"); writer.write("\tType : " + securable.getClass().getName() + "\n"); if (securable instanceof IPermIdSource) { writer.write("\tPerm Id : " + ((IPermIdSource) securable).getPermId() + "\n"); } writer.write("Context :\n"); SortedMap<String, Object> sortedContext = new TreeMap<String, Object>( context); for (Map.Entry<String, Object> contextEntry : sortedContext.entrySet()) { writer.write("\t" + contextEntry.getKey() + " : " + contextEntry.getValue() + "\n"); } writer.write("\n\n\n"); } } catch (Exception ex) { ex.printStackTrace(); } return true; }