Uploaded image for project: 'Tools (JBoss Tools)'
  1. Tools (JBoss Tools)
  2. JBIDE-8842

Code completion for tag names of Seam config xml

    XMLWordPrintable

Details

    • Feature Request
    • Resolution: Done
    • Major
    • 3.3.0.M1
    • None
    • cdi
    • Documentation (Ref Guide, User Guide, etc.)

    Description

      For example

      <?xml version="1.0" encoding="UTF-8"?>
      <beans xmlns="http://java.sun.com/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xmlns:s="urn:java:ee" 
             xmlns:r="urn:java:org.example.reports">
      
       	<r:Report>  
       		<s:modifies/>
       		<r:filename>sales.jrxml<r:filename>
       		<r:datasource>
       			<r:SalesQualifier/>
       		</r:datasource>
        	</r:Report>
        	
       	<r:Report filename="billing.jrxml">
       		<s:replaces/>
       		<r:datasource>
       			<s:Inject/>
       			<s:Exact>org.example.reports.BillingDatasource</s:Exact>
       		</r:datasource>
        	</r:Report>  	
      </beans>
      

      <r:| - here we can propose a list of all the classes available in org.example.reports package.

      See http://docs.jboss.org/seam/3/config/latest/reference/en-US/html/index.html

      The full list of all types of such a code completion is TBD.

      1. In context of <beans> ... </beans>
        Suggest all classes and annotation types in available packages.
      2. In context of tag header <r:Report | >
        Suggest all fields available if Report is class;
        Suggest all methods available if Report is annotation type.
      3. In context of tag content <r:Report> | </r:Report>
        Suggest <s:replaces/> and <s:modifies/> if Report is class;
        Suggest <s:parameters> if Report is class;
        Suggest all fields and methods available if Report is class;
        Suggest all methods available if Report is annotation type;
        Suggest all annotation types in available packages.
      4. In context of <r:Report> <r:address> | </r:address> </r:Report>
        Suggest <s:value> if 'address' is class field or annotation type method;
        Suggest <s:entry> if 'address' is class field or annotation type method (maybe we should check that it is map);
        Suggest <s:parameters> if 'address' is class method;
        Suggest all annotation types in available packages.
      5. In context of <s:entry> | </s:entry>
        Suggest <s:value> and <s:key>
      6. In context of <s:value> | </s:value> or <s:key> | </s:key>
        Suggest all classes in available packages since value may be set as an inline bean.
      7. In context of <s:parameters> | <s:parameters>
        Suggest types in available packages as types of parameters.
      8. In context of xmlns:*="|"
        Suggest "urn:java:" with available packages.

      Attachments

        Issue Links

          Activity

            People

              scabanovich Viacheslav Kabanovich (Inactive)
              alexeykazakov Alexey Kazakov
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: