// Path: src/main/java/net/combase/desktopcrm/data/CrmHelper.java
// public final class CrmHelper
// {
// 	private CrmHelper()
// 	{
// 	}
// 
// 	private static Collection<EmailTemplate> emailTemplateCache = null;
// 
// 
// 	public static synchronized void updateEmailTemplateCache()
// 	{
// 		emailTemplateCache = new TreeSet<>(new Comparator<EmailTemplate>()
// 		{
// 
// 			@Override
// 			public int compare(EmailTemplate o1, EmailTemplate o2)
// 			{
// 				return o1.getTitle().compareTo(o2.getTitle());
// 			}
// 		});
// 
// 		emailTemplateCache.addAll(CrmManager.getEmailTemplateList());
// 	}
// 
// 
// 	public static synchronized Collection<EmailTemplate> getCachedEmailTemplates()
// 	{
// 		if (emailTemplateCache == null)
// 		{
// 			updateEmailTemplateCache();
// 		}
// 
// 		return emailTemplateCache;
// 	}
// 
// 	public static List<AbstractCrmObject> getActionObjects()
// 	{
// 		List<AbstractCrmObject> result = new ArrayList<>();
// 		List<AbstractCrmObject> checkList = new ArrayList<>();
// 
// 		if (DataStoreManager.getSettings().isCaseReminder())
// 			checkList.addAll(CrmManager.getCaseList());
// 
// 		if (DataStoreManager.getSettings().isOpportunityReminder())
// 			checkList.addAll(CrmManager.getOpportunityList());
// 
// 		if (DataStoreManager.getSettings().isLeadReminder())
// 			checkList.addAll(CrmManager.getLeadList());
// 
// 
// 		for (final AbstractCrmObject lead : checkList)
// 		{
// 			System.out.println("check " + lead.getTitle() + " for actions.");
// 			if (!hasActionsPlanned(lead))
// 				result.add(lead);
// 		}
// 		System.out.println("found " + result.size() + " action items.");
// 		return result;
// 	}
// 
// 	/**
// 	 * @param lead
// 	 * @return
// 	 */
// 	public static boolean hasActionsPlanned(final AbstractCrmObject lead)
// 	{
// 		boolean noAction = CrmManager.getOpenTaskListByParent(lead.getId()).isEmpty();
// 
// 		if (noAction)
// 			noAction = CrmManager.getMeetingListByParent(lead.getId()).isEmpty();
// 		
// 		if (noAction)
// 			noAction = CrmManager.getCallListByParent(lead.getId()).isEmpty();
// 
// 		return !noAction;
// 	}
// 
// 
// 	public static List<AbstractCrmObject> getGlobalActionObjects()
// 	{
// 		List<AbstractCrmObject> result = new ArrayList<>();
// 		List<AbstractCrmObject> checkList = new ArrayList<>();
// 
// 		checkList.addAll(CrmManager.getGlobalCaseList());
// 		checkList.addAll(CrmManager.getGlobalOpportunityList());
// 		checkList.addAll(CrmManager.getGlobalLeadList());
// 
// 		for (final AbstractCrmObject lead : checkList)
// 		{
// 			System.out.println("check " + lead.getTitle() + " for actions.");
// 			if (!hasActionsPlanned(lead))
// 				result.add(lead);
// 		}
// 		System.out.println("found " + result.size() + " action items.");
// 		return result;
// 	}
// }
// 
// Path: src/main/java/net/combase/desktopcrm/domain/EmailTemplate.java
// public class EmailTemplate extends AbstractCrmObject {
// 
// 	private String body;
// 	private String htmlBody;
// 	private String subject;
// 
// 	public EmailTemplate(String id, String title) {
// 		super(id, title);
// 	}
// 
// 
// 	public String getHtmlBody()
// 	{
// 		return htmlBody;
// 	}
// 
// 
// 	public void setHtmlBody(String htmlBody)
// 	{
// 		this.htmlBody = htmlBody;
// 	}
// 
// 
// 	public String getBody()
// 	{
// 		return body;
// 	}
// 
// 	public void setBody(String body)
// 	{
// 		this.body = body;
// 	}
// 
// 	public String getSubject()
// 	{
// 		return subject;
// 	}
// 
// 	public void setSubject(String subject)
// 	{
// 		this.subject = subject;
// 	}
// 
// 
// 	@Override
// 	public String getCrmEntityType()
// 	{
// 		return "EmailTemplates";
// 	}
// 
// 
// }


import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.ArrayList;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.SwingUtilities;
import javax.swing.table.TableCellRenderer;
import net.combase.desktopcrm.data.CrmHelper;
import net.combase.desktopcrm.domain.EmailTemplate;
package net.combase.desktopcrm.swing;






public class EmailTemplateTablePanel extends JPanel
{
	/**
	 * 
	 */
	private static final long serialVersionUID = -6149463410211475900L;

	private JTable table;


