Clover coverage report - Maven Clover report
Coverage timestamp: Thu Oct 11 2007 08:41:48 CEST
file stats: LOC: 73   Methods: 3
NCLOC: 43   Classes: 1
 
 Source file Conditionals Statements Methods TOTAL
SimplePointCreationAction.java - 100% 100% 100%
coverage
 1    /*
 2    * Copyright (C) 2007 Eric MIGNOT - mignots.eric@free.fr
 3    *
 4    * This library is free software; you can redistribute it and/or
 5    * modify it under the terms of the GNU Lesser General Public
 6    * License as published by the Free Software Foundation; either
 7    * version 2.1 of the License, or (at your option) any later version.
 8    *
 9    * This library is distributed in the hope that it will be useful,
 10    * but WITHOUT ANY WARRANTY; without even the implied warranty of
 11    * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 12    * Lesser General Public License for more details.
 13    *
 14    * You should have received a copy of the GNU Lesser General Public
 15    * License along with this library; if not, write to the Free Software
 16    * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 17    */
 18   
 19    package org.ericmignot.modeler.action;
 20   
 21    import org.ericmignot.modeler.data.BusinessObject;
 22    import org.ericmignot.modeler.data.Link;
 23    import org.ericmignot.modeler.data.Model;
 24    import org.ericmignot.modeler.data.SimplePoint;
 25    import org.ericmignot.modeler.util.action.ActionException;
 26    import org.ericmignot.modeler.util.action.NotifyableAction;
 27   
 28    public class SimplePointCreationAction extends NotifyableAction
 29    {
 30    protected Model model;
 31    protected Link source;
 32    protected BusinessObject sourceEnd;
 33    protected SimplePoint newPoint;
 34    protected Link linkFromStart;
 35    protected Link linkToEnd;
 36   
 37  13 public SimplePointCreationAction(Link source, SimplePoint newPoint, Model model)
 38    {
 39  13 this.model = model;
 40  13 this.source = source;
 41  13 this.newPoint = newPoint;
 42  13 this.sourceEnd = source.getLinkEnd();
 43    }
 44   
 45  14 public Object execute(Object actionParameter) throws ActionException
 46    {
 47  14 this.model.addBusinessObject(this.newPoint);
 48   
 49  14 this.linkFromStart = this.source;
 50  14 this.linkFromStart.setLinkEnd(this.newPoint);
 51   
 52  14 this.linkToEnd = new Link();
 53  14 this.linkToEnd.setLinkStart(this.newPoint);
 54  14 this.linkToEnd.setLinkEnd(this.sourceEnd);
 55   
 56  14 this.model.addBusinessObject(this.linkToEnd);
 57   
 58  14 this.model.getRootLink(this.source).addPoint(this.newPoint.getCenter());
 59  14 return this.newPoint;
 60    }
 61   
 62  5 public Object cancel(Object actionParameter) throws ActionException
 63    {
 64  5 this.model.removeBusinessObject(this.linkToEnd);
 65  5 this.linkFromStart.setLinkEnd(this.sourceEnd);
 66  5 this.model.removeBusinessObject(this.newPoint);
 67   
 68  5 this.model.getRootLink(this.source).removePoint(this.newPoint.getCenter());
 69  5 return this.newPoint;
 70    }
 71   
 72   
 73    }