Package org.springframework.ide.eclipse.beans.ui.model.metadata

Examples of org.springframework.ide.eclipse.beans.ui.model.metadata.BeanMetadataNode


    Object[] children = super.getChildren();
    for (Object child : children) {
      if (child instanceof RequestMappingAnnotationMetadata) {
        Set<BeanMetadataNode> childNodes = nodes;
        BeanMetadataNode parent = null;
        RequestMappingAnnotationMetadata metadata = (RequestMappingAnnotationMetadata) child;

        // Check if there is a class level RequestMapping defined. If so install a class
        // level meta data node.
        if (metadata.getValue() != null) {
          parent = new BeanMetadataNode(metadata.getHandleIdentifier());
          IType type = (IType) JavaCore.create(metadata.getClassHandle());
          parent.setLabel(metadata.getValueAsText()
              + BeansUIPlugin.getLabelProvider().getText(type));
          parent.setImage(BeansUIPlugin.getLabelProvider().getImage(type));
          parent.setLocation(metadata.getElementSourceLocation());
          nodes.add(parent);
          childNodes = new LinkedHashSet<BeanMetadataNode>();
        }

        // Install a meta data node for every method level RequestMappings
        for (IMethodMetadata mmd : metadata.getMethodMetaData()) {
          RequestMappingMethodAnnotationMetadata requestMapping = (RequestMappingMethodAnnotationMetadata) mmd;
         
          IMethod method = (IMethod) JdtUtils.getByHandle(requestMapping.getMethodHandle());
          BeanMetadataNode node = new BeanMetadataNode(requestMapping.getMethodHandle());
          node.setLabel(requestMapping.getValueAsText()
              + BeansUIPlugin.getLabelProvider().getText(method.getDeclaringType())
              + "." + BeansUIPlugin.getLabelProvider().getText(method)); //$NON-NLS-1$
          node.setImage(BeansUIPlugin.getLabelProvider().getImage(method));
          node.setLocation(requestMapping.getElementSourceLocation());
          childNodes.add(node);
        }

        if (parent != null) {
          parent.setChildren(childNodes.toArray());
View Full Code Here


        || element instanceof ConfigurationAnnotationMetadata) {
      String className = BeansModelUtils.getBeanClass(((AbstractAnnotationMetadata) element).getBean(), null);
      IType type = JdtUtils.getJavaType(((AbstractAnnotationMetadata) element).getBean().getElementResource()
          .getProject(), className);
      if (type != null) {
        BeanMetadataNode node = new BeanMetadataNode(type.getHandleIdentifier());
        node.setLabel(((AbstractAnnotationMetadata) element).getValueAsText()
            + BeansUIPlugin.getLabelProvider().getText(type));
        node.setImage(BeansUIPlugin.getLabelProvider().getImage(type));
        node.setLocation(((AbstractAnnotationMetadata) element).getElementSourceLocation());
        Set<BeanMetadataNode> children = new HashSet<BeanMetadataNode>();
        for (IMethodMetadata method : ((AbstractAnnotationMetadata) element).getMethodMetaData()) {
          BeanMetadataNode child = new BeanMetadataNode(method.getHandleIdentifier());
          IJavaElement je = JavaCore.create(method.getHandleIdentifier());
          String label = method.getValueAsText();
          if (StringUtils.hasText(label)) {
            child.setLabel(label + " " + BeansUIPlugin.getLabelProvider().getText(je)); //$NON-NLS-1$
          }
          else {
            child.setLabel(BeansUIPlugin.getLabelProvider().getText(je));
          }

          // special handling for aspect method level annotation
          if (method instanceof AspectMethodAnnotationMetadata) {
            Type annotationType = ((AspectMethodAnnotationMetadata) method).getType();
            if (annotationType == Type.AFTER) {
              child.setImage(MetadataUIImages.getImage(MetadataUIImages.IMG_OBJS_AFTER_ADVICE));
            }
            else if (annotationType == Type.AROUND) {
              child.setImage(MetadataUIImages.getImage(MetadataUIImages.IMG_OBJS_AROUND_ADVICE));
            }
            else if (annotationType == Type.BEFORE) {
              child.setImage(MetadataUIImages.getImage(MetadataUIImages.IMG_OBJS_BEFORE_ADVICE));
            }
            else if (annotationType == Type.DECLARE_ANNOTATION) {
              child.setImage(MetadataUIImages.getImage(MetadataUIImages.IMG_OBJS_DECLARE_ANNOTATION));
            }
            else if (annotationType == Type.DECLARE_ERROR) {
              child.setImage(MetadataUIImages.getImage(MetadataUIImages.IMG_OBJS_DECLARE_ERROR));
            }
            else if (annotationType == Type.DECLARE_WARNING) {
              child.setImage(MetadataUIImages.getImage(MetadataUIImages.IMG_OBJS_DECLARE_WARNING));
            }
            else if (annotationType == Type.DECLARE_PARENTS) {
              child.setImage(MetadataUIImages.getImage(MetadataUIImages.IMG_OBJS_DECLARE_PARENTS));
            }
            else if (annotationType == Type.POINTCUT) {
              child.setImage(MetadataUIImages.getImage(MetadataUIImages.IMG_OBJS_POINTCUT));
            }
          }
          else if (method instanceof BeanMethodAnnotationMetadata) {
            child.setImage(MetadataUIImages.getImage(MetadataUIImages.IMG_OBJS_ANNOTATION_BEAN));
          }
          else {
            child.setImage(BeansUIPlugin.getLabelProvider().getImage(je));
          }
          child.setLocation(method.getElementSourceLocation());
          children.add(child);
        }
        node.setChildren(children.toArray());
        return new Object[] { node };
      }
    }
    else if (element instanceof AutowireAnnotationMetadata) {
      AutowireAnnotationMetadata metadata = (AutowireAnnotationMetadata) element;
      List<Object> children = new ArrayList<Object>();
      for (IMethodMetadata methodMetadata : metadata.getMethodMetaData()) {
        IJavaElement je = JavaCore.create(methodMetadata.getHandleIdentifier());
        BeanMetadataNode node = new BeanMetadataNode(methodMetadata.getHandleIdentifier());
        node.setLabel(methodMetadata.getValueAsText() + BeansUIPlugin.getLabelProvider().getText(je));
        node.setImage(BeansUIPlugin.getLabelProvider().getImage(je));
        node.setLocation(methodMetadata.getElementSourceLocation());
        children.add(node);
      }
      return children.toArray(new Object[children.size()]);
     
    }
    else if (element instanceof AbstractAnnotationMetadata
        && ((AbstractAnnotationMetadata) element).getBean() != null) {
      String className = BeansModelUtils.getBeanClass(((AbstractAnnotationMetadata) element).getBean(), null);

      IType type = JdtUtils.getJavaType(((AbstractAnnotationMetadata) element).getBean().getElementResource()
          .getProject(), className);
      if (type != null) {
        BeanMetadataNode node = new BeanMetadataNode(type.getHandleIdentifier());
        node.setLabel(BeansUIPlugin.getLabelProvider().getText(type));
        node.setImage(BeansUIPlugin.getLabelProvider().getImage(type));
        node.setLocation(((AbstractAnnotationMetadata) element).getElementSourceLocation());
        return new Object[] { node };
      }
    }
    return IModelElement.NO_CHILDREN;
  }
View Full Code Here

TOP

Related Classes of org.springframework.ide.eclipse.beans.ui.model.metadata.BeanMetadataNode

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.