src/core/net/sf/basedb/util/overview/node/AnyToAnyNameGenerator.java

Code
Comments
Other
Rev Date Author Line
5500 18 Nov 10 nicklas 1 /**
5500 18 Nov 10 nicklas 2   $Id$
5500 18 Nov 10 nicklas 3
5500 18 Nov 10 nicklas 4   Copyright (C) 2010 Nicklas Nordborg
5500 18 Nov 10 nicklas 5
5500 18 Nov 10 nicklas 6   This file is part of BASE - BioArray Software Environment.
5500 18 Nov 10 nicklas 7   Available at http://base.thep.lu.se/
5500 18 Nov 10 nicklas 8
5500 18 Nov 10 nicklas 9   BASE is free software; you can redistribute it and/or
5500 18 Nov 10 nicklas 10   modify it under the terms of the GNU General Public License
5500 18 Nov 10 nicklas 11   as published by the Free Software Foundation; either version 3
5500 18 Nov 10 nicklas 12   of the License, or (at your option) any later version.
5500 18 Nov 10 nicklas 13
5500 18 Nov 10 nicklas 14   BASE is distributed in the hope that it will be useful,
5500 18 Nov 10 nicklas 15   but WITHOUT ANY WARRANTY; without even the implied warranty of
5500 18 Nov 10 nicklas 16   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
5500 18 Nov 10 nicklas 17   GNU General Public License for more details.
5500 18 Nov 10 nicklas 18
5500 18 Nov 10 nicklas 19   You should have received a copy of the GNU General Public License
5500 18 Nov 10 nicklas 20   along with BASE. If not, see <http://www.gnu.org/licenses/>.
5500 18 Nov 10 nicklas 21 */
5500 18 Nov 10 nicklas 22 package net.sf.basedb.util.overview.node;
5500 18 Nov 10 nicklas 23
5500 18 Nov 10 nicklas 24 import net.sf.basedb.core.AnyToAny;
5500 18 Nov 10 nicklas 25 import net.sf.basedb.core.BasicItem;
5500 18 Nov 10 nicklas 26 import net.sf.basedb.core.ItemNotFoundException;
5500 18 Nov 10 nicklas 27 import net.sf.basedb.core.Nameable;
5500 18 Nov 10 nicklas 28 import net.sf.basedb.core.PermissionDeniedException;
5500 18 Nov 10 nicklas 29 import net.sf.basedb.util.overview.Node;
5500 18 Nov 10 nicklas 30
5500 18 Nov 10 nicklas 31 /**
5500 18 Nov 10 nicklas 32   Name generator for any-to-any links. We construct the
5500 18 Nov 10 nicklas 33   name by taking the name of the link + the name of the
5500 18 Nov 10 nicklas 34   linked item.
5500 18 Nov 10 nicklas 35
5500 18 Nov 10 nicklas 36   @author Nicklas
5500 18 Nov 10 nicklas 37   @since 2.17
5500 18 Nov 10 nicklas 38   @base.modified $Date$
5500 18 Nov 10 nicklas 39 */
5500 18 Nov 10 nicklas 40 public class AnyToAnyNameGenerator
5500 18 Nov 10 nicklas 41   implements NodeNameGenerator<AnyToAny>
5500 18 Nov 10 nicklas 42 {
5500 18 Nov 10 nicklas 43   public AnyToAnyNameGenerator()
5500 18 Nov 10 nicklas 44   {}
5500 18 Nov 10 nicklas 45
5500 18 Nov 10 nicklas 46   /*
5500 18 Nov 10 nicklas 47     From the NodeNameGenerator interface
5500 18 Nov 10 nicklas 48     ------------------------------------
5500 18 Nov 10 nicklas 49   */
5500 18 Nov 10 nicklas 50   @Override
5500 18 Nov 10 nicklas 51   public String getNodeName(AnyToAny item, Node parentNode)
5500 18 Nov 10 nicklas 52   {
5500 18 Nov 10 nicklas 53     return "any." + item.getId();
5500 18 Nov 10 nicklas 54   }
5500 18 Nov 10 nicklas 55
5500 18 Nov 10 nicklas 56   @Override
5500 18 Nov 10 nicklas 57   public String getNodeTitle(AnyToAny item, Node parentNode)
5500 18 Nov 10 nicklas 58   {
5500 18 Nov 10 nicklas 59     String title = item.getName() + ": ";
5500 18 Nov 10 nicklas 60     try
5500 18 Nov 10 nicklas 61     {
5500 18 Nov 10 nicklas 62       BasicItem to = item.getTo();
5500 18 Nov 10 nicklas 63       if (to instanceof Nameable)
5500 18 Nov 10 nicklas 64       {
5500 18 Nov 10 nicklas 65         title += ((Nameable)to).getName();
5500 18 Nov 10 nicklas 66       }
5500 18 Nov 10 nicklas 67       else
5500 18 Nov 10 nicklas 68       {
5500 18 Nov 10 nicklas 69         title += to.toString();
5500 18 Nov 10 nicklas 70       }
5500 18 Nov 10 nicklas 71     }
5500 18 Nov 10 nicklas 72     catch (PermissionDeniedException ex)
5500 18 Nov 10 nicklas 73     {
5500 18 Nov 10 nicklas 74       title += "denied";
5500 18 Nov 10 nicklas 75     }
5500 18 Nov 10 nicklas 76     catch (ItemNotFoundException ex)
5500 18 Nov 10 nicklas 77     {
5500 18 Nov 10 nicklas 78       title += "missing";
5500 18 Nov 10 nicklas 79     }
5500 18 Nov 10 nicklas 80     return title;
5500 18 Nov 10 nicklas 81   }
5500 18 Nov 10 nicklas 82   @Override
5500 18 Nov 10 nicklas 83   public String getDeniedNodeName(Node parentNode)
5500 18 Nov 10 nicklas 84   {
5500 18 Nov 10 nicklas 85     return "any";
5500 18 Nov 10 nicklas 86   }
5500 18 Nov 10 nicklas 87
5500 18 Nov 10 nicklas 88   @Override
5500 18 Nov 10 nicklas 89   public String getDeniedNodeTitle(Node parentNode)
5500 18 Nov 10 nicklas 90   {
5500 18 Nov 10 nicklas 91     return "Any-to-any: denied";
5500 18 Nov 10 nicklas 92   }
5500 18 Nov 10 nicklas 93
5500 18 Nov 10 nicklas 94   @Override
5500 18 Nov 10 nicklas 95   public String getMissingNodeName(Node parentNode)
5500 18 Nov 10 nicklas 96   {
5500 18 Nov 10 nicklas 97     return "any";
5500 18 Nov 10 nicklas 98   }
5500 18 Nov 10 nicklas 99
5500 18 Nov 10 nicklas 100   @Override
5500 18 Nov 10 nicklas 101   public String getMissingNodeTitle(Node parentNode)
5500 18 Nov 10 nicklas 102   {
5500 18 Nov 10 nicklas 103     return "Any-to-any: missing";
5500 18 Nov 10 nicklas 104   }
5500 18 Nov 10 nicklas 105   // --------------------------------------
5500 18 Nov 10 nicklas 106 }