Hi,
I'm using tapestry 5.3 with tapestry-jquery.
I have a page called UploadImage to allow the user to upload an image
and then crop it to size.
The image is uploaded by AjaxUpload.
The upload zone should then be replaced with a block to allow cropping
of the image. The problem is that after replacing the form's contents
with the block Tapestry complains there is no FormSupport in the
environment.
Is there a better way for me to do this?
UploadImage.tml
<?xml version="1.0" encoding="UTF-8"?>
<t:layout xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd"
xmlns:p="tapestry:parameter"
xmlns:j="tapestry-library:jquery">
<h2>Upload Image</h2>
<br />
<t:form>
<t:zone t:id="uploadZone" id="uploadZone">
<t:errors />
<!--<input t:type="upload" t:id="file" t:value="file"
validate="required" /> <br/>-->
<j:ajaxupload t:id="uploadImage"
t:multiple="false"
t:allowedExtensions="[jpg, png, gif]"
t:sizeLimit="1M">
<noscript>
<p>JavaScript must be activated!</p>
</noscript>
</j:ajaxupload>
<br/>
</t:zone>
</t:form>
<t:block t:id="uploadResult">
<div>
<h4>Crop Image</h4>
<t:if test="message">
<p>
<strong>${message}</strong>
</p>
</t:if>
<t:LygCropImage t:id="cropImage" image="prop:getUncroppedImage()">
</t:LygCropImage>
<p><t:LygSubmit t:id="submit" value="literal:Crop Image"></t:LygSubmit></p>
</div>
</t:block>
</t:layout>
UploadImage.java
package com.liftyourgame.application.pages;
import com.liftyourgame.application.components.LygCropImage;
import com.liftyourgame.application.entities.User;
import com.liftyourgame.application.entities.VisionImage;
import com.liftyourgame.application.services.CropImage;
import com.liftyourgame.application.services.CurrentUserService;
import com.liftyourgame.data.UserDAO;
import com.liftyourgame.data.VisionDAO;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.shiro.authz.annotation.RequiresUser;
import org.apache.tapestry5.Block;
import org.apache.tapestry5.PersistenceConstants;
import org.apache.tapestry5.annotations.InjectComponent;
import org.apache.tapestry5.annotations.OnEvent;
import org.apache.tapestry5.annotations.Persist;
import org.apache.tapestry5.annotations.Property;
import org.apache.tapestry5.hibernate.annotations.CommitAfter;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.services.ajax.AjaxResponseRenderer;
import org.apache.tapestry5.upload.services.UploadedFile;
import org.got5.tapestry5.jquery.JQueryEventConstants;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
@RequiresUser
public class UploadImage {
@Inject
private CurrentUserService currentUserService;
@Inject
private VisionDAO visionDAO;
@Inject
private UserDAO userDAO;
@Persist(PersistenceConstants.FLASH)
@Property
private String message;
@Inject
private Block uploadResult;
@Inject
private AjaxResponseRenderer ajaxResponseRenderer;
@Inject
private CropImage cropImageService;
@InjectComponent
private LygCropImage cropImage;
void onActivate() {
}
@SuppressWarnings("unchecked")
public VisionImage getUncroppedImage() {
User u = currentUserService.getUser();
VisionImage image = u.getUncroppedVisionImages().get(0);
return image;
}
@CommitAfter
@OnEvent(component = "uploadImage", value =
JQueryEventConstants.AJAX_UPLOAD)
void onImageUpload(UploadedFile uploadedFile) throws Exception {
byte[] bytes = inputStreamToByteArray(uploadedFile.getStream());
VisionImage image = new VisionImage();
image.setCropped(false);
image.setImage(bytes);
String filename = uploadedFile.getFileName().toLowerCase().trim();
if(filename.endsWith(".png")) {
image.setMimeType("image/png");
} else if(filename.endsWith(".gif")) {
image.setMimeType("image/gif");
} else if(filename.endsWith(".jpg") || filename.endsWith(".jpeg")) {
image.setMimeType("image/jpeg");
}
User user = currentUserService.getUser();
visionDAO.create(image);
image.setUser(user);
user.getUncroppedVisionImages().clear();
user.getUncroppedVisionImages().add(0, image);
ajaxResponseRenderer.addRender("uploadZone", uploadResult);
}
void onUploadException(FileUploadException ex) {
this.message = "Upload problem: " + ex.getMessage();
ajaxResponseRenderer.addRender("uploadZone", uploadResult);
}
@CommitAfter
Object onSubmit() throws IOException {
int x = cropImage.getX();
int y = cropImage.getY();
int w = cropImage.getW();
int h = cropImage.getH();
VisionImage image = getUncroppedImage();
InputStream inputStream = new ByteArrayInputStream(image.getImage());
BufferedImage bufferedImage = ImageIO.read(inputStream);
BufferedImage croppedImage = cropImageService.crop(bufferedImage,
x, y, w, h, 100, 100);
image.setCropped(true);
visionDAO.update(image);
User u = currentUserService.getUser();
u.getVisionImages().add(image);
userDAO.update(u);
return Vision.class;
}
static byte[] inputStreamToByteArray(InputStream is) throws Exception {
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
int nRead;
byte[] data = new byte[16384];
while ((nRead = is.read(data, 0, data.length)) != -1) {
buffer.write(data, 0, nRead);
}
buffer.flush();
return buffer.toByteArray();
}
}
Output:
Hibernate:
select
user0_.user_id as user1_3_,
user0_.creationDate as creation2_3_,
user0_.deletionDate as deletion3_3_,
user0_.lastModified as lastModi4_3_,
user0_.account_locked as account5_3_,
user0_.became_subscriber as became6_3_,
user0_.credentials_expired as credenti7_3_,
user0_.daily_motivation_email as daily8_3_,
user0_.date_of_birth as date9_3_,
user0_.email as email3_,
user0_.encoded_password as encoded11_3_,
user0_.facebook_id as facebook12_3_,
user0_.facebook_userid as facebook13_3_,
user0_.first_name as first14_3_,
user0_.gender as gender3_,
user0_.last_emailed as last16_3_,
user0_.last_name as last17_3_,
user0_.mypassword as mypassword3_,
user0_.new_salt as new19_3_,
user0_.paid_subscriber as paid20_3_,
user0_.passwordSalt as passwor21_3_
from
users user0_
where
user0_.email='[email protected]'
Hibernate:
select
roles0_.user_id as user1_3_1_,
roles0_.role_id as role2_1_,
role1_.role_id as role1_4_0_,
role1_.role_name as role2_4_0_
from
user_goals roles0_
inner join
roles role1_
on roles0_.role_id=role1_.role_id
where
roles0_.user_id=?
Hibernate:
select
goals0_.user_id as user9_3_1_,
goals0_.goal_id as goal1_1_,
goals0_.goal_id as goal1_1_0_,
goals0_.creationDate as creation2_1_0_,
goals0_.deletionDate as deletion3_1_0_,
goals0_.lastModified as lastModi4_1_0_,
goals0_.goal_category as goal5_1_0_,
goals0_.goal_description as goal6_1_0_,
goals0_.goal_name as goal7_1_0_,
goals0_.target_date as target8_1_0_,
goals0_.user_id as user9_1_0_
from
goals goals0_
where
(
goals0_.deletiondate is null
)
and goals0_.user_id=?
Hibernate:
select
actions0_.goal_id as goal8_1_1_,
actions0_.goal_step_id as goal1_1_,
actions0_.goal_step_id as goal1_2_0_,
actions0_.creationDate as creation2_2_0_,
actions0_.deletionDate as deletion3_2_0_,
actions0_.lastModified as lastModi4_2_0_,
actions0_.goal_step_name as goal5_2_0_,
actions0_.actual_date as actual6_2_0_,
actions0_.goal_id as goal8_2_0_,
actions0_.target_date as target7_2_0_
from
goal_steps actions0_
where
(
actions0_.deletiondate is null
)
and actions0_.goal_id=?
order by
actions0_.target_date asc
Hibernate:
select
actions0_.goal_id as goal8_1_1_,
actions0_.goal_step_id as goal1_1_,
actions0_.goal_step_id as goal1_2_0_,
actions0_.creationDate as creation2_2_0_,
actions0_.deletionDate as deletion3_2_0_,
actions0_.lastModified as lastModi4_2_0_,
actions0_.goal_step_name as goal5_2_0_,
actions0_.actual_date as actual6_2_0_,
actions0_.goal_id as goal8_2_0_,
actions0_.target_date as target7_2_0_
from
goal_steps actions0_
where
(
actions0_.deletiondate is null
)
and actions0_.goal_id=?
order by
actions0_.target_date asc
Hibernate:
select
actions0_.goal_id as goal8_1_1_,
actions0_.goal_step_id as goal1_1_,
actions0_.goal_step_id as goal1_2_0_,
actions0_.creationDate as creation2_2_0_,
actions0_.deletionDate as deletion3_2_0_,
actions0_.lastModified as lastModi4_2_0_,
actions0_.goal_step_name as goal5_2_0_,
actions0_.actual_date as actual6_2_0_,
actions0_.goal_id as goal8_2_0_,
actions0_.target_date as target7_2_0_
from
goal_steps actions0_
where
(
actions0_.deletiondate is null
)
and actions0_.goal_id=?
order by
actions0_.target_date asc
Hibernate:
call next value for visionimages_visionimage_id_seq
Hibernate:
select
uncroppedv0_.user_id as user8_3_1_,
uncroppedv0_.visionimage_id as visionim1_1_,
uncroppedv0_.position as position1_,
uncroppedv0_.visionimage_id as visionim1_5_0_,
uncroppedv0_.creationDate as creation2_5_0_,
uncroppedv0_.deletionDate as deletion3_5_0_,
uncroppedv0_.lastModified as lastModi4_5_0_,
uncroppedv0_.cropped as cropped5_0_,
uncroppedv0_.image as image5_0_,
uncroppedv0_.mime_type as mime7_5_0_,
uncroppedv0_.user_id as user8_5_0_
from
vision_images uncroppedv0_
where
(
uncroppedv0_.cropped = 'false'
and uncroppedv0_.deletiondate is null
)
and uncroppedv0_.user_id=?
Hibernate:
insert
into
vision_images
(creationDate, deletionDate, lastModified, cropped, image,
mime_type, visionimage_id)
values
(?, ?, ?, ?, ?, ?, ?)
Hibernate:
update
vision_images
set
user_id=null,
position=null
where
user_id=?
and visionimage_id=?
Hibernate:
update
vision_images
set
user_id=?,
position=?
where
visionimage_id=?
Hibernate:
select
user0_.user_id as user1_3_,
user0_.creationDate as creation2_3_,
user0_.deletionDate as deletion3_3_,
user0_.lastModified as lastModi4_3_,
user0_.account_locked as account5_3_,
user0_.became_subscriber as became6_3_,
user0_.credentials_expired as credenti7_3_,
user0_.daily_motivation_email as daily8_3_,
user0_.date_of_birth as date9_3_,
user0_.email as email3_,
user0_.encoded_password as encoded11_3_,
user0_.facebook_id as facebook12_3_,
user0_.facebook_userid as facebook13_3_,
user0_.first_name as first14_3_,
user0_.gender as gender3_,
user0_.last_emailed as last16_3_,
user0_.last_name as last17_3_,
user0_.mypassword as mypassword3_,
user0_.new_salt as new19_3_,
user0_.paid_subscriber as paid20_3_,
user0_.passwordSalt as passwor21_3_
from
users user0_
where
user0_.email='[email protected]'
127173439 [qtp1527318062-25] ERROR
tapestry.render.com.liftyourgame.application.pages.UploadImage - Render
queue error in BeginRender[UploadImage:submit.linksubmit]: No object of
type org.apache.tapestry5.services.FormSupport is available from the
Environment.
org.apache.tapestry5.ioc.internal.util.TapestryException: No object of
type org.apache.tapestry5.services.FormSupport is available from the
Environment. [at
classpath:com/liftyourgame/application/components/LygSubmit.tml, line 2]
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.invoke(ComponentPageElementImpl.java:153)
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.render(ComponentPageElementImpl.java:209)
at
org.apache.tapestry5.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:72)
at
org.apache.tapestry5.internal.services.PageRenderQueueImpl.render(PageRenderQueueImpl.java:124)
at
org.apache.tapestry5.internal.services.PageRenderQueueImpl$1.renderMarkup(PageRenderQueueImpl.java:142)
at
org.got5.tapestry5.jquery.components.AjaxUpload$2.renderMarkup(AjaxUpload.java:246)
at
org.apache.tapestry5.internal.services.PageRenderQueueImpl$Bridge.renderMarkup(PageRenderQueueImpl.java:62)
at
org.apache.tapestry5.internal.services.ajax.SingleZonePartialRendererFilter.renderMarkup(SingleZonePartialRendererFilter.java:98)
at
org.apache.tapestry5.internal.services.PageRenderQueueImpl$Bridge.renderMarkup(PageRenderQueueImpl.java:62)
at
org.apache.tapestry5.internal.services.PageRenderQueueImpl.renderPartial(PageRenderQueueImpl.java:159)
at $PageRenderQueue_10ddf690fa388.renderPartial(Unknown Source)
at $PageRenderQueue_10ddf690fa37c.renderPartial(Unknown Source)
at
org.apache.tapestry5.internal.services.PartialMarkupRendererTerminator.renderMarkup(PartialMarkupRendererTerminator.java:45)
at
org.got5.tapestry5.jquery.services.js.JSModule$2.renderMarkup(JSModule.java:58)
at $PartialMarkupRenderer_10ddf690fa439.renderMarkup(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$36.renderMarkup(TapestryModule.java:2126)
at $PartialMarkupRenderer_10ddf690fa439.renderMarkup(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$35.renderMarkup(TapestryModule.java:2110)
at $PartialMarkupRenderer_10ddf690fa439.renderMarkup(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$34.renderMarkup(TapestryModule.java:2092)
at $PartialMarkupRenderer_10ddf690fa439.renderMarkup(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$33.renderMarkup(TapestryModule.java:2076)
at $PartialMarkupRenderer_10ddf690fa439.renderMarkup(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$32.renderMarkup(TapestryModule.java:2058)
at $PartialMarkupRenderer_10ddf690fa439.renderMarkup(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$31.renderMarkup(TapestryModule.java:2033)
at $PartialMarkupRenderer_10ddf690fa439.renderMarkup(Unknown Source)
at $PartialMarkupRenderer_10ddf690fa438.renderMarkup(Unknown Source)
at
org.apache.tapestry5.internal.services.AjaxPartialResponseRendererImpl.renderPartialPageMarkup(AjaxPartialResponseRendererImpl.java:89)
at
$AjaxPartialResponseRenderer_10ddf690fa419.renderPartialPageMarkup(Unknown
Source)
at
org.apache.tapestry5.internal.services.AjaxComponentEventRequestHandler.handle(AjaxComponentEventRequestHandler.java:127)
at
org.apache.tapestry5.internal.services.ajax.AjaxFormUpdateFilter.handle(AjaxFormUpdateFilter.java:56)
at $ComponentEventRequestHandler_10ddf690fa41a.handle(Unknown Source)
at $ComponentEventRequestHandler_10ddf690fa2a1.handle(Unknown Source)
at
org.apache.tapestry5.internal.services.AjaxFilter.handle(AjaxFilter.java:42)
at $ComponentEventRequestHandler_10ddf690fa2a6.handle(Unknown Source)
at
org.apache.tapestry5.upload.internal.services.UploadExceptionFilter.handle(UploadExceptionFilter.java:75)
at $ComponentEventRequestHandler_10ddf690fa2a6.handle(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$40.handle(TapestryModule.java:2454)
at $ComponentEventRequestHandler_10ddf690fa2a6.handle(Unknown Source)
at $ComponentEventRequestHandler_10ddf690fa29c.handle(Unknown Source)
at
org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.handleComponentEvent(ComponentRequestHandlerTerminator.java:43)
at
org.apache.tapestry5.services.InitializeActivePageName.handleComponentEvent(InitializeActivePageName.java:39)
at
$ComponentRequestHandler_10ddf690fa29e.handleComponentEvent(Unknown Source)
at
org.tynamo.security.SecurityComponentRequestFilter.handleComponentEvent(SecurityComponentRequestFilter.java:42)
at
$ComponentRequestFilter_10ddf690fa29b.handleComponentEvent(Unknown Source)
at
$ComponentRequestHandler_10ddf690fa29e.handleComponentEvent(Unknown Source)
at
$ComponentRequestHandler_10ddf690fa266.handleComponentEvent(Unknown Source)
at
org.apache.tapestry5.internal.services.ComponentEventDispatcher.dispatch(ComponentEventDispatcher.java:46)
at $Dispatcher_10ddf690fa26a.dispatch(Unknown Source)
at $Dispatcher_10ddf690fa262.dispatch(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:302)
at
org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
at $RequestHandler_10ddf690fa263.service(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:902)
at $RequestHandler_10ddf690fa263.service(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:892)
at $RequestHandler_10ddf690fa263.service(Unknown Source)
at
org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:90)
at $RequestHandler_10ddf690fa263.service(Unknown Source)
at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:105)
at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:95)
at
org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85)
at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:119)
at $RequestHandler_10ddf690fa263.service(Unknown Source)
at $RequestHandler_10ddf690fa255.service(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:253)
at
org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:44)
at $HttpServletRequestHandler_10ddf690fa257.service(Unknown Source)
at
org.got5.tapestry5.jquery.services.AjaxUploadServletRequestFilter.service(AjaxUploadServletRequestFilter.java:26)
at $HttpServletRequestHandler_10ddf690fa257.service(Unknown Source)
at
org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
at $HttpServletRequestFilter_10ddf690fa254.service(Unknown Source)
at $HttpServletRequestHandler_10ddf690fa257.service(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$1.service(TapestryModule.java:852)
at $HttpServletRequestHandler_10ddf690fa257.service(Unknown Source)
at
org.tynamo.security.services.impl.SecurityConfiguration$2.call(SecurityConfiguration.java:104)
at
org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
at
org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
at
org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:344)
at
org.tynamo.security.services.impl.SecurityConfiguration.service(SecurityConfiguration.java:102)
at $HttpServletRequestFilter_10ddf690fa252.service(Unknown Source)
at $HttpServletRequestHandler_10ddf690fa257.service(Unknown Source)
at $HttpServletRequestHandler_10ddf690fa24f.service(Unknown Source)
at
org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:171)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1171)
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:421)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:118)
at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:490)
at
org.eclipse.jetty.server.session.SessionHandler.handle(SessionHandler.java:181)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:159)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:913)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:138)
at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:360)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:136)
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:859)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:116)
at
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:243)
at
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:115)
at org.eclipse.jetty.server.Server.handle(Server.java:325)
at
org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:539)
at
org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:896)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:745)
at
org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:218)
at
org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:398)
at
org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:423)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:404)
at java.lang.Thread.run(Thread.java:619)
Caused by: org.apache.tapestry5.ioc.util.UnknownValueException: No
object of type org.apache.tapestry5.services.FormSupport is available
from the Environment.
at
org.apache.tapestry5.internal.services.EnvironmentImpl.peekRequired(EnvironmentImpl.java:88)
at $Environment_10ddf690fa359.peekRequired(Unknown Source)
at $Environment_10ddf690fa233.peekRequired(Unknown Source)
at
org.apache.tapestry5.internal.transform.EnvironmentalWorker$EnvironmentalConduit.get(EnvironmentalWorker.java:59)
at
org.apache.tapestry5.corelib.components.LinkSubmit.getfieldvalue_formSupport(LinkSubmit.java)
at
org.apache.tapestry5.corelib.components.LinkSubmit.beginRender(LinkSubmit.java:149)
at
org.apache.tapestry5.corelib.components.LinkSubmit.beginRender(LinkSubmit.java)
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.invokeComponent(ComponentPageElementImpl.java:202)
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.invoke(ComponentPageElementImpl.java:143)
... 108 more
127173743 [qtp1527318062-25] ERROR
org.apache.tapestry5.services.TapestryModule.RequestExceptionHandler -
Processing of request failed with uncaught exception: Render queue error
in BeginRender[UploadImage:submit.linksubmit]: No object of type
org.apache.tapestry5.services.FormSupport is available from the Environment.
org.apache.tapestry5.internal.services.RenderQueueException: Render
queue error in BeginRender[UploadImage:submit.linksubmit]: No object of
type org.apache.tapestry5.services.FormSupport is available from the
Environment. [at
classpath:com/liftyourgame/application/components/LygSubmit.tml, line 2]
at
org.apache.tapestry5.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:81)
at
org.apache.tapestry5.internal.services.PageRenderQueueImpl.render(PageRenderQueueImpl.java:124)
at
org.apache.tapestry5.internal.services.PageRenderQueueImpl$1.renderMarkup(PageRenderQueueImpl.java:142)
at
org.got5.tapestry5.jquery.components.AjaxUpload$2.renderMarkup(AjaxUpload.java:246)
at
org.apache.tapestry5.internal.services.PageRenderQueueImpl$Bridge.renderMarkup(PageRenderQueueImpl.java:62)
at
org.apache.tapestry5.internal.services.ajax.SingleZonePartialRendererFilter.renderMarkup(SingleZonePartialRendererFilter.java:98)
at
org.apache.tapestry5.internal.services.PageRenderQueueImpl$Bridge.renderMarkup(PageRenderQueueImpl.java:62)
at
org.apache.tapestry5.internal.services.PageRenderQueueImpl.renderPartial(PageRenderQueueImpl.java:159)
at $PageRenderQueue_10ddf690fa388.renderPartial(Unknown Source)
at $PageRenderQueue_10ddf690fa37c.renderPartial(Unknown Source)
at
org.apache.tapestry5.internal.services.PartialMarkupRendererTerminator.renderMarkup(PartialMarkupRendererTerminator.java:45)
at
org.got5.tapestry5.jquery.services.js.JSModule$2.renderMarkup(JSModule.java:58)
at $PartialMarkupRenderer_10ddf690fa439.renderMarkup(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$36.renderMarkup(TapestryModule.java:2126)
at $PartialMarkupRenderer_10ddf690fa439.renderMarkup(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$35.renderMarkup(TapestryModule.java:2110)
at $PartialMarkupRenderer_10ddf690fa439.renderMarkup(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$34.renderMarkup(TapestryModule.java:2092)
at $PartialMarkupRenderer_10ddf690fa439.renderMarkup(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$33.renderMarkup(TapestryModule.java:2076)
at $PartialMarkupRenderer_10ddf690fa439.renderMarkup(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$32.renderMarkup(TapestryModule.java:2058)
at $PartialMarkupRenderer_10ddf690fa439.renderMarkup(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$31.renderMarkup(TapestryModule.java:2033)
at $PartialMarkupRenderer_10ddf690fa439.renderMarkup(Unknown Source)
at $PartialMarkupRenderer_10ddf690fa438.renderMarkup(Unknown Source)
at
org.apache.tapestry5.internal.services.AjaxPartialResponseRendererImpl.renderPartialPageMarkup(AjaxPartialResponseRendererImpl.java:89)
at
$AjaxPartialResponseRenderer_10ddf690fa419.renderPartialPageMarkup(Unknown
Source)
at
org.apache.tapestry5.internal.services.AjaxComponentEventRequestHandler.handle(AjaxComponentEventRequestHandler.java:127)
at
org.apache.tapestry5.internal.services.ajax.AjaxFormUpdateFilter.handle(AjaxFormUpdateFilter.java:56)
at $ComponentEventRequestHandler_10ddf690fa41a.handle(Unknown Source)
at $ComponentEventRequestHandler_10ddf690fa2a1.handle(Unknown Source)
at
org.apache.tapestry5.internal.services.AjaxFilter.handle(AjaxFilter.java:42)
at $ComponentEventRequestHandler_10ddf690fa2a6.handle(Unknown Source)
at
org.apache.tapestry5.upload.internal.services.UploadExceptionFilter.handle(UploadExceptionFilter.java:75)
at $ComponentEventRequestHandler_10ddf690fa2a6.handle(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$40.handle(TapestryModule.java:2454)
at $ComponentEventRequestHandler_10ddf690fa2a6.handle(Unknown Source)
at $ComponentEventRequestHandler_10ddf690fa29c.handle(Unknown Source)
at
org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.handleComponentEvent(ComponentRequestHandlerTerminator.java:43)
at
org.apache.tapestry5.services.InitializeActivePageName.handleComponentEvent(InitializeActivePageName.java:39)
at
$ComponentRequestHandler_10ddf690fa29e.handleComponentEvent(Unknown Source)
at
org.tynamo.security.SecurityComponentRequestFilter.handleComponentEvent(SecurityComponentRequestFilter.java:42)
at
$ComponentRequestFilter_10ddf690fa29b.handleComponentEvent(Unknown Source)
at
$ComponentRequestHandler_10ddf690fa29e.handleComponentEvent(Unknown Source)
at
$ComponentRequestHandler_10ddf690fa266.handleComponentEvent(Unknown Source)
at
org.apache.tapestry5.internal.services.ComponentEventDispatcher.dispatch(ComponentEventDispatcher.java:46)
at $Dispatcher_10ddf690fa26a.dispatch(Unknown Source)
at $Dispatcher_10ddf690fa262.dispatch(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:302)
at
org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
at $RequestHandler_10ddf690fa263.service(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:902)
at $RequestHandler_10ddf690fa263.service(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:892)
at $RequestHandler_10ddf690fa263.service(Unknown Source)
at
org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:90)
at $RequestHandler_10ddf690fa263.service(Unknown Source)
at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:105)
at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:95)
at
org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85)
at
org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:119)
at $RequestHandler_10ddf690fa263.service(Unknown Source)
at $RequestHandler_10ddf690fa255.service(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:253)
at
org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:44)
at $HttpServletRequestHandler_10ddf690fa257.service(Unknown Source)
at
org.got5.tapestry5.jquery.services.AjaxUploadServletRequestFilter.service(AjaxUploadServletRequestFilter.java:26)
at $HttpServletRequestHandler_10ddf690fa257.service(Unknown Source)
at
org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
at $HttpServletRequestFilter_10ddf690fa254.service(Unknown Source)
at $HttpServletRequestHandler_10ddf690fa257.service(Unknown Source)
at
org.apache.tapestry5.services.TapestryModule$1.service(TapestryModule.java:852)
at $HttpServletRequestHandler_10ddf690fa257.service(Unknown Source)
at
org.tynamo.security.services.impl.SecurityConfiguration$2.call(SecurityConfiguration.java:104)
at
org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
at
org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
at
org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:344)
at
org.tynamo.security.services.impl.SecurityConfiguration.service(SecurityConfiguration.java:102)
at $HttpServletRequestFilter_10ddf690fa252.service(Unknown Source)
at $HttpServletRequestHandler_10ddf690fa257.service(Unknown Source)
at $HttpServletRequestHandler_10ddf690fa24f.service(Unknown Source)
at
org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:171)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1171)
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:421)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:118)
at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:490)
at
org.eclipse.jetty.server.session.SessionHandler.handle(SessionHandler.java:181)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:159)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:913)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:138)
at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:360)
at
org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:136)
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:859)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:116)
at
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:243)
at
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:115)
at org.eclipse.jetty.server.Server.handle(Server.java:325)
at
org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:539)
at
org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:896)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:745)
at
org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:218)
at
org.eclipse.jetty.server.HttpConnection.handle(HttpConnection.java:398)
at
org.eclipse.jetty.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:423)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:404)
at java.lang.Thread.run(Thread.java:619)
Caused by: org.apache.tapestry5.ioc.internal.util.TapestryException: No
object of type org.apache.tapestry5.services.FormSupport is available
from the Environment. [at
classpath:com/liftyourgame/application/components/LygSubmit.tml, line 2]
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.invoke(ComponentPageElementImpl.java:153)
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.render(ComponentPageElementImpl.java:209)
at
org.apache.tapestry5.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:72)
... 106 more
Caused by: org.apache.tapestry5.ioc.util.UnknownValueException: No
object of type org.apache.tapestry5.services.FormSupport is available
from the Environment.
at
org.apache.tapestry5.internal.services.EnvironmentImpl.peekRequired(EnvironmentImpl.java:88)
at $Environment_10ddf690fa359.peekRequired(Unknown Source)
at $Environment_10ddf690fa233.peekRequired(Unknown Source)
at
org.apache.tapestry5.internal.transform.EnvironmentalWorker$EnvironmentalConduit.get(EnvironmentalWorker.java:59)
at
org.apache.tapestry5.corelib.components.LinkSubmit.getfieldvalue_formSupport(LinkSubmit.java)
at
org.apache.tapestry5.corelib.components.LinkSubmit.beginRender(LinkSubmit.java:149)
at
org.apache.tapestry5.corelib.components.LinkSubmit.beginRender(LinkSubmit.java)
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.invokeComponent(ComponentPageElementImpl.java:202)
at
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.invoke(ComponentPageElementImpl.java:143)
... 108 more
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]