You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by hu...@apache.org on 2002/08/14 19:52:57 UTC

cvs commit: jakarta-commons-sandbox/scaffold/STATUS STATUS-002.txt STATUS-001.txt

husted      2002/08/14 10:52:57

  Added:       scaffold/STATUS STATUS-002.txt STATUS-001.txt
  Log:
  [SCAFFOLD] New sandbox component
  
  Revision  Changes    Path
  1.1                  jakarta-commons-sandbox/scaffold/STATUS/STATUS-002.txt
  
  Index: STATUS-002.txt
  ===================================================================
  SCAFFOLD STATUS
  =======================================================================
  [Ordering is LIFO. Last thing done for a day is the first item listed.]
  
  
  // ------------------------------------------------------------ CHANGES
  
  01-AUG-2002
  -----------
  + resources/application.properties: Add stub file for messages in lang.TOKENS.
  + lang.Token: Add PROCESS_COMPLETE
  + struts.BaseAction.createHelper: Change to throw runtime exception if helper fails.
  + sql_article: Add "article.insert.welcome"
  + README.txt: Update to match current status.
  
  
  31-JUL-2002
  -----------
  
  [port updates from 1.0]
  + text.ConvertUtils: Add isUpperOrNull.
  + Deprecate sql.CreateTable
  + sql.StatementUtil: Deprcate CreateTable in favor of AccessBase.executeUpdate.
  + sql.AccessBase: Add new utility with commonly-used methods for store, delete, restore, et al.
  
  
  1_0 <-> 1_1
  + // imports in lucene,model,struts,util packages; 
  
  19-JUN-2002
  -----------
  + struts.ProcessResult: Add check for null form-bean. Will pass null or map for profile bean, if any.
  
  18-JUN-2002
  -----------
  + lang.Tokens: Add terms for ERROR_CANCEL, ERROR_TOKEN.
  + stuts.BaseAction,ProcessAction: Remove cancel,token handling to ProcessAction
  
  
  17-JUNE-2002
  ------------
  + struts/BaseAction: Add isStruts_1_0() method to expose/not expose MESSAGES.
  
  13-JUN-2002
  -----------
  + struts: add CheckAttributeAction and RemoveAttributeAction.
  + move deprecated struts classes in an "attic" subfolder.
  + move scaffold/struts package into its own folder.
  
  
  12-JUN-2002
  -----------
  + struts.RenderRss: Add simple action to render a Channel bean.
  + struts.BaseAction.getProperties: Return the default properties object.
  + http.ResourceServlet.loadProperties: Add saving the properties to application scope.
  + lucene.Engine: convert indexPath to WORM field. Add init() to set at startup.
  + sql.ConnectionAdaptor: does not seem to be calling getKey() when tested with Resin. Others OK.
  
  
  11-JUN-2002
  -----------
  + sql.ConnectionAdaptor, et seq: Refactor to use getDataSource method and to cache default datasource.
  + sql.ConnectionAdaptor,ServletAdaptor,PoolmanAdaptor: Test and document all three.
  + sql.ConnectionServlet: Add support for adaptor.key and ServletAdaptor.
  + sql.ServletAdaptor: Initial version to support datasources exposed through in servlet context.
  + sql.ConnectionServlet: Initial version to configure ConnectionAdaptor.
  + sql.StrutsAdaptor: Initial version to lookup Struts generic datasource. Needs testing.
  + sql.ConnectionAdaptor: Refactor so uses default JNDI lookup for DATA_SOURCE;
  + http.ResourceServlet: Refactor original design into initLogging, initDefault, initCustom.
  
  
  10-JUNE-2002
  ------------
  + http.ResourceServlet: Initial version; base for application resource-loading servlet.
  + sql.StatementUtils: Update to call ConnectionAdaptor. 
  + sql.PoolmanAdaptor: Initial version to test subclassing ConnectionAdaptor.
  + sql.ConnectionAdaptor: Refactor from ConnectionPool. Use singleton pattern to allow subclassing.
  + utils.ResourceUtils: Initial version to provide utility method for Property and Resource files.
  + .package-template.html: Add as sample for package overview documentation.
  + Update/confirm JavaDocs throughout.
  
  
  07-JUN-2002
  -----------
  + struts.ProcessAction.CheckData: Change to use mapping.getAttribute() if result name is null.
  + struts.ProcessAction.CheckData: Change to use Tokens.RESULT_KEY if result name is null.
  + utils.ProcessResultBase: Change class default name to null.
  + struts.ProcessAction: Revise * to handle single objects or those in a collection.
  + struts.ProcessAction: Pass SessionLocale from formBean to processBean.
  + utils.ProcessBean: Add Locale properties.
  + struts.FormBean: Add SessionLocale properties.
  + util.ProcessResultBase: Fix bug in isMessages(). 
  + struts.BaseAction, et seq, Rework error and message handling. Processes return 
  messages by default for display on SUCCESS page. Can dispatch if should be error.
  
  
  06-JUN-2002
  -----------
  + BaseForm.
  + BaseAction.saveMessages(): add call to action.saveErrors().
  + scaffold: - tweak documentation and coding. 
  + Roll back to 1.0
  + struts: BaseForm, add perform() method to provide forward-compat with 1.1.
  + pages/rss: Add sample RSS pages.
  + struts: Add parseRss().
  
  
  05-JUN-2002
  -----------
  + 
  + struts.BaseForm,BaseMapForm: Add alternative import statements for validator.
  + model;struts;sql;util: Change import statements for 1.1
  + Rollback and re-up to 1.1.
  
  
  
  04-JUN-2002
  -----------
  + [...]
  
  
  03-JUN-2002
  -----------
  + sql.StatementUtils: Rename allocateKey() to createKey().
  
  
  02-JUN-2002
  -----------
  + sql.StatementUtils: Add getColumn(), allocateKey().
  + sql.StatementUtils, sql.ResultSetUtilities: Add getElement().
  + Engine.deleteTerm: Move getReader() inside synch block to correct operation.
  + http.Log rename as lang.Log. Add console(),consoleln() to wrap System.out calls.
  + ConvertUtils: Add Timestamp getTimestamp() - initialized to current system time.
  
  
  31-MAY-2002
  -----------
  + sql.ResultSetUtils: Add putEntry() to handle JDBC:Java type transfer.
  + Remove key properties from ModelBean,ModelBeanBase.
  + Add struts.MenuForm
  + Add http package for non-Struts web classes. 
  + text.ConvertUtils: Add SHORT_ZERO, SHORT_ONE to seed default properties.
  
  
  30-MAY-2002
  -----------
  + rowSetUtils
  + resultSetUtils: Add getElement() getMap() getMaps();
  + statementUtils: executeUpdate, executeQuery
  + Engine: Add deleteTerm method.
  + Add lucene.Engine class from artimus. Need way to set path at runtime.
  + Rename http package to struts. Rename search package to lucene.
  + Conform imports so all Scaffolding classes are using 1.0 versions for now.
  
  
  29-MAY-2002
  -----------
  + BaseAction: Update CatchException to use new ChainedException.getMessage(sb) method.
  + ChainedException: Add getMessage(sb) method to return list of all chained messages.
  + Merge classes from Synthis/Adalon framework back into Scaffold.
  
  
  // ..
  
  21-Feb-2002
  -----------
  + Add SuperServlet (1.0.2 compatible)
  + Add setLocale to SuperAction.
  
  
  // ...
  
  
  24-Jan-2002
  -----------
  + Add base Action and base Form with enhanced functionality.
  - - Need to review in context of latest ActionServlet before proposing for core Action package. Could/should extend ValidatorForm.
  + Remove obsolete TaskAction class.
  + Add ResetAction.java RemoveHelper.java Parameter.java ModelRelay.java
  01-Jan-2002
  -----------
  + Added source zip inside the scaffold main distributable
  
  31-Dec-2001
  -----------
  + Modified ModelHelper to extend BaseHelperAction
  + Added BaseHelperAction
  + ModelDetailHelper - update JavaDocs.
  + Added SetModelHelper - standard action to set ModelBean as session attribute.
  + Added RemoveModelHelper - standard action to remove session attribute.
  + Added FindForwardAction - Scan parameters for a matching forward name.
  + ModelResult, ModelResultBase - Change parameter names in signature. 
  
  
  23-Dec-2001
  -----------
  + Modified build directory structure
  + Moved to latest versions of Struts, Lucene
  + Added dependency on Commons Beanutils jar
  + Corrected typo in LICENSE (replaced Tomcat by Scaffold)
  + Added manifest with version information in scaffold jar
  
  09-Nov-2001
  -----------
  + RequestSetUtil: Add coversion of DECIMAL to Double.
  
  
  08-Nov-2001
  -----------
  + http: Add ContinueAction.
  + http: Fix RelayAction. Change HelperAction to use ; for seperator. Will skip empty entries.
  
  
  07-Nov-2001
  -----------
  + Model: Add ModelAbstractException to use with unimplemented methods.
  
  
  06-Nov-2001
  -----------
  + ResultSetUtils: getCollection will now throw SQLException if either parameter null.
  + StatementUtils: Refactor getCollection to accept an array of replacement parameters.
  + http/MasterDetailHelper: Uses two helpers to provide master/detail layout.
  + http/HelperAction, ModelHelper: Refactor to accept multiple helpers and pass in array.
  + ConvertUtils: Add several methods for number and date handling.
  
  
  05-Nov-2001
  -----------
  + Rename ModelResultHelper as ModelHelper. Better design.
  
  
  27-Oct-2001
  -----------
  + sql/StatementUtils: move from Artimus. update for new connection parameter.
  + sql/ConnectionPool: update to accept resource name as parameter.
  + text/ConvertUtils: initial version.
  + http/RelayAction: initial version -- doesn't seem to work.
  
  
  25-Oct-2001
  -----------
  + text/Merge: initial version. adapt from Polls.
  + http/HttpClient,SocketUtil: move from Polls.
  
  
  24-Oct-2001
  -----------
  + QueryUtils,QueryBeanBase,QueryResultBase,LuceneUtils: refactor to use QME.
  + QueryMapException: initial version.
  + QueryResult: Add TOKEN constant.
  + query/*: Move messages from Bean to Result.
  + lang/Tokens: initial version.
  + build.xml: Add WAR to deployment target.
  
  
  23-Oct-2001
  -----------
  + Refactor ChainedException into .lang, and .util/Query* into .query package.
  + ChainedException: Add isCause and getCauseString methods.
  
  
  21-Oct-2001
  -----------
  + Remove ; replaced by Query* suite.
  + QueryUtils: initial version.
  
  
  20-Oct-2001
  -----------
  + Query*: Enhance to replace functionality of AccessBean suite.
  
  
  19-Oct-2001
  -----------
  + QueryException,QueryBean,QueryBeanBase,QueryResult,QueryResultBean: Initial version.
  
  
  18-Oct-2001
  -----------
  + AccessAction: intial version; Access class refactored to use HelperAction.
  + HelperAction: initial version.
  
  13-Oct-2001
  -----------
  + initial version of app, based on working package
  
  
  
  1.1                  jakarta-commons-sandbox/scaffold/STATUS/STATUS-001.txt
  
  Index: STATUS-001.txt
  ===================================================================
  SCAFFOLD STATUS
  =======================================================================
  [Ordering is LIFO. Last thing done for a day is the first item listed.]
  
  
  // ------------------------------------------------------------ CHANGES
  
  08-OCT-01
  ---------
  + AccessBean: refactor getMap(int) method.
  + AccessBean,AccessBeanList: Add first() method
  + client: refactor to call performCrud on ancestor.
  + ext.http.Access: add performCrud method.
  
  27-SEP-01
  ---------
  + Access,AccessBean: General refactoring.
  + ArticleForm: Remove toMap method in favor of ancestor.
  + AccessBean: Conform to new DataBeanBase source.
  + DataBeanBase: Add default behavior for toMap using BeanUtil.describe
  + Convert MapAccess to DataBean, and refactor. Add getKeyInt,setKeyInt methods.
  + *: Review and revise Javadoc.
  
  
  26-SEP-01
  ---------
  + AccessBeanMap: Remove unused class.
  + AccessBean,AccessBeanList: Remove methods not used in current version of application.
  + Access,Client: Refactor SaveConfirm method from ancestor Client class.
  + ArticleHelper: Move call to allocateKey from Access.crud.
  + ArticleHelper: Add loops around update,insert for multiple forms.
  + README.TXT: Update for Tomcat 4.0 production release.
  + ConnectionPool: Eliminate unnecessary statics
  + build.xml: Add Javadoc targete
  + com/*: Shorten package name to proweb
  + src/*: Move source under java, per new conventions.
  + WEB-INF/pages/*: Move pages to root; add stylesheet.
  
  
  18-SEP-01
  ---------
  + ApplicationResources: Add missingHTML markup to error tags.
  + Engine: Update path for index (/var/lucene/articles)
  + poolman.xml
  
  
  13-SEP-01
  ---------
  + LuceneUtils
  
  
  10-SEP-01
  ---------
  
  + Menu.jsp: Add Create Index button for Lucene.
  + CreateIndex,Data,Statements,Commands: Add support for Lucene.
  + ConnectionPool: Add check for null connection.
  + README.TXT
  
  
  09-SEP-01
  ---------
  + Render.java: intial version.
  + ArticleHelper,build.xml,strut.xml,: Add Lucene support.
  + ArticleForm, CreateTables, web.xml,
  
  
  26-AUG-01
  ---------
  + ext.search.LucineUtils: initial version.
  + search.Engine: initial version.
  + Data: add selectArticle(target) method.
  + CreateIndex: initial version.
  + Add lucene.jar to lib
  
  
  22-AUG-01
  ---------
  + Statements,Data,ArticleHelper: refactor.
  + ListForm: remove as redundant.
  + RequestUtils.getCollection: initial version.
  
  
  20-AUG-01
  ---------
  + AccessBeanMap - initial version
  + Change ListAccessBean to AccessBeanList
  + Refactor ResultList as ResultCollection
  + Change package name to org.apache.struts.artimus
  
  
  03-AUG-01
  ---------
  + ArticleHelper,Menu: Add support for title, author, content search.
  + ArticleList: initial version.
  + Commands: add SQL statments for title,author search.
  + Statements.getResultsLike: initial version.
  
  
  02-AUG-01
  ---------
  
  + TASK: Test revised pages and control flow. All OK, but text search (need to recreate tables).
  + Access.setDispatch: initial version to maintain DispatchBean property.
  + Menu.jsp: initial version (should have done this first!). 
  + config: Refactor to implement only what's needed for "Artimus-1".
  + ext: General refactoring and clean-up.
  
  01-AUG-01
  ---------
  + : Refactor to use DispatchBean interface.
  + TASK: Refactor classes to use "dispatch" rather than "task"
  + Data,Statement: Add ResultList version of Select, to return a List.
  + Data,Statement: Add all String signatures for insert,update.
  + ListAccessBean: initial version.
  + TASK: Refactor DataAccess/AccessBean/Access/Helper classes to implement a List rather than a RowSet. Remove dependancies on Iterators for now, since this was causing ConcurrentModificationException's.
  + DispatchBean,ResultList: intial versions.
  
  31-JUL-01
  ---------
  + TASK: Test input/output.
  + pages/List,Article: Enable bean, logic, and dbTags libs.
  + struts-config: update to use Client for Entry mappings.
  + Helper,Data,Commands: Add CRUD for Entry form. 
  + Form: Update to declare AccessMap interface (methods already implemented).
  + Helper,Access,AccessMap: Initial version
  + CreateTables: Revise to call Data.object methods. Remove obsolete dependancies on SQL packages.
  + Data: initial version. Create high-level wrappers around calls to Statement.
  + CreateTables: Refactor DAO code into sql/Statements class.
  + CreateTables: Add insert of starter keys for other tables. Drop, create, test.
  + CreateTables: Change text to blob and varchar to char, for better compatability. 
  We will be using Lucene for full-text search, and MySQL will change char to varchar anyway.
  + TASK: test CreateTables. 
  + mysql: create database artimus.
  
  
  30-JUL-01
  ---------
  + struts-config: Add mapping for CreateTables.
  + CreateTables,Commands,ConnectionPool,RowSets,Statements: initial versions.
  + struts-config: update mappings for Form, including welcome and done.
  + pages/Article,Entry,List: update for Article properties, including field types and lengths. Add data-entry comments from spec.
  + http/Form: initial version.
  + Update "spec" (chapter 17) to reflect development changes.
  
  
  29-JUL-01
  ---------
  + Extended headbanging session with Validator library. The client-side scripts are present but broken. Server-side validation is fine. Posted query to Struts list. Will proceed and return to this later
  + Draft Article, List, and Entry skeletons.
  + Test building javadoc (not working?)
  + Setup build.xml. Create src/build folder. Build skeleton classes.
  + Setup skeleton pages, forwards, mappings, Form, and Action.
  + struts-config.xml: Config for MySql, and ready alternate configs for hSQL and postgres.
  + web.xml: Add default config for validator, validator tags, dbTags.
  + lib: Place validator.jar, dbTags.jar, and hsqldb.jar under lib.
  + WEB-INF: Move *.tld's under tablibs; update web.xml
  + WEB-INF: Create src,doc,taglibs, and pages folders.
  + ROOT: Create artimus from Struts blank.
  
  
  28-JUL-01
  ---------
  + doc: Second draft of "spec" as Chapter 17 text.
  
  
  // -------------------------------------------------------------- NOTES
  
  []
  
  dc:
  
   title
   creator
   subject
   description
   contributor
   date
  
  publisher
  type
  format
  identifier (url)
  source
  language
  relation
  coverage
  rights
  
  ocs:
   image 88x31
  format
  contentType
  updatePeriod
  updateFrequency
  updateBasis
  
  ical:
  
  COMPLETED
  DTEND
  DUE
  DTSTART
  DURATION
  
  DTSTAMP
  LAST-MODIFIED
  
  RECUR
  
  VEVENT
  VTODO
  VJOURNAL
  
  eventDateStart
  eventDateEnd
  
  alarmDateStart
  alarmDataEnd
  
  []
  
  // Using Skeletons files with Struts.
  
  Integrating Artimus in your own application (artimus.jar)
  
  Internationalizing Artimus
  
  []
  
  copy skel/View.jsp as ../Article.jsp
  
  comment include for bean and logic tags at the top, and browser will ignore them.
  
  insert {placeholders} next to bean:write tages where runtime content will go. update the property setting so these will be ready-to-go later.
  
  remove right and left columns, so this is a one-column table.
  
  add filter="false" to bean:write tag for article. this will output HTML as is, so we can use it in our article. 
  
  remove form buttons; body onload
  
  change paths for local forwards on /Skel mapping to "/WEB-INF/pages/Article.jsp"
  
  load and test.
  
  reloading mappings.
  
  []
  
  copy skel/Result.jsp as ../List.jsp
  
  link date,topic,article as plain forwards
  
  add forwards,actions to mappings
  
  []
  
  copy skel/Form.jsp as ../Entry.jsp
  
  change labels, but leave property1..0
  
  adding fowards, actions to mappings.
  
  []
  
  package naming - callout box
  
  error handlng - log
  
  
  []
  
  Thanks, Hans. We're on the same page now ;-)
  
  I imagine you've also looked at the Oracle Portlet?
  
  http://otn.oracle.com/products/iportal/htdocs/3_0_8_qt/qt_home.htm
  
  http://otn.oracle.com/products/iportal/htdocs/3_0_8_qt/qt_frm.htm
  
  http://otn.oracle.com/products/iportal/htdocs/kci/kcihome.html
  
  In this context, I was thinking of creating backend "Providers" for things like RSS, and exposing this resource using Tiles as the actual "Portlet" part. 
  
  ==
  
  Provides a communication link between the portal services and portlets. 
  Implements session startup and provider login. 
  Acts as a proxy to all portlet calls. 
  Manages the portlet repository list. 
  
  ==
  
  I think what I wanted to look at first was an API for what Oracle calls "Providers". 
  
  http://portalstudio.oracle.com/servlet/page?_pageid=475&_dad=ops&_schema=OPSTUDIO&_mode=3
  
  The idea being that a Provider could be plugged into an Action as a helper class, and wrap up what's needed into a bean to be displayed in a Tile.
  
  The Providers could be setup as application resources, the way the Struts ActionMappings are setup, and the way the ValidatorForm configurations and Tiles definitions are setup. 
  
  At this point, I would look to container-managed security for the users, extending the idea of a database or JDBCRealm to provide single logon for the Providers, and as the basis for a user profile object to store customization options for the view.
  
  
  At this point, some questions occur:
  
  Does this intersect with the workflow API proposed to the commons and struts-dev last week? What's the difference between a portlet and a persistant workflow?
  
  Are Jakarta portlets to be servlets, the way JSPs are servlets? If not, should they be?
  
  Or, from a patterns perspective, are portlets just some kind of helper object?
  
  Could some kind of porlet be packaged as a set of ActionMappings, Actions, JSPs, and associated classes, and plunked into the middle of a Struts application?
  
  Oracle Portlet Provider -> Struts Action
  
  
  What essential services does a portlet API need to provide? 
  
  * Discovery
  * Authorization
  * Profiles (user customization, skins)
  * Presentation fragments (scrape)
  * Resource configuration, application and user (profiles?)
  
  Could an abstract PortletProfile object (or interface) be used to manage 
  
  My initial feeling is that, in a Java MVC environment, a Portlet should be a specialized controller servlet that exposes services to the application's controller servlet through a specific API. The Portlet would expose itself through the ServletContext, where it can be called upon by other servlets in the application. We should be able to load a portlet servlet into any arbitrary application, just as we can load a JSP servlet into any arbitrary application, without modifying the container. 
  
  []
  
  select donor,fullName,street,postOffice,postalCode,item,name,qtyReceived,market from gavel_donor D,gavel_item I where D.donor=I.donor order by donor;
  
  SELECT I.donor,fullName,item,name FROM gavel_item I LEFT OUTER JOIN gavel_donor D ON (I.donor=D.donor) ORDER BY fullName,donor;
  
  []
  
  /*
      public void setNext(Object source) {
          // java.lang.IllegalAccessException
          // pop: IllegalAccessException, InvocationTargetException
          // des: + NoSuchMethodException
          BeanUtils.populate(
              this.rows.next(),
              BeanUtils.describe(source)
          );
      }
  
      public void getNext(Object target) {
          BeanUtils.populate(
              target,
              BeanUtils.describe(this.rows.next())
          );
      }
  
      public Map nextToMap() {
          return BeanUtils.describe(this.rows.next());
      }
  
      public static void populateBean(Object target, Object source) {
          BeanUtils.populate(
              target,
              BeanUtils.describe(source)
          );
      }
  */
  
  
  -----------------------------------------------------------------------
  ###
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>