@Override public void processData(String id, IdentifiableMessage<String, UnitConfig, UnitConfig.Builder> entry, ProtoBufMessageMap<String, UnitConfig, UnitConfig.Builder> entryMap, ProtoBufRegistry<String, UnitConfig, UnitConfig.Builder> registry) throws CouldNotPerformException, EntryModification { UnitConfig dalUnitConfig = entry.getMessage(); // filter virtual units if(UnitConfigProcessor.isVirtualUnit(dalUnitConfig)) { return; } if (!dalUnitConfig.hasUnitHostId() || dalUnitConfig.getUnitHostId().isEmpty()) { throw new NotAvailableException("unitConfig.unitHostId"); } UnitConfig deviceUnitConfig = deviceRegistry.getMessage(dalUnitConfig.getUnitHostId()); if (!oldHostEnablingStateMap.get(registry.isSandbox()).containsKey(dalUnitConfig.getId())) { oldHostEnablingStateMap.get(registry.isSandbox()).put(dalUnitConfig.getId(), deviceUnitConfig.getEnablingState()); } if (oldHostEnablingStateMap.get(registry.isSandbox()).get(dalUnitConfig.getId()) != deviceUnitConfig.getEnablingState()) { oldHostEnablingStateMap.get(registry.isSandbox()).put(dalUnitConfig.getId(), deviceUnitConfig.getEnablingState()); if (deviceUnitConfig.getEnablingState().getValue() == EnablingState.State.ENABLED) { throw new EntryModification(entry.setMessage(dalUnitConfig.toBuilder().setEnablingState(deviceUnitConfig.getEnablingState())), this); } } if (deviceUnitConfig.getEnablingState().getValue() == EnablingState.State.DISABLED) { if (dalUnitConfig.getEnablingState().getValue() == EnablingState.State.ENABLED) { EnablingState disabled = EnablingState.newBuilder().setValue(EnablingState.State.DISABLED).build(); throw new EntryModification(entry.setMessage(dalUnitConfig.toBuilder().setEnablingState(disabled)), this); } } }
@Override public void processData(String id, IdentifiableMessage<String, UnitConfig, UnitConfig.Builder> entry, ProtoBufMessageMap<String, UnitConfig, UnitConfig.Builder> entryMap, ProtoBufRegistry<String, UnitConfig, UnitConfig.Builder> registry) throws CouldNotPerformException, EntryModification { UnitConfig deviceUnitConfig = entry.getMessage(); DeviceConfig deviceConfig = deviceUnitConfig.getDeviceConfig(); if (!oldInventoryStateMap.get(registry.isSandbox()).containsKey(deviceUnitConfig.getId())) { oldInventoryStateMap.get(registry.isSandbox()).put(deviceUnitConfig.getId(), deviceConfig.getInventoryState().getValue()); } if (!deviceConfig.hasInventoryState()) { throw new NotAvailableException("deviceConfig.inventoryState"); } if (!deviceConfig.getInventoryState().hasValue()) { throw new NotAvailableException("deviceConfig.inventoryState.value"); } if (deviceConfig.getInventoryState().getValue() != InventoryState.State.INSTALLED) { if (deviceUnitConfig.getEnablingState().getValue() == EnablingState.State.ENABLED) { EnablingState disabled = EnablingState.newBuilder().setValue(EnablingState.State.DISABLED).build(); throw new EntryModification(entry.setMessage(deviceUnitConfig.toBuilder().setEnablingState(disabled)), this); } } if (oldInventoryStateMap.get(registry.isSandbox()).get(deviceUnitConfig.getId()) != deviceConfig.getInventoryState().getValue()) { oldInventoryStateMap.get(registry.isSandbox()).put(deviceUnitConfig.getId(), deviceConfig.getInventoryState().getValue()); if (deviceConfig.getInventoryState().getValue() == InventoryState.State.INSTALLED) { EnablingState enabled = EnablingState.newBuilder().setValue(EnablingState.State.ENABLED).build(); throw new EntryModification(entry.setMessage(deviceUnitConfig.toBuilder().setEnablingState(enabled)), this); } } }
private void registerUser() throws CouldNotPerformException, InterruptedException { for (UnitConfig unitConfig : unitRegistry.getUnitConfigs(UnitType.USER)) { if (unitConfig.getUserConfig().getUserName().equals(UserCreationPlugin.DEFAULT_ADMIN_USERNAME_AND_PASSWORD)) { admin = unitConfig; break; } } UserConfig.Builder config = UserConfig.newBuilder().setFirstName("Max").setLastName("Mustermann").setUserName(USER_NAME); UnitConfig.Builder userUnitConfig = UnitConfig.newBuilder().setType(UnitType.USER).setUserConfig(config).setEnablingState(EnablingState.newBuilder().setValue(EnablingState.State.ENABLED)); userUnitConfig.getPermissionConfigBuilder().getOtherPermissionBuilder().setWrite(true).setAccess(true).setRead(true); try { testUser = userRegisty.registerUserConfig(userUnitConfig.build()).get(); } catch (ExecutionException ex) { throw new CouldNotPerformException(ex); } }