Since 1.1 is almost done, is there going to be a 1.1 compatible EclipseIDE released ?
Since 1.1 is almost done, is there going to be a 1.1 compatible EclipseIDE released ?
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 :?:
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
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)...
... 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.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>
Thanks again for your team's excellent work!
Scott
Scott,
I am glad that Spring IDE is useful for you.Originally Posted by smccrory
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.Originally Posted by smccrory
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:
Cheers,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>
Torsten
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
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, thanks for the idea. it doesn't quite seem to do the trick though...
...doesn't show the dependancies.Code:<property name="interceptorNames"> <list> <idref local="reportServiceSecurity"/> <idref local="reportServiceTransaction"/> </list> </property>
Scott
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.
Loren, this is a great idea and it works like a charmOriginally Posted by Loren Rosen
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