use of org.apache.commons.beanutils.BeanComparator in project entando-core by entando.
the class AbstractWidgetExecutorService method extractDecorators.
protected List<IFrameDecoratorContainer> extractDecorators(RequestContext reqCtx) throws ApsSystemException {
HttpServletRequest request = reqCtx.getRequest();
WebApplicationContext wac = ApsWebApplicationUtils.getWebApplicationContext(request);
List<IFrameDecoratorContainer> containters = new ArrayList<IFrameDecoratorContainer>();
try {
String[] beanNames = wac.getBeanNamesForType(IFrameDecoratorContainer.class);
for (int i = 0; i < beanNames.length; i++) {
IFrameDecoratorContainer container = (IFrameDecoratorContainer) wac.getBean(beanNames[i]);
containters.add(container);
}
BeanComparator comparator = new BeanComparator("order");
Collections.sort(containters, comparator);
} catch (Throwable t) {
_logger.error("Error extracting widget decorators", t);
throw new ApsSystemException("Error extracting widget decorators", t);
}
return containters;
}
use of org.apache.commons.beanutils.BeanComparator in project coprhd-controller by CoprHD.
the class EditCatalog method loadImageOptions.
private static List<Option> loadImageOptions() {
VirtualFile imageDir = Play.getVirtualFile("public/img/serviceCatalog");
List<Option> images = Lists.newArrayList();
for (VirtualFile f : imageDir.list()) {
String label = f.getName().replaceAll("(icon_|.png)", "");
images.add(new Option(f.getName(), label));
}
for (CatalogImageRestRep image : CatalogImageUtils.getCatalogImages()) {
String filename = StringUtils.substringBeforeLast(image.getName(), ".");
images.add(new Option(image.getId().toString(), filename));
}
Collections.sort(images, new BeanComparator("value", new StringComparator(false)));
return images;
}
use of org.apache.commons.beanutils.BeanComparator in project entando-core by entando.
the class ApsEntityManager method getOrderedAttributeRoles.
private List<AttributeRole> getOrderedAttributeRoles() {
List<AttributeRole> roles = new ArrayList<>(this.attributeRoles.size());
Iterator<AttributeRole> iter = this.attributeRoles.values().iterator();
while (iter.hasNext()) {
AttributeRole role = iter.next();
roles.add(role.clone());
}
BeanComparator comparator = new BeanComparator("name");
Collections.sort(roles, comparator);
return roles;
}
use of org.apache.commons.beanutils.BeanComparator in project BroadleafCommerce by BroadleafCommerce.
the class FulfillmentGroupOfferProcessorImpl method applyAllFulfillmentGroupOffers.
@Override
@SuppressWarnings("unchecked")
public boolean applyAllFulfillmentGroupOffers(List<PromotableCandidateFulfillmentGroupOffer> qualifiedFGOffers, PromotableOrder order) {
Map<FulfillmentGroupOfferPotential, List<PromotableCandidateFulfillmentGroupOffer>> offerMap = new HashMap<FulfillmentGroupOfferPotential, List<PromotableCandidateFulfillmentGroupOffer>>();
for (PromotableCandidateFulfillmentGroupOffer candidate : qualifiedFGOffers) {
FulfillmentGroupOfferPotential potential = new FulfillmentGroupOfferPotential();
potential.setOffer(candidate.getOffer());
if (offerMap.get(potential) == null) {
offerMap.put(potential, new ArrayList<PromotableCandidateFulfillmentGroupOffer>());
}
offerMap.get(potential).add(candidate);
}
List<FulfillmentGroupOfferPotential> potentials = new ArrayList<FulfillmentGroupOfferPotential>();
for (FulfillmentGroupOfferPotential potential : offerMap.keySet()) {
List<PromotableCandidateFulfillmentGroupOffer> fgOffers = offerMap.get(potential);
Collections.sort(fgOffers, new ReverseComparator(new BeanComparator("discountedAmount", new NullComparator())));
Collections.sort(fgOffers, new BeanComparator("priority", new NullComparator()));
if (potential.getOffer().isLimitedUsePerOrder() && fgOffers.size() > potential.getOffer().getMaxUsesPerOrder()) {
for (int j = potential.getOffer().getMaxUsesPerOrder(); j < fgOffers.size(); j++) {
fgOffers.remove(j);
}
}
filterOffersByQualifyingAndSubtotalRequirements(order, fgOffers);
for (PromotableCandidateFulfillmentGroupOffer candidate : fgOffers) {
if (potential.getTotalSavings().getAmount().equals(BankersRounding.zeroAmount())) {
BroadleafCurrency currency = order.getOrderCurrency();
if (currency != null) {
potential.setTotalSavings(new Money(BigDecimal.ZERO, currency.getCurrencyCode()));
} else {
potential.setTotalSavings(new Money(BigDecimal.ZERO));
}
}
Money priceBeforeAdjustments = candidate.getFulfillmentGroup().calculatePriceWithoutAdjustments();
Money discountedPrice = candidate.getDiscountedPrice();
potential.setTotalSavings(potential.getTotalSavings().add(priceBeforeAdjustments.subtract(discountedPrice)));
potential.setPriority(candidate.getOffer().getPriority());
}
potentials.add(potential);
}
// Sort fg potentials by priority and discount
Collections.sort(potentials, new BeanComparator("totalSavings", Collections.reverseOrder()));
Collections.sort(potentials, new BeanComparator("priority"));
potentials = removeTrailingNotCombinableFulfillmentGroupOffers(potentials);
boolean fgOfferApplied = false;
for (FulfillmentGroupOfferPotential potential : potentials) {
Offer offer = potential.getOffer();
boolean alreadyContainsTotalitarianOffer = order.isTotalitarianOfferApplied();
List<PromotableCandidateFulfillmentGroupOffer> candidates = offerMap.get(potential);
for (PromotableCandidateFulfillmentGroupOffer candidate : candidates) {
applyFulfillmentGroupOffer(candidate.getFulfillmentGroup(), candidate);
fgOfferApplied = true;
}
for (PromotableFulfillmentGroup fg : order.getFulfillmentGroups()) {
fg.chooseSaleOrRetailAdjustments();
}
if ((offer.isTotalitarianOffer() != null && offer.isTotalitarianOffer()) || alreadyContainsTotalitarianOffer) {
fgOfferApplied = compareAndAdjustFulfillmentGroupOffers(order, fgOfferApplied);
if (fgOfferApplied) {
break;
}
} else if (!offer.isCombinableWithOtherOffers()) {
break;
}
}
return fgOfferApplied;
}
use of org.apache.commons.beanutils.BeanComparator in project BroadleafCommerce by BroadleafCommerce.
the class AdminNavigationServiceImpl method populateAdminMenu.
protected void populateAdminMenu(AdminUser adminUser, AdminMenu adminMenu, List<AdminModule> modules) {
for (AdminModule module : modules) {
List<AdminSection> authorizedSections = buildAuthorizedSectionsList(adminUser, module);
if (authorizedSections != null && authorizedSections.size() > 0) {
AdminModuleDTO adminModuleDto = ((AdminModuleImpl) module).getAdminModuleDTO();
adminMenu.getAdminModules().add(adminModuleDto);
adminModuleDto.setSections(authorizedSections);
}
}
// Sort the authorized modules
BeanComparator displayComparator = new BeanComparator("displayOrder");
Collections.sort(adminMenu.getAdminModules(), displayComparator);
}
Aggregations