	/**
	 * Create the panel.
	 */
	public EmailTemplateTablePanel()
	{
		setLayout(new BorderLayout(0, 0));

// Path: src/main/java/net/combase/desktopcrm/data/CrmHelper.java
// public final class CrmHelper
// {
// 	private CrmHelper()
// 	{
// 	}
// 
// 	private static Collection<EmailTemplate> emailTemplateCache = null;
// 
// 
// 	public static synchronized void updateEmailTemplateCache()
// 	{
// 		emailTemplateCache = new TreeSet<>(new Comparator<EmailTemplate>()
// 		{
// 
// 			@Override
// 			public int compare(EmailTemplate o1, EmailTemplate o2)
// 			{
// 				return o1.getTitle().compareTo(o2.getTitle());
// 			}
// 		});
// 
// 		emailTemplateCache.addAll(CrmManager.getEmailTemplateList());
// 	}
// 
// 
// 	public static synchronized Collection<EmailTemplate> getCachedEmailTemplates()
// 	{
// 		if (emailTemplateCache == null)
// 		{
// 			updateEmailTemplateCache();
// 		}
// 
// 		return emailTemplateCache;
// 	}
// 
// 	public static List<AbstractCrmObject> getActionObjects()
// 	{
// 		List<AbstractCrmObject> result = new ArrayList<>();
// 		List<AbstractCrmObject> checkList = new ArrayList<>();
// 
// 		if (DataStoreManager.getSettings().isCaseReminder())
// 			checkList.addAll(CrmManager.getCaseList());
// 
// 		if (DataStoreManager.getSettings().isOpportunityReminder())
// 			checkList.addAll(CrmManager.getOpportunityList());
// 
// 		if (DataStoreManager.getSettings().isLeadReminder())
// 			checkList.addAll(CrmManager.getLeadList());
// 
// 
// 		for (final AbstractCrmObject lead : checkList)
// 		{
// 			System.out.println("check " + lead.getTitle() + " for actions.");
// 			if (!hasActionsPlanned(lead))
// 				result.add(lead);
// 		}
// 		System.out.println("found " + result.size() + " action items.");
// 		return result;
// 	}
// 
// 	/**
// 	 * @param lead
// 	 * @return
// 	 */
// 	public static boolean hasActionsPlanned(final AbstractCrmObject lead)
// 	{
// 		boolean noAction = CrmManager.getOpenTaskListByParent(lead.getId()).isEmpty();
// 
// 		if (noAction)
// 			noAction = CrmManager.getMeetingListByParent(lead.getId()).isEmpty();
// 		
// 		if (noAction)
// 			noAction = CrmManager.getCallListByParent(lead.getId()).isEmpty();
// 
// 		return !noAction;
// 	}
// 
// 
// 	public static List<AbstractCrmObject> getGlobalActionObjects()
// 	{
// 		List<AbstractCrmObject> result = new ArrayList<>();
// 		List<AbstractCrmObject> checkList = new ArrayList<>();
// 
// 		checkList.addAll(CrmManager.getGlobalCaseList());
// 		checkList.addAll(CrmManager.getGlobalOpportunityList());
// 		checkList.addAll(CrmManager.getGlobalLeadList());
// 
// 		for (final AbstractCrmObject lead : checkList)
// 		{
// 			System.out.println("check " + lead.getTitle() + " for actions.");
// 			if (!hasActionsPlanned(lead))
// 				result.add(lead);
// 		}
// 		System.out.println("found " + result.size() + " action items.");
// 		return result;
// 	}
// }
// 
// Path: src/main/java/net/combase/desktopcrm/domain/EmailTemplate.java
// public class EmailTemplate extends AbstractCrmObject {
// 
// 	private String body;
// 	private String htmlBody;
// 	private String subject;
// 
// 	public EmailTemplate(String id, String title) {
// 		super(id, title);
// 	}
// 
// 
// 	public String getHtmlBody()
// 	{
// 		return htmlBody;
// 	}
// 
// 
// 	public void setHtmlBody(String htmlBody)
// 	{
// 		this.htmlBody = htmlBody;
// 	}
// 
// 
// 	public String getBody()
// 	{
// 		return body;
// 	}
// 
// 	public void setBody(String body)
// 	{
// 		this.body = body;
// 	}
// 
// 	public String getSubject()
// 	{
// 		return subject;
// 	}
// 
// 	public void setSubject(String subject)
// 	{
// 		this.subject = subject;
// 	}
// 
// 
// 	@Override
// 	public String getCrmEntityType()
// 	{
// 		return "EmailTemplates";
// 	}
// 
// 
// }


// Path: src/main/java/net/combase/desktopcrm/swing/EmailTemplateTablePanel.java
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.ArrayList;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.SwingUtilities;
import javax.swing.table.TableCellRenderer;
import net.combase.desktopcrm.data.CrmHelper;
import net.combase.desktopcrm.domain.EmailTemplate;

package net.combase.desktopcrm.swing;






public class EmailTemplateTablePanel extends JPanel
{
	/**
	 * 
	 */
	private static final long serialVersionUID = -6149463410211475900L;

	private JTable table;


	/**
	 * Create the panel.
	 */
	public EmailTemplateTablePanel()
	{
		setLayout(new BorderLayout(0, 0));

		final EmailTemplateTableModel model = new EmailTemplateTableModel(new ArrayList<EmailTemplate>());