Package org.cast.cwm.xml

Examples of org.cast.cwm.xml.XmlSectionModel


           chapterRepeater.add(rootSectionContainer);
           // Chapter that contains the bookmark is open by default.
           if (rootSection.equals(currentRootSection))
             rootSectionContainer.add(new ClassAttributeModifier("open"));
           rootSectionContainer.add(new Label("chapterTitle", rootSection.getTitle()));
           ISIXmlComponent xml = new ISIXmlComponent("chapterContent", new XmlSectionModel(rootSection), "toc");
           xml.setTransformParameter("sectionToggleLinks", getSectionToggleParameter());
           xml.setTransformParameter("sectionLevel", sectionLevel);
           if (currentPage != null)
             xml.setTransformParameter("current", currentPage.getSectionAncestor().getId());
        rootSectionContainer.add(xml);       
View Full Code Here


    return viewer;
  }

  private Component makeXmlComponentViewer(String wicketId, ISIPrompt prompt) {
    ISIXmlSection section = prompt.getContentElement().getContentLocObject().getSection();
    ISIXmlComponent xml = new ISIXmlComponent(wicketId,new XmlSectionModel(section), "view-response" );
    xml.setTransformParameter(FilterElements.XPATH, String.format("//dtb:responsegroup[@id='%s']", prompt.getContentElement().getXmlId()));
    xml.setTransformParameter("lock-response", (section != null) && section.isLockResponse());
    xml.setTransformParameter("delay-feedback", (section != null) && section.isDelayFeedback());
    xml.setOutputMarkupId(true);
    return xml;
View Full Code Here

  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

    XmlDocument emailXml = ISIApplication.get().getEmailContent();
    TransformParameters params = new TransformParameters();
    params.put("subDelimiter", subDelimiter);

    XmlSectionModel sectionModel = new XmlSectionModel(emailXml.getById(messageId));
    Element emailContent = xmlService.getTransformed(sectionModel, ISIApplication.get().getEMAIL_TRANSFORMER(), params)
          .getElement();
   
    // Message substitution variables
    String fullUrl = "";
View Full Code Here

  public XmlSectionModel getModel() {
    return (XmlSectionModel) super.getModel();
  }
 
  public XmlSection getXmlSection() {
    XmlSectionModel model = getModel();
    if (model == null)
      return null;
    return model.getObject();
  }
View Full Code Here

        file = getModel().getObject().getXmlDocument().getName(); // same file as we're currently viewing
      }
      XmlDocument document = xmlService.getDocument(file);
      String xmlId = href.substring(hashLocation+1);
      XmlSection section = document.getById(xmlId);
      XmlSectionModel mSection = new XmlSectionModel(section);
      return new AuthoredPopupLink(wicketId, xmlId, mSection);
     
    } else if (wicketId.startsWith("noteBackLink_")) {
      // Link back from a note to its (first) noteref.
      String idref = elt.getAttribute("idref");
      // Find candidate noterefs in this chapter
      XmlSection sec = getModel().getObject();
      XPath xPath = XPathFactory.newInstance().newXPath();
      xPath.setNamespaceContext(XmlService.get().getNamespaceContext());
      XmlSection linkSection = null;
      String linkText = "?";
      try {
        String path = String.format("//dtb:noteref[@idref='#%s']", idref);
        NodeList nl = (NodeList) xPath.evaluate(path, sec.getXmlDocument().getDocument().getDocumentElement(), XPathConstants.NODESET);
        if (nl.getLength() > 0) {
          Element node = null;
          node = (Element) nl.item(0);
          linkText = node.getTextContent();
          // Scan parents until you find the smallest enclosing XML Section.
          while (linkSection == null && node.getParentNode() != null) {
            String id = node.getAttributeNS(null, "id");
            if (id != null) {
              linkSection = sec.getXmlDocument().getById(id);
            }
            node = (Element) node.getParentNode();
          }
        }
      } catch (XPathExpressionException e) {
        e.printStackTrace()// malformed expression - shouldn't happen
      }
      if (linkSection != null) {
        BookmarkablePageLink<ISIStandardPage> link = new SectionLinkFactory().linkTo(wicketId, linkSection, "note_"+idref);
        link.add(new AttributeRemover("idref"));
        link.add(new Label("text", linkText));
        return link;
      } else {
        log.debug("Could not find noteref for note: idref={}", idref);
        return new SectionLinkFactory().linkToPage(wicketId, null);
      }
     
    } else if (wicketId.startsWith("fileLink_")) {
      // link to file in content directory
      return new ResourceLink<Object> (wicketId, getRelativeRef(elt.getAttribute("href")));
     
    } else if (wicketId.startsWith("sectionIcon_")) {   
      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
      for (int i=0; i<nodes.getLength(); i++) {
        Node nextNode = nodes.item(i);
        if (nextNode instanceof Element) {
          Element next = (Element)nodes.item(i);
          if (next.getAttribute("class").equals("prompt")) {
            //get all the html under the prompt element
            promptText = new TransformResult(next).getString();
          }
        }
      }
      RatePanel ratePanel = new RatePanel(wicketId, loc, ratingId, promptText);
      ratePanel.add(new AttributeRemover("id"));
      ratePanel.add(new AttributeRemover("type"));
      return ratePanel;

    } else if (wicketId.startsWith("teacherBar_")) {
      WebMarkupContainer teacherBar = new WebMarkupContainer(wicketId);
      teacherBar.setVisible(!cwmSessionService.getUser().getRole().equals(Role.STUDENT) && !inGlossary);
      return teacherBar;

    } else if (wicketId.startsWith("compareResponses_")) {
      IModel<Prompt> mPrompt = getPrompt(elt);
      BookmarkablePageLink<Page> bpl = new BookmarkablePageLink<Page>(wicketId, ISIApplication.get().getPeriodResponsePageClass());
      bpl.setParameter("promptId", mPrompt.getObject().getId());
      ISIApplication.get().setLinkProperties(bpl);
      bpl.setVisible(isTeacher);
      bpl.add(new AttributeRemover("rgid", "for", "type"));
      return bpl;

    } else if(wicketId.startsWith("agent_")) {
      String title = elt.getAttribute("title");
      if (Strings.isEmpty(title))
        title = new StringResourceModel("isi.defaultAgentButtonText", this, null, "Help").getObject();
      AgentLink link = new AgentLink(wicketId, title, elt.getAttribute("responseAreaId"));
      link.add(new AttributeRemover("title", "responseAreaId"));
      return link;
     
    } else if (wicketId.startsWith("image_")) {
      String src = elt.getAttribute("src");
      ResourceReference imgRef = getRelativeRef(src);
      return new Image(wicketId, imgRef);

    } else if (wicketId.startsWith("imageThumb_")) {     
      String src = elt.getAttribute("src");
      int ext = src.lastIndexOf('.');
      src = src.substring(0, ext) + "_t" + src.substring(ext);
      ResourceReference imgRef = getRelativeRef(src);
      Image img = new Image(wicketId, imgRef);
      // FIXME these attributes were removed because indira was adding height and width of the detail image
      // not the thumbnail image - remove when indira gets removed
      img.add(new AttributeRemover("width", "height"));
      return img;
     
    } else if (wicketId.startsWith("imageDetailButton_")) {
      // for thumbnail images only - no longer for more info
      return new ImageDetailButtonPanel(wicketId, wicketId.substring("imageDetailButton_".length()));
//      We may want to put some of this back, but for now assuming that any time XSLT requests an image detail button we'll put one in.
//      if (contentPage == null && !inGlossary) // Don't do imageDetails on non-content pages (e.g. the Table of Contents)
//        return new WebMarkupContainer(wicketId).setVisible(false);

    } else if (wicketId.startsWith("imgToggleHeader")
        || wicketId.startsWith("imgDetailToggleHeader")
        || wicketId.startsWith("objectToggleHeader")) {
      // long description header for toggle area

      String src = elt.getAttribute("src");

      // remove everything but the name of the media
      int lastIndex = src.lastIndexOf("/") + 1;
      src = src.substring(lastIndex, src.length());

      Label label;
      String eventType = "ld";
      String detail = null;
      if (wicketId.startsWith("img")) {
        label = new Label(wicketId, new ResourceModel("imageLongDescription.toggleHeading""image information"));
        String imageId = elt.getAttribute("imageId");
        detail = "imageId=" + imageId;
        label.add(new AttributeRemover("imageId"));
        if (wicketId.startsWith("imgDetailToggleHeader")) {
          label = new Label(wicketId, new ResourceModel("imageLongDescription.toggleHeading""image information"));
          detail = detail + ",context=detail";
        }
      } else { // video or mp3 files
        if (src.contains(".mp3")) {
          label = new Label(wicketId, new ResourceModel("audioLongDescription.toggleHeading""more audio information"));
        } else {
          label = new Label(wicketId, new ResourceModel("videoLongDescription.toggleHeading""more video information"));
        }
        detail = "src=" + src;
      }

      label.add(new CollapseBoxBehavior("onclick", eventType, ((ISIBasePage) getPage()).getPageName(), detail));
      label.add(new AttributeRemover("src"));
      return label;

    } else if (wicketId.startsWith("annotatedImage_")) {
      // image with hotspots
      AnnotatedImageComponent annotatedImageComponent = new AnnotatedImageComponent(wicketId, elt, getModel());
      annotatedImageComponent.add(new AttributeRemover("annotatedImageId"));
      return annotatedImageComponent;
     
    } else if (wicketId.startsWith("hotSpot_")) {
      // clickable areas on annotated images
      HotSpotComponent hotSpotComponent = new HotSpotComponent(wicketId, elt);
      hotSpotComponent.add(new AttributeRemover("annotatedImageId"));
      return hotSpotComponent;
     
    } else if (wicketId.startsWith("slideShow_")) {
      SlideShowComponent slideShowComponent = new SlideShowComponent(wicketId, elt);
      return slideShowComponent;
           
    } else if (wicketId.startsWith("collapseBox_")) {
      WebMarkupContainer collapseBox = new WebMarkupContainer(wicketId);
      return collapseBox;

    } else if (wicketId.startsWith("feedbackStatusIndicator_")) {
      FeedbackStatusIndicator feedbackStatusIndicator = new FeedbackStatusIndicator(wicketId);
      return feedbackStatusIndicator;

     
    } else if (wicketId.startsWith("collapseBoxControl-")) {
      String boxSequence = (wicketId.substring("collapseBoxControl-".length()).equals("") ? "0" : wicketId.substring("collapseBoxControl-".length()));
      CollapseBoxHeader collapseBoxHeader = new CollapseBoxHeader(wicketId, boxSequence);
      return collapseBoxHeader;

    } else if (wicketId.startsWith("iScienceLink-")) {     
      return new AjaxFallbackLink<Object>(wicketId) {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
          target.prependJavascript("$('#iScienceVideo-" + wicketId.substring("iScienceLink-".length()) + "').jqmShow();");
          eventService.saveEvent("iscience:view", "Video #" + wicketId.substring("iScienceLink-".length()), ((ISIBasePage) getPage()).getPageName());
        }
      };

    } else if (wicketId.startsWith("youtube_")) {
      int width = getWidth(elt, 640);
      int height = getHeight(elt, 385);
      String src = elt.getAttribute("src");
      src = src.replace("youtube.com/watch?v=", "youtube.com/v/");

      FlashAppletPanel panel = new FlashAppletPanel(wicketId, width, height);
      panel.add(new AttributeRemover("src", "width", "height"));
      panel.setAppletHRef(src);
      panel.setFullScreen(true);
      return panel; 
     
    } else if (wicketId.startsWith("pageLinkPanel_")) {
      String id = elt.getAttribute("id");
      IModel<XmlSection> currentSectionModel = new XmlSectionModel(getModel().getObject().getXmlDocument().getById(id));
      PageLinkPanel panel = new PageLinkPanel(wicketId, currentSectionModel, null);
      panel.add(new AttributeRemover("id"));
      return panel;

    } else if (wicketId.startsWith("sectionStatusIcon_")) {
      String id = elt.getAttribute("id");
      IModel<XmlSection> currentSectionModel = new XmlSectionModel(getModel().getObject().getXmlDocument().getById(id));
      return new StudentSectionCompleteToggleImageLink(wicketId, currentSectionModel);
     
    } else if (wicketId.startsWith("inactiveSectionStatusIcon_")) {
      String id = elt.getAttribute("id");
      IModel<XmlSection> currentSectionModel = new XmlSectionModel(getModel().getObject().getXmlDocument().getById(id));
      return new SectionCompleteImageContainer(wicketId, currentSectionModel);
    } else if (wicketId.startsWith("itemSummary_")) {
      boolean noAnswer = Boolean.parseBoolean(elt.getAttributeNS(null, "noAnswer"));
      Component singleSelectComponent = new SingleSelectSummaryXmlComponentHandler().makeComponent(wicketId, elt, getModel(), noAnswer);
      singleSelectComponent.add(new AttributeRemover("noAnswer"));
View Full Code Here

  }
 
  private ScoredDelayedFeedbackSingleSelectForm makeDelayedResponseForm(final String wicketId,
      final Element elt) {
    ISIXmlSection section = getISIXmlSection();
    IModel<XmlSection> currentSectionModel = new XmlSectionModel(section);
    boolean compact = Boolean.parseBoolean(elt.getAttributeNS(null, "compact"));
    ScoredDelayedFeedbackSingleSelectForm selectForm = new ScoredDelayedFeedbackSingleSelectForm(wicketId, getPrompt(elt, PromptType.SINGLE_SELECT), currentSectionModel);
    selectForm.add(new AttributeRemover("rgid", "title", "group", "type", "noAnswer", "compact"));
    selectForm.setShowDateTime(!compact);
    return selectForm;
View Full Code Here

  }
   
  private Component makeDelayedResponseView(final String wicketId,
      final Element elt) {
    ISIXmlSection section = getISIXmlSection();
    IModel<XmlSection> currentSectionModel = new XmlSectionModel(section);
    DelayedFeedbackSingleSelectView component = new DelayedFeedbackSingleSelectView(wicketId, getPrompt(elt, PromptType.SINGLE_SELECT), currentSectionModel);
    component.add(new AttributeRemover("rgid", "title", "group", "type"));
    component.setShowDateTime(false);
    return component;
  }
View Full Code Here

    super(id, mCurrentPage);
    setOutputMarkupId(true);
    iconFactory = SectionIconFactory.getIconFactory(teacher);

    if (mCurrentPage == null) {
      setModel(new XmlSectionModel(ISIApplication.get().getPageNum(1)));
    }

    ISIXmlSection rootSection = ISIXmlSection.getRootSection(getCurrentSection());
 
    // Current Section's Page Repeater with prev/next
View Full Code Here

       
      ISIXmlSection section = loc.getSection();
      if (section != null) {
        ISISession.get().setBookmark(loc);       
      }
      mSection = new XmlSectionModel(section);
  }
View Full Code Here

TOP

Related Classes of org.cast.cwm.xml.XmlSectionModel

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.