/* * Copyright 2014 Matthias Bläsing * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package com.kenai.redminenb.util; import com.kenai.redminenb.user.RedmineUser; import com.taskadapter.redmineapi.bean.Group; import com.taskadapter.redmineapi.bean.User; import java.awt.Component; import javax.swing.JTable; import javax.swing.table.DefaultTableCellRenderer; /** * @author Matthias Bläsing */ public class TableCellRendererUser extends DefaultTableCellRenderer{ @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { if(value instanceof RedmineUser) { value = ((RedmineUser) value).toString(); } else if(value instanceof User) { User user = (User) value; StringBuilder stringValue = new StringBuilder(); if(user.getFirstName() != null) { stringValue.append(user.getFirstName()); } if(user.getLastName() != null) { if(stringValue.length() != 0) { stringValue.append(" "); } stringValue.append(user.getLastName()); } value = stringValue.toString(); } else if (value instanceof Group) { value = ((Group) value).getName(); } else if (value instanceof AssigneeWrapper) { value = ((AssigneeWrapper) value).getName(); } return super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); } }