@@ 491-533 (lines=43) @@ | ||
488 | ||
489 | List<XApiObject> parents = xapiContextActivities.getParent(); |
|
490 | SubOrganizationOf subOrganizationOf = null; |
|
491 | if (parents != null && parents.size() == 1) { |
|
492 | XApiObject parent = parents.get(0); |
|
493 | String parentId = parent.getId(); |
|
494 | String parentType = "http://purl.imsglobal.org/caliper/v1/lis/CourseOffering"; |
|
495 | String parentName = null; |
|
496 | String parentDescription = null; |
|
497 | XApiObjectDefinition parentXapiObjectDefinition = parent.getDefinition(); |
|
498 | if (parentXapiObjectDefinition != null) { |
|
499 | ||
500 | if (StringUtils.isNoneBlank(parentXapiObjectDefinition.getType())) { |
|
501 | parentType = parentXapiObjectDefinition.getType(); |
|
502 | } |
|
503 | ||
504 | Map<String,String> names = parentXapiObjectDefinition.getName(); |
|
505 | if (names != null) { |
|
506 | if (names.size() == 1) { |
|
507 | parentName = CollectionUtils.get(names, 0).getValue(); |
|
508 | } |
|
509 | else { |
|
510 | // default to en? |
|
511 | parentName = names.get("en"); |
|
512 | } |
|
513 | } |
|
514 | ||
515 | Map<String,String> descriptions = parentXapiObjectDefinition.getDescription(); |
|
516 | if (descriptions != null) { |
|
517 | if (descriptions.size() == 1) { |
|
518 | parentDescription = CollectionUtils.get(descriptions, 0).getValue(); |
|
519 | } |
|
520 | else { |
|
521 | // default to en? |
|
522 | parentDescription = descriptions.get("en"); |
|
523 | } |
|
524 | } |
|
525 | ||
526 | subOrganizationOf |
|
527 | = new SubOrganizationOf.Builder() |
|
528 | .withId(parentId) |
|
529 | .withContext(Context.CONTEXT.getValue()) |
|
530 | .withType(parentType) |
|
531 | .withName(parentName) |
|
532 | .withDescription(parentDescription) |
|
533 | .build(); |
|
534 | } |
|
535 | } |
|
536 | ||
@@ 548-589 (lines=42) @@ | ||
545 | .withSubOrganizationOf(subOrganizationOf) |
|
546 | .build(); |
|
547 | } |
|
548 | else if (xapiContextActivities.getParent() != null) { |
|
549 | XApiObject parent = xapiContextActivities.getParent().get(0); |
|
550 | String name = null; |
|
551 | String description = null; |
|
552 | XApiObjectDefinition xapiObjectDefinition = parent.getDefinition(); |
|
553 | if (xapiObjectDefinition != null) { |
|
554 | if (StringUtils.isBlank(type) && StringUtils.isNoneBlank(xapiObjectDefinition.getType())) { |
|
555 | type = xapiObjectDefinition.getType(); |
|
556 | } |
|
557 | ||
558 | Map<String,String> names = xapiObjectDefinition.getName(); |
|
559 | if (names != null) { |
|
560 | if (names.size() == 1) { |
|
561 | name = CollectionUtils.get(names, 0).getValue(); |
|
562 | } |
|
563 | else { |
|
564 | // default to en? |
|
565 | name = names.get("en"); |
|
566 | } |
|
567 | } |
|
568 | ||
569 | Map<String,String> descriptions = xapiObjectDefinition.getDescription(); |
|
570 | if (descriptions != null) { |
|
571 | if (descriptions.size() == 1) { |
|
572 | description = CollectionUtils.get(descriptions, 0).getValue(); |
|
573 | } |
|
574 | else { |
|
575 | // default to en? |
|
576 | description = descriptions.get("en"); |
|
577 | } |
|
578 | } |
|
579 | } |
|
580 | ||
581 | caliperGroup |
|
582 | = new Group.Builder() |
|
583 | .withId(parent.getId()) |
|
584 | .withContext(Context.CONTEXT.getValue()) |
|
585 | .withType(type) |
|
586 | .withName(name) |
|
587 | .withDescription(description) |
|
588 | .withExtensions(contextExtensions) |
|
589 | .build(); |
|
590 | } |
|
591 | } |
|
592 | } |