Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
     Copyright (c) 2014 zuendorf
  
     Permission is hereby granted, free of charge, to any person obtaining a copy of this software 
     and associated documentation files (the "Software"), to deal in the Software without restriction, 
     including without limitation the rights to use, copy, modify, merge, publish, distribute, 
     sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is 
     furnished to do so, subject to the following conditions:
  
    The above copyright notice and this permission notice shall be included in all copies or 
    substantial portions of the Software.
 
    The Software shall be used for Good, not Evil.
 
    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING 
    BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 
    NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 
    DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 
    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  */
 
 package org.sdmlib.storyboards;
 
 import java.io.File;
 import java.util.Date;
 
 
 // file:///C:/Users/zuendorf/eclipseworkspaces/indigo/SDMLib/doc/StoryboardInfrastructure.html
 {
    public static final String PROPERTY_NAME = "name";
 
    private String name;
 
    public void setName(String value
    {
       if ( StrUtil.stringCompare (this.value) != 0 )
       {
          String oldValue = this.;
          this. = value;
          getPropertyChangeSupport().firePropertyChange(oldValuevalue);
       }
    }
 
    public String getName() {
       return this.;
    }
    
    public static final String PROPERTY_PHASE = "phase";
 
    private String phase;
 
    public void setPhase(String value
    {
       if ( StrUtil.stringCompare (this.value) != 0 )
       {
          String oldValue = this.;
          this. = value;
          getPropertyChangeSupport().firePropertyChange(oldValuevalue);
       }
    }
 
    public String getPhase() 
    {
       return this.;
    }
    
    public static final String PROPERTY_LAST_DEVELOPER = "lastDeveloper";
 
    private String lastDeveloper;
 
    public void setLastDeveloper(String value) {
       if ( StrUtil.stringCompare (this.value) != 0 )
       {
          String oldValue = this.;
          this. = value;
          getPropertyChangeSupport().firePropertyChange(oldValuevalue);
       }
    }
 
    public String getLastDeveloper() 
    {
       return this.;
    }
    
    public static final String PROPERTY_HOURS_REMAINING = "hoursRemaining";
 
    private double hoursRemaining;
   public void setHoursRemaining(double value
   {
      if ( this. != value )
      {
         double oldValue = this.;
         this. = value;
      }
   }
   public double getHoursRemaining() 
   {
      return this.;
   }
   
   public static final String PROPERTY_HOURS_SPEND = "hoursSpend";
   private double hoursSpend;
   public void setHoursSpend(double value
   {
      if ( this. != value )
      {
         double oldValue = this.;
         this. = value;
      }
   }
   public double getHoursSpend() 
   {
      return this.;
   }
   
   
           0..n     1..1
 KanbanEntry ------------------------- KanbanEntry
           subentries        <       parent
 
   public static final String PROPERTY_PARENT = "parent";
   private KanbanEntry parent;
   public boolean setParent (KanbanEntry value)		
   {
      boolean changed = false;
      if (this. != value)
      {
         KanbanEntry oldValue = this.;
         if (this. != null)
         {
            this. = null;
            oldValue.removeFromSubentries(this);
         }
         this. = value;
         if (value != null)
         {
            value.addToSubentries(this);
         }
         getPropertyChangeSupport().firePropertyChange(oldValuevalue);
         changed = true;
      }
      return changed;
   }
   public KanbanEntry getParent ()	
   {
      return this.;
   }
   
   
           1..1     0..n
 KanbanEntry ------------------------- KanbanEntry
           parent        >       subentries
 
   public static final String PROPERTY_SUBENTRIES = "subentries";
   private KanbanEntrySet subentries;
   public boolean addToSubentries (KanbanEntry value)
   {
      boolean changed = false;
      if (value != null)
      {
         if (this. == null)
         {
            this. = new KanbanEntrySet();
         }
         changed = this..add (value);
         if (changed)
         {
            value.setParent(this);
            getPropertyChangeSupport().firePropertyChange(nullvalue);
         }
      }
      return changed;
   }
   public boolean removeFromSubentries (KanbanEntry value)	
   {
      boolean changed = false;
      if ((this. != null) && (value != null))
      {
         changed = this..remove (value);
         if (changed)
         {
            value.setParent(null);
            getPropertyChangeSupport().firePropertyChange(valuenull);
         }
      }
      return changed;
   }
   public void removeAllFromSubentries ()
   {
      KanbanEntry tmpValue;
      Iterator<KanbanEntryiter = this.getSubentries().iterator ();
      while (iter.hasNext ())
      {
         tmpValue = (KanbanEntryiter.next ();
         this.removeFromSubentries (tmpValue);
      }
   }
   public static final String PROPERTY_FILES = "files";
   public static final KanbanEntrySet EMPTY_SET = new KanbanEntrySet();
   private String files;
   public void setFiles(String value) {
      if ( StrUtil.stringCompare (this.value) != 0 )
      {
         String oldValue = this.;
         this. = value;
         getPropertyChangeSupport().firePropertyChange(oldValuevalue);
      }
   }
   public String getFiles() {
      return this.;
   }
   public LogEntryStoryBoard findOrCreateLogEntry(String dateString phase
   {
      LogEntryStoryBoard result = null;
      // find logEntry
      for (LogEntryStoryBoard logEntry : getLogEntries())
      {
         if (logEntry.getDate() != null && logEntry.getDate().equals(date))
         {
            return logEntry;
         }
      }
      // create new logEntry
      result = new LogEntryStoryBoard()
      .withDate(date)
      .withDeveloper(System.getProperty("user.name"))
      .withHoursSpend(0)
      .withPhase(phase)
      .withKanbanEntry(this);
      return result;
   }
   public KanbanEntry findOldEntry(String name) {
      KanbanEntry result = null;
      if (StrUtil.stringEquals(this.getName(), name))
      {
         return this;
      }
      else 
      {
         for (KanbanEntry subEntry : this.getSubentries())
         {
            result = subEntry.findOldEntry(name);
            if (result != null)
            {
               return result;
            }
         }
      }
      return result;
   }
   public KanbanEntry findOrCreate(String name
   {
      KanbanEntry result = findOldEntry(name);
      if (result == null)
      {
         result = new KanbanEntry()
         .withName(name);
      }
      return result;
   }
   public KanbanEntry linkToTest(String rootDirString className
   {
      return linkToTest(rootDirclassNamethis.getName());
   }
   
   public KanbanEntry linkToTest(String rootDirString classNameString testName
   {
      int lastDotPos = className.lastIndexOf('.');
      String packageName = className.substring(0, lastDotPos);
      String fileName = rootDir + "." + className;
      className = className.substring(lastDotPos+1);
      fileName = fileName.replaceAll("\\.""/");
      fileName = fileName + ".java";
      File javaFile = new File(fileName);
      this.setFiles(fileName);
      if ( ! javaFile.exists())
      {
         // create it
         StringBuilder fileBody = new StringBuilder(
                     "/*\n" +
                     "   Copyright (c) <year> <developer> \n" +
                     "   \n" +
                     "   Permission is hereby granted, free of charge, to any person obtaining a copy of this software \n" +
                     "   and associated documentation files (the \"Software\"), to deal in the Software without restriction, \n" +
                     "   including without limitation the rights to use, copy, modify, merge, publish, distribute, \n" +
                     "   sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is \n" +
                     "   furnished to do so, subject to the following conditions: \n" +
                     "   \n" +
                     "   The above copyright notice and this permission notice shall be included in all copies or \n" +
                     "   substantial portions of the Software. \n" +
                     "   \n" +
                     "   The Software shall be used for Good, not Evil. \n" +
                     "   \n" +
                     "   THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING \n" +
                     "   BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND \n" +
                     "   NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, \n" +
                     "   DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, \n" +
                     "   OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \n" +
                     " */\n" +
                     "   \n" + 
                     "package " + packageName + ";\n" +
                     "   \n" +
                     "import org.junit.Test;\n" +
                     "import org.sdmlib.storyboards.LogEntry;\n" +
                     "import org.sdmlib.storyboards.Storyboard;\n" +
                     "import org.sdmlib.storyboards.StoryboardManager;\n" +
                     "   \n" +
                     "public class " + className + " \n" +
                     "{\n" +
                     "   private static final String MODELING = \"modeling\";\n" +
                     "   private static final String ACTIVE = \"active\";\n" +
                     "   private static final String DONE = \"done\";\n" +
                     "   private static final String IMPLEMENTATION = \"implementation\";\n" +
                     "   private static final String BACKLOG = \"backlog\";\n" +
                     "   private static final String BUG = \"bug\";\n" +
                     "}\n");
               String year = new SimpleDateFormat("yyyy").format(new Date(System.currentTimeMillis()));
               CGUtil.replace(fileBody"<year>"year);
               CGUtil.replace(fileBody"<developer>", System.getProperty("user.name"));
               
               StoryboardManager.get().printFile(javaFilefileBody.toString());
      }
      // find or create test method
      String fileBody = StoryboardManager.get().readFile(javaFile);
      String methodName = "test" + testName;
      lastDotPos = fileBody.indexOf("public void " + methodName);
      if (lastDotPos < 0)
      {
         // generate test method
         String testBody = 
               "   @Test\n" +
                     "   public void " + methodName + "()\n" +
                     "   {\n" +
                     "      Storyboard storyboard = new Storyboard(\"" + rootDir + "\", \"" + testName + "\");\n" +
                     "      \n" +
                     "      storyboard.add(\"Start situation: \",\n" +
                     "         BACKLOG, " +
                     "\"" + System.getProperty("user.name") + "\", " +
                     "\"" + StoryboardManager.get()..format(new Date(System.currentTimeMillis())) +  "\", " +
                     "0, 0);\n" +
                     "      \n" +
                     "      storyboard.dumpHTML();\n" +
                     "   }\n\n";
         lastDotPos = fileBody.indexOf('{');
         fileBody = 
               fileBody.substring(0, lastDotPos+2)
               + testBody
               + fileBody.substring(lastDotPos+2);
         StoryboardManager.get().printFile(javaFilefileBody);
      }
      return this;
   }
   public KanbanEntry withParent(KanbanEntry newValue
   {
      this.setParent(newValue);
      return this;
   }
   public KanbanEntrySet getSubentries() 
   {
      if (this. == null)
      {
         return .;  
      }
      return this.;
   }
   public KanbanEntry withSubentries(KanbanEntry newValue) {
      this.addToSubentries(newValue);
      return this;
   }
   public KanbanEntry withoutSubentries(KanbanEntry newValue) {
      this.removeFromSubentries(newValue);
      return this;
   }
   public KanbanEntry withName(String newValue) {
      this.setName(newValue);
      return this;
   }
   public KanbanEntry withPhase(String newValue) {
      this.setPhase(newValue);
      return this;
   }
   public KanbanEntry withLastDeveloper(String newValue) {
      this.setLastDeveloper(newValue);
      return this;
   }
   public KanbanEntry withHoursRemaining(double newValue) {
      this.setHoursRemaining(newValue);
      return this;
   }
   public KanbanEntry withHoursSpend(double newValue) {
      this.setHoursSpend(newValue);
      return this;
   }
   public KanbanEntry withFiles(String newValue) {
      this.setFiles(newValue);
      return this;
   }
   public void removeYou()
   {
      this.setParent (null);
      getPropertyChangeSupport().firePropertyChange("REMOVE_YOU"thisnull);
   }
   protected final PropertyChangeSupport listeners = new PropertyChangeSupport(this);
   {
      return ;
   }

   
              one                       many
 KanbanEntry ----------------------------------- LogEntry
              kanbanEntry                   logEntries
 
   
   public static final String PROPERTY_LOGENTRIES = "logEntries";
   
   private LogEntryStoryBoardSet logEntries = null;
   
   {
      if (this. == null)
      {
         return .;
      }
   
      return this.;
   }
   
   public boolean addToLogEntries(LogEntryStoryBoard value)
   {
      boolean changed = false;
      
      if (value != null)
      {
         if (this. == null)
         {
            this. = new LogEntryStoryBoardSet();
         }
         
         changed = this..add (value);
         
         if (changed)
         {
            value.withKanbanEntry(this);
            // getPropertyChangeSupport().firePropertyChange(PROPERTY_LOGENTRIES, null, value);
         }
      }
         
      return changed;   
   }
   
   public boolean removeFromLogEntries(LogEntryStoryBoard value)
   {
      boolean changed = false;
      
      if ((this. != null) && (value != null))
      {
         changed = this..remove (value);
         
         if (changed)
         {
            value.setKanbanEntry(null);
            // getPropertyChangeSupport().firePropertyChange(PROPERTY_LOGENTRIES, null, value);
         }
      }
         
      return changed;   
   }
   
   {
      addToLogEntries(value);
      return this;
   } 
   
   {
      removeFromLogEntries(value);
      return this;
   } 
   
   public void removeAllFromLogEntries()
   {
   
      for (LogEntryStoryBoard value : tmpSet)
      {
         this.removeFromLogEntries(value);
      }
   }
   public int compareTo(KanbanEntry o)
   {
      if (this.getName() != null)
      {
         return this.getName().compareTo(o.getName());
      }
      
      return 0;
   }
   
   //==========================================================================
   
   public static final String PROPERTY_OLDNOOFLOGENTRIES = "oldNoOfLogEntries";
   
   private int oldNoOfLogEntries;
   public int getOldNoOfLogEntries()
   {
      return this.;
   }
   
   public void setOldNoOfLogEntries(int value)
   {
      if (this. != value)
      {
         int oldValue = this.;
         this. = value;
      }
   }
   
   public KanbanEntry withOldNoOfLogEntries(int value)
   {
      setOldNoOfLogEntries(value);
      return this;
   } 
   public String toString()
   {
      StringBuilder buf = new StringBuilder();
      
      buf.append(" ").append(this.getName());
      buf.append(" ").append(this.getPhase());
      buf.append(" ").append(this.getOldNoOfLogEntries());
      // buf.append(" ").append(this.getPhases());
      return buf.substring(1);
   }
   {
      ArrayList<LogEntryStoryBoardallLogEntries = new ArrayList<LogEntryStoryBoard>();
      
      allLogEntries.addAll(this.getLogEntries());
      
      for (KanbanEntry subEntry : this.getSubentries())
      {
         allLogEntries.addAll(subEntry.getAllLogEntries());
      }
      
      return allLogEntries;
   }
   
   //==========================================================================
   
   public static final String PROPERTY_PHASES = "phases";
   
   private String phases;
   public String getPhases()
   {
      return this.;
   }
   
   public void setPhases(String value)
   {
      if ( ! StrUtil.stringEquals(this.value))
      {
         String oldValue = this.;
         this. = value;
         getPropertyChangeSupport().firePropertyChange(oldValuevalue);
      }
   }
   
   public KanbanEntry withPhases(String value)
   {
      setPhases(value);
      return this;
   } 
   {
      for (LogEntryStoryBoard item : value)
      {
         addToLogEntries(item);
      }
      return this;
   } 
   {
      for (LogEntryStoryBoard item : value)
      {
         removeFromLogEntries(item);
      }
      return this;
   }
   {
      LogEntryStoryBoard value = new LogEntryStoryBoard();
      withLogEntries(value);
      return value;
   } 
New to GrepCode? Check out our FAQ X