001 /*
002 * Copyright (c) 2009 The openGion Project.
003 *
004 * Licensed under the Apache License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 * http://www.apache.org/licenses/LICENSE-2.0
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
013 * either express or implied. See the License for the specific language
014 * governing permissions and limitations under the License.
015 */
016 package org.opengion.hayabusa.taglib;
017
018 import org.opengion.fukurou.db.ConnectionFactory;
019 import org.opengion.fukurou.util.StringUtil;
020 import org.opengion.hayabusa.common.HybsSystem;
021 import org.opengion.hayabusa.common.HybsSystemException;
022 import org.opengion.hayabusa.io.ChartDataset;
023 import org.opengion.hayabusa.db.DBTableModel;
024
025 import java.sql.SQLException;
026 import java.sql.Connection;
027 import java.io.ObjectOutputStream;
028 import java.io.ObjectInputStream;
029 import java.io.IOException;
030
031 /**
032 * BODYéƒ¨ã«æŒ?®šã?SQLã®æ¤œç´¢çµæžœã‚’グラãƒ?å†??棒ã?ç·?ã§è¡¨ç¤ºã™ã‚‹ã‚¿ã‚°ã§ã™ã?
033 *
034 * グラフ化ã«ã¯ã€JFreeChart (http://www.jfree.org/jfreechart/) を使用ã—ã¦ã?¾ã™ã?
035 * chartType 属æ?ã«ã¯ã€ChartFactoryクラスã§å®šç¾©ã•れãŸå¤‰æ›è¡¨ã«åŸºã¥ãã?ãƒãƒ£ãƒ¼ãƒˆã?
036 * 種類をæŒ?®šã—ã¾ã™ã?ã“ã?ã‚ーã‹ã‚‰ã€ãƒ¬ãƒ³ãƒ?ƒ©ãƒ¼ã‚?ƒ‡ãƒ¼ã‚¿ã‚»ãƒ?ƒˆã‚¯ãƒ©ã‚¹ã‚’求ã‚ã¾ã™ã?
037 * ãれãžã‚Œã®ã‚¯ãƒ©ã‚¹æ¯Žã«ç´°ã‹ã„è¨å®šå?ãŒã‚りã¾ã™ãŒã€å?期レベルã¨ã—ã¾ã—ã¦ã¯ã€ä¸»è¦ãƒãƒ£ãƒ¼ãƒˆã?
038 * 主è¦å±žæ?ã®ã¿ã‚µãƒã?トã—ã¾ã™ã?ã¾ãŸã?æŒ?®šã? chartType ã§ã¯ä½¿ç”¨ã—ãªã?±žæ?を指定ã—ãŸå?åˆã§ã‚?
039 * å˜ã«ç„¡è¦–ã™ã‚‹ã ã‘ã§ã€è¦å‘Šç‰ã?ã‚りã¾ã›ã‚“ã®ã§ã€ã”注æ„ãã?•ã??
040 *
041 * å?±žæ?ã¯ã€{@XXXX} 変数ãŒä½¿ç”¨ã§ãã¾ã™ã?
042 * ã“れã¯ã€ServletRequest ã‹ã‚‰ã€XXXX ã‚’ã‚ーã«å€¤ã‚’å–りå?ã?ã“ã?変数ã«å‰²ã‚Šå½“ã¦ã¾ã™ã?
043 * ã¤ã¾ã‚Šã?ã“ã?XXXXã‚’ã‚ーã«ãƒªã‚¯ã‚¨ã‚¹ãƒˆã™ã‚Œã?ã€ã“ã®å¤‰æ•°ã«å€¤ã‚’ã‚»ãƒ?ƒˆã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã?
044 *
045 * useTableData="false"(åˆæœŸå€¤)ã®å ´åˆã?ã€BODYéƒ¨ã«æ›¸ã‹ã‚Œã?SQL æ–?‚’実行ã—ã¦ãƒ??ã‚¿ã‚’å–å¾—ã—ã¾ã™ã?
046 * useTableData="true" ã«ã™ã‚‹ã¨ã€ãã®å‰ã? query ã‚¿ã‚°ç‰ã§ä½œæ?ã—㟠DBTableModel を利用ã—ã¦
047 * グラフ化ã—ã¾ã™ã?ãã?å ´åˆã?ã€BODY部㮠SQL æ–??ã€ç„¡è¦–ã•れã¾ã™ã?
048 * 利用ã™ã‚‹ DBTableModel ã¯ã€tableId 㨠scope 属æ?ã‹ã‚‰å–å¾—ã—ã¾ã™ã?
049 *
050 * @og.formSample
051 * â—å½¢å¼ï¼?lt;og:chartDataset renderer="…" … />
052 * â—body?šã‚ã‚?EVAL_BODY_BUFFERED:BODYを評価ã—ã?{@XXXX} ã‚’è§£æžã—ã¾ã?
053 *
054 * â—Tag定義??
055 * <og:chartDataset
056 * chartType â—‹ã?TAG】ChartDataset ã®ãƒ??タタイプをæŒ?®šã—ã¾ã?å¿??)ã€?
057 * dbid ã€TAGã€?通常ã¯ä½¿ã?¾ã›ã‚“)Datasetオブジェクトを作æ?ã™ã‚‹æ™‚ã?DB接続IDを指定ã—ã¾ã?
058 * useTableData ã€TAG】グラフ化ã™ã‚‹ãƒ??ã‚¿ã‚?DBTableModel ã‹ã‚‰ä½œæ?ã™ã‚‹ã‹ã©ã?‹(åˆæœŸå€¤:false)
059 * tableId ã€TAGã€?通常使ã?¾ã›ã‚“)sessionã‹ã‚‰æ‰?¾—ã™ã‚?DBTableModelオブジェクトã? ID (åˆæœŸå€¤:HybsSystem#TBL_MDL_KEY[=h_tblmdl])
060 * scope ã€TAG】ã‚ャãƒ?‚·ãƒ¥ã™ã‚‹å ´åˆã?スコープ[request/page/session/applicaton]を指定ã—ã¾ã?åˆæœŸå€¤:session)
061 * baseLegend ã€TAG】シリーズå˜ä½ã?凡ä¾?ã®è¡¨ç¤ºå¯å¦ã‚’è¨å®šã—ã¾ã?
062 * valueLabel ã€TAG】縦軸ã®è¡¨ç¤ºå称を指定ã—ã¾ã?
063 * markValues ã€TAG】ã?ーカーラインã®è¨å®šå?をカンマ区åˆ?‚Šå½¢å¼ã§è¤?•°æŒ?®šã—ã¾ã?
064 * markColors ã€TAG】ã?ーカーラインã®è‰²ã‚’カンマ区åˆ?‚Šå½¢å¼ã§è¤?•°æŒ?®šã—ã¾ã?
065 * markOverColors ã€TAG】ã?ーカーラインã®è¶?Žæ™‚ã?Shape色をカンマ区åˆ?‚Šå½¢å¼ã§è¤?•°æŒ?®šã—ã¾ã?
066 * dynamicOCNo ã€TAG】動çš?ªãƒžã?カーラインã®åŸºæº–シリーズ番å·ã‚’è¨å®šã—ã¾ã?åˆæœŸå€¤:null)
067 * useMarkAnchor ã€TAG】ã?ーカーラインæç”»æ™‚ã«ã€ãã®è¨å®šå?を表示ã—ã¾ã?
068 * lowerBound ã€TAG】ãƒãƒ£ãƒ¼ãƒˆã?ç¸¦è»¸ã®æœ?°å?ã‚’ã‚»ãƒ?ƒˆã—ã¾ã?åˆæœŸå€¤:自動計ç®?
069 * upperBound ã€TAG】ãƒãƒ£ãƒ¼ãƒˆã?ç¸¦è»¸ã®æœ?¤§å€¤ã‚’ã‚»ãƒ?ƒˆã—ã¾ã?åˆæœŸå€¤:自動計ç®?
070 * tickSize ã€TAG】ãƒãƒ£ãƒ¼ãƒˆã?縦軸ã®ç›®ç››ã?å¹?‚’ã‚»ãƒ?ƒˆã—ã¾ã?åˆæœŸå€¤:自動計ç®?
071 * useGradient ã€TAG】ãƒãƒ¼ãƒãƒ£ãƒ¼ãƒˆã?グラãƒ??ション処ç?‚’行ã†ã‹ã©ã?‹[true/false]ã‚’ã‚»ãƒ?ƒˆã—ã¾ã?åˆæœŸå€¤:false)
072 * shapesVisible ã€TAG】ラインãƒãƒ£ãƒ¼ãƒˆã?ãƒã‚¤ãƒ³ãƒˆã‚’四角表示ã™ã‚‹ã‹ã©ã?‹ã‚’指定ã—ã¾ã?åˆæœŸå€¤:true)
073 * shapeColors ã€TAG】データ毎ã«Shapeã‚’å?り替ãˆã‚‹æ™‚ã?色ã®ç¹°è¿”ã—パターンを文å—å?é…å?ã§æŒ?®šã—ã¾ã?
074 * shapeScale ã€TAG】shapeã®å¤§ãã•ã‚’å?çŽ?Œ‡å®šã§å¤‰æ›´ã—ã¾ã?åˆæœŸå€¤:null)
075 * useDottedLine ã€TAG】ラインãƒãƒ£ãƒ¼ãƒˆã?線をドットラインã«ã™ã‚‹ã‹ã©ã?‹[true/false]を指定ã—ã¾ã?åˆæœŸå€¤:false ç·šå?)
076 * seriesColors ã€TAG】è¤?•°ãƒãƒ£ãƒ¼ãƒˆæç”»æ™‚ã?ãƒãƒ£ãƒ¼ãƒˆè‰²ã®ç¹°è¿”ã—パターンをCVSå½¢å¼ã§è¤?•°æŒ?®šã—ã¾ã?
077 * valueLabelsVisible ã€TAG】Value(縦軸)ã®ãƒ©ãƒ™ãƒ«ã‚’表示ã™ã‚‹ã‹ã©ã?‹ã‚’指定ã—ã¾ã?åˆæœŸå€¤:true[表示ã™ã‚‹])
078 * valueMarksVisible ã€TAG】Value(縦軸)ã®ãƒžã?カーを表示ã™ã‚‹ã‹ã©ã?‹ã‚’指定ã—ã¾ã?åˆæœŸå€¤:true[表示ã™ã‚‹])
079 * itemLabelVisible ã€TAG】データã®å€¤(itemText)を表示ã™ã‚‹ã‹ã©ã?‹[true/false/last]を指定ã—ã¾ã?åˆæœŸå€¤:false[表示ã—ãªã„])
080 * useItemLabelSep ã€TAG】データã®å€¤(itemText)ã®è¡¨ç¤ºã«ã€æ¡åŒºåˆ?‚Šæ–?—を使用ã™ã‚‹ã‹ã©ã?‹[true/false]を指定ã—ã¾ã?åˆæœŸå€¤:true[使用ã™ã‚‹])
081 * valueInset ã€TAG】縦軸ã®è¡¨ç¤ºé ˜åŸŸINSET値(double)を指定ã—ã¾ã?
082 * barMaxWidth ã€TAG】BOXãƒãƒ£ãƒ¼ãƒˆã?ãƒã?å¹??æœ?¤§å€¤(0.0??.0)を指定ã—ã¾ã?
083 * barItemMargin ã€TAG】BOXãƒãƒ£ãƒ¼ãƒˆã?ãƒã?アイãƒ?ƒ ã®ãƒžã?ジン(0.0??.0)を指定ã—ã¾ã?
084 * barWidth ã€TAG】BOXãƒãƒ£ãƒ¼ãƒˆã?ãƒã?å¹?double)を指定ã—ã¾ã?
085 * visibleLimit ã€TAG】表示下é™å€¤(ã“れ以下ã?ãƒ??ã‚¿ã¯æœªè¡¨ç¤º)ã®å€¤(double)を指定ã—ã¾ã?
086 * domainMargin ã€TAG】グラフã?書ãå?ã—ä½ç½®ã®èª¿æ•´æ¯”率を指定ã—ã¾ã?
087 * timeFormatType ã€TAG】時刻を表ã™å?åˆã?表ç¾ã®ä»•æ–¹[E1/E2/E3/H1/H2/H3]を指定ã—ã¾ã?åˆæœŸå€¤:null)
088 * useVerticalLabels ã€TAG】ラベルã®è¡¨ç¤ºå‘ãを縦ã«ã™ã‚‹ã‹ã©ã?‹[false/true]を指定ã—ã¾ã?åˆæœŸå€¤:false)
089 * debug ã€TAG】デãƒãƒƒã‚°æƒ??ã‚’å?力ã™ã‚‹ã‹ã©ã?‹[true/false]を指定ã—ã¾ã?åˆæœŸå€¤:false)
090 * > ... Body ...
091 * </og:chartDataset>
092 *
093 * â—使用ä¾?
094 * <og:chartCreate
095 * command = "{@command}"
096 * title = "{@title}"
097 * domainLabel = "{@domainLabel}"
098 * width = "{@width}"
099 * height = "{@height}"
100 * rectangleEdge = "{@rectangleEdge}"
101 * plotOrientation = "{@plotOrientation}"
102 * chartBackColor = "{@chartBackColor}"
103 * plotBackColor = "{@plotBackColor}"
104 * domainMarker = "{@domainMarker}"
105 * useMarkerLabel = "{@useMarkerLabel}" >
106 * <og:chartDataset
107 * chartType = "[Bar|LineAndShape|?¥?¥?¥]" ãƒãƒ£ãƒ¼ãƒˆã?種é¡?
108 * baseLegend = "[true|false]" シリーズå˜ä½ã?凡ä¾?ã®è¡¨ç¤ºå¯å¦
109 * valueLabel = "縦軸" 縦軸ã®ãƒ©ãƒ™ãƒ«
110 * lowerBound = "0" 下é™å€¤
111 * upperBound = "5000" 上é™å€¤
112 * tickSize = "1000" 縦軸ã®ç›®ç››ã?å¹?
113 * markValues = "2500,2800" 縦軸è¨å®šå?(横æ£?
114 * markColors = "RED,GREEN" 縦軸è¨å®šãƒ©ã‚¤ãƒ³è‰²
115 * markOverColors = "BLUE,YELLOW,RED" マã?カーラインã®è¶?Žæ™‚ã?Shape色
116 * dynamicOCNo = "2" å‹•çš„ãªãƒžã?カーラインã®åŸºæº–シリーズ番å·
117 * useMarkAnchor = "[true|false]" 縦軸è¨å®šå?(横æ£?を表示ã™ã‚‹ã‹ã©ã?‹
118 * useGradient = "[false|true]" ãƒã?ãƒãƒ£ãƒ¼ãƒˆã?グラãƒ??ション処ç?
119 * shapesVisible = "[true|false]" ラインã®å››è§’表示
120 * shapeColors = "RED,GREEN,BLUE" ãƒ??タ毎ã?Shapeã®è‰²
121 * shapeScale = "0.8" shapeã®å¤§ãã•ã®å€çއ(double)
122 * useDottedLine = "[false|true]" 点線使用有無
123 * seriesColors = "RED,GREEN,BLUE" シリーズã®è‰²ã‚µã‚¤ã‚¯ãƒ«æŒ?®?
124 * valueLabelsVisible = "[true|false]" 縦軸ã®ãƒ©ãƒ™ãƒ«ã®è¡¨ç¤ºæœ‰ç„¡
125 * valueMarksVisible = "[true|false]" 縦軸ã®ãƒžã?カーã®è¡¨ç¤ºæœ‰ç„¡
126 * itemLabelVisible = "[false|true|last]" ãƒ??ã‚¿ã®å€¤ã®è¡¨ç¤ºæœ‰ç„¡
127 * useItemLabelSep = "[true|false]" ãƒ??ã‚¿ã®æ¡åŒºåˆ?‚Šæ–?—ã?使用有無
128 * valueInset = "15" 縦軸ã®è¡¨ç¤ºé ˜åŸŸINSET値
129 * barMaxWidth = "[0.0??.0]" ãƒã?å¹??æœ?¤§å€¤(0.0??.0)
130 * barItemMargin = "[0.0??.0]" ãƒã?アイãƒ?ƒ ã®ãƒžã?ジン(0.0??.0)
131 * barWidth = "10" ãƒã?å¹??実å¹?double)
132 * visibleLimit = "0" 表示下é™å€¤(ã“れ以下ã?ãƒ??ã‚¿ã¯æœªè¡¨ç¤º))
133 * domainMargin = "1.0" グラフã?書ãå?ã—ä½ç½®ã®èª¿æ•´æ¯”率
134 * useTableData = "[false|true]" SQLã§ã¯ãªãã?DBTableModelã‹ã‚‰ã‚°ãƒ©ãƒ•を作æ?ã™ã‚‹ã‹ã©ã?‹
135 * timeFormatType = "[1|2]" 時間軸ã®è¨å®?00:00表示)
136 * useVerticalLabels = "[false|true]" 時間軸ã®è¨å®?ラベルã®ç¸¦æ›¸ã?
137 * tableId = "AAA" useTableData="true"ã®å ´åˆã?DBTableModelã®å–å¾—å?ID
138 * scope = "[session|request]" useTableData="true"ã®å ´åˆã?DBTableModelã®å–å¾—å?scope
139 * >
140 * {@SQL}
141 * </og:chartDataset>
142 * </og:chartCreate>
143 *
144 * è¤?•°ã®ã‚°ãƒ©ãƒ•ã‚’é‡ã?åˆã‚ã›ã‚‹å ´åˆã?ã€chartDataset ã‚¿ã‚°ã‚?chartCreate ã®BODY部ã«
145 * è¤?•°è¨˜è¿°ã—ã¾ã™ã?
146 * <og:chartCreate
147 * title = "{@title}"
148 * domainLabel = "{@domainLabel}"
149 * width = "{@width}"
150 * height = "{@height}" >
151 * rectangleEdge = "{@rectangleEdge}" >
152 * plotOrientation = "{@plotOrientation}" >
153 * <og:chartDataset
154 * chartType = "{@chartType1}"
155 * valueLabel = "{@valueLabel1}"
156 * lowerBound = "{@lowerBound1}"
157 * upperBound = "{@upperBound1}"
158 * markValues = "{@markValues1}"
159 * markColors = "{@markColors1}"
160 * >
161 * {@SQL1}
162 * </og:chartDataset>
163 * <og:chartDataset
164 * chartType = "{@chartType2}"
165 * valueLabel = "{@valueLabel2}"
166 * lowerBound = "{@lowerBound2}"
167 * upperBound = "{@upperBound2}"
168 * markValues = "{@markValues2}"
169 * markColors = "{@markColors2}"
170 * >
171 * {@SQL2}
172 * </og:chartDataset>
173 * </og:chartCreate>
174 *
175 * chartType属æ? ã¯ã€ãƒãƒ£ãƒ¼ãƒˆã?種類をæŒ?®šã™ã‚‹ã?固有IDã§ã™ã?
176 * [chartType属æ?]
177 * Area , Bar , Bar3D , BoxAndWhisker , CategoryStep ,
178 * Gantt , GroupedStackedBar , IntervalBar , LayeredBar , Level ,
179 * LineAndShape , Line3D , MinMax , StackedArea , StackedBar ,
180 * StackedBar3D , WaterfallBar , CyclicXYItem , HighLow , StackedXYArea ,
181 * StackedXYArea2 , StandardXYItem , XYBubble , XYDifference , XYDot ,
182 * XYError , XYLine3D , XYLineAndShape , XYStepArea , XYStep ,
183 * Meter , MultiplePie , Pie , Pie3D , Ring ,
184 * SpiderWeb , Thermometer
185 *
186 * markColors属æ? ã¯ã€ã?ーカーラインã®è‰²ã‚’指定ã—ã¾ã?
187 * java.awt.Color クラスã®static フィールドåã®æ–?—å?ã§æŒ?®šã—ã¾ã™ã?
188 * [renderer属æ?]
189 * BLACK , BLUE , CYAN , DARK_GRAY , GRAY , GREEN , LIGHT_GRAY ,
190 * MAGENTA , ORANGE , PINK , RED , WHITE , YELLOW
191 * #XXXXXXå½¢å¼ã?16bitRGB表è¨?
192 *
193 * @og.group ç”»é¢è¡¨ç¤º
194 *
195 * @version 0.9.0 2007/06/19
196 * @author Nakamura
197 * @since JDK1.4,
198 */
199 public class ChartDatasetTag extends CommonTagSupport {
200 //* ã“ã?プãƒã‚°ãƒ©ãƒ??VERSIONæ–?—å?ã‚’è¨å®šã—ã¾ã™ã? {@value} */
201 private static final String VERSION = "5.5.2.1 (2012/05/07)" ;
202
203 private static final long serialVersionUID = 552120120507L ;
204
205 private transient ChartDataset chDataset = new ChartDataset();
206
207 // 4.0.0.0 (2007/10/10) dbid ã®åˆæœŸå€¤ã‚’ã?"DEFAULT" ã‹ã‚‰ null ã«å¤‰æ›´
208 // private String dbid = "DEFAULT";
209 private String dbid = null;
210 private String sql = null;
211
212 // 5.3.0.0 (2010/12/01) DBTableModel を利用ã—ã¦ã€ã‚°ãƒ©ãƒ•を作æ?ã—ã¾ã™ã?
213 private boolean useTableData = false; // äº’æ›æ€§ã®é–¢ä¿‚ã‹ã‚?
214 private String tableId = HybsSystem.TBL_MDL_KEY;
215
216 /**
217 * Taglibã®é–‹å§‹ã‚¿ã‚°ãŒè¦‹ã¤ã‹ã£ãŸã¨ãã«å‡¦ç?™ã‚?doStartTag() ã‚?オーãƒã?ライドã—ã¾ã™ã?
218 *
219 * @og.rev 5.3.0.0 (2010/12/01) useTableDataã«ã‚ˆã‚‹ãƒ??ã‚¿å–得方法ã?機è?追åŠ?
220 *
221 * @return 後続å?ç??æŒ?¤º( EVAL_BODY_BUFFERED )
222 */
223 @Override
224 public int doStartTag() {
225 // 5.3.0.0 (2010/12/01) useTableDataã«ã‚ˆã‚‹ãƒ??ã‚¿å–得方法ã?機è?追åŠ?
226 // return( EVAL_BODY_BUFFERED ); // Body を評価ã™ã‚‹ã€? extends BodyTagSupport æ™?
227
228 if( useTableData ) { // DBTableModel ã‹ã‚‰å–å¾—ã™ã‚‹ã?
229 DBTableModel table = (DBTableModel)getObject( HybsSystem.TBL_MDL_KEY );
230 chDataset.makeDataset( table );
231
232 return( SKIP_BODY ); // Body を評価ã—ãªã?
233 }
234 else {
235 return( EVAL_BODY_BUFFERED ); // Body を評価ã™ã‚‹ã€? extends BodyTagSupport æ™?
236 }
237 }
238
239 /**
240 * Taglibã®ã‚¿ã‚°æœ¬ä½“を処ç?™ã‚?doAfterBody() ã‚?オーãƒã?ライドã—ã¾ã™ã?
241 *
242 * @og.rev 5.3.0.0 (2010/12/01) ãƒ??タベã?ス検索処ç?‚’ã€doEndTag() メソãƒ?ƒ‰ã‹ã‚‰ç§»å‹?
243 *
244 * @return 後続å?ç??æŒ?¤º(SKIP_BODY)
245 */
246 @Override
247 public int doAfterBody() {
248 sql = getBodyString();
249 if( sql != null && sql.length() > 0 ) {
250 sql = sql.trim();
251 }
252
253 // 5.3.0.0 (2010/12/01) doEndTag() メソãƒ?ƒ‰ã‹ã‚‰ç§»å‹?
254 boolean errFlag = true;
255 // Connection conn = ConnectionFactory.connection( dbid,getApplicationInfo() );
256 Connection conn = null;
257 try {
258 conn = ConnectionFactory.connection( dbid,getApplicationInfo() );
259 chDataset.makeDataset( conn,sql );
260 errFlag = false; // エラーã§ã¯ãªã?
261 }
262 catch( SQLException ex ) {
263 String errMsg = "ãƒ??ã‚¿ã‚»ãƒ?ƒˆä½œæ?時ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€? + HybsSystem.CR
264 + " SQL=" + sql + HybsSystem.CR
265 + ex.getMessage(); // 5.1.8.0 (2010/07/01) errMsg ä¿®æ£
266 throw new HybsSystemException( errMsg,ex );
267 }
268 finally {
269 if( errFlag ) { ConnectionFactory.remove( conn,dbid ); } // 削除
270 else { ConnectionFactory.close( conn,dbid ); } // è¿”å´
271 }
272
273 return(SKIP_BODY);
274 }
275
276 /**
277 * Taglibã®çµ‚äº?‚¿ã‚°ãŒè¦‹ã¤ã‹ã£ãŸã¨ãã«å‡¦ç?™ã‚?doEndTag() ã‚?オーãƒã?ライドã—ã¾ã™ã?
278 *
279 * @og.rev 4.0.0.1 (2007/12/03) try ??catch ??finally ã‚’ãã¡ã‚“ã¨è¡Œã†ã€?
280 * @og.rev 5.2.1.0 (2010/10/01) debugPrint() メソãƒ?ƒ‰è¿½åŠ?
281 * @og.rev 5.3.0.0 (2010/12/01) ãƒ??タベã?ス検索処ç?‚’ã€doAfterBody() ã¸ç§»å‹?
282 *
283 * @return 後続å?ç??æŒ?¤º
284 */
285 @Override
286 public int doEndTag() {
287 debugPrint(); // 5.2.1.0 (2010/10/01) debugPrint() メソãƒ?ƒ‰è¿½åŠ?
288
289 // ç?±ˆä¸Šã?ChartCreateTag ã®å˜åœ¨ãƒã‚§ãƒ?‚¯ãŒã“ã“ã§è¡Œã‚れるãŒã?DB検索処ç??ã€å?ã«è¡Œã£ã¦ã?‚‹ã€?
290 // ã¤ã¾ã‚Šã?ç„¡é§?ªQUERYãŒå®Ÿè¡Œã•れるå¯èƒ½æ€§ãŒå?ã¦ããŸãŒã?開発段階ã?ã¿ã®è©±ã§ã‚ã‚‹ã®ã§ã“ã“ã«æ®‹ã—ã¦ãŠãã€?
291 ChartCreateTag chartTag = (ChartCreateTag)findAncestorWithClass( this,ChartCreateTag.class );
292
293 if( chartTag == null ) {
294 String errMsg = "chartCreate ã‚¿ã‚°ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸã€?;
295 throw new HybsSystemException( errMsg );
296 }
297
298 // 5.3.0.0 (2010/12/01) doAfterBody() ã¸ç§»å‹?
299 // boolean errFlag = true;
300 //// Connection conn = ConnectionFactory.connection( dbid,getApplicationInfo() );
301 // Connection conn = null;
302 // try {
303 // conn = ConnectionFactory.connection( dbid,getApplicationInfo() );
304 // chDataset.makeDataset( conn,sql );
305 // errFlag = false; // エラーã§ã¯ãªã?
306 // }
307 // catch( SQLException ex ) {
308 // String errMsg = "ãƒ??ã‚¿ã‚»ãƒ?ƒˆä½œæ?時ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€? + HybsSystem.CR
309 // + " SQL=" + sql + HybsSystem.CR
310 // + ex.getMessage(); // 5.1.8.0 (2010/07/01) errMsg ä¿®æ£
311 // throw new HybsSystemException( errMsg,ex );
312 // }
313 // finally {
314 // if( errFlag ) { ConnectionFactory.remove( conn,dbid ); } // 削除
315 // else { ConnectionFactory.close( conn,dbid ); } // è¿”å´
316 // }
317
318 chartTag.addChartDataset( chDataset );
319
320 return EVAL_PAGE;
321 }
322
323 /**
324 * タグリブオブジェクトをリリースã—ã¾ã™ã?
325 * ã‚ャãƒ?‚·ãƒ¥ã•れã¦å†åˆ©ç”¨ã•れるã?ã§ã€ãƒ•ィールドã?åˆæœŸè¨å®šã‚’行ã„ã¾ã™ã?
326 *
327 * @og.rev 4.0.0.0 (2007/10/10) dbid ã®åˆæœŸå€¤ã‚’ã?"DEFAULT" ã‹ã‚‰ null ã«å¤‰æ›´
328 * @og.rev 5.3.0.0 (2010/12/01) useTableData,tableId 属æ?追åŠ?
329 */
330 @Override
331 protected void release2() {
332 super.release2();
333 chDataset = new ChartDataset();
334 // dbid = "DEFAULT";
335 dbid = null;
336 sql = null;
337 useTableData = false; // 5.3.0.0 (2010/12/01)
338 tableId = HybsSystem.TBL_MDL_KEY; // 5.3.0.0 (2010/12/01)
339 }
340
341 /**
342 * ã€TAGã€?通常ã¯ä½¿ã?¾ã›ã‚“)Datasetオブジェクトを作æ?ã™ã‚‹æ™‚ã?DB接続IDを指定ã—ã¾ã™ã?
343 *
344 * @og.tag
345 * Datasetオブジェクトを作æ?ã™ã‚‹æ™‚ã?DB接続IDを指定ã—ã¾ã™ã?
346 * ã“れã¯ã€ã‚·ã‚¹ãƒ?ƒ リソースã§ã€DEFAULT_DB_URL ç‰ã§æŒ?®šã—ã¦ã?‚‹ ãƒ??タベã?ス接続å?
347 * æƒ??ã«ã€XX_DB_URL を定義ã™ã‚‹ã“ã¨ã§ã€?dbid="XX" ã¨ã™ã‚‹ã¨ã€ã“㮠接続å?を使用ã—ã¦
348 * ãƒ??タベã?スã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãã¾ã™ã?
349 *
350 * @param id ãƒ??タベã?ス接続ID
351 */
352 public void setDbid( final String id ) {
353 dbid = StringUtil.nval( getRequestParameter( id ),dbid );
354 }
355
356 /**
357 * ã€TAG】ChartDataset ã®ãƒ??タタイプをæŒ?®šã—ã¾ã™ã?
358 *
359 * @og.tag
360 * ãƒãƒ£ãƒ¼ãƒˆã‚¿ã‚¤ãƒ?ã¯ã€å¤–部ã‹ã‚‰ãƒãƒ£ãƒ¼ãƒˆã‚’æŒ?®šã™ã‚‹ã?ã«ä¾¿åˆ©ãªã‚ˆã†ã«ã€ã‚ーåŒ?
361 * ã•れã¦ã?¾ã™ã?ã“ã?ã‚ーã«åŸºã¥ã?¦ã€ChartFactory クラスã®
362 * ãƒãƒ£ãƒ¼ãƒˆã‚¿ã‚¤ãƒ—変æ›è¡¨ã«åŸºã¥ã?¦ã€ãƒ¬ãƒ³ãƒ?ƒ©ãƒ¼ã‚??ãƒ??ã‚¿ã‚»ãƒ?ƒˆã‚’作æ?ã—ã¾ã™ã?
363 * 基本çš?«ã¯ã€ãƒãƒ£ãƒ¼ãƒˆã‚¿ã‚¤ãƒ?ã¯ã€ã“ã®ã€ãƒ¬ãƒ³ãƒ?ƒ©ãƒ¼åç§°ã‹ã‚‰æ±ºå®šã—ã¦ã?¾ã™ã?
364 * <pre>
365 * Area , Bar , Bar3D , BoxAndWhisker , CategoryStep ,
366 * Gantt , GroupedStackedBar , IntervalBar , LayeredBar , Level ,
367 * LineAndShape , Line3D , MinMax , StackedArea , StackedBar ,
368 * StackedBar3D , WaterfallBar , CyclicXYItem , HighLow , StackedXYArea ,
369 * StackedXYArea2 , StandardXYItem , XYBubble , XYDifference , XYDot ,
370 * XYError , XYLine3D , XYLineAndShape , XYStepArea , XYStep ,
371 * Meter , MultiplePie , Pie , Pie3D , Ring ,
372 * SpiderWeb , Thermometer
373 * </pre>
374 *
375 * @param chartType ãƒãƒ£ãƒ¼ãƒˆã‚¿ã‚¤ãƒ?
376 * @see org.jfree.chart.renderer.category.CategoryItemRenderer
377 * @see org.jfree.chart.renderer.xy.XYItemRenderer
378 */
379 public void setChartType( final String chartType ) {
380 chDataset.setChartType( getRequestParameter( chartType ) );
381 }
382
383 /**
384 * ã€TAG】グラフ化ã™ã‚‹ãƒ??ã‚¿ã‚?DBTableModel ã‹ã‚‰ä½œæ?ã™ã‚‹ã‹ã©ã?‹(åˆæœŸå€¤:false)ã€?
385 *
386 * @og.tag
387 * useTableData="false"(åˆæœŸå€¤)ã®å ´åˆã?ã€BODYéƒ¨ã«æ›¸ã‹ã‚Œã?SQL æ–?‚’実行ã—ã¦ãƒ??ã‚¿ã‚’å–å¾—ã—ã¾ã™ã?
388 * useTableData="true" ã«ã™ã‚‹ã¨ã€ãã®å‰ã? query ã‚¿ã‚°ç‰ã§ä½œæ?ã—㟠DBTableModel を利用ã—ã¦
389 * グラフ化ã—ã¾ã™ã?ãã?å ´åˆã?ã€BODY部㮠SQL æ–??ã€ç„¡è¦–ã•れã¾ã™ã?
390 * 利用ã™ã‚‹ DBTableModel ã¯ã€tableId 㨠scope 属æ?ã‹ã‚‰å–å¾—ã—ã¾ã™ã?
391 *
392 * @og.rev 5.3.0.0 (2010/12/01) æ–°è¦è¿½åŠ?
393 *
394 * @param flag ãƒ??ã‚¿ã‚’DBTableModelを利用ã™ã‚‹å ´åˆã?true
395 */
396 public void setUseTableData( final String flag ) {
397 useTableData = StringUtil.nval( getRequestParameter( flag ),useTableData );
398 }
399
400 /**
401 * ã€TAGã€?通常ã¯ä½¿ã?¾ã›ã‚“)çµæžœã®DBTableModelã‚’ã?sessionã«ç™»éŒ²ã™ã‚‹ã¨ãã?ã‚ーを指定ã—ã¾ã?
402 * (åˆæœŸå€¤:HybsSystem#TBL_MDL_KEY[={@og.value org.opengion.hayabusa.common.HybsSystem#TBL_MDL_KEY}])ã€?
403 *
404 * @og.tag
405 * æ¤œç´¢çµæžœã‚ˆã‚Šã€DBTableModelオブジェクトを作æ?ã—ã¾ã™ã?ã“れをã?下æµã?viewã‚¿ã‚°ç‰ã«
406 * 渡ã™å?åˆã«ã€??常ã¯ã€session を利用ã—ã¾ã™ã?ãã?å ´åˆã?登録ã‚ーã§ã™ã?
407 * query ã‚¿ã‚°ã‚’åŒæ™‚ã«å®Ÿè¡Œã—ã¦ã€çµæžœã‚’求ã‚ã‚‹å?åˆã?åŒä¸?ƒ¡ãƒ¢ãƒªã«é…ç½®ã•れる為ã€?
408 * ã“ã? tableId 属æ?を利用ã—ã¦ã€ãƒ¡ãƒ¢ãƒªç©ºé–“ã‚’åˆ?‘ã¾ã™ã?
409 * (åˆæœŸå€¤:HybsSystem#TBL_MDL_KEY[={@og.value org.opengion.hayabusa.common.HybsSystem#TBL_MDL_KEY}])ã€?
410 *
411 * @param id sessionã«ç™»éŒ²ã™ã‚‹æ™‚ã? ID
412 */
413 public void setTableId( final String id ) {
414 tableId = StringUtil.nval( getRequestParameter( id ), tableId );
415 }
416
417 /**
418 * ã€TAG】シリーズå˜ä½ã?凡ä¾?ã®è¡¨ç¤ºå¯å¦ã‚’è¨å®šã—ã¾ã™ã?
419 *
420 * @og.tag
421 * シリーズå˜ä½ã?凡ä¾?ã®è¡¨ç¤ºå¯å¦ã‚’è¨å®šã—ã¾ã™ã?
422 *
423 * @param baseLegend シリーズå˜ä½ã?凡ä¾?ã®è¡¨ç¤ºå¯å¦
424 */
425 public void setBaseLegend( final String baseLegend ) {
426 boolean flag = StringUtil.nval( getRequestParameter( baseLegend ),true );
427 chDataset.setBaseLegend( flag );
428 }
429
430 /**
431 * ã€TAG】縦軸ã®è¡¨ç¤ºå称を指定ã—ã¾ã™ã?
432 *
433 * @og.tag
434 * 縦軸ã®è¡¨ç¤ºå称を指定ã—ã¾ã™ã?
435 *
436 * @param valueLabel 縦軸ã®è¡¨ç¤ºåç§°
437 */
438 public void setValueLabel( final String valueLabel ) {
439 chDataset.setValueLabel( getRequestParameter( valueLabel ) );
440 }
441
442 /**
443 * ã€TAG】ã?ーカーラインã®è¨å®šå?をカンマ区åˆ?‚Šå½¢å¼ã§è¤?•°æŒ?®šã—ã¾ã™ã?
444 *
445 * @og.tag
446 * æŒ?®šã?値ã«ãƒžã?カーラインを引ãã¾ã™ã?
447 * 色ã¯ã€setMarkColors( String ) ã§æŒ?®šã—ã¾ã™ã?
448 * markColors ã¨ã€å?æ•°ã‚’ã‚ã‚ã›ã¦è¨å®šã™ã‚‹å¿?¦ãŒã‚りã¾ã™ã?
449 * ã©ã¡ã‚‰ã‹ãŒã?æŒ?®šã•れã¦ã?ªã??åˆã?ã€ã?ーカー表示ã•れã¾ã›ã‚“ã€?
450 * dynamicOCNo を使用ã™ã‚‹å ´åˆã?ã€ãã®Values ã®ä¸¦ã³ã®ç®?‰€ã«ã€?
451 * "G" ã¨ã?†æ–?—å?ã‚’è¨å®šã—ã¦ä¸‹ã•ã??
452 * 例ï¼?000,G 基準1ã?ã€?000ã®ç›´ç·šã?基準2ã?ã€ã‚°ãƒ©ãƒ?ã¨ã?†æ„味ã€?
453 *
454 * @param markValues マã?カーラインã®è¨å®šå?(CSVå½¢å¼?
455 * @see #setMarkColors( String )
456 */
457 public void setMarkValues( final String markValues ) {
458 String vals = StringUtil.nval( getRequestParameter( markValues ),null );
459 if( vals != null ) {
460 chDataset.setMarkValues( StringUtil.csv2Array( vals ) );
461 }
462 }
463
464 /**
465 * ã€TAG】ã?ーカーラインæç”»æ™‚ã«ã€ãã®è¨å®šå?を表示ã—ã¾ã™ã?
466 *
467 * @og.tag
468 * マã?カーラインã®ç¸¦è»¸ã®è¨å®šå?(markValues)ã«ã€è¨å®šå?をラベル表示ã—ã¾ã™ã?
469 * ä½ç½®ã¯ã€TextAnchor.BASELINE_LEFT 固定ã§ã™ã?
470 * åˆæœŸå€¤ã¯ã€è¡¨ç¤ºã™ã‚‹(true)ã§ã™ã?
471 *
472 * @og.rev 4.1.1.0 (2008/02/04) æ–°è¦è¿½åŠ?
473 *
474 * @param useAnchor true:è¨å®šå?を表示ã™ã‚‹ã€?
475 */
476 public void setUseMarkAnchor( final String useAnchor ) {
477 boolean flag = StringUtil.nval( getRequestParameter( useAnchor ),true );
478 chDataset.setUseMarkAnchor( flag );
479 }
480
481 /**
482 * ã€TAG】ã?ーカーラインã®è‰²ã‚’カンマ区åˆ?‚Šå½¢å¼ã§è¤?•°æŒ?®šã—ã¾ã™ã?
483 *
484 * @og.tag
485 * マã?カーラインã¨ã¯ã€ç¸¦è»¸è¨å®šã?ラインã®äº‹ã§ã€ç¸¦è»¸ã®è¨å®šå?(markValues)ã«
486 * 横方å‘ã«ãƒ©ã‚¤ãƒ³ã‚’付与ã—ã¾ã™ã?ã“ã?ラインã®è‰²ã‚’ã?カンマ区åˆ?‚Šå½¢å¼ã§
487 * æŒ?®šã—ã¾ã™ã?
488 * markValues ã¨ã€ã‚ã‚ã›ã¦è¨å®šã™ã‚‹å¿?¦ãŒã‚りã¾ã™ã?
489 * 個数ãŒç•°ãªã‚‹å?åˆã?ã€markValues ãŒå„ªå…ˆã•れã?ç„¡æŒ?®šã?å ´åˆã?ã€Color.REDã§
490 * 表示ã•れã¾ã™ã?
491 *
492 * æŒ?®šæ–‡å—å?ã¯ã€java.awt.Color クラスã®static フィールドåã§æŒ?®šã—ã¾ã™ã?
493 * BLACK , BLUE , CYAN , DARK_GRAY , GRAY , GREEN , LIGHT_GRAY ,
494 * MAGENTA , ORANGE , PINK , RED , WHITE , YELLOW , (PURPLE) ãŒæŒ‡å®šã§ãã¾ã™ã?
495 * ã¾ãŸã?#XXXXXXå½¢å¼ã?16bitRGB表è¨?ã§ã‚‚指定å¯èƒ½ã§ã™ã?
496 * <pre>
497 * BLACK , BLUE , CYAN , DARK_GRAY , GRAY , GREEN , LIGHT_GRAY ,
498 * MAGENTA , ORANGE , PINK , RED , WHITE , YELLOW , (PURPLE)
499 * #XXXXXXå½¢å¼ã?16bitRGB表è¨?ã§ã‚‚指定å¯èƒ½ã§ã™ã?
500 * </pre>
501 *
502 * @param markColors マã?カーラインã®è‰²(CSVå½¢å¼?
503 * @see java.awt.Color#BLACK
504 * @see #setMarkValues( String )
505 */
506 public void setMarkColors( final String markColors ) {
507 String clrs = StringUtil.nval( getRequestParameter( markColors ),null );
508 if( clrs != null ) {
509 chDataset.setMarkColors( StringUtil.csv2Array( clrs ) );
510 }
511 }
512
513 /**
514 * ã€TAG】ã?ーカーラインã®è¶?Žæ™‚ã?Shape色をカンマ区åˆ?‚Šå½¢å¼ã§è¤?•°æŒ?®šã—ã¾ã™ã?
515 *
516 * @og.tag
517 * HybsLine ã§ã®ã¿ä½¿ç”¨å¯èƒ½ã§ã™ã?
518 * マã?カーラインを使用ã™ã‚‹å ´åˆã«ã€ãã®ãƒ©ã‚¤ãƒ³ã‚’è¶?ˆãªã?‰²ã€è¶?ˆã‚‹è‰²ã‚’指定ã—ã¾ã™ã?
519 * ã“ã?è‰²ã®æŒ?®šã?ã€ã?ーカーラインã®è‰²ã‚??ーカーラインã®è¨å®šå?ã®å€‹æ•°?‹ï¼‘ã«
520 * ãªã‚Šã¾ã™ã?ã¤ã¾ã‚Šã?色?‘:è¨å®šå??‘:色?’:è¨å®šå??’:色??ã¨ãªã‚Šã¾ã™ã?
521 * 色?‘ã?ã€è¨å®šå??‘よりå°ã•ã??åˆã«ä½¿ç”¨ã•れã€è‰²?’ã?ã€è¨å®šå??‘より大ããã€?
522 * è¨å®šå??’よりå°ã•ã??åˆã?色?“ã?ã€è¨å®šå??’より大ãã„å ´åˆã«ãªã‚Šã¾ã™ã?
523 *
524 * æŒ?®šæ–‡å—å?ã¯ã€java.awt.Color クラスã®static フィールドåã§æŒ?®šã—ã¾ã™ã?
525 * BLACK , BLUE , CYAN , DARK_GRAY , GRAY , GREEN , LIGHT_GRAY ,
526 * MAGENTA , ORANGE , PINK , RED , WHITE , YELLOW , (PURPLE) ãŒæŒ‡å®šã§ãã¾ã™ã?
527 * ã¾ãŸã?#XXXXXXå½¢å¼ã?16bitRGB表è¨?ã§ã‚‚指定å¯èƒ½ã§ã™ã?
528 * markValues ã¨ã€ã‚ã‚ã›ã¦è¨å®šã™ã‚‹å¿?¦ãŒã‚りã¾ã™ã?
529 * ã©ã¡ã‚‰ã‹ãŒã?æŒ?®šã•れã¦ã?ªã??åˆã?ã€ã?ーカー表示ã•れã¾ã›ã‚“ã€?
530 * <pre>
531 * BLACK , BLUE , CYAN , DARK_GRAY , GRAY , GREEN , LIGHT_GRAY ,
532 * MAGENTA , ORANGE , PINK , RED , WHITE , YELLOW , (PURPLE)
533 * #XXXXXXå½¢å¼ã?16bitRGB表è¨?ã§ã‚‚指定å¯èƒ½ã§ã™ã?
534 * </pre>
535 *
536 * @og.rev 4.0.3.0 (2008/01/07) æ–°è¦è¿½åŠ?
537 *
538 * @param overColors マã?カーラインã®è¶?Žæ™‚ã?Shape色(CSVå½¢å¼?
539 * @see java.awt.Color#BLACK
540 */
541 public void setMarkOverColors( final String overColors ) {
542 String clrs = StringUtil.nval( getRequestParameter( overColors ),null );
543 if( clrs != null ) {
544 chDataset.setMarkOverColors( StringUtil.csv2Array( clrs ) );
545 }
546 }
547
548 /**
549 * ã€TAG】動çš?ªãƒžã?カーラインã®åŸºæº–シリーズ番å·ã‚’è¨å®šã—ã¾ã?åˆæœŸå€¤:null)ã€?
550 *
551 * @og.tag
552 * å‹•çš„ãªãƒžã?カーラインを使用ã™ã‚‹å ´åˆã?ã€åŸºæº–å?ã¨ãªã‚‹ã‚·ãƒªãƒ¼ã‚ºç•ªå·ã‚’指定ã—ã¾ã™ã?
553 *
554 * マã?ã‚«ãƒ¼ãƒ©ã‚¤ãƒ³ã®æœ?¸‹ä½é–¾å€¤ã«ç›¸å½“ã—ã¾ã™ã?ã“れã¯ã€ã‚°ãƒ©ãƒ•化ã•れã¾ã™ãŒã€?
555 * Shape ã¯è‡ªå‹•çš„ã«å‰Šé™¤ã•れã¾ã™ã?
556 * ã“ã?è¨å®šã‚’使用ã™ã‚‹å ´åˆã?æœ??ã®ãƒ??ã‚¿ã«ã¯ã€å¿?šShapeãŒä»˜ãã¾ã™ã?ãれ以外ã?
557 * ãƒ??ã‚¿ã«ã€Shape を付ã‘ã‚‹ã‹ã©ã?‹ã¯ã€shapesVisible 属æ?ã§æŒ?®šã—ã¾ã™ã?
558 * ã“ã?ç·šã?色ã¯ã€markColors ã§æŒ?®šã—ãŸã?æœ?¸‹ä½ã?色ã«ãªã‚Šã¾ã™ã?ã¾ãŸã?
559 * markValues ã§æŒ?®šã—ãŸã?æœ?¸‹ä½ã?値ã¯ã€ä½¿ç”¨ã•れã¾ã›ã‚“。ãŸã?—ã€è‰²æŒ?®šã?
560 * 関係上ã?è¨å®šã—ã¦ãŠãå¿?¦ãŒã‚りã¾ã™ã?
561 * ã¾ãŸã?isValueVisible == true ã§ã€è¨å®šå?ã®å€¤è¡¨ç¤ºã‚’行ã†å ´åˆã‚‚ã€æœ€ä¸‹ä½ã?
562 * 値ã¯è¡¨ç¤ºã—ãªã?‚ˆã?«ã—ã¾ã™ã?
563 * åˆæœŸå€¤ã¯ã€ä½¿ç”¨ã—ãªã?null)ã§ã™ã?
564 *
565 * @og.rev 4.1.1.0 (2008/02/04) æ–°è¦è¿½åŠ?
566 * @og.rev 4.1.1.0 (2008/02/19) setUseDynamicOC �setDynamicOCNo
567 *
568 * @param dynamicOCNo true:å‹•çš„ãªãƒžã?カーラインã®åŸºæº–シリーズ番å·
569 */
570 public void setDynamicOCNo( final String dynamicOCNo ) {
571 int ocNo = StringUtil.nval( getRequestParameter( dynamicOCNo ),-1 );
572 chDataset.setDynamicOCNo( ocNo );
573 // boolean flag = StringUtil.nval( getRequestParameter( useDynamicOC ),false );
574 // chDataset.setUseDynamicOCNo( flag );
575 }
576
577 /**
578 * ã€TAG】ãƒãƒ£ãƒ¼ãƒˆã?ç¸¦è»¸ã®æœ?°å?ã‚’ã‚»ãƒ?ƒˆã—ã¾ã?åˆæœŸå€¤:自動計ç®?ã€?
579 *
580 * @og.tag
581 * 何もæŒ?®šã—ãªã??åˆã?ã€ãƒ‡ãƒ¼ã‚¿ã®æœ?°å?ã‹ã‚‰ã€è?å‹•çš„ã«è¨ˆç®—ã—ã¾ã™ã?
582 *
583 * @param lowerBound ç¸¦è»¸ã®æœ?°å?
584 */
585 public void setLowerBound( final String lowerBound ) {
586 chDataset.setLowerBound( getRequestParameter( lowerBound ) );
587 }
588
589 /**
590 * ã€TAG】ãƒãƒ£ãƒ¼ãƒˆã?ç¸¦è»¸ã®æœ?¤§å€¤ã‚’ã‚»ãƒ?ƒˆã—ã¾ã?åˆæœŸå€¤:自動計ç®?ã€?
591 *
592 * @og.tag
593 * 何もæŒ?®šã—ãªã??åˆã?ã€ãƒ‡ãƒ¼ã‚¿ã®æœ?¤§å€¤ã‹ã‚‰ã€è?å‹•çš„ã«è¨ˆç®—ã—ã¾ã™ã?
594 *
595 * @param upperBound ç¸¦è»¸ã®æœ?¤§å€¤
596 */
597 public void setUpperBound( final String upperBound ) {
598 chDataset.setUpperBound( getRequestParameter( upperBound ) );
599 }
600
601 /**
602 * ã€TAG】ãƒãƒ£ãƒ¼ãƒˆã?縦軸ã®ç›®ç››ã?å¹?‚’ã‚»ãƒ?ƒˆã—ã¾ã?åˆæœŸå€¤:自動計ç®?ã€?
603 *
604 * @og.tag
605 * 何もæŒ?®šã—ãªã??åˆã?ã€ãƒ‡ãƒ¼ã‚¿ã®ç¯?›²ã‹ã‚‰ã€è?å‹•çš„ã«è¨ˆç®—ã—ã¾ã™ã?
606 *
607 * @og.rev 4.0.3.0 (2008/01/07) æ–°è¦è¿½åŠ?
608 *
609 * @param size 縦軸ã®ãƒãƒƒã‚¯(ç›®ç›?ã®å¹?
610 */
611 public void setTickSize( final String size ) {
612 chDataset.setTickSize( getRequestParameter( size ) );
613 }
614
615 /**
616 * ã€TAG】ãƒãƒ¼ãƒãƒ£ãƒ¼ãƒˆã?グラãƒ??ション処ç?‚’行ã†ã‹ã©ã?‹[true/false]ã‚’ã‚»ãƒ?ƒˆã—ã¾ã?åˆæœŸå€¤:false)ã€?
617 *
618 * @og.tag
619 * 通常ã®ãƒã?ãƒãƒ£ãƒ¼ãƒˆã?ã€å˜ä¸?‰²è¡¨ç¤ºã§è¡¨ã•れã¾ã™ãŒã€ã“れã«ã‚°ãƒ©ãƒ??ション効果を
620 * ä»˜åŠ ã™ã‚‹ã‹ã©ã?‹ã‚’指定ã—ã¾ã™ã?
621 * 通常ã®ãƒã?ãƒãƒ£ãƒ¼ãƒˆãŒã€å°‘ã—ãれã?«è¦‹ãˆã¾ã™ã?
622 * åˆæœŸå€¤ã¯ã€false(使用ã—ãªã?ã§ã™ã?
623 *
624 * @param useGradient グラãƒ??ション処ç?[true:ã™ã‚‹/false:ã—ãªã„]
625 */
626 public void setUseGradient( final String useGradient ) {
627 boolean flag = StringUtil.nval( getRequestParameter( useGradient ),false );
628 chDataset.setUseGradient( flag );
629 }
630
631 /**
632 * ã€TAG】ラインãƒãƒ£ãƒ¼ãƒˆã?ãƒã‚¤ãƒ³ãƒˆã‚’四角表示ã™ã‚‹ã‹ã©ã?‹ã‚’指定ã—ã¾ã?åˆæœŸå€¤:true)ã€?
633 *
634 * @og.tag
635 * ラインãƒãƒ£ãƒ¼ãƒˆã?ã€??常ã€ç·šå?ã§è¡¨ã•れã€å„ãƒã‚¤ãƒ³ãƒˆã«ã¤ã?¦ã‚‚ã?ç·šå?ã§æŽ¥ç¶šã•れã¾ã™ã?
636 * shapesVisible ã‚?true ã«è¨å®šã™ã‚‹ã¨ã€å„ãƒã‚¤ãƒ³ãƒˆãŒã€ç·šä¸Šã«å››è§’ã表示ã•れã€?
637 * ãã?ãƒã‚¤ãƒ³ãƒˆã?ä½ç½®ã‚’ã?容易ã«åˆ¤æ–出æ¥ã‚‹ã‚ˆã?«ãªã‚Šã¾ã™ã?
638 * åˆæœŸå€¤ã¯ã€true( LineAndShape )ã§ã™ã?
639 *
640 * @param shapesVisible ãƒã‚¤ãƒ³ãƒˆã‚’四角表示ã™ã‚‹ã‹ã©ã?‹
641 */
642 public void setShapesVisible( final String shapesVisible ) {
643 boolean flag = StringUtil.nval( getRequestParameter( shapesVisible ),true );
644 chDataset.setShapesVisible( flag );
645 }
646
647 /**
648 * ã€TAG】データ毎ã«Shapeã‚’å?り替ãˆã‚‹æ™‚ã?色ã®ç¹°è¿”ã—パターンを文å—å?é…å?ã§æŒ?®šã—ã¾ã™ã?
649 *
650 * @og.tag
651 * HybsLine ã§ã®ã¿ä½¿ç”¨å¯èƒ½ã§ã™ã?
652 * ã“れã¯ã€ãƒ‡ãƒ¼ã‚¿ãã?ã‚‚ã?ãŒã?ç¹°è¿”ã—æ€§ã®ã‚ã‚‹å ´åˆã«ã€ãã®ç¹°è¿”ã—æ€§ã«å¯¾å¿œã—ã?
653 * 形状ã®Shape を表示ã•ã›ã‚‹å?åˆã«ä½¿ç”¨ã—ã¾ã™ã?
654 * ç¹°è¿”ã—Shapeã®å½¢çжã¯ã€JFreeChart ã®ã‚·ãƒªãƒ¼ã‚ºæ¯Žã?ç¹°è¿”ã—æ¨™æº–形状を使用ã—ã¾ã™ã?
655 * ç¾åœ¨ã®ãƒã?ジョンã§ã¯ã€?¼‘ï¼å?ã¾ã§ã®ç¹°è¿”ã—ã«å¯¾å¿œå¯èƒ½ã§ã™ã?
656 * ç¹°è¿”ã—色をã?æŒ?®šã—ãŸå?ã?‘ã€??ã«ä½¿ç”¨ã•れã¦ã?ã¾ã™ã?
657 *
658 * æŒ?®šæ–‡å—å?ã¯ã€java.awt.Color クラスã®static フィールドåã§æŒ?®šã—ã¾ã™ã?
659 * BLACK , BLUE , CYAN , DARK_GRAY , GRAY , GREEN , LIGHT_GRAY ,
660 * MAGENTA , ORANGE , PINK , RED , WHITE , YELLOW , (PURPLE) ãŒæŒ‡å®šã§ãã¾ã™ã?
661 * ã¾ãŸã?#XXXXXXå½¢å¼ã?16bitRGB表è¨?ã§ã‚‚指定å¯èƒ½ã§ã™ã?
662 *
663 * @og.rev 4.0.3.0 (2008/01/07) æ–°è¦è¿½åŠ?
664 *
665 * @param colors ãƒ??タ毎ã?色ã®ç¹°è¿”ã—パターン(æ–?—å?é…å?)
666 * @see java.awt.Color#BLACK
667 */
668 public void setShapeColors( final String colors ) {
669 String clrs = StringUtil.nval( getRequestParameter( colors ),null );
670 if( clrs != null ) {
671 chDataset.setShapeColors( StringUtil.csv2Array( clrs ) );
672 }
673 }
674
675 /**
676 * ã€TAG】繰返ã—shapeã®é–‹å§‹ç•ªå·ã‚’指定ã—ã¾ã?åˆæœŸå€¤:0)ã€?
677 *
678 * @og.tag
679 * ラインãƒãƒ£ãƒ¼ãƒˆã?Shape(å?‚°ãƒ©ãƒ•ã?ãƒã‚¤ãƒ³ãƒˆã?マã?カー)ã¯ã€??常ã¯ã€?
680 * シリーズ毎ã«è‡ªå‹•変更ã•れã¾ã™ã?
681 * ã“れã®å¤‰æ›´é–‹å§‹é?ã®é–‹å§‹ç•ªå·ã‚’指定ã™ã‚‹äº‹ã§ã€Shapeã®é–‹å§‹å½¢çŠ¶ã‚’æŒ‡å®šã§ãã¾ã™ã?
682 * åˆæœŸå€¤(0) ã§ã¯ã€â– ã€â—ã€â–²ã€â—†ã€æ¨ªé•·æ–¹å½¢ã€â–¼ã€æ¥•å?ã€å³ä¸‰è§’ã?縦長方形ã€?
683 * 左三角ã?ã¨ã?†ç¹°è¿”ã—ã«ãªã‚Šã¾ã™ã?
684 * ã“れã®ã€?–‹å§‹å½¢çŠ¶ã‚’æŒ‡å®šã™ã‚‹ã“ã¨ã§ã€â—ã‹ã‚‰å§‹ã‚ãŸã‚Šã€â–²ã‹ã‚‰å§‹ã‚る事ãŒ
685 * å¯èƒ½ã«ãªã‚Šã¾ã™ã?
686 * åˆæœŸå€¤ã¯ã€?:â–?§ã™ã?
687 *
688 * @og.rev 4.1.1.0 (2008/02/04) æ–°è¦è¿½åŠ?
689 *
690 * @param startNo ç¹°è¿”ã—shapeã®é–‹å§‹ç•ªå·
691 */
692 // public void setShapeStartNo( final String startNo ) {
693 // int no = StringUtil.nval( getRequestParameter( startNo ),0 );
694 // chDataset.setShapeStartNo( no );
695 // }
696
697 /**
698 * ã€TAG】shapeã®å¤§ãã•ã‚’å?çŽ?Œ‡å®šã§å¤‰æ›´ã—ã¾ã?åˆæœŸå€¤:null)ã€?
699 *
700 * @og.tag
701 * ラインãƒãƒ£ãƒ¼ãƒˆã?Shape(å?‚°ãƒ©ãƒ•ã?ãƒã‚¤ãƒ³ãƒˆã?マã?カー)ã®å¤§ãã•ã¯ã€??常ã¯ã€?
702 * 自動è¨å®šã•れã¾ã™ã?
703 * ã“ã?大ãã•ã‚’ã?å€çއæŒ?®šã§ã€å¤‰æ›´å¯èƒ½ã§ã™ã?
704 * æŒ?®šã?ã€double åž‹ã§ã™ã?
705 * åˆæœŸå€¤ã¯ã€null ã¯ã€ã‚¹ã‚±ãƒ¼ãƒ«å¤‰æ›´ã—ã¾ã›ã‚“(自動è¨å®šã?ã¾ã¾ã®å¤§ãã•)
706 *
707 * @og.rev 4.1.1.0 (2008/02/04) æ–°è¦è¿½åŠ?
708 *
709 * @param scale shapeã®å¤§ãã•ã®å€çއ
710 */
711 public void setShapeScale( final String scale ) {
712 String shapeScale = StringUtil.nval( getRequestParameter( scale ),null );
713 if( shapeScale != null ) {
714 chDataset.setShapeScale( shapeScale );
715 }
716 }
717
718 /**
719 * ã€TAG】ラインãƒãƒ£ãƒ¼ãƒˆã?線をドットラインã«ã™ã‚‹ã‹ã©ã?‹[true/false]を指定ã—ã¾ã?åˆæœŸå€¤:false[ç·šå?])ã€?
720 *
721 * @og.tag
722 * ラインãƒãƒ£ãƒ¼ãƒˆã?ã€??常ã€ç·šå?ã§è¡¨ã•れã¾ã™ã?
723 * ã“れã«ã€ç‚¹ç·šã§è¡¨ã™ã“ã¨ã§ã€ã‚°ãƒ©ãƒ•ã?é•ã„ã‚’ã?色ã?‘ã§ãªã形状ã§ã‚‚è˜åˆ¥
724 * ã—ã‚„ã™ãã™ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã™ã?
725 * åˆæœŸå€¤ã¯ã€false(ç·šå?)ã§ã™ã?
726 *
727 * @param useDottedLine ドットラインã«ã™ã‚‹ã‹ã©ã?‹ [true:点ç·?false:ç·šå?]
728 */
729 public void setUseDottedLine( final String useDottedLine ) {
730 boolean flag = StringUtil.nval( getRequestParameter( useDottedLine ),false );
731 chDataset.setUseDottedLine( flag );
732 }
733
734 /**
735 * ã€TAG】è¤?•°ãƒãƒ£ãƒ¼ãƒˆæç”»æ™‚ã?ãƒãƒ£ãƒ¼ãƒˆè‰²ã®ç¹°è¿”ã—パターンをCVSå½¢å¼ã§è¤?•°æŒ?®šã—ã¾ã™ã?
736 *
737 * @og.tag
738 * 通常ã€è¤?•°ã®ãƒãƒ£ãƒ¼ãƒˆã‚’åŒæ™‚ã«è¡¨ç¤ºã•ã›ã‚‹å?åˆã?ã€ç¸¦è»¸ãŒå?通ã§ã‚れã°ã€?
739 * ?‘回ã®Selectåˆ?§è¤?•°ãƒ??ã‚¿ã‚’å–å¾—ã—ã¾ã™ã?
740 * ã“ã?ã€ãƒ‡ãƒ¼ã‚¿ã‚’シリーズã¨å‘¼ã‚“ã§ãŠã‚Šã€ã“れを区別ã™ã‚‹ç‚ºã«ã€è‰²ã‚’å?ã‘ã¾ã™ã?
741 * åˆæœŸå€¤ã¯ã€JFreeChart ãŒè?å‹•ã§å‰²ã‚ŠæŒ¯ã‚Šã¾ã™ã?
742 * ã“れをã?外部ã‹ã‚‰CVSå½¢å¼ã§ã€ã‚«ãƒ³ãƒžåŒºåˆ?‚Šã§è‰²ã‚³ãƒ¼ãƒ‰ã‚’æŒ?®šã—ã¾ã™ã?
743 * æŒ?®šãƒ‡ãƒ¼ã‚¿ãŒå¤šã„å ´åˆã?ã€å¤šã„åˆ??色ã¯ä½¿ç”¨ã•れã¾ã›ã‚“。少ãªã??åˆã?ã€?
744 * é ?•ªã«ç¹°ã‚Šè¿”ã—ã¦ä½¿ç”¨ã•れã¾ã™ã?
745 * 例ãˆã°ã€?¼‘色ã?‘æŒ?®šã—ãŸå?åˆã?ã€ã™ã¹ã¦ã®ã‚·ãƒªãƒ¼ã‚ºãŒåŒã˜è‰²ã§è¡¨ã•れã¾ã™ã?
746 *
747 * æŒ?®šæ–‡å—å?ã¯ã€java.awt.Color クラスã®static フィールドåã§æŒ?®šã—ã¾ã™ã?
748 * BLACK , BLUE , CYAN , DARK_GRAY , GRAY , GREEN , LIGHT_GRAY ,
749 * MAGENTA , ORANGE , PINK , RED , WHITE , YELLOW , (PURPLE) ãŒæŒ‡å®šã§ãã¾ã™ã?
750 *
751 * ã¾ãŸã?#XXXXXXå½¢å¼ã?16bitRGB表è¨?ã§ã‚‚指定å¯èƒ½ã§ã™ã?
752 *
753 * @param colors ãƒãƒ£ãƒ¼ãƒˆè‰²ã®ç¹°è¿”ã—パターン(CVSå½¢å¼?
754 * @see java.awt.Color#BLACK
755 */
756 public void setSeriesColors( final String colors ) {
757 String clrs = StringUtil.nval( getRequestParameter( colors ),null );
758 if( clrs != null ) {
759 chDataset.setSeriesColors( StringUtil.csv2Array( clrs ) );
760 }
761 }
762
763 /**
764 * ã€TAG】Value(縦軸)ã®ç·šã‚’表示ã™ã‚‹ã‹ã©ã?‹ã‚’指定ã—ã¾ã?åˆæœŸå€¤:true[表示ã™ã‚‹])ã€?
765 *
766 * @og.tag
767 * ValueAxis ã«ã¦è¨å®šã•れるã€ç¸¦è»¸æƒ??ã®ã€ç½«ç·šã‚’表示ã™ã‚‹ã‹ã©ã?‹æŒ?®šã—ã¾ã™ã?
768 * åˆæœŸå€¤ã¯ã€true(表示ã™ã‚‹)ã§ã™ã?
769 *
770 * @og.rev 4.0.2.0 (2007/12/20) æ–°è¦è¿½åŠ?
771 *
772 * @param lineVisible Value(縦軸)ã®ç·šã‚’表示ã™ã‚‹ã‹ã©ã?‹
773 */
774 // public void setValueLineVisible( final String lineVisible ) {
775 // boolean flag = StringUtil.nval( getRequestParameter( lineVisible ),true );
776 // chDataset.setValueLineVisible( flag );
777 // }
778
779 /**
780 * ã€TAG】Value(縦軸)ã®ãƒ©ãƒ™ãƒ«ã‚’表示ã™ã‚‹ã‹ã©ã?‹ã‚’指定ã—ã¾ã?åˆæœŸå€¤:true[表示ã™ã‚‹])ã€?
781 *
782 * @og.tag
783 * ValueAxis ã«ã¦è¨å®šã•れるã€ç¸¦è»¸æƒ??ã®ã€ãƒ©ãƒ™ãƒ«ã‚’表示ã™ã‚‹ã‹ã©ã?‹æŒ?®šã—ã¾ã™ã?
784 * åˆæœŸå€¤ã¯ã€true(表示ã™ã‚‹)ã§ã™ã?
785 *
786 * @og.rev 4.0.2.0 (2007/12/20) æ–°è¦è¿½åŠ?
787 *
788 * @param labelsVisible Value(縦軸)ã®ãƒ©ãƒ™ãƒ«ã‚’表示ã™ã‚‹ã‹ã©ã?‹
789 */
790 public void setValueLabelsVisible( final String labelsVisible ) {
791 boolean flag = StringUtil.nval( getRequestParameter( labelsVisible ),true );
792 chDataset.setValueLabelsVisible( flag );
793 }
794
795 /**
796 * ã€TAG】Value(縦軸)ã®ãƒžã?カーを表示ã™ã‚‹ã‹ã©ã?‹ã‚’指定ã—ã¾ã?åˆæœŸå€¤:true[表示ã™ã‚‹])ã€?
797 *
798 * @og.tag
799 * ValueAxis ã«ã¦è¨å®šã•れるã€ç¸¦è»¸æƒ??ã®ã€ã?ーカーを表示ã™ã‚‹ã‹ã©ã?‹æŒ?®šã—ã¾ã™ã?
800 * åˆæœŸå€¤ã¯ã€true(表示ã™ã‚‹)ã§ã™ã?
801 *
802 * @og.rev 4.0.2.0 (2007/12/20) æ–°è¦è¿½åŠ?
803 *
804 * @param marksVisible Value(縦軸)ã®ãƒžã?カーを表示ã™ã‚‹ã‹ã©ã?‹
805 */
806 public void setValueMarksVisible( final String marksVisible ) {
807 boolean flag = StringUtil.nval( getRequestParameter( marksVisible ),true );
808 chDataset.setValueMarksVisible( flag );
809 }
810
811 /**
812 * ã€TAG】データã®å€¤(itemText)を表示ã™ã‚‹ã‹ã©ã?‹[true/false/last]を指定ã—ã¾ã?åˆæœŸå€¤:false[表示ã—ãªã„])ã€?
813 *
814 * @og.tag
815 * CategoryItemRenderer 関連ã®ã‚°ãƒ©ãƒ•ã?è¨å®šå?をグラフ上ã«è¡¨ç¤ºã™ã‚‹ã‹ã©ã?‹ã‚?
816 * æŒ?®šã—ã¾ã™ã?
817 * true ã«è¨å®šã—ãŸå?åˆã?通常ã®å ´åˆã?ã€ã™ã¹ã¦ã®ã‚·ãƒªãƒ¼ã‚ºã«ãƒ©ãƒ™ãƒ«è¡¨ç¤ºã•れã¾ã™ã?
818 * false ã«è¨å®šã™ã‚‹ã¨ã€è¡¨ç¤ºã•れã¾ã›ã‚“ã€?
819 * last ã‚’è¨å®šã™ã‚‹ã¨ã€å„ã‚·ãƒªãƒ¼ã‚ºã®æœ?¾Œã?値ã®ã¿è¡¨ç¤ºã•れã¾ã™ã?
820 * ChartCreate クラスã«ã€seriesPikup ãŒè¨å®šã•れã¦ã?‚‹å ´åˆã?ã€æŒ‡å®šã?シリーズ
821 * ã®ã¿ã®è¨å®šå?を表示ã—ã?ä»–ã?値ã¯ã€è¡¨ç¤ºã—ã¾ã›ã‚“ã€?
822 * åŒæ§˜ã«ã€dynamicOCNo ãŒæŒ‡å®šã•れã¦ã?‚‹å ´å?å‹•çš„ãªãƒžã?カーライン)
823 * æœ?¸‹ä½ã?シリーズã¯ã€?–¾å€¤ã¨ã—ã¦ä½¿ç”¨ã•れるãŸã‚ã?è¨å®šå?ã¯è¡¨ç¤ºã•れã¾ã›ã‚“ã€?
824 * ラベルã®è¡¨ç¤ºä½ç½®ã¯ã€è¡¨ç¤ºã™ã‚‹ç·šã‚°ãƒ©ãƒ•ã?傾ãã«å¿œã˜ã¦ãƒ©ãƒ™ãƒ«ã®è¡¨ç¤ºå ´æ‰?‚’
825 * 変ãˆã¾ã™ã?山形ã€å³å‚ã?è°·å½¢ã€å·¦å?ã«å¿œã˜ã¦ã€ä¸Šä¸ã€ä¸‹å³ã€ä¸‹ä¸ã€ä¸Šå³ ã«
826 * ä½ç½®ã‚’è¨å®šã—ã¾ã™ã?å³ã«ãšã‚‰ã™ã?ã¯ã€?0 ピクセル固定ã§ã™ã?
827 * åˆæœŸå€¤ã¯ã€false(表示ã—ãªã?ã§ã™ã?
828 *
829 * @og.rev 4.1.1.0 (2008/02/04) æ–°è¦è¿½åŠ?
830 * @og.rev 4.1.2.0 (2008/03/12) æ–?—å?ã®ã¾ã¾ã€æ¸¡ã™ã‚ˆã?«å¤‰æ›´
831 *
832 * @param itemLabelVisible ãƒ??ã‚¿ã®å€¤ã®è¡¨ç¤ºã®ã•ã›æ–¹(true,false,last)
833 */
834 public void setItemLabelVisible( final String itemLabelVisible ) {
835 // boolean flag = StringUtil.nval( getRequestParameter( itemLabelVisible ),false );
836 String flag = StringUtil.nval( getRequestParameter( itemLabelVisible ),"false" );
837 chDataset.setItemLabelVisible( flag );
838 }
839
840 /**
841 * ã€TAG】データã®å€¤(itemText)ã®è¡¨ç¤ºã«ã€æ¡åŒºåˆ?‚Šæ–?—を使用ã™ã‚‹ã‹ã©ã?‹[true/false]を指定ã—ã¾ã?åˆæœŸå€¤:true[使用ã™ã‚‹])ã€?
842 *
843 * @og.tag
844 * itemLabelVisible=true 時ã«ã€è¡¨ç¤ºã•れるデータ値ラベルã§ã€?
845 * NumberFormat ã—ã¦ã?¾ã™ãŒã€?¼“æ¡åŒºåˆ?‚Šæ–??123,456,789.0) ã®
846 * 区åˆ?‚Šè¨˜å·ã‚’表示ã™ã‚‹ã‹ã©ã?‹ã‚’指定ã—ã¾ã™ã?
847 * true を指定ã™ã‚‹ã¨ã€è¡¨ç¤ºã—ã¾ã™ã?false ã§ã¯ã€è¡¨ç¤ºã—ã¾ã›ã‚“ã€?
848 * åˆæœŸå€¤ã¯ã€true(使用ã™ã‚‹)ã§ã™ã?
849 *
850 * @og.rev 4.1.2.0 (2008/03/12) æ–°è¦è¿½åŠ?
851 *
852 * @param used ãƒ??ã‚¿ã®æ¡åŒºåˆ?‚Šæ–?—ã?使用有無
853 */
854 public void setUseItemLabelSep( final String used ) {
855 boolean useItemLabelSep = StringUtil.nval( getRequestParameter( used ),true );
856 chDataset.setUseItemLabelSep( useItemLabelSep );
857 }
858
859 /**
860 * ã€TAG】縦軸ã®è¡¨ç¤ºé ˜åŸŸINSET値(double)を指定ã—ã¾ã™ã?
861 *
862 * @og.tag
863 * 縦軸æ–?—è¡¨ç¤ºé ˜åŸŸ(NumberAxis)ã®å¹??追åŠ??ã‚’è¨å®šã—ã¾ã™ã?
864 * ã“れã¯ã€??常ã®è¡¨ç¤ºé ˜åŸŸã®å·¦å´ã«ã‚¹ãƒšã?スを挿入ã—ã¾ã™ã?
865 * ã‚ãã¾ã§ã€è¿½åŠ?™ã‚‹å?ãªã®ã§ã€æ–‡å—ã?é•·ã•ã?å«ã¾ã‚Œã¾ã›ã‚“ã€?
866 * 何もæŒ?®šã—ãªã??åˆã?ã€è¨å®šã—ã¾ã›ã‚“ã€?
867 *
868 * @og.rev 4.0.3.0 (2008/01/07) æ–°è¦è¿½åŠ?
869 *
870 * @param inset Value(縦軸)ã®è¡¨ç¤ºé ˜åŸŸINSET値
871 */
872 public void setValueInset( final String inset ) {
873 String valueInset = StringUtil.nval( getRequestParameter( inset ),null );
874 chDataset.setValueInset( valueInset );
875 }
876
877 /**
878 * ã€TAG】BOXãƒãƒ£ãƒ¼ãƒˆã?ãƒã?å¹?double)を指定ã—ã¾ã™ã?
879 *
880 * @og.tag
881 * BOXãƒãƒ£ãƒ¼ãƒˆã?ãƒã?å¹?double)を指定ã—ã¾ã™ã?
882 * è¨å®šã•れるã®ã¯ã€org.jfree.chart.renderer.category.BarRenderer ã‚?
883 * 使用ã—ãŸæç”»ã®ã¿ã§ã™ã?
884 * 棒グラフã?ãƒã?å¹?Œ‡å®šã?ã€ç›´æŽ¥ã€CategoryItemRendererState ã«è¨å®šã—ã¦ã?¾ã™ã?
885 * 通常ã¯ã€barMaxWidth(0.0??.0)ã¨barItemMargin(0.0??.0)を用ã?¦æ¯”çŽ‡ã§æŒ?®šã—ã¾ã™ã?
886 * 何もæŒ?®šã—ãªã??åˆã?ã€è¨å®šã—ã¾ã›ã‚“ã€?
887 *
888 * @og.rev 4.0.3.0 (2008/01/07) æ–°è¦è¿½åŠ?
889 *
890 * @param width BOXãƒãƒ£ãƒ¼ãƒˆã?ãƒã?å¹?double)
891 */
892 public void setBarWidth( final String width ) {
893 String barWidth = StringUtil.nval( getRequestParameter( width ),null );
894 chDataset.setBarWidth( barWidth );
895 }
896
897 /**
898 * ã€TAG】グラフã?書ãå?ã—ä½ç½®ã®ã‚ªãƒ•ã‚»ãƒ?ƒˆã‚’指定ã—ã¾ã?åˆæœŸå€¤:0)ã€?
899 *
900 * @og.tag
901 * グラフをé‡ã?ã‚‹ã¨ã€åŒã˜ä½ç½®ã‹ã‚‰æ›¸ãå?ã—ãŒå§‹ã¾ã‚Šã¾ã™ã?
902 * ã“ã?パラメータを指定ã™ã‚‹äº‹ã§ã€ã‚°ãƒ©ãƒ•ã‚’é‡ã?ãŸå?åˆã«ã€å°‘ã—ãšã¤
903 * ãšã‚‰ã—ã¦æ›¸ãå§‹ã‚る事ãŒå¯èƒ½ã«ãªã‚Šã¾ã™ã?
904 * ã“れã¯ã€ã‚·ãƒªãƒ¼ã‚ºã‚’ã?æç”»ã™ã‚‹ã¨ãã«ã€æ£’グラフã?å¹?‚’åº?’る事ã§
905 * åŒæ§˜ã?効果を得る事ãŒå‡ºæ¥ã¾ã™ãŒã€æ¤œç´¢æ¡ä»¶ç‰ãŒç•°ãªã‚‹å?åˆã«ã¯ã€?
906 * シリーズ化ã§ãã¾ã›ã‚“ã®ã§ã€ã“ã¡ã‚‰ã?オフセãƒ?ƒˆã‚’使用ã—ã¾ã™ã?
907 * åˆæœŸå€¤ã¯ã€?(書ãå?ã—ä½ç½®ã¯æ¨™æº–ã?ã¾ã¾)ã§ã™ã?
908 *
909 * @og.rev 4.1.1.0 (2008/02/04) æ–°è¦è¿½åŠ?
910 *
911 * @param chartOffset 書ãå?ã—ä½ç½®ã®ã‚ªãƒ•ã‚»ãƒ?ƒˆ
912 */
913 // public void setChartOffset( final String chartOffset ) {
914 // String offset = StringUtil.nval( getRequestParameter( chartOffset ),null );
915 // if( offset != null ) {
916 // chDataset.setChartOffset( Double.parseDouble(offset) );
917 // }
918 // }
919
920 /**
921 * ã€TAG】BOXãƒãƒ£ãƒ¼ãƒˆã?ãƒã?å¹??æœ?¤§å€¤(0.0??.0)を指定ã—ã¾ã™ã?
922 *
923 * @og.tag
924 * BOXãƒãƒ£ãƒ¼ãƒˆã?ãƒã?å¹??æ¯”çŽ‡ã®æœ?¤§å€¤ã‚’指定ã—ã¾ã™ã?
925 * è¡¨ç¤ºé ˜åŸŸã‚’ï¼‘ã¨ã—ã¦å°æ•°ç‚¹ä»¥ä¸‹ã?æ•°å€¤ã§æ£’ã?å¹?‚’è¨å®šã—ã¾ã™ã?
926 * è¨å®šã—ãŸå¹?«ç„¡ç?Œã‚る時ã?é©å½“ãªã‚µã‚¤ã‚ºã«èª¿æ•´ã•れã¾ã™ã?
927 * (å°ã•ãã—ãŸã¨ãã«ã¯æ£’ãŒç·šã?よã†ã«ãªã‚?
928 * è¨å®šã•れるã®ã¯ã€org.jfree.chart.renderer.category.BarRenderer ã‚?
929 * 使用ã—ãŸæç”»ã®ã¿ã§ã™ã?
930 * 何もæŒ?®šã—ãªã??åˆã?ã€è¨å®šã—ã¾ã›ã‚“ã€?
931 *
932 * @og.rev 4.0.2.0 (2007/12/20) æ–°è¦è¿½åŠ?
933 *
934 * @param barWidth BOXãƒãƒ£ãƒ¼ãƒˆã?ãƒã?å¹??æœ?¤§å€¤(0.0??.0)
935 */
936 public void setBarMaxWidth( final String barWidth ) {
937 String maxBarWidth = StringUtil.nval( getRequestParameter( barWidth ),null );
938 chDataset.setBarMaxWidth( maxBarWidth );
939 }
940
941 /**
942 * ã€TAG】BOXãƒãƒ£ãƒ¼ãƒˆã?ãƒã?アイãƒ?ƒ ã®ãƒžã?ジン(0.0??.0)を指定ã—ã¾ã™ã?
943 *
944 * @og.tag
945 * BOXãƒãƒ£ãƒ¼ãƒˆã?ãƒã?アイãƒ?ƒ ã®ãƒžã?ã‚¸ãƒ³ã®æ¯”率を指定ã—ã¾ã™ã?
946 * 棒ã?é–“ã‚’è¡¨ç¤ºé ˜åŸŸã‚’ï¼‘ã¨ã—ã¦å°æ•°ç‚¹ä»¥ä¸‹ã?数値ã§å¹?‚’è¨å®šã—ã¾ã™ã?
947 * ç„¡ç?Œã‚る時ã?é©å½“ãªã‚µã‚¤ã‚ºã«èª¿æ•´ã•れã¾ã™ã?
948 * barMaxWidth より優先ã•れã¾ã™ã?
949 * è¨å®šã•れるã®ã¯ã€org.jfree.chart.renderer.category.BarRenderer ã‚?
950 * 使用ã—ãŸæç”»ã®ã¿ã§ã™ã?
951 * 何もæŒ?®šã—ãªã??åˆã?ã€è¨å®šã—ã¾ã›ã‚“ã€?
952 *
953 * @og.rev 4.0.2.0 (2007/12/20) æ–°è¦è¿½åŠ?
954 *
955 * @param margin BOXãƒãƒ£ãƒ¼ãƒˆã?ãƒã?アイãƒ?ƒ ã®ãƒžã?ジン(0.0??.0)
956 */
957 public void setBarItemMargin( final String margin ) {
958 String itemMargin = StringUtil.nval( getRequestParameter( margin ),null );
959 chDataset.setBarItemMargin( itemMargin );
960 }
961
962 /**
963 * ã€TAG】表示下é™å€¤(ã“れ以下ã?ãƒ??ã‚¿ã¯æœªè¡¨ç¤º)ã®å€¤(double)を指定ã—ã¾ã™ã?
964 *
965 * @og.tag
966 * HybsLine ã§ã®ã¿ä½¿ç”¨å¯èƒ½ã§ã™ã?
967 * ã“ã?è¨å®šå?以下ã?ãƒ??ã‚¿ã¯ã€å˜åœ¨ã—ãªã?‰±ã?¨ã—ã¾ã™ã?
968 * Lineを引ãã¨ãã?ã“ã?ãƒ??ã‚¿ã¨ã€å˜åœ¨ã—ã¦ã?‚‹ãƒ??ã‚¿é–“ã«ãƒ©ã‚¤ãƒ³ã¯å¼•ã‹ã‚Œã¾ã›ã‚“ã€?
969 * 何もæŒ?®šã—ãªã??åˆã?ã€è¨å®šã—ã¾ã›ã‚“ã€?
970 *
971 * @og.rev 4.0.3.0 (2008/01/07) æ–°è¦è¿½åŠ?
972 *
973 * @param limit 表示下é™å€¤(ã“れ以下ã?ãƒ??ã‚¿ã¯æœªè¡¨ç¤º)
974 */
975 public void setVisibleLimit( final String limit ) {
976 String visibleLimit = StringUtil.nval( getRequestParameter( limit ),null );
977 chDataset.setVisibleLimit( visibleLimit );
978 }
979
980 /**
981 * ã€TAG】グラフã?書ãå?ã—ä½ç½®ã®èª¿æ•´æ¯”率を指定ã—ã¾ã™ã?
982 *
983 * @og.tag
984 * HybsStackedBar ã§ã®ã¿ä½¿ç”¨å¯èƒ½ã§ã™ã?
985 * グラフをæç”»ã™ã‚‹å ´åˆã?ã€æ›¸ãå?ã—ä½ç½®ã‚’å°‘ã—ãšã‚‰ã—ã¾ã™ã?
986 * ã“れã¯ã€ã‚°ãƒ©ãƒ•ã?å¹?«å¯¾ã—ã¦ã€æ¯”çŽ‡ã§æŒ?®šã—ã¾ã™ã?
987 * 0.0(åˆæœŸå€¤)ã®å ´åˆã?ã€å?期æç”»ä½ç½®ã§ã‚ã‚‹ã€CategoryAnchor.Middle ã¨
988 * åŒã˜ç®?‰€ã‹ã‚‰ã€æ›¸ãå?ã•れã¾ã™ã?
989 * 1.0 ã®å ´åˆã?ä¸å¿?‹ã‚‰ã?グラフå¹??åŠå?ãŒåŠ ç®—ã•れã?ENDä½ç½®ã«å¯?‚Šã¾ã™ã?
990 * åŒæ§˜ã«ã€?1.0 ã®å ´åˆã?ã€ã‚°ãƒ©ãƒ•å¹??åŠå?ãŒæ¸›ç®—ã•れã?START ä½ç½®ã«ãªã‚Šã¾ã™ã?
991 * ã¤ã¾ã‚Šã?ä¸å¿?‹ã‚‰ã?グラフå¹??åŠå?å˜ä½ã§ã€å‰æ–¹/後方ã«ãšã‚‰ã™äº‹ãŒå‡ºæ¥ã¾ã™ã?
992 * 書ãå?ã—ä½ç½® ??ä¸å¿?Middle) + (domainMargin)?Šå¹???
993 * åˆæœŸå€¤ã¯ã€?.0(真んä¸:MIDDLE)ã§ã™ã?
994 *
995 * @og.rev 4.1.1.0 (2008/02/14) æ–°è¦è¿½åŠ?
996 *
997 * @param margin double グラフã?書ãå?ã—ä½ç½®ã®èª¿æ•´æ¯”率
998 */
999 public void setDomainMargin( final String margin ) {
1000 String domMgn = StringUtil.nval( getRequestParameter( margin ),null );
1001 if( domMgn != null ) {
1002 double domainMargin = Double.parseDouble( domMgn );
1003 chDataset.setDomainMargin( domainMargin ) ; // double margin
1004 }
1005 }
1006
1007 /**
1008 * ã€TAG】時刻を表ã™å?åˆã?表ç¾ã®ä»•æ–¹[E1/E2/E3/H1/H2/H3]を指定ã—ã¾ã?åˆæœŸå€¤:null)ã€?
1009 *
1010 * @og.tag
1011 * HybsNumberAxis ã«ã‚ªãƒ¼ãƒã?ライドã™ã‚?時間を表示ã™ã‚‹ DecimalFormat ã®å†?ƒ¨ã‚¯ãƒ©ã‚¹ã‚’利用ã™ã‚‹ã«å½“ãŸã‚Šã?
1012 * 時刻ã®è¡¨ç¤ºæ–¹æ³•ã‚’æŒ?®šã—ã¾ã™ã?
1013 * 外部ã‹ã‚‰ä¸Žãˆã‚‹æ•°å—ã?ã€??ç¶šã—ã¦ã?‚‹å¿?¦ãŒã‚ã‚‹ãŸã‚ã€?¼‘ï¼é?æ•°ã§ã™ã?
1014 * ãŸã¨ãˆã?ã€?700 â†?17:00 , 2150 â†?21:30 ã¨ã?†æ„Ÿã˜ã§ã™ã?
1015 * 2400 ã‚’è¶?ˆã‚‹ã¨æ—¥ä»˜é•ã?«ãªã‚Šã¾ã™ã?
1016 *
1017 * 英語表è¨?:)ã¨æ—¥æœ¬èªžè¡¨è¨?æ™?ã®åŒºåˆ¥ã¨ã€?4時間をè¶?ˆã‚‹å?åˆã?表示方法ã«ã‚ˆã£ã¦ã€?¼–種類ã?パターンãŒå˜åœ¨ã—ã¾ã™ã?
1018 * ã€?1:ãã?ã¾ã¾ã€?4:00 ã¨ãªã‚Šã?åŠ?®—ã•れã¦ã?ã€?
1019 * ã€?2:ãã?ã¾ã¾ã€?:00 ã«æˆ»ã‚‹ã?(日付ã?ç„¡è¦?
1020 * ã€?3:ãã?ã¾ã¾ã€? 00:00 ã¨æ—¥ä»˜ãŒä»˜ä¸Žã•れるã€?
1021 * ã€?1:ãã?ã¾ã¾ã€?4æ™?0åˆ?ã¨ãªã‚Šã?åŠ?®—ã•れã¦ã?ã€?
1022 * ã€?2:ãã?ã¾ã¾ã€?0æ™?0åˆ?ã«æˆ»ã‚‹ã?(日付ã?ç„¡è¦?
1023 * ã€?3:ãã?ã¾ã¾ã€?æ—¥ 00æ™?0åˆ?ã¨æ—¥ä»˜ãŒä»˜ä¸Žã•れるã€?
1024 * åˆæœŸå€¤ã¯ã€ä½¿ç”¨ã—ãªã?-1)ã§ã™ã?
1025 *
1026 * @og.rev 5.5.2.1 (2012/05/07) æ–°è¦è¿½åŠ?
1027 *
1028 * @param type 時刻ã®è¡¨ç¤ºæ–¹æ³?E1,E2,E3,H1,H2,H3)
1029 */
1030 public void setTimeFormatType( final String type ) {
1031 String timeFormatType = StringUtil.nval( getRequestParameter( type ),null );
1032 chDataset.setTimeFormatType( timeFormatType );
1033 }
1034
1035 /**
1036 * ã€TAG】ラベルã®è¡¨ç¤ºå‘ãを縦ã«ã™ã‚‹ã‹ã©ã?‹[false/true]を指定ã—ã¾ã?åˆæœŸå€¤:false[横書ã])ã€?
1037 *
1038 * @og.tag
1039 * ChartCreate ã® rotationLabel ã¯ã€è§’度を指定ã§ãã¾ã—ãŸãŒã?NumberAxis ã§ã¯ã€?
1040 * 縦ã«ã™ã‚‹ã‹ã©ã?‹ã®æŒ?®šã—ã‹ã§ãã¾ã›ã‚“ã€?
1041 * ã“ã“ã§ã¯ã€true を指定ã™ã‚‹ã¨ãƒ©ãƒ™ãƒ«ã¯ã€ç¸¦æ›¸ãã«ãªã‚Šã¾ã™ã?
1042 * åˆæœŸå€¤ã¯ã€false(横書ã?ã§ã™ã?
1043 *
1044 * @og.rev 5.5.2.1 (2012/05/07) æ–°è¦è¿½åŠ?
1045 *
1046 * @param useVLavels ラベルã®è¡¨ç¤ºå‘ã [false:横書ã?true:縦書ã]
1047 */
1048 public void setUseVerticalLabels( final String useVLavels ) {
1049 boolean useVerticalLabels = StringUtil.nval( getRequestParameter( useVLavels ),false );
1050 chDataset.setUseVerticalLabels( useVerticalLabels );
1051 }
1052
1053 /**
1054 * シリアライズ用ã®ã‚«ã‚¹ã‚¿ãƒ?‚·ãƒªã‚¢ãƒ©ã‚¤ã‚ºæ›¸ãè¾¼ã¿ãƒ¡ã‚½ãƒ?ƒ‰
1055 *
1056 * @og.rev 4.0.0.0 (2006/09/31) æ–°è¦è¿½åŠ?
1057 * @serialData ä¸?ƒ¨ã®ã‚ªãƒ–ジェクãƒ?ChartDataset)ã¯ã€ã‚·ãƒªã‚¢ãƒ©ã‚¤ã‚ºã•れã¾ã›ã‚“ã€?
1058 *
1059 * @param strm ObjectOutputStreamオブジェク�
1060 * @throws IOException シリアライズã«é–¢ã™ã‚‹å…¥å‡ºåŠ›ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸå?å?
1061 */
1062 private void writeObject( final ObjectOutputStream strm ) throws IOException {
1063 strm.defaultWriteObject();
1064 }
1065
1066 /**
1067 * シリアライズ用ã®ã‚«ã‚¹ã‚¿ãƒ?‚·ãƒªã‚¢ãƒ©ã‚¤ã‚ºèªã¿è¾¼ã¿ãƒ¡ã‚½ãƒ?ƒ‰
1068 *
1069 * ã“ã“ã§ã¯ã€transient 宣è¨?•れãŸå†?ƒ¨å¤‰æ•°ã®å†??åˆæœŸåŒ–ãŒå¿?¦ãªãƒ•ィールドã?ã¿è¨å®šã—ã¾ã™ã?
1070 *
1071 * @og.rev 4.0.0.0 (2006/09/31) æ–°è¦è¿½åŠ?
1072 * @serialData ä¸?ƒ¨ã®ã‚ªãƒ–ジェクãƒ?ChartDataset)ã¯ã€èªã¿è¾¼ã¾ã‚Œã¾ã›ã‚“ã€?
1073 *
1074 * @param strm ObjectInputStreamオブジェク�
1075 * @see #release2()
1076 * @throws IOException シリアライズã«é–¢ã™ã‚‹å…¥å‡ºåŠ›ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸå?å?
1077 * @throws ClassNotFoundException クラスを見ã¤ã‘ã‚‹ã“ã¨ãŒã§ããªã‹ã£ãŸå?å?
1078 */
1079 private void readObject( final ObjectInputStream strm ) throws IOException , ClassNotFoundException {
1080 strm.defaultReadObject();
1081 chDataset = new ChartDataset();
1082 }
1083
1084 /**
1085 * ã“ã?オブジェクトã?æ–?—å?表ç¾ã‚’è¿”ã—ã¾ã™ã?
1086 * 基本çš?«ãƒ?ƒãƒ?‚°ç›®çš?«ä½¿ç”¨ã—ã¾ã™ã?
1087 *
1088 * @return ã“ã?ã‚¯ãƒ©ã‚¹ã®æ–?—å?表ç¾
1089 */
1090 @Override
1091 public String toString() {
1092 StringBuilder rtn = new StringBuilder( HybsSystem.BUFFER_MIDDLE );
1093
1094 rtn.append( "[" ).append( this.getClass().getName() ).append( "]" ).append( HybsSystem.CR );
1095 rtn.append( "dbid [" ).append( dbid ).append( "]" ).append( HybsSystem.CR );
1096 rtn.append( "sql [" ).append( sql ).append( "]" ).append( HybsSystem.CR );
1097 rtn.append( "dataset [" ).append( chDataset ).append( "]" ).append( HybsSystem.CR );
1098
1099 return rtn.toString();
1100 }
1101 }