currentExtPoint.setUniqueIdentifier(namespace.getNamespace() + '.' + attrValue);
String uniqueId; String namespaceName; int simpleIdStart = attrValue.lastIndexOf('.'); if (simpleIdStart == -1) { namespaceName = contribution.getDefaultNamespace(); uniqueId = namespaceName + '.' + attrValue; } else { namespaceName = attrValue.substring(0, simpleIdStart); uniqueId = attrValue; } currentExtPoint.setUniqueIdentifier(uniqueId); currentExtPoint.setNamespace(namespaceName);
	private void parseExtensionPointAttributes(Attributes attributes) {		ExtensionPoint currentExtPoint = registry.getElementFactory().createExtensionPoint(namespace.shouldPersist());		// Process Attributes		int len = (attributes != null) ? attributes.getLength() : 0;		for (int i = 0; i < len; i++) {			String attrName = attributes.getLocalName(i);			String attrValue = attributes.getValue(i).trim();			if (attrName.equals(EXTENSION_POINT_NAME))				currentExtPoint.setLabel(translate(attrValue));			else if (attrName.equals(EXTENSION_POINT_ID)) {				currentExtPoint.setUniqueIdentifier(namespace.getNamespace() + '.' + attrValue);			} else if (attrName.equals(EXTENSION_POINT_SCHEMA))				currentExtPoint.setSchema(attrValue);			else				unknownAttribute(EXTENSION_POINT, attrName);		}		if (currentExtPoint.getSimpleIdentifier() == null || currentExtPoint.getLabel() == null) {			String attribute = currentExtPoint.getSimpleIdentifier() == null ? EXTENSION_POINT_ID : EXTENSION_POINT_NAME;			missingAttribute(attribute, EXTENSION_POINT);			stateStack.pop();			stateStack.push(new Integer(IGNORED_ELEMENT_STATE));			return;		}		objectManager.addExtensionPoint(currentExtPoint, true);		currentExtPoint.setNamespace(namespace.getNamespace());		currentExtPoint.setNamespaceOwnerId(namespace.getNamespaceOwnerId());		// Now populate the the vector just below us on the objectStack with this extension point		scratchVectors[EXTENSION_POINT_INDEX].add(currentExtPoint);	}