/** * Return the parameter definition for the operation with the name passed * @param operationName Name of the operation to look for * @return A configuration definition or null on failure */ ConfigurationDefinition getParameterDefinitionsForOperation(String operationName) { ResourceType type = context.getResourceType(); Set<OperationDefinition> operationDefinitions = type.getOperationDefinitions(); for (OperationDefinition definition : operationDefinitions) { if (definition.getName().equals(operationName)) { return definition.getParametersConfigurationDefinition(); } } return null; }
private static void addRepresentation(OperationDefinition od, StringBuilder bld) { bld.append(od.getName()); addRepresentation(od.getResultsConfigurationDefinition(), bld); addRepresentation(od.getParametersConfigurationDefinition(), bld); }
private OperationDefinition validateOperationNameAndParameters(ResourceType resourceType, String operationName, Configuration parameters) { Set<OperationDefinition> operationDefinitions = resourceType.getOperationDefinitions(); OperationDefinition matchingOperationDefinition = null; for (OperationDefinition operationDefinition : operationDefinitions) { if (operationDefinition.getName().equals(operationName)) { matchingOperationDefinition = operationDefinition; break; } } if (matchingOperationDefinition == null) { throw new IllegalArgumentException("[" + operationName + "] is not a valid operation name for Resources of type [" + resourceType.getName() + "]."); } ConfigurationDefinition parametersDefinition = matchingOperationDefinition .getParametersConfigurationDefinition(); List<String> errors = ConfigurationUtility.validateConfiguration(parameters, parametersDefinition); if (!errors.isEmpty()) { throw new IllegalArgumentException("Parameters for [" + operationName + "] on Resource of type [" + resourceType.getName() + "] are not valid: " + errors); } return matchingOperationDefinition; }
if (operationDefinition != null && operationDefinition.getParametersConfigurationDefinition() != null && parameterConfig != null) { ConfigurationUtility.normalizeConfiguration(parameterConfig, operationDefinition .getParametersConfigurationDefinition());
for (OperationDefinition def : opDefs) { System.out.println(def.getName() + " : " + def.getDescription()); ConfigurationDefinition params = def.getParametersConfigurationDefinition(); if (params != null && params.getPropertyDefinitions() != null && !params.getPropertyDefinitions().isEmpty()) {
def.setDescription(nDef.getDescription()); def.setDisplayName(nDef.getDisplayName()); def.setParametersConfigurationDefinition(nDef.getParametersConfigurationDefinition()); def.setResourceVersionRange(nDef.getResourceVersionRange()); def.setResultsConfigurationDefinition(nDef.getResultsConfigurationDefinition());
operationRest.setReadyToSubmit(false); operationRest.setName(opDef.getName()); ConfigurationDefinition paramDefinition = opDef.getParametersConfigurationDefinition(); if (paramDefinition != null) { for (PropertyDefinition propDefs : paramDefinition.getNonGroupedProperties()) { // TODO extend to all properties ?
.getDefinition().getParametersConfigurationDefinition());
/** * Copies the parameters of an OperationDefinition into to an object that can be * returned to a REST-client, so that this knows which fields are to be filled in, * of which type they are and which ones are required * @param def OperationsDefinition to "copy" * @param definitionRest The definition to fill in */ private void copyParamsForDefinition(OperationDefinition def, OperationDefinitionRest definitionRest) { ConfigurationDefinition cd = def.getParametersConfigurationDefinition(); if (cd==null) { return; } for (Map.Entry<String,PropertyDefinition> entry : cd.getPropertyDefinitions().entrySet()) { PropertyDefinition pd = entry.getValue(); if (pd instanceof PropertyDefinitionSimple) { PropertyDefinitionSimple pds = (PropertyDefinitionSimple) pd; SimplePropDef prop = new SimplePropDef(); prop.setName(pds.getName()); prop.setRequired(pds.isRequired()); prop.setType(pds.getType()); prop.setDefaultValue(pds.getDefaultValue()); definitionRest.addParam(prop); } log.debug("copyParams: " + pd.getName() + " not yet supported"); } }
ConfigurationDefinition parameterDefinition = opDef.getParametersConfigurationDefinition(); if (parameterDefinition!=null) {
private AlertNotificationRest notificationToNotificationRest(AlertNotification notification) { AlertNotificationRest anr = new AlertNotificationRest(); anr.setId(notification.getId()); anr.setSenderName(notification.getSenderName()); ConfigurationDefinition configDef = notificationMgr.getConfigurationDefinitionForSender(notification .getSenderName()); anr.setConfig(ConfigurationHelper.configurationToMap(notification.getConfiguration(), configDef, false)); ConfigurationDefinition extraConfigDef = null; if ("Resource Operations".equals(notification.getSenderName())) { OperationDefinition opDef = operationMgr.getOperationDefinition(caller, Integer.valueOf(notification.getConfiguration().getSimpleValue("operation-definition-id", "0"))); extraConfigDef = opDef.getParametersConfigurationDefinition(); } anr.setExtraConfig(ConfigurationHelper.configurationToMap(notification.getExtraConfiguration(), extraConfigDef, false)); return anr; }
definition.getParametersConfigurationDefinition(), args);