protected String getLabelClass(Review review) { if (OK_LABEL.equals(review.getReviewType())) return " label-success"; Severity severity = review.getSeverity(); switch (severity) { case ERROR: return " label-important"; case INFO: return " label-info"; case WARNING: return " label-warning"; default: return ""; } }
private Multimap<String, Review> buildReviewMap(PropertyFileDescriptor object) { EList<Review> reviews = object.getReviews(); Multimap<String, Review> reviewMap = ArrayListMultimap.create(reviews.size(), 2); for (Review review : reviews) { if(review.getState()==ReviewState.OPEN || review.getState()==ReviewState.REOPENED) reviewMap.put(review.getKey(), review); } return reviewMap; }
Collection<Review> reviews = reviewMap.get(translation.getKey()); for (Review review : reviews) { if (review.getState() == ReviewState.OPEN && Review.KIND_SUGGESTION.equals(review.getReviewType())) { if (translation.getValue().equals(review.getMessage())) { try { TransactionUtil.commit(review, new Modification<Review, Review>() { review.setCreated(System.currentTimeMillis()); review.setKey(translation.getKey()); review.setMessage(translation.getValue()); review.setSeverity(Severity.INFO); review.setReviewType(Review.KIND_SUGGESTION); review.setUser(username); comment.setCreated(review.getCreated()); comment.setMessage(translation.getComment()); review.getComments().add(comment);
review.setCreated(System.currentTimeMillis()); review.setKey(newProp.getKey()); review.setMessage(newProp.getValue()); review.setSeverity(Severity.INFO); review.setReviewType(Review.KIND_SUGGESTION); review.setUser(username); comment.setCreated(review.getCreated()); comment.setMessage(newProp.getComment()); review.getComments().add(comment);
@Override protected void populateItem(ListItem<IModel<Review>> item) { Review review = item.getModelObject().getObject(); Label label = new Label("status", review.getReviewType()); label.add(new AttributeAppender("class", getLabelClass(review))); item.add(label); item.add(new Label("message", review.getMessage())); WebMarkupContainer copy = new WebMarkupContainer("copy"); copy.setVisibilityAllowed(hasEditPermission && Review.KIND_SUGGESTION.equals(review.getReviewType())); item.add(copy); if (Review.KIND_SUGGESTION.equals(review.getReviewType())) { String comment = ""; if (!review.getComments().isEmpty()) { comment = ": " + review.getComments().get(0).getMessage(); } item.add(new Label("notes", nls("user.review.notes", review.getUser(), comment))); } else item.add(new Label("notes", "")); final IModel<Review> reviewModel = new EObjectModel<Review>(review); StatelessLink<Review> rejectButton = new RejectLink("reject", reviewModel, getPageParameters()); // rejectButton.setBody(nls("reject.action")); DateFormat formatter = SimpleDateFormat.getDateTimeInstance(SimpleDateFormat.SHORT, SimpleDateFormat.SHORT, getSession().getLocale()); item.add(rejectButton); String created = review.getCreated() > 0 ? formatter.format(new Date(review.getCreated())) : ""; item.add(new Label("created", created)); rejectButton.setVisibilityAllowed(hasEditPermission); } };
protected void fillReviewsColumn(IModel<PropertyPair> propertyPair, MarkupContainer container) { RepeatingView view = new RepeatingView("reviews"); container.add(view); if (propertyPair == null || propertyPair.getObject() == null) return; Collection<Review> reviews = reviewModel.getObject().get(propertyPair.getObject().getKey()); DateFormat formatter = SimpleDateFormat.getDateTimeInstance(SimpleDateFormat.SHORT, SimpleDateFormat.SHORT, getSession().getLocale()); for (Review review : reviews) { if (review.getState() == ReviewState.INVALID || review.getState() == ReviewState.RESOLVED) continue; Label label = new Label(view.newChildId(), review.getReviewType()); label.add(new AttributeAppender("class", getLabelClass(review))); if(editKind==EditKind.EDIT && Review.KIND_SUGGESTION.equals(review.getReviewType())) { //allow the label to be clicked to apply the suggestion label.add(new AttributeAppender("data-suggestion", review.getMessage())); } StringBuilder title = new StringBuilder(); if (review.getMessage() != null) title.append(review.getMessage()); if (review.getCreated() > 0) { if (title.length() > 0) // add a linebreak title.append("\n"); title.append(formatter.format(new Date(review.getCreated()))); } if (title.length() > 0) label.add(new AttributeModifier("title", title.toString())); view.add(label); } }
protected void fillStatusColumn(PropertyPair propertyPair, Collection<Review> reviewCollection) { IStatus status = calculateRowStatus(propertyPair); // Label statusIcon = new Label("status-icon"); // add(statusIcon); // statusIcon.add(new AttributeModifier("class", status.isOK() ? "icon-ok-circle" : "icon-warning-sign")); if (status.getSeverity() == IStatus.WARNING) add(new AttributeModifier("class", "warning")); else if (status.getSeverity() == IStatus.ERROR) add(new AttributeModifier("class", "error")); Collection<Review> reviews = reviewCollection; if(reviews==null || reviews.isEmpty()) reviews = createInMemoryReview(propertyPair); RepeatingView view = new RepeatingView("reviews"); for (Review review : reviews) { Label label = new Label(view.newChildId(),review.getReviewType()); label.add(new AttributeAppender("class", getLabelClass(review))); if(review.getMessage()!=null) label.add(new AttributeModifier("title", review.getMessage())); view.add(label); } add(view); }
@Override public boolean apply(PropertyPair pair, Collection<Review> reviews) { if (reviews == null) { return false; } /* apply call is true if any review for *this* ReviewParticipant exists. */ for (Review review : reviews) { if (review.getReviewType().equals(participant.getReviewType())) { return true; } } return false; }
/** * Helper method. Converts {@link List} to {@link Map} to be consumed by * {@link PropertyListMode#apply(PropertyPair, java.util.Collection)} */ private static Map<String, List<Review>> reviewsAsMap(List<Review> reviews) { Map<String, List<Review>> ret = new HashMap<String, List<Review>>(); for (Review r : reviews) { if (!ret.containsKey(r.getKey())) { ret.put(r.getKey(), new ArrayList<Review>()); } ret.get(r.getKey()).add(r); } return ret; }
protected String getLabelClass(Review review) { Severity severity = review.getSeverity(); switch (severity) { case ERROR: return " label-important"; case INFO: return " label-info"; case WARNING: return " label-warning"; default: return ""; } }
/** * computes the width of the two stacked progress bars * @param resolvable * @return */ protected Triplet computeProgressBars(Resolvable<?, ?> resolvable) { int greenWidth = resolvable.getPercentComplete(); int yellowWidth = 0; if (resolvable instanceof PropertyFileDescriptor) { PropertyFileDescriptor descriptor = (PropertyFileDescriptor) resolvable; int keys = descriptor.getMaster() == null ? descriptor.getKeys() : descriptor.getMaster().getKeys(); if(keys>0) { EList<Review> reviews = descriptor.getReviews(); int activeReviews = 0; for (Review review : reviews) { if(review.getState()==ReviewState.OPEN || review.getState()==ReviewState.REOPENED) activeReviews++; } yellowWidth = (int) (activeReviews*100/(double)keys); greenWidth -= yellowWidth; } } return new Triplet(greenWidth, yellowWidth); }
for (Review review : reviews) if(review.getState()==ReviewState.INVALID || review.getState()==ReviewState.RESOLVED) continue; Label label = new Label(view.newChildId(), review.getReviewType()); label.add(new AttributeAppender("class", getLabelClass(review))); StringBuilder title = new StringBuilder(); if (review.getMessage() != null) title.append(review.getMessage()); if(review.getCreated()>0) title.append(formatter.format(new Date(review.getCreated())));
for (PropertyFileDescriptor descriptor : locale.getDescriptors()) { for (Review review : descriptor.getReviews()) { if (Review.KIND_SUGGESTION.equals(review.getReviewType())) reviews.put(descriptor.getLocation(), review);
private Multimap<String, Review> buildReviewMap(PropertyFileDescriptor object) { EList<Review> reviews = object.getReviews(); Multimap<String, Review> reviewMap = ArrayListMultimap.create(reviews.size(), 2); for (Review review : reviews) { reviewMap.put(review.getKey(), review); } return reviewMap; }
protected String getLabelClass(Review review) { Severity severity = review.getSeverity(); switch (severity) { case ERROR: return " label-important"; case INFO: return " label-info"; case WARNING: return " label-warning"; default: return ""; } }
protected String getLabelClass(Review review) { if (review.getReviewType().equals(OK_LABEL)) return " label-success"; Severity severity = review.getSeverity(); switch (severity) { case ERROR: return " label-important"; case INFO: return " label-info"; case WARNING: return " label-warning"; default: return ""; } }
private List<IModel<Review>> computeMatchingReviews(PropertyFileDescriptor descriptor) { ArrayList<IModel<Review>> matchingReviews = new ArrayList<IModel<Review>>(); if (descriptor != null) { EList<Review> reviews = descriptor.getReviews(); for (Review review : reviews) { if (review.getKey().equals(getModel().getObject().getKey()) && (review.getState()==ReviewState.OPEN) || (review.getState()==ReviewState.REOPENED)) matchingReviews.add(new EObjectModel<Review>(review)); } } return matchingReviews; }
private Multimap<String, Review> buildReviewMap(PropertyFileDescriptor object) { EList<Review> reviews = object.getReviews(); Multimap<String, Review> reviewMap = ArrayListMultimap.create(reviews.size(), 2); for (Review review : reviews) { reviewMap.put(review.getKey(), review); } return reviewMap; }