PageRenderTime 27ms CodeModel.GetById 24ms RepoModel.GetById 1ms app.codeStats 0ms

/trunk/EZMIS/jteap-index/com/jteap/index/chart/MSLineChart.java

https://gitlab.com/BGCX067/ezmis-svn-to-git
Java | 359 lines | 306 code | 13 blank | 40 comment | 29 complexity | f7a7760410153f272069aca24ec564bb MD5 | raw file
  1. package com.jteap.index.chart;
  2. import java.util.ArrayList;
  3. import java.util.Iterator;
  4. import java.util.List;
  5. /**
  6. *
  7. * 功能说明:折线图
  8. * @author 童贝
  9. * @version May 11, 2009
  10. */
  11. public class MSLineChart {
  12. private String caption;
  13. private String subcaption;
  14. private String lineThickness;
  15. private String showValues="0";
  16. private String formatNumberScale="0";
  17. private String anchorRadius="2";
  18. private String divLineAlpha="20";
  19. private String divLineColor="00676B";
  20. private String divLineIsDashed="1";
  21. private String showAlternateHGridColor="1";
  22. private String alternateHGridAlpha="5";
  23. private String alternateHGridColor="00676B";//"CC3300";
  24. private String shadowAlpha="40";
  25. private String labelStep="4";
  26. private String numvdivlines="5";
  27. private String chartRightMargin="35";
  28. private String bgColor="FFFFFF,00676B";
  29. private String bgAngle="270";
  30. private String bgAlpha="10,10";
  31. private String baseFontSize;
  32. private String numVisiblePlot;
  33. private String yAxisMaxValue;
  34. private String yAxisMinValue ;
  35. private String yAxisValuesStep;
  36. private MSLineCategories mSLineCategories=new MSLineCategories();
  37. private List<MSLineDataSet> mSLineDataSets=new ArrayList<MSLineDataSet>();
  38. private MSLineStyles mSLineStyles=new MSLineStyles();
  39. public String getCaption() {
  40. return caption;
  41. }
  42. public void setCaption(String caption) {
  43. this.caption = caption;
  44. }
  45. public String getSubcaption() {
  46. return subcaption;
  47. }
  48. public void setSubcaption(String subcaption) {
  49. this.subcaption = subcaption;
  50. }
  51. public String getLineThickness() {
  52. return lineThickness;
  53. }
  54. public void setLineThickness(String lineThickness) {
  55. this.lineThickness = lineThickness;
  56. }
  57. public String getShowValues() {
  58. return showValues;
  59. }
  60. public void setShowValues(String showValues) {
  61. this.showValues = showValues;
  62. }
  63. public String getFormatNumberScale() {
  64. return formatNumberScale;
  65. }
  66. public void setFormatNumberScale(String formatNumberScale) {
  67. this.formatNumberScale = formatNumberScale;
  68. }
  69. public String getAnchorRadius() {
  70. return anchorRadius;
  71. }
  72. public void setAnchorRadius(String anchorRadius) {
  73. this.anchorRadius = anchorRadius;
  74. }
  75. public String getDivLineAlpha() {
  76. return divLineAlpha;
  77. }
  78. public void setDivLineAlpha(String divLineAlpha) {
  79. this.divLineAlpha = divLineAlpha;
  80. }
  81. public String getDivLineColor() {
  82. return divLineColor;
  83. }
  84. public void setDivLineColor(String divLineColor) {
  85. this.divLineColor = divLineColor;
  86. }
  87. public String getDivLineIsDashed() {
  88. return divLineIsDashed;
  89. }
  90. public void setDivLineIsDashed(String divLineIsDashed) {
  91. this.divLineIsDashed = divLineIsDashed;
  92. }
  93. public String getShowAlternateHGridColor() {
  94. return showAlternateHGridColor;
  95. }
  96. public void setShowAlternateHGridColor(String showAlternateHGridColor) {
  97. this.showAlternateHGridColor = showAlternateHGridColor;
  98. }
  99. public String getAlternateHGridAlpha() {
  100. return alternateHGridAlpha;
  101. }
  102. public void setAlternateHGridAlpha(String alternateHGridAlpha) {
  103. this.alternateHGridAlpha = alternateHGridAlpha;
  104. }
  105. public String getAlternateHGridColor() {
  106. return alternateHGridColor;
  107. }
  108. public void setAlternateHGridColor(String alternateHGridColor) {
  109. this.alternateHGridColor = alternateHGridColor;
  110. }
  111. public String getShadowAlpha() {
  112. return shadowAlpha;
  113. }
  114. public void setShadowAlpha(String shadowAlpha) {
  115. this.shadowAlpha = shadowAlpha;
  116. }
  117. public String getLabelStep() {
  118. return labelStep;
  119. }
  120. public void setLabelStep(String labelStep) {
  121. this.labelStep = labelStep;
  122. }
  123. public String getNumvdivlines() {
  124. return numvdivlines;
  125. }
  126. public void setNumvdivlines(String numvdivlines) {
  127. this.numvdivlines = numvdivlines;
  128. }
  129. public String getChartRightMargin() {
  130. return chartRightMargin;
  131. }
  132. public void setChartRightMargin(String chartRightMargin) {
  133. this.chartRightMargin = chartRightMargin;
  134. }
  135. public String getBgColor() {
  136. return bgColor;
  137. }
  138. public void setBgColor(String bgColor) {
  139. this.bgColor = bgColor;
  140. }
  141. public String getBgAngle() {
  142. return bgAngle;
  143. }
  144. public void setBgAngle(String bgAngle) {
  145. this.bgAngle = bgAngle;
  146. }
  147. public String getBgAlpha() {
  148. return bgAlpha;
  149. }
  150. public void setBgAlpha(String bgAlpha) {
  151. this.bgAlpha = bgAlpha;
  152. }
  153. public MSLineCategories getMSLineCategories() {
  154. return mSLineCategories;
  155. }
  156. public void setMSLineCategories(MSLineCategories lineCategories) {
  157. mSLineCategories = lineCategories;
  158. }
  159. public List<MSLineDataSet> getMSLineDataSets() {
  160. return mSLineDataSets;
  161. }
  162. public void setMSLineDataSets(List<MSLineDataSet> lineDataSets) {
  163. mSLineDataSets = lineDataSets;
  164. }
  165. public MSLineStyles getMSLineStyles() {
  166. return mSLineStyles;
  167. }
  168. public void setMSLineStyles(MSLineStyles lineStyles) {
  169. mSLineStyles = lineStyles;
  170. }
  171. @Override
  172. public String toString() {
  173. String result="<chart ";
  174. if(this.caption!=null&&!this.caption.equals("")){
  175. result=result+"caption=\""+this.getCaption()+"\" ";
  176. }
  177. if(this.subcaption!=null&&!this.subcaption.equals("")){
  178. result=result+"subcaption=\""+this.subcaption+"\" ";
  179. }
  180. if(this.lineThickness!=null&&!this.lineThickness.equals("")){
  181. result=result+"lineThickness=\""+this.lineThickness+"\" ";
  182. }
  183. if(this.showValues!=null&&!this.showValues.equals("")){
  184. result=result+"showValues=\""+this.showValues+"\" ";
  185. }
  186. if(this.formatNumberScale!=null&&!this.formatNumberScale.equals("")){
  187. result=result+"formatNumberScale=\""+this.formatNumberScale+"\" ";
  188. }
  189. if(this.anchorRadius!=null&&!this.anchorRadius.equals("")){
  190. result=result+"anchorRadius=\""+this.anchorRadius+"\" ";
  191. }
  192. if(this.divLineAlpha!=null&&!this.divLineAlpha.equals("")){
  193. result=result+"divLineAlpha=\""+this.divLineAlpha+"\" ";
  194. }
  195. if(this.divLineColor!=null&&!this.divLineColor.equals("")){
  196. result=result+"divLineColor=\""+this.divLineColor+"\" ";
  197. }
  198. if(this.divLineIsDashed!=null&&!this.divLineIsDashed.equals("")){
  199. result=result+"divLineIsDashed=\""+this.divLineIsDashed+"\" ";
  200. }
  201. if(this.showAlternateHGridColor!=null&&!this.showAlternateHGridColor.equals("")){
  202. result=result+"showAlternateHGridColor=\""+this.showAlternateHGridColor+"\" ";
  203. }
  204. if(this.alternateHGridAlpha!=null&&!this.alternateHGridAlpha.equals("")){
  205. result=result+"alternateHGridAlpha=\""+this.alternateHGridAlpha+"\" ";
  206. }
  207. if(this.alternateHGridColor!=null&&!this.alternateHGridColor.equals("")){
  208. result=result+"alternateHGridColor=\""+this.alternateHGridColor+"\" ";
  209. }
  210. if(this.shadowAlpha!=null&&!this.shadowAlpha.equals("")){
  211. result=result+"shadowAlpha=\""+this.shadowAlpha+"\" ";
  212. }
  213. if(this.labelStep!=null&&!this.labelStep.equals("")){
  214. result=result+"labelStep=\""+this.labelStep+"\" ";
  215. }
  216. if(this.numvdivlines!=null&&!this.numvdivlines.equals("")){
  217. result=result+"numvdivlines=\""+this.numvdivlines+"\" ";
  218. }
  219. if(this.chartRightMargin!=null&&!this.chartRightMargin.equals("")){
  220. result=result+"chartRightMargin=\""+this.chartRightMargin+"\" ";
  221. }
  222. if(this.bgColor!=null&&!this.bgColor.equals("")){
  223. result=result+"bgColor=\""+this.bgColor+"\" ";
  224. }
  225. if(this.bgAngle!=null&&!this.bgAngle.equals("")){
  226. result=result+"bgAngle=\""+this.bgAngle+"\" ";
  227. }
  228. if(this.bgAlpha!=null&&!this.bgAlpha.equals("")){
  229. result=result+"bgAlpha=\""+this.bgAlpha+"\" ";
  230. }
  231. if(this.baseFontSize!=null&&!this.baseFontSize.equals("")){
  232. result=result+"baseFontSize=\""+this.baseFontSize+"\" ";
  233. }
  234. if(this.numVisiblePlot!=null&&!this.numVisiblePlot.equals("")){
  235. result=result+"numVisiblePlot=\""+this.numVisiblePlot+"\" ";
  236. }
  237. if(this.yAxisMaxValue!=null&&!this.yAxisMaxValue.equals("")){
  238. result=result+"yAxisMaxValue=\""+this.yAxisMaxValue+"\" ";
  239. }
  240. if(this.yAxisMinValue!=null&&!this.yAxisMinValue.equals("")){
  241. result=result+"yAxisMinValue=\""+this.yAxisMinValue+"\" ";
  242. }
  243. if(this.yAxisValuesStep!=null&&!this.yAxisValuesStep.equals("")){
  244. result=result+"yAxisValuesStep=\""+this.yAxisValuesStep+"\" ";
  245. }
  246. result=result+">";
  247. result=result+this.getMSLineCategories().toString();
  248. Iterator<MSLineDataSet> itMSDS=this.getMSLineDataSets().iterator();
  249. while(itMSDS.hasNext()){
  250. MSLineDataSet msds=itMSDS.next();
  251. result=result+msds.toString();
  252. }
  253. result=result+this.getMSLineStyles().toString();
  254. result=result+"</chart>";
  255. return result;
  256. }
  257. /**
  258. *
  259. *描述:得到该图形下的数据以json的形式返回
  260. *时间:2010-5-6
  261. *作者:童贝
  262. *参数:
  263. *返回值:
  264. *抛出异常:
  265. */
  266. public String getTableToXml(){
  267. StringBuffer result=new StringBuffer();
  268. // for(MSLineDataSet dataset:mSLineDataSets){
  269. // StringBuffer curDataSet=new StringBuffer();
  270. // int flag=0;
  271. // for(MSLineCategory category:mSLineCategories.getCategorys()){
  272. // String label=category.getLabel();
  273. // MSLineSet set=null;
  274. // if(dataset.getMSLineSets().size()>flag){
  275. // set=dataset.getMSLineSets().get(flag);
  276. // }
  277. // if(set==null){
  278. // curDataSet.append("'"+label+"':'0',");
  279. // }else{
  280. // String value=set.getValue();
  281. // curDataSet.append("'"+label+"':'"+value+"',");
  282. // }
  283. // flag++;
  284. // }
  285. // if(!curDataSet.toString().equals("")){
  286. // result.append("{"+curDataSet.deleteCharAt(curDataSet.length()-1)+"},");
  287. // }
  288. // }
  289. // if(!result.toString().equals("")){
  290. // result.deleteCharAt(result.length()-1);
  291. // }
  292. //记录集
  293. for(MSLineDataSet dataset:this.mSLineDataSets){
  294. StringBuffer curDataSet=new StringBuffer();
  295. int flag=0;
  296. for(MSLineCategory category:this.getMSLineCategories().getCategorys()){
  297. String label=category.getLabel();
  298. MSLineSet set=null;
  299. if(dataset.getMSLineSets().size()>flag){
  300. set=dataset.getMSLineSets().get(flag);
  301. }
  302. if(set==null){
  303. curDataSet.append("<property label=\""+label+"\" value=\"0\" />");
  304. }else{
  305. String value=set.getValue();
  306. curDataSet.append("<property label=\""+label+"\" value=\""+value+"\" />");
  307. }
  308. flag++;
  309. }
  310. if(!curDataSet.toString().equals("")){
  311. result.append("<dataset>"+curDataSet+"</dataset>");
  312. }
  313. }
  314. return "<root>"+result.toString()+"</root>";
  315. }
  316. public String getBaseFontSize() {
  317. return baseFontSize;
  318. }
  319. public void setBaseFontSize(String baseFontSize) {
  320. this.baseFontSize = baseFontSize;
  321. }
  322. public String getNumVisiblePlot() {
  323. return numVisiblePlot;
  324. }
  325. public void setNumVisiblePlot(String numVisiblePlot) {
  326. this.numVisiblePlot = numVisiblePlot;
  327. }
  328. public String getYAxisMaxValue() {
  329. return yAxisMaxValue;
  330. }
  331. public void setYAxisMaxValue(String axisMaxValue) {
  332. yAxisMaxValue = axisMaxValue;
  333. }
  334. public String getYAxisValuesStep() {
  335. return yAxisValuesStep;
  336. }
  337. public void setYAxisValuesStep(String axisValuesStep) {
  338. yAxisValuesStep = axisValuesStep;
  339. }
  340. public String getYAxisMinValue() {
  341. return yAxisMinValue;
  342. }
  343. public void setYAxisMinValue(String axisMinValue) {
  344. yAxisMinValue = axisMinValue;
  345. }
  346. }