use of org.olat.resource.accesscontrol.model.AccessMethod in project OpenOLAT by OpenOLAT.
the class RepositoryEntryDetailsController method initForm.
@Override
protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
int cmpcount = 0;
if (formLayout instanceof FormLayoutContainer) {
FormLayoutContainer layoutCont = (FormLayoutContainer) formLayout;
layoutCont.contextPut("v", entry);
layoutCont.contextPut("guestOnly", new Boolean(guestOnly));
String cssClass = RepositoyUIFactory.getIconCssClass(entry);
layoutCont.contextPut("cssClass", cssClass);
boolean closed = entry.getRepositoryEntryStatus().isClosed() || entry.getRepositoryEntryStatus().isUnpublished();
layoutCont.contextPut("closed", new Boolean(closed));
RepositoryHandler handler = RepositoryHandlerFactory.getInstance().getRepositoryHandler(entry);
VFSContainer mediaContainer = handler.getMediaContainer(entry);
if (mediaContainer != null) {
baseUrl = registerMapper(ureq, new VFSContainerMapper(mediaContainer.getParentContainer()));
}
setText(entry.getDescription(), "description", layoutCont);
setText(entry.getRequirements(), "requirements", layoutCont);
setText(entry.getObjectives(), "objectives", layoutCont);
setText(entry.getCredits(), "credits", layoutCont);
// thumbnail and movie
VFSLeaf movie = repositoryService.getIntroductionMovie(entry);
VFSLeaf image = repositoryService.getIntroductionImage(entry);
if (image != null || movie != null) {
ImageComponent ic = new ImageComponent(ureq.getUserSession(), "thumbnail");
if (movie != null) {
ic.setMedia(movie);
ic.setMaxWithAndHeightToFitWithin(RepositoryManager.PICTURE_WIDTH, RepositoryManager.PICTURE_HEIGHT);
// add poster image
if (image != null) {
ic.setPoster(image);
}
} else {
ic.setMedia(image);
ic.setMaxWithAndHeightToFitWithin(RepositoryManager.PICTURE_WIDTH, RepositoryManager.PICTURE_HEIGHT);
}
layoutCont.put("thumbnail", ic);
}
// categories
if (repositoryModule.isCatalogEnabled()) {
List<CatalogEntry> categories = catalogManager.getCatalogEntriesReferencing(entry);
List<String> categoriesLink = new ArrayList<>(categories.size());
for (CatalogEntry category : categories) {
String id = "cat_" + ++cmpcount;
String title = StringHelper.escapeHtml(category.getParent().getName());
FormLink catLink = uifactory.addFormLink(id, "category", title, null, layoutCont, Link.LINK | Link.NONTRANSLATED);
catLink.setIconLeftCSS("o_icon o_icon-fw o_icon_catalog");
catLink.setUserObject(category.getKey());
categoriesLink.add(id);
}
layoutCont.contextPut("categories", categoriesLink);
}
if (!guestOnly) {
boolean marked;
if (row == null) {
marked = markManager.isMarked(entry, getIdentity(), null);
} else {
marked = row.isMarked();
}
markLink = uifactory.addFormLink("mark", "mark", marked ? "details.bookmark.remove" : "details.bookmark", null, layoutCont, Link.LINK);
markLink.setElementCssClass("o_bookmark");
markLink.setIconLeftCSS(marked ? Mark.MARK_CSS_LARGE : Mark.MARK_ADD_CSS_LARGE);
}
RepositoryEntryStatistics statistics = entry.getStatistics();
if (repositoryModule.isRatingEnabled()) {
Integer myRating;
if (row == null) {
myRating = userRatingsDao.getRatingValue(getIdentity(), entry, null);
} else {
myRating = row.getMyRating();
}
Double averageRating = statistics.getRating();
long numOfRatings = statistics.getNumOfRatings();
float ratingValue = myRating == null ? 0f : myRating.floatValue();
float averageRatingValue = averageRating == null ? 0f : averageRating.floatValue();
ratingEl = new RatingWithAverageFormItem("rating", ratingValue, averageRatingValue, 5, numOfRatings);
ratingEl.setEnabled(!guestOnly);
layoutCont.add("rating", ratingEl);
}
if (repositoryModule.isCommentEnabled()) {
long numOfComments = statistics.getNumOfComments();
String title = "(" + numOfComments + ")";
commentsLink = uifactory.addFormLink("comments", "comments", title, null, layoutCont, Link.NONTRANSLATED);
commentsLink.setCustomEnabledLinkCSS("o_comments");
String css = numOfComments > 0 ? "o_icon o_icon_comments o_icon-lg" : "o_icon o_icon_comments_none o_icon-lg";
commentsLink.setIconLeftCSS(css);
}
// load memberships
List<String> memberRoles = repositoryService.getRoles(getIdentity(), entry);
List<Long> authorKeys = repositoryService.getAuthors(entry);
boolean isAuthor = false;
boolean isMember = memberRoles.contains(GroupRoles.owner.name()) || memberRoles.contains(GroupRoles.coach.name()) || memberRoles.contains(GroupRoles.participant.name());
if (isMember) {
isAuthor = authorKeys.contains(getIdentity().getKey());
layoutCont.contextPut("isEntryAuthor", new Boolean(isAuthor));
}
// push roles to velocity as well
Roles roles = ureq.getUserSession().getRoles();
layoutCont.contextPut("roles", roles);
if (!guestOnly && memberRoles.contains(GroupRoles.participant.name()) && repositoryService.isParticipantAllowedToLeave(entry)) {
leaveLink = uifactory.addFormLink("sign.out", "leave", translate("sign.out"), null, formLayout, Link.BUTTON_SMALL + Link.NONTRANSLATED);
leaveLink.setElementCssClass("o_sign_out btn-danger");
leaveLink.setIconLeftCSS("o_icon o_icon_sign_out");
}
// access control
String accessI18n = null;
List<PriceMethod> types = new ArrayList<PriceMethod>();
if (entry.isMembersOnly()) {
// members only
if (isMember) {
String linkText = translate("start.with.type", translate(entry.getOlatResource().getResourceableTypeName()));
startLink = uifactory.addFormLink("start", "start", linkText, null, layoutCont, Link.BUTTON_LARGE + Link.NONTRANSLATED);
startLink.setElementCssClass("o_start btn-block");
startLink.setIconRightCSS("o_icon o_icon_start o_icon-lg");
startLink.setPrimary(true);
}
accessI18n = translate("cif.access.membersonly");
} else {
AccessResult acResult = acService.isAccessible(entry, getIdentity(), isMember, false);
if (acResult.isAccessible()) {
String linkText = translate("start.with.type", translate(entry.getOlatResource().getResourceableTypeName()));
startLink = uifactory.addFormLink("start", "start", linkText, null, layoutCont, Link.BUTTON_LARGE + Link.NONTRANSLATED);
startLink.setElementCssClass("o_start btn-block");
} else if (acResult.getAvailableMethods().size() > 0) {
for (OfferAccess access : acResult.getAvailableMethods()) {
AccessMethod method = access.getMethod();
String type = (method.getMethodCssClass() + "_icon").intern();
Price p = access.getOffer().getPrice();
String price = p == null || p.isEmpty() ? "" : PriceFormat.fullFormat(p);
AccessMethodHandler amh = acModule.getAccessMethodHandler(method.getType());
String displayName = amh.getMethodName(getLocale());
types.add(new PriceMethod(price, type, displayName));
}
String linkText = guestOnly ? translate("start.with.type", translate(entry.getOlatResource().getResourceableTypeName())) : translate("book.with.type", translate(entry.getOlatResource().getResourceableTypeName()));
startLink = uifactory.addFormLink("start", "start", linkText, null, layoutCont, Link.BUTTON_LARGE + Link.NONTRANSLATED);
// custom style
startLink.setCustomEnabledLinkCSS("btn btn-success");
startLink.setElementCssClass("o_book btn-block");
if (guestOnly) {
if (entry.getAccess() == RepositoryEntry.ACC_USERS_GUESTS) {
startLink.setVisible(true);
} else {
startLink.setVisible(false);
}
} else {
startLink.setVisible(true);
}
} else {
String linkText = translate("start.with.type", translate(entry.getOlatResource().getResourceableTypeName()));
startLink = uifactory.addFormLink("start", "start", linkText, null, layoutCont, Link.BUTTON_LARGE + Link.NONTRANSLATED);
// startLink.setEnabled(false);
startLink.setElementCssClass("o_start btn-block");
startLink.setVisible(!guestOnly);
}
startLink.setIconRightCSS("o_icon o_icon_start o_icon-lg");
startLink.setPrimary(true);
startLink.setFocus(true);
switch(entry.getAccess()) {
case 0:
accessI18n = "ERROR";
break;
case 1:
accessI18n = translate("cif.access.owners");
break;
case 2:
accessI18n = translate("cif.access.owners_authors");
break;
case 3:
accessI18n = translate("cif.access.users");
break;
case 4:
accessI18n = translate("cif.access.users_guests");
break;
}
}
layoutCont.contextPut("accessI18n", accessI18n);
if (!types.isEmpty()) {
layoutCont.contextPut("ac", types);
}
if (isMember) {
// show the list of groups
SearchBusinessGroupParams params = new SearchBusinessGroupParams(getIdentity(), true, true);
List<BusinessGroup> groups = businessGroupService.findBusinessGroups(params, entry, 0, -1);
List<String> groupLinkNames = new ArrayList<>(groups.size());
for (BusinessGroup group : groups) {
String groupLinkName = "grp_" + ++cmpcount;
String groupName = StringHelper.escapeHtml(group.getName());
FormLink link = uifactory.addFormLink(groupLinkName, "group", groupName, null, layoutCont, Link.LINK | Link.NONTRANSLATED);
link.setIconLeftCSS("o_icon o_icon-fw o_icon_group");
link.setUserObject(group.getKey());
groupLinkNames.add(groupLinkName);
}
layoutCont.contextPut("groups", groupLinkNames);
}
boolean passed = false;
boolean failed = false;
String score = null;
if (row != null) {
passed = row.isPassed();
failed = row.isFailed();
score = row.getScore();
} else {
UserEfficiencyStatement statement = effManager.getUserEfficiencyStatementLightByRepositoryEntry(entry, getIdentity());
if (statement != null) {
Boolean p = statement.getPassed();
if (p != null) {
passed = p.booleanValue();
failed = !p.booleanValue();
}
Float scoreVal = statement.getScore();
if (scoreVal != null) {
score = AssessmentHelper.getRoundedScore(scoreVal);
}
}
}
layoutCont.contextPut("passed", passed);
layoutCont.contextPut("failed", failed);
layoutCont.contextPut("score", score);
OLATResource ores = entry.getOlatResource();
Date recentLaunch = userCourseInfosManager.getRecentLaunchDate(ores, getIdentity());
layoutCont.contextPut("recentLaunch", recentLaunch);
// show how many users are currently using this resource
String numUsers;
int cnt = 0;
Long courseResId = entry.getOlatResource().getResourceableId();
OLATResourceable courseRunOres = OresHelper.createOLATResourceableInstance(RunMainController.ORES_TYPE_COURSE_RUN, courseResId);
if (ores != null)
cnt = coordinatorManager.getCoordinator().getEventBus().getListeningIdentityCntFor(courseRunOres);
numUsers = String.valueOf(cnt);
layoutCont.contextPut("numUsers", numUsers);
// Where is it in use
if (isAuthor || roles.isOLATAdmin() || roles.isInstitutionalResourceManager()) {
List<RepositoryEntry> refs = referenceManager.getRepositoryReferencesTo(entry.getOlatResource());
if (refs.size() > 0) {
List<String> refLinks = new ArrayList<>(refs.size());
int count = 0;
for (RepositoryEntry ref : refs) {
String name = "ref-" + count++;
FormLink refLink = uifactory.addFormLink(name, "ref", ref.getDisplayname(), null, formLayout, Link.NONTRANSLATED);
refLink.setUserObject(ref.getKey());
refLink.setIconLeftCSS("o_icon o_icon-fw " + RepositoyUIFactory.getIconCssClass(ref));
refLinks.add(name);
}
layoutCont.contextPut("referenceLinks", refLinks);
}
}
// Link to bookmark entry
String url = Settings.getServerContextPathURI() + "/url/RepositoryEntry/" + entry.getKey();
layoutCont.contextPut("extlink", url);
Boolean guestAllowed = (entry.getAccess() >= RepositoryEntry.ACC_USERS_GUESTS && loginModule.isGuestLoginLinksEnabled()) ? Boolean.TRUE : Boolean.FALSE;
layoutCont.contextPut("isGuestAllowed", guestAllowed);
// Owners
List<String> authorLinkNames = new ArrayList<String>(authorKeys.size());
Map<Long, String> authorNames = userManager.getUserDisplayNamesByKey(authorKeys);
int counter = 0;
for (Map.Entry<Long, String> author : authorNames.entrySet()) {
Long authorKey = author.getKey();
String authorName = StringHelper.escapeHtml(author.getValue());
FormLink authorLink = uifactory.addFormLink("owner-" + ++counter, "owner", authorName, null, formLayout, Link.NONTRANSLATED | Link.LINK);
authorLink.setUserObject(authorKey);
authorLinkNames.add(authorLink.getComponent().getComponentName());
}
layoutCont.contextPut("authorlinknames", authorLinkNames);
// License
boolean licEnabled = licenseModule.isEnabled(licenseHandler);
if (licEnabled) {
layoutCont.contextPut("licSwitch", Boolean.TRUE);
License license = licenseService.loadOrCreateLicense(entry.getOlatResource());
layoutCont.contextPut("license", LicenseUIFactory.translate(license.getLicenseType(), getLocale()));
layoutCont.contextPut("licenseIconCss", LicenseUIFactory.getCssOrDefault(license.getLicenseType()));
String licensor = StringHelper.containsNonWhitespace(license.getLicensor()) ? license.getLicensor() : "";
layoutCont.contextPut("licensor", licensor);
layoutCont.contextPut("licenseText", LicenseUIFactory.getFormattedLicenseText(license));
} else {
layoutCont.contextPut("licSwitch", Boolean.FALSE);
}
}
}
use of org.olat.resource.accesscontrol.model.AccessMethod in project OpenOLAT by OpenOLAT.
the class BusinessGroupDAOTest method findPublicGroupsLimitedDate.
@Test
public void findPublicGroupsLimitedDate() {
// create a group with an access control limited by a valid date
Identity id = JunitTestHelper.createAndPersistIdentityAsRndUser("bg-search-11");
BusinessGroup groupVisible = businessGroupDao.createAndPersist(null, "access-grp-2", "access-grp-2-desc", 0, 5, true, false, true, false, false);
// create and save an offer
Offer offer = acService.createOffer(groupVisible.getResource(), "TestBGWorkflow");
Calendar cal = Calendar.getInstance();
cal.add(Calendar.HOUR_OF_DAY, -1);
offer.setValidFrom(cal.getTime());
cal.add(Calendar.HOUR_OF_DAY, 2);
offer.setValidTo(cal.getTime());
assertNotNull(offer);
offer = acService.save(offer);
acMethodManager.enableMethod(TokenAccessMethod.class, true);
List<AccessMethod> methods = acMethodManager.getAvailableMethodsByType(TokenAccessMethod.class);
AccessMethod method = methods.get(0);
OfferAccess access = acMethodManager.createOfferAccess(offer, method);
acMethodManager.save(access);
// create a group with an access control limited by dates in the past
BusinessGroup oldGroup = businessGroupDao.createAndPersist(null, "access-grp-3", "access-grp-3-desc", 0, 5, true, false, true, false, false);
// create and save an offer
Offer oldOffer = acService.createOffer(oldGroup.getResource(), "TestBGWorkflow");
cal.add(Calendar.HOUR_OF_DAY, -5);
oldOffer.setValidFrom(cal.getTime());
cal.add(Calendar.HOUR_OF_DAY, -5);
oldOffer.setValidTo(cal.getTime());
assertNotNull(oldOffer);
oldOffer = acService.save(oldOffer);
OfferAccess oldAccess = acMethodManager.createOfferAccess(oldOffer, method);
acMethodManager.save(oldAccess);
dbInstance.commitAndCloseSession();
// retrieve the offer
BusinessGroupQueryParams paramsAll = new BusinessGroupQueryParams();
paramsAll.setPublicGroups(Boolean.TRUE);
List<BusinessGroupRow> accessGroups = businessGroupDao.searchBusinessGroupsWithMemberships(paramsAll, id);
Assert.assertNotNull(accessGroups);
Assert.assertTrue(accessGroups.size() >= 1);
Assert.assertTrue(contains(accessGroups, groupVisible));
Assert.assertFalse(contains(accessGroups, oldGroup));
}
use of org.olat.resource.accesscontrol.model.AccessMethod in project OpenOLAT by OpenOLAT.
the class ACOrderManagerTest method testSaveOneClickOrder.
@Test
public void testSaveOneClickOrder() {
// make extensiv test on one order
// create some offers to buy
OLATResource randomOres1 = createResource();
Offer offer = acService.createOffer(randomOres1, "TestSaveOneClickOrder 1");
offer = acService.save(offer);
dbInstance.commitAndCloseSession();
// create a link offer to method
List<AccessMethod> methods = acMethodManager.getAvailableMethodsByType(FreeAccessMethod.class);
Assert.assertNotNull(methods);
Assert.assertEquals(1, methods.size());
AccessMethod method = methods.get(0);
OfferAccess access1 = acMethodManager.createOfferAccess(offer, method);
acMethodManager.save(access1);
dbInstance.commitAndCloseSession();
// one clicks
Order order = acOrderManager.saveOneClick(ident7, access1);
dbInstance.commitAndCloseSession();
// load order
Order retrivedOrder = acOrderManager.loadOrderByKey(order.getKey());
Assert.assertNotNull(retrivedOrder);
Assert.assertNotNull(retrivedOrder.getCreationDate());
Assert.assertNotNull(retrivedOrder.getDelivery());
Assert.assertNotNull(retrivedOrder.getOrderNr());
Assert.assertNotNull(retrivedOrder.getParts());
Assert.assertEquals(ident7, retrivedOrder.getDelivery());
Assert.assertEquals(1, retrivedOrder.getParts().size());
OrderPart orderPart = retrivedOrder.getParts().get(0);
Assert.assertNotNull(orderPart);
Assert.assertEquals(1, orderPart.getOrderLines().size());
OrderLine line = orderPart.getOrderLines().get(0);
Assert.assertNotNull(line);
Assert.assertNotNull(line.getOffer());
Assert.assertEquals(offer, line.getOffer());
}
use of org.olat.resource.accesscontrol.model.AccessMethod in project OpenOLAT by OpenOLAT.
the class ACOrderManagerTest method testLoadBy.
@Test
public void testLoadBy() {
// create some offers to buy
OLATResource randomOres1 = createResource();
Offer offer1 = acService.createOffer(randomOres1, "TestLoadBy 1");
offer1 = acService.save(offer1);
OLATResource randomOres2 = createResource();
Offer offer2 = acService.createOffer(randomOres2, "TestLoadBy 2");
offer2 = acService.save(offer2);
dbInstance.commitAndCloseSession();
// create a link offer to method
List<AccessMethod> methods = acMethodManager.getAvailableMethodsByType(TokenAccessMethod.class);
assertNotNull(methods);
assertEquals(1, methods.size());
AccessMethod method = methods.get(0);
OfferAccess access1 = acMethodManager.createOfferAccess(offer1, method);
acMethodManager.save(access1);
OfferAccess access2 = acMethodManager.createOfferAccess(offer2, method);
acMethodManager.save(access2);
dbInstance.commitAndCloseSession();
// one clicks
Order order1 = acOrderManager.saveOneClick(ident4, access1);
Order order2 = acOrderManager.saveOneClick(ident5, access2);
Order order3_1 = acOrderManager.saveOneClick(ident6, access1);
Order order3_2 = acOrderManager.saveOneClick(ident6, access2);
dbInstance.commitAndCloseSession();
// load by delivery: ident 1
List<Order> retrivedOrder1 = acOrderManager.findOrdersByDelivery(ident4);
assertNotNull(retrivedOrder1);
assertEquals(1, retrivedOrder1.size());
assertEquals(order1, retrivedOrder1.get(0));
// load by delivery: ident 2
List<Order> retrievedOrder2 = acOrderManager.findOrdersByDelivery(ident5);
assertNotNull(retrievedOrder2);
assertEquals(1, retrievedOrder2.size());
assertEquals(order2, retrievedOrder2.get(0));
// load by delivery: ident 3
List<Order> retrievedOrder3 = acOrderManager.findOrdersByDelivery(ident6);
assertNotNull(retrievedOrder3);
assertEquals(2, retrievedOrder3.size());
assertTrue(order3_1.equals(retrievedOrder3.get(0)) || order3_1.equals(retrievedOrder3.get(1)));
assertTrue(order3_2.equals(retrievedOrder3.get(0)) || order3_2.equals(retrievedOrder3.get(1)));
dbInstance.commitAndCloseSession();
// load by resource: ores 1
List<Order> retrievedOrderOres1 = acOrderManager.findOrdersByResource(randomOres1);
assertNotNull(retrievedOrderOres1);
assertEquals(2, retrievedOrderOres1.size());
assertTrue(order1.equals(retrievedOrderOres1.get(0)) || order1.equals(retrievedOrderOres1.get(1)));
assertTrue(order3_1.equals(retrievedOrderOres1.get(0)) || order3_1.equals(retrievedOrderOres1.get(1)));
// load by resource: ores 2
List<Order> retrievedOrderOres2 = acOrderManager.findOrdersByResource(randomOres2);
assertNotNull(retrievedOrderOres2);
assertEquals(2, retrievedOrderOres2.size());
assertTrue(order2.equals(retrievedOrderOres2.get(0)) || order2.equals(retrievedOrderOres2.get(1)));
assertTrue(order3_2.equals(retrievedOrderOres2.get(0)) || order3_2.equals(retrievedOrderOres2.get(1)));
dbInstance.commitAndCloseSession();
}
use of org.olat.resource.accesscontrol.model.AccessMethod in project OpenOLAT by OpenOLAT.
the class ACOrderManagerTest method testSaveOneClickOrderWithPrice.
@Test
public void testSaveOneClickOrderWithPrice() {
// make extensiv test on one order
// create some offers to buy
OLATResource randomOres1 = createResource();
Offer offer1 = acService.createOffer(randomOres1, "TestSaveOneClickOrder 1");
Price price1 = new PriceImpl(new BigDecimal("20.00"), "CHF");
offer1.setPrice(price1);
offer1 = acService.save(offer1);
dbInstance.commitAndCloseSession();
// create a link offer to method
List<AccessMethod> methods = acMethodManager.getAvailableMethodsByType(FreeAccessMethod.class);
assertNotNull(methods);
assertEquals(1, methods.size());
AccessMethod method = methods.get(0);
OfferAccess access1 = acMethodManager.createOfferAccess(offer1, method);
acMethodManager.save(access1);
dbInstance.commitAndCloseSession();
// one clicks
Order order = acOrderManager.saveOneClick(ident7, access1);
dbInstance.commitAndCloseSession();
// load order
Order retrivedOrder = acOrderManager.loadOrderByKey(order.getKey());
// check order
assertNotNull(retrivedOrder);
assertNotNull(retrivedOrder.getCreationDate());
assertNotNull(retrivedOrder.getDelivery());
assertNotNull(retrivedOrder.getOrderNr());
assertNotNull(retrivedOrder.getParts());
assertNotNull(retrivedOrder.getTotal());
assertNotNull(retrivedOrder.getTotalOrderLines());
assertEquals(ident7, retrivedOrder.getDelivery());
assertEquals(1, retrivedOrder.getParts().size());
assertEquals(price1.getAmount().setScale(2, BigDecimal.ROUND_HALF_EVEN), retrivedOrder.getTotalOrderLines().getAmount().setScale(2, BigDecimal.ROUND_HALF_EVEN));
assertEquals(price1.getCurrencyCode(), retrivedOrder.getTotalOrderLines().getCurrencyCode());
assertEquals(price1.getAmount().setScale(2, BigDecimal.ROUND_HALF_EVEN), retrivedOrder.getTotal().getAmount().setScale(2, BigDecimal.ROUND_HALF_EVEN));
assertEquals(price1.getCurrencyCode(), retrivedOrder.getTotal().getCurrencyCode());
// check order part
OrderPart orderPart = retrivedOrder.getParts().get(0);
assertNotNull(orderPart);
assertNotNull(orderPart.getTotal());
assertNotNull(orderPart.getTotalOrderLines());
assertEquals(1, orderPart.getOrderLines().size());
assertEquals(price1.getAmount().setScale(2, BigDecimal.ROUND_HALF_EVEN), orderPart.getTotalOrderLines().getAmount().setScale(2, BigDecimal.ROUND_HALF_EVEN));
assertEquals(price1.getCurrencyCode(), orderPart.getTotalOrderLines().getCurrencyCode());
assertEquals(price1.getAmount().setScale(2, BigDecimal.ROUND_HALF_EVEN), orderPart.getTotal().getAmount().setScale(2, BigDecimal.ROUND_HALF_EVEN));
assertEquals(price1.getCurrencyCode(), orderPart.getTotal().getCurrencyCode());
// check order line
OrderLine line = orderPart.getOrderLines().get(0);
Assert.assertNotNull(line);
Assert.assertNotNull(line.getOffer());
Assert.assertNotNull(line.getUnitPrice());
Assert.assertNotNull(line.getTotal());
Assert.assertEquals(offer1, line.getOffer());
Assert.assertEquals(price1.getAmount().setScale(2, BigDecimal.ROUND_HALF_EVEN), line.getUnitPrice().getAmount().setScale(2, BigDecimal.ROUND_HALF_EVEN));
Assert.assertEquals(price1.getCurrencyCode(), line.getUnitPrice().getCurrencyCode());
Assert.assertEquals(price1.getAmount().setScale(2, BigDecimal.ROUND_HALF_EVEN), line.getTotal().getAmount().setScale(2, BigDecimal.ROUND_HALF_EVEN));
Assert.assertEquals(price1.getCurrencyCode(), line.getTotal().getCurrencyCode());
}
Aggregations