Author: tchemit Date: 2012-10-17 18:38:04 +0200 (Wed, 17 Oct 2012) New Revision: 734 Url: http://forge.codelutin.com/repositories/revision/echobase/734 Log: fixes #1606: Permettre de changer le nom d'une requ?\195?\170te clon?\195?\169e Modified: trunk/echobase-domain/src/main/xmi/echobase-internal.properties trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportquery/ExportQueryService.java Modified: trunk/echobase-domain/src/main/xmi/echobase-internal.properties =================================================================== --- trunk/echobase-domain/src/main/xmi/echobase-internal.properties 2012-10-17 15:45:14 UTC (rev 733) +++ trunk/echobase-domain/src/main/xmi/echobase-internal.properties 2012-10-17 16:38:04 UTC (rev 734) @@ -51,7 +51,7 @@ fr.ifremer.echobase.entities.EchoBaseUser.class.tagValue.naturalIdMutable=true fr.ifremer.echobase.entities.EchoBaseUser.attribute.email.tagValue.naturalId=true -fr.ifremer.echobase.entities.ExportQuery.class.tagValue.naturalIdMutable=false +fr.ifremer.echobase.entities.ExportQuery.class.tagValue.naturalIdMutable=true fr.ifremer.echobase.entities.ExportQuery.attribute.name.tagValue.naturalId=true fr.ifremer.echobase.entities.WorkingDbConfiguration.class.tagValue.naturalIdMutable=true Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportquery/ExportQueryService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportquery/ExportQueryService.java 2012-10-17 15:45:14 UTC (rev 733) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/exportquery/ExportQueryService.java 2012-10-17 16:38:04 UTC (rev 734) @@ -37,6 +37,7 @@ import java.util.List; import java.util.Map; +import java.util.regex.Pattern; /** * Service to deal with sql export. @@ -62,6 +63,8 @@ return entityToSave; } + protected static final Pattern NAME_PATTERN = Pattern.compile("[\\d\\w_-]+"); + public ExportQuery createOrUpdate(ExportQuery exportQuery, EchoBaseUser user) throws ExportQueryNameAlreadyExistException, ExportQueryInvalidNameException { try { @@ -75,7 +78,7 @@ String queryName = exportQuery.getName(); - if (!StringUtils.isAlphanumeric(queryName)) { + if (!NAME_PATTERN.matcher(queryName).matches()) { // can not accept a non alpha numeric name throw new ExportQueryInvalidNameException(); @@ -100,7 +103,7 @@ entityToSave = dao.create(exportQuery); } else { entityToSave = dao.findByTopiaId(id); -// entityToSave.setName(queryName); + entityToSave.setName(queryName); entityToSave.setDescription(exportQuery.getDescription()); entityToSave.setSqlQuery(exportQuery.getSqlQuery()); entityToSave.setLastModifiedDate(exportQuery.getLastModifiedDate());