Update all plugins

This commit is contained in:
Bogdan Bodnarjuk 2016-04-19 16:52:00 +03:00 committed by bodnarjuk
parent 2f89620270
commit 22b733d8ff
5 changed files with 186 additions and 229 deletions

View file

@ -38,8 +38,7 @@ import org.libreplan.business.common.daos.IJobSchedulerConfigurationDAO;
*
* @author Miciele Ghiorghis <m.ghiorghis@antoniusziekenhuis.nl>
*/
public class JobSchedulerConfiguration extends BaseEntity implements
IHumanIdentifiable {
public class JobSchedulerConfiguration extends BaseEntity implements IHumanIdentifiable {
public static JobSchedulerConfiguration create() {
return create(new JobSchedulerConfiguration());
@ -122,18 +121,16 @@ public class JobSchedulerConfiguration extends BaseEntity implements
@AssertTrue(message = "job group and name are already being used")
public boolean isUniqueJobGroupAndNameConstraint() {
if (StringUtils.isBlank(jobGroup) && StringUtils.isBlank(jobName)) {
if ( StringUtils.isBlank(jobGroup) && StringUtils.isBlank(jobName) ) {
return true;
}
IJobSchedulerConfigurationDAO jobSchedulerConfigurationDAO = Registry
.getJobSchedulerConfigurationDAO();
if (isNewObject()) {
return !jobSchedulerConfigurationDAO
.existsByJobGroupAndJobNameAnotherTransaction(this);
IJobSchedulerConfigurationDAO jobSchedulerConfigurationDAO = Registry.getJobSchedulerConfigurationDAO();
if ( isNewObject() ) {
return !jobSchedulerConfigurationDAO.existsByJobGroupAndJobNameAnotherTransaction(this);
} else {
JobSchedulerConfiguration found = jobSchedulerConfigurationDAO
.findUniqueByJobGroupAndJobNameAnotherTransaction(jobGroup,
jobName);
JobSchedulerConfiguration found =
jobSchedulerConfigurationDAO.findUniqueByJobGroupAndJobNameAnotherTransaction(jobGroup, jobName);
return found == null || found.getId().equals(getId());
}
}

View file

@ -39,11 +39,11 @@ public class SendEmailOnMilestoneReachedJob extends QuartzJobBean {
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
ApplicationContext applicationContext = (ApplicationContext) context.getJobDetail().
getJobDataMap().get("applicationContext");
ApplicationContext applicationContext =
(ApplicationContext) context.getJobDetail().getJobDataMap().get("applicationContext");
IEmailNotificationJob milestoneReached = (SendEmailOnMilestoneReached) applicationContext
.getBean("SendEmailOnMilestoneReached");
IEmailNotificationJob milestoneReached =
(SendEmailOnMilestoneReached) applicationContext.getBean("SendEmailOnMilestoneReached");
milestoneReached.sendEmail();
}

View file

@ -138,8 +138,7 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
@Autowired
private IAdHocTransactionService transactionService;
private static final org.apache.commons.logging.Log LOG = LogFactory
.getLog(OrderElementTreeController.class);
private static final org.apache.commons.logging.Log LOG = LogFactory.getLog(OrderElementTreeController.class);
public List<org.libreplan.business.labels.entities.Label> getLabels() {
return orderModel.getLabels();
@ -150,9 +149,8 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
return renderer;
}
public OrderElementTreeController(IOrderModel orderModel,
OrderElementController orderElementController,
IMessagesForUser messagesForUser) {
public OrderElementTreeController(IOrderModel orderModel, OrderElementController orderElementController,
IMessagesForUser messagesForUser) {
super(OrderElement.class);
this.orderModel = orderModel;
this.orderElementController = orderElementController;
@ -217,8 +215,7 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
new IOnResult<OrderElementTemplate>() {
@Override
public void found(OrderElementTemplate template) {
OrderLineGroup parent = (OrderLineGroup) getModel()
.getRoot();
OrderLineGroup parent = (OrderLineGroup) getModel().getRoot();
orderModel.createFrom(parent, template);
getModel().addNewlyAddedChildrenOf(parent);
@ -233,14 +230,14 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
tree.invalidate();
}
void doEditFor(Order order) {
void doEditFor() {
Util.reloadBindings(tree);
}
public void disabledCodeBoxes(boolean disabled) {
Set<Treeitem> childrenSet = new HashSet<Treeitem>();
Set<Treeitem> childrenSet = new HashSet<>();
Treechildren treeChildren = tree.getTreechildren();
if (treeChildren != null) {
if ( treeChildren != null ) {
childrenSet.addAll((Collection<Treeitem>) treeChildren.getItems());
}
for (Treeitem each : childrenSet) {
@ -250,14 +247,13 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
private void disableCodeBoxes(Treeitem item, boolean disabled) {
Treerow row = item.getTreerow();
InputElement codeBox = (InputElement) ((Treecell) row.getChildren()
.get(1)).getChildren().get(0);
InputElement codeBox = (InputElement) ((Treecell) row.getChildren().get(1)).getChildren().get(0);
codeBox.setDisabled(disabled);
codeBox.invalidate();
Set<Treeitem> childrenSet = new HashSet<Treeitem>();
Set<Treeitem> childrenSet = new HashSet<>();
Treechildren children = item.getTreechildren();
if (children != null) {
if ( children != null ) {
childrenSet.addAll((Collection<Treeitem>) children.getItems());
}
@ -274,27 +270,20 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
// Configuration of the order elements filter
Component filterComponent = Executions.createComponents(
"/orders/_orderElementTreeFilter.zul", orderElementFilter,
"/orders/_orderElementTreeFilter.zul",
orderElementFilter,
new HashMap<String, String>());
filterComponent.setVariable("treeController", this, true);
bdFiltersOrderElement = (BandboxMultipleSearch) filterComponent
.getFellow("bdFiltersOrderElement");
filterOptionsPopup = (Popup) filterComponent
.getFellow("filterOptionsPopup");
filterStartDateOrderElement = (Datebox) filterOptionsPopup
.getFellow("filterStartDateOrderElement");
filterFinishDateOrderElement = (Datebox) filterOptionsPopup
.getFellow("filterFinishDateOrderElement");
labelsWithoutInheritance = (Checkbox) filterOptionsPopup
.getFellow("labelsWithoutInheritance");
filterNameOrderElement = (Textbox) filterComponent
.getFellow("filterNameOrderElement");
labelsWithoutInheritance = (Checkbox) filterComponent
.getFellow("labelsWithoutInheritance");
templateFinderPopup = (TemplateFinderPopup) comp
.getFellow("templateFinderPopupAtTree");
operationsForOrderElement.tree(tree)
.orderTemplates(this.orderTemplates);
bdFiltersOrderElement = (BandboxMultipleSearch) filterComponent.getFellow("bdFiltersOrderElement");
filterOptionsPopup = (Popup) filterComponent.getFellow("filterOptionsPopup");
filterStartDateOrderElement = (Datebox) filterOptionsPopup.getFellow("filterStartDateOrderElement");
filterFinishDateOrderElement = (Datebox) filterOptionsPopup.getFellow("filterFinishDateOrderElement");
labelsWithoutInheritance = (Checkbox) filterOptionsPopup.getFellow("labelsWithoutInheritance");
filterNameOrderElement = (Textbox) filterComponent.getFellow("filterNameOrderElement");
labelsWithoutInheritance = (Checkbox) filterComponent.getFellow("labelsWithoutInheritance");
templateFinderPopup = (TemplateFinderPopup) comp.getFellow("templateFinderPopupAtTree");
operationsForOrderElement.tree(tree).orderTemplates(this.orderTemplates);
importOrderFiltersFromSession();
disableCreateTemplateButtonIfNeeded(comp);
@ -302,35 +291,29 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
private void importOrderFiltersFromSession() {
Order order = orderModel.getOrder();
filterNameOrderElement.setValue(FilterUtils
.readOrderTaskName(order));
filterStartDateOrderElement.setValue(FilterUtils
.readOrderStartDate(order));
filterFinishDateOrderElement.setValue(FilterUtils
.readOrderEndDate(order));
if (FilterUtils.readOrderParameters(order) != null) {
for (FilterPair each : (List<FilterPair>) FilterUtils
.readOrderParameters(order)) {
if (toOrderFilterEnum(each) != null) {
bdFiltersOrderElement
.addSelectedElement(toOrderFilterEnum(each));
filterNameOrderElement.setValue(FilterUtils.readOrderTaskName(order));
filterStartDateOrderElement.setValue(FilterUtils.readOrderStartDate(order));
filterFinishDateOrderElement.setValue(FilterUtils.readOrderEndDate(order));
if ( FilterUtils.readOrderParameters(order) != null ) {
for (FilterPair each : FilterUtils.readOrderParameters(order)) {
if ( toOrderFilterEnum(each) != null ) {
bdFiltersOrderElement.addSelectedElement(toOrderFilterEnum(each));
}
}
}
if (FilterUtils.readOrderInheritance(order) != null) {
labelsWithoutInheritance.setChecked(FilterUtils
.readOrderInheritance(order));
if ( FilterUtils.readOrderInheritance(order) != null ) {
labelsWithoutInheritance.setChecked(FilterUtils.readOrderInheritance(order));
}
}
private FilterPair toOrderFilterEnum(FilterPair each) {
switch ((TaskElementFilterEnum) each.getType()) {
case Label:
return new FilterPair(OrderElementFilterEnum.Label,
each.getPattern(), each.getValue());
return new FilterPair(OrderElementFilterEnum.Label, each.getPattern(), each.getValue());
case Criterion:
return new FilterPair(OrderElementFilterEnum.Criterion,
each.getPattern(), each.getValue());
return new FilterPair(OrderElementFilterEnum.Criterion, each.getPattern(), each.getValue());
case Resource:
// Resources are discarded on WBS filter
}
@ -338,14 +321,11 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
}
private void disableCreateTemplateButtonIfNeeded(Component comp) {
Button createTemplateButton = (Button) comp
.getFellowIfAny("createTemplateButton");
if (createTemplateButton != null) {
if (!SecurityUtils
.isSuperuserOrUserInRoles(UserRole.ROLE_TEMPLATES)) {
Button createTemplateButton = (Button) comp.getFellowIfAny("createTemplateButton");
if ( createTemplateButton != null ) {
if ( !SecurityUtils.isSuperuserOrUserInRoles(UserRole.ROLE_TEMPLATES) ) {
createTemplateButton.setDisabled(true);
createTemplateButton
.setTooltiptext(_("Not enough permissions to create templates"));
createTemplateButton.setTooltiptext(_("Not enough permissions to create templates"));
}
}
}
@ -355,8 +335,8 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
// Is already added?
Button button = (Button) ComponentsFinder.findById("expandAllButton", children);
if (button != null) {
if (button.getSclass().equals("planner-command clicked")) {
if ( button != null ) {
if ( button.getSclass().equals("planner-command clicked") ) {
button.setSclass("planner-command");
button.invalidate();
}
@ -372,7 +352,7 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
expandAllButton.addEventListener("onClick", new EventListener() {
@Override
public void onEvent(Event event) {
if (expandAllButton.getSclass().equals("planner-command")) {
if ( expandAllButton.getSclass().equals("planner-command") ) {
expandAll();
expandAllButton.setSclass("planner-command clicked");
} else {
@ -385,12 +365,12 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
}
public void expandAll() {
Set<Treeitem> childrenSet = new HashSet<Treeitem>();
Set<Treeitem> childrenSet = new HashSet<>();
Treechildren children = tree.getTreechildren();
if(children != null) {
if ( children != null ) {
childrenSet.addAll((Collection<Treeitem>) children.getItems());
}
for(Treeitem each: childrenSet) {
for (Treeitem each: childrenSet) {
expandAll(each);
}
}
@ -398,20 +378,20 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
private void expandAll(Treeitem item) {
item.setOpen(true);
Set<Treeitem> childrenSet = new HashSet<Treeitem>();
Set<Treeitem> childrenSet = new HashSet<>();
Treechildren children = item.getTreechildren();
if(children != null) {
if ( children != null ) {
childrenSet.addAll((Collection<Treeitem>) children.getItems());
}
for(Treeitem each: childrenSet) {
for (Treeitem each: childrenSet) {
expandAll(each);
}
}
public void collapseAll() {
Treechildren children = tree.getTreechildren();
for(Treeitem each: (Collection<Treeitem>) children.getItems()) {
for (Treeitem each: (Collection<Treeitem>) children.getItems()) {
each.setOpen(false);
}
}
@ -448,7 +428,8 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
orderElementForThisRow.setName(value);
}
});
if (readOnly) {
if ( readOnly ) {
textBox.setDisabled(true);
}
textBox.setConstraint("no empty:" + _("cannot be empty"));
@ -457,23 +438,20 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
}
@Override
protected SchedulingState getSchedulingStateFrom(
OrderElement currentElement) {
protected SchedulingState getSchedulingStateFrom(OrderElement currentElement) {
return currentElement.getSchedulingState();
}
@Override
protected void onDoubleClickForSchedulingStateCell(
final OrderElement currentOrderElement) {
IOrderElementModel model = orderModel
.getOrderElementModel(currentOrderElement);
protected void onDoubleClickForSchedulingStateCell(final OrderElement currentOrderElement) {
IOrderElementModel model = orderModel.getOrderElementModel(currentOrderElement);
orderElementController.openWindow(model);
updateColumnsFor(currentOrderElement);
}
@Override
protected void addCodeCell(final OrderElement orderElement) {
if (orderElement.isJiraIssue()) {
if ( orderElement.isJiraIssue() ) {
addHyperlink(orderElement);
} else {
addTextbox(orderElement);
@ -482,6 +460,7 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
private void addTextbox(final OrderElement orderElement) {
Textbox textBoxCode = new Textbox();
Util.bind(textBoxCode, new Util.Getter<String>() {
@Override
public String get() {
@ -494,19 +473,19 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
orderElement.setCode(value);
}
});
textBoxCode.setConstraint(new Constraint() {
@Override
public void validate(Component comp, Object value)
throws WrongValueException {
if (!orderElement.isFormatCodeValid((String) value)) {
throw new WrongValueException(
comp,
_("Value is not valid.\n Code cannot contain chars like '_' \n and should not be empty"));
public void validate(Component comp, Object value) throws WrongValueException {
if ( !orderElement.isFormatCodeValid((String) value) ) {
throw new WrongValueException(comp,
_("Value is not valid.\n Code cannot contain chars like '_' \n " +
"and should not be empty"));
}
}
});
if (orderModel.isCodeAutogenerated() || readOnly) {
if ( orderModel.isCodeAutogenerated() || readOnly ) {
textBoxCode.setDisabled(true);
}
@ -518,24 +497,21 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
String code = orderElement.getCode();
A hyperlink = new A(code);
Connector connector = connectorDAO
.findUniqueByName(PredefinedConnectors.JIRA.getName());
if (connector == null) {
Connector connector = connectorDAO.findUniqueByName(PredefinedConnectors.JIRA.getName());
if ( connector == null ) {
return;
}
String jiraUrl = connector.getPropertiesAsMap().get(
PredefinedConnectorProperties.SERVER_URL);
String jiraUrl = connector.getPropertiesAsMap().get(PredefinedConnectorProperties.SERVER_URL);
String codeWithoutPrefix = StringUtils.removeStart(code, PredefinedConnectorProperties.JIRA_CODE_PREFIX);
String codeWithoutPrefix = StringUtils.removeStart(code,
PredefinedConnectorProperties.JIRA_CODE_PREFIX);
codeWithoutPrefix = StringUtils.removeStart(codeWithoutPrefix,
orderElement.getOrder().getCode()
+ EntitySequence.CODE_SEPARATOR_CHILDREN);
orderElement.getOrder().getCode() + EntitySequence.CODE_SEPARATOR_CHILDREN);
hyperlink.setHref(jiraUrl + "/browse/" + codeWithoutPrefix);
if (orderModel.isCodeAutogenerated() || readOnly) {
if ( orderModel.isCodeAutogenerated() || readOnly ) {
hyperlink.setDisabled(true);
}
@ -558,7 +534,8 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
}
});
if (readOnly) {
if ( readOnly ) {
dinamicDatebox.setDisabled(true);
}
addDateCell(dinamicDatebox, _("init"));
@ -580,9 +557,11 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
currentOrderElement.setDeadline(value);
}
});
if (readOnly
|| (currentOrderElement.getTaskSource() != null && currentOrderElement
.getTaskSource().getTask().isSubcontracted())) {
if ( readOnly ||
(currentOrderElement.getTaskSource() != null &&
currentOrderElement.getTaskSource().getTask().isSubcontracted()) ) {
dinamicDatebox.setDisabled(true);
}
addDateCell(dinamicDatebox, _("end"));
@ -590,14 +569,11 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
}
@Override
protected void addOperationsCell(final Treeitem item,
final OrderElement currentOrderElement) {
addCell(createEditButton(currentOrderElement, item),
createRemoveButton(currentOrderElement));
protected void addOperationsCell(final Treeitem item, final OrderElement currentOrderElement) {
addCell(createEditButton(item), createRemoveButton(currentOrderElement));
}
private Button createEditButton(final OrderElement currentOrderElement,
final Treeitem item) {
private Button createEditButton(final Treeitem item) {
Button editbutton = createButton("/common/img/ico_editar1.png",
_("Edit"), "/common/img/ico_editar.png", "icono",
new EventListener() {
@ -606,6 +582,7 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
showEditionOrderElement(item);
}
});
return editbutton;
}
@ -625,8 +602,7 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
@Override
protected boolean isPredicateApplied() {
return (predicate != null)
&& !((OrderElementPredicate) predicate).isEmpty();
return (predicate != null) && !((OrderElementPredicate) predicate).isEmpty();
}
/**
@ -637,7 +613,7 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
OrderElementPredicate predicate = createPredicate();
this.predicate = predicate;
if (predicate != null) {
if ( predicate != null ) {
filterByPredicate(predicate);
} else {
showAllOrderElements();
@ -646,18 +622,13 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
private void writeFilterParameters() {
Order order = orderModel.getOrder();
FilterUtils.writeOrderStartDate(order,
filterStartDateOrderElement.getValue());
FilterUtils.writeOrderEndDate(order,
filterFinishDateOrderElement.getValue());
FilterUtils
.writeOrderTaskName(order,
filterNameOrderElement.getValue());
FilterUtils.writeOrderInheritance(order,
labelsWithoutInheritance.isChecked());
List<FilterPair> result = new ArrayList<FilterPair>();
for (FilterPair filterPair : (List<FilterPair>) bdFiltersOrderElement
.getSelectedElements()) {
FilterUtils.writeOrderStartDate(order, filterStartDateOrderElement.getValue());
FilterUtils.writeOrderEndDate(order, filterFinishDateOrderElement.getValue());
FilterUtils.writeOrderTaskName(order, filterNameOrderElement.getValue());
FilterUtils.writeOrderInheritance(order, labelsWithoutInheritance.isChecked());
List<FilterPair> result = new ArrayList<>();
for (FilterPair filterPair : (List<FilterPair>) bdFiltersOrderElement.getSelectedElements()) {
result.add(toTasKElementFilterEnum(filterPair));
}
FilterUtils.writeOrderParameters(order, result);
@ -667,49 +638,44 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
private FilterPair toTasKElementFilterEnum(FilterPair each) {
switch ((OrderElementFilterEnum) each.getType()) {
case Label:
return new FilterPair(TaskElementFilterEnum.Label,
each.getPattern(), each.getValue());
return new FilterPair(TaskElementFilterEnum.Label, each.getPattern(), each.getValue());
case Criterion:
return new FilterPair(TaskElementFilterEnum.Criterion,
each.getPattern(), each.getValue());
return new FilterPair(TaskElementFilterEnum.Criterion, each.getPattern(), each.getValue());
}
return null;
}
private OrderElementPredicate createPredicate() {
List<FilterPair> listFilters = (List<FilterPair>) bdFiltersOrderElement
.getSelectedElements();
List<FilterPair> listFilters = (List<FilterPair>) bdFiltersOrderElement.getSelectedElements();
Date startDate = filterStartDateOrderElement.getValue();
Date finishDate = filterFinishDateOrderElement.getValue();
boolean ignoreLabelsInheritance = Boolean
.valueOf(labelsWithoutInheritance.isChecked());
boolean ignoreLabelsInheritance = Boolean.valueOf(labelsWithoutInheritance.isChecked());
String name = filterNameOrderElement.getValue();
if (listFilters.isEmpty() && startDate == null && finishDate == null
&& name == null) {
if ( listFilters.isEmpty() && startDate == null && finishDate == null && name == null ) {
return null;
}
return new OrderElementPredicate(listFilters, startDate, finishDate,
name, ignoreLabelsInheritance);
return new OrderElementPredicate(listFilters, startDate, finishDate, name, ignoreLabelsInheritance);
}
public TreeModel getFilteredTreeModel() {
OrderElementTreeModel filteredModel = getFilteredModel();
if (filteredModel == null) {
if ( filteredModel == null ) {
return null;
}
return filteredModel.asTree();
}
public OrderElementTreeModel getFilteredModel() {
if (orderModel == null) {
if ( orderModel == null ) {
return null;
}
OrderElementPredicate predicate = createPredicate();
this.predicate = predicate;
if (predicate != null) {
if ( predicate != null ) {
return orderModel.getOrderElementsFilteredByPredicate(predicate);
} else {
return orderModel.getOrderElementTreeModel();
@ -717,8 +683,7 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
}
private void filterByPredicate(OrderElementPredicate predicate) {
OrderElementTreeModel orderElementTreeModel = orderModel
.getOrderElementsFilteredByPredicate(predicate);
OrderElementTreeModel orderElementTreeModel = orderModel.getOrderElementsFilteredByPredicate(predicate);
tree.setModel(orderElementTreeModel.asTree());
tree.invalidate();
}
@ -756,25 +721,29 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
protected String createTooltipText(OrderElement elem) {
StringBuilder tooltipText = new StringBuilder();
tooltipText.append(elem.getName() + ". ");
if ((elem.getDescription() != null)
&& (!elem.getDescription().equals(""))) {
if ( (elem.getDescription() != null) && (!elem.getDescription().equals("")) ) {
tooltipText.append(elem.getDescription());
tooltipText.append(". ");
}
if ((elem.getLabels() != null) && (!elem.getLabels().isEmpty())) {
if ( (elem.getLabels() != null) && (!elem.getLabels().isEmpty()) ) {
tooltipText.append(" " + _("Labels") + ":");
tooltipText.append(StringUtils.join(elem.getLabels(), ","));
tooltipText.append(".");
}
if ((elem.getCriterionRequirements() != null)
&& (!elem.getCriterionRequirements().isEmpty())) {
ArrayList<String> criterionNames = new ArrayList<String>();
if ( (elem.getCriterionRequirements() != null) && (!elem.getCriterionRequirements().isEmpty()) ) {
ArrayList<String> criterionNames = new ArrayList<>();
for(CriterionRequirement each:elem.getCriterionRequirements()) {
if (each.isValid()) {
if ( each.isValid() ) {
criterionNames.add(each.getCriterion().getName());
}
}
if (!criterionNames.isEmpty()) {
if ( !criterionNames.isEmpty() ) {
tooltipText.append(" " + _("Criteria") + ":");
tooltipText.append(StringUtils.join(criterionNames, ","));
tooltipText.append(".");
@ -792,8 +761,7 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
public void showEditionOrderElement(final Treeitem item) {
OrderElement currentOrderElement = (OrderElement) item.getValue();
markModifiedTreeitem(item.getTreerow());
IOrderElementModel model = orderModel
.getOrderElementModel(currentOrderElement);
IOrderElementModel model = orderModel.getOrderElementModel(currentOrderElement);
orderElementController.openWindow(model);
refreshRow(item);
}
@ -808,10 +776,10 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
}
public Treeitem getTreeitemByOrderElement(OrderElement element) {
List<Treeitem> listItems = new ArrayList<Treeitem>(this.tree.getItems());
List<Treeitem> listItems = new ArrayList<>(this.tree.getItems());
for (Treeitem item : listItems) {
OrderElement orderElement = (OrderElement) item.getValue();
if (orderElement.getId().equals(element.getId())) {
if ( orderElement.getId().equals(element.getId()) ) {
return item;
}
}
@ -824,16 +792,15 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
public Constraint checkConstraintFinishDate() {
return new Constraint() {
@Override
public void validate(Component comp, Object value)
throws WrongValueException {
public void validate(Component comp, Object value) throws WrongValueException {
Date finishDate = (Date) value;
if ((finishDate != null)
&& (filterStartDateOrderElement.getValue() != null)
&& (finishDate.compareTo(filterStartDateOrderElement
.getValue()) < 0)) {
if ( (finishDate != null) &&
(filterStartDateOrderElement.getValue() != null) &&
(finishDate.compareTo(filterStartDateOrderElement.getValue()) < 0) ) {
filterFinishDateOrderElement.setValue(null);
throw new WrongValueException(comp,
_("must be after start date"));
throw new WrongValueException(comp, _("must be after start date"));
}
}
};
@ -842,16 +809,15 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
public Constraint checkConstraintStartDate() {
return new Constraint() {
@Override
public void validate(Component comp, Object value)
throws WrongValueException {
public void validate(Component comp, Object value) throws WrongValueException {
Date startDate = (Date) value;
if ((startDate != null)
&& (filterFinishDateOrderElement.getValue() != null)
&& (startDate.compareTo(filterFinishDateOrderElement
.getValue()) > 0)) {
if ( (startDate != null) &&
(filterFinishDateOrderElement.getValue() != null) &&
(startDate.compareTo(filterFinishDateOrderElement.getValue()) > 0) ) {
filterStartDateOrderElement.setValue(null);
throw new WrongValueException(comp,
_("must be lower than end date"));
throw new WrongValueException(comp, _("must be lower than end date"));
}
}
};
@ -859,33 +825,27 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
@Override
public void remove(OrderElement element) {
boolean hasImputedExpenseSheets = orderModel
.hasImputedExpenseSheetsThisOrAnyOfItsChildren(element);
if (hasImputedExpenseSheets) {
messagesForUser
.showMessage(
Level.ERROR,
_("You can not remove the project \"{0}\" because this one has imputed expense sheets.",
element.getName()));
boolean hasImputedExpenseSheets = orderModel.hasImputedExpenseSheetsThisOrAnyOfItsChildren(element);
if ( hasImputedExpenseSheets ) {
messagesForUser.showMessage(Level.ERROR,
_("You can not remove the project \"{0}\" because this one has imputed expense sheets.",
element.getName()));
return;
}
boolean alreadyInUse = orderModel.isAlreadyInUse(element);
if (alreadyInUse) {
messagesForUser
.showMessage(
Level.ERROR,
if ( alreadyInUse ) {
messagesForUser.showMessage(Level.ERROR,
_("You cannot remove the task \"{0}\" because it has work reported on it or any of its children",
element.getName()));
return;
}
boolean onlyChildAndParentAlreadyInUseByHoursOrExpenses = orderModel
.isOnlyChildAndParentAlreadyInUseByHoursOrExpenses(element);
if (onlyChildAndParentAlreadyInUseByHoursOrExpenses) {
messagesForUser
.showMessage(
Level.ERROR,
boolean onlyChildAndParentAlreadyInUseByHoursOrExpenses =
orderModel.isOnlyChildAndParentAlreadyInUseByHoursOrExpenses(element);
if ( onlyChildAndParentAlreadyInUseByHoursOrExpenses ) {
messagesForUser.showMessage(Level.ERROR,
_("You cannot remove the task \"{0}\" because it is the only child of its parent and its parent has tracked time or imputed expenses",
element.getName()));
return;
@ -916,7 +876,7 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
@Override
public void setWorkHours(OrderElement element, Integer value) {
if (element instanceof OrderLine) {
if ( element instanceof OrderLine ) {
OrderLine line = (OrderLine) element;
line.setWorkHours(value);
}
@ -934,9 +894,8 @@ public class OrderElementTreeController extends TreeController<OrderElement> {
}
@Override
public void setBudgetHours(OrderElement element,
BigDecimal budget) {
if (element instanceof OrderLine) {
public void setBudgetHours(OrderElement element, BigDecimal budget) {
if ( element instanceof OrderLine ) {
OrderLine line = (OrderLine) element;
line.setBudget(budget);
}

View file

@ -28,7 +28,6 @@ import static org.libreplan.web.test.WebappGlobalNames.WEBAPP_SPRING_CONFIG_TEST
import static org.libreplan.web.test.WebappGlobalNames.WEBAPP_SPRING_SECURITY_CONFIG_TEST_FILE;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Date;
import java.util.Properties;
@ -62,8 +61,12 @@ import org.springframework.transaction.annotation.Transactional;
* @author Miciele Ghiorghis <m.ghiorghis@antoniusziekenhuis.nl>
*/
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { BUSINESS_SPRING_CONFIG_FILE,
WEBAPP_SPRING_CONFIG_FILE, WEBAPP_SPRING_CONFIG_TEST_FILE,
@ContextConfiguration(locations = {
BUSINESS_SPRING_CONFIG_FILE,
WEBAPP_SPRING_CONFIG_FILE,
WEBAPP_SPRING_CONFIG_TEST_FILE,
WEBAPP_SPRING_SECURITY_CONFIG_FILE,
WEBAPP_SPRING_SECURITY_CONFIG_TEST_FILE })
public class ExportTimesheetsToTimTest {
@ -74,7 +77,7 @@ public class ExportTimesheetsToTimTest {
IExportTimesheetsToTim exportTimesheetsToTim;
@Before
public void loadProperties() throws FileNotFoundException, IOException {
public void loadProperties() throws IOException {
String filename = System.getProperty("user.dir") + "/../scripts/tim-connector/tim-conn.properties";
properties = new Properties();
properties.load(new FileInputStream(filename));
@ -119,8 +122,7 @@ public class ExportTimesheetsToTimTest {
}
private Order givenOrder() {
return transactionService
.runOnAnotherTransaction(new IOnTransaction<Order>() {
return transactionService.runOnAnotherTransaction(new IOnTransaction<Order>() {
@Override
public Order execute() {
return givenValidOrderAlreadyStored();
@ -133,8 +135,7 @@ public class ExportTimesheetsToTimTest {
order.setCode(UUID.randomUUID().toString());
order.setName("Order name " + UUID.randomUUID());
order.setInitDate(new Date());
order.setCalendar(configurationDAO.getConfiguration()
.getDefaultCalendar());
order.setCalendar(configurationDAO.getConfiguration().getDefaultCalendar());
OrderVersion version = setupVersionUsing(scenarioManager, order);
order.useSchedulingDataFor(version);
@ -147,8 +148,7 @@ public class ExportTimesheetsToTimTest {
}
}
private OrderVersion setupVersionUsing(IScenarioManager scenarioManager,
Order order) {
private OrderVersion setupVersionUsing(IScenarioManager scenarioManager, Order order) {
Scenario current = scenarioManager.getCurrent();
OrderVersion result = OrderVersion.createInitialVersion(current);
order.setVersionForScenario(current, result);

37
pom.xml
View file

@ -84,8 +84,8 @@
<libreplan.mode>dev</libreplan.mode>
<!-- Hibernate properties -->
<hibernate.show_sql>false</hibernate.show_sql>
<hibernate.format_sql>true</hibernate.format_sql>
<hibernate.use_sql_comments>true</hibernate.use_sql_comments>
<hibernate.format_sql>false</hibernate.format_sql>
<hibernate.use_sql_comments>false</hibernate.use_sql_comments>
<hibernate.hbm2ddl.auto>validate</hibernate.hbm2ddl.auto>
<!-- Enable example users (wsreader, wswriter, wssubcontracting,
@ -376,7 +376,7 @@
<version>2.2.3</version>
<classifier>jdk15</classifier>
</dependency>
<dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2</version>
@ -614,7 +614,7 @@
<dependency>
<groupId>net.sf.mpxj</groupId>
<artifactId>mpxj</artifactId>
<version>5.2.1</version>
<version>5.2.2</version>
</dependency>
<!-- ZK fileupload -->
@ -742,9 +742,9 @@
<!-- =========================================================== -->
<!-- Gettext configuration -->
<plugin>
<groupId>org.xnap.commons</groupId>
<artifactId>maven-gettext-plugin</artifactId>
<version>1.2.0</version>
<groupId>com.googlecode.gettext-commons</groupId>
<artifactId>gettext-maven-plugin</artifactId>
<version>1.2.4</version>
<configuration>
<targetBundle>i18n.Messages</targetBundle>
</configuration>
@ -755,11 +755,11 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<version>3.5.1</version>
<configuration>
<verbose>true</verbose>
<source>1.6</source>
<target>1.6</target>
<source>1.7</source>
<target>1.7</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
@ -778,7 +778,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.2</version>
<version>2.6</version>
<configuration>
<webResources>
<resource>
@ -796,7 +796,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.17</version>
<version>2.19.1</version>
<configuration>
<runOrder>alphabetical</runOrder>
</configuration>
@ -843,24 +843,24 @@
<dependency>
<groupId>com.jolbox</groupId>
<artifactId>bonecp</artifactId>
<version>0.7.1.RELEASE</version>
<version>0.8.0.RELEASE</version>
</dependency>
<!-- connection pooling dependencies -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.5.5</version>
<version>1.7.21</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.5.5</version>
<version>1.7.21</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>14.0.1</version>
<version>19.0</version>
</dependency>
</dependencies>
</plugin>
@ -882,13 +882,14 @@
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.4</version>
<version>2.7</version>
<configuration>
<formats>
<format>xml</format>
<format>html</format>
</formats>
<maxmem>512M</maxmem>
<check/>
</configuration>
</plugin>
@ -897,7 +898,7 @@
<plugin>
<groupId>org.liquibase</groupId>
<artifactId>liquibase-maven-plugin</artifactId>
<version>2.0.5</version>
<version>3.5.0</version>
</plugin>
</plugins>