29/06/2004:
重构com.chedong.weblucene.search.WebLuceneQuery,使之看起来更像是一个javabean:通过getter、setter 来控制其private field; 用com.chedong.util.ParamUtil 和 com.chedong.util.RequestParser 替换com.chedong.weblucene.Validator,简化了参数验证部分的代码; 采用新的配置管理机制:即用com.chedong.properties 包中的类替换掉com.chedong.weblucene.ConfigManager、com.chedong.weblucene.WebLuceneAppConfig 和 com.chedong.weblucene.WebLuceneConfig。虽然WebLuceneAppConfig 得到了保留,但他和WebLuceneGlobalConfig 一起都只是作为com.chedong.properties.SimplePropertiesConsumer 的子类,类似于utility。
有哪些配置文件需要交由新的配置管理机制来管理需要在web.xml 进行设置,如: <servlet-name>admin</servlet-name>
<servlet-class>com.chedong.weblucene.WebLuceneAdminServlet</servlet-class>
<init-param>
<param-name>properties.path</param-name>
<param-value>WEB-INF/conf</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>admin</servlet-name>
<url-pattern>/admin</url-pattern>
</servlet-mapping>
上面的设置意指把{$WEBLUCENE_WEBAPP}/WEB-INF/conf 目录下的*.conf 和 *.properties plain property文件交给配置管理器进行管理;注意配置文件应该以".conf" 或".properties" 作为扩展名。 配合新的配置管理机制,把{$WEBLUCENE_WEBAPP}/WEB-INF/var/*/wl.conf 转移到{$WEBLUCENE_WEBAPP}/WEB-INF/conf/$1.conf,并在weblucene.conf 中加入部分默认属性。 改进对Exception 的处理方式:仿照对正常结果的处理,用xml + xslt 封装Exception,即当遇到Exception时仍然按照OutputFormat 输出html 或者rss、xml 形式的结果。这里的Exception 目前指涉及到两种——Null keywords 和 Parser Exception。 配合对Exception 的改进,在{$WEBLUCENE_WEBAPP}/WEB-INF/var/blog/ 下加入html_null.xsl 和 html_err.xsl。