Package org.cast.isi.data

Examples of org.cast.isi.data.ContentLoc


    ISIXmlSection section = getSection();
    return (section != null) && (section.isLockResponse());
  }

  protected ISIXmlSection getSectionAncestorForLocation(String location) {
    ISIXmlSection section = new ContentLoc(location).getSection();
    return section.getSectionAncestor();
  }
View Full Code Here


    }

    @Override
    protected void onBeforeRender() {
      User student = ISISession.get().getTargetUserModel().getObject();
      List<FeedbackMessage> messages = responseService.getNotesForPage(student, new ContentLoc(mIsiXmlSection.getObject()).getLocation());
      boolean unread = false;
      for (FeedbackMessage m : messages) {
        if (m.isUnread()
            && ((m.getAuthor().getRole().equals(Role.STUDENT) && teacher) ||
              (!m.getAuthor().getRole().equals(Role.STUDENT) && !teacher))) {
View Full Code Here

      private static final long serialVersionUID = 1L;

      @Override
      protected void populateItem(ListItem<XmlSection> item) {
        XmlSection sec3 = item.getModelObject();
        ContentLoc loc = new ContentLoc(sec3);
        BookmarkablePageLink<ISIStandardPage> link = new SectionLinkFactory().linkToPage("link", sec3);
        if (locsWithUnread.contains(loc.getLocation()))
          link.add(new Image("messageIcon", new ResourceReference("img/icons/envelope_new.png")));
        else if (locsWithMessages.contains(loc.getLocation()))
          link.add(new Image("messageIcon", new ResourceReference("img/icons/envelope_old.png")));
        else
          link.add(new WebMarkupContainer("messageIcon").setVisible(false));
        item.add(link);
        link.add(new Label("number", String.valueOf(++pageNum)).setRenderBodyOnly(true));
View Full Code Here

   * @return the appropriate image component for the 'completed' parameter
   */
  public Component getCompletedImage(String id, IModel<XmlSection> model) {
    ISIXmlSection currentSection = (ISIXmlSection) model.getObject();
   
    Boolean isComplete = sectionService.getSectionStatusMap(getUser()).get(new ContentLoc(currentSection).getLocation());

    if (isComplete == null)
      isComplete = false;

    Icon image = new Icon("img/icons/check_done.png", "Section Completed");
View Full Code Here

      link.setVisible(false);
      return link;
    }
    sec = sectionLinkDest ((ISIXmlSection) sec);
    Class<? extends ISIStandardPage> pageType = ISIApplication.get().getReadingPageClass();
    ContentLoc loc = new ContentLoc (sec);
    BookmarkablePageLink<ISIStandardPage> link = new BookmarkablePageLink<ISIStandardPage>(wicketId, pageType) {
      private static final long serialVersionUID = 1L;
 
      @Override
      protected CharSequence appendAnchor(ComponentTag tag, CharSequence url) {
        if (fragment==null || url.toString().indexOf('#')>-1)
          return super.appendAnchor(tag, url);
        return url + "#" + fragment;
      }
     
    };
    link.setParameter("loc", loc.getLocation());
    return link;
  }
View Full Code Here

      protected void populateItem(Item<Tagging> item) {
        Tagging ting = item.getModelObject();
        PersistedObject target = TagService.get().getTarget(ting);
        if (target instanceof ContentElement) {
          ContentElement elt = (ContentElement) target;
          ContentLoc loc = elt.getContentLocObject();
          ISIXmlSection sec = (ISIXmlSection) loc.getSection();

          String crumbTrail = sec.getCrumbTrailAsString(1, 1);
          item.add(new Label("crumbTrail", crumbTrail));
         
          BookmarkablePageLink<ISIStandardPage> link = new SectionLinkFactory().linkToPage("titleLink", sec);
View Full Code Here

      return new Label(wicketId, "Question Not Available");
  }

  private Component makeXmlQuestionTextComponent(String wicketId, ISIPrompt prompt) {
    ContentElement contentElement = prompt.getContentElement();
    ContentLoc contentLocObject = contentElement.getContentLocObject();
    ISIXmlSection section = contentLocObject.getSection();
    ISIXmlComponent xml = new ISIXmlComponent(wicketId,new XmlSectionModel(section), "student" );
    String xmlId = contentElement.getXmlId();
    xml.setTransformParameter(FilterElements.XPATH, String.format("//dtb:responsegroup[@id='%s']//dtb:prompt", xmlId));
    xml.setOutputMarkupId(true);
    return xml;
View Full Code Here

   * @param currentSectionModel
   * @param mUser
   */
  public SingleSelectDelayMessage(String id, IModel<XmlSection> currentSectionModel, IModel<User> mUser) {
    super(id);
    location = new ContentLoc(currentSectionModel.getObject()).getLocation();
    this.currentSectionModel = currentSectionModel;
    this.mUser = mUser;
  }
View Full Code Here

  public DelayedFeedbackSingleSelectForm(String id, IModel<Prompt> mcPrompt,
      IModel<XmlSection> currentSectionModel) {
    super(id, mcPrompt);
    ISIXmlSection section = getIsiXmlSection(currentSectionModel);
    location = new ContentLoc(section.getSectionAncestor()).getLocation();
    lockResponse = (section != null) && section.isLockResponse();
  }
View Full Code Here

      WebComponent icon = ISIApplication.get().makeIcon(wicketId, elt.getAttribute("class"));
      icon.add(new AttributeModifier("class", true, new Model<String>("sectionIcon")));
      return icon;
 
    } else if (wicketId.startsWith("thumbRating_")) {
      ContentLoc loc = new ContentLoc(getModel().getObject());
      String thumbId = elt.getAttribute("id");
      ThumbPanel thumbPanel = new ThumbPanel(wicketId, loc, thumbId);
      thumbPanel.add(new AttributeRemover("id"));
      return thumbPanel;

    } else if (wicketId.startsWith("thumbRatingDescription_")) {
      Label thumbRatingDescription = new Label(wicketId, new ResourceModel("thumbRatingPanel.ratingDescription", "Rate It:"));
      return thumbRatingDescription;

    } else if (wicketId.startsWith("mediaThumbImage_")) {
      String src = elt.getAttribute("src");
      ResourceReference imgRef = getRelativeRef(src);
      Image image = new Image(wicketId, imgRef) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onComponentTag(final ComponentTag tag)
        {
          super.onComponentTag(tag);
            tag.put("width", elt.getAttribute("width"));
            tag.put("height", elt.getAttribute("height"));
        }
      };     
      return image;
     
    } else if (wicketId.startsWith("mediaThumbLink_")) {     
      String videoId = elt.getAttributeNS(null, "videoId");
      XmlSectionModel currentSectionModel = getModel();     
      VideoLink videoLink = new VideoLink(wicketId, videoId, currentSectionModel);
      videoLink.add(new AttributeRemover("videoId"));
      return videoLink;

    } else if (wicketId.startsWith("videoplayer_")) {
      final String videoSrc = elt.getAttribute("src");
      ResourceReference videoRef = getRelativeRef(videoSrc);
      String videoUrl = RequestCycle.get().urlFor(videoRef).toString();

      Integer width = Integer.valueOf(elt.getAttribute("width"));
      Integer height = Integer.valueOf(elt.getAttribute("height"));
      String preview = elt.getAttribute("poster");
      String captions = elt.getAttribute("captions");
      String audioDescription = elt.getAttribute("audiodescription");
     
      MediaPlayerPanel comp = new MediaPlayerPanel(wicketId, videoUrl, width, height) {
        private static final long serialVersionUID = 1L;
        @Override
        public void onPlay (String status) {
          if (cwmSessionService.isSignedIn())
            eventService.saveEvent("video:view", "id=" + elt.getAttribute("videoId") + ",state=" + status, contentPage);
        }
      };

      comp.setFullScreen(true);
      comp.setUseOnPlay(true);

      if (!Strings.isEmpty(preview))
        comp.setPreview(getRelativeRef(preview));
     
      if (!Strings.isEmpty(captions))
        comp.setCaptionFile(getRelativeRef(captions));
     
      if (!Strings.isEmpty(audioDescription))
        comp.setAudioDescriptionFile(getRelativeRef(audioDescription));
     
      comp.add(new AttributeRemover("src", "width", "height", "poster", "captions", "audiodescription", "videoId"));
     
      return comp;

    } else if (wicketId.startsWith("audioplayer_")) {
      String audioSrc = elt.getAttribute("src");
      ResourceReference audioRef = getRelativeRef(audioSrc);
      String audioUrl = RequestCycle.get().urlFor(audioRef).toString();

      int width = 400;
      if (!elt.getAttribute("width").equals("")) {
        try {
          width = Integer.parseInt(elt.getAttribute("width").trim());
        } catch (Exception e) {
          log.debug("Can't get width for {}: {}", audioUrl, e);
          width = 400;
        }
      }
      AudioPlayerPanel player = new AudioPlayerPanel(wicketId, audioUrl, width, 20);
      player.setShowDownloadLink(false);
      player.setRenderBodyOnly(true);

      String preview = elt.getAttribute("poster");
      if (!Strings.isEmpty(preview))
        player.setPreview(getRelativeRef(preview));
     
      return player;

    } else if (wicketId.startsWith("swf_")) {
     
      ResourceReference swfRef = getRelativeRef(elt.getAttribute("src"));
      return new FlashAppletPanel(wicketId, swfRef,
          Integer.valueOf(elt.getAttribute("width")),
          Integer.valueOf(elt.getAttribute("height")),
          "");

    } else if (wicketId.startsWith("feedbackButton_")) {
      ContentLoc loc = new ContentLoc(getModel().getObject());
      String responseGroupId = elt.getAttribute("rgid");
      IModel<Prompt> pm = responseService.getOrCreatePrompt(PromptType.FEEDBACK, loc, responseGroupId);
      ResponseFeedbackButtonPanel component = new ResponseFeedbackButtonPanel(wicketId, pm, responseFeedbackPanel);
      String forRole = elt.getAttribute("for");
      boolean usesTeacherButton = cwmSessionService.getUser().getRole().subsumes(Role.TEACHER);
      component.setVisibilityAllowed(usesTeacherButton ? forRole.equals("teacher") : forRole.equals("student"));
      component.add(new AttributeRemover("rgid", "for"));
      return component;
    } else if (wicketId.startsWith("scoreButtons_")) {
      IModel<Prompt> promptModel = getPrompt(elt);
      IModel<User> studentModel = ISISession.get().getTargetUserModel();
      ISortableDataProvider<Response> responseProvider = responseService.getResponseProviderForPrompt(promptModel, studentModel);
      TeacherScoreResponseButtonPanel component = new TeacherScoreResponseButtonPanel(wicketId, responseProvider);
      return component;
    } else if (wicketId.startsWith("showScore_")) {
      IModel<Prompt> promptModel = getPrompt(elt);
      IModel<User> studentModel = cwmSessionService.getUserModel();
      ISortableDataProvider<Response> responseProvider = responseService.getResponseProviderForPrompt(promptModel, studentModel);
      ScorePanel component = new StudentScorePanel(wicketId, responseProvider);
      return component;
    // A container for a single-select form and whiteboard, notebook links
    } else if (wicketId.startsWith("responseContainer")) {
      return new WebMarkupContainer(wicketId);
    // A single-select, multiple choice form.  MultipleChoiceItems will be added to a RadioGroup
    // child of this form. 
    } else if (wicketId.startsWith("select1_immediate_")) {
      return makeImmediateResponseForm(wicketId, elt);
    // A single-select, multiple choice form.  MultipleChoiceItems will be added to a RadioGroup
    // child of this form. 
    } else if (wicketId.startsWith("select1_delay_")) {
      return makeDelayedResponseForm(wicketId, elt);
    // buttons for viewing in whiteboard and notebook
    } else if (wicketId.startsWith("viewActions")) {
      IModel<Prompt> mPrompt = getPrompt(elt, PromptType.SINGLE_SELECT);
      Long promptId = mPrompt.getObject().getId();
      ResponseViewActionsPanel component = new ResponseViewActionsPanel(wicketId, promptId);
      component.add(new AttributeRemover("rgid", "title", "group", "type"));
      return component;
      // A single-select, multiple choice disabled form.  MultipleChoiceItems will be added to a RadioGroup
      // child of this form. 
    } else if (wicketId.startsWith("select1_view_immediate")) {
      return makeImmediateResponseView(wicketId, elt);
    // A single-select, multiple choice disabled form.  MultipleChoiceItems will be added to a RadioGroup
    // child of this form. 
    } else if (wicketId.startsWith("select1_view_delay")) {
      return makeDelayedResponseView(wicketId, elt);
    // A multiple choice radio button. Stores a "correct" value. This is
    // added to a generic RadioGroup in a SingleSelectForm.
    } else if (wicketId.startsWith("selectItem_")) {
      Component mcItem = new SingleSelectItem(wicketId,
          new Model<String>(wicketId.substring("selectItem_".length())),
          Boolean.valueOf(elt.getAttribute("correct")));
      mcItem.add(new AttributeRemover("correct"));
      return mcItem;

    // A message associated with a wicketId.startsWith("selectItem_").
    // The wicketId of the associated SingleSelectItem should be provided as a "for" attribute.
    // Visibility based on whether the corresponding radio button is selected in the enclosing form.
    } else if (wicketId.startsWith("selectMessage_")) {
      return new SingleSelectMessage(wicketId, elt.getAttribute("for")).add(new AttributeRemover("for"));

    // A delayed feedback message associated with a wicketId.startsWith("selectItem_").
    // The wicketId of the associated SingleSelectItem should be provided as a "for" attribute.
    // Visibility based on whether the response has been reviewed.
    } else if (wicketId.startsWith("selectDelayMessage_")) {
      ISIXmlSection section = getISIXmlSection();
      IModel<XmlSection> currentSectionModel = new XmlSectionModel(section);
      SingleSelectDelayMessage component = new SingleSelectDelayMessage(wicketId, currentSectionModel);
      return component.add(new AttributeRemover("for"));

    } else if (wicketId.startsWith("responseList_")) {
      ContentLoc loc = new ContentLoc(getModel().getObject());
      String responseGroupId = elt.getAttribute("rgid");
      ResponseMetadata metadata = getResponseMetadata(responseGroupId);
      IModel<Prompt> mPrompt = responseService.getOrCreatePrompt(PromptType.RESPONSEAREA, loc, responseGroupId, metadata.getCollection());
      ResponseList dataView = new ResponseList (wicketId, mPrompt, metadata, loc, ISISession.get().getTargetUserModel());
      dataView.setContext(getResponseListContext(false));
      dataView.setAllowEdit(!isTeacher);
      dataView.setAllowNotebook(!inGlossary && !isTeacher && ISIApplication.get().isNotebookOn());
      dataView.setAllowWhiteboard(!inGlossary && ISIApplication.get().isWhiteboardOn());
      dataView.add(new AttributeRemover("rgid", "group"));
      return dataView;

    } else if (wicketId.startsWith("locking_responseList_")) {
      ContentLoc loc = new ContentLoc(getModel().getObject());
      String responseGroupId = elt.getAttribute("rgid");
      ResponseMetadata metadata = getResponseMetadata(responseGroupId);
      IModel<Prompt> mPrompt = responseService.getOrCreatePrompt(PromptType.RESPONSEAREA, loc, responseGroupId, metadata.getCollection());
      ResponseList dataView = new LockingResponseList (wicketId, mPrompt, metadata, loc, ISISession.get().getTargetUserModel());
      dataView.setContext(getResponseListContext(false));
      dataView.setAllowNotebook(!inGlossary && !isTeacher && ISIApplication.get().isNotebookOn());
      dataView.setAllowWhiteboard(!inGlossary && ISIApplication.get().isWhiteboardOn());
      dataView.add(new AttributeRemover("rgid", "group"));
      return dataView;

    } else if (wicketId.startsWith("period_responseList_")) {
      ContentLoc loc = new ContentLoc(getModel().getObject());
      String responseGroupId = elt.getAttribute("rgid");
      ResponseMetadata metadata = getResponseMetadata(responseGroupId);
      IModel<Prompt> mPrompt = responseService.getOrCreatePrompt(PromptType.RESPONSEAREA, loc, responseGroupId, metadata.getCollection());
      PeriodResponseList dataView = new PeriodResponseList(wicketId, mPrompt, metadata, loc, ISISession.get().getCurrentPeriodModel());
      dataView.setContext(getResponseListContext(true));
      dataView.setAllowEdit(!isTeacher);
      dataView.setAllowNotebook(!inGlossary && !isTeacher && ISIApplication.get().isNotebookOn());
      dataView.setAllowWhiteboard(!inGlossary && ISIApplication.get().isWhiteboardOn());
      dataView.add(new AttributeRemover("rgid", "group"));
      return dataView;     
     
    } else if (wicketId.startsWith("responseButtons_")) {
      ContentLoc loc = new ContentLoc(getModel().getObject());
      String responseGroupId = elt.getAttribute("rgid");
      Element xmlElement = getModel().getObject().getElement().getOwnerDocument().getElementById(responseGroupId);
      ResponseMetadata metadata = new ResponseMetadata(xmlElement);
      if (!ISIApplication.get().isUseAuthoredResponseType()) {
        // set all the response types to the default per application configuration here
        metadata = addMetadata(metadata);
      }
      IModel<Prompt> mPrompt = responseService.getOrCreatePrompt(PromptType.RESPONSEAREA, loc, metadata.getId(), metadata.getCollection());
      ResponseButtons buttons = new ResponseButtons(wicketId, mPrompt, metadata, loc);
      buttons.setVisible(!isTeacher);
      return buttons;

    } else if (wicketId.startsWith("locking_responseButtons_")) {
      ContentLoc loc = new ContentLoc(getModel().getObject());
      String responseGroupId = elt.getAttribute("rgid");
      Element xmlElement = getModel().getObject().getElement().getOwnerDocument().getElementById(responseGroupId);
      ResponseMetadata metadata = new ResponseMetadata(xmlElement);
      if (!ISIApplication.get().isUseAuthoredResponseType()) {
        // set all the response types to the default per application configuration here
        metadata = addMetadata(metadata);
      }
      IModel<Prompt> mPrompt = responseService.getOrCreatePrompt(PromptType.RESPONSEAREA, loc, metadata.getId(), metadata.getCollection());
      return new LockingResponseButtons(wicketId, mPrompt, metadata, loc, cwmSessionService.getUserModel());

    } else if (wicketId.startsWith("ratePanel_")) {
      ContentLoc loc = new ContentLoc(getModel().getObject());
      String promptText = null;
      String ratingId = elt.getAttribute("id");
      NodeList nodes = elt.getChildNodes();
      // extract the prompt text authored - we might want to consider re-writing this
      // to use xsl instead of this - but this works for now - ldm
View Full Code Here

TOP

Related Classes of org.cast.isi.data.ContentLoc

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.