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.7.8.0 (2014/07/04)" ; 202 203 private static final long serialVersionUID = 578020140704L ; 204 205 private transient ChartDataset chDataset = new ChartDataset(); 206 207 // 4.0.0.0 (2007/10/10) dbid ã®åˆæœŸå€¤ã‚’ã?"DEFAULT" ã‹ã‚‰ null ã«å¤‰æ›´ 208 private String dbid = null; 209 private String sql = null; 210 211 // 5.3.0.0 (2010/12/01) DBTableModel を利用ã—ã¦ã€ã‚°ãƒ©ãƒ•を作æ?ã—ã¾ã™ã? 212 private boolean useTableData = false; // äº’æ›æ€§ã®é–¢ä¿‚ã‹ã‚? 213 private String tableId = HybsSystem.TBL_MDL_KEY; 214 215 /** 216 * Taglibã®é–‹å§‹ã‚¿ã‚°ãŒè¦‹ã¤ã‹ã£ãŸã¨ãã«å‡¦ç?™ã‚?doStartTag() ã‚?オーãƒã?ライドã—ã¾ã™ã? 217 * 218 * @og.rev 5.3.0.0 (2010/12/01) useTableDataã«ã‚ˆã‚‹ãƒ??ã‚¿å–得方法ã?機è?追åŠ? 219 * 220 * @return 後続å?ç??æŒ?¤º( EVAL_BODY_BUFFERED ) 221 */ 222 @Override 223 public int doStartTag() { 224 // 5.3.0.0 (2010/12/01) useTableDataã«ã‚ˆã‚‹ãƒ??ã‚¿å–得方法ã?機è?追åŠ? 225 if( useTableData ) { // DBTableModel ã‹ã‚‰å–å¾—ã™ã‚‹ã? 226 DBTableModel table = (DBTableModel)getObject( HybsSystem.TBL_MDL_KEY ); 227 chDataset.makeDataset( table ); 228 229 return SKIP_BODY ; // Body を評価ã—ãªã? 230 } 231 else { 232 return EVAL_BODY_BUFFERED ; // Body を評価ã™ã‚‹ã€? extends BodyTagSupport æ™? 233 } 234 } 235 236 /** 237 * Taglibã®ã‚¿ã‚°æœ¬ä½“を処ç?™ã‚?doAfterBody() ã‚?オーãƒã?ライドã—ã¾ã™ã? 238 * 239 * @og.rev 5.3.0.0 (2010/12/01) ãƒ??タベã?ス検索処ç?‚’ã€doEndTag() メソãƒ?ƒ‰ã‹ã‚‰ç§»å‹? 240 * 241 * @return 後続å?ç??æŒ?¤º(SKIP_BODY) 242 */ 243 @Override 244 public int doAfterBody() { 245 sql = getBodyString(); 246 if( sql != null && sql.length() > 0 ) { 247 sql = sql.trim(); 248 } 249 250 // 5.3.0.0 (2010/12/01) doEndTag() メソãƒ?ƒ‰ã‹ã‚‰ç§»å‹? 251 boolean errFlag = true; 252 Connection conn = null; 253 try { 254 conn = ConnectionFactory.connection( dbid,getApplicationInfo() ); 255 chDataset.makeDataset( conn,sql ); 256 257 errFlag = false; // エラーã§ã¯ãªã? 258 } 259 catch( SQLException ex ) { 260 String errMsg = "ãƒ??ã‚¿ã‚»ãƒ?ƒˆä½œæ?時ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸã€? + HybsSystem.CR 261 + " SQL=" + sql + HybsSystem.CR 262 + ex.getMessage(); // 5.1.8.0 (2010/07/01) errMsg ä¿®æ£ 263 throw new HybsSystemException( errMsg,ex ); 264 } 265 finally { 266 if( errFlag ) { ConnectionFactory.remove( conn,dbid ); } // 削除 267 else { ConnectionFactory.close( conn,dbid ); } // è¿”å´ 268 } 269 270 return SKIP_BODY ; 271 } 272 273 /** 274 * Taglibã®çµ‚äº?‚¿ã‚°ãŒè¦‹ã¤ã‹ã£ãŸã¨ãã«å‡¦ç?™ã‚?doEndTag() ã‚?オーãƒã?ライドã—ã¾ã™ã? 275 * 276 * @og.rev 4.0.0.1 (2007/12/03) try ??catch ??finally ã‚’ãã¡ã‚“ã¨è¡Œã†ã€? 277 * @og.rev 5.2.1.0 (2010/10/01) debugPrint() メソãƒ?ƒ‰è¿½åŠ? 278 * @og.rev 5.3.0.0 (2010/12/01) ãƒ??タベã?ス検索処ç?‚’ã€doAfterBody() ã¸ç§»å‹? 279 * 280 * @return 後続å?ç??æŒ?¤º 281 */ 282 @Override 283 public int doEndTag() { 284 debugPrint(); // 5.2.1.0 (2010/10/01) debugPrint() メソãƒ?ƒ‰è¿½åŠ? 285 286 // ç?±ˆä¸Šã?ChartCreateTag ã®å˜åœ¨ãƒã‚§ãƒ?‚¯ãŒã“ã“ã§è¡Œã‚れるãŒã?DB検索処ç??ã€å?ã«è¡Œã£ã¦ã?‚‹ã€? 287 // ã¤ã¾ã‚Šã?ç„¡é§?ªQUERYãŒå®Ÿè¡Œã•れるå¯èƒ½æ€§ãŒå?ã¦ããŸãŒã?開発段階ã?ã¿ã®è©±ã§ã‚ã‚‹ã®ã§ã“ã“ã«æ®‹ã—ã¦ãŠãã€? 288 ChartCreateTag chartTag = (ChartCreateTag)findAncestorWithClass( this,ChartCreateTag.class ); 289 290 if( chartTag == null ) { 291 String errMsg = "chartCreate ã‚¿ã‚°ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸã€?; 292 throw new HybsSystemException( errMsg ); 293 } 294 295 chartTag.addChartDataset( chDataset ); 296 297 return EVAL_PAGE; 298 } 299 300 /** 301 * タグリブオブジェクトをリリースã—ã¾ã™ã? 302 * ã‚ャãƒ?‚·ãƒ¥ã•れã¦å†åˆ©ç”¨ã•れるã?ã§ã€ãƒ•ィールドã?åˆæœŸè¨å®šã‚’行ã„ã¾ã™ã? 303 * 304 * @og.rev 4.0.0.0 (2007/10/10) dbid ã®åˆæœŸå€¤ã‚’ã?"DEFAULT" ã‹ã‚‰ null ã«å¤‰æ›´ 305 * @og.rev 5.3.0.0 (2010/12/01) useTableData,tableId 属æ?追åŠ? 306 */ 307 @Override 308 protected void release2() { 309 super.release2(); 310 chDataset = new ChartDataset(); 311 dbid = null; 312 sql = null; 313 useTableData = false; // 5.3.0.0 (2010/12/01) 314 tableId = HybsSystem.TBL_MDL_KEY; // 5.3.0.0 (2010/12/01) 315 } 316 317 /** 318 * ã€TAGã€?通常ã¯ä½¿ã?¾ã›ã‚“)Datasetオブジェクトを作æ?ã™ã‚‹æ™‚ã?DB接続IDを指定ã—ã¾ã™ã? 319 * 320 * @og.tag 321 * Datasetオブジェクトを作æ?ã™ã‚‹æ™‚ã?DB接続IDを指定ã—ã¾ã™ã? 322 * ã“れã¯ã€ã‚·ã‚¹ãƒ?ƒ リソースã§ã€DEFAULT_DB_URL ç‰ã§æŒ?®šã—ã¦ã?‚‹ ãƒ??タベã?ス接続å? 323 * æƒ??ã«ã€XX_DB_URL を定義ã™ã‚‹ã“ã¨ã§ã€?dbid="XX" ã¨ã™ã‚‹ã¨ã€ã“㮠接続å?を使用ã—㦠324 * ãƒ??タベã?スã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãã¾ã™ã? 325 * 326 * @param id ãƒ??タベã?ス接続ID 327 */ 328 public void setDbid( final String id ) { 329 dbid = StringUtil.nval( getRequestParameter( id ),dbid ); 330 } 331 332 /** 333 * ã€TAG】ChartDataset ã®ãƒ??タタイプをæŒ?®šã—ã¾ã™ã? 334 * 335 * @og.tag 336 * ãƒãƒ£ãƒ¼ãƒˆã‚¿ã‚¤ãƒ?ã¯ã€å¤–部ã‹ã‚‰ãƒãƒ£ãƒ¼ãƒˆã‚’æŒ?®šã™ã‚‹ã?ã«ä¾¿åˆ©ãªã‚ˆã†ã«ã€ã‚ーåŒ? 337 * ã•れã¦ã?¾ã™ã?ã“ã?ã‚ーã«åŸºã¥ã?¦ã€ChartFactory クラス㮠338 * ãƒãƒ£ãƒ¼ãƒˆã‚¿ã‚¤ãƒ—変æ›è¡¨ã«åŸºã¥ã?¦ã€ãƒ¬ãƒ³ãƒ?ƒ©ãƒ¼ã‚??ãƒ??ã‚¿ã‚»ãƒ?ƒˆã‚’作æ?ã—ã¾ã™ã? 339 * 基本çš?«ã¯ã€ãƒãƒ£ãƒ¼ãƒˆã‚¿ã‚¤ãƒ?ã¯ã€ã“ã®ã€ãƒ¬ãƒ³ãƒ?ƒ©ãƒ¼åç§°ã‹ã‚‰æ±ºå®šã—ã¦ã?¾ã™ã? 340 * 341 * <table border="1" frame="box" rules="all" > 342 * <caption>å?¨®ã‚ªãƒ–ジェクトã?çµ?¿åˆã‚ã›ä¸?¦§</caption> 343 * <tr><th> ãƒãƒ£ãƒ¼ãƒˆã‚¿ã‚¤ãƒ? </th><th> レンãƒ?ƒ©ãƒ¼(org.jfree.chart.renderer.) </th><th> Dataset </th></tr> 344 * <tr><td> HybsLine </td><td> HybsLineRenderer </td><td> Category </td></tr> 345 * <tr><td> LineAndShape </td><td> category.LineAndShapeRenderer </td><td> Category </td></tr> 346 * <tr><td> Line3D </td><td> category.LineRenderer3D </td><td> Category </td></tr> 347 * <tr><td> StatisticalLineAndShape </td><td> category.StatisticalLineAndShapeRenderer </td><td> Category </td></tr> 348 * <tr><td> HybsBar </td><td> HybsBarRenderer </td><td> Category </td></tr> 349 * <tr><td> Bar </td><td> category.BarRenderer </td><td> Category </td></tr> 350 * <tr><td> Bar3D </td><td> category.BarRenderer3D </td><td> Category </td></tr> 351 * <tr><td> Area </td><td> category.AreaRenderer </td><td> Category </td></tr> 352 * <tr><td> HybsStackedBar </td><td> HybsStackedBarRenderer </td><td> Category </td></tr> 353 * <tr><td> StackedBar </td><td> category.StackedBarRenderer </td><td> Category </td></tr> 354 * <tr><td> StackedBar3D </td><td> category.StackedBarRenderer3D </td><td> Category </td></tr> 355 * <tr><td> StackedArea </td><td> category.StackedAreaRenderer </td><td> Category </td></tr> 356 * <tr><td> GroupedStackedBar </td><td> category.GroupedStackedBarRenderer </td><td> Category </td></tr> 357 * <tr><td> LayeredBar </td><td> category.LayeredBarRenderer </td><td> Category </td></tr> 358 * <tr><td> CategoryStep </td><td> category.CategoryStepRenderer </td><td> Category </td></tr> 359 * <tr><td> Level </td><td> category.LevelRenderer </td><td> Category </td></tr> 360 * <tr><td> MinMax </td><td> category.MinMaxCategoryRenderer </td><td> Category </td></tr> 361 * <tr><td> WaterfallBar </td><td> category.WaterfallBarRenderer </td><td> Category </td></tr> 362 * <tr><td> MultiplePie </td><td> null </td><td> Category </td></tr> 363 * <tr><td> SpiderWeb </td><td> null </td><td> Category </td></tr> 364 * <tr><td> Pie </td><td> null </td><td> Pie </td></tr> 365 * <tr><td> Pie3D </td><td> null </td><td> Pie </td></tr> 366 * <tr><td> Ring </td><td> null </td><td> Pie </td></tr> 367 * <tr><td> XYArea </td><td> xy.XYAreaRenderer </td><td> XY </td></tr> 368 * <tr><td> XYArea2 </td><td> xy.XYAreaRenderer2 </td><td> XY </td></tr> 369 * <tr><td> XYBlock </td><td> xy.XYBlockRenderer </td><td> XY </td></tr> 370 * <tr><td> CyclicXYItem </td><td> xy.CyclicXYItemRenderer </td><td> XY </td></tr> 371 * <tr><td> HighLow </td><td> xy.HighLowRenderer </td><td> XY </td></tr> 372 * <tr><td> StackedXYArea </td><td> xy.StackedXYAreaRenderer </td><td> XY </td></tr> 373 * <tr><td> StackedXYArea2 </td><td> xy.StackedXYAreaRenderer2 </td><td> XY </td></tr> 374 * <tr><td> StandardXYItem </td><td> xy.StandardXYItemRenderer </td><td> XY </td></tr> 375 * <tr><td> XYBubble </td><td> xy.XYBubbleRenderer </td><td> XY </td></tr> 376 * <tr><td> XYDifference </td><td> xy.XYDifferenceRenderer </td><td> XY </td></tr> 377 * <tr><td> XYDot </td><td> xy.XYDotRenderer </td><td> XY </td></tr> 378 * <tr><td> XYError </td><td> xy.XYErrorRenderer </td><td> XY </td></tr> 379 * <tr><td> XYLine3D </td><td> xy.XYLine3DRenderer </td><td> XY </td></tr> 380 * <tr><td> XYLineAndShape </td><td> xy.XYLineAndShapeRenderer </td><td> XY </td></tr> 381 * <tr><td> XYStepArea </td><td> xy.XYStepAreaRenderer </td><td> XY </td></tr> 382 * <tr><td> XYStep </td><td> xy.XYStepRenderer </td><td> XY </td></tr> 383 * <tr><td> PolarItem </td><td> DefaultPolarItemRenderer </td><td> XY </td></tr> 384 * <tr><td> Meter </td><td> null </td><td> Value </td></tr> 385 * <tr><td> Thermometer </td><td> null </td><td> Value </td></tr> 386 * <tr><td> Compass </td><td> null </td><td> Value </td></tr> 387 * <tr><td> Gantt </td><td> category.GanttRenderer </td><td> TaskSeries </td></tr> 388 * <tr><td> XYBarV </td><td> xy.XYBarRenderer </td><td> TimeSeries </td></tr> 389 * <tr><td> ClusteredXYBarV </td><td> xy.ClusteredXYBarRenderer </td><td> TimeSeries </td></tr> 390 * <tr><td> YIntervalV </td><td> xy.YIntervalRenderer </td><td> TimeSeries </td></tr> 391 * <tr><td> DeviationV </td><td> xy.DeviationRenderer </td><td> TimeSeries </td></tr> 392 * <tr><td> TimeSeriesLineV </td><td> xy.StandardXYItemRenderer </td><td> TimeSeries </td></tr> 393 * <tr><td> TimeSeriesLineH </td><td> xy.StandardXYItemRenderer </td><td> TimeSeries </td></tr> 394 * <tr><td> TimeSeriesBarV </td><td> xy.XYBarRenderer </td><td> TimeSeries </td></tr> 395 * <tr><td> TimeSeriesBarH </td><td> xy.XYBarRenderer </td><td> TimeSeries </td></tr> 396 * <tr><td> StackedTimeSeriesLineV </td><td> xy.StandardXYItemRenderer </td><td> TimeSeries </td></tr> 397 * <tr><td> StackedTimeSeriesLineH </td><td> xy.StandardXYItemRenderer </td><td> TimeSeries </td></tr> 398 * </table> 399 * 400 * Meter 㨠Compass ã¯ã€ã•らã«ã€needleType ãŒæŒ‡å®šã§ãã¾ã™ã? 401 * ã“れã¯ã€Meter_PIE ã‚??Compass_Arrow ãªã©ã¨ã™ã‚‹ã“ã¨ã§ã€å½¢çŠ¶ã‚’æŒ‡å®šã§ãã¾ã™ã? 402 * Meter ã«ã¯ã€CHORD,CIRCLE(åˆæœŸå€¤),PIE 403 * Compass ã«ã¯ã€Arrow,Line,Long,Pin,Plum,Pointer(åˆæœŸå€¤),Ship,Wind,Arrow,MiddlePin ãŒæŒ‡å®šã§ãã¾ã™ã? 404 * 405 * @og.rev 5.7.8.0 (2014/07/04) needleType 対å¿? 406 * 407 * @param chartType ãƒãƒ£ãƒ¼ãƒˆã‚¿ã‚¤ãƒ? 408 * @see org.jfree.chart.renderer.category.CategoryItemRenderer 409 * @see org.jfree.chart.renderer.xy.XYItemRenderer 410 */ 411 public void setChartType( final String chartType ) { 412 // chDataset.setChartType( getRequestParameter( chartType ) ); 413 414 // 5.7.8.0 (2014/07/04) needleType 対å¿? 415 String chType = getRequestParameter( chartType ) ; 416 417 int adrs = chType.indexOf( '_' ); 418 if( adrs < 0 ) { 419 // 今ã¾ã§é€šã‚Š chartType ã®è¨å®? 420 chDataset.setChartType( chType ); 421 } 422 else { 423 chDataset.setChartType( chType.substring(0,adrs) ); 424 chDataset.setNeedleType( chType.substring(adrs+1) ); 425 } 426 } 427 428 /** 429 * ã€TAG】グラフ化ã™ã‚‹ãƒ??ã‚¿ã‚?DBTableModel ã‹ã‚‰ä½œæ?ã™ã‚‹ã‹ã©ã?‹(åˆæœŸå€¤:false)ã€? 430 * 431 * @og.tag 432 * useTableData="false"(åˆæœŸå€¤)ã®å ´åˆã?ã€BODYéƒ¨ã«æ›¸ã‹ã‚Œã?SQL æ–?‚’実行ã—ã¦ãƒ??ã‚¿ã‚’å–å¾—ã—ã¾ã™ã? 433 * useTableData="true" ã«ã™ã‚‹ã¨ã€ãã®å‰ã? query ã‚¿ã‚°ç‰ã§ä½œæ?ã—㟠DBTableModel を利用ã—㦠434 * グラフ化ã—ã¾ã™ã?ãã?å ´åˆã?ã€BODY部㮠SQL æ–??ã€ç„¡è¦–ã•れã¾ã™ã? 435 * 利用ã™ã‚‹ DBTableModel ã¯ã€tableId 㨠scope 属æ?ã‹ã‚‰å–å¾—ã—ã¾ã™ã? 436 * 437 * @og.rev 5.3.0.0 (2010/12/01) æ–°è¦è¿½åŠ? 438 * 439 * @param flag ãƒ??ã‚¿ã‚’DBTableModelを利用ã™ã‚‹å ´åˆã?true 440 */ 441 public void setUseTableData( final String flag ) { 442 useTableData = StringUtil.nval( getRequestParameter( flag ),useTableData ); 443 } 444 445 /** 446 * ã€TAGã€?通常ã¯ä½¿ã?¾ã›ã‚“)çµæžœã®DBTableModelã‚’ã?sessionã«ç™»éŒ²ã™ã‚‹ã¨ãã?ã‚ーを指定ã—ã¾ã? 447 * (åˆæœŸå€¤:HybsSystem#TBL_MDL_KEY[={@og.value org.opengion.hayabusa.common.HybsSystem#TBL_MDL_KEY}])ã€? 448 * 449 * @og.tag 450 * æ¤œç´¢çµæžœã‚ˆã‚Šã€DBTableModelオブジェクトを作æ?ã—ã¾ã™ã?ã“れをã?下æµã?viewã‚¿ã‚°ç‰ã« 451 * 渡ã™å?åˆã«ã€??常ã¯ã€session を利用ã—ã¾ã™ã?ãã?å ´åˆã?登録ã‚ーã§ã™ã? 452 * query ã‚¿ã‚°ã‚’åŒæ™‚ã«å®Ÿè¡Œã—ã¦ã€çµæžœã‚’求ã‚ã‚‹å?åˆã?åŒä¸?ƒ¡ãƒ¢ãƒªã«é…ç½®ã•れる為ã€? 453 * ã“ã? tableId 属æ?を利用ã—ã¦ã€ãƒ¡ãƒ¢ãƒªç©ºé–“ã‚’åˆ?‘ã¾ã™ã? 454 * (åˆæœŸå€¤:HybsSystem#TBL_MDL_KEY[={@og.value org.opengion.hayabusa.common.HybsSystem#TBL_MDL_KEY}])ã€? 455 * 456 * @param id sessionã«ç™»éŒ²ã™ã‚‹æ™‚ã? ID 457 */ 458 public void setTableId( final String id ) { 459 tableId = StringUtil.nval( getRequestParameter( id ), tableId ); 460 } 461 462 /** 463 * ã€TAG】シリーズå˜ä½ã?凡ä¾?ã®è¡¨ç¤ºå¯å¦ã‚’è¨å®šã—ã¾ã™ã? 464 * 465 * @og.tag 466 * シリーズå˜ä½ã?凡ä¾?ã®è¡¨ç¤ºå¯å¦ã‚’è¨å®šã—ã¾ã™ã? 467 * 468 * @param baseLegend シリーズå˜ä½ã?凡ä¾?ã®è¡¨ç¤ºå¯å¦ 469 */ 470 public void setBaseLegend( final String baseLegend ) { 471 boolean flag = StringUtil.nval( getRequestParameter( baseLegend ),true ); 472 chDataset.setBaseLegend( flag ); 473 } 474 475 /** 476 * ã€TAG】縦軸ã®è¡¨ç¤ºå称を指定ã—ã¾ã™ã? 477 * 478 * @og.tag 479 * 縦軸ã®è¡¨ç¤ºå称を指定ã—ã¾ã™ã? 480 * 481 * @param valueLabel 縦軸ã®è¡¨ç¤ºåç§° 482 */ 483 public void setValueLabel( final String valueLabel ) { 484 chDataset.setValueLabel( getRequestParameter( valueLabel ) ); 485 } 486 487 /** 488 * ã€TAG】ã?ーカーラインã®è¨å®šå?をカンマ区åˆ?‚Šå½¢å¼ã§è¤?•°æŒ?®šã—ã¾ã™ã? 489 * 490 * @og.tag 491 * æŒ?®šã?値ã«ãƒžã?カーラインを引ãã¾ã™ã? 492 * 色ã¯ã€setMarkColors( String ) ã§æŒ?®šã—ã¾ã™ã? 493 * markColors ã¨ã€å?æ•°ã‚’ã‚ã‚ã›ã¦è¨å®šã™ã‚‹å¿?¦ãŒã‚りã¾ã™ã? 494 * ã©ã¡ã‚‰ã‹ãŒã?æŒ?®šã•れã¦ã?ªã??åˆã?ã€ã?ーカー表示ã•れã¾ã›ã‚“ã€? 495 * dynamicOCNo を使用ã™ã‚‹å ´åˆã?ã€ãã®Values ã®ä¸¦ã³ã®ç®?‰€ã«ã€? 496 * "G" ã¨ã?†æ–?—å?ã‚’è¨å®šã—ã¦ä¸‹ã•ã?? 497 * 例ï¼?000,G 基準1ã?ã€?000ã®ç›´ç·šã?基準2ã?ã€ã‚°ãƒ©ãƒ?ã¨ã?†æ„味ã€? 498 * 499 * @param markValues マã?カーラインã®è¨å®šå?(CSVå½¢å¼? 500 * @see #setMarkColors( String ) 501 */ 502 public void setMarkValues( final String markValues ) { 503 String vals = StringUtil.nval( getRequestParameter( markValues ),null ); 504 if( vals != null ) { 505 chDataset.setMarkValues( StringUtil.csv2Array( vals ) ); 506 } 507 } 508 509 /** 510 * ã€TAG】ã?ーカーラインæç”»æ™‚ã«ã€ãã®è¨å®šå?を表示ã—ã¾ã™ã? 511 * 512 * @og.tag 513 * マã?カーラインã®ç¸¦è»¸ã®è¨å®šå?(markValues)ã«ã€è¨å®šå?をラベル表示ã—ã¾ã™ã? 514 * ä½ç½®ã¯ã€TextAnchor.BASELINE_LEFT 固定ã§ã™ã? 515 * åˆæœŸå€¤ã¯ã€è¡¨ç¤ºã™ã‚‹(true)ã§ã™ã? 516 * 517 * @og.rev 4.1.1.0 (2008/02/04) æ–°è¦è¿½åŠ? 518 * 519 * @param useAnchor true:è¨å®šå?を表示ã™ã‚‹ã€? 520 */ 521 public void setUseMarkAnchor( final String useAnchor ) { 522 boolean flag = StringUtil.nval( getRequestParameter( useAnchor ),true ); 523 chDataset.setUseMarkAnchor( flag ); 524 } 525 526 /** 527 * ã€TAG】ã?ーカーラインã®è‰²ã‚’カンマ区åˆ?‚Šå½¢å¼ã§è¤?•°æŒ?®šã—ã¾ã™ã? 528 * 529 * @og.tag 530 * マã?カーラインã¨ã¯ã€ç¸¦è»¸è¨å®šã?ラインã®äº‹ã§ã€ç¸¦è»¸ã®è¨å®šå?(markValues)ã« 531 * 横方å‘ã«ãƒ©ã‚¤ãƒ³ã‚’付与ã—ã¾ã™ã?ã“ã?ラインã®è‰²ã‚’ã?カンマ区åˆ?‚Šå½¢å¼ã§ 532 * æŒ?®šã—ã¾ã™ã? 533 * markValues ã¨ã€ã‚ã‚ã›ã¦è¨å®šã™ã‚‹å¿?¦ãŒã‚りã¾ã™ã? 534 * 個数ãŒç•°ãªã‚‹å?åˆã?ã€markValues ãŒå„ªå…ˆã•れã?ç„¡æŒ?®šã?å ´åˆã?ã€Color.REDã§ 535 * 表示ã•れã¾ã™ã? 536 * 537 * æŒ?®šæ–‡å—å?ã¯ã€java.awt.Color クラスã®static フィールドåã§æŒ?®šã—ã¾ã™ã? 538 * BLACK , BLUE , CYAN , DARK_GRAY , GRAY , GREEN , LIGHT_GRAY , 539 * MAGENTA , ORANGE , PINK , RED , WHITE , YELLOW , (PURPLE) ãŒæŒ‡å®šã§ãã¾ã™ã? 540 * ã¾ãŸã?#XXXXXXå½¢å¼ã?16bitRGB表è¨?ã§ã‚‚指定å¯èƒ½ã§ã™ã? 541 * <pre> 542 * BLACK , BLUE , CYAN , DARK_GRAY , GRAY , GREEN , LIGHT_GRAY , 543 * MAGENTA , ORANGE , PINK , RED , WHITE , YELLOW , (PURPLE) 544 * #XXXXXXå½¢å¼ã?16bitRGB表è¨?ã§ã‚‚指定å¯èƒ½ã§ã™ã? 545 * </pre> 546 * 547 * @param markColors マã?カーラインã®è‰²(CSVå½¢å¼? 548 * @see java.awt.Color#BLACK 549 * @see #setMarkValues( String ) 550 */ 551 public void setMarkColors( final String markColors ) { 552 String clrs = StringUtil.nval( getRequestParameter( markColors ),null ); 553 if( clrs != null ) { 554 chDataset.setMarkColors( StringUtil.csv2Array( clrs ) ); 555 } 556 } 557 558 /** 559 * ã€TAG】ã?ーカーラインã®è¶?Žæ™‚ã?Shape色をカンマ区åˆ?‚Šå½¢å¼ã§è¤?•°æŒ?®šã—ã¾ã™ã? 560 * 561 * @og.tag 562 * HybsLine ã§ã®ã¿ä½¿ç”¨å¯èƒ½ã§ã™ã? 563 * マã?カーラインを使用ã™ã‚‹å ´åˆã«ã€ãã®ãƒ©ã‚¤ãƒ³ã‚’è¶?ˆãªã?‰²ã€è¶?ˆã‚‹è‰²ã‚’指定ã—ã¾ã™ã? 564 * ã“ã?è‰²ã®æŒ?®šã?ã€ã?ーカーラインã®è‰²ã‚??ーカーラインã®è¨å®šå?ã®å€‹æ•°?‹ï¼‘ã« 565 * ãªã‚Šã¾ã™ã?ã¤ã¾ã‚Šã?色?‘:è¨å®šå??‘:色?’:è¨å®šå??’:色??ã¨ãªã‚Šã¾ã™ã? 566 * 色?‘ã?ã€è¨å®šå??‘よりå°ã•ã??åˆã«ä½¿ç”¨ã•れã€è‰²?’ã?ã€è¨å®šå??‘より大ããã€? 567 * è¨å®šå??’よりå°ã•ã??åˆã?色?“ã?ã€è¨å®šå??’より大ãã„å ´åˆã«ãªã‚Šã¾ã™ã? 568 * 569 * æŒ?®šæ–‡å—å?ã¯ã€java.awt.Color クラスã®static フィールドåã§æŒ?®šã—ã¾ã™ã? 570 * BLACK , BLUE , CYAN , DARK_GRAY , GRAY , GREEN , LIGHT_GRAY , 571 * MAGENTA , ORANGE , PINK , RED , WHITE , YELLOW , (PURPLE) ãŒæŒ‡å®šã§ãã¾ã™ã? 572 * ã¾ãŸã?#XXXXXXå½¢å¼ã?16bitRGB表è¨?ã§ã‚‚指定å¯èƒ½ã§ã™ã? 573 * markValues ã¨ã€ã‚ã‚ã›ã¦è¨å®šã™ã‚‹å¿?¦ãŒã‚りã¾ã™ã? 574 * ã©ã¡ã‚‰ã‹ãŒã?æŒ?®šã•れã¦ã?ªã??åˆã?ã€ã?ーカー表示ã•れã¾ã›ã‚“ã€? 575 * <pre> 576 * BLACK , BLUE , CYAN , DARK_GRAY , GRAY , GREEN , LIGHT_GRAY , 577 * MAGENTA , ORANGE , PINK , RED , WHITE , YELLOW , (PURPLE) 578 * #XXXXXXå½¢å¼ã?16bitRGB表è¨?ã§ã‚‚指定å¯èƒ½ã§ã™ã? 579 * </pre> 580 * 581 * @og.rev 4.0.3.0 (2008/01/07) æ–°è¦è¿½åŠ? 582 * 583 * @param overColors マã?カーラインã®è¶?Žæ™‚ã?Shape色(CSVå½¢å¼? 584 * @see java.awt.Color#BLACK 585 */ 586 public void setMarkOverColors( final String overColors ) { 587 String clrs = StringUtil.nval( getRequestParameter( overColors ),null ); 588 if( clrs != null ) { 589 chDataset.setMarkOverColors( StringUtil.csv2Array( clrs ) ); 590 } 591 } 592 593 /** 594 * ã€TAG】動çš?ªãƒžã?カーラインã®åŸºæº–シリーズ番å·ã‚’è¨å®šã—ã¾ã?åˆæœŸå€¤:null)ã€? 595 * 596 * @og.tag 597 * å‹•çš„ãªãƒžã?カーラインを使用ã™ã‚‹å ´åˆã?ã€åŸºæº–å?ã¨ãªã‚‹ã‚·ãƒªãƒ¼ã‚ºç•ªå·ã‚’指定ã—ã¾ã™ã? 598 * 599 * マã?ã‚«ãƒ¼ãƒ©ã‚¤ãƒ³ã®æœ?¸‹ä½é–¾å€¤ã«ç›¸å½“ã—ã¾ã™ã?ã“れã¯ã€ã‚°ãƒ©ãƒ•化ã•れã¾ã™ãŒã€? 600 * Shape ã¯è‡ªå‹•çš„ã«å‰Šé™¤ã•れã¾ã™ã? 601 * ã“ã?è¨å®šã‚’使用ã™ã‚‹å ´åˆã?æœ??ã®ãƒ??ã‚¿ã«ã¯ã€å¿?šShapeãŒä»˜ãã¾ã™ã?ãれ以外ã? 602 * ãƒ??ã‚¿ã«ã€Shape を付ã‘ã‚‹ã‹ã©ã?‹ã¯ã€shapesVisible 属æ?ã§æŒ?®šã—ã¾ã™ã? 603 * ã“ã?ç·šã?色ã¯ã€markColors ã§æŒ?®šã—ãŸã?æœ?¸‹ä½ã?色ã«ãªã‚Šã¾ã™ã?ã¾ãŸã? 604 * markValues ã§æŒ?®šã—ãŸã?æœ?¸‹ä½ã?値ã¯ã€ä½¿ç”¨ã•れã¾ã›ã‚“。ãŸã?—ã€è‰²æŒ?®šã? 605 * 関係上ã?è¨å®šã—ã¦ãŠãå¿?¦ãŒã‚りã¾ã™ã? 606 * ã¾ãŸã?isValueVisible == true ã§ã€è¨å®šå?ã®å€¤è¡¨ç¤ºã‚’行ã†å ´åˆã‚‚ã€æœ€ä¸‹ä½ã? 607 * 値ã¯è¡¨ç¤ºã—ãªã?‚ˆã?«ã—ã¾ã™ã? 608 * åˆæœŸå€¤ã¯ã€ä½¿ç”¨ã—ãªã?null)ã§ã™ã? 609 * 610 * @og.rev 4.1.1.0 (2008/02/04) æ–°è¦è¿½åŠ? 611 * @og.rev 4.1.1.0 (2008/02/19) setUseDynamicOC â‡?setDynamicOCNo 612 * 613 * @param dynamicOCNo true:å‹•çš„ãªãƒžã?カーラインã®åŸºæº–ã‚·ãƒªãƒ¼ã‚ºç•ªå· 614 */ 615 public void setDynamicOCNo( final String dynamicOCNo ) { 616 int ocNo = StringUtil.nval( getRequestParameter( dynamicOCNo ),-1 ); 617 chDataset.setDynamicOCNo( ocNo ); 618 } 619 620 /** 621 * ã€TAG】ãƒãƒ£ãƒ¼ãƒˆã?ç¸¦è»¸ã®æœ?°å?ã‚’ã‚»ãƒ?ƒˆã—ã¾ã?åˆæœŸå€¤:自動計ç®?ã€? 622 * 623 * @og.tag 624 * 何もæŒ?®šã—ãªã??åˆã?ã€ãƒ‡ãƒ¼ã‚¿ã®æœ?°å?ã‹ã‚‰ã€è?å‹•çš„ã«è¨ˆç®—ã—ã¾ã™ã? 625 * 626 * @param lowerBound ç¸¦è»¸ã®æœ?°å? 627 */ 628 public void setLowerBound( final String lowerBound ) { 629 chDataset.setLowerBound( getRequestParameter( lowerBound ) ); 630 } 631 632 /** 633 * ã€TAG】ãƒãƒ£ãƒ¼ãƒˆã?ç¸¦è»¸ã®æœ?¤§å€¤ã‚’ã‚»ãƒ?ƒˆã—ã¾ã?åˆæœŸå€¤:自動計ç®?ã€? 634 * 635 * @og.tag 636 * 何もæŒ?®šã—ãªã??åˆã?ã€ãƒ‡ãƒ¼ã‚¿ã®æœ?¤§å€¤ã‹ã‚‰ã€è?å‹•çš„ã«è¨ˆç®—ã—ã¾ã™ã? 637 * 638 * @param upperBound ç¸¦è»¸ã®æœ?¤§å€¤ 639 */ 640 public void setUpperBound( final String upperBound ) { 641 chDataset.setUpperBound( getRequestParameter( upperBound ) ); 642 } 643 644 /** 645 * ã€TAG】ãƒãƒ£ãƒ¼ãƒˆã?縦軸ã®ç›®ç››ã?å¹?‚’ã‚»ãƒ?ƒˆã—ã¾ã?åˆæœŸå€¤:自動計ç®?ã€? 646 * 647 * @og.tag 648 * 何もæŒ?®šã—ãªã??åˆã?ã€ãƒ‡ãƒ¼ã‚¿ã®ç¯?›²ã‹ã‚‰ã€è?å‹•çš„ã«è¨ˆç®—ã—ã¾ã™ã? 649 * 650 * @og.rev 4.0.3.0 (2008/01/07) æ–°è¦è¿½åŠ? 651 * 652 * @param size 縦軸ã®ãƒãƒƒã‚¯(ç›®ç›?ã®å¹? 653 */ 654 public void setTickSize( final String size ) { 655 chDataset.setTickSize( getRequestParameter( size ) ); 656 } 657 658 /** 659 * ã€TAG】ãƒãƒ¼ãƒãƒ£ãƒ¼ãƒˆã?グラãƒ??ション処ç?‚’行ã†ã‹ã©ã?‹[true/false]ã‚’ã‚»ãƒ?ƒˆã—ã¾ã?åˆæœŸå€¤:false)ã€? 660 * 661 * @og.tag 662 * 通常ã®ãƒã?ãƒãƒ£ãƒ¼ãƒˆã?ã€å˜ä¸?‰²è¡¨ç¤ºã§è¡¨ã•れã¾ã™ãŒã€ã“れã«ã‚°ãƒ©ãƒ??ション効果を 663 * ä»˜åŠ ã™ã‚‹ã‹ã©ã?‹ã‚’指定ã—ã¾ã™ã? 664 * 通常ã®ãƒã?ãƒãƒ£ãƒ¼ãƒˆãŒã€å°‘ã—ãれã?«è¦‹ãˆã¾ã™ã? 665 * åˆæœŸå€¤ã¯ã€false(使用ã—ãªã?ã§ã™ã? 666 * 667 * @param useGradient グラãƒ??ション処ç?[true:ã™ã‚‹/false:ã—ãªã„] 668 */ 669 public void setUseGradient( final String useGradient ) { 670 boolean flag = StringUtil.nval( getRequestParameter( useGradient ),false ); 671 chDataset.setUseGradient( flag ); 672 } 673 674 /** 675 * ã€TAG】ラインãƒãƒ£ãƒ¼ãƒˆã?ãƒã‚¤ãƒ³ãƒˆã‚’四角表示ã™ã‚‹ã‹ã©ã?‹ã‚’指定ã—ã¾ã?åˆæœŸå€¤:true)ã€? 676 * 677 * @og.tag 678 * ラインãƒãƒ£ãƒ¼ãƒˆã?ã€??常ã€ç·šå?ã§è¡¨ã•れã€å„ãƒã‚¤ãƒ³ãƒˆã«ã¤ã?¦ã‚‚ã?ç·šå?ã§æŽ¥ç¶šã•れã¾ã™ã? 679 * shapesVisible ã‚?true ã«è¨å®šã™ã‚‹ã¨ã€å„ãƒã‚¤ãƒ³ãƒˆãŒã€ç·šä¸Šã«å››è§’ã表示ã•れã€? 680 * ãã?ãƒã‚¤ãƒ³ãƒˆã?ä½ç½®ã‚’ã?容易ã«åˆ¤æ–出æ¥ã‚‹ã‚ˆã?«ãªã‚Šã¾ã™ã? 681 * åˆæœŸå€¤ã¯ã€true( LineAndShape )ã§ã™ã? 682 * 683 * @param shapesVisible ãƒã‚¤ãƒ³ãƒˆã‚’四角表示ã™ã‚‹ã‹ã©ã?‹ 684 */ 685 public void setShapesVisible( final String shapesVisible ) { 686 boolean flag = StringUtil.nval( getRequestParameter( shapesVisible ),true ); 687 chDataset.setShapesVisible( flag ); 688 } 689 690 /** 691 * ã€TAG】データ毎ã«Shapeã‚’å?り替ãˆã‚‹æ™‚ã?色ã®ç¹°è¿”ã—パターンを文å—å?é…å?ã§æŒ?®šã—ã¾ã™ã? 692 * 693 * @og.tag 694 * HybsLine ã§ã®ã¿ä½¿ç”¨å¯èƒ½ã§ã™ã? 695 * ã“れã¯ã€ãƒ‡ãƒ¼ã‚¿ãã?ã‚‚ã?ãŒã?ç¹°è¿”ã—æ€§ã®ã‚ã‚‹å ´åˆã«ã€ãã®ç¹°è¿”ã—æ€§ã«å¯¾å¿œã—ã? 696 * 形状ã®Shape を表示ã•ã›ã‚‹å?åˆã«ä½¿ç”¨ã—ã¾ã™ã? 697 * ç¹°è¿”ã—Shapeã®å½¢çжã¯ã€JFreeChart ã®ã‚·ãƒªãƒ¼ã‚ºæ¯Žã?ç¹°è¿”ã—æ¨™æº–形状を使用ã—ã¾ã™ã? 698 * ç¾åœ¨ã®ãƒã?ジョンã§ã¯ã€?¼‘ï¼å?ã¾ã§ã®ç¹°è¿”ã—ã«å¯¾å¿œå¯èƒ½ã§ã™ã? 699 * ç¹°è¿”ã—色をã?æŒ?®šã—ãŸå?ã?‘ã€??ã«ä½¿ç”¨ã•れã¦ã?ã¾ã™ã? 700 * 701 * æŒ?®šæ–‡å—å?ã¯ã€java.awt.Color クラスã®static フィールドåã§æŒ?®šã—ã¾ã™ã? 702 * BLACK , BLUE , CYAN , DARK_GRAY , GRAY , GREEN , LIGHT_GRAY , 703 * MAGENTA , ORANGE , PINK , RED , WHITE , YELLOW , (PURPLE) ãŒæŒ‡å®šã§ãã¾ã™ã? 704 * ã¾ãŸã?#XXXXXXå½¢å¼ã?16bitRGB表è¨?ã§ã‚‚指定å¯èƒ½ã§ã™ã? 705 * 706 * @og.rev 4.0.3.0 (2008/01/07) æ–°è¦è¿½åŠ? 707 * 708 * @param colors ãƒ??タ毎ã?色ã®ç¹°è¿”ã—パターン(æ–?—å?é…å?) 709 * @see java.awt.Color#BLACK 710 */ 711 public void setShapeColors( final String colors ) { 712 String clrs = StringUtil.nval( getRequestParameter( colors ),null ); 713 if( clrs != null ) { 714 chDataset.setShapeColors( StringUtil.csv2Array( clrs ) ); 715 } 716 } 717 718 /** 719 * ã€TAG】shapeã®å¤§ãã•ã‚’å?çŽ?Œ‡å®šã§å¤‰æ›´ã—ã¾ã?åˆæœŸå€¤:null)ã€? 720 * 721 * @og.tag 722 * ラインãƒãƒ£ãƒ¼ãƒˆã?Shape(å?‚°ãƒ©ãƒ•ã?ãƒã‚¤ãƒ³ãƒˆã?マã?カー)ã®å¤§ãã•ã¯ã€??常ã¯ã€? 723 * 自動è¨å®šã•れã¾ã™ã? 724 * ã“ã?大ãã•ã‚’ã?å€çއæŒ?®šã§ã€å¤‰æ›´å¯èƒ½ã§ã™ã? 725 * æŒ?®šã?ã€double åž‹ã§ã™ã? 726 * åˆæœŸå€¤ã¯ã€null ã¯ã€ã‚¹ã‚±ãƒ¼ãƒ«å¤‰æ›´ã—ã¾ã›ã‚“(自動è¨å®šã?ã¾ã¾ã®å¤§ãã•) 727 * 728 * @og.rev 4.1.1.0 (2008/02/04) æ–°è¦è¿½åŠ? 729 * 730 * @param scale shapeã®å¤§ãã•ã®å€çއ 731 */ 732 public void setShapeScale( final String scale ) { 733 String shapeScale = StringUtil.nval( getRequestParameter( scale ),null ); 734 if( shapeScale != null ) { 735 chDataset.setShapeScale( shapeScale ); 736 } 737 } 738 739 /** 740 * ã€TAG】ラインãƒãƒ£ãƒ¼ãƒˆã?線をドットラインã«ã™ã‚‹ã‹ã©ã?‹[true/false]を指定ã—ã¾ã?åˆæœŸå€¤:false[ç·šå?])ã€? 741 * 742 * @og.tag 743 * ラインãƒãƒ£ãƒ¼ãƒˆã?ã€??常ã€ç·šå?ã§è¡¨ã•れã¾ã™ã? 744 * ã“れã«ã€ç‚¹ç·šã§è¡¨ã™ã“ã¨ã§ã€ã‚°ãƒ©ãƒ•ã?é•ã„ã‚’ã?色ã?‘ã§ãªã形状ã§ã‚‚è˜åˆ¥ 745 * ã—ã‚„ã™ãã™ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã™ã? 746 * åˆæœŸå€¤ã¯ã€false(ç·šå?)ã§ã™ã? 747 * 748 * @param useDottedLine ドットラインã«ã™ã‚‹ã‹ã©ã?‹ [true:点ç·?false:ç·šå?] 749 */ 750 public void setUseDottedLine( final String useDottedLine ) { 751 boolean flag = StringUtil.nval( getRequestParameter( useDottedLine ),false ); 752 chDataset.setUseDottedLine( flag ); 753 } 754 755 /** 756 * ã€TAG】è¤?•°ãƒãƒ£ãƒ¼ãƒˆæç”»æ™‚ã?ãƒãƒ£ãƒ¼ãƒˆè‰²ã®ç¹°è¿”ã—パターンをCVSå½¢å¼ã§è¤?•°æŒ?®šã—ã¾ã™ã? 757 * 758 * @og.tag 759 * 通常ã€è¤?•°ã®ãƒãƒ£ãƒ¼ãƒˆã‚’åŒæ™‚ã«è¡¨ç¤ºã•ã›ã‚‹å?åˆã?ã€ç¸¦è»¸ãŒå?通ã§ã‚れã°ã€? 760 * ?‘回ã®Selectåˆ?§è¤?•°ãƒ??ã‚¿ã‚’å–å¾—ã—ã¾ã™ã? 761 * ã“ã?ã€ãƒ‡ãƒ¼ã‚¿ã‚’シリーズã¨å‘¼ã‚“ã§ãŠã‚Šã€ã“れを区別ã™ã‚‹ç‚ºã«ã€è‰²ã‚’å?ã‘ã¾ã™ã? 762 * åˆæœŸå€¤ã¯ã€JFreeChart ãŒè?å‹•ã§å‰²ã‚ŠæŒ¯ã‚Šã¾ã™ã? 763 * ã“れをã?外部ã‹ã‚‰CVSå½¢å¼ã§ã€ã‚«ãƒ³ãƒžåŒºåˆ?‚Šã§è‰²ã‚³ãƒ¼ãƒ‰ã‚’æŒ?®šã—ã¾ã™ã? 764 * æŒ?®šãƒ‡ãƒ¼ã‚¿ãŒå¤šã„å ´åˆã?ã€å¤šã„åˆ??色ã¯ä½¿ç”¨ã•れã¾ã›ã‚“。少ãªã??åˆã?ã€? 765 * é ?•ªã«ç¹°ã‚Šè¿”ã—ã¦ä½¿ç”¨ã•れã¾ã™ã? 766 * 例ãˆã°ã€?¼‘色ã?‘æŒ?®šã—ãŸå?åˆã?ã€ã™ã¹ã¦ã®ã‚·ãƒªãƒ¼ã‚ºãŒåŒã˜è‰²ã§è¡¨ã•れã¾ã™ã? 767 * 768 * æŒ?®šæ–‡å—å?ã¯ã€java.awt.Color クラスã®static フィールドåã§æŒ?®šã—ã¾ã™ã? 769 * BLACK , BLUE , CYAN , DARK_GRAY , GRAY , GREEN , LIGHT_GRAY , 770 * MAGENTA , ORANGE , PINK , RED , WHITE , YELLOW , (PURPLE) ãŒæŒ‡å®šã§ãã¾ã™ã? 771 * 772 * ã¾ãŸã?#XXXXXXå½¢å¼ã?16bitRGB表è¨?ã§ã‚‚指定å¯èƒ½ã§ã™ã? 773 * 774 * @param colors ãƒãƒ£ãƒ¼ãƒˆè‰²ã®ç¹°è¿”ã—パターン(CVSå½¢å¼? 775 * @see java.awt.Color#BLACK 776 */ 777 public void setSeriesColors( final String colors ) { 778 String clrs = StringUtil.nval( getRequestParameter( colors ),null ); 779 if( clrs != null ) { 780 chDataset.setSeriesColors( StringUtil.csv2Array( clrs ) ); 781 } 782 } 783 784 /** 785 * ã€TAG】Value(縦軸)ã®ãƒ©ãƒ™ãƒ«ã‚’表示ã™ã‚‹ã‹ã©ã?‹ã‚’指定ã—ã¾ã?åˆæœŸå€¤:true[表示ã™ã‚‹])ã€? 786 * 787 * @og.tag 788 * ValueAxis ã«ã¦è¨å®šã•れるã€ç¸¦è»¸æƒ??ã®ã€ãƒ©ãƒ™ãƒ«ã‚’表示ã™ã‚‹ã‹ã©ã?‹æŒ?®šã—ã¾ã™ã? 789 * åˆæœŸå€¤ã¯ã€true(表示ã™ã‚‹)ã§ã™ã? 790 * 791 * @og.rev 4.0.2.0 (2007/12/20) æ–°è¦è¿½åŠ? 792 * 793 * @param labelsVisible Value(縦軸)ã®ãƒ©ãƒ™ãƒ«ã‚’表示ã™ã‚‹ã‹ã©ã?‹ 794 */ 795 public void setValueLabelsVisible( final String labelsVisible ) { 796 boolean flag = StringUtil.nval( getRequestParameter( labelsVisible ),true ); 797 chDataset.setValueLabelsVisible( flag ); 798 } 799 800 /** 801 * ã€TAG】Value(縦軸)ã®ãƒžã?カーを表示ã™ã‚‹ã‹ã©ã?‹ã‚’指定ã—ã¾ã?åˆæœŸå€¤:true[表示ã™ã‚‹])ã€? 802 * 803 * @og.tag 804 * ValueAxis ã«ã¦è¨å®šã•れるã€ç¸¦è»¸æƒ??ã®ã€ã?ーカーを表示ã™ã‚‹ã‹ã©ã?‹æŒ?®šã—ã¾ã™ã? 805 * åˆæœŸå€¤ã¯ã€true(表示ã™ã‚‹)ã§ã™ã? 806 * 807 * @og.rev 4.0.2.0 (2007/12/20) æ–°è¦è¿½åŠ? 808 * 809 * @param marksVisible Value(縦軸)ã®ãƒžã?カーを表示ã™ã‚‹ã‹ã©ã?‹ 810 */ 811 public void setValueMarksVisible( final String marksVisible ) { 812 boolean flag = StringUtil.nval( getRequestParameter( marksVisible ),true ); 813 chDataset.setValueMarksVisible( flag ); 814 } 815 816 /** 817 * ã€TAG】データã®å€¤(itemText)を表示ã™ã‚‹ã‹ã©ã?‹[true/false/last]を指定ã—ã¾ã?åˆæœŸå€¤:false[表示ã—ãªã„])ã€? 818 * 819 * @og.tag 820 * CategoryItemRenderer 関連ã®ã‚°ãƒ©ãƒ•ã?è¨å®šå?をグラフ上ã«è¡¨ç¤ºã™ã‚‹ã‹ã©ã?‹ã‚? 821 * æŒ?®šã—ã¾ã™ã? 822 * true ã«è¨å®šã—ãŸå?åˆã?通常ã®å ´åˆã?ã€ã™ã¹ã¦ã®ã‚·ãƒªãƒ¼ã‚ºã«ãƒ©ãƒ™ãƒ«è¡¨ç¤ºã•れã¾ã™ã? 823 * false ã«è¨å®šã™ã‚‹ã¨ã€è¡¨ç¤ºã•れã¾ã›ã‚“ã€? 824 * last ã‚’è¨å®šã™ã‚‹ã¨ã€å„ã‚·ãƒªãƒ¼ã‚ºã®æœ?¾Œã?値ã®ã¿è¡¨ç¤ºã•れã¾ã™ã? 825 * ChartCreate クラスã«ã€seriesPikup ãŒè¨å®šã•れã¦ã?‚‹å ´åˆã?ã€æŒ‡å®šã?シリーズ 826 * ã®ã¿ã®è¨å®šå?を表示ã—ã?ä»–ã?値ã¯ã€è¡¨ç¤ºã—ã¾ã›ã‚“ã€? 827 * åŒæ§˜ã«ã€dynamicOCNo ãŒæŒ‡å®šã•れã¦ã?‚‹å ´å?å‹•çš„ãªãƒžã?カーライン) 828 * æœ?¸‹ä½ã?シリーズã¯ã€?–¾å€¤ã¨ã—ã¦ä½¿ç”¨ã•れるãŸã‚ã?è¨å®šå?ã¯è¡¨ç¤ºã•れã¾ã›ã‚“ã€? 829 * ラベルã®è¡¨ç¤ºä½ç½®ã¯ã€è¡¨ç¤ºã™ã‚‹ç·šã‚°ãƒ©ãƒ•ã?傾ãã«å¿œã˜ã¦ãƒ©ãƒ™ãƒ«ã®è¡¨ç¤ºå ´æ‰?‚’ 830 * 変ãˆã¾ã™ã?山形ã€å³å‚ã?è°·å½¢ã€å·¦å?ã«å¿œã˜ã¦ã€ä¸Šä¸ã€ä¸‹å³ã€ä¸‹ä¸ã€ä¸Šå³ ã« 831 * ä½ç½®ã‚’è¨å®šã—ã¾ã™ã?å³ã«ãšã‚‰ã™ã?ã¯ã€?0 ピクセル固定ã§ã™ã? 832 * åˆæœŸå€¤ã¯ã€false(表示ã—ãªã?ã§ã™ã? 833 * 834 * @og.rev 4.1.1.0 (2008/02/04) æ–°è¦è¿½åŠ? 835 * @og.rev 4.1.2.0 (2008/03/12) æ–?—å?ã®ã¾ã¾ã€æ¸¡ã™ã‚ˆã?«å¤‰æ›´ 836 * 837 * @param itemLabelVisible ãƒ??ã‚¿ã®å€¤ã®è¡¨ç¤ºã®ã•ã›æ–¹(true,false,last) 838 */ 839 public void setItemLabelVisible( final String itemLabelVisible ) { 840 String flag = StringUtil.nval( getRequestParameter( itemLabelVisible ),"false" ); 841 chDataset.setItemLabelVisible( flag ); 842 } 843 844 /** 845 * ã€TAG】データã®å€¤(itemText)ã®è¡¨ç¤ºã«ã€æ¡åŒºåˆ?‚Šæ–?—を使用ã™ã‚‹ã‹ã©ã?‹[true/false]を指定ã—ã¾ã?åˆæœŸå€¤:true[使用ã™ã‚‹])ã€? 846 * 847 * @og.tag 848 * itemLabelVisible=true 時ã«ã€è¡¨ç¤ºã•れるデータ値ラベルã§ã€? 849 * NumberFormat ã—ã¦ã?¾ã™ãŒã€?¼“æ¡åŒºåˆ?‚Šæ–??123,456,789.0) ã® 850 * 区åˆ?‚Šè¨˜å·ã‚’表示ã™ã‚‹ã‹ã©ã?‹ã‚’指定ã—ã¾ã™ã? 851 * true を指定ã™ã‚‹ã¨ã€è¡¨ç¤ºã—ã¾ã™ã?false ã§ã¯ã€è¡¨ç¤ºã—ã¾ã›ã‚“ã€? 852 * åˆæœŸå€¤ã¯ã€true(使用ã™ã‚‹)ã§ã™ã? 853 * 854 * @og.rev 4.1.2.0 (2008/03/12) æ–°è¦è¿½åŠ? 855 * 856 * @param used ãƒ??ã‚¿ã®æ¡åŒºåˆ?‚Šæ–?—ã?使用有無 857 */ 858 public void setUseItemLabelSep( final String used ) { 859 boolean useItemLabelSep = StringUtil.nval( getRequestParameter( used ),true ); 860 chDataset.setUseItemLabelSep( useItemLabelSep ); 861 } 862 863 /** 864 * ã€TAG】縦軸ã®è¡¨ç¤ºé ˜åŸŸINSET値(double)を指定ã—ã¾ã™ã? 865 * 866 * @og.tag 867 * 縦軸æ–?—è¡¨ç¤ºé ˜åŸŸ(NumberAxis)ã®å¹??追åŠ??ã‚’è¨å®šã—ã¾ã™ã? 868 * ã“れã¯ã€??常ã®è¡¨ç¤ºé ˜åŸŸã®å·¦å´ã«ã‚¹ãƒšã?スを挿入ã—ã¾ã™ã? 869 * ã‚ãã¾ã§ã€è¿½åŠ?™ã‚‹å?ãªã®ã§ã€æ–‡å—ã?é•·ã•ã?å«ã¾ã‚Œã¾ã›ã‚“ã€? 870 * 何もæŒ?®šã—ãªã??åˆã?ã€è¨å®šã—ã¾ã›ã‚“ã€? 871 * 872 * @og.rev 4.0.3.0 (2008/01/07) æ–°è¦è¿½åŠ? 873 * 874 * @param inset Value(縦軸)ã®è¡¨ç¤ºé ˜åŸŸINSET値 875 */ 876 public void setValueInset( final String inset ) { 877 String valueInset = StringUtil.nval( getRequestParameter( inset ),null ); 878 chDataset.setValueInset( valueInset ); 879 } 880 881 /** 882 * ã€TAG】BOXãƒãƒ£ãƒ¼ãƒˆã?ãƒã?å¹?double)を指定ã—ã¾ã™ã? 883 * 884 * @og.tag 885 * BOXãƒãƒ£ãƒ¼ãƒˆã?ãƒã?å¹?double)を指定ã—ã¾ã™ã? 886 * è¨å®šã•れるã®ã¯ã€org.jfree.chart.renderer.category.BarRenderer ã‚? 887 * 使用ã—ãŸæç”»ã®ã¿ã§ã™ã? 888 * 棒グラフã?ãƒã?å¹?Œ‡å®šã?ã€ç›´æŽ¥ã€CategoryItemRendererState ã«è¨å®šã—ã¦ã?¾ã™ã? 889 * 通常ã¯ã€barMaxWidth(0.0??.0)ã¨barItemMargin(0.0??.0)を用ã?¦æ¯”çŽ‡ã§æŒ?®šã—ã¾ã™ã? 890 * 何もæŒ?®šã—ãªã??åˆã?ã€è¨å®šã—ã¾ã›ã‚“ã€? 891 * 892 * @og.rev 4.0.3.0 (2008/01/07) æ–°è¦è¿½åŠ? 893 * 894 * @param width BOXãƒãƒ£ãƒ¼ãƒˆã?ãƒã?å¹?double) 895 */ 896 public void setBarWidth( final String width ) { 897 String barWidth = StringUtil.nval( getRequestParameter( width ),null ); 898 chDataset.setBarWidth( barWidth ); 899 } 900 901 /** 902 * ã€TAG】BOXãƒãƒ£ãƒ¼ãƒˆã?ãƒã?å¹??æœ?¤§å€¤(0.0??.0)を指定ã—ã¾ã™ã? 903 * 904 * @og.tag 905 * BOXãƒãƒ£ãƒ¼ãƒˆã?ãƒã?å¹??æ¯”çŽ‡ã®æœ?¤§å€¤ã‚’指定ã—ã¾ã™ã? 906 * è¡¨ç¤ºé ˜åŸŸã‚’ï¼‘ã¨ã—ã¦å°æ•°ç‚¹ä»¥ä¸‹ã?æ•°å€¤ã§æ£’ã?å¹?‚’è¨å®šã—ã¾ã™ã? 907 * è¨å®šã—ãŸå¹?«ç„¡ç?Œã‚る時ã?é©å½“ãªã‚µã‚¤ã‚ºã«èª¿æ•´ã•れã¾ã™ã? 908 * (å°ã•ãã—ãŸã¨ãã«ã¯æ£’ãŒç·šã?よã†ã«ãªã‚? 909 * è¨å®šã•れるã®ã¯ã€org.jfree.chart.renderer.category.BarRenderer ã‚? 910 * 使用ã—ãŸæç”»ã®ã¿ã§ã™ã? 911 * 何もæŒ?®šã—ãªã??åˆã?ã€è¨å®šã—ã¾ã›ã‚“ã€? 912 * 913 * @og.rev 4.0.2.0 (2007/12/20) æ–°è¦è¿½åŠ? 914 * 915 * @param barWidth BOXãƒãƒ£ãƒ¼ãƒˆã?ãƒã?å¹??æœ?¤§å€¤(0.0??.0) 916 */ 917 public void setBarMaxWidth( final String barWidth ) { 918 String maxBarWidth = StringUtil.nval( getRequestParameter( barWidth ),null ); 919 chDataset.setBarMaxWidth( maxBarWidth ); 920 } 921 922 /** 923 * ã€TAG】BOXãƒãƒ£ãƒ¼ãƒˆã?ãƒã?アイãƒ?ƒ ã®ãƒžã?ジン(0.0??.0)を指定ã—ã¾ã™ã? 924 * 925 * @og.tag 926 * BOXãƒãƒ£ãƒ¼ãƒˆã?ãƒã?アイãƒ?ƒ ã®ãƒžã?ã‚¸ãƒ³ã®æ¯”率を指定ã—ã¾ã™ã? 927 * 棒ã?é–“ã‚’è¡¨ç¤ºé ˜åŸŸã‚’ï¼‘ã¨ã—ã¦å°æ•°ç‚¹ä»¥ä¸‹ã?数値ã§å¹?‚’è¨å®šã—ã¾ã™ã? 928 * ç„¡ç?Œã‚る時ã?é©å½“ãªã‚µã‚¤ã‚ºã«èª¿æ•´ã•れã¾ã™ã? 929 * barMaxWidth より優先ã•れã¾ã™ã? 930 * è¨å®šã•れるã®ã¯ã€org.jfree.chart.renderer.category.BarRenderer ã‚? 931 * 使用ã—ãŸæç”»ã®ã¿ã§ã™ã? 932 * 何もæŒ?®šã—ãªã??åˆã?ã€è¨å®šã—ã¾ã›ã‚“ã€? 933 * 934 * @og.rev 4.0.2.0 (2007/12/20) æ–°è¦è¿½åŠ? 935 * 936 * @param margin BOXãƒãƒ£ãƒ¼ãƒˆã?ãƒã?アイãƒ?ƒ ã®ãƒžã?ジン(0.0??.0) 937 */ 938 public void setBarItemMargin( final String margin ) { 939 String itemMargin = StringUtil.nval( getRequestParameter( margin ),null ); 940 chDataset.setBarItemMargin( itemMargin ); 941 } 942 943 /** 944 * ã€TAG】表示下é™å€¤(ã“れ以下ã?ãƒ??ã‚¿ã¯æœªè¡¨ç¤º)ã®å€¤(double)を指定ã—ã¾ã™ã? 945 * 946 * @og.tag 947 * HybsLine ã§ã®ã¿ä½¿ç”¨å¯èƒ½ã§ã™ã? 948 * ã“ã?è¨å®šå?以下ã?ãƒ??ã‚¿ã¯ã€å˜åœ¨ã—ãªã?‰±ã?¨ã—ã¾ã™ã? 949 * Lineを引ãã¨ãã?ã“ã?ãƒ??ã‚¿ã¨ã€å˜åœ¨ã—ã¦ã?‚‹ãƒ??ã‚¿é–“ã«ãƒ©ã‚¤ãƒ³ã¯å¼•ã‹ã‚Œã¾ã›ã‚“ã€? 950 * 何もæŒ?®šã—ãªã??åˆã?ã€è¨å®šã—ã¾ã›ã‚“ã€? 951 * 952 * @og.rev 4.0.3.0 (2008/01/07) æ–°è¦è¿½åŠ? 953 * 954 * @param limit 表示下é™å€¤(ã“れ以下ã?ãƒ??ã‚¿ã¯æœªè¡¨ç¤º) 955 */ 956 public void setVisibleLimit( final String limit ) { 957 String visibleLimit = StringUtil.nval( getRequestParameter( limit ),null ); 958 chDataset.setVisibleLimit( visibleLimit ); 959 } 960 961 /** 962 * ã€TAG】グラフã?書ãå?ã—ä½ç½®ã®èª¿æ•´æ¯”率を指定ã—ã¾ã™ã? 963 * 964 * @og.tag 965 * HybsStackedBar ã§ã®ã¿ä½¿ç”¨å¯èƒ½ã§ã™ã? 966 * グラフをæç”»ã™ã‚‹å ´åˆã?ã€æ›¸ãå?ã—ä½ç½®ã‚’å°‘ã—ãšã‚‰ã—ã¾ã™ã? 967 * ã“れã¯ã€ã‚°ãƒ©ãƒ•ã?å¹?«å¯¾ã—ã¦ã€æ¯”çŽ‡ã§æŒ?®šã—ã¾ã™ã? 968 * 0.0(åˆæœŸå€¤)ã®å ´åˆã?ã€å?期æç”»ä½ç½®ã§ã‚ã‚‹ã€CategoryAnchor.Middle 㨠969 * åŒã˜ç®?‰€ã‹ã‚‰ã€æ›¸ãå?ã•れã¾ã™ã? 970 * 1.0 ã®å ´åˆã?ä¸å¿?‹ã‚‰ã?グラフå¹??åŠå?ãŒåŠ ç®—ã•れã?ENDä½ç½®ã«å¯?‚Šã¾ã™ã? 971 * åŒæ§˜ã«ã€?1.0 ã®å ´åˆã?ã€ã‚°ãƒ©ãƒ•å¹??åŠå?ãŒæ¸›ç®—ã•れã?START ä½ç½®ã«ãªã‚Šã¾ã™ã? 972 * ã¤ã¾ã‚Šã?ä¸å¿?‹ã‚‰ã?グラフå¹??åŠå?å˜ä½ã§ã€å‰æ–¹/後方ã«ãšã‚‰ã™äº‹ãŒå‡ºæ¥ã¾ã™ã? 973 * 書ãå?ã—ä½ç½® ??ä¸å¿?Middle) + (domainMargin)?Šå¹??? 974 * åˆæœŸå€¤ã¯ã€?.0(真んä¸:MIDDLE)ã§ã™ã? 975 * 976 * @og.rev 4.1.1.0 (2008/02/14) æ–°è¦è¿½åŠ? 977 * 978 * @param margin double グラフã?書ãå?ã—ä½ç½®ã®èª¿æ•´æ¯”率 979 */ 980 public void setDomainMargin( final String margin ) { 981 String domMgn = StringUtil.nval( getRequestParameter( margin ),null ); 982 if( domMgn != null ) { 983 double domainMargin = Double.parseDouble( domMgn ); 984 chDataset.setDomainMargin( domainMargin ) ; // double margin 985 } 986 } 987 988 /** 989 * ã€TAG】時刻を表ã™å?åˆã?表ç¾ã®ä»•æ–¹[E1/E2/E3/H1/H2/H3]を指定ã—ã¾ã?åˆæœŸå€¤:null)ã€? 990 * 991 * @og.tag 992 * HybsNumberAxis ã«ã‚ªãƒ¼ãƒã?ライドã™ã‚?時間を表示ã™ã‚‹ DecimalFormat ã®å†?ƒ¨ã‚¯ãƒ©ã‚¹ã‚’利用ã™ã‚‹ã«å½“ãŸã‚Šã? 993 * 時刻ã®è¡¨ç¤ºæ–¹æ³•ã‚’æŒ?®šã—ã¾ã™ã? 994 * 外部ã‹ã‚‰ä¸Žãˆã‚‹æ•°å—ã?ã€??ç¶šã—ã¦ã?‚‹å¿?¦ãŒã‚ã‚‹ãŸã‚ã€?¼‘ï¼é?æ•°ã§ã™ã? 995 * ãŸã¨ãˆã?ã€?700 â†?17:00 , 2150 â†?21:30 ã¨ã?†æ„Ÿã˜ã§ã™ã? 996 * 2400 ã‚’è¶?ˆã‚‹ã¨æ—¥ä»˜é•ã?«ãªã‚Šã¾ã™ã? 997 * 998 * 英語表è¨?:)ã¨æ—¥æœ¬èªžè¡¨è¨?æ™?ã®åŒºåˆ¥ã¨ã€?4時間をè¶?ˆã‚‹å?åˆã?表示方法ã«ã‚ˆã£ã¦ã€?¼–種類ã?パターンãŒå˜åœ¨ã—ã¾ã™ã? 999 * ã€?1:ãã?ã¾ã¾ã€?4:00 ã¨ãªã‚Šã?åŠ?®—ã•れã¦ã?ã€? 1000 * ã€?2:ãã?ã¾ã¾ã€?:00 ã«æˆ»ã‚‹ã?(日付ã?ç„¡è¦? 1001 * ã€?3:ãã?ã¾ã¾ã€? 00:00 ã¨æ—¥ä»˜ãŒä»˜ä¸Žã•れるã€? 1002 * ã€?1:ãã?ã¾ã¾ã€?4æ™?0åˆ?ã¨ãªã‚Šã?åŠ?®—ã•れã¦ã?ã€? 1003 * ã€?2:ãã?ã¾ã¾ã€?0æ™?0åˆ?ã«æˆ»ã‚‹ã?(日付ã?ç„¡è¦? 1004 * ã€?3:ãã?ã¾ã¾ã€?æ—¥ 00æ™?0åˆ?ã¨æ—¥ä»˜ãŒä»˜ä¸Žã•れるã€? 1005 * åˆæœŸå€¤ã¯ã€ä½¿ç”¨ã—ãªã?-1)ã§ã™ã? 1006 * 1007 * @og.rev 5.5.2.1 (2012/05/07) æ–°è¦è¿½åŠ? 1008 * 1009 * @param type 時刻ã®è¡¨ç¤ºæ–¹æ³?E1,E2,E3,H1,H2,H3) 1010 */ 1011 public void setTimeFormatType( final String type ) { 1012 String timeFormatType = StringUtil.nval( getRequestParameter( type ),null ); 1013 chDataset.setTimeFormatType( timeFormatType ); 1014 } 1015 1016 /** 1017 * ã€TAG】ラベルã®è¡¨ç¤ºå‘ãを縦ã«ã™ã‚‹ã‹ã©ã?‹[false/true]を指定ã—ã¾ã?åˆæœŸå€¤:false[横書ã])ã€? 1018 * 1019 * @og.tag 1020 * ChartCreate ã® rotationLabel ã¯ã€è§’度を指定ã§ãã¾ã—ãŸãŒã?NumberAxis ã§ã¯ã€? 1021 * 縦ã«ã™ã‚‹ã‹ã©ã?‹ã®æŒ?®šã—ã‹ã§ãã¾ã›ã‚“ã€? 1022 * ã“ã“ã§ã¯ã€true を指定ã™ã‚‹ã¨ãƒ©ãƒ™ãƒ«ã¯ã€ç¸¦æ›¸ãã«ãªã‚Šã¾ã™ã? 1023 * åˆæœŸå€¤ã¯ã€false(横書ã?ã§ã™ã? 1024 * 1025 * @og.rev 5.5.2.1 (2012/05/07) æ–°è¦è¿½åŠ? 1026 * 1027 * @param useVLavels ラベルã®è¡¨ç¤ºå‘ã [false:横書ã?true:縦書ã] 1028 */ 1029 public void setUseVerticalLabels( final String useVLavels ) { 1030 boolean useVerticalLabels = StringUtil.nval( getRequestParameter( useVLavels ),false ); 1031 chDataset.setUseVerticalLabels( useVerticalLabels ); 1032 } 1033 1034 /** 1035 * シリアライズ用ã®ã‚«ã‚¹ã‚¿ãƒ?‚·ãƒªã‚¢ãƒ©ã‚¤ã‚ºæ›¸ãè¾¼ã¿ãƒ¡ã‚½ãƒ?ƒ‰ 1036 * 1037 * @og.rev 4.0.0.0 (2006/09/31) æ–°è¦è¿½åŠ? 1038 * @serialData ä¸?ƒ¨ã®ã‚ªãƒ–ジェクãƒ?ChartDataset)ã¯ã€ã‚·ãƒªã‚¢ãƒ©ã‚¤ã‚ºã•れã¾ã›ã‚“ã€? 1039 * 1040 * @param strm ObjectOutputStreamオブジェクãƒ? 1041 * @throws IOException シリアライズã«é–¢ã™ã‚‹å…¥å‡ºåŠ›ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸå?å? 1042 */ 1043 private void writeObject( final ObjectOutputStream strm ) throws IOException { 1044 strm.defaultWriteObject(); 1045 } 1046 1047 /** 1048 * シリアライズ用ã®ã‚«ã‚¹ã‚¿ãƒ?‚·ãƒªã‚¢ãƒ©ã‚¤ã‚ºèªã¿è¾¼ã¿ãƒ¡ã‚½ãƒ?ƒ‰ 1049 * 1050 * ã“ã“ã§ã¯ã€transient 宣è¨?•れãŸå†?ƒ¨å¤‰æ•°ã®å†??åˆæœŸåŒ–ãŒå¿?¦ãªãƒ•ィールドã?ã¿è¨å®šã—ã¾ã™ã? 1051 * 1052 * @og.rev 4.0.0.0 (2006/09/31) æ–°è¦è¿½åŠ? 1053 * @serialData ä¸?ƒ¨ã®ã‚ªãƒ–ジェクãƒ?ChartDataset)ã¯ã€èªã¿è¾¼ã¾ã‚Œã¾ã›ã‚“ã€? 1054 * 1055 * @param strm ObjectInputStreamオブジェクãƒ? 1056 * @see #release2() 1057 * @throws IOException シリアライズã«é–¢ã™ã‚‹å…¥å‡ºåŠ›ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ãŸå?å? 1058 * @throws ClassNotFoundException クラスを見ã¤ã‘ã‚‹ã“ã¨ãŒã§ããªã‹ã£ãŸå?å? 1059 */ 1060 private void readObject( final ObjectInputStream strm ) throws IOException , ClassNotFoundException { 1061 strm.defaultReadObject(); 1062 chDataset = new ChartDataset(); 1063 } 1064 1065 /** 1066 * ã“ã?オブジェクトã?æ–?—å?表ç¾ã‚’è¿”ã—ã¾ã™ã? 1067 * 基本çš?«ãƒ?ƒãƒ?‚°ç›®çš?«ä½¿ç”¨ã—ã¾ã™ã? 1068 * 1069 * @return ã“ã?ã‚¯ãƒ©ã‚¹ã®æ–?—å?è¡¨ç¾ 1070 */ 1071 @Override 1072 public String toString() { 1073 StringBuilder rtn = new StringBuilder( HybsSystem.BUFFER_MIDDLE ); 1074 1075 rtn.append( "[" ).append( this.getClass().getName() ).append( "]" ).append( HybsSystem.CR ); 1076 rtn.append( "dbid [" ).append( dbid ).append( "]" ).append( HybsSystem.CR ); 1077 rtn.append( "sql [" ).append( sql ).append( "]" ).append( HybsSystem.CR ); 1078 rtn.append( "dataset [" ).append( chDataset ).append( "]" ).append( HybsSystem.CR ); 1079 1080 return rtn.toString(); 1081 } 1082 }