r303 - in trunk: echobase-entities/src/main/java/fr/ifremer/echobase echobase-services/src/main/java/fr/ifremer/echobase/services echobase-services/src/test/java/fr/ifremer/echobase echobase-services/src/test/java/fr/ifremer/echobase/services echobase-tools/src/test/java/fr/ifremer/echobase/tools echobase-ui/src/main/java/fr/ifremer/echobase/ui echobase-ui/src/main/webapp/WEB-INF/jsp/dbeditor
Author: tchemit Date: 2012-01-30 20:18:07 +0100 (Mon, 30 Jan 2012) New Revision: 303 Url: http://forge.codelutin.com/repositories/revision/echobase/303 Log: replace supplier of rootContext by rootContext directly fix some api broken Modified: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/EchoBaseTopiaRootContextFactory.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DbEditorService.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EchoBaseServiceContextImpl.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EmbeddedApplicationService.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/FilterPagerBean.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDbService.java trunk/echobase-services/src/test/java/fr/ifremer/echobase/TestHelper.java trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/AbstractEchoBaseServiceTest.java trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/AbstractToolTest.java trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/TestHelper.java trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationContext.java trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationListener.java trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseTopiaTransactionFilter.java trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/dbeditor/dbeditor.jsp Modified: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/EchoBaseTopiaRootContextFactory.java =================================================================== --- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/EchoBaseTopiaRootContextFactory.java 2012-01-27 22:17:32 UTC (rev 302) +++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/EchoBaseTopiaRootContextFactory.java 2012-01-30 19:18:07 UTC (rev 303) @@ -23,7 +23,6 @@ */ package fr.ifremer.echobase; -import com.google.common.base.Supplier; import com.google.common.collect.Sets; import com.google.common.io.Closeables; import fr.ifremer.echobase.entities.EchoBaseDAOHelper; @@ -52,22 +51,8 @@ private static final Log log = LogFactory.getLog(EchoBaseTopiaRootContextFactory.class); - protected static class EchoBaseTopiaRootContextSupplier implements Supplier<TopiaContext> { + public TopiaContext newEmbeddedDatabase(File dir) { - protected TopiaContext rootContext; - - public EchoBaseTopiaRootContextSupplier(TopiaContext rootContext) { - this.rootContext = rootContext; - } - - @Override - public TopiaContext get() { - return rootContext; - } - } - - public Supplier<TopiaContext> newEmbeddedDatabase(File dir) { - File databaseFile = new File(dir, "db"); String databaseAbsolutePath = databaseFile.getAbsolutePath(); @@ -94,7 +79,7 @@ // add topiaReplicationService in the context properties.setProperty(TopiaReplicationService.TOPIA_SERVICE_NAME, - TopiaReplicationServiceImpl.class.getName()); + TopiaReplicationServiceImpl.class.getName()); TopiaContext rootContext; try { @@ -107,17 +92,17 @@ log.debug("will output database in " + databaseAbsolutePath); } - return new EchoBaseTopiaRootContextSupplier(rootContext); + return rootContext; } - public Supplier<TopiaContext> newDatabaseFromConfig(EchoBaseConfiguration config) { + public TopiaContext newDatabaseFromConfig(EchoBaseConfiguration config) { Properties properties = config.getProperties(); return newDatabaseFromProperties(properties); } - public Supplier<TopiaContext> newDatabaseFromProperties(Properties properties) { + public TopiaContext newDatabaseFromProperties(Properties properties) { if (log.isDebugEnabled()) { log.debug("Database settings are :"); @@ -143,6 +128,6 @@ throw new TopiaRuntimeException(e); } - return new EchoBaseTopiaRootContextSupplier(rootContext); + return rootContext; } } Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DbEditorService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DbEditorService.java 2012-01-27 22:17:32 UTC (rev 302) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/DbEditorService.java 2012-01-30 19:18:07 UTC (rev 303) @@ -37,7 +37,6 @@ import fr.ifremer.echobase.services.csv.EntityCsvModel; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang3.StringUtils; -import org.apache.commons.lang3.math.NumberUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.TopiaException; @@ -52,7 +51,6 @@ import org.nuiton.util.csv.ImportExportModel; import org.nuiton.util.csv.ImportableColumn; import org.nuiton.util.decorator.JXPathDecorator; -import sun.reflect.generics.reflectiveObjects.NotImplementedException; import java.util.Collection; import java.util.List; @@ -182,15 +180,15 @@ ruleFilter = propertyName + " in ( Select f From " + columnMeta.getType().getName() + " f where " + subQuery + ")"; } else { - throw new NotImplementedException(); + throw new UnsupportedOperationException(); } } else { if (columnMeta.isNumber()) { - if (columnMeta.getType()==int.class || - columnMeta.getType()==Integer.class) { + if (columnMeta.getType() == int.class || + columnMeta.getType() == Integer.class) { realData = Integer.valueOf(data); } else { Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EchoBaseServiceContextImpl.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EchoBaseServiceContextImpl.java 2012-01-27 22:17:32 UTC (rev 302) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EchoBaseServiceContextImpl.java 2012-01-30 19:18:07 UTC (rev 303) @@ -24,11 +24,9 @@ package fr.ifremer.echobase.services; import com.google.common.base.Preconditions; -import com.google.common.base.Supplier; import fr.ifremer.echobase.EchoBaseConfiguration; import fr.ifremer.echobase.entities.meta.DbMeta; import org.nuiton.topia.TopiaContext; -import org.nuiton.topia.TopiaException; import java.util.Locale; @@ -63,19 +61,6 @@ public static EchoBaseServiceContext newContext( Locale locale, - Supplier<TopiaContext> topiaContextSupplier, - EchoBaseConfiguration configuration, - DbMeta dbMeta, - EchoBaseServiceFactory serviceFactory) throws TopiaException { - return newContext(locale, - topiaContextSupplier.get().beginTransaction(), - configuration, - dbMeta, - serviceFactory); - } - - public static EchoBaseServiceContext newContext( - Locale locale, TopiaContext transaction, EchoBaseConfiguration configuration, DbMeta dbMeta, Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EmbeddedApplicationService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EmbeddedApplicationService.java 2012-01-27 22:17:32 UTC (rev 302) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/EmbeddedApplicationService.java 2012-01-30 19:18:07 UTC (rev 303) @@ -25,7 +25,6 @@ import com.google.common.base.Charsets; import com.google.common.base.Preconditions; -import com.google.common.base.Supplier; import fr.ifremer.echobase.EchoBaseIOUtil; import fr.ifremer.echobase.EchoBaseTechnicalException; import fr.ifremer.echobase.EchoBaseTopiaRootContextFactory; @@ -176,11 +175,9 @@ model.incrementsProgression(); // create new h2 db - Supplier<TopiaContext> topiaContextSupplier = + TopiaContext rootContext = new EchoBaseTopiaRootContextFactory().newEmbeddedDatabase(zipDirectory); - TopiaContext rootContext = topiaContextSupplier.get(); - TopiaContext topiaContext = rootContext.beginTransaction(); try { Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/FilterPagerBean.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/FilterPagerBean.java 2012-01-27 22:17:32 UTC (rev 302) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/FilterPagerBean.java 2012-01-30 19:18:07 UTC (rev 303) @@ -26,7 +26,6 @@ import com.google.common.collect.Lists; import org.apache.commons.collections.CollectionUtils; import org.nuiton.util.PagerUtil; -import sun.reflect.generics.reflectiveObjects.NotImplementedException; import java.io.Serializable; import java.util.Collection; @@ -176,14 +175,14 @@ in { @Override public String toHql(String paramName, String propertyName, Object data, Map<String, Object> filterParams) { - throw new NotImplementedException(); + throw new UnsupportedOperationException(); } }, /** Not is among operator. */ ni { @Override public String toHql(String paramName, String propertyName, Object data, Map<String, Object> filterParams) { - throw new NotImplementedException(); + throw new UnsupportedOperationException(); } }; Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDbService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDbService.java 2012-01-27 22:17:32 UTC (rev 302) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/ImportDbService.java 2012-01-30 19:18:07 UTC (rev 303) @@ -163,7 +163,7 @@ static class MyImportToMap extends ImportToMap { - public static MyImportToMap newImport(ImportModel<Map<String, Object>> model, + public static MyImportToMap newImportToMap(ImportModel<Map<String, Object>> model, Reader reader) { return new MyImportToMap(model, reader); } @@ -194,7 +194,7 @@ AssociationMeta meta = (AssociationMeta) entry; ImportModel<Map<String, Object>> model = importService.buildForImport(meta); - ImportToMap importer = MyImportToMap.newImport(model, reader); + ImportToMap importer = MyImportToMap.newImportToMap(model, reader); try { importAssociationfile(meta, importer, csvResult); Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/TestHelper.java =================================================================== --- trunk/echobase-services/src/test/java/fr/ifremer/echobase/TestHelper.java 2012-01-27 22:17:32 UTC (rev 302) +++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/TestHelper.java 2012-01-30 19:18:07 UTC (rev 303) @@ -23,7 +23,6 @@ */ package fr.ifremer.echobase; -import com.google.common.base.Supplier; import fr.ifremer.echobase.entities.EchoBaseEntityEnum; import org.apache.commons.io.FileUtils; import org.junit.Ignore; @@ -70,9 +69,8 @@ EchoBaseTopiaRootContextFactory factory = new EchoBaseTopiaRootContextFactory(); - Supplier<TopiaContext> topiaContextSupplier = - factory.newEmbeddedDatabase(dbDir); - return topiaContextSupplier.get(); + TopiaContext context = factory.newEmbeddedDatabase(dbDir); + return context; } /** Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/AbstractEchoBaseServiceTest.java =================================================================== --- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/AbstractEchoBaseServiceTest.java 2012-01-27 22:17:32 UTC (rev 302) +++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/AbstractEchoBaseServiceTest.java 2012-01-30 19:18:07 UTC (rev 303) @@ -23,7 +23,6 @@ */ package fr.ifremer.echobase.services; -import com.google.common.base.Supplier; import fr.ifremer.echobase.EchoBaseConfiguration; import fr.ifremer.echobase.EchoBaseTopiaRootContextFactory; import fr.ifremer.echobase.TestHelper; @@ -67,8 +66,7 @@ new EchoBaseTopiaRootContextFactory(); File basedir = TestHelper.getBasedir(); File target = new File(basedir, "/target"); - Supplier<TopiaContext> topiaContextSupplier = factory.newEmbeddedDatabase(target); - TopiaContext rootContext = topiaContextSupplier.get(); + TopiaContext rootContext = factory.newEmbeddedDatabase(target); transaction = rootContext.beginTransaction(); } return transaction; Modified: trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/AbstractToolTest.java =================================================================== --- trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/AbstractToolTest.java 2012-01-27 22:17:32 UTC (rev 302) +++ trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/AbstractToolTest.java 2012-01-30 19:18:07 UTC (rev 303) @@ -23,7 +23,6 @@ */ package fr.ifremer.echobase.tools; -import com.google.common.base.Supplier; import fr.ifremer.echobase.EchoBaseConfiguration; import fr.ifremer.echobase.EchoBaseTopiaRootContextFactory; import fr.ifremer.echobase.entities.EchoBaseDAOHelper; @@ -64,7 +63,7 @@ protected EchoBaseServiceContext serviceContext; - protected Supplier<TopiaContext> topiaContextSupplier; + protected TopiaContext topiaContext; protected File testdir; @@ -91,11 +90,11 @@ EchoBaseTopiaRootContextFactory factory = new EchoBaseTopiaRootContextFactory(); - topiaContextSupplier = factory.newEmbeddedDatabase(testdir); + topiaContext = factory.newEmbeddedDatabase(testdir); serviceContext = EchoBaseServiceContextImpl.newContext( Locale.getDefault(), - topiaContextSupplier, + topiaContext, configuration, DbMeta.newDbMeta(), new EchoBaseServiceFactory() @@ -108,7 +107,7 @@ try { serviceContext.getTransaction().closeContext(); } finally { - topiaContextSupplier.get().closeContext(); + topiaContext.closeContext(); } } Modified: trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/TestHelper.java =================================================================== --- trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/TestHelper.java 2012-01-27 22:17:32 UTC (rev 302) +++ trunk/echobase-tools/src/test/java/fr/ifremer/echobase/tools/TestHelper.java 2012-01-30 19:18:07 UTC (rev 303) @@ -23,7 +23,6 @@ */ package fr.ifremer.echobase.tools; -import com.google.common.base.Supplier; import fr.ifremer.echobase.EchoBaseTopiaRootContextFactory; import fr.ifremer.echobase.entities.EchoBaseEntityEnum; import org.apache.commons.io.FileUtils; @@ -99,9 +98,8 @@ EchoBaseTopiaRootContextFactory factory = new EchoBaseTopiaRootContextFactory(); - Supplier<TopiaContext> topiaContextSupplier = - factory.newEmbeddedDatabase(dbDir); - return topiaContextSupplier.get(); + TopiaContext context = factory.newEmbeddedDatabase(dbDir); + return context; } /** Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationContext.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationContext.java 2012-01-27 22:17:32 UTC (rev 302) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationContext.java 2012-01-30 19:18:07 UTC (rev 303) @@ -23,7 +23,6 @@ */ package fr.ifremer.echobase.ui; -import com.google.common.base.Supplier; import fr.ifremer.echobase.EchoBaseConfiguration; import fr.ifremer.echobase.entities.meta.DbMeta; import org.nuiton.topia.TopiaContext; @@ -35,9 +34,10 @@ public class EchoBaseApplicationContext { protected EchoBaseConfiguration configuration; + protected DbMeta dbMeta; - protected Supplier<TopiaContext> rootContextSupplier; + protected TopiaContext rootContext; public EchoBaseConfiguration getConfiguration() { return configuration; @@ -47,12 +47,12 @@ this.configuration = configuration; } - public Supplier<TopiaContext> getRootContextSupplier() { - return rootContextSupplier; + public TopiaContext getRootContext() { + return rootContext; } - public void setRootContextSupplier(Supplier<TopiaContext> rootContextSupplier) { - this.rootContextSupplier = rootContextSupplier; + public void setRootContext(TopiaContext rootContext) { + this.rootContext = rootContext; } public DbMeta getDbMeta() { Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationListener.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationListener.java 2012-01-27 22:17:32 UTC (rev 302) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseApplicationListener.java 2012-01-30 19:18:07 UTC (rev 303) @@ -23,7 +23,6 @@ */ package fr.ifremer.echobase.ui; -import com.google.common.base.Supplier; import fr.ifremer.echobase.EchoBaseConfiguration; import fr.ifremer.echobase.EchoBaseTechnicalException; import fr.ifremer.echobase.EchoBaseTopiaRootContextFactory; @@ -45,7 +44,6 @@ import org.nuiton.i18n.init.DefaultI18nInitializer; import org.nuiton.topia.TopiaContext; import org.nuiton.topia.TopiaException; -import org.nuiton.topia.framework.TopiaContextImplementor; import org.nuiton.topia.framework.TopiaUtil; import org.nuiton.util.converter.ConverterUtil; @@ -54,7 +52,6 @@ import java.util.Date; import java.util.List; import java.util.Locale; -import java.util.Properties; /** * To listen start or end of the application. @@ -73,7 +70,7 @@ protected static final Log log = LogFactory.getLog(EchoBaseApplicationListener.class); - private Supplier<TopiaContext> rootContextSupplier; + private TopiaContext rootContext; @Override public void contextInitialized(ServletContextEvent sce) { @@ -100,8 +97,8 @@ } EchoBaseTopiaRootContextFactory factory = new EchoBaseTopiaRootContextFactory(); - rootContextSupplier = factory.newDatabaseFromConfig(configuration); - applicationContext.setRootContextSupplier(rootContextSupplier); + rootContext = factory.newDatabaseFromConfig(configuration); + applicationContext.setRootContext(rootContext); DbMeta dbMeta = DbMeta.newDbMeta(); applicationContext.setDbMeta(dbMeta); @@ -115,11 +112,24 @@ // init database (and create minimal admin user if required) try { - boolean schemaExist = isSchemaCreated(); + boolean schemaExist = TopiaUtil.isSchemaExist( + rootContext, + EchoBaseUserImpl.class.getName() + ); if (!schemaExist || - configuration.getOptionAsBoolean(EchoBaseConfiguration.OPTION_UPDATE_SCHEMA)) { + configuration.getOptionAsBoolean(EchoBaseConfiguration.OPTION_UPDATE_SCHEMA)) { - updateSchema(configuration, schemaExist); + if (schemaExist) { + if (log.isInfoEnabled()) { + log.info("Will update schema..."); + } + rootContext.updateSchema(); + } else { + if (log.isInfoEnabled()) { + log.info("Will create schema..."); + } + rootContext.createSchema(); + } } createAdminUser(applicationContext); @@ -134,11 +144,10 @@ if (log.isInfoEnabled()) { log.info("Application is ending at " + new Date() + "..."); } - if (rootContextSupplier != null) { + if (rootContext != null) { if (log.isInfoEnabled()) { log.info("Shuting down RootContextSupplier..."); } - TopiaContext rootContext = rootContextSupplier.get(); if (!rootContext.isClosed()) { try { rootContext.closeContext(); @@ -151,36 +160,6 @@ } } - protected void updateSchema(EchoBaseConfiguration configuration, boolean isCreated) throws TopiaException { - if (log.isInfoEnabled()) { - log.info("Will create or update schema for db."); - } - // must create the schema - - Properties dbConf = configuration.getProperties(); - - dbConf.put("hibernate.hbm2ddl.auto", isCreated?"update": "create"); - - EchoBaseTopiaRootContextFactory factory = - new EchoBaseTopiaRootContextFactory(); - Supplier<TopiaContext> topiaContextSupplier = - factory.newDatabaseFromProperties(dbConf); - - // start a connexion to load schema - TopiaContext tx = null; - - try { - tx = topiaContextSupplier.get().beginTransaction(); - - } finally { - - // no more update of schema... - dbConf.put("hibernate.hbm2ddl.auto", "none"); - - closeTransaction(tx); - } - } - /** * Creates the adminsitrator ({@code admin/admin}) on the database. * @@ -194,7 +173,7 @@ EchoBaseServiceFactory serviceFactory = new EchoBaseServiceFactory(); - TopiaContext transaction = rootContextSupplier.get().beginTransaction(); + TopiaContext transaction = rootContext.beginTransaction(); try { EchoBaseServiceContext serviceContext = EchoBaseServiceContextImpl.newContext( @@ -215,7 +194,7 @@ // no users in database create the admin user if (log.isInfoEnabled()) { log.info("No user in database, will create default " + - "admin user (password admin)."); + "admin user (password admin)."); } service.createDefaultUsers(); @@ -225,24 +204,6 @@ } } - protected boolean isSchemaCreated() throws TopiaException { - - TopiaContextImplementor tx = - (TopiaContextImplementor) - rootContextSupplier.get(); - try { - boolean schemaFound = TopiaUtil.isSchemaExist( - tx, - EchoBaseUserImpl.class.getName() - ); - - return schemaFound; - - } finally { - closeTransaction(tx); - } - } - /** * Try to close the given transaction. * Modified: trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseTopiaTransactionFilter.java =================================================================== --- trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseTopiaTransactionFilter.java 2012-01-27 22:17:32 UTC (rev 302) +++ trunk/echobase-ui/src/main/java/fr/ifremer/echobase/ui/EchoBaseTopiaTransactionFilter.java 2012-01-30 19:18:07 UTC (rev 303) @@ -23,7 +23,6 @@ */ package fr.ifremer.echobase.ui; -import com.google.common.base.Supplier; import fr.ifremer.echobase.ui.actions.EchoBaseActionSupport; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -48,10 +47,8 @@ protected TopiaContext beginTransaction() throws TopiaRuntimeException { EchoBaseApplicationContext applicationContext = EchoBaseActionSupport.getEchoBaseApplicationContext(); - Supplier<TopiaContext> rootContextSupplier = - applicationContext.getRootContextSupplier(); - TopiaContext rootContext = rootContextSupplier.get(); + TopiaContext rootContext = applicationContext.getRootContext(); try { TopiaContext transaction = rootContext.beginTransaction(); if (log.isDebugEnabled()) { Modified: trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/dbeditor/dbeditor.jsp =================================================================== --- trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/dbeditor/dbeditor.jsp 2012-01-27 22:17:32 UTC (rev 302) +++ trunk/echobase-ui/src/main/webapp/WEB-INF/jsp/dbeditor/dbeditor.jsp 2012-01-30 19:18:07 UTC (rev 303) @@ -279,12 +279,6 @@ searchoptions="{sopt:['eq','ne','cn','nc','bw','bn','ew','en','lt','le','gt','ge','nu','nn']}" sortable="true"/> </s:elseif> - <%--s:elseif test="#meta.number"> - <sjg:gridColumn name="%{#meta.name}" - title="%{#meta.name}" - searchoptions="{sopt:['eq','ne','cn','nc','bw','bn','ew','en','lt','le','gt','ge','nu','nn']}" - sortable="true"/> - </s:elseif--%> <s:else> <sjg:gridColumn name="%{#meta.name}" title="%{#meta.name}"
participants (1)
-
tchemit@users.forge.codelutin.com