/* * Copyright 2001-2008 Geert Bevin (gbevin[remove] at uwyn dot com) * Licensed under the Apache License, Version 2.0 (the "License") * $Id: BeanPrefix.java 3918 2008-04-14 17:35:35Z gbevin $ */ package com.uwyn.rife.engine.testelements.submission; import com.uwyn.rife.config.RifeConfig; import com.uwyn.rife.engine.Element; import com.uwyn.rife.engine.exceptions.EngineException; import com.uwyn.rife.resources.ResourceFinderClasspath; import com.uwyn.rife.resources.exceptions.ResourceFinderErrorException; import com.uwyn.rife.site.ValidationError; import com.uwyn.rife.tools.FileUtils; import com.uwyn.rife.tools.exceptions.InnerClassException; import com.uwyn.rife.tools.InputStreamUser; import com.uwyn.rife.tools.exceptions.FileUtilsErrorException; import java.io.InputStream; import java.text.SimpleDateFormat; import java.util.Arrays; import java.util.Date; import java.util.Set; public class BeanPrefix extends Element { public void processElement() { print("<form name=\"submissionform\" action=\""+getSubmissionFormUrl()+"\" method=\"post\" enctype=\"multipart/form-data\">"); print(getSubmissionFormParameters("bean")); print("<input type=\"text\" name=\"prefix_enum\">"); print("<input type=\"text\" name=\"prefix_string\">"); print("<input type=\"text\" name=\"prefix_boolean\">"); print("<input type=\"text\" name=\"prefix_string\">"); print("<input type=\"text\" name=\"prefix_stringbuffer\">"); print("<input type=\"text\" name=\"prefix_int\">"); print("<input type=\"text\" name=\"prefix_integer\">"); print("<input type=\"text\" name=\"prefix_char\">"); print("<input type=\"text\" name=\"prefix_character\">"); print("<input type=\"text\" name=\"prefix_boolean\">"); print("<input type=\"text\" name=\"prefix_booleanObject\">"); print("<input type=\"text\" name=\"prefix_byte\">"); print("<input type=\"text\" name=\"prefix_byteObject\">"); print("<input type=\"text\" name=\"prefix_double\">"); print("<input type=\"text\" name=\"prefix_doubleObject\">"); print("<input type=\"text\" name=\"prefix_float\">"); print("<input type=\"text\" name=\"prefix_floatObject\">"); print("<input type=\"text\" name=\"prefix_long\">"); print("<input type=\"text\" name=\"prefix_longObject\">"); print("<input type=\"text\" name=\"prefix_short\">"); print("<input type=\"text\" name=\"prefix_shortObject\">"); print("<input type=\"file\" name=\"prefix_stringFile\"/>"); print("<input type=\"file\" name=\"prefix_bytesFile\"/>"); print("<input type=\"file\" name=\"prefix_streamFile\"/>"); print("<input type=\"text\" name=\"prefix_date\">"); print("<input type=\"text\" name=\"prefix_dateFormatted\">"); print("<input type=\"text\" name=\"prefix_datesFormatted\">"); print("<input type=\"text\" name=\"prefix_datesFormatted\">"); print("<input type=\"text\" name=\"prefix_serializableParam\">"); print("<input type=\"text\" name=\"prefix_serializableParams\">"); print("<input type=\"text\" name=\"prefix_serializableParams\">"); print("</form"); } public void doBean() { BeanImpl bean = getSubmissionBean("bean", BeanImpl.class, "prefix_"); Set<ValidationError> errors = bean.getValidationErrors(); for (ValidationError error : errors) { print(error.getIdentifier()+" : "+error.getSubject()+"\n"); } print(bean.getEnum()+","+bean.getString()+","+bean.getStringbuffer()+","+bean.getInt()+","+bean.getInteger()+","+bean.getChar()+","+bean.getCharacter()+","+bean.isBoolean()+","+bean.getBooleanObject()+","+bean.getByte()+","+bean.getByteObject()+","+bean.getDouble()+","+bean.getDoubleObject()+","+bean.getFloat()+","+bean.getFloatObject()+","+bean.getLong()+","+bean.getLongObject()+","+bean.getShort()+","+bean.getShortObject()); print(","+bean.getStringFile()); try { byte[] image_bytes = ResourceFinderClasspath.getInstance().useStream("uwyn.png", new InputStreamUser() { public Object useInputStream(InputStream stream) throws InnerClassException { try { return FileUtils.readBytes(stream); } catch (FileUtilsErrorException e) { throwException(e); } return null; } }); if (null == bean.getBytesFile()) { print(",null"); } else { print(","+Arrays.equals(image_bytes, bean.getBytesFile())); } print(","+bean.getConstrainedProperty("bytesFile").getName()); if (null == bean.getStreamFile()) { print(",null"); } else { print(","+Arrays.equals(image_bytes, FileUtils.readBytes(bean.getStreamFile()))); } SimpleDateFormat sf = new SimpleDateFormat("EEE d MMM yyyy HH:mm:ss"); sf.setTimeZone(RifeConfig.Tools.getDefaultTimeZone()); print(","+(null == bean.getDate() ? null : sf.format(bean.getDate()))); if (null == bean.getDatesFormatted()) { print(",null"); } else { for (Date date : bean.getDatesFormatted()) { print(","); if (null == date) { print("null"); } else { print(sf.format(date)); } } } print(","+bean.getSerializableParam()); if (null == bean.getSerializableParams()) { print(",null"); } else { for (Object param : bean.getSerializableParams()) { print(","+param); } } } catch (ResourceFinderErrorException e) { throw new EngineException(e); } catch (FileUtilsErrorException e) { throw new EngineException(e); } } }