@Override
 protected void onComponentTag(ComponentTag tag) {
   checkComponentTag(tag, "progress");
   super.onComponentTag(tag);
   tag.put("value", value.get());
   tag.put("max", max.get());
 }
  @Override
  protected void onInitialize() {
    super.onInitialize();
    final AjaxSelfUpdatingTimerBehavior ajaxSelfUpdatingTimerBehavior =
        new AjaxSelfUpdatingTimerBehavior(duration) {
          private static final long serialVersionUID = 1L;

          @Override
          protected void onPostProcessTarget(AjaxRequestTarget target) {
            target.add(Progress.this);
            // Check if the process started
            if (process.get()) {
              // If the task has been finished and the value exceeds the
              // max value stop the self updating timer behavior and call
              // done so that the user is able to refresh its components
              if (value.get() >= max.get()) {
                stop(target);
                done(target);
              }
            }
          }
        };
    add(ajaxSelfUpdatingTimerBehavior);
    Thread refreshingThread =
        new Thread() {
          @Override
          public void run() {
            // Run the init process method in a separate thread so that
            // the actual thread is moved on and update process value is triggert
            // to check the state
            Thread processThread =
                new Thread() {
                  @Override
                  public void run() {
                    initProcess();
                  };
                };
            processThread.start();

            // The user override the method updateProcessValue and each time an increased
            // number is going to be returned
            while (value.get() <= max.get()) {
              try {
                Thread.sleep(duration.getMilliseconds());
              } catch (InterruptedException e) {
                // OUCHY!!
              }
              value.set(updateProcessValue());
              process.set(true);
            }
          }
        };
    refreshingThread.start();
  }
예제 #3
0
파일: Image.java 프로젝트: tfreier/wicket
  /** @see org.apache.wicket.Component#onComponentTag(ComponentTag) */
  @Override
  protected void onComponentTag(final ComponentTag tag) {
    checkComponentTag(tag, "img");
    super.onComponentTag(tag);
    final IResource resource = getImageResource();
    if (resource != null) {
      localizedImageResource.setResource(resource);
    }
    final ResourceReference resourceReference = getImageResourceReference();
    if (resourceReference != null) {
      localizedImageResource.setResourceReference(resourceReference);
    }
    localizedImageResource.setSrcAttribute(tag);

    if (shouldAddAntiCacheParameter()) {
      addAntiCacheParameter(tag);
    }
  }
예제 #4
0
 /*
  * (non-Javadoc)
  * @see org.apache.wicket.Component#onComponentTag(org.apache.wicket.markup.ComponentTag)
  */
 @Override
 protected void onComponentTag(ComponentTag tag) {
   super.onComponentTag(tag);
   // make sure that our JS button will render in the container of right tag
   tag.setName("div");
 }