/** * @version $Id: UIClaim.java 1839 2014-04-16 02:33:51Z yukihiro-kinjyo $ * * 2011/10/13 10:34:16 * @author kousuke-morishima * * Copyright 2011-2014 TIDAコンソーシアム All Rights Reserved. */ package com.tida_okinawa.corona.internal.ui.views.model.impl; import java.text.SimpleDateFormat; import java.util.Date; import org.eclipse.core.resources.IFile; import org.eclipse.ui.views.properties.IPropertyDescriptor; import com.tida_okinawa.corona.internal.ui.views.model.IUIClaim; import com.tida_okinawa.corona.internal.ui.views.model.IUIContainer; import com.tida_okinawa.corona.internal.ui.views.model.IUIProject; import com.tida_okinawa.corona.io.IoActivator; import com.tida_okinawa.corona.io.PropertyUtil; import com.tida_okinawa.corona.io.PropertyUtil.PropertyItem; import com.tida_okinawa.corona.io.model.IClaimData; import com.tida_okinawa.corona.io.model.table.IFieldHeader; /** * @author kousuke-morishima */ public class UIClaim extends UIElement implements IUIClaim { private int id; /* public */UIClaim(IUIContainer parent, IClaimData object, IFile resource) { super(parent, object, resource); id = object.getId(); } @Override public int getId() { return id; } @Override public IClaimData getObject() { IClaimData ret = null; IUIProject uiProject = CoronaModel.INSTANCE.getProject(this); for (IClaimData claim : uiProject.getObject().getClaimDatas()) { if (claim.getId() == id) { ret = claim; break; } } return ret; } @Override public IFile getResource() { return (IFile) resource; } /* **************************************** * property view */ @Override public IPropertyDescriptor[] getPropertyDescriptors() { IPropertyDescriptor[] sp = super.getPropertyDescriptors(); IPropertyDescriptor[] descriptor = new IPropertyDescriptor[sp.length + 2]; PropertyUtil prop = new PropertyUtil(); int i; for (i = 0; i < sp.length; i++) { if (PropertyItem.PROP_LASTMODIFIED.getKey().equals(sp[i].getId())) { descriptor[i] = prop.getDescriptor(PropertyItem.PROP_IMPORTDATE); continue; } descriptor[i] = sp[i]; } descriptor[i++] = prop.getDescriptor(PropertyItem.PROP_COLUMN_NAME); descriptor[i++] = prop.getDescriptor(PropertyItem.PROP_RECORDS); return descriptor; } @Override public Object getPropertyValue(Object id) { if (PropertyItem.PROP_COLUMN_NAME.getKey().equals(id)) { StringBuilder fieldName = new StringBuilder(128); for (IFieldHeader header : getObject().getFieldInformations()) { fieldName.append(", ").append(header.getName()); } if (fieldName.length() == 0) { return PropertyUtil.DEFAULT_VALUE; } return fieldName.substring(2); } else if (PropertyItem.PROP_RECORDS.getKey().equals(id)) { IClaimData data = IoActivator.getService().getClaimData(getId()); return Integer.toString(data.getRecords().size()); } else if (PropertyItem.PROP_IMPORTDATE.getKey().equals(id)) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); IClaimData claim = this.getObject(); Date date = claim.getLasted(); if (date != null) { return sdf.format(date); } } return super.getPropertyValue(id); } }