ItEr20S04ArquitecturaServidorItEr19S04: Removing unnecessary files.
This commit is contained in:
parent
7006262376
commit
4ec02f6b27
2 changed files with 0 additions and 691 deletions
|
|
@ -1,327 +0,0 @@
|
|||
package org.navalplanner.business.test.orders.services;
|
||||
|
||||
import static org.hamcrest.CoreMatchers.equalTo;
|
||||
import static org.hamcrest.CoreMatchers.notNullValue;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertThat;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.navalplanner.business.BusinessGlobalNames.BUSINESS_SPRING_CONFIG_FILE;
|
||||
import static org.navalplanner.business.test.BusinessGlobalNames.BUSINESS_SPRING_CONFIG_TEST_FILE;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.hibernate.Session;
|
||||
import org.hibernate.SessionFactory;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.navalplanner.business.common.OnTransaction;
|
||||
import org.navalplanner.business.common.exceptions.InstanceNotFoundException;
|
||||
import org.navalplanner.business.common.exceptions.ValidationException;
|
||||
import org.navalplanner.business.orders.entities.HoursGroup;
|
||||
import org.navalplanner.business.orders.entities.Order;
|
||||
import org.navalplanner.business.orders.entities.OrderElement;
|
||||
import org.navalplanner.business.orders.entities.OrderLine;
|
||||
import org.navalplanner.business.orders.entities.OrderLineGroup;
|
||||
import org.navalplanner.business.orders.services.IOrderService;
|
||||
import org.navalplanner.business.planner.entities.Task;
|
||||
import org.navalplanner.business.planner.entities.TaskElement;
|
||||
import org.navalplanner.business.planner.services.ITaskElementService;
|
||||
import org.navalplanner.business.resources.entities.Criterion;
|
||||
import org.navalplanner.business.resources.entities.CriterionType;
|
||||
import org.navalplanner.business.resources.services.CriterionService;
|
||||
import org.navalplanner.business.test.resources.daos.CriterionSatisfactionDAOTest;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.test.annotation.NotTransactional;
|
||||
import org.springframework.test.context.ContextConfiguration;
|
||||
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
/**
|
||||
* Tests for {@link Order}. <br />
|
||||
* @author Óscar González Fernández <ogonzalez@igalia.com>
|
||||
*/
|
||||
@RunWith(SpringJUnit4ClassRunner.class)
|
||||
@ContextConfiguration(locations = { BUSINESS_SPRING_CONFIG_FILE,
|
||||
BUSINESS_SPRING_CONFIG_TEST_FILE })
|
||||
@Transactional
|
||||
public class OrderServiceTest {
|
||||
|
||||
private static Order createValidOrder() {
|
||||
Order order = new Order();
|
||||
order.setDescription("description");
|
||||
order.setCustomer("blabla");
|
||||
order.setInitDate(CriterionSatisfactionDAOTest.year(2000));
|
||||
order.setName("name");
|
||||
order.setResponsible("responsible");
|
||||
return order;
|
||||
}
|
||||
|
||||
@Autowired
|
||||
private IOrderService orderService;
|
||||
|
||||
@Autowired
|
||||
private ITaskElementService taskElementService;
|
||||
|
||||
@Autowired
|
||||
private CriterionService criterionService;
|
||||
|
||||
@Autowired
|
||||
private SessionFactory sessionFactory;
|
||||
|
||||
private Session getSession() {
|
||||
return sessionFactory.getCurrentSession();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testCreation() throws ValidationException {
|
||||
Order order = createValidOrder();
|
||||
orderService.save(order);
|
||||
assertTrue(orderService.exists(order));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testListing() throws Exception {
|
||||
List<Order> list = orderService.getOrders();
|
||||
orderService.save(createValidOrder());
|
||||
assertThat(orderService.getOrders().size(), equalTo(list.size() + 1));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testRemove() throws Exception {
|
||||
Order order = createValidOrder();
|
||||
orderService.save(order);
|
||||
assertTrue(orderService.exists(order));
|
||||
orderService.remove(order);
|
||||
assertFalse(orderService.exists(order));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void removingOrderWithAssociatedTasksDeletesThem()
|
||||
throws ValidationException, InstanceNotFoundException {
|
||||
Order order = createValidOrder();
|
||||
OrderLine orderLine = new OrderLine();
|
||||
orderLine.setName("bla");
|
||||
orderLine.setCode("00000000");
|
||||
orderLine.setWorkHours(10);
|
||||
order.add(orderLine);
|
||||
orderService.save(order);
|
||||
taskElementService.convertToScheduleAndSave(order);
|
||||
getSession().flush();
|
||||
getSession().evict(order);
|
||||
Order reloaded = orderService.find(order.getId());
|
||||
OrderElement e = reloaded.getOrderElements().iterator().next();
|
||||
assertThat(e.getTaskElements().size(), equalTo(1));
|
||||
Set<TaskElement> taskElements = e.getTaskElements();
|
||||
for (TaskElement t : taskElements) {
|
||||
if (t instanceof Task) {
|
||||
Task task = (Task) t;
|
||||
task.getHoursGroup().dontPoseAsTransientObjectAnymore();
|
||||
}
|
||||
}
|
||||
orderService.remove(reloaded);
|
||||
assertFalse(orderService.exists(reloaded));
|
||||
}
|
||||
|
||||
@Test(expected = ValidationException.class)
|
||||
public void shouldSendValidationExceptionIfEndDateIsBeforeThanStartingDate()
|
||||
throws ValidationException {
|
||||
Order order = createValidOrder();
|
||||
order.setEndDate(CriterionSatisfactionDAOTest.year(0));
|
||||
orderService.save(order);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testFind() throws Exception {
|
||||
Order order = createValidOrder();
|
||||
orderService.save(order);
|
||||
assertThat(orderService.find(order.getId()), notNullValue());
|
||||
}
|
||||
|
||||
@Test
|
||||
@NotTransactional
|
||||
public void testOrderPreserved() throws ValidationException,
|
||||
InstanceNotFoundException {
|
||||
final Order order = createValidOrder();
|
||||
final OrderElement[] containers = new OrderLineGroup[10];
|
||||
for (int i = 0; i < containers.length; i++) {
|
||||
containers[i] = new OrderLineGroup();
|
||||
containers[i].setName("bla");
|
||||
containers[i].setCode("000000000");
|
||||
order.add(containers[i]);
|
||||
}
|
||||
OrderLineGroup container = (OrderLineGroup) containers[0];
|
||||
|
||||
final OrderElement[] orderElements = new OrderElement[10];
|
||||
for (int i = 0; i < orderElements.length; i++) {
|
||||
OrderLine leaf = createValidLeaf("bla");
|
||||
orderElements[i] = leaf;
|
||||
container.add(leaf);
|
||||
}
|
||||
|
||||
for (int i = 1; i < containers.length; i++) {
|
||||
OrderLineGroup orderLineGroup = (OrderLineGroup) containers[i];
|
||||
OrderLine leaf = createValidLeaf("foo");
|
||||
orderLineGroup.add(leaf);
|
||||
}
|
||||
|
||||
orderService.save(order);
|
||||
orderService.onTransaction(new OnTransaction<Void>() {
|
||||
|
||||
@Override
|
||||
public Void execute() {
|
||||
try {
|
||||
Order reloaded = orderService.find(order.getId());
|
||||
List<OrderElement> elements = reloaded.getOrderElements();
|
||||
for (int i = 0; i < containers.length; i++) {
|
||||
assertThat(elements.get(i).getId(),
|
||||
equalTo(containers[i].getId()));
|
||||
}
|
||||
OrderLineGroup container = (OrderLineGroup) reloaded
|
||||
.getOrderElements().iterator().next();
|
||||
List<OrderElement> children = container.getChildren();
|
||||
for (int i = 0; i < orderElements.length; i++) {
|
||||
assertThat(children.get(i).getId(),
|
||||
equalTo(orderElements[i].getId()));
|
||||
}
|
||||
for (int i = 1; i < containers.length; i++) {
|
||||
OrderLineGroup orderLineGroup = (OrderLineGroup) containers[i];
|
||||
assertThat(orderLineGroup.getChildren().size(),
|
||||
equalTo(1));
|
||||
}
|
||||
return null;
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
orderService.remove(order);
|
||||
}
|
||||
|
||||
private OrderLine createValidLeaf(String parameter) {
|
||||
OrderLine result = new OrderLine();
|
||||
result.setName(parameter);
|
||||
result.setCode("000000000");
|
||||
|
||||
HoursGroup hoursGroup = HoursGroup.create(result);
|
||||
hoursGroup.setWorkingHours(0);
|
||||
result.addHoursGroup(hoursGroup);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@Test
|
||||
@NotTransactional
|
||||
public void testAddingOrderElement() throws Exception {
|
||||
final Order order = createValidOrder();
|
||||
OrderLineGroup container = new OrderLineGroup();
|
||||
container.setName("bla");
|
||||
container.setCode("000000000");
|
||||
OrderLine leaf = new OrderLine();
|
||||
leaf.setName("leaf");
|
||||
leaf.setCode("000000000");
|
||||
container.add(leaf);
|
||||
order.add(container);
|
||||
HoursGroup hoursGroup = HoursGroup.create(leaf);
|
||||
hoursGroup.setWorkingHours(3);
|
||||
leaf.addHoursGroup(hoursGroup);
|
||||
orderService.save(order);
|
||||
orderService.onTransaction(new OnTransaction<Void>() {
|
||||
|
||||
@Override
|
||||
public Void execute() {
|
||||
try {
|
||||
Order reloaded = orderService.find(order.getId());
|
||||
assertFalse(order == reloaded);
|
||||
assertThat(reloaded.getOrderElements().size(), equalTo(1));
|
||||
OrderLineGroup containerReloaded = (OrderLineGroup) reloaded
|
||||
.getOrderElements().get(0);
|
||||
assertThat(containerReloaded.getHoursGroups().size(),
|
||||
equalTo(1));
|
||||
assertThat(containerReloaded.getChildren().size(),
|
||||
equalTo(1));
|
||||
OrderElement leaf = containerReloaded.getChildren().get(0);
|
||||
assertThat(leaf.getHoursGroups().size(), equalTo(1));
|
||||
orderService.remove(order);
|
||||
} catch (InstanceNotFoundException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
@NotTransactional
|
||||
public void testManyToManyHoursGroupCriterionMapping() throws Exception {
|
||||
final Order order = createValidOrder();
|
||||
|
||||
OrderLine orderLine = new OrderLine();
|
||||
orderLine.setName("Order element");
|
||||
orderLine.setCode("000000000");
|
||||
order.add(orderLine);
|
||||
|
||||
HoursGroup hoursGroup = HoursGroup.create(orderLine);
|
||||
hoursGroup.setWorkingHours(10);
|
||||
HoursGroup hoursGroup2 = HoursGroup.create(orderLine);
|
||||
hoursGroup2.setWorkingHours(5);
|
||||
|
||||
orderLine.addHoursGroup(hoursGroup);
|
||||
orderLine.addHoursGroup(hoursGroup2);
|
||||
|
||||
CriterionType criterionType = new CriterionType("test");
|
||||
Criterion criterion = new Criterion("Test" + UUID.randomUUID(),
|
||||
criterionType);
|
||||
criterionService.save(criterion);
|
||||
|
||||
hoursGroup.addCriterion(criterion);
|
||||
hoursGroup2.addCriterion(criterion);
|
||||
|
||||
orderService.save(order);
|
||||
|
||||
orderService.onTransaction(new OnTransaction<Void>() {
|
||||
|
||||
@Override
|
||||
public Void execute() {
|
||||
try {
|
||||
Order reloaded = orderService.find(order.getId());
|
||||
|
||||
List<OrderElement> orderElements = reloaded
|
||||
.getOrderElements();
|
||||
assertThat(orderElements.size(), equalTo(1));
|
||||
|
||||
List<HoursGroup> hoursGroups = orderElements.get(0)
|
||||
.getHoursGroups();
|
||||
assertThat(hoursGroups.size(), equalTo(2));
|
||||
|
||||
Set<Criterion> criterions = hoursGroups.get(0)
|
||||
.getCriterions();
|
||||
assertThat(criterions.size(), equalTo(1));
|
||||
|
||||
Criterion criterion = criterions.iterator().next();
|
||||
|
||||
assertThat(criterion.getType().getName(), equalTo("test"));
|
||||
} catch (InstanceNotFoundException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
@Test(expected = ValidationException.class)
|
||||
public void testAtLeastOneHoursGroup() throws Exception {
|
||||
Order order = createValidOrder();
|
||||
|
||||
OrderLine orderLine = new OrderLine();
|
||||
orderLine.setName("foo");
|
||||
orderLine.setCode("000000000");
|
||||
order.add(orderLine);
|
||||
|
||||
orderService.save(order);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,364 +0,0 @@
|
|||
/*
|
||||
* To change this template, choose Tools | Templates
|
||||
* and open the template in the editor.
|
||||
*/
|
||||
|
||||
package org.zkoss.ganttz;
|
||||
|
||||
import java.beans.PropertyChangeEvent;
|
||||
import java.beans.PropertyChangeListener;
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.ListIterator;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import org.zkoss.ganttz.data.Task;
|
||||
import org.zkoss.ganttz.data.TaskContainer;
|
||||
import org.zkoss.lang.Objects;
|
||||
import org.zkoss.xml.HTMLs;
|
||||
import org.zkoss.zk.au.AuRequest;
|
||||
import org.zkoss.zk.au.Command;
|
||||
import org.zkoss.zk.au.ComponentCommand;
|
||||
import org.zkoss.zk.au.out.AuInvoke;
|
||||
import org.zkoss.zk.mesg.MZk;
|
||||
import org.zkoss.zk.ui.Component;
|
||||
import org.zkoss.zk.ui.UiException;
|
||||
import org.zkoss.zk.ui.event.Event;
|
||||
import org.zkoss.zk.ui.event.Events;
|
||||
import org.zkoss.zk.ui.ext.AfterCompose;
|
||||
import org.zkoss.zul.Div;
|
||||
|
||||
/**
|
||||
* @author javi
|
||||
*/
|
||||
public class TaskComponent extends Div implements AfterCompose {
|
||||
|
||||
private static final int HEIGHT_PER_TASK = 10;
|
||||
private static final String STANDARD_TASK_COLOR = "#007bbe";
|
||||
|
||||
private static Pattern pixelsSpecificationPattern = Pattern
|
||||
.compile("\\s*(\\d+)px\\s*;?\\s*");
|
||||
|
||||
private static int stripPx(String pixels) {
|
||||
Matcher matcher = pixelsSpecificationPattern.matcher(pixels);
|
||||
if (!matcher.matches())
|
||||
throw new IllegalArgumentException("pixels " + pixels
|
||||
+ " is not valid. It must be "
|
||||
+ pixelsSpecificationPattern.pattern());
|
||||
return Integer.valueOf(matcher.group(1));
|
||||
}
|
||||
|
||||
private static Command _updatecmd = new ComponentCommand(
|
||||
"onUpdatePosition", 0) {
|
||||
|
||||
protected void process(AuRequest request) {
|
||||
|
||||
final TaskComponent ta = (TaskComponent) request.getComponent();
|
||||
|
||||
if (ta == null) {
|
||||
throw new UiException(MZk.ILLEGAL_REQUEST_COMPONENT_REQUIRED,
|
||||
this);
|
||||
}
|
||||
|
||||
String[] requestData = request.getData();
|
||||
|
||||
if ((requestData != null) && (requestData.length != 2)) {
|
||||
throw new UiException(MZk.ILLEGAL_REQUEST_WRONG_DATA,
|
||||
new Object[] { Objects.toString(requestData), this });
|
||||
} else {
|
||||
|
||||
ta.doUpdatePosition(requestData[0], requestData[1]);
|
||||
Events.postEvent(new Event(getId(), ta, request.getData()));
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
private static Command _updatewidthcmd = new ComponentCommand(
|
||||
"onUpdateWidth", 0) {
|
||||
|
||||
protected void process(AuRequest request) {
|
||||
|
||||
final TaskComponent ta = (TaskComponent) request.getComponent();
|
||||
|
||||
if (ta == null) {
|
||||
throw new UiException(MZk.ILLEGAL_REQUEST_COMPONENT_REQUIRED,
|
||||
this);
|
||||
}
|
||||
|
||||
String[] requestData = request.getData();
|
||||
|
||||
if ((requestData != null) && (requestData.length != 1)) {
|
||||
throw new UiException(MZk.ILLEGAL_REQUEST_WRONG_DATA,
|
||||
new Object[] { Objects.toString(requestData), this });
|
||||
} else {
|
||||
|
||||
ta.doUpdateSize(requestData[0]);
|
||||
Events.postEvent(new Event(getId(), ta, request.getData()));
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
private static Command _adddependencycmd = new ComponentCommand(
|
||||
"onAddDependency", 0) {
|
||||
|
||||
protected void process(AuRequest request) {
|
||||
|
||||
final TaskComponent taskComponent = (TaskComponent) request.getComponent();
|
||||
|
||||
if (taskComponent == null) {
|
||||
throw new UiException(MZk.ILLEGAL_REQUEST_COMPONENT_REQUIRED,
|
||||
this);
|
||||
}
|
||||
|
||||
String[] requestData = request.getData();
|
||||
|
||||
if ((requestData != null) && (requestData.length != 1)) {
|
||||
throw new UiException(MZk.ILLEGAL_REQUEST_WRONG_DATA,
|
||||
new Object[] { Objects.toString(requestData), this });
|
||||
} else {
|
||||
taskComponent.doAddDependency(requestData[0]);
|
||||
Events.postEvent(new Event(getId(), taskComponent, request.getData()));
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
public static TaskComponent asTaskComponent(Task task, TaskList taskList,
|
||||
boolean isTopLevel) {
|
||||
final TaskComponent result;
|
||||
if (task.isContainer()) {
|
||||
result = TaskContainerComponent
|
||||
.asTask((TaskContainer) task, taskList);
|
||||
} else {
|
||||
result = new TaskComponent(task);
|
||||
}
|
||||
result.isTopLevel = isTopLevel;
|
||||
return result;
|
||||
}
|
||||
|
||||
public static TaskComponent asTaskComponent(Task task, TaskList taskList) {
|
||||
return asTaskComponent(task, taskList, true);
|
||||
}
|
||||
|
||||
public TaskComponent(Task task) {
|
||||
setHeight(HEIGHT_PER_TASK + "px");
|
||||
setContext("idContextMenuTaskAssigment");
|
||||
this.task = task;
|
||||
setColor(STANDARD_TASK_COLOR);
|
||||
setId(UUID.randomUUID().toString());
|
||||
}
|
||||
|
||||
protected String calculateClass() {
|
||||
return "box";
|
||||
}
|
||||
|
||||
protected void updateClass() {
|
||||
response(null, new AuInvoke(this, "setClass",
|
||||
new Object[] { calculateClass() }));
|
||||
}
|
||||
|
||||
public void afterCompose() {
|
||||
updateProperties();
|
||||
if (propertiesListener == null) {
|
||||
propertiesListener = new PropertyChangeListener() {
|
||||
|
||||
@Override
|
||||
public void propertyChange(PropertyChangeEvent evt) {
|
||||
if (isInPage()) {
|
||||
updateProperties();
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
this.task
|
||||
.addFundamentalPropertiesChangeListener(propertiesListener);
|
||||
updateClass();
|
||||
}
|
||||
|
||||
private String _color;
|
||||
|
||||
private List<WeakReference<DependencyAddedListener>> dependencyListeners = new LinkedList<WeakReference<DependencyAddedListener>>();
|
||||
|
||||
private boolean isTopLevel;
|
||||
|
||||
private final Task task;
|
||||
private PropertyChangeListener propertiesListener;
|
||||
|
||||
public Task getTask() {
|
||||
return task;
|
||||
}
|
||||
|
||||
public String getTaskName() {
|
||||
return task.getName();
|
||||
}
|
||||
|
||||
public String getLength() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public void addDependencyListener(DependencyAddedListener listener) {
|
||||
dependencyListeners.add(new WeakReference<DependencyAddedListener>(
|
||||
listener));
|
||||
}
|
||||
|
||||
private void fireDependenceAdded(DependencyComponent dependencyComponent) {
|
||||
ArrayList<DependencyAddedListener> active = new ArrayList<DependencyAddedListener>();
|
||||
synchronized (this) {
|
||||
ListIterator<WeakReference<DependencyAddedListener>> iterator = dependencyListeners
|
||||
.listIterator();
|
||||
while (iterator.hasNext()) {
|
||||
WeakReference<DependencyAddedListener> next = iterator.next();
|
||||
DependencyAddedListener listener = next.get();
|
||||
if (listener == null) {
|
||||
iterator.remove();
|
||||
} else {
|
||||
active.add(listener);
|
||||
}
|
||||
}
|
||||
}
|
||||
for (DependencyAddedListener listener : active) {
|
||||
listener.dependenceAdded(dependencyComponent);
|
||||
}
|
||||
}
|
||||
|
||||
public Command getCommand(String cmdId) {
|
||||
|
||||
Command c = null;
|
||||
|
||||
if ("updatePosition".equals(cmdId))
|
||||
c = _updatecmd;
|
||||
else if ("updateSize".equals(cmdId))
|
||||
c = _updatewidthcmd;
|
||||
else if ("addDependency".equals(cmdId))
|
||||
c = _adddependencycmd;
|
||||
|
||||
return c;
|
||||
}
|
||||
|
||||
// Command action to do
|
||||
void doUpdatePosition(String leftX, String topY) {
|
||||
this.task.setBeginDate(getMapper().toDate(stripPx(leftX)));
|
||||
}
|
||||
|
||||
void doUpdateSize(String size) {
|
||||
int pixels = stripPx(size);
|
||||
this.task.setLengthMilliseconds(getMapper().toMilliseconds(pixels));
|
||||
}
|
||||
|
||||
void doAddDependency(String destinyTaskId) {
|
||||
DependencyComponent dependencyComponent = new DependencyComponent(this,
|
||||
((TaskComponent) getFellow(destinyTaskId)));
|
||||
if (getPlanner().canAddDependency(dependencyComponent.getDependency())) {
|
||||
fireDependenceAdded(dependencyComponent);
|
||||
}
|
||||
}
|
||||
|
||||
public String getColor() {
|
||||
return _color;
|
||||
}
|
||||
|
||||
public void setColor(String color) {
|
||||
|
||||
if ((color != null) && (color.length() == 0)) {
|
||||
color = null;
|
||||
}
|
||||
|
||||
if (!Objects.equals(_color, color)) {
|
||||
_color = color;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* We override the method of getRealStyle to put the color property as part
|
||||
* of the style
|
||||
*/
|
||||
|
||||
protected String getRealStyle() {
|
||||
|
||||
final StringBuffer sb = new StringBuffer(super.getRealStyle());
|
||||
|
||||
if (getColor() != null) {
|
||||
HTMLs.appendStyle(sb, "background-color", getColor());
|
||||
}
|
||||
HTMLs.appendStyle(sb, "position", "absolute");
|
||||
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
/*
|
||||
* We send a response to the client to create the arrow we are going to use
|
||||
* to create the dependency
|
||||
*/
|
||||
|
||||
public void addDependency() {
|
||||
response("depkey", new AuInvoke(this, "addDependency"));
|
||||
}
|
||||
|
||||
private DatesMapper getMapper() {
|
||||
return getTaskList().getMapper();
|
||||
}
|
||||
|
||||
public TaskList getTaskList() {
|
||||
return (TaskList) getParent();
|
||||
}
|
||||
|
||||
public Planner getPlanner() {
|
||||
return getTaskList().getPlanner();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setParent(Component parent) {
|
||||
if (parent != null && !(parent instanceof TaskList))
|
||||
throw new UiException("Unsupported parent for rows: " + parent);
|
||||
super.setParent(parent);
|
||||
}
|
||||
|
||||
public void zoomChanged() {
|
||||
updateProperties();
|
||||
}
|
||||
|
||||
private void updateProperties() {
|
||||
setLeft("0");
|
||||
setLeft(getMapper().toPixels(this.task.getBeginDate()) + "px");
|
||||
setWidth("0");
|
||||
setWidth(getMapper().toPixels(this.task.getLengthMilliseconds())
|
||||
+ "px");
|
||||
smartUpdate("name", this.task.getName());
|
||||
DependencyList dependencyList = getDependencyList();
|
||||
if (dependencyList != null) {
|
||||
dependencyList.redrawDependenciesConnectedTo(this);
|
||||
}
|
||||
}
|
||||
|
||||
private DependencyList getDependencyList() {
|
||||
return getPlanner().getDependencyList();
|
||||
}
|
||||
|
||||
private boolean isInPage() {
|
||||
return getParent() != null;
|
||||
}
|
||||
|
||||
void publishTaskComponents(Map<Task, TaskComponent> resultAccumulated) {
|
||||
resultAccumulated.put(getTask(), this);
|
||||
publishDescendants(resultAccumulated);
|
||||
}
|
||||
|
||||
protected void publishDescendants(Map<Task, TaskComponent> resultAccumulated) {
|
||||
|
||||
}
|
||||
|
||||
protected void remove() {
|
||||
getDependencyList().taskRemoved(this.getTask());
|
||||
this.detach();
|
||||
}
|
||||
|
||||
public boolean isTopLevel() {
|
||||
return isTopLevel;
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue