Author: fdesbois Date: 2010-04-12 00:04:47 +0200 (Mon, 12 Apr 2010) New Revision: 2971 Log: Improve some rules for sonar + change db mode to create for tests Added: trunk/pollen-business/src/test/resources/PollenTest.properties Removed: trunk/pollen-business/src/test/resources/pollen.properties Modified: trunk/pollen-business/src/main/java/org/chorem/pollen/PollenBusinessException.java trunk/pollen-business/src/main/java/org/chorem/pollen/PollenContextImpl.java trunk/pollen-business/src/main/java/org/chorem/pollen/PollenProperty.java trunk/pollen-business/src/main/java/org/chorem/pollen/mail/MailUtil.java trunk/pollen-business/src/main/java/org/chorem/pollen/mail/PreventRuleManager.java trunk/pollen-business/src/main/java/org/chorem/pollen/mail/SendMail.java trunk/pollen-business/src/main/java/org/chorem/pollen/service/ServiceEmailImpl.java trunk/pollen-business/src/test/java/org/chorem/pollen/business/TestManager.java trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/base/ContextLink.java trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/components/Chart.java trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/components/FileLink.java trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/components/HeadLink.java trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/data/ChoiceField.java trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/data/GenericSelectModel.java trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/services/ServiceImageImpl.java Modified: trunk/pollen-business/src/main/java/org/chorem/pollen/PollenBusinessException.java =================================================================== --- trunk/pollen-business/src/main/java/org/chorem/pollen/PollenBusinessException.java 2010-04-09 23:38:58 UTC (rev 2970) +++ trunk/pollen-business/src/main/java/org/chorem/pollen/PollenBusinessException.java 2010-04-11 22:04:47 UTC (rev 2971) @@ -21,14 +21,14 @@ protected Object[] args; - public PollenBusinessException(PollenExceptionType type) { + public PollenBusinessException(PollenExceptionType type, Object... args) { super(type.getMessage()); + this.args = args; this.type = type; } - public PollenBusinessException(PollenExceptionType type, Object... args) { - super(type.getMessage()); - this.args = args; + public PollenBusinessException(Throwable exception, PollenExceptionType type, Object... args) { + super(type.getMessage(), exception); this.type = type; } Modified: trunk/pollen-business/src/main/java/org/chorem/pollen/PollenContextImpl.java =================================================================== --- trunk/pollen-business/src/main/java/org/chorem/pollen/PollenContextImpl.java 2010-04-09 23:38:58 UTC (rev 2970) +++ trunk/pollen-business/src/main/java/org/chorem/pollen/PollenContextImpl.java 2010-04-11 22:04:47 UTC (rev 2971) @@ -5,13 +5,8 @@ import java.util.Date; import java.util.Properties; import java.util.UUID; -import java.util.logging.Level; -import java.util.logging.Logger; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -//import org.chorem.pollen.PollenDAOHelper; -//import org.chorem.pollen.business.services.SendMail; -//import org.chorem.pollen.business.services.ServiceUserImpl; import org.nuiton.i18n.I18n; import org.nuiton.topia.TopiaContext; import org.nuiton.topia.TopiaContextFactory; @@ -50,16 +45,7 @@ /** Conversion service for services **/ // private PollenConverter converter; - - public PollenContextImpl() { - - } - - @Override - public void finalize() { - stop(); - } - + /** * Default configuration file will be loaded using * {@link org.nuiton.util.ApplicationConfig }. Modified: trunk/pollen-business/src/main/java/org/chorem/pollen/PollenProperty.java =================================================================== --- trunk/pollen-business/src/main/java/org/chorem/pollen/PollenProperty.java 2010-04-09 23:38:58 UTC (rev 2970) +++ trunk/pollen-business/src/main/java/org/chorem/pollen/PollenProperty.java 2010-04-11 22:04:47 UTC (rev 2971) @@ -47,9 +47,9 @@ /** Charset of Pollen **/ CHARSET("pollen.charset"); - String key; + private String key; - static PollenContext context; + private static PollenContext context; PollenProperty(String key) { this.key = key; Modified: trunk/pollen-business/src/main/java/org/chorem/pollen/mail/MailUtil.java =================================================================== --- trunk/pollen-business/src/main/java/org/chorem/pollen/mail/MailUtil.java 2010-04-09 23:38:58 UTC (rev 2970) +++ trunk/pollen-business/src/main/java/org/chorem/pollen/mail/MailUtil.java 2010-04-11 22:04:47 UTC (rev 2971) @@ -14,7 +14,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. ##%*/ -package org.chorem.pollen.business.utils; +package org.chorem.pollen.mail; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; Modified: trunk/pollen-business/src/main/java/org/chorem/pollen/mail/PreventRuleManager.java =================================================================== --- trunk/pollen-business/src/main/java/org/chorem/pollen/mail/PreventRuleManager.java 2010-04-09 23:38:58 UTC (rev 2970) +++ trunk/pollen-business/src/main/java/org/chorem/pollen/mail/PreventRuleManager.java 2010-04-11 22:04:47 UTC (rev 2971) @@ -22,7 +22,6 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.chorem.pollen.business.utils.MailUtil; import org.chorem.pollen.entity.PreventRule; /** Modified: trunk/pollen-business/src/main/java/org/chorem/pollen/mail/SendMail.java =================================================================== --- trunk/pollen-business/src/main/java/org/chorem/pollen/mail/SendMail.java 2010-04-09 23:38:58 UTC (rev 2970) +++ trunk/pollen-business/src/main/java/org/chorem/pollen/mail/SendMail.java 2010-04-11 22:04:47 UTC (rev 2971) @@ -29,7 +29,6 @@ import java.util.Map; import org.apache.commons.io.FileUtils; -import org.chorem.pollen.business.utils.MailUtil; import org.nuiton.util.FileUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; Modified: trunk/pollen-business/src/main/java/org/chorem/pollen/service/ServiceEmailImpl.java =================================================================== --- trunk/pollen-business/src/main/java/org/chorem/pollen/service/ServiceEmailImpl.java 2010-04-09 23:38:58 UTC (rev 2970) +++ trunk/pollen-business/src/main/java/org/chorem/pollen/service/ServiceEmailImpl.java 2010-04-11 22:04:47 UTC (rev 2971) @@ -82,7 +82,7 @@ if (log.isErrorEnabled()) { log.error("Error on email send", eee); } - throw new PollenBusinessException( + throw new PollenBusinessException(eee, PollenExceptionType.SMTP_NOT_AVAILABLE, pollenEmail.getTo()); } Modified: trunk/pollen-business/src/test/java/org/chorem/pollen/business/TestManager.java =================================================================== --- trunk/pollen-business/src/test/java/org/chorem/pollen/business/TestManager.java 2010-04-09 23:38:58 UTC (rev 2970) +++ trunk/pollen-business/src/test/java/org/chorem/pollen/business/TestManager.java 2010-04-11 22:04:47 UTC (rev 2971) @@ -43,7 +43,7 @@ log.info("## START ## : " + dbname); InputStream input = TestManager.class. - getResourceAsStream("/pollen.properties"); + getResourceAsStream("/PollenTest.properties"); Properties options = new Properties(); options.load(input); Copied: trunk/pollen-business/src/test/resources/PollenTest.properties (from rev 2966, trunk/pollen-business/src/test/resources/pollen.properties) =================================================================== --- trunk/pollen-business/src/test/resources/PollenTest.properties (rev 0) +++ trunk/pollen-business/src/test/resources/PollenTest.properties 2010-04-11 22:04:47 UTC (rev 2971) @@ -0,0 +1,12 @@ +hibernate.hbm2ddl.auto=create +hibernate.show_sql=false +hibernate.dialect=org.hibernate.dialect.H2Dialect +hibernate.connection.username=sa +hibernate.connection.password= +hibernate.connection.driver_class=org.h2.Driver +hibernate.connection.url=jdbc:h2:file:target/test-base/pollen + +adminLogin=admin +adminPassword=admin + +pollen.emails.directory=target/test-emails \ No newline at end of file Property changes on: trunk/pollen-business/src/test/resources/PollenTest.properties ___________________________________________________________________ Added: svn:executable + * Added: svn:mergeinfo + Deleted: trunk/pollen-business/src/test/resources/pollen.properties =================================================================== --- trunk/pollen-business/src/test/resources/pollen.properties 2010-04-09 23:38:58 UTC (rev 2970) +++ trunk/pollen-business/src/test/resources/pollen.properties 2010-04-11 22:04:47 UTC (rev 2971) @@ -1,17 +0,0 @@ -# Configuration de la base de donn\u00C3\u00A9es -hibernate.hbm2ddl.auto=update -hibernate.show_sql=false -hibernate.dialect=org.hibernate.dialect.H2Dialect -hibernate.connection.username=sa -hibernate.connection.password= -hibernate.connection.driver_class=org.h2.Driver -hibernate.connection.url=jdbc:h2:file:target/test-base/pollen - -# Initialisation de la base de donn\u00C3\u00A9es -choiceType=DATE,IMAGE,TEXT -pollType=RESTRICTED,FREE,GROUP -voteCounting=NORMAL,PERCENTAGE,CONDORCET -adminLogin=admin -adminPassword=admin - -pollen.emails.directory=target/test-emails \ No newline at end of file Modified: trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/base/ContextLink.java =================================================================== --- trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/base/ContextLink.java 2010-04-09 23:38:58 UTC (rev 2970) +++ trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/base/ContextLink.java 2010-04-11 22:04:47 UTC (rev 2971) @@ -23,7 +23,7 @@ * * @return a String contextPath */ - public String getContextPath() ; + String getContextPath() ; /** * Get a file from context with name defined by filename. @@ -31,5 +31,5 @@ * @param filename name of the file to get * @return a File with absolutePath corresponding to contextPath + filename */ - public File getFile(String filename) ; + File getFile(String filename) ; } Modified: trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/components/Chart.java =================================================================== --- trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/components/Chart.java 2010-04-09 23:38:58 UTC (rev 2970) +++ trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/components/Chart.java 2010-04-11 22:04:47 UTC (rev 2971) @@ -76,30 +76,30 @@ /** titre du diagramme */ @Parameter - private String _title = ""; + private String title = ""; /** type de représentation du diagramme */ @Parameter(required = true) - private int _type; + private int type; @Parameter(required = true) - private int _width; + private int width; @Parameter(required = true) - private int _height; + private int height; /** * list(array) of paired values(label,value): * [String,Number,String,Number,...] */ @Parameter(required = true) - private List<Object> _values; + private List<Object> values; @Parameter(required = false) - private List<Object> _subtitles; + private List<Object> subtitles; @Inject - private ComponentResources _resources; + private ComponentResources resources; @Inject private TypeCoercer typeCoercer; @@ -107,23 +107,23 @@ void beginRender(MarkupWriter writer) { // event link params - Object[] params = new Object[] { _title, _type, _width, _height }; + Object[] params = new Object[] { title, type, width, height }; - if (_subtitles != null) { - Object[] size = new Object[] { _subtitles.size() }; + if (subtitles != null) { + Object[] size = new Object[] { subtitles.size() }; params = ArrayUtil.concat(params, size); - params = ArrayUtil.concat(params, _subtitles.toArray()); + params = ArrayUtil.concat(params, subtitles.toArray()); } else { Object[] size = new Object[] { 0 }; params = ArrayUtil.concat(params, size); } - params = ArrayUtil.concat(params, _values.toArray()); + params = ArrayUtil.concat(params, values.toArray()); // generate event link - Link link = _resources.createEventLink("chart", params); + Link link = resources.createEventLink("chart", params); Element img = writer.element("img", "src", link); - _resources.renderInformalParameters(writer); + resources.renderInformalParameters(writer); } void afterRender(MarkupWriter writer) { Modified: trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/components/FileLink.java =================================================================== --- trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/components/FileLink.java 2010-04-09 23:38:58 UTC (rev 2970) +++ trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/components/FileLink.java 2010-04-11 22:04:47 UTC (rev 2971) @@ -55,27 +55,27 @@ /** Chemin du fichier */ @Parameter(required = true) - private String _filename; + private String filename; /** Type MIME du fichier */ @Parameter - private String _type; + private String type; @Inject private Logger logger; @Inject - private ComponentResources _resources; + private ComponentResources resources; /** * Context to get the file */ @Parameter(required=true) - private ContextLink _context; + private ContextLink context; @Log void beginRender(MarkupWriter writer) { - Link link = _resources.createEventLink("createLink", _filename, _type); + Link link = resources.createEventLink("createLink", filename, type); writeLink(writer, link); } @@ -92,7 +92,7 @@ } //File file = new File(/*_context.getContextPath() + */filename/* + _context.getExtension()*/); - File file = _context.getFile(filename); + File file = context.getFile(filename); FileInputStream stream = null; try { stream = new FileInputStream(file); @@ -100,7 +100,7 @@ logger.error("Fichier inexistant : " + file.getAbsolutePath(), e); } - if (!_resources.isBound("type")) { + if (!resources.isBound("type")) { MimetypesFileTypeMap mimes = new MimetypesFileTypeMap(); type = mimes.getContentType(file); } Modified: trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/components/HeadLink.java =================================================================== --- trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/components/HeadLink.java 2010-04-09 23:38:58 UTC (rev 2970) +++ trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/components/HeadLink.java 2010-04-11 22:04:47 UTC (rev 2971) @@ -49,19 +49,19 @@ /** Chemin du fichier */ @Parameter(required = true) - private ContextLink _context; + private ContextLink context; @Parameter(required = true, defaultPrefix = BindingConstants.LITERAL) - private String _href; + private String href; @Parameter(required = true, defaultPrefix = BindingConstants.LITERAL) - private String _rel; + private String rel; @Parameter(required = true, defaultPrefix = BindingConstants.LITERAL) - private String _type; + private String type; @Parameter - private String _title; + private String title; @Inject private Logger logger; @@ -70,9 +70,9 @@ private ComponentResources _resources; void beginRender(MarkupWriter writer) { - Link link = _resources.createEventLink("fileLink", _href, _type); - writer.element("link", "href", link, "rel", _rel, "type", _type, - "title", _title); + Link link = _resources.createEventLink("fileLink", href, type); + writer.element("link", "href", link, "rel", rel, "type", type, + "title", title); _resources.renderInformalParameters(writer); } @@ -95,7 +95,7 @@ return null; } - File file = _context.getFile(href); + File file = context.getFile(href); FileInputStream stream = null; try { stream = new FileInputStream(file); Modified: trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/data/ChoiceField.java =================================================================== --- trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/data/ChoiceField.java 2010-04-09 23:38:58 UTC (rev 2970) +++ trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/data/ChoiceField.java 2010-04-11 22:04:47 UTC (rev 2971) @@ -86,14 +86,6 @@ case IMAGE: setImageFileName(choice.getName()); } -// setDescription(dto.getDescription()); -// setHidden(dto.getHidden()); -// setTopiaId(dto.getTopiaId()); -// setValidate(dto.getValidate()); -//// setPollUId(dto.getPollUId()); -// setName(dto.getName()); -// //setValue(dto.getValue()); -// //setVoteId(dto.getVoteId()); } /** @@ -231,24 +223,6 @@ name = String.valueOf(getDate().getTime()); break; case IMAGE: -// // Get directory to save the image using the context from -// // pollen properties. -// File dir = new File(PollenProperty.IMG_DIR.getValue(), imageDir); -// if (!dir.exists()) { -// dir.mkdirs(); -// } -// // Save the image file -// File file = new File(dir, getImageFileName()); -// image.write(file); -// if (log.isDebugEnabled()) { -// log.debug("Image saved: " + getImageFileName() + -// " (size=" + image.getSize() + ")"); -// } -// // Create image thumbnail -// ImageUtil.createThumbnail(dir, file, 100); -// if (log.isDebugEnabled()) { -// log.debug("save name for image : " + file.getName()); -// } name = serviceImage.saveImage(getImage(), getImageDir()); break; case TEXT: @@ -261,22 +235,22 @@ choice.setName(name); } - public void setDescription(String description) { - choice.setDescription(description); - } - - public void setChoiceType(ChoiceType choiceType) { - choice.setChoiceType(choiceType); - } - public String getName() { return choice.getName(); } + public void setDescription(String description) { + choice.setDescription(description); + } + public String getDescription() { return choice.getDescription(); } + public void setChoiceType(ChoiceType choiceType) { + choice.setChoiceType(choiceType); + } + public ChoiceType getChoiceType() { return choice.getChoiceType(); } Modified: trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/data/GenericSelectModel.java =================================================================== --- trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/data/GenericSelectModel.java 2010-04-09 23:38:58 UTC (rev 2970) +++ trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/data/GenericSelectModel.java 2010-04-11 22:04:47 UTC (rev 2971) @@ -42,6 +42,7 @@ * in your page to ge the {@link PropertyAccess} service.<br> * !Notice: you must set the created instance both as model and encoder * parameter for the {@link Select} component. + * @param <T> */ public class GenericSelectModel<T> extends AbstractSelectModel implements ValueEncoder<T> { @@ -53,18 +54,22 @@ public GenericSelectModel(List<T> list, Class<T> clazz, String labelField, String idField, PropertyAccess access) { this.list = list; - if (idField != null) - this.idFieldAdapter = access.getAdapter(clazz).getPropertyAdapter( - idField); - if (labelField != null) - this.labelFieldAdapter = access.getAdapter(clazz) - .getPropertyAdapter(labelField); + if (idField != null) { + this.idFieldAdapter = + access.getAdapter(clazz).getPropertyAdapter(idField); + } + if (labelField != null) { + this.labelFieldAdapter = + access.getAdapter(clazz).getPropertyAdapter(labelField); + } } + @Override public List<OptionGroupModel> getOptionGroups() { return null; } + @Override public List<OptionModel> getOptions() { List<OptionModel> optionModelList = new ArrayList<OptionModel>(); if (labelFieldAdapter == null) { @@ -86,6 +91,7 @@ // ValueEncoder methods + @Override public String toClient(T obj) { if (idFieldAdapter == null) { return obj + ""; @@ -94,25 +100,30 @@ } } + @Override public T toValue(String string) { if (idFieldAdapter == null) { for (T obj : list) { - if (nvl(obj).equals(string)) + if (nvl(obj).equals(string)) { return obj; + } } } else { for (T obj : list) { - if (nvl(idFieldAdapter.get(obj)).equals(string)) + if (nvl(idFieldAdapter.get(obj)).equals(string)) { return obj; + } } } return null; } private String nvl(Object o) { - if (o == null) + if (o == null) { return ""; - else + } + else { return o.toString(); + } } } Modified: trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/services/ServiceImageImpl.java =================================================================== --- trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/services/ServiceImageImpl.java 2010-04-09 23:38:58 UTC (rev 2970) +++ trunk/pollen-ui/src/main/java/org/chorem/pollen/ui/services/ServiceImageImpl.java 2010-04-11 22:04:47 UTC (rev 2971) @@ -39,7 +39,8 @@ private static final int THUMB_WIDTH = 100; - private static final Logger logger = LoggerFactory.getLogger(ServiceImageImpl.class); + private static final Logger logger = + LoggerFactory.getLogger(ServiceImageImpl.class); private PollenContext context; @@ -76,7 +77,8 @@ } @Override - public StreamResponse createImageStream(String filename, String filedir, boolean thumb) { + public StreamResponse createImageStream(String filename, String filedir, + boolean thumb) { // security : src containing .. are filtered, to not access to full system if (StringUtils.isEmpty(filename) || filename.contains("..")) { return null;