Announcement Announcement Module
Collapse
No announcement yet.
What is the release schedule for a 1.1 compatible version Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • What is the release schedule for a 1.1 compatible version

    Since 1.1 is almost done, is there going to be a 1.1 compatible EclipseIDE released ?

  • #2
    Since 1.1 is now done for a while I am also interested in a new release.
    Isn't there any hint concerning a release plan :?:

    Comment


    • #3
      What do you mean by "a 1.1 compatible version"? To rephrase my question: What do you expect from "a 1.1 compatible version" of Spring IDE (other than that the included spring-core.jar is up-to-date)?

      We are busy working on new version of Spring IDE. It will provide the following improvements:

      Core plugin:

      * spring-core.jar (updated to v1.1) now included in core instead of separate plugin
      * beans model refactored from UI plugin into core
      * beans model now supports constructor arguments and bean classes too
      * refactored beans model to provide a public API
      * removed dependency to SAX API in public methods
      * beans project validator now checks constructor arguments too
      * config files are re-validated automatically if source code of corresponding bean classes has been modified

      UI plugin:

      * beans project model refactored into core plugin
      * beans view now supports constructor arguments too
      * updated images to Eclipse 3.0 L&F
      * Java sources and classes which are used as Spring beans are decorated too
      * new action set and commands with keybindings for the editor context menu actions

      Graph plugin:

      * graph can be created from a single bean selected in the Beans view too
      * graph editor's title displays a short description of the graph, the full description is displayed in the editor's tooltip
      * graph is surrounded by a margin of 10 pixels
      * a bean's constructor arguments are shown in the graph too
      * references to other beans are recognized in constructor arguments too


      But this release has no special Spring 1.1 features. Maybe we will add additinal decorators or images for the newly introduced abstract beans.

      When will the new release be available? Hhm, we have to do more testing and update the documentation. Maybe we can ship end of this month.

      A developer version of the plugins is available as CVS head version at http://sourceforge.net/projects/springide-eclip/

      Cheers,
      Torsten

      Comment


      • #4
        Tortsen, great work on Spring IDE Eclipse Plugin - I'm using it daily and have found the validation part particularly valuable.

        One thing I'd like to request in 1.1 is that the graph plugin also follow Acegi bean dependancies. For example, if I have the following set of beans defined (listed in order of dependancy)...

        Code:
        	<!-- Report Service -->
        	<bean id="reportService" class="org.springframework.aop.framework.ProxyFactoryBean">
            	<property name="proxyInterfaces"><value>com.mycompany.myapp.service.ReportService</value></property>
        	    <property name="interceptorNames">
              	<list>
                	<value>reportServiceSecurity</value>
         	        <value>reportServiceTransaction</value>
            	</list>
        	    </property>
          	</bean>
        
        	<bean id="reportServiceSecurity" class="net.sf.acegisecurity.intercept.method.MethodSecurityInterceptor">
            	<property name="validateConfigAttributes"><value>true</value></property>
            	<property name="authenticationManager"><ref bean="authenticationManager"/></property>
            	<property name="accessDecisionManager"><ref bean="accessDecisionManager"/></property>
         		<property name="objectDefinitionSource">
        			<value>
        			    com.mycompany.myapp.service.ReportService.*=ROLE_SYS_ADMIN
        			</value>
        		</property>
        	</bean>
        
        	<bean id="reportServiceTransaction" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
        	    <property name="transactionManager">
        	    	<ref local="transactionManager"/>
        	    </property>
        	    <property name="target">
        	    	<ref local="reportServiceTarget"/>
        	    </property>
        	    <property name="transactionAttributes">
        	    	<props>
        	    		<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
        	    		<prop key="*">PROPAGATION_REQUIRED</prop>
        	    	</props>
        	    </property>
        	</bean>
        
        	<bean id="reportServiceTarget" class="com.mycompany.myapp.service.impl.ReportServiceImpl">
        	    <property name="reportDAO"><ref local="reportDAO"/></property>
        	    <property name="contractDAO"><ref local="contractDAO"/></property>
        	    <property name="keywordDAO"><ref local="keywordDAO"/></property>
        	</bean>
        ... ReportService isn't shown to depend on ReportServiceSecurity and then on ReportServiceTransaction. Everything else graphs out OK, so I think the only thing that would be required is to track the "interceptorNames" property/list.

        Thanks again for your team's excellent work!
        Scott

        Comment


        • #5
          Scott,

          Originally posted by smccrory
          Tortsen, great work on Spring IDE Eclipse Plugin - I'm using it daily and have found the validation part particularly valuable.
          I am glad that Spring IDE is useful for you.

          Originally posted by smccrory
          One thing I'd like to request in 1.1 is that the graph plugin also follow Acegi bean dependancies. For example, if I have the following set of beans defined (listed in order of dependancy)...

          Code:
          	<!-- Report Service -->
          	<bean id="reportService" class="org.springframework.aop.framework.ProxyFactoryBean">
              	<property name="proxyInterfaces"><value>com.mycompany.myapp.service.ReportService</value></property>
          	    <property name="interceptorNames">
                	<list>
                  	<value>reportServiceSecurity</value>
           	        <value>reportServiceTransaction</value>
              	</list>
          	    </property>
            	</bean>
          
          	<bean id="reportServiceSecurity" class="net.sf.acegisecurity.intercept.method.MethodSecurityInterceptor">
              	<property name="validateConfigAttributes"><value>true</value></property>
              	<property name="authenticationManager"><ref bean="authenticationManager"/></property>
              	<property name="accessDecisionManager"><ref bean="accessDecisionManager"/></property>
           		<property name="objectDefinitionSource">
          			<value>
          			    com.mycompany.myapp.service.ReportService.*=ROLE_SYS_ADMIN
          			</value>
          		</property>
          	</bean>
          
          	<bean id="reportServiceTransaction" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
          	    <property name="transactionManager">
          	    	<ref local="transactionManager"/>
          	    </property>
          	    <property name="target">
          	    	<ref local="reportServiceTarget"/>
          	    </property>
          	    <property name="transactionAttributes">
          	    	<props>
          	    		<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
          	    		<prop key="*">PROPAGATION_REQUIRED</prop>
          	    	</props>
          	    </property>
          	</bean>
          
          	<bean id="reportServiceTarget" class="com.mycompany.myapp.service.impl.ReportServiceImpl">
          	    <property name="reportDAO"><ref local="reportDAO"/></property>
          	    <property name="contractDAO"><ref local="contractDAO"/></property>
          	    <property name="keywordDAO"><ref local="keywordDAO"/></property>
          	</bean>
          ... ReportService isn't shown to depend on ReportServiceSecurity and then on ReportServiceTransaction.
          Yes, the property 'interceptorNames' isn't recognized as a list of bean names. This is hard to implement in a generic way in Spring IDE: In this case we have to know that semantics of the every bean which supports a property with a list of interceptor beans. This can be ProxyFactoryBean itself or a class which extends it. Maybe we have other bean classes with properties which hold bean names instead of bean references (only bean references are recognized by Spring IDE) too. So IMHO Spring IDE can not provide a generic solution but only a special 'hack' for ProxyfactoryBean and it's extensions.
          I have to think about it...

          But anyway, for your dependency on 'ReportServiceTransaction' you can use ProxyFactoryBean's property 'target' to get this dependency shown in Spring IDE's graph:

          Code:
             <!-- Report Service --> 
             <bean id="reportService" class="org.springframework.aop.framework.ProxyFactoryBean"> 
                 <property name="proxyInterfaces"><value>com.mycompany.myapp.service.ReportService</value></property> 
                <property name="target"><ref local="reportServiceTransaction"/></property>
                 <property name="interceptorNames"> 
                   <list> 
                     <value>reportServiceSecurity</value> 
                 </list> 
                 </property> 
               </bean>
          Cheers,
          Torsten

          Comment


          • #6
            Hi Torsten.

            You're right. I'm not awaiting specifically a 1.1 compatible version. Rather a version with the proposed fixes and new features

            Keep up the good work. Spring-IDE is one of my favorite eclipse plugins.

            Regards,
            Andreas

            Comment


            • #7
              Howabout this:

              -- use <idref> instead of <value> for the entries in the list of interceptor names
              -- the plugin should graph bean dependencies defined via <idref>

              Comment


              • #8
                Loren, thanks for the idea. it doesn't quite seem to do the trick though...

                Code:
                <property name="interceptorNames">
                    <list>
                        <idref local="reportServiceSecurity"/>
                        <idref local="reportServiceTransaction"/>
                    </list>
                </property>
                ...doesn't show the dependancies.

                Scott

                Comment


                • #9
                  Right, but it's a much cleaner addition to the plugin to show idref dependencies in general than to add a special case for ProxyFactoryBean.

                  Comment


                  • #10
                    Great suggestion

                    Originally posted by Loren Rosen
                    Howabout this:

                    -- use <idref> instead of <value> for the entries in the list of interceptor names
                    -- the plugin should graph bean dependencies defined via <idref>
                    Loren, this is a great idea and it works like a charm

                    I updated the upcoming version of Spring IDE accordingly. Spring IDE's internal parser now converts every <idref> into <ref> (instance of RuntimeBeanReference) which are handled like a regular bean dependency.

                    Cheers,
                    Torsten

                    Comment


                    • #11
                      Outstanding! Thanks!!

                      Comment

                      Working...
                      X