src/core/net/sf/basedb/util/overview/Fix.java

Code
Comments
Other
Rev Date Author Line
3045 20 Dec 06 nicklas 1 /**
3045 20 Dec 06 nicklas 2   $Id$
3045 20 Dec 06 nicklas 3
3675 16 Aug 07 jari 4   Copyright (C) 2006, 2007 Nicklas Nordborg
3045 20 Dec 06 nicklas 5
3045 20 Dec 06 nicklas 6   This file is part of BASE - BioArray Software Environment.
3045 20 Dec 06 nicklas 7   Available at http://base.thep.lu.se/
3045 20 Dec 06 nicklas 8
3045 20 Dec 06 nicklas 9   BASE is free software; you can redistribute it and/or
3045 20 Dec 06 nicklas 10   modify it under the terms of the GNU General Public License
4479 05 Sep 08 jari 11   as published by the Free Software Foundation; either version 3
3045 20 Dec 06 nicklas 12   of the License, or (at your option) any later version.
3045 20 Dec 06 nicklas 13
3045 20 Dec 06 nicklas 14   BASE is distributed in the hope that it will be useful,
3045 20 Dec 06 nicklas 15   but WITHOUT ANY WARRANTY; without even the implied warranty of
3045 20 Dec 06 nicklas 16   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
3045 20 Dec 06 nicklas 17   GNU General Public License for more details.
3045 20 Dec 06 nicklas 18
3045 20 Dec 06 nicklas 19   You should have received a copy of the GNU General Public License
4515 11 Sep 08 jari 20   along with BASE. If not, see <http://www.gnu.org/licenses/>.
3045 20 Dec 06 nicklas 21 */
3045 20 Dec 06 nicklas 22 package net.sf.basedb.util.overview;
3045 20 Dec 06 nicklas 23
3045 20 Dec 06 nicklas 24
6939 21 Aug 15 nicklas 25 import net.sf.basedb.core.Annotation;
3045 20 Dec 06 nicklas 26 import net.sf.basedb.core.AnnotationType;
3045 20 Dec 06 nicklas 27 import net.sf.basedb.core.BasicItem;
3859 18 Oct 07 nicklas 28 import net.sf.basedb.core.DataFileType;
3859 18 Oct 07 nicklas 29 import net.sf.basedb.core.FileSetMember;
3045 20 Dec 06 nicklas 30
3045 20 Dec 06 nicklas 31 /**
3045 20 Dec 06 nicklas 32    Holds information about a suggested fix to a failure.
3045 20 Dec 06 nicklas 33
3045 20 Dec 06 nicklas 34   @author Nicklas
3045 20 Dec 06 nicklas 35   @version 2.2
3045 20 Dec 06 nicklas 36   @base.modified $Date$
3045 20 Dec 06 nicklas 37   @see Failure#getFixes()
3045 20 Dec 06 nicklas 38 */
3045 20 Dec 06 nicklas 39 public class Fix
3045 20 Dec 06 nicklas 40 {
3045 20 Dec 06 nicklas 41   
3045 20 Dec 06 nicklas 42   private String message;
3045 20 Dec 06 nicklas 43   private BasicItem item;
3045 20 Dec 06 nicklas 44   private AnnotationType annotationType;
6939 21 Aug 15 nicklas 45   private Annotation annotation;
3045 20 Dec 06 nicklas 46   private boolean fromInherited;
3859 18 Oct 07 nicklas 47   private FileSetMember member;
3859 18 Oct 07 nicklas 48   private DataFileType fileType;
3045 20 Dec 06 nicklas 49
3045 20 Dec 06 nicklas 50   /**
3045 20 Dec 06 nicklas 51     Create a new suggested fix for an item.
3045 20 Dec 06 nicklas 52     @param message A message explaining what needs to be fixed
3045 20 Dec 06 nicklas 53     @param item The item that needs to be edited by this fix
3045 20 Dec 06 nicklas 54   */
3045 20 Dec 06 nicklas 55   public Fix(String message, BasicItem item)
3045 20 Dec 06 nicklas 56   {
3045 20 Dec 06 nicklas 57     this.message = message;
3045 20 Dec 06 nicklas 58     this.item = item;
3045 20 Dec 06 nicklas 59   }
3045 20 Dec 06 nicklas 60
3045 20 Dec 06 nicklas 61   /**
3045 20 Dec 06 nicklas 62     Create a new suggested fix for the annotation of an item.
3045 20 Dec 06 nicklas 63     @param message A message explaining what needs to be fixed
3045 20 Dec 06 nicklas 64     @param item The item that needs to be edited by this fix
3045 20 Dec 06 nicklas 65     @param annotationType The annotation that needs to be edited by this fix or null if
3045 20 Dec 06 nicklas 66       the fix doesn't include annotations
3062 15 Jan 07 nicklas 67     @param fromInherited TRUE if the annotation is an inherited annotation or
3062 15 Jan 07 nicklas 68       FALSE if it is a primary annotation
3045 20 Dec 06 nicklas 69   */
3045 20 Dec 06 nicklas 70   public Fix(String message, BasicItem item, AnnotationType annotationType, boolean fromInherited)
3045 20 Dec 06 nicklas 71   {
3045 20 Dec 06 nicklas 72     this.message = message;
3045 20 Dec 06 nicklas 73     this.item = item;
3045 20 Dec 06 nicklas 74     this.annotationType = annotationType;
3045 20 Dec 06 nicklas 75     this.fromInherited = fromInherited;
3045 20 Dec 06 nicklas 76   }
3045 20 Dec 06 nicklas 77
6939 21 Aug 15 nicklas 78   /**
6939 21 Aug 15 nicklas 79     Create a new suggested fix for the annotation of an item.
6939 21 Aug 15 nicklas 80     @param message A message explaining what needs to be fixed
6939 21 Aug 15 nicklas 81     @param item The item that needs to be edited by this fix
6939 21 Aug 15 nicklas 82     @param annotation The annotation that needs to be edited by this fix
6939 21 Aug 15 nicklas 83     
6939 21 Aug 15 nicklas 84     @since 3.6
6939 21 Aug 15 nicklas 85   */
6939 21 Aug 15 nicklas 86   public Fix(String message, BasicItem item, Annotation annotation)
6939 21 Aug 15 nicklas 87   {
6939 21 Aug 15 nicklas 88     this.message = message;
6939 21 Aug 15 nicklas 89     this.item = item;
6939 21 Aug 15 nicklas 90     this.annotation = annotation;
6939 21 Aug 15 nicklas 91     this.annotationType = annotation.getAnnotationType();
6939 21 Aug 15 nicklas 92     this.fromInherited = annotation.getSource() != Annotation.Source.PRIMARY;
6939 21 Aug 15 nicklas 93   }
6939 21 Aug 15 nicklas 94
6939 21 Aug 15 nicklas 95   
3859 18 Oct 07 nicklas 96   public Fix(String message, BasicItem item, FileSetMember member)
3859 18 Oct 07 nicklas 97   {
3859 18 Oct 07 nicklas 98     this.message = message;
3859 18 Oct 07 nicklas 99     this.item = item;
3859 18 Oct 07 nicklas 100     this.member = member;
3859 18 Oct 07 nicklas 101   }
3859 18 Oct 07 nicklas 102   
3859 18 Oct 07 nicklas 103   public Fix(String message, BasicItem item, DataFileType fileType)
3859 18 Oct 07 nicklas 104   {
3859 18 Oct 07 nicklas 105     this.message = message;
3859 18 Oct 07 nicklas 106     this.item = item;
3859 18 Oct 07 nicklas 107     this.fileType = fileType;
3859 18 Oct 07 nicklas 108   }
3859 18 Oct 07 nicklas 109   
3045 20 Dec 06 nicklas 110   /**
3045 20 Dec 06 nicklas 111     Get a message explaining what needs to be fixed.
3045 20 Dec 06 nicklas 112   */
3045 20 Dec 06 nicklas 113   public String getMessage()
3045 20 Dec 06 nicklas 114   {
3045 20 Dec 06 nicklas 115     return message;
3045 20 Dec 06 nicklas 116   }
3045 20 Dec 06 nicklas 117   
3062 15 Jan 07 nicklas 118   /**
3062 15 Jan 07 nicklas 119     Get the item that needs to be edited for this fix.
3062 15 Jan 07 nicklas 120   */
3045 20 Dec 06 nicklas 121   public BasicItem getItem()
3045 20 Dec 06 nicklas 122   {
3045 20 Dec 06 nicklas 123     return item;
3045 20 Dec 06 nicklas 124   }
3045 20 Dec 06 nicklas 125   
3062 15 Jan 07 nicklas 126   /**
3062 15 Jan 07 nicklas 127     Get the annotation type of the annotation that needs to be edited
3062 15 Jan 07 nicklas 128     for this fix.
3062 15 Jan 07 nicklas 129     @return An annotation type or null if this is not a fix for annotations
3062 15 Jan 07 nicklas 130   */
3045 20 Dec 06 nicklas 131   public AnnotationType getAnnotationType()
3045 20 Dec 06 nicklas 132   {
3045 20 Dec 06 nicklas 133     return annotationType;
3045 20 Dec 06 nicklas 134   }
3045 20 Dec 06 nicklas 135
3062 15 Jan 07 nicklas 136   /**
6939 21 Aug 15 nicklas 137     Get the annotation that needs to be edited for this fix.
6939 21 Aug 15 nicklas 138     @return An annotation or null if this is not a fix for annotations
6939 21 Aug 15 nicklas 139     @since 3.6
6939 21 Aug 15 nicklas 140   */
6939 21 Aug 15 nicklas 141   public Annotation getAnnotation()
6939 21 Aug 15 nicklas 142   {
6939 21 Aug 15 nicklas 143     return annotation;
6939 21 Aug 15 nicklas 144   }
6939 21 Aug 15 nicklas 145   
6939 21 Aug 15 nicklas 146   /**
3062 15 Jan 07 nicklas 147     If this fix involves editing an annotation or not.
3062 15 Jan 07 nicklas 148     @see #isFromInherited()
3062 15 Jan 07 nicklas 149   */
3045 20 Dec 06 nicklas 150   public boolean isAnnotationFix()
3045 20 Dec 06 nicklas 151   {
3045 20 Dec 06 nicklas 152     return annotationType != null;
3045 20 Dec 06 nicklas 153   }
3045 20 Dec 06 nicklas 154   
3062 15 Jan 07 nicklas 155   /**
3062 15 Jan 07 nicklas 156     If this fix involves editing an inherited annotation or a primary annotation.
3062 15 Jan 07 nicklas 157     @see #isAnnotationFix()
3062 15 Jan 07 nicklas 158   */
3045 20 Dec 06 nicklas 159   public boolean isFromInherited()
3045 20 Dec 06 nicklas 160   {
3045 20 Dec 06 nicklas 161     return fromInherited;
3045 20 Dec 06 nicklas 162   }
3045 20 Dec 06 nicklas 163   
3859 18 Oct 07 nicklas 164   public FileSetMember getFileSetMember()
3859 18 Oct 07 nicklas 165   {
3859 18 Oct 07 nicklas 166     return member;
3859 18 Oct 07 nicklas 167   }
3859 18 Oct 07 nicklas 168   
3859 18 Oct 07 nicklas 169   public DataFileType getDataFileType()
3859 18 Oct 07 nicklas 170   {
3859 18 Oct 07 nicklas 171     return fileType;
3859 18 Oct 07 nicklas 172   }
3859 18 Oct 07 nicklas 173   
3859 18 Oct 07 nicklas 174   public boolean isDataFileFix()
3859 18 Oct 07 nicklas 175   {
3859 18 Oct 07 nicklas 176     return member != null || fileType != null;
3859 18 Oct 07 nicklas 177   }
3859 18 Oct 07 nicklas 178   
3859 18 Oct 07 nicklas 179   
6127 14 Sep 12 nicklas 180   @Override
3045 20 Dec 06 nicklas 181   public String toString()
3045 20 Dec 06 nicklas 182   {
3045 20 Dec 06 nicklas 183     return getMessage();
3045 20 Dec 06 nicklas 184   }
3045 20 Dec 06 nicklas 185 }