@Override public Object create(String type, ApiRequest request, ResourceManager next) { Map<String, Object> requestObject = CollectionUtils.toMap(request.getRequestObject()); String serverAddress = (String) requestObject.get(StoragePoolConstants.SERVER_ADDRESS); long accountId = ((Policy) ApiContext.getContext().getPolicy()).getAccountId(); List<StoragePool> registries = objectManager.find(StoragePool.class, ObjectMetaDataManager.KIND_FIELD, StoragePoolConstants.KIND_REGISTRY, ObjectMetaDataManager.ACCOUNT_FIELD, accountId, ObjectMetaDataManager.REMOVED_FIELD, null); for (StoragePool registry: registries){ if (!CommonStatesConstants.PURGED.equalsIgnoreCase(registry.getState())) { if (serverAddress.equalsIgnoreCase( (String) CollectionUtils.getNestedValue(registry.getData(), "fields", StoragePoolConstants.SERVER_ADDRESS))) { throw new ClientVisibleException(ResponseCodes.BAD_REQUEST, "ServerAddressUsed"); } } } return super.create(type, request, next); }
.and(STORAGE_POOL.KIND.eq(StoragePoolConstants.KIND_REGISTRY)))).fetchInto(StoragePool.class); for(StoragePool registry: storagePools){ if (serverAddress.equalsIgnoreCase((String) CollectionUtils.getNestedValue(registry.getData(), "fields", StoragePoolConstants.SERVER_ADDRESS))) { registryId = registry.getId(); break;
/** * {@inheritDoc} */ @Override public void from(io.cattle.platform.core.model.StoragePool from) { setId(from.getId()); setName(from.getName()); setAccountId(from.getAccountId()); setKind(from.getKind()); setUuid(from.getUuid()); setDescription(from.getDescription()); setState(from.getState()); setCreated(from.getCreated()); setRemoved(from.getRemoved()); setRemoveTime(from.getRemoveTime()); setData(from.getData()); setPhysicalTotalSizeMb(from.getPhysicalTotalSizeMb()); setVirtualTotalSizeMb(from.getVirtualTotalSizeMb()); setExternal(from.getExternal()); setAgentId(from.getAgentId()); setZoneId(from.getZoneId()); setExternalId(from.getExternalId()); setDriverName(from.getDriverName()); setVolumeAccessMode(from.getVolumeAccessMode()); setStorageDriverId(from.getStorageDriverId()); }