final List<ExternalOutputPropertyDescriptor> extOutputProperties = data.getOutputProperties();
final List<IOutputPropertyDescriptor> outputPropertyDescriptors = new ArrayList<IOutputPropertyDescriptor>(extOutputProperties.size());
for (final ExternalOutputPropertyDescriptor extOutputProperty : extOutputProperties) {
final String name = extOutputProperty.getName();
final Scope scope = Scope.valueOf(extOutputProperty.getScope().name());
final OutputPropertyDescriptorImpl outputPropertyDescriptor = new OutputPropertyDescriptorImpl(name, scope);
outputPropertyDescriptor.setDefaultValue(extOutputProperty.getDefaultValue());
outputPropertyDescriptor.setDescription(extOutputProperty.getDescription());
outputPropertyDescriptors.add(outputPropertyDescriptor);
}
stylesheetDescriptor.setOutputPropertyDescriptors(outputPropertyDescriptors);
final List<ExternalStylesheetParameterDescriptor> extStylesheetParameters = data.getStylesheetParameters();
final List<IStylesheetParameterDescriptor> stylesheetParameterDescriptors = new ArrayList<IStylesheetParameterDescriptor>(extOutputProperties.size());
for (final ExternalStylesheetParameterDescriptor extStylesheetParameter : extStylesheetParameters) {
final String name = extStylesheetParameter.getName();
final Scope scope = Scope.valueOf(extStylesheetParameter.getScope().name());
final StylesheetParameterDescriptorImpl stylesheetParameterDescriptor = new StylesheetParameterDescriptorImpl(name, scope);
stylesheetParameterDescriptor.setDefaultValue(extStylesheetParameter.getDefaultValue());
stylesheetParameterDescriptor.setDescription(extStylesheetParameter.getDescription());
stylesheetParameterDescriptors.add(stylesheetParameterDescriptor);
}
stylesheetDescriptor.setStylesheetParameterDescriptors(stylesheetParameterDescriptors);
final List<ExternalLayoutAttributeDescriptor> extLayoutAttributes = data.getLayoutAttributes();
final List<ILayoutAttributeDescriptor> layoutAttributeDescriptors = new ArrayList<ILayoutAttributeDescriptor>(extOutputProperties.size());
for (final ExternalLayoutAttributeDescriptor extLayoutAttribute : extLayoutAttributes) {
final String name = extLayoutAttribute.getName();
final Scope scope = Scope.valueOf(extLayoutAttribute.getScope().name());
final LayoutAttributeDescriptorImpl layoutAttributeDescriptor = new LayoutAttributeDescriptorImpl(name, scope);
layoutAttributeDescriptor.setDefaultValue(extLayoutAttribute.getDefaultValue());
layoutAttributeDescriptor.setDescription(extLayoutAttribute.getDescription());
layoutAttributeDescriptor.setTargetElementNames(new LinkedHashSet<String>(extLayoutAttribute.getTargetElements()));