Télécharger la liste

Description du projet

Projectの概要

JSPカスタムタグをベースとした、Webアプリケーションフレームワークです。
SQLの知識さえあれば、データのCRUD操作をメインとした業務システムが 簡単に構築することができます。

このフレームワークは、村田機械株式会社の基幹システムを構築するために 開発され、ほぼ全ての基幹システムは、これを利用して構築し、稼動しています。

(基本機能)
・ユーザー管理         ・認証・アクセス制御
・多言語対応          ・Excel入出力機能
・ガントチャート表示、編集機能 ・定型帳票作成、発行機能
・定型メール送信機能      ・データベース定義管理機能
・バッチ処理機能

各種詳細情報及びドキュメントについては、openGion@Websiteを参照して下さい。


Java を含む標章は、米国 Sun Microsystems, Inc.の商標であり、同社のJava ブランドの技術を使用した製品を指します。
Excel は、Microsoft Corporationの米国及びその他の国における登録商標です。
コンテンツ中に記載された社名および製品名は、すべて各社の商標または登録商標です。

Système requise

System requirement is not defined

Livrée : 2014-01-21 08:49
opengion 5.7.2.2 (4 files Cacher)

Notes de release

5.7.2.2 (2014/01/24)
[MainProcess 修正]
MainProcess で、ログ出力と、標準エラー出力の両方とも出力していましたが、
標準エラー出力を停止します。
単に、ログを標準出力に設定した場合、2重に出力されているように見えるためです。
fukurou.process.MainProcess#run()

