/** * Repeats the capture with the current settings. * * @param aParent the parent window to use, can be <code>null</code>. */ public boolean repeatCaptureData(final Window aParent) { final DeviceController devCtrl = getDeviceController(); if (devCtrl == null) { return false; } try { setStatus( "Capture from {0} started at {1,date,medium} {1,time,medium} ...", devCtrl.getName(), new Date()); devCtrl.captureData(this); return true; } catch (IOException exception) { captureAborted("I/O problem: " + exception.getMessage()); exception.printStackTrace(); // Make sure to handle IO-interrupted exceptions properly! HostUtils.handleInterruptedException(exception); return false; } finally { updateActions(); } }
public void setPermissions(String location, PermissionInfo[] permissions) { checkAllPermission(); synchronized (lock) { permAdminTable.setPermissions(location, permissions); try { permissionStorage.setPermissionData(location, getEncodedPermissionInfos(permissions)); } catch (IOException e) { // TODO log e.printStackTrace(); } } }
public void setDefaultPermissions(PermissionInfo[] permissions) { checkAllPermission(); synchronized (lock) { if (permissions == null) permAdminDefaults = null; else permAdminDefaults = new PermissionInfoCollection(permissions); try { permissionStorage.setPermissionData(null, getEncodedPermissionInfos(permissions)); } catch (IOException e) { // log e.printStackTrace(); } } }
boolean commit(List rows, long updateStamp) { checkAllPermission(); synchronized (lock) { if (updateStamp != timeStamp) return false; SecurityRow[] newRows = new SecurityRow[rows.size()]; Collection names = new ArrayList(); for (int i = 0; i < newRows.length; i++) { Object rowObj = rows.get(i); if (!(rowObj instanceof ConditionalPermissionInfo)) throw new IllegalStateException( "Invalid type \"" + rowObj.getClass().getName() + "\" at row: " + i); //$NON-NLS-1$//$NON-NLS-2$ ConditionalPermissionInfo infoBaseRow = (ConditionalPermissionInfo) rowObj; String name = infoBaseRow.getName(); if (name == null) name = generateName(); if (names.contains(name)) throw new IllegalStateException( "Duplicate name \"" + name + "\" at row: " + i); // $NON-NLS-1$//$NON-NLS-2$ newRows[i] = new SecurityRow( this, name, infoBaseRow.getConditionInfos(), infoBaseRow.getPermissionInfos(), infoBaseRow.getAccessDecision()); } condAdminTable = new SecurityTable(this, newRows); try { permissionStorage.saveConditionalPermissionInfos(condAdminTable.getEncodedRows()); } catch (IOException e) { // TODO log e.printStackTrace(); } timeStamp += 1; return true; } }