/** * Check if the type is matching with the current node by checking its xmap annotation * * @param type * @param currentNode * @return */ protected boolean isMatchingDescriptorType(IType type, Node currentNode) { try { IAnnotation[] annotations = type.getAnnotations(); for (IAnnotation iAnnotation : annotations) { if (NuxeoXmlComponentProposalComputer.XOBJECT.equals(iAnnotation.getElementName())) { String elementName = null; IMemberValuePair[] memberValuePairs = iAnnotation.getMemberValuePairs(); for (IMemberValuePair member : memberValuePairs) { if ("value".equals(member.getMemberName())) { elementName = (String) member.getValue(); break; } } if (currentNode.getNodeName().equals(elementName)) { return true; } } } } catch (JavaModelException e) { SDKPlugin.log(IStatus.ERROR, "An error occured while parsing the type xmap annotation", e); } return false; }