diff --git a/.github/workflows/maven-ci.yml b/.github/workflows/maven-ci.yml index 0d71c410b..dcad4e121 100644 --- a/.github/workflows/maven-ci.yml +++ b/.github/workflows/maven-ci.yml @@ -7,17 +7,17 @@ on: push: branches: [ master ] pull_request: - branches: [ master ] + branches: [ master, develop-2.0 ] jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - name: Set up JDK 11 - uses: actions/setup-java@v3 + - uses: actions/checkout@v4 + - name: Set up JDK 21 + uses: actions/setup-java@v4 with: - java-version: '11' + java-version: '21' distribution: 'temurin' cache: maven - name: Verify with Maven diff --git a/CHANGELOG.md b/CHANGELOG.md index 77e4a562b..885bda8c3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,11 @@ * HTML属性(HTML_ATTRIBUTE)では `"` と `'` をそれぞれ `"` / `'` にエスケープします。 - `m:write` の `escapeXml=true` は、`script` / `style` / `textarea` を含む現在の出力コンテキストを判定してエスケープ方式を自動選択するようにしました。 +#### システム環境・運用関連 +- Specification の `.ser` キャッシュ(`pageSerialize`)機能を削除しました。 +- `org.seasar.mayaa.engine.specification.serialize` 配下のAPI/実装を削除しました。 +- JMXの `isSerializingEnabled` / `setSerializingEnabled` を削除しました。 + ## Mayaa 1.3.0 : 2026-02-22 ### Changes diff --git a/doc/UPGRADING.md b/doc/UPGRADING.md index 2327a4066..0bd2afc69 100644 --- a/doc/UPGRADING.md +++ b/doc/UPGRADING.md @@ -5,6 +5,7 @@ ## 目次 - [1.3.x から 2.0.0 へのアップグレード](#13x-から-200-へのアップグレード) - [Java 21 / Jakarta EE 10 への移行(必須要件変更)](#java-21--jakarta-ee-10-への移行必須要件変更) + - [シリアライズ機能の廃止](#シリアライズ機能の廃止) - [依存ライブラリの変更](#依存ライブラリの変更) - [JavaScript エンジン (Rhino) 1.7R2 → 1.9.1 へのアップグレード(動作変更)](#javascript-エンジン-rhino-17r2--191-へのアップグレード動作変更) - [`DefaultLayoutTemplateBuilder.setupExtends` のシグネチャ変更(非互換)](#defaultlayouttemplatebuildersetupextends-のシグネチャ変更非互換) @@ -60,6 +61,23 @@ Tomcat 9 以下、WildFly 26 以下、Spring Boot 2.x は対象外です。 --- +### シリアライズ機能の廃止 +Mayaaのテンプレート構造シリアライズ機能は、サーバ性能やメモリ制約が厳しかった時代の名残です。現代のサーバ・コンテナ環境ではテンプレートの都度ビルドが十分高速であり、ファイル永続化は推奨されません。今後は全てメモリキャッシュ運用が前提となります。 + +- **内部API メソッドシグネチャ変更** + + (継承して拡張クラスを開発されている場合は非互換となります) + - `Serializable` 型を引数・戻り値に持つAPI(addInformalProperty, addVirtualProperty, PropertyConverter.convert など)は、すべて `Object` 型に変更されました。 + - 既存の実装クラス・呼び出しコードで `Serializable` 型を前提としている場合は `Object` への修正が必要です。 + +- **設定項目 `pageSerialize` の廃止:** + - `ServiceProvider` 設定や mayaa.xml で利用されていた `pageSerialize` オプションは廃止されました。 + - テンプレート構造の永続化(シリアライズ保存)は今後サポートされません。 + +- **JMXインタフェースからシリアライズ関連メソッドの廃止:** + - JMX経由でテンプレートやSpecificationをシリアライズ/デシリアライズする操作は削除されました。 + - 監視・管理用途でJMXを利用している場合、該当メソッド呼び出しは削除してください。 + ### 依存ライブラリの変更 #### 追加された依存 diff --git a/src-api/org/seasar/mayaa/builder/library/PropertySet.java b/src-api/org/seasar/mayaa/builder/library/PropertySet.java index d98fcc074..c2fa39274 100644 --- a/src-api/org/seasar/mayaa/builder/library/PropertySet.java +++ b/src-api/org/seasar/mayaa/builder/library/PropertySet.java @@ -15,7 +15,6 @@ */ package org.seasar.mayaa.builder.library; -import java.io.Serializable; import java.util.Iterator; import org.seasar.mayaa.ParameterAware; @@ -23,7 +22,7 @@ /** * @author Masataka Kurihara (Gluegent, Inc.) */ -public interface PropertySet extends ParameterAware, Serializable { +public interface PropertySet extends ParameterAware { /** * 例外やログのメッセージ用途として、ファイル中での行番号を取得する。 diff --git a/src-api/org/seasar/mayaa/builder/library/converter/PropertyConverter.java b/src-api/org/seasar/mayaa/builder/library/converter/PropertyConverter.java index 26b3d94a0..f764378c3 100644 --- a/src-api/org/seasar/mayaa/builder/library/converter/PropertyConverter.java +++ b/src-api/org/seasar/mayaa/builder/library/converter/PropertyConverter.java @@ -15,8 +15,6 @@ */ package org.seasar.mayaa.builder.library.converter; -import java.io.Serializable; - import org.seasar.mayaa.ParameterAware; import org.seasar.mayaa.engine.specification.NodeAttribute; @@ -39,6 +37,6 @@ public interface PropertyConverter extends ParameterAware { * @param expectedClass 動的値の場合に期待する動的型。 * @return 変換値。 */ - Serializable convert(NodeAttribute attribute, String value, Class expectedClass); + Object convert(NodeAttribute attribute, String value, Class expectedClass); } diff --git a/src-api/org/seasar/mayaa/cycle/Response.java b/src-api/org/seasar/mayaa/cycle/Response.java index 1464d9c3c..05b00f1ea 100644 --- a/src-api/org/seasar/mayaa/cycle/Response.java +++ b/src-api/org/seasar/mayaa/cycle/Response.java @@ -16,7 +16,6 @@ package org.seasar.mayaa.cycle; import java.io.OutputStream; -import java.io.Serializable; import org.seasar.mayaa.ContextAware; @@ -25,7 +24,7 @@ * レスポンスのインターフェイス。 * @author Masataka Kurihara (Gluegent, Inc.) */ -public interface Response extends Serializable, ContextAware { +public interface Response extends ContextAware { /** * コンテンツタイプの指定を行う。 diff --git a/src-api/org/seasar/mayaa/cycle/ServiceCycle.java b/src-api/org/seasar/mayaa/cycle/ServiceCycle.java index 375f4bc46..de15c7f1c 100644 --- a/src-api/org/seasar/mayaa/cycle/ServiceCycle.java +++ b/src-api/org/seasar/mayaa/cycle/ServiceCycle.java @@ -15,7 +15,6 @@ */ package org.seasar.mayaa.cycle; -import java.io.Serializable; import java.util.Iterator; import org.seasar.mayaa.ParameterAware; @@ -32,7 +31,7 @@ * @author Masataka Kurihara (Gluegent, Inc.) */ public interface ServiceCycle - extends ParameterAware, Serializable { + extends ParameterAware { /** * アプリケーションレベルスコープ。 diff --git a/src-api/org/seasar/mayaa/cycle/script/CompiledScript.java b/src-api/org/seasar/mayaa/cycle/script/CompiledScript.java index 2d6f3d386..0159e7025 100644 --- a/src-api/org/seasar/mayaa/cycle/script/CompiledScript.java +++ b/src-api/org/seasar/mayaa/cycle/script/CompiledScript.java @@ -15,13 +15,12 @@ */ package org.seasar.mayaa.cycle.script; -import java.io.Serializable; /** * コンパイル済みのスクリプトオブジェクト。 * @author Masataka Kurihara (Gluegent, Inc.) */ -public interface CompiledScript extends Serializable { +public interface CompiledScript { /** * コンパイル可能およびリテラルを問わず、入力テキストを取得する。 diff --git a/src-api/org/seasar/mayaa/engine/processor/InformalPropertyAcceptable.java b/src-api/org/seasar/mayaa/engine/processor/InformalPropertyAcceptable.java index 68deb0cb6..3ed68f6f0 100644 --- a/src-api/org/seasar/mayaa/engine/processor/InformalPropertyAcceptable.java +++ b/src-api/org/seasar/mayaa/engine/processor/InformalPropertyAcceptable.java @@ -15,8 +15,6 @@ */ package org.seasar.mayaa.engine.processor; -import java.io.Serializable; - import org.seasar.mayaa.engine.specification.PrefixAwareName; /** @@ -33,7 +31,7 @@ public interface InformalPropertyAcceptable * @param name プロパティ名。 * @param property インフォーマルプロパティ。 */ - void addInformalProperty(PrefixAwareName name, Serializable property); + void addInformalProperty(PrefixAwareName name, Object property); /** * addInformalProperty()に渡されるインフォーマルプロパティに期待される型。 diff --git a/src-api/org/seasar/mayaa/engine/processor/ProcessStatus.java b/src-api/org/seasar/mayaa/engine/processor/ProcessStatus.java index 5849663ce..2a0acc4d8 100644 --- a/src-api/org/seasar/mayaa/engine/processor/ProcessStatus.java +++ b/src-api/org/seasar/mayaa/engine/processor/ProcessStatus.java @@ -15,16 +15,12 @@ */ package org.seasar.mayaa.engine.processor; -import java.io.Serializable; - /** * プロセッサ動作にて状態遷移を示すステータス。 * * @author Koji Suga (Gluegent Inc.) */ -public class ProcessStatus implements Serializable { - - private static final long serialVersionUID = 473586899180314059L; +public class ProcessStatus { private String _status; diff --git a/src-api/org/seasar/mayaa/engine/processor/ProcessorProperty.java b/src-api/org/seasar/mayaa/engine/processor/ProcessorProperty.java index d507b9b72..7c797f395 100644 --- a/src-api/org/seasar/mayaa/engine/processor/ProcessorProperty.java +++ b/src-api/org/seasar/mayaa/engine/processor/ProcessorProperty.java @@ -15,7 +15,6 @@ */ package org.seasar.mayaa.engine.processor; -import java.io.Serializable; import org.seasar.mayaa.cycle.script.CompiledScript; import org.seasar.mayaa.engine.specification.PrefixAwareName; @@ -24,7 +23,7 @@ * プロセッサに設定するプロパティのランタイムオブジェクト。 * @author Masataka Kurihara (Gluegent, Inc.) */ -public interface ProcessorProperty extends Serializable { +public interface ProcessorProperty { /** * プロセッサのプロパティ名。 diff --git a/src-api/org/seasar/mayaa/engine/processor/ProcessorTreeWalker.java b/src-api/org/seasar/mayaa/engine/processor/ProcessorTreeWalker.java index e3eb08879..a44443211 100644 --- a/src-api/org/seasar/mayaa/engine/processor/ProcessorTreeWalker.java +++ b/src-api/org/seasar/mayaa/engine/processor/ProcessorTreeWalker.java @@ -17,14 +17,12 @@ import java.util.Map; -import org.seasar.mayaa.engine.specification.serialize.NodeReferenceResolverFinder; - /** * プロセッサツリーを操作する。 * @author Masataka Kurihara (Gluegent, Inc.) */ public interface ProcessorTreeWalker - extends NodeReferenceResolverFinder { + { /** * プロセッサ実行スコープに、登録スクリプト変数を提供する。 diff --git a/src-api/org/seasar/mayaa/engine/processor/TemplateProcessor.java b/src-api/org/seasar/mayaa/engine/processor/TemplateProcessor.java index 888649c26..d0a787b90 100644 --- a/src-api/org/seasar/mayaa/engine/processor/TemplateProcessor.java +++ b/src-api/org/seasar/mayaa/engine/processor/TemplateProcessor.java @@ -15,18 +15,15 @@ */ package org.seasar.mayaa.engine.processor; -import java.io.Serializable; - import org.seasar.mayaa.builder.library.ProcessorDefinition; import org.seasar.mayaa.engine.Page; import org.seasar.mayaa.engine.specification.SpecificationNode; /** * テンプレート中のHTMLタグを処理するクラス。 - * リクエストに対してステートレスなように実装しなければならない。ビルド済みのTemplateをシリアライズするためにプロセッサもシリアライズが必要。 * @author Masataka Kurihara (Gluegent, Inc.) */ -public interface TemplateProcessor extends ProcessorTreeWalker, Serializable { +public interface TemplateProcessor extends ProcessorTreeWalker { /** * インスタンス生成処理の最後、プロパティをセットした後で呼ばれる。 diff --git a/src-api/org/seasar/mayaa/engine/processor/VirtualPropertyAcceptable.java b/src-api/org/seasar/mayaa/engine/processor/VirtualPropertyAcceptable.java index a7cf874fc..17d2d5174 100644 --- a/src-api/org/seasar/mayaa/engine/processor/VirtualPropertyAcceptable.java +++ b/src-api/org/seasar/mayaa/engine/processor/VirtualPropertyAcceptable.java @@ -15,8 +15,6 @@ */ package org.seasar.mayaa.engine.processor; -import java.io.Serializable; - import org.seasar.mayaa.engine.specification.PrefixAwareName; /** @@ -33,7 +31,7 @@ public interface VirtualPropertyAcceptable * @param name プロパティ名。 * @param property プロパティ値。 */ - void addVirtualProperty(PrefixAwareName name, Serializable property); + void addVirtualProperty(PrefixAwareName name, Object property); /** * addVirtualProperty()に渡されるバーチャルプロパティに期待される型。 diff --git a/src-api/org/seasar/mayaa/engine/specification/NodeObject.java b/src-api/org/seasar/mayaa/engine/specification/NodeObject.java index ad2981a26..1cdc06b70 100644 --- a/src-api/org/seasar/mayaa/engine/specification/NodeObject.java +++ b/src-api/org/seasar/mayaa/engine/specification/NodeObject.java @@ -15,11 +15,9 @@ */ package org.seasar.mayaa.engine.specification; -import java.io.Serializable; - /** * @author Masataka Kurihara (Gluegent, Inc.) */ -public interface NodeObject extends Serializable { +public interface NodeObject { // marker interface. } diff --git a/src-api/org/seasar/mayaa/engine/specification/NodeTreeWalker.java b/src-api/org/seasar/mayaa/engine/specification/NodeTreeWalker.java index 957eafb04..c2f504d3f 100644 --- a/src-api/org/seasar/mayaa/engine/specification/NodeTreeWalker.java +++ b/src-api/org/seasar/mayaa/engine/specification/NodeTreeWalker.java @@ -15,16 +15,14 @@ */ package org.seasar.mayaa.engine.specification; -import java.io.Serializable; import java.util.Iterator; import org.seasar.mayaa.PositionAware; -import org.seasar.mayaa.engine.specification.serialize.NodeReferenceResolverFinder; /** * @author Masataka Kurihara (Gluegent, Inc.) */ -public interface NodeTreeWalker extends PositionAware, Serializable, NodeReferenceResolverFinder { +public interface NodeTreeWalker extends PositionAware { /** * 親ノードの設定をセットする。 diff --git a/src-api/org/seasar/mayaa/engine/specification/serialize/NodeReferenceResolver.java b/src-api/org/seasar/mayaa/engine/specification/serialize/NodeReferenceResolver.java deleted file mode 100644 index f09ce08bc..000000000 --- a/src-api/org/seasar/mayaa/engine/specification/serialize/NodeReferenceResolver.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright 2004-2012 the Seasar Foundation and the Others. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package org.seasar.mayaa.engine.specification.serialize; - -import org.seasar.mayaa.engine.specification.SpecificationNode; - - -/** - * @author Taro Kato (Gluegent, Inc.) - */ -public interface NodeReferenceResolver { - - /** - * デシリアライズ完了の際に、ノード参照が解決したことを - * 通知してもらうためのリスナを登録する。 - * @param uniqueID 対象ノードのユニーク識別子。systemID+sequenceID - * @param listener リスナ - */ - void registResolveNodeListener( - String uniqueID, NodeResolveListener listener); - - /** - * 復元したプロセッサをリゾルバに通知する。 - * @param item 保存するノード - */ - void nodeLoaded(SpecificationNode item); - -} - diff --git a/src-api/org/seasar/mayaa/engine/specification/serialize/NodeReferenceResolverFinder.java b/src-api/org/seasar/mayaa/engine/specification/serialize/NodeReferenceResolverFinder.java deleted file mode 100644 index 5295ac452..000000000 --- a/src-api/org/seasar/mayaa/engine/specification/serialize/NodeReferenceResolverFinder.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Copyright 2004-2012 the Seasar Foundation and the Others. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package org.seasar.mayaa.engine.specification.serialize; - -/** - * @author Taro Kato (Gluegent, Inc.) - */ -public interface NodeReferenceResolverFinder { - - /** - * ツリー上位に位置するシリアライズ時の依存関係を - * 解決するための、ノード参照リゾルバを検索する。 - * - * @return ノード参照リゾルバ。存在しない場合はヌル。 - */ - NodeReferenceResolver findNodeResolver(); - -} - diff --git a/src-api/org/seasar/mayaa/engine/specification/serialize/NodeResolveListener.java b/src-api/org/seasar/mayaa/engine/specification/serialize/NodeResolveListener.java deleted file mode 100644 index 118a574fe..000000000 --- a/src-api/org/seasar/mayaa/engine/specification/serialize/NodeResolveListener.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright 2004-2012 the Seasar Foundation and the Others. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package org.seasar.mayaa.engine.specification.serialize; - -import org.seasar.mayaa.engine.specification.NodeTreeWalker; - -/** - * @author Taro Kato (Gluegent, Inc.) - */ -public interface NodeResolveListener { - - /** - * デシリアライズに復元しようとしているノード参照を解決する - * オリジナルのノードがロードされた際に非同期に通知する。 - * @param uniqueID 要求していたユニークID - * @param loadedInstance 復元された対象ノード。ヌルの場合は見つからなかったことを示す。 - */ - void notify(String uniqueID, NodeTreeWalker loadedInstance); - - /** - * 復元処理が終わった際に呼び出される。 - */ - void release(); - -} - diff --git a/src-api/org/seasar/mayaa/engine/specification/serialize/ProcessorReferenceResolver.java b/src-api/org/seasar/mayaa/engine/specification/serialize/ProcessorReferenceResolver.java deleted file mode 100644 index 1c0a2adf6..000000000 --- a/src-api/org/seasar/mayaa/engine/specification/serialize/ProcessorReferenceResolver.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright 2004-2012 the Seasar Foundation and the Others. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package org.seasar.mayaa.engine.specification.serialize; - -import org.seasar.mayaa.engine.processor.ProcessorTreeWalker; - -/** - * @author Taro Kato (Gluegent, Inc.) - */ -public interface ProcessorReferenceResolver { - - /** - * デシリアライズ完了の際に、プロセッサ参照が解決したことを - * 通知してもらうためのリスナを登録する。 - * @param uniqueID 対象プロセッサID - * @param listener リスナ - */ - void registResolveProcessorListener( - String uniqueID, ProcessorResolveListener listener); - - /** - * 復元したプロセッサをリゾルバに通知する。 - * @param uniqueID 対象プロセッサID - * @param item 復元したプロセッサ - */ - void processorLoaded(String uniqueID, ProcessorTreeWalker item); - -} - diff --git a/src-api/org/seasar/mayaa/engine/specification/serialize/ProcessorReferenceResolverFinder.java b/src-api/org/seasar/mayaa/engine/specification/serialize/ProcessorReferenceResolverFinder.java deleted file mode 100644 index 620fd1fc4..000000000 --- a/src-api/org/seasar/mayaa/engine/specification/serialize/ProcessorReferenceResolverFinder.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright 2004-2012 the Seasar Foundation and the Others. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package org.seasar.mayaa.engine.specification.serialize; - - -/** - * @author Taro Kato (Gluegent, Inc.) - */ -public interface ProcessorReferenceResolverFinder { - - /** - * ツリー上位に位置するシリアライズ時の依存関係を - * 解決するための、プロセッサ参照リゾルバを検索する。 - * - * @return 対応するプロセッサ参照リゾルバ。存在しない場合はヌル。 - */ - ProcessorReferenceResolver findProcessorResolver(); - -} - diff --git a/src-api/org/seasar/mayaa/engine/specification/serialize/ProcessorResolveListener.java b/src-api/org/seasar/mayaa/engine/specification/serialize/ProcessorResolveListener.java deleted file mode 100644 index 0d29cd82b..000000000 --- a/src-api/org/seasar/mayaa/engine/specification/serialize/ProcessorResolveListener.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Copyright 2004-2012 the Seasar Foundation and the Others. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package org.seasar.mayaa.engine.specification.serialize; - -import org.seasar.mayaa.engine.processor.ProcessorTreeWalker; - -/** - * プロセッサの復元を通知する。 - * @author Taro Kato (Gluegent, Inc.) - */ -public interface ProcessorResolveListener { - - /** - * デシリアライズに復元しようとしているプロセッサ参照を解決する - * オリジナルプロセッサがロードされた際に非同期に通知する。 - * @param uniqueID 要求していたプロセッサID - * @param loadedInstance 復元された対象プロセッサ。ヌルの場合は見つからなかったことを示す。 - */ - void notify(String uniqueID, ProcessorTreeWalker loadedInstance); - - /** - * 復元処理が終わった際に呼び出される。 - */ - void release(); - -} - diff --git a/src-api/org/seasar/mayaa/management/MayaaEngineMXBean.java b/src-api/org/seasar/mayaa/management/MayaaEngineMXBean.java index f897799b9..f847083cc 100644 --- a/src-api/org/seasar/mayaa/management/MayaaEngineMXBean.java +++ b/src-api/org/seasar/mayaa/management/MayaaEngineMXBean.java @@ -37,8 +37,5 @@ public interface MayaaEngineMXBean { boolean isDumpEnabled(); void setDumpEnabled(boolean dumpEnabled); - boolean isSerializingEnabled(); - void setSerializingEnabled(boolean serializatingEnabled); - - void deprecateSpecification(String systemID, boolean withSerialized); + void deprecateSpecification(String systemID); } \ No newline at end of file diff --git a/src-api/org/seasar/mayaa/provider/ServiceProvider.java b/src-api/org/seasar/mayaa/provider/ServiceProvider.java index bfbb4ba5c..cd71334dd 100644 --- a/src-api/org/seasar/mayaa/provider/ServiceProvider.java +++ b/src-api/org/seasar/mayaa/provider/ServiceProvider.java @@ -15,7 +15,6 @@ */ package org.seasar.mayaa.provider; -import java.io.Serializable; import org.seasar.mayaa.ParameterAware; import org.seasar.mayaa.builder.PathAdjuster; @@ -31,7 +30,7 @@ * アプリケーションスコープでのサービス提供オブジェクト。 * @author Masataka Kurihara (Gluegent, Inc.) */ -public interface ServiceProvider extends ParameterAware, Serializable { +public interface ServiceProvider extends ParameterAware { /** * エンジンを設定する。 diff --git a/src-impl/org/seasar/mayaa/impl/CycleLocalVariablesImpl.java b/src-impl/org/seasar/mayaa/impl/CycleLocalVariablesImpl.java index 0cc768539..a15a30679 100644 --- a/src-impl/org/seasar/mayaa/impl/CycleLocalVariablesImpl.java +++ b/src-impl/org/seasar/mayaa/impl/CycleLocalVariablesImpl.java @@ -15,17 +15,13 @@ */ package org.seasar.mayaa.impl; -import java.io.Serializable; - import org.seasar.mayaa.cycle.CycleLocalVariables; import org.seasar.mayaa.impl.cycle.CycleThreadLocalFactory; /** * @author Taro Kato (Gluegent, Inc.) */ -public class CycleLocalVariablesImpl implements CycleLocalVariables, Serializable { - - private static final long serialVersionUID = 981360496015071116L; +public class CycleLocalVariablesImpl implements CycleLocalVariables { public Object getGlobalVariable(String key, Object[] params) { return CycleThreadLocalFactory.get(key, params); diff --git a/src-impl/org/seasar/mayaa/impl/ParameterAwareImpl.java b/src-impl/org/seasar/mayaa/impl/ParameterAwareImpl.java index f24ea9bdd..390a44161 100644 --- a/src-impl/org/seasar/mayaa/impl/ParameterAwareImpl.java +++ b/src-impl/org/seasar/mayaa/impl/ParameterAwareImpl.java @@ -15,10 +15,6 @@ */ package org.seasar.mayaa.impl; -import java.io.IOException; -import java.io.ObjectInputStream; -import java.io.ObjectOutputStream; -import java.io.Serializable; import java.util.Collections; import java.util.HashMap; import java.util.Iterator; @@ -30,11 +26,9 @@ /** * @author Masataka Kurihara (Gluegent, Inc) */ -public class ParameterAwareImpl implements ParameterAware, Serializable { +public class ParameterAwareImpl implements ParameterAware { - private static final long serialVersionUID = 7520826050429074016L; - - private transient Map _parameters; + private Map _parameters; private String _systemID = ""; private int _lineNumber; private boolean _onTemplate; @@ -100,25 +94,4 @@ public boolean isOnTemplate() { return _onTemplate; } - // for serialize - - private void writeObject(ObjectOutputStream out) throws IOException { - out.defaultWriteObject(); - out.writeObject(_parameters); - } - - private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException { - in.defaultReadObject(); - - @SuppressWarnings("unchecked") - Map map = (Map) in.readObject(); - - if (map != null) { - for (Map.Entry entry : map.entrySet()){ - // for override method - setParameter(entry.getKey(), entry.getValue()); - } - } - } - } diff --git a/src-impl/org/seasar/mayaa/impl/builder/DefaultLayoutTemplateBuilder.java b/src-impl/org/seasar/mayaa/impl/builder/DefaultLayoutTemplateBuilder.java index ea9d92caa..c621dc045 100644 --- a/src-impl/org/seasar/mayaa/impl/builder/DefaultLayoutTemplateBuilder.java +++ b/src-impl/org/seasar/mayaa/impl/builder/DefaultLayoutTemplateBuilder.java @@ -43,7 +43,6 @@ public class DefaultLayoutTemplateBuilder extends TemplateBuilderImpl { private static final Log LOG = LogFactory.getLog(DefaultLayoutTemplateBuilder.class); - private static final long serialVersionUID = 6472968108941224353L; private String _defaultLayoutPageName; private boolean _generateMayaaNode; diff --git a/src-impl/org/seasar/mayaa/impl/builder/PathAdjusterImpl.java b/src-impl/org/seasar/mayaa/impl/builder/PathAdjusterImpl.java index 7cafe66fe..a281d68cb 100644 --- a/src-impl/org/seasar/mayaa/impl/builder/PathAdjusterImpl.java +++ b/src-impl/org/seasar/mayaa/impl/builder/PathAdjusterImpl.java @@ -62,7 +62,6 @@ public class PathAdjusterImpl extends ParameterAwareImpl implements PathAdjuster, CONST_IMPL { - private static final long serialVersionUID = -6683061623840171581L; private String[][] _adjustTarget; diff --git a/src-impl/org/seasar/mayaa/impl/builder/PathRelativeAdjusterImpl.java b/src-impl/org/seasar/mayaa/impl/builder/PathRelativeAdjusterImpl.java index 8d66f7baa..f22fffc75 100644 --- a/src-impl/org/seasar/mayaa/impl/builder/PathRelativeAdjusterImpl.java +++ b/src-impl/org/seasar/mayaa/impl/builder/PathRelativeAdjusterImpl.java @@ -51,7 +51,6 @@ */ public class PathRelativeAdjusterImpl extends PathAdjusterImpl { - private static final long serialVersionUID = -1408738254857321372L; /** * @see PathAdjusterImpl#PathAdjusterImpl() diff --git a/src-impl/org/seasar/mayaa/impl/builder/SpecificationBuilderImpl.java b/src-impl/org/seasar/mayaa/impl/builder/SpecificationBuilderImpl.java index c24832626..8a8819940 100644 --- a/src-impl/org/seasar/mayaa/impl/builder/SpecificationBuilderImpl.java +++ b/src-impl/org/seasar/mayaa/impl/builder/SpecificationBuilderImpl.java @@ -38,7 +38,6 @@ public class SpecificationBuilderImpl extends ParameterAwareImpl implements SpecificationBuilder, CONST_IMPL { - private static final long serialVersionUID = -1272395705148798946L; private boolean _outputMayaaWhitespace = false; diff --git a/src-impl/org/seasar/mayaa/impl/builder/TemplateBuilderImpl.java b/src-impl/org/seasar/mayaa/impl/builder/TemplateBuilderImpl.java index f1f86def6..12633d75d 100644 --- a/src-impl/org/seasar/mayaa/impl/builder/TemplateBuilderImpl.java +++ b/src-impl/org/seasar/mayaa/impl/builder/TemplateBuilderImpl.java @@ -15,8 +15,6 @@ */ package org.seasar.mayaa.impl.builder; -import java.io.IOException; -import java.io.ObjectInputStream; import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.Collections; @@ -83,7 +81,6 @@ public class TemplateBuilderImpl extends SpecificationBuilderImpl public static final String OUTPUT_TEMPLATE_WHITESPACE = "outputTemplateWhitespace"; private static final Log LOG = LogFactory.getLog(TemplateBuilderImpl.class); - private static final long serialVersionUID = -1031702086020145692L; private List _resolvers = new ArrayList<>(); private List _unmodifiableResolvers = Collections.unmodifiableList(_resolvers); @@ -719,15 +716,6 @@ protected void doInjection(Template template) { saveToCycle(template, template); } - - // deserialization - private void readObject(ObjectInputStream in) - throws IOException, ClassNotFoundException { - in.defaultReadObject(); - - _chain = new DefaultInjectionChain(); - } - // support class -------------------------------------------------- protected class NekoHtmlReaderPool extends XMLReaderPool { diff --git a/src-impl/org/seasar/mayaa/impl/builder/injection/DefaultInjectionChain.java b/src-impl/org/seasar/mayaa/impl/builder/injection/DefaultInjectionChain.java index bd8efb4c2..ebee58648 100644 --- a/src-impl/org/seasar/mayaa/impl/builder/injection/DefaultInjectionChain.java +++ b/src-impl/org/seasar/mayaa/impl/builder/injection/DefaultInjectionChain.java @@ -15,7 +15,6 @@ */ package org.seasar.mayaa.impl.builder.injection; -import java.io.Serializable; import org.seasar.mayaa.builder.injection.InjectionChain; import org.seasar.mayaa.engine.specification.QName; @@ -29,9 +28,7 @@ * @author Masataka Kurihara (Gluegent, Inc.) */ public class DefaultInjectionChain - implements InjectionChain, Serializable, CONST_IMPL { - - private static final long serialVersionUID = 1L; + implements InjectionChain, CONST_IMPL { private QName[] _specialNames = new QName[] { QM_CDATA, diff --git a/src-impl/org/seasar/mayaa/impl/builder/library/ProcessorDefinitionImpl.java b/src-impl/org/seasar/mayaa/impl/builder/library/ProcessorDefinitionImpl.java index d9458fd14..10686f801 100644 --- a/src-impl/org/seasar/mayaa/impl/builder/library/ProcessorDefinitionImpl.java +++ b/src-impl/org/seasar/mayaa/impl/builder/library/ProcessorDefinitionImpl.java @@ -15,7 +15,6 @@ */ package org.seasar.mayaa.impl.builder.library; -import java.io.Serializable; import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; @@ -46,7 +45,6 @@ public class ProcessorDefinitionImpl extends PropertySetImpl implements ProcessorDefinition, CONST_IMPL { - private static final long serialVersionUID = -9158405427849768423L; private Class _processorClass; private List _propertySetRefs; @@ -143,23 +141,9 @@ protected void settingProperty( } else if (processor instanceof VirtualPropertyAcceptable) { VirtualPropertyAcceptable acceptable = (VirtualPropertyAcceptable) processor; - if (value instanceof Serializable) { - PrefixAwareName name = - getPrefixAwareName(injected, property.getName()); - acceptable.addVirtualProperty(name, (Serializable) value); - } else { - DiagnosticEventBuffer.recordWarn( - DiagnosticEventBuffer.Phase.BUILD, - "nonSerializableVirtualProperty", - original.getSystemID(), - StringUtil.getMessage( - ProcessorDefinitionImpl.class, 3, - processorClass.getName(), propertyImplName, - value.getClass().getName()), - propertyImplName, - null, - original); - } + PrefixAwareName name = + getPrefixAwareName(injected, property.getName()); + acceptable.addVirtualProperty(name, value); } else { DiagnosticEventBuffer.recordWarn( DiagnosticEventBuffer.Phase.BUILD, @@ -216,7 +200,7 @@ protected void settingInformalProperties(SpecificationNode injected, } Class expectedClass = acceptable.getInformalExpectedClass(); String value = attr.getValue(); - Serializable property = converter.convert(attr, value, expectedClass); + Object property = converter.convert(attr, value, expectedClass); if (property == null) { throw new ConverterOperationException(converter, value); } @@ -248,9 +232,7 @@ public TemplateProcessor createTemplateProcessor( // support class ------------------------------------------------ - protected static class PropertySetRef implements Serializable { - - private static final long serialVersionUID = -3425332447146558868L; + protected static class PropertySetRef { private String _name; private String _systemID; diff --git a/src-impl/org/seasar/mayaa/impl/builder/library/PropertyDefinitionImpl.java b/src-impl/org/seasar/mayaa/impl/builder/library/PropertyDefinitionImpl.java index 271101683..d9a09f419 100644 --- a/src-impl/org/seasar/mayaa/impl/builder/library/PropertyDefinitionImpl.java +++ b/src-impl/org/seasar/mayaa/impl/builder/library/PropertyDefinitionImpl.java @@ -43,7 +43,6 @@ public class PropertyDefinitionImpl extends ParameterAwareImpl implements PropertyDefinition, CONST_IMPL { - private static final long serialVersionUID = -9121229054380668801L; private static final Log LOG = LogFactory.getLog(PropertyDefinitionImpl.class); diff --git a/src-impl/org/seasar/mayaa/impl/builder/library/PropertySetImpl.java b/src-impl/org/seasar/mayaa/impl/builder/library/PropertySetImpl.java index ed6db3033..d33955f98 100644 --- a/src-impl/org/seasar/mayaa/impl/builder/library/PropertySetImpl.java +++ b/src-impl/org/seasar/mayaa/impl/builder/library/PropertySetImpl.java @@ -38,7 +38,6 @@ public class PropertySetImpl extends ParameterAwareImpl implements PropertySet { - private static final long serialVersionUID = 6254708300179494624L; private static final Log LOG = LogFactory.getLog(PropertySetImpl.class); diff --git a/src-impl/org/seasar/mayaa/impl/builder/library/TLDProcessorDefinition.java b/src-impl/org/seasar/mayaa/impl/builder/library/TLDProcessorDefinition.java index b445ecd50..7e52befc3 100644 --- a/src-impl/org/seasar/mayaa/impl/builder/library/TLDProcessorDefinition.java +++ b/src-impl/org/seasar/mayaa/impl/builder/library/TLDProcessorDefinition.java @@ -39,7 +39,6 @@ */ public class TLDProcessorDefinition extends ProcessorDefinitionImpl { - private static final long serialVersionUID = -6115371515313274708L; public static final String BODY_CONTENT_EMPTY = "empty"; public static final String BODY_CONTENT_JSP = "JSP"; public static final String BODY_CONTENT_SCRIPTLESS = "scriptless"; diff --git a/src-impl/org/seasar/mayaa/impl/builder/library/TLDPropertyDefinition.java b/src-impl/org/seasar/mayaa/impl/builder/library/TLDPropertyDefinition.java index 80775addd..9b56c0531 100644 --- a/src-impl/org/seasar/mayaa/impl/builder/library/TLDPropertyDefinition.java +++ b/src-impl/org/seasar/mayaa/impl/builder/library/TLDPropertyDefinition.java @@ -39,7 +39,6 @@ */ public class TLDPropertyDefinition extends PropertyDefinitionImpl { - private static final long serialVersionUID = -2999228650173085084L; private static final Log LOG = LogFactory.getLog(TLDPropertyDefinition.class); diff --git a/src-impl/org/seasar/mayaa/impl/builder/library/TemplateAttributeReaderImpl.java b/src-impl/org/seasar/mayaa/impl/builder/library/TemplateAttributeReaderImpl.java index b26a11894..813b1374e 100644 --- a/src-impl/org/seasar/mayaa/impl/builder/library/TemplateAttributeReaderImpl.java +++ b/src-impl/org/seasar/mayaa/impl/builder/library/TemplateAttributeReaderImpl.java @@ -37,7 +37,6 @@ public class TemplateAttributeReaderImpl extends ParameterAwareImpl implements TemplateAttributeReader { - private static final long serialVersionUID = -7340519771743083660L; private Set _ignoreAttributes; private Map _aliasAttributes; diff --git a/src-impl/org/seasar/mayaa/impl/builder/library/converter/PrefixAwareNameConverter.java b/src-impl/org/seasar/mayaa/impl/builder/library/converter/PrefixAwareNameConverter.java index c81ef0f95..c07532c83 100644 --- a/src-impl/org/seasar/mayaa/impl/builder/library/converter/PrefixAwareNameConverter.java +++ b/src-impl/org/seasar/mayaa/impl/builder/library/converter/PrefixAwareNameConverter.java @@ -15,7 +15,6 @@ */ package org.seasar.mayaa.impl.builder.library.converter; -import java.io.Serializable; import org.seasar.mayaa.builder.library.converter.PropertyConverter; import org.seasar.mayaa.engine.specification.NodeAttribute; @@ -29,13 +28,12 @@ public class PrefixAwareNameConverter extends ParameterAwareImpl implements PropertyConverter { - private static final long serialVersionUID = 7617633992522264452L; public Class getPropetyClass() { return PrefixAwareName.class; } - public Serializable convert( + public Object convert( NodeAttribute attribute, String value, Class expectedClass) { if (attribute == null || value == null) { throw new IllegalArgumentException(); diff --git a/src-impl/org/seasar/mayaa/impl/builder/library/converter/ProcessorPropertyConverter.java b/src-impl/org/seasar/mayaa/impl/builder/library/converter/ProcessorPropertyConverter.java index 82dd36f16..ce7f33653 100644 --- a/src-impl/org/seasar/mayaa/impl/builder/library/converter/ProcessorPropertyConverter.java +++ b/src-impl/org/seasar/mayaa/impl/builder/library/converter/ProcessorPropertyConverter.java @@ -15,8 +15,6 @@ */ package org.seasar.mayaa.impl.builder.library.converter; -import java.io.Serializable; - import org.seasar.mayaa.builder.library.converter.PropertyConverter; import org.seasar.mayaa.engine.processor.ProcessorProperty; import org.seasar.mayaa.engine.specification.NodeAttribute; @@ -31,13 +29,12 @@ public class ProcessorPropertyConverter extends ParameterAwareImpl implements PropertyConverter { - private static final long serialVersionUID = -6093527316881781459L; public Class getPropetyClass() { return ProcessorProperty.class; } - public Serializable convert( + public Object convert( NodeAttribute attribute, String value, Class expectedClass) { if (attribute == null || expectedClass == null) { throw new IllegalArgumentException(); diff --git a/src-impl/org/seasar/mayaa/impl/builder/library/message.properties b/src-impl/org/seasar/mayaa/impl/builder/library/message.properties index 7d67a72a1..d34ac4c9b 100644 --- a/src-impl/org/seasar/mayaa/impl/builder/library/message.properties +++ b/src-impl/org/seasar/mayaa/impl/builder/library/message.properties @@ -13,7 +13,6 @@ NoRequiredPropertyException=lack of required attribute - {4}: {5}.{6}, {2}#{3}. PropertySetImpl={0}.{1} is conflicted. ProcessorDefinitionImpl.1=PropertySet "{0}"({1}#{2}) has been registed. ProcessorDefinitionImpl.2={0} don''t have property "{1}". -ProcessorDefinitionImpl.3={2} is not Serializable ({0}.{1}). PropertyDefinitionImpl=property not found, {0}.{1} PropertySetNotFoundException=PropertySet "{4}" not found, {5}#{6}. TLDPropertyDefinition=property not found, {0}.{1} diff --git a/src-impl/org/seasar/mayaa/impl/builder/library/scanner/DefaultSourceScanner.java b/src-impl/org/seasar/mayaa/impl/builder/library/scanner/DefaultSourceScanner.java index bdf80dfa1..2445e01ba 100644 --- a/src-impl/org/seasar/mayaa/impl/builder/library/scanner/DefaultSourceScanner.java +++ b/src-impl/org/seasar/mayaa/impl/builder/library/scanner/DefaultSourceScanner.java @@ -34,7 +34,6 @@ public class DefaultSourceScanner extends ParameterAwareImpl implements SourceScanner { private static final Log LOG = LogFactory.getLog(DefaultSourceScanner.class.getName()); - private static final long serialVersionUID = 690422240376318319L; private Set _sources; diff --git a/src-impl/org/seasar/mayaa/impl/builder/library/scanner/FolderSourceScanner.java b/src-impl/org/seasar/mayaa/impl/builder/library/scanner/FolderSourceScanner.java index 6794ae1a4..a5e60fe97 100644 --- a/src-impl/org/seasar/mayaa/impl/builder/library/scanner/FolderSourceScanner.java +++ b/src-impl/org/seasar/mayaa/impl/builder/library/scanner/FolderSourceScanner.java @@ -45,7 +45,6 @@ public class FolderSourceScanner extends ParameterAwareImpl private static final Log LOG = LogFactory.getLog(FolderSourceScanner.class.getName()); - private static final long serialVersionUID = 2888604805693825909L; private FileSourceDescriptor _source; diff --git a/src-impl/org/seasar/mayaa/impl/builder/library/scanner/MetaInfSourceScanner.java b/src-impl/org/seasar/mayaa/impl/builder/library/scanner/MetaInfSourceScanner.java index 210aa4074..cb38a3061 100644 --- a/src-impl/org/seasar/mayaa/impl/builder/library/scanner/MetaInfSourceScanner.java +++ b/src-impl/org/seasar/mayaa/impl/builder/library/scanner/MetaInfSourceScanner.java @@ -36,7 +36,6 @@ public class MetaInfSourceScanner extends ParameterAwareImpl private static final Log LOG = LogFactory.getLog(MetaInfSourceScanner.class.getName()); - private static final long serialVersionUID = -7285416169718204350L; private FolderSourceScanner _folderScanner = new FolderSourceScanner(); private Set _ignores = new HashSet<>(); diff --git a/src-impl/org/seasar/mayaa/impl/builder/library/scanner/ResourceScanner.java b/src-impl/org/seasar/mayaa/impl/builder/library/scanner/ResourceScanner.java index 0e1b2a10c..2b7736c52 100644 --- a/src-impl/org/seasar/mayaa/impl/builder/library/scanner/ResourceScanner.java +++ b/src-impl/org/seasar/mayaa/impl/builder/library/scanner/ResourceScanner.java @@ -39,7 +39,6 @@ */ public class ResourceScanner extends ParameterAwareImpl implements SourceScanner { - private static final long serialVersionUID = 9001235862576049476L; private static final Log LOG = LogFactory.getLog(ResourceScanner.class); private String _root; diff --git a/src-impl/org/seasar/mayaa/impl/cycle/AbstractResponse.java b/src-impl/org/seasar/mayaa/impl/cycle/AbstractResponse.java index f2b8faba0..ddb5bc34c 100644 --- a/src-impl/org/seasar/mayaa/impl/cycle/AbstractResponse.java +++ b/src-impl/org/seasar/mayaa/impl/cycle/AbstractResponse.java @@ -32,7 +32,6 @@ */ public abstract class AbstractResponse implements Response, CONST_IMPL { - private static final long serialVersionUID = -7175816678322765773L; private String _encoding = TEMPLATE_DEFAULT_CHARSET; private Stack _stack; diff --git a/src-impl/org/seasar/mayaa/impl/cycle/AbstractServiceCycle.java b/src-impl/org/seasar/mayaa/impl/cycle/AbstractServiceCycle.java index b7b19793f..fe7a0ebf7 100644 --- a/src-impl/org/seasar/mayaa/impl/cycle/AbstractServiceCycle.java +++ b/src-impl/org/seasar/mayaa/impl/cycle/AbstractServiceCycle.java @@ -41,7 +41,6 @@ public abstract class AbstractServiceCycle extends ParameterAwareImpl implements ServiceCycle, CONST_IMPL { - private static final long serialVersionUID = -4084527796306356704L; private AttributeScope _page; private NodeTreeWalker _originalNode; diff --git a/src-impl/org/seasar/mayaa/impl/cycle/CycleFactoryImpl.java b/src-impl/org/seasar/mayaa/impl/cycle/CycleFactoryImpl.java index fdafbc75c..dc80e314f 100644 --- a/src-impl/org/seasar/mayaa/impl/cycle/CycleFactoryImpl.java +++ b/src-impl/org/seasar/mayaa/impl/cycle/CycleFactoryImpl.java @@ -39,7 +39,6 @@ public class CycleFactoryImpl extends ParameterAwareImpl implements CycleFactory { - private static final long serialVersionUID = 6930908159752133949L; private static final Log LOG = LogFactory.getLog(CycleFactoryImpl.class); private static ThreadLocal _currentCycle = new ThreadLocal<>(); diff --git a/src-impl/org/seasar/mayaa/impl/cycle/StandardScope.java b/src-impl/org/seasar/mayaa/impl/cycle/StandardScope.java index 21fb46fe1..46bd335ac 100644 --- a/src-impl/org/seasar/mayaa/impl/cycle/StandardScope.java +++ b/src-impl/org/seasar/mayaa/impl/cycle/StandardScope.java @@ -1,7 +1,5 @@ package org.seasar.mayaa.impl.cycle; -import java.io.Serializable; - import org.seasar.mayaa.cycle.ServiceCycle; import org.seasar.mayaa.impl.util.StringUtil; @@ -12,9 +10,7 @@ * * @author Koji Suga (Gluegent, Inc.) */ -public class StandardScope implements Serializable { - - private static final long serialVersionUID = -291469372635600135L; +public class StandardScope { private String[] _scopeNames = new String[] { ServiceCycle.SCOPE_PAGE, diff --git a/src-impl/org/seasar/mayaa/impl/cycle/scope/AbstractReadOnlyAttributeScope.java b/src-impl/org/seasar/mayaa/impl/cycle/scope/AbstractReadOnlyAttributeScope.java index 33bce61e6..e2f9d5d06 100644 --- a/src-impl/org/seasar/mayaa/impl/cycle/scope/AbstractReadOnlyAttributeScope.java +++ b/src-impl/org/seasar/mayaa/impl/cycle/scope/AbstractReadOnlyAttributeScope.java @@ -24,7 +24,6 @@ public abstract class AbstractReadOnlyAttributeScope extends ParameterAwareImpl implements AttributeScope { - private static final long serialVersionUID = -1605161318542379366L; public boolean isAttributeWritable() { return false; diff --git a/src-impl/org/seasar/mayaa/impl/cycle/scope/AbstractWritableAttributeScope.java b/src-impl/org/seasar/mayaa/impl/cycle/scope/AbstractWritableAttributeScope.java index cfe34cc16..ec6eabb60 100644 --- a/src-impl/org/seasar/mayaa/impl/cycle/scope/AbstractWritableAttributeScope.java +++ b/src-impl/org/seasar/mayaa/impl/cycle/scope/AbstractWritableAttributeScope.java @@ -26,7 +26,6 @@ public abstract class AbstractWritableAttributeScope extends ParameterAwareImpl implements AttributeScope { - private static final long serialVersionUID = 3301556156255056131L; public boolean isAttributeWritable() { return true; diff --git a/src-impl/org/seasar/mayaa/impl/cycle/scope/BindingScope.java b/src-impl/org/seasar/mayaa/impl/cycle/scope/BindingScope.java index 21e3eb0f0..35f3598ac 100644 --- a/src-impl/org/seasar/mayaa/impl/cycle/scope/BindingScope.java +++ b/src-impl/org/seasar/mayaa/impl/cycle/scope/BindingScope.java @@ -15,7 +15,6 @@ */ package org.seasar.mayaa.impl.cycle.scope; -import java.io.Serializable; import java.util.Iterator; import java.util.Map; @@ -30,11 +29,10 @@ */ public class BindingScope extends AbstractReadOnlyAttributeScope { - private static final long serialVersionUID = 5954219830862345209L; protected ProcessorProperty getTargetAttribute( InsertProcessor processor, String name) { - for (Iterator it = processor.getInformalProperties().iterator(); + for (Iterator it = processor.getInformalProperties().iterator(); it.hasNext();) { ProcessorProperty prop = (ProcessorProperty) it.next(); if (prop.getName().getQName().getLocalName().equals(name)) { diff --git a/src-impl/org/seasar/mayaa/impl/cycle/scope/EnvScope.java b/src-impl/org/seasar/mayaa/impl/cycle/scope/EnvScope.java index 9c492acc0..d624f1936 100644 --- a/src-impl/org/seasar/mayaa/impl/cycle/scope/EnvScope.java +++ b/src-impl/org/seasar/mayaa/impl/cycle/scope/EnvScope.java @@ -27,7 +27,6 @@ */ public class EnvScope extends AbstractReadOnlyAttributeScope { - private static final long serialVersionUID = -7066469372221202023L; // AttributeScope implements ------------------------------------- diff --git a/src-impl/org/seasar/mayaa/impl/cycle/scope/HeaderScope.java b/src-impl/org/seasar/mayaa/impl/cycle/scope/HeaderScope.java index c95e3ecbd..8ee3be5ed 100644 --- a/src-impl/org/seasar/mayaa/impl/cycle/scope/HeaderScope.java +++ b/src-impl/org/seasar/mayaa/impl/cycle/scope/HeaderScope.java @@ -25,7 +25,6 @@ */ public class HeaderScope extends AbstractReadOnlyAttributeScope { - private static final long serialVersionUID = 5356393611509751716L; // AttributeScope implements ------------------------------------- diff --git a/src-impl/org/seasar/mayaa/impl/cycle/scope/ParamScope.java b/src-impl/org/seasar/mayaa/impl/cycle/scope/ParamScope.java index e09c49563..1241a0c30 100644 --- a/src-impl/org/seasar/mayaa/impl/cycle/scope/ParamScope.java +++ b/src-impl/org/seasar/mayaa/impl/cycle/scope/ParamScope.java @@ -25,7 +25,6 @@ */ public class ParamScope extends AbstractReadOnlyAttributeScope { - private static final long serialVersionUID = 7451371707409380257L; // AttributeScope implements ------------------------------------- diff --git a/src-impl/org/seasar/mayaa/impl/cycle/script/AbstractCompiledScript.java b/src-impl/org/seasar/mayaa/impl/cycle/script/AbstractCompiledScript.java index 33ae99b1b..f55974fb3 100644 --- a/src-impl/org/seasar/mayaa/impl/cycle/script/AbstractCompiledScript.java +++ b/src-impl/org/seasar/mayaa/impl/cycle/script/AbstractCompiledScript.java @@ -23,7 +23,6 @@ public abstract class AbstractCompiledScript implements CompiledScript { - private static final long serialVersionUID = -8773272598482774816L; private static final Class[] ZERO_ARGS_TYPE = new Class[0]; private Class[] _methodArgClasses; diff --git a/src-impl/org/seasar/mayaa/impl/cycle/script/AbstractSourceCompiledScript.java b/src-impl/org/seasar/mayaa/impl/cycle/script/AbstractSourceCompiledScript.java index 8995ca653..6a5aa08a9 100644 --- a/src-impl/org/seasar/mayaa/impl/cycle/script/AbstractSourceCompiledScript.java +++ b/src-impl/org/seasar/mayaa/impl/cycle/script/AbstractSourceCompiledScript.java @@ -25,7 +25,6 @@ public abstract class AbstractSourceCompiledScript extends AbstractCompiledScript implements CONST_IMPL { - private static final long serialVersionUID = -585846992294307594L; private SourceDescriptor _source; private String _encoding; diff --git a/src-impl/org/seasar/mayaa/impl/cycle/script/AbstractTextCompiledScript.java b/src-impl/org/seasar/mayaa/impl/cycle/script/AbstractTextCompiledScript.java index f7ab4455a..ddb42c8b6 100644 --- a/src-impl/org/seasar/mayaa/impl/cycle/script/AbstractTextCompiledScript.java +++ b/src-impl/org/seasar/mayaa/impl/cycle/script/AbstractTextCompiledScript.java @@ -24,7 +24,6 @@ public abstract class AbstractTextCompiledScript implements CompiledScript { - private static final long serialVersionUID = 1290844872159625425L; private static final Class[] ZERO_ARGS_TYPE = new Class[0]; diff --git a/src-impl/org/seasar/mayaa/impl/cycle/script/ComplexScript.java b/src-impl/org/seasar/mayaa/impl/cycle/script/ComplexScript.java index a906cb5dd..a79c0565a 100644 --- a/src-impl/org/seasar/mayaa/impl/cycle/script/ComplexScript.java +++ b/src-impl/org/seasar/mayaa/impl/cycle/script/ComplexScript.java @@ -23,7 +23,6 @@ */ public class ComplexScript implements CompiledScript { - private static final long serialVersionUID = -4686149451300693410L; private CompiledScript[] _compiled; diff --git a/src-impl/org/seasar/mayaa/impl/cycle/script/LiteralScript.java b/src-impl/org/seasar/mayaa/impl/cycle/script/LiteralScript.java index 12f74a6eb..2d59c66d4 100644 --- a/src-impl/org/seasar/mayaa/impl/cycle/script/LiteralScript.java +++ b/src-impl/org/seasar/mayaa/impl/cycle/script/LiteralScript.java @@ -26,7 +26,6 @@ */ public class LiteralScript implements CompiledScript { - private static final long serialVersionUID = 5290750739909753829L; public static final LiteralScript NULL_LITERAL_SCRIPT = new LiteralScript(""); diff --git a/src-impl/org/seasar/mayaa/impl/cycle/script/RawOutputCompiledScript.java b/src-impl/org/seasar/mayaa/impl/cycle/script/RawOutputCompiledScript.java index b1189d3db..7133b3b39 100644 --- a/src-impl/org/seasar/mayaa/impl/cycle/script/RawOutputCompiledScript.java +++ b/src-impl/org/seasar/mayaa/impl/cycle/script/RawOutputCompiledScript.java @@ -22,7 +22,6 @@ */ public class RawOutputCompiledScript implements CompiledScript { - private static final long serialVersionUID = -4216755215482335032L; private final CompiledScript _delegate; diff --git a/src-impl/org/seasar/mayaa/impl/cycle/script/rhino/SourceCompiledScriptImpl.java b/src-impl/org/seasar/mayaa/impl/cycle/script/rhino/SourceCompiledScriptImpl.java index 80625192f..b9869841d 100644 --- a/src-impl/org/seasar/mayaa/impl/cycle/script/rhino/SourceCompiledScriptImpl.java +++ b/src-impl/org/seasar/mayaa/impl/cycle/script/rhino/SourceCompiledScriptImpl.java @@ -36,7 +36,6 @@ public class SourceCompiledScriptImpl extends AbstractSourceCompiledScript { - private static final long serialVersionUID = 1886623299725569857L; private transient Script _rhinoScript; private Date _compiledTimestamp; diff --git a/src-impl/org/seasar/mayaa/impl/cycle/script/rhino/TextCompiledScriptImpl.java b/src-impl/org/seasar/mayaa/impl/cycle/script/rhino/TextCompiledScriptImpl.java index 397081e49..c78089129 100644 --- a/src-impl/org/seasar/mayaa/impl/cycle/script/rhino/TextCompiledScriptImpl.java +++ b/src-impl/org/seasar/mayaa/impl/cycle/script/rhino/TextCompiledScriptImpl.java @@ -40,7 +40,6 @@ */ public class TextCompiledScriptImpl extends AbstractTextCompiledScript { - private static final long serialVersionUID = 5513642435649631129L; private final String _sourceName; private final int _lineNumber; diff --git a/src-impl/org/seasar/mayaa/impl/cycle/script/rhino/WalkStandardScope.java b/src-impl/org/seasar/mayaa/impl/cycle/script/rhino/WalkStandardScope.java index 6358b2343..9012a4873 100644 --- a/src-impl/org/seasar/mayaa/impl/cycle/script/rhino/WalkStandardScope.java +++ b/src-impl/org/seasar/mayaa/impl/cycle/script/rhino/WalkStandardScope.java @@ -38,7 +38,6 @@ */ public class WalkStandardScope extends ParameterAwareImpl implements AttributeScope { - private static final long serialVersionUID = -2952128451664421957L; public static final String SCOPE_NAME = "_"; diff --git a/src-impl/org/seasar/mayaa/impl/cycle/script/rhino/WrapFactoryImpl.java b/src-impl/org/seasar/mayaa/impl/cycle/script/rhino/WrapFactoryImpl.java index c2233ecfe..92fa1f0de 100644 --- a/src-impl/org/seasar/mayaa/impl/cycle/script/rhino/WrapFactoryImpl.java +++ b/src-impl/org/seasar/mayaa/impl/cycle/script/rhino/WrapFactoryImpl.java @@ -15,7 +15,6 @@ */ package org.seasar.mayaa.impl.cycle.script.rhino; -import java.io.Serializable; import java.util.List; import java.util.Map; @@ -30,9 +29,7 @@ /** * @author Masataka Kurihara (Gluegent, Inc.) */ -public class WrapFactoryImpl extends WrapFactory implements Serializable { - - private static final long serialVersionUID = -8130663823197873722L; +public class WrapFactoryImpl extends WrapFactory { @Override public Scriptable wrapAsJavaObject(Context cx, Scriptable scope, diff --git a/src-impl/org/seasar/mayaa/impl/cycle/script/rhino/direct/AbstractGetterScript.java b/src-impl/org/seasar/mayaa/impl/cycle/script/rhino/direct/AbstractGetterScript.java index cbb76e977..4770b6729 100644 --- a/src-impl/org/seasar/mayaa/impl/cycle/script/rhino/direct/AbstractGetterScript.java +++ b/src-impl/org/seasar/mayaa/impl/cycle/script/rhino/direct/AbstractGetterScript.java @@ -45,7 +45,6 @@ */ public abstract class AbstractGetterScript extends AbstractTextCompiledScript { - private static final long serialVersionUID = 1L; private static final Log LOG = LogFactory.getLog(AbstractGetterScript.class); diff --git a/src-impl/org/seasar/mayaa/impl/cycle/script/rhino/direct/ApplicationGetterScript.java b/src-impl/org/seasar/mayaa/impl/cycle/script/rhino/direct/ApplicationGetterScript.java index 0f24a3101..6b6f0a9c9 100644 --- a/src-impl/org/seasar/mayaa/impl/cycle/script/rhino/direct/ApplicationGetterScript.java +++ b/src-impl/org/seasar/mayaa/impl/cycle/script/rhino/direct/ApplicationGetterScript.java @@ -28,7 +28,6 @@ */ public class ApplicationGetterScript extends AbstractGetterScript { - private static final long serialVersionUID = 1L; private static final String[] PROPERTY_NAMES = ObjectUtil.getPropertyNames(ApplicationScope.class); diff --git a/src-impl/org/seasar/mayaa/impl/cycle/script/rhino/direct/AttributeScopeGetterScript.java b/src-impl/org/seasar/mayaa/impl/cycle/script/rhino/direct/AttributeScopeGetterScript.java index 6d627f750..5d82f586c 100644 --- a/src-impl/org/seasar/mayaa/impl/cycle/script/rhino/direct/AttributeScopeGetterScript.java +++ b/src-impl/org/seasar/mayaa/impl/cycle/script/rhino/direct/AttributeScopeGetterScript.java @@ -30,7 +30,6 @@ */ public class AttributeScopeGetterScript extends AbstractGetterScript { - private static final long serialVersionUID = 1L; private static final String[] PROPERTY_NAMES = ObjectUtil.getPropertyNames(AttributeScope.class); diff --git a/src-impl/org/seasar/mayaa/impl/cycle/script/rhino/direct/PageGetterScript.java b/src-impl/org/seasar/mayaa/impl/cycle/script/rhino/direct/PageGetterScript.java index 8574dafff..6732e2808 100644 --- a/src-impl/org/seasar/mayaa/impl/cycle/script/rhino/direct/PageGetterScript.java +++ b/src-impl/org/seasar/mayaa/impl/cycle/script/rhino/direct/PageGetterScript.java @@ -28,7 +28,6 @@ */ public class PageGetterScript extends AbstractGetterScript { - private static final long serialVersionUID = 1L; private static final String[] PROPERTY_NAMES = ObjectUtil.getPropertyNames(AttributeScope.class); diff --git a/src-impl/org/seasar/mayaa/impl/cycle/script/rhino/direct/RequestGetterScript.java b/src-impl/org/seasar/mayaa/impl/cycle/script/rhino/direct/RequestGetterScript.java index bc813b720..0174528f8 100644 --- a/src-impl/org/seasar/mayaa/impl/cycle/script/rhino/direct/RequestGetterScript.java +++ b/src-impl/org/seasar/mayaa/impl/cycle/script/rhino/direct/RequestGetterScript.java @@ -28,7 +28,6 @@ */ public class RequestGetterScript extends AbstractGetterScript { - private static final long serialVersionUID = 1L; private static final String[] PROPERTY_NAMES = ObjectUtil.getPropertyNames(RequestScope.class); diff --git a/src-impl/org/seasar/mayaa/impl/cycle/script/rhino/direct/SessionGetterScript.java b/src-impl/org/seasar/mayaa/impl/cycle/script/rhino/direct/SessionGetterScript.java index 0d2aa5b52..7598b3915 100644 --- a/src-impl/org/seasar/mayaa/impl/cycle/script/rhino/direct/SessionGetterScript.java +++ b/src-impl/org/seasar/mayaa/impl/cycle/script/rhino/direct/SessionGetterScript.java @@ -28,7 +28,6 @@ */ public class SessionGetterScript extends AbstractGetterScript { - private static final long serialVersionUID = 1L; private static final String[] PROPERTY_NAMES = ObjectUtil.getPropertyNames(SessionScope.class); diff --git a/src-impl/org/seasar/mayaa/impl/cycle/script/rhino/direct/StandardGetterScript.java b/src-impl/org/seasar/mayaa/impl/cycle/script/rhino/direct/StandardGetterScript.java index 63f1b9277..aefbc333b 100644 --- a/src-impl/org/seasar/mayaa/impl/cycle/script/rhino/direct/StandardGetterScript.java +++ b/src-impl/org/seasar/mayaa/impl/cycle/script/rhino/direct/StandardGetterScript.java @@ -27,7 +27,6 @@ */ public class StandardGetterScript extends AbstractGetterScript { - private static final long serialVersionUID = 1L; private static final String[] PROPERTY_NAMES = ObjectUtil.getPropertyNames(AttributeScope.class); diff --git a/src-impl/org/seasar/mayaa/impl/cycle/web/ApplicationScopeImpl.java b/src-impl/org/seasar/mayaa/impl/cycle/web/ApplicationScopeImpl.java index 0743a6c49..a8ec2687d 100644 --- a/src-impl/org/seasar/mayaa/impl/cycle/web/ApplicationScopeImpl.java +++ b/src-impl/org/seasar/mayaa/impl/cycle/web/ApplicationScopeImpl.java @@ -35,7 +35,6 @@ public class ApplicationScopeImpl extends AbstractWritableAttributeScope implements ApplicationScope { - private static final long serialVersionUID = 5216746677132589700L; private transient ServletContext _servletContext; diff --git a/src-impl/org/seasar/mayaa/impl/cycle/web/HeaderValuesScope.java b/src-impl/org/seasar/mayaa/impl/cycle/web/HeaderValuesScope.java index b3117240d..0370bffb6 100644 --- a/src-impl/org/seasar/mayaa/impl/cycle/web/HeaderValuesScope.java +++ b/src-impl/org/seasar/mayaa/impl/cycle/web/HeaderValuesScope.java @@ -31,7 +31,6 @@ public class HeaderValuesScope extends AbstractReadOnlyAttributeScope { - private static final long serialVersionUID = -7755074034945921281L; private transient HttpServletRequest _request; diff --git a/src-impl/org/seasar/mayaa/impl/cycle/web/ParamValuesScope.java b/src-impl/org/seasar/mayaa/impl/cycle/web/ParamValuesScope.java index a63b8527c..2bbd4d98d 100644 --- a/src-impl/org/seasar/mayaa/impl/cycle/web/ParamValuesScope.java +++ b/src-impl/org/seasar/mayaa/impl/cycle/web/ParamValuesScope.java @@ -29,7 +29,6 @@ public class ParamValuesScope extends AbstractReadOnlyAttributeScope { - private static final long serialVersionUID = -1118348498272772955L; private transient HttpServletRequest _request; diff --git a/src-impl/org/seasar/mayaa/impl/cycle/web/ResponseImpl.java b/src-impl/org/seasar/mayaa/impl/cycle/web/ResponseImpl.java index f4b2b017d..f7b2de853 100644 --- a/src-impl/org/seasar/mayaa/impl/cycle/web/ResponseImpl.java +++ b/src-impl/org/seasar/mayaa/impl/cycle/web/ResponseImpl.java @@ -16,7 +16,6 @@ package org.seasar.mayaa.impl.cycle.web; import java.io.IOException; -import java.io.ObjectInputStream; import java.io.OutputStream; import java.util.List; import java.util.Set; @@ -31,7 +30,6 @@ */ public class ResponseImpl extends AbstractResponse { - private static final long serialVersionUID = -4653384671998376182L; private HttpServletResponse _httpServletResponse; private transient ResponseHeaderCache _headers = new ResponseHeaderCache(); @@ -153,12 +151,4 @@ public String getCharacterEncoding() { return _httpServletResponse.getCharacterEncoding(); } - - // for deserialize - private void readObject(ObjectInputStream in) - throws IOException, ClassNotFoundException { - in.defaultReadObject(); - _headers = new ResponseHeaderCache(); - } - } diff --git a/src-impl/org/seasar/mayaa/impl/cycle/web/ServiceCycleImpl.java b/src-impl/org/seasar/mayaa/impl/cycle/web/ServiceCycleImpl.java index c66c0bf0c..b86a80953 100644 --- a/src-impl/org/seasar/mayaa/impl/cycle/web/ServiceCycleImpl.java +++ b/src-impl/org/seasar/mayaa/impl/cycle/web/ServiceCycleImpl.java @@ -31,7 +31,6 @@ */ public class ServiceCycleImpl extends AbstractServiceCycle { - private static final long serialVersionUID = 5971443264903384152L; private ApplicationScope _application; private RequestScopeImpl _request; diff --git a/src-impl/org/seasar/mayaa/impl/engine/EngineImpl.java b/src-impl/org/seasar/mayaa/impl/engine/EngineImpl.java index 4955eaf7f..a6279e472 100644 --- a/src-impl/org/seasar/mayaa/impl/engine/EngineImpl.java +++ b/src-impl/org/seasar/mayaa/impl/engine/EngineImpl.java @@ -50,7 +50,6 @@ import org.seasar.mayaa.impl.cycle.DefaultCycleLocalInstantiator; import org.seasar.mayaa.impl.engine.specification.SpecificationImpl; import org.seasar.mayaa.impl.engine.specification.SpecificationUtil; -import org.seasar.mayaa.impl.engine.specification.serialize.SerializeExecutor; import org.seasar.mayaa.impl.management.CacheControllerRegistry; import org.seasar.mayaa.impl.management.EngineRegistory; import org.seasar.mayaa.impl.management.SpecificationProfileRegistry; @@ -74,7 +73,6 @@ public class EngineImpl extends NonSerializableParameterAwareImpl implements Eng public static final String PAGE_CLASS = "pageClass"; public static final String TEMPLATE_CLASS = "templateClass"; - public static final String PAGE_SERIALIZE = "pageSerialize"; public static final String SURVIVE_LIMIT = "surviveLimit"; public static final String FORWARD_LIMIT = "forwardLimit"; public static final String REQUESTED_SUFFIX_ENABLED = "requestedSuffixEnabled"; @@ -93,8 +91,6 @@ public class EngineImpl extends NonSerializableParameterAwareImpl implements Eng .maximumSize(10_000) .recordStats() .build(); - - private transient SerializeExecutor _serializeExecutor; /** Engineが破棄されていればtrue。破棄後はサービスを保証しない。 */ private volatile boolean _destroyed = false; @@ -222,15 +218,12 @@ protected Specification findValidSpecificationFromCache(String systemID) { /** * 指定したSystemIDのSpecificationを無効化する。 */ - public void deprecateSpecification(final String systemID, boolean withSerialized) { + public void deprecateSpecification(final String systemID) { final Specification spec = findSpecificationFromCache(systemID); if (Objects.nonNull(spec)) { spec.deprecate(); } clearRequestValidSpecCache(systemID); - if (withSerialized) { - SpecificationUtil.purgeSerializedFile(systemID); - } if (_defaultSpecificationID.equals(systemID)) { // デフォルトのSpecificationなら直接的に無効化する @@ -545,22 +538,6 @@ protected Specification createSpecificationInstance(String systemID, SpecificationGenerator generator) { boolean rebuild = false; Specification spec; - if (isSerializeEnabled()) { - spec = SpecificationUtil.deserialize(systemID); - if (spec != null) { - if (spec.isDeprecated() == false) { - if (registerCache) { - _specCache.put(spec.getSystemID(), spec); - // デシリアライズ成功時も requestValidSpecCache の null エントリを除去する。 - // 除去しないと findValidSpecificationFromCache が null を返し続け、 - // createPageInstance が再度呼び出されて別インスタンスが生まれる。 - clearRequestValidSpecCache(spec.getSystemID()); - } - return spec; - } - rebuild = true; - } - } SourceDescriptor source = SourceUtil.getSourceDescriptor(systemID); Class specClass = generator.getInstantiator(source); @@ -588,9 +565,6 @@ protected Specification createSpecificationInstance(String systemID, SpecificationUtil.startScope(null); try { spec.build(rebuild); - if (isSerializeEnabled()) { - submitSerialize(spec); - } } finally { SpecificationUtil.endScope(); } @@ -699,7 +673,6 @@ protected String getSuffixSeparator() { public void destroy() { _destroyed = true; - disableSerialize(); } public void reset() { @@ -771,19 +744,6 @@ public void setParameter(String name, String value) { } } else if (NO_CACHE_VALUE.equals(name)) { _noCacheValue = value; - } else if (PAGE_SERIALIZE.equals(name)) { - boolean booleanValue = Boolean.valueOf(value).booleanValue(); - if (booleanValue) { - boolean result = enableSerialize(); - if (!result) { - // 準備に失敗した場合はシリアライズは有効にしない。 - value = "false"; // superの呼び出しに対して "false" を渡す - } - } - else { - // シリアライズを無効にした場合は後片付けをする。 - disableSerialize(); - } } else if (SURVIVE_LIMIT.equals(name)) { _surviveLimit = Integer.parseInt(value); } else if (FORWARD_LIMIT.equals(name)) { @@ -800,46 +760,6 @@ public void setParameter(String name, String value) { super.setParameter(name, value); } - /** - * Specificationのシリアライズを行うかどうかを返却する。 - * - * @return 有効な場合は true - */ - boolean isSerializeEnabled() { - return _serializeExecutor != null; - } - - /** - * シリアライズ処理を実行する。 - * @param spec シリアライズ対象のSpecification - */ - void submitSerialize(final Specification spec) { - final SerializeExecutor executor = _serializeExecutor; - if (executor != null) { - executor.submit(spec); - } - } - - /** - * シリアライズ処理を有効にする - * @return 有効化が成功したらtrue - */ - synchronized boolean enableSerialize() { - final boolean result = SpecificationUtil.prepareSerialize(); - if (result && _serializeExecutor == null) { - _serializeExecutor = new SerializeExecutor(); - } - return result; - } - - /** - * シリアライズ処理を無効にする - */ - synchronized void disableSerialize() { - _serializeExecutor = null; - SpecificationUtil.cleanupSerialize(); - } - private void setupDefaultIsMayaa() { _defaultIsMayaa = _defaultSpecificationID.endsWith(_mayaaExtension); if (_defaultIsMayaa) { @@ -869,8 +789,6 @@ public String getParameter(String name) { return _templateClass.getName(); } else if (NO_CACHE_VALUE.equals(name)) { return _noCacheValue; - } else if (PAGE_SERIALIZE.equals(name)) { - return String.valueOf(isSerializeEnabled()); } else if (SURVIVE_LIMIT.equals(name)) { return String.valueOf(_surviveLimit); } else if (FORWARD_LIMIT.equals(name)) { diff --git a/src-impl/org/seasar/mayaa/impl/engine/PageImpl.java b/src-impl/org/seasar/mayaa/impl/engine/PageImpl.java index 5ecb3f072..482546c27 100644 --- a/src-impl/org/seasar/mayaa/impl/engine/PageImpl.java +++ b/src-impl/org/seasar/mayaa/impl/engine/PageImpl.java @@ -42,7 +42,6 @@ */ public class PageImpl extends SpecificationImpl implements Page { - private static final long serialVersionUID = -4473136348846078029L; static final Log LOG = LogFactory.getLog(PageImpl.class); private static final String CURRENT_PAGE_KEY = "__currentPage__"; private static final String CURRENT_COMPONENT_KEY = "__currentComponent__"; @@ -244,13 +243,6 @@ public static void setCurrentComponent(Page component) { CycleUtil.getRequestScope().setAttribute(CURRENT_COMPONENT_KEY, component); } - // for serialize - - private void readObject(java.io.ObjectInputStream in) - throws java.io.IOException, ClassNotFoundException { - in.defaultReadObject(); - } - // TemplateRenderer implements ---------------------------------- public ProcessStatus renderTemplate( diff --git a/src-impl/org/seasar/mayaa/impl/engine/ProcessorDump.java b/src-impl/org/seasar/mayaa/impl/engine/ProcessorDump.java index 78b76a747..d9c634893 100644 --- a/src-impl/org/seasar/mayaa/impl/engine/ProcessorDump.java +++ b/src-impl/org/seasar/mayaa/impl/engine/ProcessorDump.java @@ -47,7 +47,6 @@ public class ProcessorDump extends ElementProcessor { // TODO EchoProcessorを継承して使っている部分をまとめる // TODO ServiceProviderで差し替え可能にする - private static final long serialVersionUID = 7884837912520558752L; private static final PrintStream DEFAULT_OUT = System.out; diff --git a/src-impl/org/seasar/mayaa/impl/engine/TemplateImpl.java b/src-impl/org/seasar/mayaa/impl/engine/TemplateImpl.java index 0f5eb3f8e..ee9324c16 100644 --- a/src-impl/org/seasar/mayaa/impl/engine/TemplateImpl.java +++ b/src-impl/org/seasar/mayaa/impl/engine/TemplateImpl.java @@ -36,7 +36,6 @@ import org.seasar.mayaa.impl.cycle.CycleUtil; import org.seasar.mayaa.impl.engine.specification.SpecificationImpl; import org.seasar.mayaa.impl.engine.specification.SpecificationUtil; -import org.seasar.mayaa.impl.engine.specification.serialize.NodeSerializeController; import org.seasar.mayaa.impl.management.SpecificationProfileRegistry; import org.seasar.mayaa.impl.management.SpecificationStats; import org.seasar.mayaa.impl.provider.ProviderUtil; @@ -50,7 +49,6 @@ public class TemplateImpl extends SpecificationImpl implements Template { - private static final long serialVersionUID = 2126209350220642842L; private String _pageName; private String _suffix; @@ -353,21 +351,6 @@ public ProcessorTreeWalker getChildProcessor(int index) { return (ProcessorTreeWalker) _childProcessors.get(index); } - // for serialize - private void readObject(java.io.ObjectInputStream in) - throws java.io.IOException, ClassNotFoundException { - in.defaultReadObject(); - - if (_childProcessors != null) { - for (int i = _childProcessors.size() - 1; i >= 0 ; i--) { - ProcessorTreeWalker child = - (ProcessorTreeWalker) _childProcessors.get(i); - child.setParentProcessor(this); - } - } - NodeSerializeController.currentInstance().specLoaded(this); - } - // PositionAware implements ------------------------------------ public boolean isOnTemplate() { diff --git a/src-impl/org/seasar/mayaa/impl/engine/error/TemplateErrorHandler.java b/src-impl/org/seasar/mayaa/impl/engine/error/TemplateErrorHandler.java index 588da9b0f..a7b49e5b4 100644 --- a/src-impl/org/seasar/mayaa/impl/engine/error/TemplateErrorHandler.java +++ b/src-impl/org/seasar/mayaa/impl/engine/error/TemplateErrorHandler.java @@ -35,7 +35,6 @@ public class TemplateErrorHandler extends ParameterAwareImpl implements ErrorHandler { - private static final long serialVersionUID = -6643723526947091557L; private static final Log LOG = LogFactory.getLog(TemplateErrorHandler.class); diff --git a/src-impl/org/seasar/mayaa/impl/engine/processor/AbstractAttributableProcessor.java b/src-impl/org/seasar/mayaa/impl/engine/processor/AbstractAttributableProcessor.java index 52ff7fe4c..c09fdb918 100644 --- a/src-impl/org/seasar/mayaa/impl/engine/processor/AbstractAttributableProcessor.java +++ b/src-impl/org/seasar/mayaa/impl/engine/processor/AbstractAttributableProcessor.java @@ -15,7 +15,6 @@ */ package org.seasar.mayaa.impl.engine.processor; -import java.io.Serializable; import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; @@ -39,9 +38,8 @@ public abstract class AbstractAttributableProcessor extends TemplateProcessorSupport implements ChildEvaluationProcessor, InformalPropertyAcceptable { - private static final long serialVersionUID = -1406205460425148574L; private boolean _childEvaluation; - private List _attributes; + private List _attributes; private static final String PROCESS_TIME_INFO_KEY = AbstractAttributableProcessor.class.getName() + "#processTimeInfo"; @@ -95,7 +93,7 @@ public void setChildEvaluation(boolean childEvaluation) { } // MLD method - public void addInformalProperty(PrefixAwareName name, Serializable attr) { + public void addInformalProperty(PrefixAwareName name, Object attr) { if (_attributes == null) { _attributes = new ArrayList<>(); } @@ -124,7 +122,7 @@ public Class getInformalExpectedClass() { return Object.class; } - public Iterator iterateInformalProperties() { + public Iterator iterateInformalProperties() { if (_attributes == null) { return Collections.emptyIterator(); } @@ -250,14 +248,6 @@ protected ProcessStatus processEnd() { return ProcessStatus.EVAL_PAGE; } - // for serialize - - private void readObject(java.io.ObjectInputStream in) - throws java.io.IOException, ClassNotFoundException { - in.defaultReadObject(); - clearProcesstimeInfo(); - } - //helper class, methods ---------------------------------------- protected static class ProcesstimeInfo { diff --git a/src-impl/org/seasar/mayaa/impl/engine/processor/AttributeProcessor.java b/src-impl/org/seasar/mayaa/impl/engine/processor/AttributeProcessor.java index 7e31dff8a..d92a9bf74 100644 --- a/src-impl/org/seasar/mayaa/impl/engine/processor/AttributeProcessor.java +++ b/src-impl/org/seasar/mayaa/impl/engine/processor/AttributeProcessor.java @@ -34,7 +34,6 @@ */ public class AttributeProcessor extends TemplateProcessorSupport { - private static final long serialVersionUID = -3393961364808306951L; private PrefixAwareName _name; private ProcessorProperty _value; @@ -142,7 +141,6 @@ public ProcessStatus doStartProcess(Page topLevelPage) { protected class ProcessorPropertyWrapper implements ProcessorProperty { - private static final long serialVersionUID = 8190328285510500572L; private PrefixAwareName _attrName; private ProcessorProperty _attrValue; diff --git a/src-impl/org/seasar/mayaa/impl/engine/processor/CDATAProcessor.java b/src-impl/org/seasar/mayaa/impl/engine/processor/CDATAProcessor.java index 78048b7f7..b7aa8a88c 100644 --- a/src-impl/org/seasar/mayaa/impl/engine/processor/CDATAProcessor.java +++ b/src-impl/org/seasar/mayaa/impl/engine/processor/CDATAProcessor.java @@ -30,7 +30,6 @@ public class CDATAProcessor extends TemplateProcessorSupport implements CONST_IMPL { - private static final long serialVersionUID = -4267623139201513906L; private static final String CDATAIN = ""; diff --git a/src-impl/org/seasar/mayaa/impl/engine/processor/CharactersProcessor.java b/src-impl/org/seasar/mayaa/impl/engine/processor/CharactersProcessor.java index e0953fa49..cf047f4f7 100644 --- a/src-impl/org/seasar/mayaa/impl/engine/processor/CharactersProcessor.java +++ b/src-impl/org/seasar/mayaa/impl/engine/processor/CharactersProcessor.java @@ -41,7 +41,6 @@ public class CharactersProcessor extends TemplateProcessorSupport implements CONST_IMPL { - private static final long serialVersionUID = -6762409726256198534L; private static final String FEATURE_LABEL_AUTO_ESCAPE = "auto-escape"; private ProcessorProperty _text; diff --git a/src-impl/org/seasar/mayaa/impl/engine/processor/CommentProcessor.java b/src-impl/org/seasar/mayaa/impl/engine/processor/CommentProcessor.java index 0c28c2b16..52d74d0fe 100644 --- a/src-impl/org/seasar/mayaa/impl/engine/processor/CommentProcessor.java +++ b/src-impl/org/seasar/mayaa/impl/engine/processor/CommentProcessor.java @@ -38,7 +38,6 @@ */ public class CommentProcessor extends CharactersProcessor { - private static final long serialVersionUID = 2105316300125388274L; private static final String COMMENTIN = ""; diff --git a/src-impl/org/seasar/mayaa/impl/engine/processor/DOCTYPEProcessor.java b/src-impl/org/seasar/mayaa/impl/engine/processor/DOCTYPEProcessor.java index 02d672b62..e3253572b 100644 --- a/src-impl/org/seasar/mayaa/impl/engine/processor/DOCTYPEProcessor.java +++ b/src-impl/org/seasar/mayaa/impl/engine/processor/DOCTYPEProcessor.java @@ -31,7 +31,6 @@ public class DOCTYPEProcessor extends TemplateProcessorSupport implements CONST_IMPL { - private static final long serialVersionUID = 8518993579074245108L; private static final int DEFAULT_BUFFER_SIZE = 128; diff --git a/src-impl/org/seasar/mayaa/impl/engine/processor/DirectiveProcessor.java b/src-impl/org/seasar/mayaa/impl/engine/processor/DirectiveProcessor.java index 7cdb82ab4..218e6cd6c 100644 --- a/src-impl/org/seasar/mayaa/impl/engine/processor/DirectiveProcessor.java +++ b/src-impl/org/seasar/mayaa/impl/engine/processor/DirectiveProcessor.java @@ -24,7 +24,6 @@ */ public class DirectiveProcessor extends TemplateProcessorSupport { - private static final long serialVersionUID = -5887789605135227245L; private static final String AUTO_ESCAPE_DIRECTIVE_NAME = "autoEscape"; diff --git a/src-impl/org/seasar/mayaa/impl/engine/processor/DoBaseProcessor.java b/src-impl/org/seasar/mayaa/impl/engine/processor/DoBaseProcessor.java index 35ba4a350..0bc881d1a 100644 --- a/src-impl/org/seasar/mayaa/impl/engine/processor/DoBaseProcessor.java +++ b/src-impl/org/seasar/mayaa/impl/engine/processor/DoBaseProcessor.java @@ -25,7 +25,6 @@ */ public class DoBaseProcessor extends DoBodyProcessor { - private static final long serialVersionUID = 6825307534213593235L; protected InsertProcessor getInsertProcessor() { for (ProcessorTreeWalker current = this; diff --git a/src-impl/org/seasar/mayaa/impl/engine/processor/DoBodyProcessor.java b/src-impl/org/seasar/mayaa/impl/engine/processor/DoBodyProcessor.java index f1e9cfb76..3a2103ebe 100644 --- a/src-impl/org/seasar/mayaa/impl/engine/processor/DoBodyProcessor.java +++ b/src-impl/org/seasar/mayaa/impl/engine/processor/DoBodyProcessor.java @@ -20,6 +20,5 @@ */ public class DoBodyProcessor extends TemplateProcessorSupport { - private static final long serialVersionUID = -5462533588574819934L; } diff --git a/src-impl/org/seasar/mayaa/impl/engine/processor/DoRenderProcessor.java b/src-impl/org/seasar/mayaa/impl/engine/processor/DoRenderProcessor.java index 4d710af35..c5b427117 100644 --- a/src-impl/org/seasar/mayaa/impl/engine/processor/DoRenderProcessor.java +++ b/src-impl/org/seasar/mayaa/impl/engine/processor/DoRenderProcessor.java @@ -28,7 +28,6 @@ */ public class DoRenderProcessor extends TemplateProcessorSupport { - private static final long serialVersionUID = -4923388726582458101L; private transient String _stackKey; private boolean _replace = true; diff --git a/src-impl/org/seasar/mayaa/impl/engine/processor/EchoProcessor.java b/src-impl/org/seasar/mayaa/impl/engine/processor/EchoProcessor.java index 875603de7..265add9b8 100644 --- a/src-impl/org/seasar/mayaa/impl/engine/processor/EchoProcessor.java +++ b/src-impl/org/seasar/mayaa/impl/engine/processor/EchoProcessor.java @@ -15,7 +15,6 @@ */ package org.seasar.mayaa.impl.engine.processor; -import java.io.Serializable; import java.util.HashMap; import java.util.Iterator; import java.util.Map; @@ -43,7 +42,6 @@ */ public class EchoProcessor extends ElementProcessor { - private static final long serialVersionUID = -3474634644850330323L; private PrefixAwareName _customName; public void setOriginalNode(SpecificationNode originalNode) { @@ -106,7 +104,7 @@ protected void setupElement(SpecificationNode originalNode) { NodeAttribute attribute = it.next(); String value = getAdjustedValue(adjuster, originalNode, attribute); Class expectedClass = getExpectedClass(); - Serializable property = converter.convert(attribute, value, expectedClass); + Object property = converter.convert(attribute, value, expectedClass); PrefixAwareName propName = SpecificationUtil.createPrefixAwareName( attribute.getQName(), attribute.getPrefix()); super.addInformalProperty(propName, property); @@ -125,7 +123,7 @@ public void addInformalProperty(PrefixAwareName name, Object attr) { // ProcessorTreeWalker implements -------------------------------- public Map getVariables() { - Iterator it = iterateInformalProperties(); + Iterator it = iterateInformalProperties(); if (it.hasNext()) { Map attributeMap = new HashMap<>(); while (it.hasNext()) { diff --git a/src-impl/org/seasar/mayaa/impl/engine/processor/ElementProcessor.java b/src-impl/org/seasar/mayaa/impl/engine/processor/ElementProcessor.java index 334002ca8..1a177cc39 100644 --- a/src-impl/org/seasar/mayaa/impl/engine/processor/ElementProcessor.java +++ b/src-impl/org/seasar/mayaa/impl/engine/processor/ElementProcessor.java @@ -15,7 +15,6 @@ */ package org.seasar.mayaa.impl.engine.processor; -import java.io.Serializable; import java.util.ArrayList; import java.util.Iterator; import java.util.List; @@ -55,7 +54,6 @@ public class ElementProcessor extends AbstractAttributableProcessor implements CONST_IMPL { - private static final long serialVersionUID = 5281080116712303012L; private static final String SUFFIX_DUPLICATED = "_d"; private static final String RENDERED_NS_STACK_KEY = @@ -186,7 +184,7 @@ protected void resolvePrefixAll() { ProcessorProperty prop = it.next(); resolvePrefix(prop.getName(), currentNS); } - for (Iterator it = iterateInformalProperties(); it.hasNext();) { + for (Iterator it = iterateInformalProperties(); it.hasNext();) { ProcessorProperty prop = (ProcessorProperty) it.next(); resolvePrefix(prop.getName(), currentNS); } @@ -397,7 +395,7 @@ protected void writePart2(StringBuilder buffer) { appendAttributeString(buffer, prop.getName(), prop.getValue()); } } - for (Iterator it = iterateInformalProperties(); it.hasNext();) { + for (Iterator it = iterateInformalProperties(); it.hasNext();) { ProcessorProperty prop = (ProcessorProperty) it.next(); if (hasProcesstimeProperty(prop) == false && prop.getValue().isLiteral() == false) { @@ -412,7 +410,7 @@ protected void writePart2(StringBuilder buffer) { * @param buffer 書き出す対象 */ protected void writePart3(StringBuilder buffer) { - for (Iterator it = iterateInformalProperties(); it.hasNext();) { + for (Iterator it = iterateInformalProperties(); it.hasNext();) { ProcessorProperty prop = (ProcessorProperty) it.next(); if (hasProcesstimeProperty(prop) == false && prop.getValue().isLiteral()) { @@ -578,7 +576,7 @@ public ProcessorTreeWalker[] divide(SequenceIDGenerator sequenceIDGenerator) { attrScope.addChildProcessor(part2); list.add(attrScope); } - for (Iterator it = iterateInformalProperties(); it.hasNext();) { + for (Iterator it = iterateInformalProperties(); it.hasNext();) { ProcessorProperty prop = (ProcessorProperty) it.next(); if (hasProcesstimeProperty(prop) == false && prop.getValue().isLiteral() == false) { diff --git a/src-impl/org/seasar/mayaa/impl/engine/processor/ExecProcessor.java b/src-impl/org/seasar/mayaa/impl/engine/processor/ExecProcessor.java index b1dac21f3..b445ea310 100644 --- a/src-impl/org/seasar/mayaa/impl/engine/processor/ExecProcessor.java +++ b/src-impl/org/seasar/mayaa/impl/engine/processor/ExecProcessor.java @@ -31,7 +31,6 @@ */ public class ExecProcessor extends TemplateProcessorSupport { - private static final long serialVersionUID = -1721362692638672941L; private ProcessorProperty _script; private ProcessorProperty _src; diff --git a/src-impl/org/seasar/mayaa/impl/engine/processor/ForEachProcessor.java b/src-impl/org/seasar/mayaa/impl/engine/processor/ForEachProcessor.java index de8093752..e4afab34e 100644 --- a/src-impl/org/seasar/mayaa/impl/engine/processor/ForEachProcessor.java +++ b/src-impl/org/seasar/mayaa/impl/engine/processor/ForEachProcessor.java @@ -36,7 +36,6 @@ public class ForEachProcessor extends TemplateProcessorSupport implements IterationProcessor { - private static final long serialVersionUID = -7637319706130893009L; private static final String PROCESS_TIME_INFO_KEY = ForEachProcessor.class.getName() + "#processTimeInfo"; @@ -149,13 +148,6 @@ public ProcessStatus doAfterChildProcess() { } } - // for serialize - - private void readObject(java.io.ObjectInputStream in) - throws java.io.IOException, ClassNotFoundException { - in.defaultReadObject(); - } - // support class /** diff --git a/src-impl/org/seasar/mayaa/impl/engine/processor/ForProcessor.java b/src-impl/org/seasar/mayaa/impl/engine/processor/ForProcessor.java index 905536e5b..d4c9a1c7e 100644 --- a/src-impl/org/seasar/mayaa/impl/engine/processor/ForProcessor.java +++ b/src-impl/org/seasar/mayaa/impl/engine/processor/ForProcessor.java @@ -31,7 +31,6 @@ public class ForProcessor extends TemplateProcessorSupport implements IterationProcessor { - private static final long serialVersionUID = 109332595431942951L; private static final int DEFAULT_MAX = 256; private static final String COUNTER_KEY = ForProcessor.class.getName() + "#counter"; @@ -137,11 +136,4 @@ public ProcessStatus doAfterChildProcess() { } } - // for serialize - - private void readObject(java.io.ObjectInputStream in) - throws java.io.IOException, ClassNotFoundException { - in.defaultReadObject(); - } - } diff --git a/src-impl/org/seasar/mayaa/impl/engine/processor/FormatDateProcessor.java b/src-impl/org/seasar/mayaa/impl/engine/processor/FormatDateProcessor.java index 3a28d2d52..cfadcf392 100644 --- a/src-impl/org/seasar/mayaa/impl/engine/processor/FormatDateProcessor.java +++ b/src-impl/org/seasar/mayaa/impl/engine/processor/FormatDateProcessor.java @@ -36,7 +36,6 @@ */ public class FormatDateProcessor extends TemplateProcessorSupport { - private static final long serialVersionUID = -2331626109260967664L; private ProcessorProperty _value; private ProcessorProperty _default; diff --git a/src-impl/org/seasar/mayaa/impl/engine/processor/FormatNumberProcessor.java b/src-impl/org/seasar/mayaa/impl/engine/processor/FormatNumberProcessor.java index e9e95c013..6280d3f6d 100644 --- a/src-impl/org/seasar/mayaa/impl/engine/processor/FormatNumberProcessor.java +++ b/src-impl/org/seasar/mayaa/impl/engine/processor/FormatNumberProcessor.java @@ -38,7 +38,6 @@ */ public class FormatNumberProcessor extends TemplateProcessorSupport { - private static final long serialVersionUID = 5513075315121041838L; private static final Cache _formatPools = Caffeine.newBuilder() .softValues() diff --git a/src-impl/org/seasar/mayaa/impl/engine/processor/IfProcessor.java b/src-impl/org/seasar/mayaa/impl/engine/processor/IfProcessor.java index 20fffab6b..7cde4e20b 100644 --- a/src-impl/org/seasar/mayaa/impl/engine/processor/IfProcessor.java +++ b/src-impl/org/seasar/mayaa/impl/engine/processor/IfProcessor.java @@ -27,7 +27,6 @@ */ public class IfProcessor extends TemplateProcessorSupport { - private static final long serialVersionUID = -4914634098254767485L; private ProcessorProperty _test; diff --git a/src-impl/org/seasar/mayaa/impl/engine/processor/InsertProcessor.java b/src-impl/org/seasar/mayaa/impl/engine/processor/InsertProcessor.java index f369665c7..805d2e9c4 100644 --- a/src-impl/org/seasar/mayaa/impl/engine/processor/InsertProcessor.java +++ b/src-impl/org/seasar/mayaa/impl/engine/processor/InsertProcessor.java @@ -15,7 +15,6 @@ */ package org.seasar.mayaa.impl.engine.processor; -import java.io.Serializable; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; @@ -53,7 +52,6 @@ public class InsertProcessor extends TemplateProcessorSupport implements CONST_IMPL, InformalPropertyAcceptable, VirtualPropertyAcceptable { - private static final long serialVersionUID = -8902501079316706769L; private static final String RENDERING_INSERT_CHAIN = InsertProcessor.class.getName() + "#renderingInsertChain"; @@ -84,7 +82,7 @@ class PathPart { private ProcessorProperty _name; private transient PathPart _pathPart; - private List _attributes; + private List _attributes; /** * 相対パスを解決、分解して拡張子などをあらかじめ取得する。 @@ -138,7 +136,7 @@ public void setName(ProcessorProperty name) { } // MLD method - public void addInformalProperty(PrefixAwareName name, Serializable attr) { + public void addInformalProperty(PrefixAwareName name, Object attr) { if (_attributes == null) { _attributes = new ArrayList<>(); } @@ -172,7 +170,7 @@ public Class getInformalExpectedClass() { * @param name プロパティ名。 * @param attr プロパティ値。 */ - public void addVirtualProperty(PrefixAwareName name, Serializable attr) { + public void addVirtualProperty(PrefixAwareName name, Object attr) { addInformalProperty(name, attr); } @@ -190,7 +188,7 @@ public Class getVirtualExpectedClass() { return getInformalExpectedClass(); } - public List getInformalProperties() { + public List getInformalProperties() { if (_attributes == null) { _attributes = new ArrayList<>(); } @@ -386,16 +384,4 @@ public ProcessStatus doEndProcess() { return super.doEndProcess(); } - // for serialize - - private void writeObject(java.io.ObjectOutputStream out) - throws java.io.IOException { - out.defaultWriteObject(); - } - - private void readObject(java.io.ObjectInputStream in) - throws java.io.IOException, ClassNotFoundException { - in.defaultReadObject(); - } - } diff --git a/src-impl/org/seasar/mayaa/impl/engine/processor/JspProcessor.java b/src-impl/org/seasar/mayaa/impl/engine/processor/JspProcessor.java index e8e0c5ad3..a1074a7e7 100644 --- a/src-impl/org/seasar/mayaa/impl/engine/processor/JspProcessor.java +++ b/src-impl/org/seasar/mayaa/impl/engine/processor/JspProcessor.java @@ -81,7 +81,6 @@ public class JspProcessor extends TemplateProcessorSupport TryCatchFinallyProcessor, CONST_IMPL { - private static final long serialVersionUID = 7946370958046466257L; private static final PageContext _pageContext = new PageContextImpl(); @@ -559,14 +558,6 @@ public void doFinallyProcess() { } } - // for serialize - - private void readObject(java.io.ObjectInputStream in) - throws java.io.IOException, ClassNotFoundException { - in.defaultReadObject(); - _variableInfo = new TLDScriptingVariableInfo(); - } - // support class protected static class TagPool extends AbstractSoftReferencePool { diff --git a/src-impl/org/seasar/mayaa/impl/engine/processor/LiteralCharactersProcessor.java b/src-impl/org/seasar/mayaa/impl/engine/processor/LiteralCharactersProcessor.java index 01219ec22..053989f3a 100644 --- a/src-impl/org/seasar/mayaa/impl/engine/processor/LiteralCharactersProcessor.java +++ b/src-impl/org/seasar/mayaa/impl/engine/processor/LiteralCharactersProcessor.java @@ -27,7 +27,6 @@ * @author Taro Kato (Gluegent, Inc.) */ public class LiteralCharactersProcessor extends TemplateProcessorSupport implements CONST_IMPL { - private static final long serialVersionUID = -9037177269127933225L; private String _text; diff --git a/src-impl/org/seasar/mayaa/impl/engine/processor/OutputContextScopeProcessor.java b/src-impl/org/seasar/mayaa/impl/engine/processor/OutputContextScopeProcessor.java index 1fed2dbcb..ff59ec9f8 100644 --- a/src-impl/org/seasar/mayaa/impl/engine/processor/OutputContextScopeProcessor.java +++ b/src-impl/org/seasar/mayaa/impl/engine/processor/OutputContextScopeProcessor.java @@ -23,7 +23,6 @@ */ public class OutputContextScopeProcessor extends TemplateProcessorSupport { - private static final long serialVersionUID = 1L; private final OutputContext _context; diff --git a/src-impl/org/seasar/mayaa/impl/engine/processor/ProcessingInstructionProcessor.java b/src-impl/org/seasar/mayaa/impl/engine/processor/ProcessingInstructionProcessor.java index 0b51d8e79..5ef0ad48f 100644 --- a/src-impl/org/seasar/mayaa/impl/engine/processor/ProcessingInstructionProcessor.java +++ b/src-impl/org/seasar/mayaa/impl/engine/processor/ProcessingInstructionProcessor.java @@ -27,7 +27,6 @@ public class ProcessingInstructionProcessor extends TemplateProcessorSupport { - private static final long serialVersionUID = 6717263251948534639L; private static final int DEFAULT_BUFFER_SIZE = 128; diff --git a/src-impl/org/seasar/mayaa/impl/engine/processor/ProcessorPropertyImpl.java b/src-impl/org/seasar/mayaa/impl/engine/processor/ProcessorPropertyImpl.java index 0b5f067be..e20ce3a9e 100644 --- a/src-impl/org/seasar/mayaa/impl/engine/processor/ProcessorPropertyImpl.java +++ b/src-impl/org/seasar/mayaa/impl/engine/processor/ProcessorPropertyImpl.java @@ -24,7 +24,6 @@ * @author Masataka Kurihara (Gluegent, Inc.) */ public class ProcessorPropertyImpl implements ProcessorProperty { - private static final long serialVersionUID = -3871000102668243504L; private PrefixAwareName _name; private CompiledScript _compiled; diff --git a/src-impl/org/seasar/mayaa/impl/engine/processor/ProcessorPropertyLiteral.java b/src-impl/org/seasar/mayaa/impl/engine/processor/ProcessorPropertyLiteral.java index b602876ec..22c04542b 100644 --- a/src-impl/org/seasar/mayaa/impl/engine/processor/ProcessorPropertyLiteral.java +++ b/src-impl/org/seasar/mayaa/impl/engine/processor/ProcessorPropertyLiteral.java @@ -26,7 +26,6 @@ */ public class ProcessorPropertyLiteral implements ProcessorProperty { - private static final long serialVersionUID = -86193232420982992L; private PrefixAwareName _name; private CompiledScript _compiled; diff --git a/src-impl/org/seasar/mayaa/impl/engine/processor/TemplateProcessorSupport.java b/src-impl/org/seasar/mayaa/impl/engine/processor/TemplateProcessorSupport.java index a5aece343..b59196936 100644 --- a/src-impl/org/seasar/mayaa/impl/engine/processor/TemplateProcessorSupport.java +++ b/src-impl/org/seasar/mayaa/impl/engine/processor/TemplateProcessorSupport.java @@ -15,38 +15,22 @@ */ package org.seasar.mayaa.impl.engine.processor; -import java.io.IOException; -import java.io.ObjectInputStream; -import java.io.ObjectOutputStream; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Objects; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; import org.seasar.mayaa.builder.SequenceIDGenerator; -import org.seasar.mayaa.builder.library.LibraryManager; import org.seasar.mayaa.builder.library.ProcessorDefinition; import org.seasar.mayaa.engine.Page; import org.seasar.mayaa.engine.processor.OptimizableProcessor; import org.seasar.mayaa.engine.processor.ProcessStatus; import org.seasar.mayaa.engine.processor.ProcessorTreeWalker; import org.seasar.mayaa.engine.processor.TemplateProcessor; -import org.seasar.mayaa.engine.specification.Namespace; -import org.seasar.mayaa.engine.specification.NodeTreeWalker; import org.seasar.mayaa.engine.specification.QName; import org.seasar.mayaa.engine.specification.SpecificationNode; import org.seasar.mayaa.engine.specification.URI; -import org.seasar.mayaa.engine.specification.serialize.NodeReferenceResolver; -import org.seasar.mayaa.engine.specification.serialize.NodeResolveListener; -import org.seasar.mayaa.engine.specification.serialize.ProcessorReferenceResolver; import org.seasar.mayaa.impl.CONST_IMPL; -import org.seasar.mayaa.impl.engine.specification.QNameImpl; -import org.seasar.mayaa.impl.engine.specification.URIImpl; -import org.seasar.mayaa.impl.engine.specification.serialize.NodeSerializeController; -import org.seasar.mayaa.impl.engine.specification.serialize.ProcessorSerializeController; -import org.seasar.mayaa.impl.provider.ProviderUtil; /** * @author Masataka Kurihara (Gluegent, Inc.) @@ -54,8 +38,6 @@ public class TemplateProcessorSupport implements TemplateProcessor, OptimizableProcessor { - private static final long serialVersionUID = -2563169515122616036L; - private static final Log LOG = LogFactory.getLog(TemplateProcessorSupport.class); private static final String PREFIX_UNIQUE_ID = "_m"; private transient ProcessorTreeWalker _parent; @@ -254,154 +236,6 @@ public void kill() { // TODO deprecated のため削除予定 } - // for serialize - private static final String UNIQUENESS_MARK = "<>"; - - /** - * Serializable用の読込みメソッド。 - * プロセッサのインスタンス情報を書き込んだ後に参照先のノードのIDを書き込む。 - */ - private void writeObject(ObjectOutputStream out) throws IOException { - out.defaultWriteObject(); - String originalNodeID = NodeSerializeController.makeKey(_originalNode); - String uniqueID = getUniqueID(); - out.writeUTF(originalNodeID); - out.writeUTF(uniqueID); - out.writeUTF(_definition.getLibraryDefinition().getNamespaceURI().getValue()); - out.writeUTF(_definition.getName()); - - NodeSerializeController controller = NodeSerializeController.currentInstance(); - if (controller.collectNode(_injectedNode)) { - // オリジナルの保存 - out.writeUTF(UNIQUENESS_MARK); - out.writeObject(_injectedNode); - } else { - // 参照の保存 - out.writeUTF(NodeSerializeController.makeKey(_injectedNode)); - } - /* - if (_injectedNode.getParentNode() != null && !(getParentProcessor() instanceof Template)) { - String injectedNodeID = NodeSerializeController.makeKey(_injectedNode); - out.writeUTF(injectedNodeID); - } else { - out.writeUTF(DUPLICATE_ROOT_MARK); - out.writeObject(_injectedNode); - } - */ - } - - /** - * Serializable用の読込みメソッド。 - * プロセッサのインスタンス情報を読み込んだ後に参照先のノードの参照関係を復元する。 - */ - private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException { - in.defaultReadObject(); - String originalNodeID = in.readUTF(); - String processorUniqueID = in.readUTF(); - String processorNamespaceURI = in.readUTF(); - String processorLocalName = in.readUTF(); - - // 本プロセッサの定義情報への参照を再設定 - final QName qName = QNameImpl.getInstance(URIImpl.getInstance(processorNamespaceURI), processorLocalName); - final LibraryManager libraryManager = ProviderUtil.getLibraryManager(); - setProcessorDefinition(libraryManager.getProcessorDefinition(qName)); - - // 本プロセッサが参照しているオリジナルノードがデシリアライズされた際に通知を受けるリスナを登録する。 - // リスナが呼び出されるのは、NodeSerializerがでシリアライズ過程でcollectNodeメソッドで収集したノード群を - // デシリアライズ完了時に検査して、指定したノードIDのノードが含まれていたとき。 - NodeResolveListener listener = new TemplateProcessorSupportOriginalNodeListener(this); - findNodeResolver().registResolveNodeListener(originalNodeID, listener); - - String injectedNodeID = in.readUTF(); - if (UNIQUENESS_MARK.equals(injectedNodeID)) { - _injectedNode = (SpecificationNode) in.readObject(); - } else { - listener = new TemplateProcessorSupportInjectedNodeListener(this); - findNodeResolver().registResolveNodeListener(injectedNodeID, listener); - } - - ProcessorReferenceResolver resolver = findProcessorResolver(); - resolver.processorLoaded(processorUniqueID, this); - - // readResolveはextendsした最終クラスでしか発生しないので、ここで解決 - if (_children != null) { - for (int i = _children.size() - 1; i >= 0 ; i--) { - ProcessorTreeWalker child = - (ProcessorTreeWalker) _children.get(i); - child.setParentProcessor(this); - } - } - LOG.debug("templateProcessorSupport loaded"); - } - - protected void nodeLoadAfter() { - if (_originalNode != null && _injectedNode != null) { - Namespace parentSpace = getOriginalNode().getParentSpace(); - if (parentSpace != null - && getInjectedNode().getParentSpace() == null) { - getInjectedNode().setParentSpace(parentSpace); - } - } - } - - private static class TemplateProcessorSupportOriginalNodeListener - implements NodeResolveListener { - - private TemplateProcessorSupport _target; - - public TemplateProcessorSupportOriginalNodeListener( - TemplateProcessorSupport target) { - _target = target; - } - - public void notify( - String uniqueID, NodeTreeWalker loadedInstance) { - if (loadedInstance instanceof SpecificationNode) { - SpecificationNode specNode = - (SpecificationNode)loadedInstance; - _target._originalNode = specNode; - _target.nodeLoadAfter(); - } - } - - public void release() { - _target = null; - } - } - - private static class TemplateProcessorSupportInjectedNodeListener - implements NodeResolveListener { - - private TemplateProcessorSupport _target; - - public TemplateProcessorSupportInjectedNodeListener( - TemplateProcessorSupport target) { - _target = target; - } - - public void notify( - String uniqueID, NodeTreeWalker loadedInstance) { - if (loadedInstance instanceof SpecificationNode) { - SpecificationNode specNode = - (SpecificationNode)loadedInstance; - _target._injectedNode = specNode; - _target.nodeLoadAfter(); - } - } - - public void release() { - _target = null; - } - } - - public ProcessorReferenceResolver findProcessorResolver() { - return ProcessorSerializeController.currentInstance(); - } - - public NodeReferenceResolver findNodeResolver() { - return NodeSerializeController.currentInstance(); - } - /* (non-Javadoc) * @see java.lang.Object#equals(java.lang.Object) */ diff --git a/src-impl/org/seasar/mayaa/impl/engine/processor/WriteProcessor.java b/src-impl/org/seasar/mayaa/impl/engine/processor/WriteProcessor.java index 3fca6ea25..73f93b328 100644 --- a/src-impl/org/seasar/mayaa/impl/engine/processor/WriteProcessor.java +++ b/src-impl/org/seasar/mayaa/impl/engine/processor/WriteProcessor.java @@ -38,7 +38,6 @@ */ public class WriteProcessor extends AbstractAttributableProcessor { - private static final long serialVersionUID = -3040062846167228914L; private static final String BODY_VARIABLE_NAME = "bodyText"; private boolean _forHTML; private boolean _forHyperText; diff --git a/src-impl/org/seasar/mayaa/impl/engine/specification/NamespaceImpl.java b/src-impl/org/seasar/mayaa/impl/engine/specification/NamespaceImpl.java index 0ebbcbaf2..6bfad6f06 100644 --- a/src-impl/org/seasar/mayaa/impl/engine/specification/NamespaceImpl.java +++ b/src-impl/org/seasar/mayaa/impl/engine/specification/NamespaceImpl.java @@ -15,7 +15,6 @@ */ package org.seasar.mayaa.impl.engine.specification; -import java.io.IOException; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; @@ -37,7 +36,6 @@ */ public class NamespaceImpl implements Namespace { - private static final long serialVersionUID = -3738362040016319461L; public static Namespace copyOf(Namespace namespace) { if (namespace == null) { @@ -52,7 +50,7 @@ public static Namespace copyOf(Namespace namespace) { } result.setDefaultNamespaceURI(namespace.getDefaultNamespaceURI()); if (namespace instanceof NamespaceImpl) { - result._serializeKey = ((NamespaceImpl)namespace)._serializeKey; + result._cacheKey = ((NamespaceImpl)namespace)._cacheKey; } return result; } @@ -60,8 +58,7 @@ public static Namespace copyOf(Namespace namespace) { private transient Namespace _parentSpace; private transient Set _mappings; private transient PrefixMapping _defaultNamespaceMapping; - private String _serializeKey; - private transient volatile boolean _needDeserialize; + private String _cacheKey; public void setParentSpace(Namespace parent) { /* @@ -75,11 +72,10 @@ public void setParentSpace(Namespace parent) { } } _parentSpace = parent; - _serializeKey = null; + _cacheKey = null; } public Namespace getParentSpace() { - doDeserialize(); return _parentSpace; } @@ -88,7 +84,6 @@ public void addPrefixMapping(String prefix, URI namespaceURI) { throw new IllegalArgumentException(); } synchronized (this) { - doDeserialize(); if (_mappings == null) { // テンプレートによってxmlnsの記述順が異なったとしても、 // 同一のものを保証するためにソートする @@ -98,7 +93,7 @@ public void addPrefixMapping(String prefix, URI namespaceURI) { SpecificationUtil.createPrefixMapping(prefix, namespaceURI); if (_mappings.contains(mapping) == false) { _mappings.add(mapping); - _serializeKey = null; + _cacheKey = null; } else { String msg = StringUtil.getMessage(NamespaceImpl.class, 0, mapping.toString()); @@ -113,11 +108,10 @@ public void addPrefixMapping(String prefix, URI namespaceURI) { } public void setDefaultNamespaceURI(URI namespaceURI) { - doDeserialize(); if (namespaceURI == null) { if (_defaultNamespaceMapping != null) { _defaultNamespaceMapping = null; - _serializeKey = null; + _cacheKey = null; } return; } @@ -126,7 +120,7 @@ public void setDefaultNamespaceURI(URI namespaceURI) { if (mapping.getNamespaceURI().equals(namespaceURI)) { if (mapping.equals(_defaultNamespaceMapping) == false) { _defaultNamespaceMapping = mapping; - _serializeKey = null; + _cacheKey = null; } return; } @@ -136,7 +130,7 @@ public void setDefaultNamespaceURI(URI namespaceURI) { _defaultNamespaceMapping) == false) { _defaultNamespaceMapping = SpecificationUtil.HTML_DEFAULT_PREFIX_MAPPING; - _serializeKey = null; + _cacheKey = null; } return; } @@ -145,14 +139,14 @@ public void setDefaultNamespaceURI(URI namespaceURI) { _defaultNamespaceMapping) == false) { _defaultNamespaceMapping = SpecificationUtil.XHTML_DEFAULT_PREFIX_MAPPING; - _serializeKey = null; + _cacheKey = null; } return; } _defaultNamespaceMapping = SpecificationUtil.createPrefixMapping("", namespaceURI); - _serializeKey = null; + _cacheKey = null; } protected void setDefaultNamespaceMapping( @@ -161,12 +155,10 @@ protected void setDefaultNamespaceMapping( } protected PrefixMapping getDefaultNamespaceMapping() { - doDeserialize(); return _defaultNamespaceMapping; } public URI getDefaultNamespaceURI() { - doDeserialize(); if (_defaultNamespaceMapping == null) { return null; } @@ -178,7 +170,6 @@ protected PrefixMapping getMapping( if (test == null) { throw new IllegalArgumentException(); } - doDeserialize(); if (_defaultNamespaceMapping != null) { if (fromPrefix) { if ("".equals(test) || _defaultNamespaceMapping.getPrefix().equals(test)) { @@ -223,7 +214,6 @@ public Iterator iteratePrefixMapping(boolean all) { if (all && getParentSpace() != null) { return new AllNamespaceIterator(this); } - doDeserialize(); if (_mappings != null) { return _mappings.iterator(); } @@ -231,7 +221,6 @@ public Iterator iteratePrefixMapping(boolean all) { } public boolean addedMapping() { - doDeserialize(); if (_mappings == null) { return false; } @@ -240,19 +229,18 @@ public boolean addedMapping() { } } - protected String getSerializeKey() { - doDeserialize(); - serialize(this); - return _serializeKey; + protected String getCacheKey() { + buildCacheKey(this); + return _cacheKey; } - protected static String serialize(Namespace instance) { + protected static String buildCacheKey(Namespace instance) { if (instance instanceof NamespaceImpl == false) { throw new IllegalStateException(); } NamespaceImpl impl = (NamespaceImpl)instance; - if (impl._serializeKey != null) { - return impl._serializeKey; + if (impl._cacheKey != null) { + return impl._cacheKey; } List spaces = new ArrayList<>(); @@ -273,42 +261,10 @@ protected static String serialize(Namespace instance) { } buffer.append(impl.namespaceToString()); String result = buffer.toString(); - impl._serializeKey = result; + impl._cacheKey = result; return result; } - protected static NamespaceImpl deserialize(String serializeData) { - String[] lines = serializeData.split("\n"); - Namespace parent = null; - NamespaceImpl current = null; - for (int i = 0; i < lines.length; i++) { - String line = lines[i]; - if (line.startsWith("/")) { - line = line.substring("/".length()); - if (current != null) { - parent = current; - } - current = new NamespaceImpl(); - - if (String.valueOf((Object)null).equals(line) == false) { - current._defaultNamespaceMapping = - SpecificationUtil.createPrefixMapping(line); - } - if (parent != null) { - current.setParentSpace(parent); - } - } else if (line.startsWith("\t") && current != null) { - line = line.substring("\t".length()); - // パフォーマンス重視のためにaddPrefixMappingを呼ばない - if (current._mappings == null) { - current._mappings = new TreeSet<>(_prefixMappingComparator); - } - current._mappings.add(SpecificationUtil.createPrefixMapping(line)); - } - } - return current; - } - private String namespaceToString() { StringBuilder sb = new StringBuilder(); sb.append("/").append(_defaultNamespaceMapping).append("\n"); @@ -325,53 +281,14 @@ public String toString() { public boolean equals(Object obj) { if (obj != null && obj.getClass().equals(NamespaceImpl.class)) { NamespaceImpl other = (NamespaceImpl)obj; - String otherKey = other.getSerializeKey(); - return getSerializeKey().equals(otherKey); + String otherKey = other.getCacheKey(); + return getCacheKey().equals(otherKey); } return false; } // TODO hashCodeを実装する - private void writeObject(java.io.ObjectOutputStream out) - throws IOException { - if (getClass() == NamespaceImpl.class) { - getSerializeKey(); - out.defaultWriteObject(); - } - } - - protected void doDeserialize() { - if (_needDeserialize == false) { - return; - } - synchronized (this) { - if (_needDeserialize == false) { - return; - } - - NamespaceImpl current = deserialize(getSerializeKey()); - - _parentSpace = current._parentSpace; - _defaultNamespaceMapping = current._defaultNamespaceMapping; - _mappings = new TreeSet<>(_prefixMappingComparator); - for (Iterator it = current.iteratePrefixMapping(false) - ; it.hasNext(); ) { - _mappings.add(it.next()); - } - _needDeserialize = false; - } - } - - private void readObject(java.io.ObjectInputStream in) - throws IOException, ClassNotFoundException { - if (getClass() == NamespaceImpl.class) { - in.defaultReadObject(); - _needDeserialize = true; - } - } - - // support class ------------------------------------------------- protected static class AllNamespaceIterator implements Iterator { diff --git a/src-impl/org/seasar/mayaa/impl/engine/specification/NodeAttributeImpl.java b/src-impl/org/seasar/mayaa/impl/engine/specification/NodeAttributeImpl.java index 2e0f68056..952f5b469 100644 --- a/src-impl/org/seasar/mayaa/impl/engine/specification/NodeAttributeImpl.java +++ b/src-impl/org/seasar/mayaa/impl/engine/specification/NodeAttributeImpl.java @@ -31,7 +31,6 @@ */ public class NodeAttributeImpl implements NodeAttribute { - private static final long serialVersionUID = -1384526104972846069L; private transient SpecificationNode _node; private QName _qName; diff --git a/src-impl/org/seasar/mayaa/impl/engine/specification/NodeTreeWalkerImpl.java b/src-impl/org/seasar/mayaa/impl/engine/specification/NodeTreeWalkerImpl.java index d43dd69a8..efc5c1a0d 100644 --- a/src-impl/org/seasar/mayaa/impl/engine/specification/NodeTreeWalkerImpl.java +++ b/src-impl/org/seasar/mayaa/impl/engine/specification/NodeTreeWalkerImpl.java @@ -22,15 +22,12 @@ import java.util.Objects; import org.seasar.mayaa.engine.specification.NodeTreeWalker; -import org.seasar.mayaa.engine.specification.serialize.NodeReferenceResolver; -import org.seasar.mayaa.impl.engine.specification.serialize.NodeSerializeController; /** * @author Taro Kato (Gluegent, Inc.) */ public class NodeTreeWalkerImpl implements NodeTreeWalker { - private static final long serialVersionUID = 2482332186727952663L; private transient NodeTreeWalker _parent; private List _childNodes; @@ -150,10 +147,6 @@ public boolean isOnTemplate() { return _onTemplate; } - public NodeReferenceResolver findNodeResolver() { - return NodeSerializeController.currentInstance(); - } - /* (non-Javadoc) * @see java.lang.Object#hashCode() */ diff --git a/src-impl/org/seasar/mayaa/impl/engine/specification/ParentSpecificationResolverImpl.java b/src-impl/org/seasar/mayaa/impl/engine/specification/ParentSpecificationResolverImpl.java index 6e9cf304e..854a65d64 100644 --- a/src-impl/org/seasar/mayaa/impl/engine/specification/ParentSpecificationResolverImpl.java +++ b/src-impl/org/seasar/mayaa/impl/engine/specification/ParentSpecificationResolverImpl.java @@ -8,7 +8,6 @@ public class ParentSpecificationResolverImpl extends ParameterAwareImpl implements ParentSpecificationResolver { - private static final long serialVersionUID = 8831606528015900173L; public Specification getParentSpecification(Specification spec) { if (spec instanceof Page) { diff --git a/src-impl/org/seasar/mayaa/impl/engine/specification/PrefixAwareNameImpl.java b/src-impl/org/seasar/mayaa/impl/engine/specification/PrefixAwareNameImpl.java index 21f33d148..2c8ccb745 100644 --- a/src-impl/org/seasar/mayaa/impl/engine/specification/PrefixAwareNameImpl.java +++ b/src-impl/org/seasar/mayaa/impl/engine/specification/PrefixAwareNameImpl.java @@ -27,7 +27,6 @@ * @author Masataka Kurihara (Gluegent, Inc.) */ public class PrefixAwareNameImpl implements PrefixAwareName { - private static final long serialVersionUID = -8898891078217203404L; private static final Cache _cache = Caffeine.newBuilder() .softValues() @@ -46,10 +45,6 @@ public static PrefixAwareName getInstance(QName qName, String prefix) { private QName _qName; private String _prefix; - private PrefixAwareNameImpl() { - // for serialize - } - private PrefixAwareNameImpl(QName qName, String prefix) { if (qName == null || prefix == null) { throw new IllegalArgumentException(); @@ -87,8 +82,4 @@ public static String forPrefixAwareNameString(QName qName, String prefix) { return buffer.toString(); } - private Object readResolve() { - return getInstance(_qName, _prefix); - } - } diff --git a/src-impl/org/seasar/mayaa/impl/engine/specification/PrefixMappingImpl.java b/src-impl/org/seasar/mayaa/impl/engine/specification/PrefixMappingImpl.java index 1eff09b43..adbdbd2ff 100644 --- a/src-impl/org/seasar/mayaa/impl/engine/specification/PrefixMappingImpl.java +++ b/src-impl/org/seasar/mayaa/impl/engine/specification/PrefixMappingImpl.java @@ -15,7 +15,6 @@ */ package org.seasar.mayaa.impl.engine.specification; -import java.io.Serializable; import org.seasar.mayaa.engine.specification.PrefixMapping; import org.seasar.mayaa.engine.specification.URI; @@ -25,8 +24,7 @@ /** * @author Masataka Kurihara (Gluegent, Inc.) */ -public class PrefixMappingImpl implements PrefixMapping, Serializable { - private static final long serialVersionUID = -7627574345551562433L; +public class PrefixMappingImpl implements PrefixMapping { private static final Cache _cache = Caffeine.newBuilder() .softValues() @@ -121,8 +119,4 @@ public int hashCode() { return toString().hashCode(); } - private Object readResolve() { - return getInstance(_prefix, _namespaceURI); - } - } diff --git a/src-impl/org/seasar/mayaa/impl/engine/specification/QNameImpl.java b/src-impl/org/seasar/mayaa/impl/engine/specification/QNameImpl.java index 1f5d88f58..cc6617f82 100644 --- a/src-impl/org/seasar/mayaa/impl/engine/specification/QNameImpl.java +++ b/src-impl/org/seasar/mayaa/impl/engine/specification/QNameImpl.java @@ -15,7 +15,6 @@ */ package org.seasar.mayaa.impl.engine.specification; -import java.io.Serializable; import java.util.Objects; import org.seasar.mayaa.engine.specification.QName; import org.seasar.mayaa.engine.specification.URI; @@ -29,8 +28,7 @@ * @author Masataka Kurihara (Gluegent, Inc.) * @author Taro Kato (Gluegent, Inc.) */ -public final class QNameImpl implements QName, CONST_IMPL, Serializable { - private static final long serialVersionUID = 2143966034062341815L; +public final class QNameImpl implements QName, CONST_IMPL { private static final Cache _cache = Caffeine.newBuilder() .softValues() @@ -53,10 +51,6 @@ public static QName getInstance(URI namespaceURI, String localName) { private URI _namespaceURI; private String _localName; - private QNameImpl() { - // for serialize - } - private QNameImpl(URI namespaceURI, String localName) { if (namespaceURI == null || localName == null || localName.isEmpty()) { throw new IllegalArgumentException(); @@ -109,9 +103,4 @@ public boolean equals(Object obj) { public int hashCode() { return Objects.hash(_localName, _namespaceURI); } - - private Object readResolve() { - return getInstance(_namespaceURI, _localName); - } - } diff --git a/src-impl/org/seasar/mayaa/impl/engine/specification/SpecificationImpl.java b/src-impl/org/seasar/mayaa/impl/engine/specification/SpecificationImpl.java index c2fa97e3c..bec72693d 100644 --- a/src-impl/org/seasar/mayaa/impl/engine/specification/SpecificationImpl.java +++ b/src-impl/org/seasar/mayaa/impl/engine/specification/SpecificationImpl.java @@ -15,8 +15,6 @@ */ package org.seasar.mayaa.impl.engine.specification; -import java.io.IOException; -import java.io.ObjectInputStream; import java.util.Date; import java.util.Iterator; import java.util.Objects; @@ -26,14 +24,11 @@ import org.seasar.mayaa.builder.SpecificationBuilder; import org.seasar.mayaa.engine.specification.NodeTreeWalker; import org.seasar.mayaa.engine.specification.Specification; -import org.seasar.mayaa.engine.specification.serialize.NodeReferenceResolver; import org.seasar.mayaa.impl.CONST_IMPL; import org.seasar.mayaa.impl.ParameterAwareImpl; import org.seasar.mayaa.impl.engine.EngineUtil; -import org.seasar.mayaa.impl.engine.specification.serialize.NodeSerializeController; import org.seasar.mayaa.impl.provider.ProviderUtil; import org.seasar.mayaa.impl.source.NullSourceDescriptor; -import org.seasar.mayaa.impl.source.SourceUtil; import org.seasar.mayaa.impl.util.ObjectUtil; import org.seasar.mayaa.source.SourceDescriptor; @@ -42,7 +37,6 @@ */ public class SpecificationImpl extends ParameterAwareImpl implements Specification { - private static final long serialVersionUID = -7503898036935182468L; private static final Log LOG = LogFactory.getLog(SpecificationImpl.class); @@ -217,12 +211,6 @@ public int getChildNodeSize() { return getNodeTreeWalker().getChildNodeSize(); } - // NodeReferenceResolverFinder implements -------------------------------------- - - public NodeReferenceResolver findNodeResolver() { - return getNodeTreeWalker().findNodeResolver(); - } - // PositionAware overrides ------------------------------------ public String getSystemID() { @@ -240,23 +228,6 @@ public boolean isOnTemplate() { return false; } - private void readObject(ObjectInputStream in) - throws IOException, ClassNotFoundException { - in.defaultReadObject(); - for (Iterator it = iterateChildNode(); it.hasNext();) { - NodeTreeWalker child = it.next(); - child.setParentNode(this); - } - - // ソースと関連づいていた場合は現在のSourceDescriptorを取得して設定 - if (_hasSource) { - SourceDescriptor sourceDescriptor = SourceUtil.getSourceDescriptor(super.getSystemID()); - setSource(sourceDescriptor); - } - NodeSerializeController.currentInstance().specLoaded(this); - } - - /* * (non-Javadoc) * diff --git a/src-impl/org/seasar/mayaa/impl/engine/specification/SpecificationNodeImpl.java b/src-impl/org/seasar/mayaa/impl/engine/specification/SpecificationNodeImpl.java index f1d76e543..bbad714f4 100644 --- a/src-impl/org/seasar/mayaa/impl/engine/specification/SpecificationNodeImpl.java +++ b/src-impl/org/seasar/mayaa/impl/engine/specification/SpecificationNodeImpl.java @@ -15,7 +15,6 @@ */ package org.seasar.mayaa.impl.engine.specification; -import java.io.Serializable; import java.util.Collections; import java.util.Iterator; import java.util.LinkedHashMap; @@ -24,7 +23,6 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.seasar.mayaa.engine.specification.CopyToFilter; -import org.seasar.mayaa.engine.specification.Namespace; import org.seasar.mayaa.engine.specification.NodeAttribute; import org.seasar.mayaa.engine.specification.NodeObject; import org.seasar.mayaa.engine.specification.NodeTreeWalker; @@ -33,7 +31,6 @@ import org.seasar.mayaa.engine.specification.Specification; import org.seasar.mayaa.engine.specification.SpecificationNode; import org.seasar.mayaa.engine.specification.URI; -import org.seasar.mayaa.engine.specification.serialize.NodeReferenceResolver; import org.seasar.mayaa.impl.CONST_IMPL; import org.seasar.mayaa.impl.util.StringUtil; @@ -43,7 +40,6 @@ public class SpecificationNodeImpl extends NamespaceImpl implements SpecificationNode, CONST_IMPL { - private static final long serialVersionUID = 7084397580802643259L; private static final Log LOG = LogFactory.getLog(SpecificationNodeImpl.class); private static final CopyToFilter FILTER_ALL = new AllCopyToFilter(); @@ -294,63 +290,6 @@ public boolean isOnTemplate() { return getNodeTreeWalker().isOnTemplate(); } - // NodeReferenceResolverFinder implements ------------------------------------ - - public NodeReferenceResolver findNodeResolver() { - return getNodeTreeWalker().findNodeResolver(); - } - - // for serialize - - private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException { - out.defaultWriteObject(); - // namespace - out.writeUTF(super.toString()); - if (getParentSpace() != null - && getParentSpace().getClass() == NamespaceImpl.class) { - out.writeObject(getParentSpace()); - } else { - out.writeObject(new Serializable() { - private static final long serialVersionUID = 1L; - }); - } - } - - private void readObject(java.io.ObjectInputStream in) - throws java.io.IOException, ClassNotFoundException { - in.defaultReadObject(); - // namespace - String currentMappingInfo = in.readUTF(); - NamespaceImpl namespace = deserialize(currentMappingInfo); - setDefaultNamespaceMapping(namespace.getDefaultNamespaceMapping()); - for (Iterator it = namespace.iteratePrefixMapping(false) - ; it.hasNext(); ) { - PrefixMapping mapping = it.next(); - addPrefixMapping(mapping.getPrefix(), mapping.getNamespaceURI()); - } - // parent namespace - Object nscheck = in.readObject(); - if (nscheck instanceof NamespaceImpl) { - setParentSpace((Namespace)nscheck); - } - findNodeResolver().nodeLoaded(this); - } - - private Object readResolve() { - for (Iterator it = iterateChildNode(); it.hasNext(); ) { - NodeTreeWalker child = it.next(); - child.setParentNode(this); - if (child instanceof Namespace) { - ((Namespace)child).setParentSpace(this); - } - } - for (Iterator it = iterateAttribute(); it.hasNext(); ) { - NodeAttributeImpl attr = (NodeAttributeImpl) it.next(); - attr.setNode(this); - } - return this; - } - public String getId() { return _id; } diff --git a/src-impl/org/seasar/mayaa/impl/engine/specification/SpecificationUtil.java b/src-impl/org/seasar/mayaa/impl/engine/specification/SpecificationUtil.java index 27d853c24..8cd5ab436 100644 --- a/src-impl/org/seasar/mayaa/impl/engine/specification/SpecificationUtil.java +++ b/src-impl/org/seasar/mayaa/impl/engine/specification/SpecificationUtil.java @@ -15,14 +15,6 @@ */ package org.seasar.mayaa.impl.engine.specification; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.ObjectInputStream; -import java.io.ObjectOutputStream; -import java.nio.file.Files; import java.util.ArrayList; import java.util.Iterator; import java.util.List; @@ -30,13 +22,7 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; -import jakarta.servlet.ServletContext; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; import org.seasar.mayaa.cycle.ServiceCycle; -import org.seasar.mayaa.impl.management.DiagnosticEventBuffer; -import org.seasar.mayaa.cycle.scope.ApplicationScope; import org.seasar.mayaa.cycle.script.CompiledScript; import org.seasar.mayaa.engine.specification.Namespace; import org.seasar.mayaa.engine.specification.NodeAttribute; @@ -51,8 +37,6 @@ import org.seasar.mayaa.impl.cycle.CycleUtil; import org.seasar.mayaa.impl.cycle.script.LiteralScript; import org.seasar.mayaa.impl.cycle.script.ScriptUtil; -import org.seasar.mayaa.impl.engine.specification.serialize.NodeSerializeController; -import org.seasar.mayaa.impl.engine.specification.serialize.ProcessorSerializeController; import org.seasar.mayaa.impl.provider.ProviderUtil; import org.seasar.mayaa.impl.util.StringUtil; @@ -66,8 +50,6 @@ */ public class SpecificationUtil implements CONST_IMPL { - private static final Log LOG = LogFactory.getLog(SpecificationUtil.class); - private static EventScriptEnvironment _eventScripts = new EventScriptEnvironment(); @@ -80,8 +62,6 @@ public class SpecificationUtil implements CONST_IMPL { public static final PrefixMapping XHTML_DEFAULT_PREFIX_MAPPING = PrefixMappingImpl.getInstance("", CONST_IMPL.URI_XHTML); - public static File _serializeDirFile; - private SpecificationUtil() { // no instantiation. } @@ -297,168 +277,6 @@ public static URI createURI(String uri) { return URIImpl.getInstance(uri); } - /** - * {@link Specification} のシリアライズを有効にするための準備を行う。 - * シリアライズ後のファイル保管ディレクトリが作成できないなどの理由で失敗した場合はfalseを返す。 - * @return シリアライズを有効にするための準備が整わないときに false を返す。 - */ - public static boolean prepareSerialize() { - try { - ApplicationScope scope = CycleUtil.getServiceCycle().getApplicationScope(); - ServletContext context = (ServletContext) scope.getUnderlyingContext(); - File baseDir = (File) context.getAttribute("javax.servlet.context.tempdir"); - if (baseDir == null || !baseDir.exists()) { - return false; // cannot resolve spec cache directory. - } - File cacheDir = new File(baseDir, ".mayaaSpecCache"); - if (cacheDir.exists() || cacheDir.mkdirs()) { - _serializeDirFile = cacheDir; - } - else { - LOG.error("Cannot mkdir serialize directory. " + cacheDir.getAbsolutePath()); - DiagnosticEventBuffer.recordError( - DiagnosticEventBuffer.Phase.BUILD, - "serializeDirCreateFailed", - cacheDir.getAbsolutePath(), - "Cannot mkdir serialize directory. " + cacheDir.getAbsolutePath(), - cacheDir.getAbsolutePath()); - return false; - } - } catch (SecurityException e) { - return false; - } - - // すべて問題がなければ true - return true; - } - - public static void cleanupSerialize() { - if (_serializeDirFile != null) { - try { - Files.deleteIfExists(_serializeDirFile.toPath()); - } catch (IOException e) { - } - } - } - - /** - * キャッシュ用にシリアライズするディレクトリのファイルオブジェクトを取得する。 - * @return Fileオブジェクト - */ - protected static File getSerializeDirectory() { - if (_serializeDirFile == null || !_serializeDirFile.exists()) { - prepareSerialize(); - } - - return _serializeDirFile; - } - - /** - * システムID指定したシリアライズされたファイルを削除する。 - * 存在していない場合も失敗しない。 - * @param systemID システムID - */ - public static void purgeSerializedFile(String systemID) { - File cacheDir = getSerializeDirectory(); - String filename = getSerializedFilename(systemID); - File cacheFile = new File(cacheDir, filename); - if (cacheFile.exists()) { - cacheFile.delete(); - } - } - - /** - * システムIDからキャッシュ用にシリアライズするファイル名を生成する。 - * @param systemID システムID - * @return シリアライズ用ファイル名 - */ - protected static String getSerializedFilename(String systemID) { - return systemID.substring("/".length()).replace('/', '#') + ".ser"; - } - - public static void serialize(Specification spec) { - File cacheDir = getSerializeDirectory(); - serialize(spec, cacheDir); - } - - public static void serialize(Specification spec, File cacheDir) { - try { - String filename = getSerializedFilename(spec.getSystemID()); - - synchronized(spec) { - File file = new File(cacheDir, filename); - try (ObjectOutputStream stream = new ObjectOutputStream(new FileOutputStream(file))){ - NodeSerializeController.currentInstance().init(); - stream.writeObject(spec); - } finally { - NodeSerializeController.currentInstance().release(); - } - } - } catch (FileNotFoundException e) { - LOG.error("page serialize failed.", e); - DiagnosticEventBuffer.recordError( - DiagnosticEventBuffer.Phase.BUILD, - "pageSerializeFailed", - spec.getSystemID(), - "page serialize failed.", - null, null, spec); - } catch (IOException e) { - LOG.error("page serialize failed.", e); - DiagnosticEventBuffer.recordError( - DiagnosticEventBuffer.Phase.BUILD, - "pageSerializeFailed", - spec.getSystemID(), - "page serialize failed.", - null, null, spec); - } catch (IllegalStateException e) { - LOG.error("page serialize failed.", e); - DiagnosticEventBuffer.recordError( - DiagnosticEventBuffer.Phase.BUILD, - "pageSerializeFailed", - spec.getSystemID(), - "page serialize failed.", - null, null, spec); - } - } - - public static Specification deserialize(String systemID) { - File cacheDir = getSerializeDirectory(); - return deserialize(systemID, cacheDir); - } - - public static Specification deserialize(String systemID, File cacheDir) { - File cacheFile = null; - try { - String filename = getSerializedFilename(systemID); - cacheFile = new File(cacheDir, filename); - if (cacheFile.exists() == false) { - return null; - } - } catch (IllegalStateException e) { - return null; - } - - NodeSerializeController.currentInstance().init(); - ProcessorSerializeController.currentInstance().init(); - - try (ObjectInputStream stream = new ObjectInputStream(new FileInputStream(cacheFile))) { - Specification result = (Specification) stream.readObject(); - return result; - } catch(Throwable e) { - String message = systemID + " specification deserialize failed."; - if (e.getMessage() != null) { - message += " " + e.getMessage(); - } - LOG.info(message); - cacheFile.delete(); - return null; - } finally { - ProcessorSerializeController.currentInstance().release(); - NodeSerializeController.currentInstance().release(); - } - - } - // script cache ---------------------------------------------- protected static class EventScriptEnvironment { diff --git a/src-impl/org/seasar/mayaa/impl/engine/specification/URIImpl.java b/src-impl/org/seasar/mayaa/impl/engine/specification/URIImpl.java index ecdb6b432..4628122a7 100644 --- a/src-impl/org/seasar/mayaa/impl/engine/specification/URIImpl.java +++ b/src-impl/org/seasar/mayaa/impl/engine/specification/URIImpl.java @@ -23,7 +23,6 @@ * @author Taro Kato (Gluegent, Inc.) */ public final class URIImpl implements URI { - private static final long serialVersionUID = 7985133276316017754L; private static final Cache _cache = Caffeine.newBuilder() .softValues() @@ -41,10 +40,6 @@ public static URI getInstance(String uri) { private String _value; - private URIImpl() { - // for serialize - } - private URIImpl(String uri) { _value = uri; } @@ -73,12 +68,6 @@ public boolean equals(Object obj) { public int hashCode() { return _value.hashCode(); } - - // serializable - private Object readResolve() { - return getInstance(_value); - } - public int compareTo(URI o) { if (o instanceof URI) { URI other = (URI)o; diff --git a/src-impl/org/seasar/mayaa/impl/engine/specification/serialize/NodeSerializeController.java b/src-impl/org/seasar/mayaa/impl/engine/specification/serialize/NodeSerializeController.java deleted file mode 100644 index f693a6f21..000000000 --- a/src-impl/org/seasar/mayaa/impl/engine/specification/serialize/NodeSerializeController.java +++ /dev/null @@ -1,151 +0,0 @@ -/* - * Copyright 2004-2012 the Seasar Foundation and the Others. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package org.seasar.mayaa.impl.engine.specification.serialize; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import org.seasar.mayaa.engine.specification.NodeTreeWalker; -import org.seasar.mayaa.engine.specification.Specification; -import org.seasar.mayaa.engine.specification.SpecificationNode; -import org.seasar.mayaa.engine.specification.serialize.NodeReferenceResolver; -import org.seasar.mayaa.engine.specification.serialize.NodeResolveListener; -import org.seasar.mayaa.impl.cycle.CycleUtil; -import org.seasar.mayaa.impl.cycle.DefaultCycleLocalInstantiator; - -/** - * @author Taro Kato (Gluegent, Inc.) - */ -public class NodeSerializeController implements NodeReferenceResolver { - - private List _nodeListeners; - private Map _nodes; - - public void init() { - _nodeListeners = new ArrayList<>(20); - _nodes = new HashMap<>(100); - } - - public void release() { - doNotify(); - for (Iterator it = _nodeListeners.iterator(); it.hasNext(); ) { - NodeListener listener = it.next(); - listener.release(); - } - _nodeListeners.clear(); - _nodes.clear(); - } - - public NodeTreeWalker getNode(String uniqueID) { - return (NodeTreeWalker) _nodes.get(uniqueID); - } - - public void doNotify() { - for (Iterator it = _nodeListeners.iterator(); it.hasNext(); ) { - NodeListener listener = it.next(); - NodeTreeWalker node = getNode(listener._id); - listener._listener.notify(listener._id, node); - if (node != null) { - it.remove(); - } - } - } - - /** - * 存在しない場合は登録する。 - * @param node 登録するノード - * @return 既に登録済みの場合はfalse。 - */ - public boolean collectNode(NodeTreeWalker node) { - String uniqueID = null; - if (node instanceof SpecificationNode) { - uniqueID = makeKey((SpecificationNode)node); - } else if (node instanceof Specification){ - uniqueID = makeKey((Specification)node); - } else { - throw new IllegalArgumentException(); - } - if (_nodes.containsKey(uniqueID)) { - return false; - } - _nodes.put(uniqueID, node); - return true; - } - - public void registResolveNodeListener(String uniqueID, NodeResolveListener listener) { - _nodeListeners.add(new NodeListener(uniqueID, listener)); - } - - public void nodeLoaded(SpecificationNode item) { - _nodes.put(makeKey(item), item); - } - - public void specLoaded(Specification item) { - _nodes.put(makeKey(item), item); - } - - public static String makeKey(SpecificationNode item) { - return item.getSystemID() + "\n" - + item.getSequenceID() + "\n" - + item.getQName(); - } - - public static String makeKey(Specification item) { - return item.getSystemID(); - } - - public static class NodeListener { - String _id; - NodeResolveListener _listener; - - public NodeListener(String id, NodeResolveListener listener) { - _id = id; - _listener = listener; - } - - public void release() { - _listener.release(); - _listener = null; - } - } - - // シリアライズ時にSpecificationNodeオブジェクトの参照関係を保持、解決するための - // NodeSerializeControllerをスレッドローカルに貼り付ける。 - static final String SERIALIZE_CONTROLLER_KEY = NodeSerializeController.class.getName() + "#serializeController"; - static { - CycleUtil.registVariableFactory( - SERIALIZE_CONTROLLER_KEY, - new DefaultCycleLocalInstantiator() { - public Object create(Object[] params) { - return new NodeSerializeController(); - } - public void destroy(Object instance) { - if (instance instanceof NodeSerializeController) { - ((NodeSerializeController) instance).release(); - } - } - }); - } - - public static NodeSerializeController currentInstance() { - return (NodeSerializeController) CycleUtil.getGlobalVariable( - SERIALIZE_CONTROLLER_KEY, null); - } - -} diff --git a/src-impl/org/seasar/mayaa/impl/engine/specification/serialize/ProcessorSerializeController.java b/src-impl/org/seasar/mayaa/impl/engine/specification/serialize/ProcessorSerializeController.java deleted file mode 100644 index badeef91f..000000000 --- a/src-impl/org/seasar/mayaa/impl/engine/specification/serialize/ProcessorSerializeController.java +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Copyright 2004-2012 the Seasar Foundation and the Others. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package org.seasar.mayaa.impl.engine.specification.serialize; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.seasar.mayaa.engine.processor.ProcessorTreeWalker; -import org.seasar.mayaa.engine.specification.serialize.ProcessorReferenceResolver; -import org.seasar.mayaa.engine.specification.serialize.ProcessorResolveListener; -import org.seasar.mayaa.impl.cycle.CycleUtil; -import org.seasar.mayaa.impl.cycle.DefaultCycleLocalInstantiator; - -/** - * @author Taro Kato (Gluegent, Inc.) - */ -public class ProcessorSerializeController implements ProcessorReferenceResolver { - - private List _processorListeners = new ArrayList<>(); - private Map _processors = new HashMap<>(); - - public void init() { - _processorListeners = new ArrayList<>(); - _processors = new HashMap<>(20); - } - - public void release() { - doNotify(); - for (ProcessorListener listener : _processorListeners) { - listener.release(); - } - _processorListeners.clear(); - _processors.clear(); - } - - public void processorLoaded(String uniqueID, ProcessorTreeWalker item) { - _processors.put(uniqueID, item); - } - - public ProcessorTreeWalker getProcessor(String uniqueID) { - return (ProcessorTreeWalker) _processors.get(uniqueID); - } - - public void registResolveProcessorListener(String uniqueID, ProcessorResolveListener listener) { - _processorListeners.add(new ProcessorListener(uniqueID, listener)); - } - - public void doNotify() { - for (ProcessorListener listener : _processorListeners) { - listener._listener.notify(listener._id, getProcessor(listener._id)); - } - } - - public static class ProcessorListener { - String _id; - ProcessorResolveListener _listener; - - public ProcessorListener(String id, ProcessorResolveListener listener) { - _id = id; - _listener = listener; - } - - public void release() { - _listener.release(); - _listener = null; - } - } - - // シリアライズ時にTemplateProcessorオブジェクトの参照関係を保持、解決するための - // ProcessorSerializeControllerをスレッドローカルに貼り付ける。 - static final String SERIALIZE_CONTROLLER_KEY = ProcessorSerializeController.class.getName() + "#serializeController"; - static { - CycleUtil.registVariableFactory( - SERIALIZE_CONTROLLER_KEY, - new DefaultCycleLocalInstantiator() { - public Object create(Object[] params) { - ProcessorSerializeController result = - new ProcessorSerializeController(); - return result; - } - }); - } - public static ProcessorSerializeController currentInstance() { - return (ProcessorSerializeController) CycleUtil.getGlobalVariable( - SERIALIZE_CONTROLLER_KEY, null); - } - -} - diff --git a/src-impl/org/seasar/mayaa/impl/engine/specification/serialize/SerializeExecutor.java b/src-impl/org/seasar/mayaa/impl/engine/specification/serialize/SerializeExecutor.java deleted file mode 100644 index 18bd9314e..000000000 --- a/src-impl/org/seasar/mayaa/impl/engine/specification/serialize/SerializeExecutor.java +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Copyright 2004-2012 the Seasar Foundation and the Others. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, - * either express or implied. See the License for the specific language - * governing permissions and limitations under the License. - */ -package org.seasar.mayaa.impl.engine.specification.serialize; - -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.RejectedExecutionException; - -import jakarta.enterprise.concurrent.ManagedExecutorService; -import javax.naming.InitialContext; -import javax.naming.NamingException; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.seasar.mayaa.engine.specification.Specification; -import org.seasar.mayaa.impl.engine.specification.SpecificationUtil; - -/** - * @author Mitsutaka Watanabe - */ -public class SerializeExecutor { - private static final Log LOG = LogFactory.getLog(SerializeExecutor.class); - - private ExecutorService _executorService; - - /** - * ExecutorServiceをアプリケーションコンテナまたはローカルから取得する。 - * @return ScheduledExecutorServiceインスタンス - */ - private ExecutorService executorService() { - try { - final String NAME = "java:comp/DefaultManagedExecutorService"; - final ManagedExecutorService managedExecutor = InitialContext.doLookup(NAME); - LOG.info("mayaa.ManagedExecutorService aquired"); - return managedExecutor; - } catch (NamingException e) { - LOG.info("mayaa.ExecutorService aquired"); - return Executors.newSingleThreadExecutor(); - } - } - - /** - * ManagedExecutorServiceでは isShutdown メソッドなどの Lifecycle系のメソッド呼び出しは - * サポートされていないとのこと。 - * - * @param spec シリアライズを実行する対象のSpecificationオブジェクト - * @return - */ - public boolean submit(final Specification spec) { - if (_executorService == null) { - _executorService = executorService(); - } - try { - _executorService.execute(new Runnable(){ - public void run() { - SpecificationUtil.serialize(spec); - } - }); - } catch (RejectedExecutionException e) { - // シャットダウン済みでタスクが追加できなかった時は false - return false; - } - return true; - } -} - diff --git a/src-impl/org/seasar/mayaa/impl/management/EngineRegistory.java b/src-impl/org/seasar/mayaa/impl/management/EngineRegistory.java index 4fa9ebfc6..7ba73b000 100644 --- a/src-impl/org/seasar/mayaa/impl/management/EngineRegistory.java +++ b/src-impl/org/seasar/mayaa/impl/management/EngineRegistory.java @@ -77,32 +77,9 @@ public void setDumpEnabled(boolean dumpEnabled) { } @Override - public boolean isSerializingEnabled() { + public void deprecateSpecification(String systemID) { if (engine instanceof EngineImpl) { - String serialingEnabled = ((EngineImpl) engine).getParameter(EngineImpl.PAGE_SERIALIZE); - if (serialingEnabled != null && "true".equals(serialingEnabled)) { - return true; - } - return false; - } else { - throw new UnsupportedOperationException("Serializing specs is not supported"); - } - } - - @Override - public void setSerializingEnabled(boolean serializatingEnabled) { - if (engine instanceof EngineImpl) { - String value = serializatingEnabled ? "true": "false"; - ((EngineImpl) engine).setParameter(EngineImpl.PAGE_SERIALIZE, value); - } else { - throw new UnsupportedOperationException("Serializing spec is not supported"); - } - } - - @Override - public void deprecateSpecification(String systemID, boolean withSerialized) { - if (engine instanceof EngineImpl) { - ((EngineImpl) engine).deprecateSpecification(systemID, withSerialized); + ((EngineImpl) engine).deprecateSpecification(systemID); } else { throw new UnsupportedOperationException("Deprecating specification is not supported"); } diff --git a/src-impl/org/seasar/mayaa/impl/provider/ServiceProviderImpl.java b/src-impl/org/seasar/mayaa/impl/provider/ServiceProviderImpl.java index 213127b04..8ea544ded 100644 --- a/src-impl/org/seasar/mayaa/impl/provider/ServiceProviderImpl.java +++ b/src-impl/org/seasar/mayaa/impl/provider/ServiceProviderImpl.java @@ -35,7 +35,6 @@ public class ServiceProviderImpl extends ParameterAwareImpl implements ServiceProvider, CONST_IMPL { - private static final long serialVersionUID = -8659297907641816962L; private Engine _engine; private ScriptEnvironment _scriptEnvironment; diff --git a/src-impl/org/seasar/mayaa/impl/provider/factory/org.seasar.mayaa.provider.ServiceProvider b/src-impl/org/seasar/mayaa/impl/provider/factory/org.seasar.mayaa.provider.ServiceProvider index 0f4f87063..1648af94b 100644 --- a/src-impl/org/seasar/mayaa/impl/provider/factory/org.seasar.mayaa.provider.ServiceProvider +++ b/src-impl/org/seasar/mayaa/impl/provider/factory/org.seasar.mayaa.provider.ServiceProvider @@ -19,7 +19,6 @@ - diff --git a/src-impl/org/seasar/mayaa/impl/source/ApplicationResourceSourceDescriptor.java b/src-impl/org/seasar/mayaa/impl/source/ApplicationResourceSourceDescriptor.java index 66bcfc122..c08e07673 100644 --- a/src-impl/org/seasar/mayaa/impl/source/ApplicationResourceSourceDescriptor.java +++ b/src-impl/org/seasar/mayaa/impl/source/ApplicationResourceSourceDescriptor.java @@ -28,7 +28,6 @@ import org.seasar.mayaa.FactoryFactory; import org.seasar.mayaa.cycle.scope.ApplicationScope; import org.seasar.mayaa.impl.ParameterAwareImpl; -import org.seasar.mayaa.impl.cycle.CycleUtil; import org.seasar.mayaa.impl.util.IOUtil; import org.seasar.mayaa.impl.util.StringUtil; @@ -40,7 +39,6 @@ public class ApplicationResourceSourceDescriptor extends ParameterAwareImpl implements ChangeableRootSourceDescriptor { - private static final long serialVersionUID = -2775274363708858237L; static final Log LOG = LogFactory.getLog(ApplicationResourceSourceDescriptor.class); private transient ApplicationScope _application; @@ -156,12 +154,4 @@ public String getSystemID() { return _systemID; } - // for serialize - - private void readObject(java.io.ObjectInputStream in) - throws java.io.IOException, ClassNotFoundException { - in.defaultReadObject(); - _application = CycleUtil.getServiceCycle().getApplicationScope(); - } - } diff --git a/src-impl/org/seasar/mayaa/impl/source/PageSourceFactoryImpl.java b/src-impl/org/seasar/mayaa/impl/source/PageSourceFactoryImpl.java index ef2d0de1c..dca414ddc 100644 --- a/src-impl/org/seasar/mayaa/impl/source/PageSourceFactoryImpl.java +++ b/src-impl/org/seasar/mayaa/impl/source/PageSourceFactoryImpl.java @@ -38,7 +38,6 @@ public class PageSourceFactoryImpl extends ParameterAwareImpl implements PageSourceFactory { - private static final long serialVersionUID = 3334813227060846723L; private static final Log LOG = LogFactory.getLog(PageSourceFactoryImpl.class); private Object _context; diff --git a/src-impl/org/seasar/mayaa/impl/standalone/FileSearchRenderer.java b/src-impl/org/seasar/mayaa/impl/standalone/FileSearchRenderer.java index 517401a68..b2bf039b9 100644 --- a/src-impl/org/seasar/mayaa/impl/standalone/FileSearchRenderer.java +++ b/src-impl/org/seasar/mayaa/impl/standalone/FileSearchRenderer.java @@ -148,7 +148,6 @@ public void init( // 不要な設定を強制的に止める Engine engine = ProviderUtil.getEngine(); engine.setParameter(EngineImpl.SURVIVE_LIMIT, "1"); - engine.setParameter(EngineImpl.PAGE_SERIALIZE, "false"); LOG.info("init end"); } diff --git a/src/integration-test/webapp/WEB-INF/org.seasar.mayaa.provider.ServiceProvider b/src/integration-test/webapp/WEB-INF/org.seasar.mayaa.provider.ServiceProvider index dd767e18b..3054132d7 100644 --- a/src/integration-test/webapp/WEB-INF/org.seasar.mayaa.provider.ServiceProvider +++ b/src/integration-test/webapp/WEB-INF/org.seasar.mayaa.provider.ServiceProvider @@ -19,7 +19,6 @@ - diff --git a/src/test/java/org/seasar/mayaa/functional/EngineTestBase.java b/src/test/java/org/seasar/mayaa/functional/EngineTestBase.java index ec59e35b4..4715e0352 100644 --- a/src/test/java/org/seasar/mayaa/functional/EngineTestBase.java +++ b/src/test/java/org/seasar/mayaa/functional/EngineTestBase.java @@ -269,7 +269,6 @@ public void setup() throws SecurityException, IOException { engine.setErrorHandler(new NullErrorHandler()); disableDump(); - // engine.setParameter(EngineImpl.PAGE_SERIALIZE, "true"); } /** @@ -408,7 +407,7 @@ protected void execAndVerify(final String targetContentPath, final String expect // When final MockHttpServletResponse response = exec(request, pageScopeAttribute); - ((EngineImpl) engine).deprecateSpecification(targetContentPath, true); + ((EngineImpl) engine).deprecateSpecification(targetContentPath); // Then verifyResponse(response, expectedContentPath); diff --git a/src/test/java/org/seasar/mayaa/functional/customtag/WEB-INF/org.seasar.mayaa.provider.ServiceProvider b/src/test/java/org/seasar/mayaa/functional/customtag/WEB-INF/org.seasar.mayaa.provider.ServiceProvider index a89e724a2..7c75ee09e 100644 --- a/src/test/java/org/seasar/mayaa/functional/customtag/WEB-INF/org.seasar.mayaa.provider.ServiceProvider +++ b/src/test/java/org/seasar/mayaa/functional/customtag/WEB-INF/org.seasar.mayaa.provider.ServiceProvider @@ -17,7 +17,6 @@ - diff --git a/src/test/java/org/seasar/mayaa/functional/engine/WEB-INF/org.seasar.mayaa.provider.ServiceProvider b/src/test/java/org/seasar/mayaa/functional/engine/WEB-INF/org.seasar.mayaa.provider.ServiceProvider index f03494e1b..7e0cbeaed 100644 --- a/src/test/java/org/seasar/mayaa/functional/engine/WEB-INF/org.seasar.mayaa.provider.ServiceProvider +++ b/src/test/java/org/seasar/mayaa/functional/engine/WEB-INF/org.seasar.mayaa.provider.ServiceProvider @@ -17,7 +17,6 @@ - diff --git a/src/test/java/org/seasar/mayaa/functional/layout/WEB-INF/org.seasar.mayaa.provider.ServiceProvider b/src/test/java/org/seasar/mayaa/functional/layout/WEB-INF/org.seasar.mayaa.provider.ServiceProvider index 7dcffbf3f..e0d11ab1b 100644 --- a/src/test/java/org/seasar/mayaa/functional/layout/WEB-INF/org.seasar.mayaa.provider.ServiceProvider +++ b/src/test/java/org/seasar/mayaa/functional/layout/WEB-INF/org.seasar.mayaa.provider.ServiceProvider @@ -16,7 +16,6 @@ - diff --git a/src/test/java/org/seasar/mayaa/functional/layout/extends_from_template/ExtendsFromTemplateIntegrationTest.java b/src/test/java/org/seasar/mayaa/functional/layout/extends_from_template/ExtendsFromTemplateIntegrationTest.java index 3e3c2f873..cf2fa41ea 100644 --- a/src/test/java/org/seasar/mayaa/functional/layout/extends_from_template/ExtendsFromTemplateIntegrationTest.java +++ b/src/test/java/org/seasar/mayaa/functional/layout/extends_from_template/ExtendsFromTemplateIntegrationTest.java @@ -238,7 +238,7 @@ void setAutoEscapeEnabled(boolean enabled) { // PageのsystemIDはリクエストされたパスから拡張子と ".mayaa" で構成。 // /it-case/.../target.html → pageName = /it-case/.../target → pageSystemID = /it-case/.../target.mayaa String pageSystemID = targetHtmlPath.substring(0, targetHtmlPath.lastIndexOf('.')) + ".mayaa"; - ((EngineImpl) ProviderUtil.getEngine()).deprecateSpecification(pageSystemID, false); + ((EngineImpl) ProviderUtil.getEngine()).deprecateSpecification(pageSystemID); // 2回目: Page が再生成される。この際、関連 Template も deprecate されて // 再ビルドが起きることで mayaaNode が正しく付与され、レイアウトが適用されるはず。 diff --git a/src/test/java/org/seasar/mayaa/functional/layout/extends_from_template/WEB-INF/org.seasar.mayaa.provider.ServiceProvider b/src/test/java/org/seasar/mayaa/functional/layout/extends_from_template/WEB-INF/org.seasar.mayaa.provider.ServiceProvider index d3d7a0451..91b446a0e 100644 --- a/src/test/java/org/seasar/mayaa/functional/layout/extends_from_template/WEB-INF/org.seasar.mayaa.provider.ServiceProvider +++ b/src/test/java/org/seasar/mayaa/functional/layout/extends_from_template/WEB-INF/org.seasar.mayaa.provider.ServiceProvider @@ -13,7 +13,6 @@ - diff --git a/src/test/java/org/seasar/mayaa/functional/processor/WEB-INF/org.seasar.mayaa.provider.ServiceProvider b/src/test/java/org/seasar/mayaa/functional/processor/WEB-INF/org.seasar.mayaa.provider.ServiceProvider index 3e0a9fbfe..850736ad1 100644 --- a/src/test/java/org/seasar/mayaa/functional/processor/WEB-INF/org.seasar.mayaa.provider.ServiceProvider +++ b/src/test/java/org/seasar/mayaa/functional/processor/WEB-INF/org.seasar.mayaa.provider.ServiceProvider @@ -17,7 +17,6 @@ - diff --git a/src/test/java/org/seasar/mayaa/impl/cycle/script/ScriptUtilTest.java b/src/test/java/org/seasar/mayaa/impl/cycle/script/ScriptUtilTest.java index 69813ef19..151cf9091 100644 --- a/src/test/java/org/seasar/mayaa/impl/cycle/script/ScriptUtilTest.java +++ b/src/test/java/org/seasar/mayaa/impl/cycle/script/ScriptUtilTest.java @@ -27,7 +27,6 @@ import org.mozilla.javascript.Undefined; import org.seasar.mayaa.cycle.script.CompiledScript; import org.seasar.mayaa.engine.specification.NodeTreeWalker; -import org.seasar.mayaa.engine.specification.serialize.NodeReferenceResolver; import org.seasar.mayaa.impl.cycle.CycleUtil; import org.seasar.mayaa.impl.cycle.scope.ParamScope; import org.seasar.mayaa.impl.engine.specification.QNameImpl; @@ -102,9 +101,6 @@ public void setParentNode(NodeTreeWalker parentNode) { throw new UnsupportedOperationException(); } - public NodeReferenceResolver findNodeResolver() { - throw new UnsupportedOperationException(); - } }; CycleUtil.getServiceCycle().setInjectedNode(_node); diff --git a/src/test/java/org/seasar/mayaa/impl/cycle/script/rhino/WEB-INF/org.seasar.mayaa.provider.ServiceProvider b/src/test/java/org/seasar/mayaa/impl/cycle/script/rhino/WEB-INF/org.seasar.mayaa.provider.ServiceProvider index bb5838d96..1dcb0fa37 100644 --- a/src/test/java/org/seasar/mayaa/impl/cycle/script/rhino/WEB-INF/org.seasar.mayaa.provider.ServiceProvider +++ b/src/test/java/org/seasar/mayaa/impl/cycle/script/rhino/WEB-INF/org.seasar.mayaa.provider.ServiceProvider @@ -17,7 +17,6 @@ - diff --git a/src/test/java/org/seasar/mayaa/impl/engine/EngineImplTest.java b/src/test/java/org/seasar/mayaa/impl/engine/EngineImplTest.java index 63b0133ac..87af77813 100644 --- a/src/test/java/org/seasar/mayaa/impl/engine/EngineImplTest.java +++ b/src/test/java/org/seasar/mayaa/impl/engine/EngineImplTest.java @@ -127,7 +127,7 @@ public void testDeprecatedSpecificationIsNotReturnedFromCache() { engine.createPageInstance(pageName); assertNotNull(engine.findSpecificationFromCache(systemID)); - engine.deprecateSpecification(systemID, false); + engine.deprecateSpecification(systemID); assertNull(engine.findSpecificationFromCache(systemID)); assertNotNull(engine.getPage(pageName)); diff --git a/src/test/java/org/seasar/mayaa/impl/engine/specification/SpecificationUtilTest.java b/src/test/java/org/seasar/mayaa/impl/engine/specification/SpecificationUtilTest.java index 3b1847e26..c539a202e 100644 --- a/src/test/java/org/seasar/mayaa/impl/engine/specification/SpecificationUtilTest.java +++ b/src/test/java/org/seasar/mayaa/impl/engine/specification/SpecificationUtilTest.java @@ -16,46 +16,13 @@ package org.seasar.mayaa.impl.engine.specification; import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertFalse; -import static org.junit.jupiter.api.Assertions.assertTrue; import static org.junit.jupiter.api.Assertions.fail; -import java.io.File; -import java.net.URISyntaxException; - -import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import org.seasar.mayaa.engine.Page; -import org.seasar.mayaa.engine.Template; import org.seasar.mayaa.engine.specification.QName; -import org.seasar.mayaa.engine.specification.Specification; -import org.seasar.mayaa.impl.engine.PageImpl; -import org.seasar.mayaa.impl.engine.TemplateImpl; -import org.seasar.mayaa.impl.source.SourceUtil; -import org.seasar.mayaa.test.util.ManualProviderFactory; public class SpecificationUtilTest { - private PageImpl _page; - private TemplateImpl _template; - - @BeforeEach - public void setUp() { - ManualProviderFactory.setUp(this); - - _page = new PageImpl(); - - _page.setSource(SourceUtil.getSourceDescriptor("/tests/page.mayaa")); - _page.initialize("/page"); - _page.build(); - - _template = new TemplateImpl(); - _template.setSource(SourceUtil.getSourceDescriptor("/tests/page.html")); - _template.initialize(_page, "ja", "html"); - _template.build(); - - } - /* * Test method for * 'org.seasar.mayaa.impl.engine.specification.SpecificationUtil.parseQName( @@ -100,48 +67,4 @@ public void testParseQName() { } } - @Test - public void testSerializeTemplate() throws URISyntaxException { - File cacheDir = new File(getClass().getResource("WEB-INF").toURI()); - File expectedFile = new File(cacheDir, "tests#page.html.ser"); - expectedFile.delete(); - - assertFalse(_template.isDeprecated()); - - SpecificationUtil.serialize(_template, cacheDir); - - // シリアル化したファイルが存在する。 - assertTrue(expectedFile.exists()); - - Specification actual = SpecificationUtil.deserialize(_template.getSystemID(), cacheDir); - - assertTrue(actual instanceof Template, "Instance must be of Template"); - assertEquals(_template, actual); - - assertFalse(actual.isDeprecated()); - - expectedFile.delete(); - } - - @Test - public void testSerializePage() throws URISyntaxException { - File cacheDir = new File(getClass().getResource("WEB-INF").toURI()); - File expectedFile = new File(cacheDir, "tests#page.mayaa.ser"); - assertFalse(_page.isDeprecated()); - - SpecificationUtil.serialize(_page, cacheDir); - - // シリアル化したファイルが存在する。 - assertTrue(expectedFile.exists()); - - Specification actual = SpecificationUtil.deserialize(_page.getSystemID(), cacheDir); - - assertTrue(actual instanceof Page, "Instance must be of Page"); - assertEquals(_page, actual); - - assertFalse(actual.isDeprecated()); - - expectedFile.delete(); - } - } diff --git a/src/test/java/org/seasar/mayaa/impl/engine/specification/serialize/SerializeExecutorTest.java b/src/test/java/org/seasar/mayaa/impl/engine/specification/serialize/SerializeExecutorTest.java deleted file mode 100644 index 23bc1f0bc..000000000 --- a/src/test/java/org/seasar/mayaa/impl/engine/specification/serialize/SerializeExecutorTest.java +++ /dev/null @@ -1,51 +0,0 @@ -package org.seasar.mayaa.impl.engine.specification.serialize; - -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertFalse; -import static org.junit.jupiter.api.Assertions.assertTrue; - -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; - -import org.junit.jupiter.api.BeforeEach; -import org.junit.jupiter.api.Test; -import org.seasar.mayaa.engine.Page; -import org.seasar.mayaa.engine.specification.Specification; -import org.seasar.mayaa.impl.engine.PageImpl; -import org.seasar.mayaa.impl.engine.specification.SpecificationUtil; -import org.seasar.mayaa.impl.source.SourceUtil; -import org.seasar.mayaa.test.util.ManualProviderFactory; - -public class SerializeExecutorTest { - - @BeforeEach - public void setUp() { - ManualProviderFactory.setUp(this); - } - - @Test - public void testSerializeReserve() throws InterruptedException, IOException { - Path tmpDir = Files.createTempDirectory("mayaa-ut"); - ManualProviderFactory.SERVLET_CONTEXT.setAttribute("javax.servlet.context.tempdir", tmpDir.toFile()); - SerializeExecutor testee = new SerializeExecutor(); - - Page spec = new PageImpl(); - - spec.setSource(SourceUtil.getSourceDescriptor("/page.mayaa")); - spec.initialize("/page"); - spec.build(); - - testee.submit(spec); - - Thread.sleep(500); - Specification actual = SpecificationUtil.deserialize(spec.getSystemID()); - assertTrue(actual instanceof Page, "Instance must be of Page"); - assertEquals(spec, actual); - - assertFalse(actual.isDeprecated()); - - tmpDir.toFile().delete(); - } - -} diff --git a/test-war/src/main/webapp/WEB-INF/org.seasar.mayaa.provider.ServiceProvider b/test-war/src/main/webapp/WEB-INF/org.seasar.mayaa.provider.ServiceProvider index 7fa5920c7..2105b49ed 100644 --- a/test-war/src/main/webapp/WEB-INF/org.seasar.mayaa.provider.ServiceProvider +++ b/test-war/src/main/webapp/WEB-INF/org.seasar.mayaa.provider.ServiceProvider @@ -19,7 +19,6 @@ -