SQL実行エラーを少し詳細に出力します。
fukurou.process.Process_DBCountFilter#action( final LineModel data ) {
fukurou.process.Process_DBMerge#action( final LineModel data ) {
fukurou.process.Process_DBWriter#action( final LineModel data ) {
fukurou.process.Process_FileCopy#action( final LineModel data ) {
fukurou.process.Process_Grep#action( final LineModel data ) {
fukurou.process.Process_GrepChange3action( final LineModel data ) {
fukurou.process.Process_GrepChangeExcel3action( final LineModel data ) {
fukurou.process.Process_DBCountFilter#makePrepareStatement( final LineModel data )
fukurou.process.Process_DBMerge#makePrepareStatement( final String table,final LineModel data )
fukurou.process.Process_DBReader#init( final ParamProcess paramProcess )
fukurou.process.Process_DBReader#next()
fukurou.process.Process_DBReader#makeLineModel( final int rowNo )
fukurou.process.Process_DBReader#createLineModel( final ResultSet rs )
fukurou.process.Process_DBWriter#makePrepareStatement( final String table,final LineModel data )
fukurou.process.Process_DBWriter#execSql( final String sql )

[DatabaseConfig 修正]
5.6.8.2 (2013/09/20) Tomcat8で、xmlURL が取得できなくなっている対策 で、
xmlURL 変数が、null の場合の再取得で、Tomcat7 の場合でも、WEB-INF/classes フォルダが
ないと取得できないケースがあり、(以前より判っている)その場合は、
相対パスでも取れないため、xmlURL 変数の null チェックが必要でした。
それを追加します。
fukurou.db.DatabaseConfig( final String xmlfile )

private final String XmlFilename ⇒ xmlFilename に修正します。
final なので、大文字で始まる固定変数という事だと思うが、static final だけを
大文字(しかも、変数名すべてを大文字)にしているため、これは、変数名を変更します。
fukurou.db.DatabaseConfig.java

[UserInfoのsetAttribute 戻し]
5.6.8.1 (2013/09/13) で、対応した、UserInfo のセット値が null の場合は、
処理しないロジックで、null をセットして、メモリ上からクリアするロジックが
あると、うまく動作しない(互換性がなくなっている)状況が判りましたので、
以前と同じに、null もセットできるように変更します。
# UserInfo で、セットする値が null、またはゼロ文字列の場合、
# attribute変数に設定しない(DBへも書き込まない)ように変更します。
# これは、無駄なメモリやDB書き込みを減らすためです。
hayabusa.resource.UserInfo#setAttribute( final String key,final String value, final boolean save, final boolean common )
hayabusa.resource.UserInfo#dbLoad()

元は、エンジン内部で使っている変数の無駄な処理を止めるためのロジックなので、
それらをピンポイントで null 登録しない様に変更します。
(EDIT_NAME_*** , EDIT_VIEW_**** , LAST_REQUEST_**** , REPORT_DEFAULT**** , )
※ すべてを対応したかったが、jspから登録したり、色々なので、とりあえず、EDIT_NAME_SELECTED_ のみ対応
hayabusa.resource.UserInfo#setSelectedEdit( final String guikey, final String editName )

[oracle.sql.*** 関係]
JDBCドライバで、ORACLE独自の実装箇所を、出来るだけ、java API の範囲で記述し直します。
Oracle 12c の JDBCドライバを使用した場合、コンパイル時に、警告が出るので、早めに対応します。
なお、racle 12c の JDBCドライバ では、9i 関係のデータベースアクセスに支障が出るため、
当面は、11g の JDBCドライバを使用します。
http://docs.oracle.com/cd/E28389_01/web.1111/b60995/thirdparty.htm
なお、この実装は、11.2.0.3のドライバ以降で有効です。
hayabusa/taglib/DirectWriteTableTag#executeCall( final Connection conn,final CallableStatement callStmt,final String[] args )
plugin/query/Query_JDBCArrayCallable#execute( final String[] args )
plugin/query/Query_JDBCErrMsg#execute( final String[] args )
plugin/query/Query_JDBCKeyEntry#execute( final String[] keys, final String[] args )
plugin/query/Query_JDBCPLSQL#execute( final String names,final String dbArrayType,final DBSysArg[] sysArg,final DBUserArg[] userArg )

5.7.2.1 (2014/01/17)
[ReplaceString バグ]
ReplaceString$ReplaceData#isOverlap メソッドの結果が反転していたので、修正します。
これは、jdk1.6 で実行した場合、compareToメソッドが実行されず、結果、isOverlapメソッドも
実行されていなかったため、発見できませんでしたが、jdk1.7にすると、compareTo メソッドが
実行され、結果、isOverlapメソッドで、エラー判定されてしまいました。
fukurou.util.ReplaceString$ReplaceData#isOverlap( final ReplaceData other )

[Process_FileSearchのMD5 計算]
HybsCryptography に、ファイルを引数に、MD5 を計算するメソッドを追加します。
これを使用して、バッチ系処理で、MD5 の計算結果を出力できるようにします。
Process_FileSearch に、useMD5 引数を追加します。
fukurou.security.HybsCryptography#encrypt( final String org )
fukurou.security.HybsCryptography#decrypt( final String hex )
fukurou.security.HybsCryptography#getMD5( final File input )
fukurou.process.Process_FileSearch#init( final ParamProcess paramProcess )
fukurou.process.FileLineModel#FileLineModel()
fukurou.process.FileLineModel#FileLineModel( final boolean isLineCnt )
fukurou.process.FileLineModel#FileLineModel( final boolean isLineCnt,final boolean isMD5 )
fukurou.process.FileLineModel#FileLineModel( final LineModel model )
fukurou.process.FileLineModel#setFileVals( final int level, final File file )
fukurou.process.FileLineModel#getMD5()

[UploadedFile のバグ修正]
MultipartRequest で 5.6.5.3 (2013/06/28) に修正した箇所を、若干修正します。
修正箇所のコメントは付いていません。(5.6.5.3 のままです)
・RANDOM_KEY の生成で、nextInt( Integer.MAX_VALUE ) に変更。
これは、マイナスのファイル名は、若干嫌だったので、修正します。
・String tempName = RANDOM_KEY + ・・・ の箇所を、
String uniqKey = RANDOM_KEY + ・・・ に修正。
これは、UploadedFile クラスの引数が、uniqKey になっているのと、
tempName は、いかにも、って感じなので、意味が通るように修正します。

UploadedFile の renameTo メソッドで、FileUtil.renameTo している箇所の
引数の並び順を間違えており、リネームできていませんでした。

hayabusa.servlet.MultipartRequest.java
hayabusa.servlet.UploadedFile.renameTo( final String newName , final boolean useBackup )

Changelog

5.7.2.0に一部不具合がありましたので、その対応を行っています。