<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to feature-requests</title><link>https://sourceforge.net/p/perfectjpattern/feature-requests/</link><description>Recent changes to feature-requests</description><atom:link href="https://sourceforge.net/p/perfectjpattern/feature-requests/feed.rss" rel="self"/><language>en</language><lastBuildDate>Wed, 17 Nov 2010 09:55:06 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/perfectjpattern/feature-requests/feed.rss" rel="self" type="application/rss+xml"/><item><title>provide generic implementation for the NullObject pattern</title><link>https://sourceforge.net/p/perfectjpattern/feature-requests/13/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Provide a generic implementation for the NullObject pattern. The implementation will allow to easily instantiate an empty variant of any interface type. Allow some flexibility to let the generic instance be initialized to some values.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Giovanni Azua</dc:creator><pubDate>Wed, 17 Nov 2010 09:55:06 -0000</pubDate><guid>https://sourceforge.net14d1c7febc483bf9252d43a2478e6032a4ce9341</guid></item><item><title>Improve Observer to handle complex dependencies </title><link>https://sourceforge.net/p/perfectjpattern/feature-requests/12/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Improve the Observer Pattern implementation to support complex dependencies in UI applications e.g.Swing-based. Suppose there is a UI with many widgets that have complex inter-dependencies e.g. &lt;/p&gt;
&lt;p&gt;widget "b" computed value depends on widget "a" value&lt;br /&gt;
widget "c" computed value depends on widget "a" value&lt;br /&gt;
widget "c" computed value depends on widget "b" value&lt;/p&gt;
&lt;p&gt;Suppose this inter-dependencies are implemented in the design using the Observer pattern in this case widget "c" will be notified whenever widget "a" changes or widget "b" changes but this is not efficient ... the worst is that the notification to widget "c" can happen before "b" gets updated so that the state of "c" is temporarily "dirty" &lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;A solution to this problem is to improve the Observer implementation with Topological Sorting based on these complex inter-dependencies so that "c" widget is notified only once and when all the widgets it depends upon have been updated. &lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Giovanni Azua</dc:creator><pubDate>Thu, 25 Mar 2010 22:38:48 -0000</pubDate><guid>https://sourceforge.net74cfa0ab0109b789fb608c422c3378442a68a0e6</guid></item><item><title>Showcase Swing UI application</title><link>https://sourceforge.net/p/perfectjpattern/feature-requests/11/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Build a showcase Swing-based UI application that demonstrate the use of many of the patterns already implemented. Requires the generic MVC implementation first. The Swing UI could do something useful in itself e.g. demonstrate SVM Kernel-PCA for classification.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Giovanni Azua</dc:creator><pubDate>Thu, 25 Mar 2010 22:29:56 -0000</pubDate><guid>https://sourceforge.netf98e62f4a9c4c45b393cc5c3081b369e5b115b4a</guid></item><item><title>include Model View Controller Pattern</title><link>https://sourceforge.net/p/perfectjpattern/feature-requests/10/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Provide implementation for a componentized Model View Controller framework aiming to provide a consistent high level architecture for thin client UI applications e.g. Swing-based. Many Swing-based UI applications are created with adhoc architectures that do not scale well over time with respect to adding more use-cases. The idea is to provide a high level MVC that will be context free and built on top of the following Design Patterns: Observer, Command, State and Chain Of Responsibility patterns. The implementation of the MVC pattern will emphasize on IoC friendliness. Optionally provide a new Maven artifact for generating new Swing UI bare bones based on this architecture.&lt;/p&gt;
&lt;p&gt;The top abstractions of this generic MVC are: IModel, IController, IView. They generically expose interfaces that will be wired together automatically i.e. use-case based. The interfaces exposed by each of these top level abstractions are explained below. &lt;/p&gt;
&lt;p&gt;IModel interface:  &lt;br /&gt;
- exposes ISubject (Observer) interfaces: Notifies about changes in the model will be automatically wired to the IView's IObserver&lt;br /&gt;
- exposes fine grained Model State to be accessed and changed by Controller implementations &lt;/p&gt;
&lt;p&gt;IController interface:&lt;br /&gt;
- exposes IObserver (Observer) interfaces: Receives notification about user gestures from the IView and triggers execution of Commands&lt;br /&gt;
- exposes ICommand (Command) interfaces: Trigger the execution of Commands&lt;/p&gt;
&lt;p&gt;IView interface:&lt;br /&gt;
- exposes IObserver (Observer) interfaces: Handles notifications about changes in the model. &lt;br /&gt;
- exposes ISubject (Observer) interfaces: Notifies user gestures.&lt;br /&gt;
- exposes IInvoker (Command) interfaces: Directly triggers the execution of a Command     &lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;There will be an initial entity that will scan the concrete implementation of these top level interfaces and do the wiring e.g.&lt;br /&gt;
IView's IInvokers with IController's ICommands&lt;br /&gt;
IModel's ISubjects with IView's IObservers&lt;br /&gt;
IView's ISubject with IController's IObservers&lt;br /&gt;
&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Giovanni Azua</dc:creator><pubDate>Thu, 25 Mar 2010 22:22:35 -0000</pubDate><guid>https://sourceforge.net7930c94c7de1c98ca6afd1560fa9c0a965bc9b36</guid></item><item><title>Showcase Struts2-based Web Application</title><link>https://sourceforge.net/p/perfectjpattern/feature-requests/9/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Create a new subproject that demonstrates the use of many of the Patterns already implemented to support high quality low maintenance Struts2-based Web Application. The application will be a showcase of several of the existing design Patterns e.g.&lt;/p&gt;
&lt;p&gt;- DAO-based CRUD facilities. &lt;br /&gt;
- Value List handler (Page-by-Page iterator)&lt;/p&gt;
&lt;p&gt;These two above can be elegantly implemented as a Strus2 perfectjpattern plugin&lt;/p&gt;
&lt;p&gt;Optionally the showcase could be made as bare bones to start new Web Applications i.e. a new Maven artifact. The concept would be similar to that of AppFuse but with a slightly different approach of componentized DAO rather than generated code.   &lt;br /&gt;
&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Giovanni Azua</dc:creator><pubDate>Thu, 25 Mar 2010 21:56:45 -0000</pubDate><guid>https://sourceforge.nete54e245782214e3891f17caa25124aac234b773e</guid></item><item><title>SpringGenericDao not to inherit from HibernateGenericDao</title><link>https://sourceforge.net/p/perfectjpattern/feature-requests/8/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Instead make it configurable to take any  IGenericDao implementation either HibernateGenericDao or EclipseLinkGenericDao meaning the SpringGenericDao will decorate any implementation and add the dynamic mapping of interface methods to named queries&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Sun, 19 Jul 2009 19:34:39 -0000</pubDate><guid>https://sourceforge.net75ae1f781f0ac36229aa12b950c83bccedad0ed3</guid></item><item><title>provide DAO implementation for EclipseLink </title><link>https://sourceforge.net/p/perfectjpattern/feature-requests/7/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Provide a parallel implementation of the DAO API using TopLink with the corresponding proprietary findByExample implementation (i.e. perfectjpattern-toplink subproject), ability to switch between Essential and the full blown commercial version, maybe simply by using the Maven exclude option but test it in both.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Mon, 27 Apr 2009 16:57:37 -0000</pubDate><guid>https://sourceforge.net1efa7313fdaad2cac80cd403a274d2a481390f2b</guid></item><item><title>include Value List Handler Pattern</title><link>https://sourceforge.net/p/perfectjpattern/feature-requests/6/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Since one of the most critical components for having a robust Value List Handler implementation is a componentized Dao, create a componentized implementation of the Value List Handler Pattern including Stateful Session EJB examples&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Mon, 20 Apr 2009 19:09:20 -0000</pubDate><guid>https://sourceforge.nete34a505a940ab5463a4d9bfd2636936f349987ea</guid></item><item><title>Composite to be built using Builder Pattern</title><link>https://sourceforge.net/p/perfectjpattern/feature-requests/5/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Introduce CompositeBuilder that simplifies the creation of Composite using the Builder Pattern&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Tue, 17 Mar 2009 10:35:24 -0000</pubDate><guid>https://sourceforge.netfe0174f325df9aaaa1cb7f4d52141f8a517bd4f6</guid></item><item><title>add Builder Pattern template</title><link>https://sourceforge.net/p/perfectjpattern/feature-requests/4/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Provide a base template implementation of the Builder pattern&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Tue, 17 Mar 2009 10:33:46 -0000</pubDate><guid>https://sourceforge.netac019e9407a85611448df892df0f6aacc128ad57</guid></item></channel></rss>