for (int i = 0; i < count; i++)
{
ConfigurationPointDescriptor cpd = (ConfigurationPointDescriptor) points.get(i);
ConfigurationPointDefinitionImpl configurationPoint = new ConfigurationPointDefinitionImpl(
module, cpd.getId(), cpd.getLocation(), cpd.getVisibility(),
cpd.getType(), cpd.getCount());
module.addConfigurationPoint(configurationPoint);
// If schema is embedded we can add a parser now, otherwise it must
// be resolved and processed later
if (cpd.getContributionsSchema() != null) {
// TODO: compare container class name and rootElementClassName
if (HashMap.class.getName().equals(cpd.getContributionsSchema().getRootElementClassName())
|| UniqueHashMap.class.getName().equals(cpd.getContributionsSchema().getRootElementClassName())) {
configurationPoint.setConfigurationTypeName(Map.class.getName());
}
// Add parser constructor with direct reference to schema
ConfigurationParserDefinition parserDef = new ConfigurationParserDefinitionImpl(
module, cpd.getContributionsSchema().getLocation(), HiveMindSchemaParser.INPUT_FORMAT_NAME,
new HiveMindSchemaParserConstructor(cpd.getContributionsSchema()));
configurationPoint.addParser(parserDef);
} else if (cpd.getContributionsSchemaId() != null) {
// Add schema assignment and resolve in post processing
String qualifiedId = IdUtils.qualify(module.getId(), cpd.getId());
SchemaAssignment schemaAssignment = new SchemaAssignment(qualifiedId,
cpd.getContributionsSchemaId(), cpd.getLocation());