/** * @version $Id: ResultPatternExportGraphAction.java 1839 2014-04-16 02:33:51Z yukihiro-kinjyo $ * * 2013/02/22 17:09:34 * @author kousuke-morishima * * Copyright 2011-2014 TIDAコンソーシアム All Rights Reserved. */ package com.tida_okinawa.corona.dashboard.export.graph; import org.eclipse.core.runtime.IProgressMonitor; import com.tida_okinawa.corona.correction.common.table.Row; import com.tida_okinawa.corona.correction.common.table.Table; import com.tida_okinawa.corona.dashboard.Messages; import com.tida_okinawa.corona.dashboard.export.AbstractResultPatternExportGraphActionDelegate; import com.tida_okinawa.corona.io.IoActivator; import com.tida_okinawa.corona.io.model.IClaimData; import com.tida_okinawa.corona.io.model.IClaimWorkPattern; import com.tida_okinawa.corona.io.model.IResultCoronaPattern; import com.tida_okinawa.corona.io.model.dic.IPattern; import com.tida_okinawa.corona.io.model.dic.PatternType; import com.tida_okinawa.corona.io.model.table.IRecord; import com.tida_okinawa.corona.ui.editors.ResultPatternEditorInput; /** * @author kousuke-morishima * */ public class ResultPatternExportGraphAction extends AbstractResultPatternExportGraphActionDelegate { private static final String Label_PatternType = Messages.ResultPatternExportGraphAction_ColumnName_PatternType; private static final String Label_PatternName = Messages.ResultPatternExportGraphAction_ColumnName_PatternName; private static final String Label_Text = Messages.ResultPatternExportGraphAction_ColumnName_Text; private static final String Label_RecordId = Messages.ResultPatternExportGraphAction_ColumnName_RecordId; /** * <pre> * フォーマット * * 区分,パターン,テキスト,レコードID * </pre> */ @Override protected Table generate(ResultPatternEditorInput input, IProgressMonitor monitor) { Table table = new Table(new Row(Label_PatternType, Label_PatternName, Label_Text, Label_RecordId)); PatternType[] patternTypes = input.getElements(); monitor.beginTask(Messages.ResultPatternExportGraphAction_TaskName_DataLayout, patternTypes.length); monitor.setTaskName(Messages.ResultPatternExportGraphAction_TaskName_DataLayout); IClaimWorkPattern work = input.getClaimWorkPattern(); IClaimData claim = IoActivator.getService().getClaimData(work.getClaimId()); for (PatternType patternType : patternTypes) { String typeName = patternType.getPatternName(); for (IPattern pattern : input.getChildren(patternType)) { String patternName = pattern.getLabel(); for (IResultCoronaPattern result : input.getChildren(pattern)) { IRecord rec = claim.getRecord(result.getRecordId()); String recid = (String) rec.getField(claim.getDispIdField()).getValue(); table.addRow(new Row(typeName, patternName, result.getText(), recid)); } } monitor.worked(1); } return table; } }