My favorites | Sign in
Project Logo
             
Details: Show all Hide all

Yesterday

  • 47 hours ago
    Revision 90c3ddf0e7 (fix blog url for kuisong tong) pushed by kuisong.tong   -   fix blog url for kuisong tong
    fix blog url for kuisong tong

Last 7 days

  • Mar 19, 2010
    Revision cfc1134a73 (remove old implementation of delegator for redesign) pushed by kuisong.tong   -   remove old implementation of delegator for redesign
    remove old implementation of delegator for redesign
  • Mar 18, 2010
    issue 28 (Support DataNucleus as a JPA implementation in Repository ) reported by kuisong.tong   -   DataNucleus is a JPA implementation used by GAE, and add supporting of DataNucleus is essential for using repository in GAE environment.
    DataNucleus is a JPA implementation used by GAE, and add supporting of DataNucleus is essential for using repository in GAE environment.
  • Mar 18, 2010
    issue 27 (Add generic query) reported by kuisong.tong   -   In order to replace regular implementation of invocation of JQL or SQL in repository, generic query is able to implement it by convention and configuration.
    In order to replace regular implementation of invocation of JQL or SQL in repository, generic query is able to implement it by convention and configuration.
  • Mar 18, 2010
    issue 26 (Add capacity to disable than really remove it when removing ...) Labels changed by kuisong.tong   -  
    Labels: Type-Enhancement Milestone-1.0-M2 Module-Repository Type-Defect
    Labels: Type-Enhancement Milestone-1.0-M2 Module-Repository Type-Defect
  • Mar 18, 2010
    issue 26 (Add capacity to disable than really remove it when removing ...) reported by kuisong.tong   -   Sometimes, system want to keep record even it is removed by user from business perspective due to audit or some likes. Annotation @Irremovable is for marking this kind of entities.
    Sometimes, system want to keep record even it is removed by user from business perspective due to audit or some likes. Annotation @Irremovable is for marking this kind of entities.
  • Mar 18, 2010
    issue 25 (Add traceability of creation and modification of entity) reported by kuisong.tong   -   If entity is annotated by @Traceable, repository would update creation or modification time and operator automatically. The intercept of JPA might be a solution.
    If entity is annotated by @Traceable, repository would update creation or modification time and operator automatically. The intercept of JPA might be a solution.
  • Mar 18, 2010
    issue 24 (Support transparent pagination in repository) reported by kuisong.tong   -   Normally, you have to specify the first and max result of Query to get part of matching results, which means these must be parameters of your methods in repository to support pagination. In result, the beauty of api would be ruined because they are no business value. To avoid damage of api, the implementation of repository would get parameters of pagination from a provider converting the information from other context like servlet.
    Normally, you have to specify the first and max result of Query to get part of matching results, which means these must be parameters of your methods in repository to support pagination. In result, the beauty of api would be ruined because they are no business value. To avoid damage of api, the implementation of repository would get parameters of pagination from a provider converting the information from other context like servlet.
  • Mar 18, 2010
    issue 23 (Add generic repository) reported by kuisong.tong   -   The generic repository would implement most basic methods of data access, which including get, remove, save, and loadAll. All things user has to do to create a repository with most usual functions is to extend interface EntityRepository, and annotate with @Repository.
    The generic repository would implement most basic methods of data access, which including get, remove, save, and loadAll. All things user has to do to create a repository with most usual functions is to extend interface EntityRepository, and annotate with @Repository.
  • Mar 18, 2010
    issue 22 (Add delegation to reduce implementation of delegate methods) reported by kuisong.tong   -   In Domain Driven Design, services and interfaces normally are delegator of aggregator or repository with some system aspect like transactions and security. Because of no logic in them, it'd better to implement them by intercept to reduce effort of development. For balancing aggression and convenience, It would be configured by xml or annotation. Moreover, delegation in both type and method is required for fine-grained control to implement facade or adapter.
    In Domain Driven Design, services and interfaces normally are delegator of aggregator or repository with some system aspect like transactions and security. Because of no logic in them, it'd better to implement them by intercept to reduce effort of development. For balancing aggression and convenience, It would be configured by xml or annotation. Moreover, delegation in both type and method is required for fine-grained control to implement facade or adapter.
  • Mar 18, 2010
    issue 21 (Add bean converter) reported by kuisong.tong   -   When using DTO in Interfaces layer, the conversion between DTOs and domain objects (i.e.. entity, value object) is significantly boring work which normally is copying bean property between them. For reducing this kind of work, it could be implemented by some build-in code to do that dirty work. Luckily, [http://dozer.sourceforge.net Dozer] is a natural-born library for that. However, Ioc container like spring has their own conversion framework, which means combining them is a big challenge in this enhancement.
    When using DTO in Interfaces layer, the conversion between DTOs and domain objects (i.e.. entity, value object) is significantly boring work which normally is copying bean property between them. For reducing this kind of work, it could be implemented by some build-in code to do that dirty work. Luckily, [http://dozer.sourceforge.net Dozer] is a natural-born library for that. However, Ioc container like spring has their own conversion framework, which means combining them is a big challenge in this enhancement.
  • Mar 18, 2010
    issue 20 (add no operation intercept) Status changed by kuisong.tong   -   implemented with unit test
    Status: Fixed
    implemented with unit test
    Status: Fixed
  • Mar 18, 2010
    issue 18 (Instantiate interfaces and abstract classes in Spring contai...) Status changed by kuisong.tong   -   Implemented with unit test
    Status: Fixed
    Implemented with unit test
    Status: Fixed
  • Mar 18, 2010
    issue 18 (Instantiate interfaces and abstract classes in Spring contai...) commented on by kuisong.tong   -   add a Method Replacer which throws UnsupportedOperationException as a default implementation of abstract methods in interfaces or abstract classes to inform developer adding intercept for these methods
    add a Method Replacer which throws UnsupportedOperationException as a default implementation of abstract methods in interfaces or abstract classes to inform developer adding intercept for these methods
  • Mar 18, 2010
    issue 20 (add no operation intercept) reported by kuisong.tong   -   Sometimes, a method in interface is of a placeholder for other action like event publisher or workflow entry. Annotation @NoOperation is to identify these methods and return default filed value in class of return type of method, for instance, 0 for int, false for boolean and null for object.
    Sometimes, a method in interface is of a placeholder for other action like event publisher or workflow entry. Annotation @NoOperation is to identify these methods and return default filed value in class of return type of method, for instance, 0 for int, false for boolean and null for object.
  • Mar 18, 2010
    Revision 89339b27fd (move spring configuration file into package) pushed by kuisong.tong   -   move spring configuration file into package
    move spring configuration file into package
  • Mar 17, 2010
    2 new revisions pushed by kuisong.tong   -   b08cf1edd6:[maven-release-plugin] rollback the release of parent-1.0.0-M1 0d0059a43d:add final name
    b08cf1edd6:[maven-release-plugin] rollback the release of parent-1.0.0-M1 0d0059a43d:add final name
  • Mar 17, 2010
    2 new revisions pushed by kuisong.tong   -   6936210f05:add assembly configuration 0082f72214:[maven-release-plugin] prepare release parent-1.0.0-M1
    6936210f05:add assembly configuration 0082f72214:[maven-release-plugin] prepare release parent-1.0.0-M1
  • Mar 17, 2010
    Revision f24c5ae6da (remove guice from dependency) pushed by kuisong.tong   -   remove guice from dependency
    remove guice from dependency
  • Mar 16, 2010
    Revision e15fb3d0f2 (change information of Kuisong Tong) pushed by kuisong.tong   -   change information of Kuisong Tong
    change information of Kuisong Tong
  • Mar 16, 2010
    issue 19 (Support Google Guice in extension of Ioc Container) Labels changed by kuisong.tong   -  
    Labels: Type-Enhancement Milestone-1.0-M3 Type-Defect Milestone-1.0-M1
    Labels: Type-Enhancement Milestone-1.0-M3 Type-Defect Milestone-1.0-M1
  • Mar 16, 2010
    issue 19 (Support Google Guice in extension of Ioc Container) reported by kuisong.tong   -   Besides Spring, Guice is another popular Ioc container usually used in light wight infrastructure like GWT and GAE. Add supporting of Guice is essential for using polyforms in GAE environment.
    Besides Spring, Guice is another popular Ioc container usually used in light wight infrastructure like GWT and GAE. Add supporting of Guice is essential for using polyforms in GAE environment.
  • Mar 16, 2010
    issue 18 (Instantiate interfaces and abstract classes in Spring contai...) Labels changed by kuisong.tong   -  
    Labels: Module-DI Dependency-Injection
    Labels: Module-DI Dependency-Injection
  • Mar 16, 2010
    Revision 03b9316160 (fix the issue which is overriding configuration of lookup or...) pushed by kuisong.tong   -   fix the issue which is overriding configuration of lookup or replace methods in xml configuration
    fix the issue which is overriding configuration of lookup or replace methods in xml configuration
  • Mar 16, 2010
    issue 18 (Instantiate interfaces and abstract classes in Spring contai...) Status changed by kuisong.tong   -  
    Status: Started
    Status: Started
  • Mar 16, 2010
    issue 18 (Instantiate interfaces and abstract classes in Spring contai...) commented on by kuisong.tong   -   For component scanning in Spring, because it is hard code in [http://static.springsource.org/spring/docs/3.0.x/javadoc- api/org/springframework/context/annotation/ClassPathBeanDefinitionScanner.html ClassPathBeanDefinitionScanner] that interfaces and abstract classes cannot be instantiated, and also ClassPathBeanDefinitionScanner cannot be replaced directly in "component-scan" due to new operation of ClassPathBeanDefinitionScanner in [http://static.springsource.org/spring/docs/3.0.x/javadoc- api/org/springframework/context/annotation/ComponentScanBeanDefinitionParser.html ComponentScanBeanDefinitionParser]. Therefore, we have to define schema to override default implementation to allow interfaces and abstract classes to pass the filter. For detail please refer to [http://code.google.com/p/polyforms/source/browse/di/src/main/java/org/polyforms/di/s pring/schema/PolyformsComponentScanBeanDefinitionParser.java PolyformsComponentScanBeanDefinitionParser].
    For component scanning in Spring, because it is hard code in [http://static.springsource.org/spring/docs/3.0.x/javadoc- api/org/springframework/context/annotation/ClassPathBeanDefinitionScanner.html ClassPathBeanDefinitionScanner] that interfaces and abstract classes cannot be instantiated, and also ClassPathBeanDefinitionScanner cannot be replaced directly in "component-scan" due to new operation of ClassPathBeanDefinitionScanner in [http://static.springsource.org/spring/docs/3.0.x/javadoc- api/org/springframework/context/annotation/ComponentScanBeanDefinitionParser.html ComponentScanBeanDefinitionParser]. Therefore, we have to define schema to override default implementation to allow interfaces and abstract classes to pass the filter. For detail please refer to [http://code.google.com/p/polyforms/source/browse/di/src/main/java/org/polyforms/di/s pring/schema/PolyformsComponentScanBeanDefinitionParser.java PolyformsComponentScanBeanDefinitionParser].
  • Mar 16, 2010
    issue 18 (Instantiate interfaces and abstract classes in Spring contai...) commented on by kuisong.tong   -   Fortunately, spring supports [http://static.springsource.org/spring/docs/3.0.x/spring-framework- reference/html/beans.html#beans-factory-method-injection Method Injection] to replace abstract method implementation in abstract classes, which means extending that to add method overrides for all interfaces and abstract classes automatically is able to instantiate them in Spring bean factory. A implementation of [http://static.springsource.org/spring/docs/3.0.x/javadoc- api/org/springframework/beans/factory/config/BeanFactoryPostProcessor.html BeanFacto ryPostProcessor] is a excellent way to do that. Please refer to [http://code.google.com/p/polyforms/source/browse/di/src/main/java/org/polyforms/di/s pring/schema/AbstractMethodOv errideProcessor.java AbstractMethodOverrideProcessor] for detail.
    Fortunately, spring supports [http://static.springsource.org/spring/docs/3.0.x/spring-framework- reference/html/beans.html#beans-factory-method-injection Method Injection] to replace abstract method implementation in abstract classes, which means extending that to add method overrides for all interfaces and abstract classes automatically is able to instantiate them in Spring bean factory. A implementation of [http://static.springsource.org/spring/docs/3.0.x/javadoc- api/org/springframework/beans/factory/config/BeanFactoryPostProcessor.html BeanFacto ryPostProcessor] is a excellent way to do that. Please refer to [http://code.google.com/p/polyforms/source/browse/di/src/main/java/org/polyforms/di/s pring/schema/AbstractMethodOv errideProcessor.java AbstractMethodOverrideProcessor] for detail.
  • Mar 16, 2010
    issue 18 (Instantiate interfaces and abstract classes in Spring contai...) commented on by kuisong.tong   -   Fortunately, spring supports <a href="http://static.springsource.org/spring/docs/3.0.x/spring-framework- reference/html/beans.html#beans-factory-method-injection">Method Injection</a> to replace abstract method implementation in abstract classes, which means extending that to add method overrides for all interfaces and abstract classes automatically is able to instantiate them in Spring bean factory. A implementation of <a href="http://static.springsource.org/spring/docs/3.0.x/javadoc- api/org/springframework/beans/factory/config/BeanFactoryPostProcessor.html">BeanFacto ryPostProcessor</a> is a excellent way to do that. Please refer to <a href="/source/browse/di/src/main/java/org/polyforms/di/spring/schema/AbstractMethodOv errideProcessor.java">AbstractMethodOverrideProcessor</a> for detail.
    Fortunately, spring supports <a href="http://static.springsource.org/spring/docs/3.0.x/spring-framework- reference/html/beans.html#beans-factory-method-injection">Method Injection</a> to replace abstract method implementation in abstract classes, which means extending that to add method overrides for all interfaces and abstract classes automatically is able to instantiate them in Spring bean factory. A implementation of <a href="http://static.springsource.org/spring/docs/3.0.x/javadoc- api/org/springframework/beans/factory/config/BeanFactoryPostProcessor.html">BeanFacto ryPostProcessor</a> is a excellent way to do that. Please refer to <a href="/source/browse/di/src/main/java/org/polyforms/di/spring/schema/AbstractMethodOv errideProcessor.java">AbstractMethodOverrideProcessor</a> for detail.
  • Mar 16, 2010
    issue 18 (Instantiate interfaces and abstract classes in Spring contai...) reported by kuisong.tong   -   Because of aop, methods in them are able to be implemented by intercepts. So that it would be quite useful to instantiate interfaces or abstract classes which some or all methods implemented by AOP in IOC Container. However, interfaces and abstract classes cannot be instantiated directly in Spring due to their abstract personality. The requirement of this enhancement is interfaces or abstract classes are able to be value of "class" element in "bean" configuration of Spring, and for supporting annotation, the instantiation also are detected by component scanner in Spring.
    Because of aop, methods in them are able to be implemented by intercepts. So that it would be quite useful to instantiate interfaces or abstract classes which some or all methods implemented by AOP in IOC Container. However, interfaces and abstract classes cannot be instantiated directly in Spring due to their abstract personality. The requirement of this enhancement is interfaces or abstract classes are able to be value of "class" element in "bean" configuration of Spring, and for supporting annotation, the instantiation also are detected by component scanner in Spring.
  • Mar 16, 2010
    issue 17 (Migrate previous code to new project) changed by kuisong.tong   -  
    Status: Invalid
    Labels: Milestone-1.0-M1
    Status: Invalid
    Labels: Milestone-1.0-M1
  • Mar 16, 2010
    4 new revisions pushed by kuisong.tong   -   530fea65e6:use named instead of component 154ec179b7:clean up pom.xml 5db9f0f250:move eclipse configuration file to setting 1ad369aad9:Merge with 4af97eae2f72e9b7ed1c5afd07d2595ccd373282
    530fea65e6:use named instead of component 154ec179b7:clean up pom.xml 5db9f0f250:move eclipse configuration file to setting 1ad369aad9:Merge with 4af97eae2f72e9b7ed1c5afd07d2595ccd373282
  • Mar 15, 2010
    2 new revisions pushed by kuisong.tong   -   3c05240b38:use annotation for bean configuration 4af97eae2f:rename
    3c05240b38:use annotation for bean configuration 4af97eae2f:rename
  • Mar 14, 2010
    2 new revisions pushed by kuisong.tong   -   c354c0cddb:use varargs d3ae2eca92:reduce complexity of method
    c354c0cddb:use varargs d3ae2eca92:reduce complexity of method
  • Mar 14, 2010
    3 new revisions pushed by kuisong.tong   -   115a58d97e:reduce complexity of method 713b509a24:replace tabs with spaces bf7b874f33:reduce complexity of method
    115a58d97e:reduce complexity of method 713b509a24:replace tabs with spaces bf7b874f33:reduce complexity of method
  • Mar 14, 2010
    3 new revisions pushed by kuisong.tong   -   ca505c645b:add hudson plugin 742d987f4e:replace logback with slf4j-simple for testing 8fba8e6175:rename some methods
    ca505c645b:add hudson plugin 742d987f4e:replace logback with slf4j-simple for testing 8fba8e6175:rename some methods
  • Mar 14, 2010
    Revision 9c90b10cfb (reduce complexity) pushed by kuisong.tong   -   reduce complexity
    reduce complexity
  • Mar 14, 2010
    Revision 157432e880 (clean up source code) pushed by kuisong.tong   -   clean up source code
    clean up source code
  • Mar 14, 2010
    8 new revisions pushed by kuisong.tong   -   fc45c0b327:add parameter validation a5061e8277:clean up source code f7eee9e1f1:clean up source code 69dd5d7f17:add more information 3c045374f3:add eclipse configuration files 96dacec130:add test cases for parameter validation f0c4723e13:add changes 6923739b12:refactor method utility class
    fc45c0b327:add parameter validation a5061e8277:clean up source code f7eee9e1f1:clean up source code 69dd5d7f17:add more information 3c045374f3:add eclipse configuration files 96dacec130:add test cases for parameter validation f0c4723e13:add changes 6923739b12:refactor method utility class

Last 30 days

 
Powered by Google Project Hosting