geomajas-commits Mailing List for Geomajas (Page 876)
Brought to you by:
piedere,
triathlon98
You can subscribe to this list here.
| 2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(188) |
Sep
(327) |
Oct
(169) |
Nov
(259) |
Dec
(244) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2010 |
Jan
(251) |
Feb
(340) |
Mar
(370) |
Apr
(258) |
May
(184) |
Jun
(523) |
Jul
(655) |
Aug
(280) |
Sep
(434) |
Oct
(318) |
Nov
(196) |
Dec
(482) |
| 2011 |
Jan
(1121) |
Feb
(324) |
Mar
(613) |
Apr
(265) |
May
(320) |
Jun
(443) |
Jul
(193) |
Aug
(530) |
Sep
(840) |
Oct
(495) |
Nov
(348) |
Dec
(626) |
| 2012 |
Jan
(1065) |
Feb
(538) |
Mar
(293) |
Apr
(287) |
May
(375) |
Jun
(452) |
Jul
(376) |
Aug
(140) |
Sep
(322) |
Oct
(232) |
Nov
(136) |
Dec
(211) |
| 2013 |
Jan
(534) |
Feb
(442) |
Mar
(560) |
Apr
(277) |
May
(426) |
Jun
(468) |
Jul
(800) |
Aug
(324) |
Sep
(284) |
Oct
(386) |
Nov
(374) |
Dec
(215) |
| 2014 |
Jan
(236) |
Feb
(66) |
Mar
|
Apr
(21) |
May
(31) |
Jun
(40) |
Jul
(340) |
Aug
(41) |
Sep
(3) |
Oct
|
Nov
|
Dec
|
| 2016 |
Jan
|
Feb
(14) |
Mar
|
Apr
(1) |
May
(2) |
Jun
(10) |
Jul
(4) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2017 |
Jan
|
Feb
|
Mar
|
Apr
(6) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2018 |
Jan
|
Feb
|
Mar
|
Apr
(13) |
May
|
Jun
(3) |
Jul
(5) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <sv...@ge...> - 2009-08-25 07:08:38
|
Author: pieterdg Date: 2009-08-25 08:08:54 +0200 (Tue, 25 Aug 2009) New Revision: 3795 Added: trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/cache/store/RenderContent.java Removed: trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/cache/RenderContent.java Modified: trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/cache/algorithm/CachingAlgorithm.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/cache/broker/Broker.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/cache/store/ContentStore.java Log: MAJ-386: A few of the errors corrected Joachim mentioned. Deleted: trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/cache/RenderContent.java =================================================================== --- trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/cache/RenderContent.java 2009-08-25 06:08:34 UTC (rev 3794) +++ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/cache/RenderContent.java 2009-08-25 06:08:54 UTC (rev 3795) @@ -1,51 +0,0 @@ -/* - * This file is part of Geomajas, a component framework for building - * rich Internet applications (RIA) with sophisticated capabilities for the - * display, analysis and management of geographic information. - * It is a building block that allows developers to add maps - * and other geographic data capabilities to their web applications. - * - * Copyright 2008-2009 Geosparc, http://www.geosparc.com, Belgium - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -package org.geomajas.core.cache; - -import java.util.Map; - -import org.geomajas.command.ApplicationController; -import org.geomajas.core.aaa.UserContext; - -public interface RenderContent { - - public Map<String, Object> getParameters(); - - public void setParameters(Map<String, Object> parameters); - - public ApplicationController getController(); - - public void setController(ApplicationController controller); - - public long getId(); - - public void setId(long id); - - public byte[] getContent(); - - public void setContent(byte[] content); - - public UserContext getUserContext(); - - public void setUserContext(UserContext userContext); -} Modified: trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/cache/algorithm/CachingAlgorithm.java =================================================================== --- trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/cache/algorithm/CachingAlgorithm.java 2009-08-25 06:08:34 UTC (rev 3794) +++ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/cache/algorithm/CachingAlgorithm.java 2009-08-25 06:08:54 UTC (rev 3795) @@ -24,8 +24,8 @@ package org.geomajas.core.cache.algorithm; import org.geomajas.core.cache.CacheIOException; -import org.geomajas.core.cache.RenderContent; import org.geomajas.core.cache.store.ContentStore; +import org.geomajas.core.cache.store.RenderContent; /** * <p> Modified: trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/cache/broker/Broker.java =================================================================== --- trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/cache/broker/Broker.java 2009-08-25 06:08:34 UTC (rev 3794) +++ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/cache/broker/Broker.java 2009-08-25 06:08:54 UTC (rev 3795) @@ -24,7 +24,7 @@ package org.geomajas.core.cache.broker; import org.geomajas.core.cache.CacheIOException; -import org.geomajas.core.cache.RenderContent; +import org.geomajas.core.cache.store.RenderContent; /** * <p> Modified: trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/cache/store/ContentStore.java =================================================================== --- trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/cache/store/ContentStore.java 2009-08-25 06:08:34 UTC (rev 3794) +++ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/cache/store/ContentStore.java 2009-08-25 06:08:54 UTC (rev 3795) @@ -24,7 +24,6 @@ package org.geomajas.core.cache.store; import org.geomajas.core.cache.CacheIOException; -import org.geomajas.core.cache.RenderContent; /** * <p> Copied: trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/cache/store/RenderContent.java (from rev 3780, trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/cache/RenderContent.java) =================================================================== --- trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/cache/store/RenderContent.java (rev 0) +++ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/cache/store/RenderContent.java 2009-08-25 06:08:54 UTC (rev 3795) @@ -0,0 +1,51 @@ +/* + * This file is part of Geomajas, a component framework for building + * rich Internet applications (RIA) with sophisticated capabilities for the + * display, analysis and management of geographic information. + * It is a building block that allows developers to add maps + * and other geographic data capabilities to their web applications. + * + * Copyright 2008-2009 Geosparc, http://www.geosparc.com, Belgium + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +package org.geomajas.core.cache.store; + +import java.util.Map; + +import org.geomajas.command.ApplicationController; +import org.geomajas.core.aaa.UserContext; + +public interface RenderContent { + + public Map<String, Object> getParameters(); + + public void setParameters(Map<String, Object> parameters); + + public ApplicationController getController(); + + public void setController(ApplicationController controller); + + public long getId(); + + public void setId(long id); + + public byte[] getContent(); + + public void setContent(byte[] content); + + public UserContext getUserContext(); + + public void setUserContext(UserContext userContext); +} Property changes on: trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/cache/store/RenderContent.java ___________________________________________________________________ Added: svn:mime-type + text/plain |
Author: pieterdg Date: 2009-08-25 08:08:34 +0200 (Tue, 25 Aug 2009) New Revision: 3794 Removed: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/ApplicationController.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/ApplicationCatalog.java Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/DefaultApplicationController.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/TileCacheService.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/algorithm/RoundRobinCachingAlgorithm.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/broker/CacheBroker.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/broker/RealTimeBroker.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/store/DefaultRenderContent.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/store/FileContentStore.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/store/MetaRenderContent.java Log: MAJ-386: A few of the errors corrected Joachim mentioned. Deleted: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/ApplicationController.java =================================================================== --- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/ApplicationController.java 2009-08-24 11:56:13 UTC (rev 3793) +++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/ApplicationController.java 2009-08-25 06:08:34 UTC (rev 3794) @@ -1,195 +0,0 @@ -/* - * This file is part of Geomajas, a component framework for building - * rich Internet applications (RIA) with sophisticated capabilities for the - * display, analysis and management of geographic information. - * It is a building block that allows developers to add maps - * and other geographic data capabilities to their web applications. - * - * Copyright 2008-2009 Geosparc, http://www.geosparc.com, Belgium - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -package org.geomajas.command; - -import java.io.IOException; -import java.io.Serializable; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.geomajas.configuration.ConfigurationException; -import org.geomajas.core.aaa.policy.hibernate.HibernateUserContextManager; -import org.geomajas.core.application.Application; -import org.geomajas.core.application.ApplicationCatalog; - -/** - * The <code>ApplicationController</code> is the main command execution center. - * It accepts command from the client and executes them on the server. - */ -public class ApplicationController implements Serializable { - - /** - * A serializable object requires a serialVersionUID. - */ - private static final long serialVersionUID = -1334372707950671271L; - - /** - * Logger. - */ - private final Logger log = LoggerFactory.getLogger(ApplicationController.class.getName()); - - /** - * Bean name in jsp - */ - public static final String BEAN_NAME = "ApplicationController"; - - /** - * The catalog of applications - */ - private ApplicationCatalog applicationCatalog; - - /** - * The current application - */ - private Application application; - - /** - * The command interceptors - */ - private List<CommandInterceptor> interceptors; - - private long commandCount = 0; - - private Map<Long, ApplicationCommand> commands; - - // Constructors: - - /** - * Constructor that requires an application catalog object. This - * applicationController is apllicationCatalog aware - * - * @param application - */ - public ApplicationController(ApplicationCatalog applicationCatalog) { - this(); - this.applicationCatalog = applicationCatalog; - } - - /** - * Constructor that requires an application object. This - * applicationController is only application aware. - * - * @param application - */ - public ApplicationController(Application application) { - this(); - this.application = application; - } - - private ApplicationController() { - // set the datasource for the logincommand - UserLoginCommand.setUserContextManager(new HibernateUserContextManager()); - this.commands = new HashMap<Long, ApplicationCommand>(); - } - - // Other functions: - - /** - * General execution function. This is the one that's being called from the - * client in JavaScript through the <code>JSONRPCBridge</code>. - * - * @param command - * @return - */ - public ApplicationResult execute(String urlParam, ApplicationCommand command) throws IOException, - ConfigurationException { - if (applicationCatalog != null) { - Application application = applicationCatalog.getApplication(urlParam); - return (execute(application, command)); - } else { - return (execute(this.application, command)); - } - } - - private ApplicationResult execute(Application application, ApplicationCommand command) - throws IOException, ConfigurationException { - Date begin = new Date(); - interceptors = application.getCommandInterceptors(); // Quickfix !! - - Long id = new Long(++commandCount); - command.setId(id); - this.commands.put(command.getId(), command); - log.info("Executing command: " + command + "with id=" + command.getId()); - command.setApplication(application); - - // -- interceptor before - boolean canExecute = interceptBefore(command); - Throwable interceptorException = null; - - // -- execute command - if (canExecute) { // if noone cancelled - command.execute(); - } - - // -- intercept after - try { - interceptAfter(command); - } catch (Exception e) { - interceptorException = e; - } - - // -- postexecute - command.postExecute(interceptorException); - ApplicationResult result = command.getResult(); - - result.setId(id); - Date end = new Date(); - result.setExecutionTime(end.getTime() - begin.getTime()); - this.commands.remove(command.getId()); - return result; - } - - public void addInterceptor(CommandInterceptor interceptor) { - interceptors.add(interceptor); - } - - private boolean interceptBefore(ApplicationCommand command) { - boolean res = true; - if (interceptors != null) { - for (CommandInterceptor interceptor : interceptors) { - if (!interceptor.beforeExecute(command)) { - res = false; - } - } - } - return res; - } - - private void interceptAfter(ApplicationCommand command) { - for (CommandInterceptor interceptor : interceptors) { - interceptor.afterExecute(command); - } - } - - public ApplicationCatalog getApplicationCatalog() { - return applicationCatalog; - } - - public Application getApplication() { - return application; - } -} \ No newline at end of file Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/DefaultApplicationController.java =================================================================== --- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/DefaultApplicationController.java 2009-08-24 11:56:13 UTC (rev 3793) +++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/DefaultApplicationController.java 2009-08-25 06:08:34 UTC (rev 3794) @@ -55,7 +55,7 @@ /** * Bean name in jsp */ - public static final String BEAN_NAME = "ApplicationController"; + public static final String BEAN_NAME = "ApplicationController"; // TODO: move to interface? /** * The catalog of applications Deleted: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/ApplicationCatalog.java =================================================================== --- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/ApplicationCatalog.java 2009-08-24 11:56:13 UTC (rev 3793) +++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/ApplicationCatalog.java 2009-08-25 06:08:34 UTC (rev 3794) @@ -1,129 +0,0 @@ -/* - * This file is part of Geomajas, a component framework for building - * rich Internet applications (RIA) with sophisticated capabilities for the - * display, analysis and management of geographic information. - * It is a building block that allows developers to add maps - * and other geographic data capabilities to their web applications. - * - * Copyright 2008-2009 Geosparc, http://www.geosparc.com, Belgium - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -package org.geomajas.core.application; - -import java.io.File; -import java.io.FileFilter; -import java.io.IOException; -import java.util.HashMap; -import java.util.Map; - -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.geomajas.configuration.ConfigurationException; -import org.geomajas.configuration.ConfigurationParser; -import org.geomajas.configuration.MajasObjectFactory; - -/** - * ApplicationCatalog - * <p> - * This is a general catalog holding metadata about all known GGIS Applications - * on this server. - * </p> - * <p> - * There is another collection of mappings in this class. A mapping between the - * same application name as above, and the url where the users can find the - * application. - * </p> - * - * @author Pieter De Graef - */ -public class ApplicationCatalog { - - /** - * Logger. - */ - private final Logger log = LoggerFactory.getLogger(ApplicationCatalog.class); - - /** - * Mapping the application url to the application. - */ - private Map<String, Application> applications = new HashMap<String, Application>(); - - /** - * Constructor called from the GGIS service. - */ - public ApplicationCatalog() { - } - - /** - * Read the GGIS catalog xml file. Watch out: this function presumes that - * the AuthorizationInfo object has already been initialized. To avoid this - * problem, there is an init() function, use that instead of this - * readConfig. - * - * @return - */ - public void readConfig(String applicationsDir) throws ConfigurationException { - log.debug("readConfig() : reading configuration {}", applicationsDir); - ConfigurationParser parser = new ConfigurationParser(new MajasObjectFactory(), - "org.geomajas.schemas.configuration", "geomajas-application.xsd"); - - // look for applications - File appDir = new File(applicationsDir); - if (appDir.exists() && appDir.isDirectory()) { - File[] files = appDir.listFiles(new IsApplicationFilter()); - for (int i = 0; i < files.length; i++) { - File applicationDir = files[i]; - File config = new File(applicationDir.getAbsolutePath() + File.separator + "application.xml"); - log.debug("readConfig() : loading configuration from {}", config.getAbsolutePath()); - DefaultApplication app = (DefaultApplication) parser.parseConfiguration(config - .getAbsolutePath()); - app.setId(config.getName()); - app.setApplicationDir(applicationDir.getAbsolutePath()); - parser.finishConfiguration(app, null); - applications.put(app.getUrl(), app); - log.info("readConfig() : application {} added", app.getName()); - } - } - } - - /** - * Create a new Application, given the URL parameter. - * - * @param urlParam - * @return - * @throws ConfigurationException - */ - public Application getApplication(String urlParam) throws IOException { - Application app = applications.get(urlParam); - if (app == null) { - throw new IOException("missing application for url " + urlParam); - } else { - return app; - } - } - - // is it a directory that contains applications.xml - private class IsApplicationFilter implements FileFilter { - - public boolean accept(File pathname) { - if (pathname.isDirectory()) { - File f = new File(pathname.getAbsolutePath() + File.separator + "application.xml"); - return f.exists(); - } - return false; - } - - } -} \ No newline at end of file Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/TileCacheService.java =================================================================== --- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/TileCacheService.java 2009-08-24 11:56:13 UTC (rev 3793) +++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/TileCacheService.java 2009-08-25 06:08:34 UTC (rev 3794) @@ -33,6 +33,7 @@ import org.geomajas.core.cache.broker.CacheBroker; import org.geomajas.core.cache.broker.RealTimeBroker; import org.geomajas.core.cache.store.DefaultRenderContent; +import org.geomajas.core.cache.store.RenderContent; /** * <p> Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/algorithm/RoundRobinCachingAlgorithm.java =================================================================== --- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/algorithm/RoundRobinCachingAlgorithm.java 2009-08-24 11:56:13 UTC (rev 3793) +++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/algorithm/RoundRobinCachingAlgorithm.java 2009-08-25 06:08:34 UTC (rev 3794) @@ -26,10 +26,10 @@ import java.util.LinkedList; import org.geomajas.core.cache.CacheIOException; -import org.geomajas.core.cache.RenderContent; import org.geomajas.core.cache.store.ContentStore; import org.geomajas.core.cache.store.DefaultRenderContent; import org.geomajas.core.cache.store.MetaRenderContent; +import org.geomajas.core.cache.store.RenderContent; /** * <p> Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/broker/CacheBroker.java =================================================================== --- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/broker/CacheBroker.java 2009-08-24 11:56:13 UTC (rev 3793) +++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/broker/CacheBroker.java 2009-08-25 06:08:34 UTC (rev 3794) @@ -35,11 +35,11 @@ import org.geomajas.core.application.layertree.VectorLayer; import org.geomajas.core.cache.CacheIOException; import org.geomajas.core.cache.CacheUtil; -import org.geomajas.core.cache.RenderContent; import org.geomajas.core.cache.algorithm.CachingAlgorithm; import org.geomajas.core.cache.algorithm.RoundRobinCachingAlgorithm; import org.geomajas.core.cache.store.ContentStore; import org.geomajas.core.cache.store.FileContentStore; +import org.geomajas.core.cache.store.RenderContent; /** * <p> Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/broker/RealTimeBroker.java =================================================================== --- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/broker/RealTimeBroker.java 2009-08-24 11:56:13 UTC (rev 3793) +++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/broker/RealTimeBroker.java 2009-08-25 06:08:34 UTC (rev 3794) @@ -49,7 +49,7 @@ import org.geomajas.core.application.tile.TileCode; import org.geomajas.core.cache.CacheIOException; import org.geomajas.core.cache.CacheUtil; -import org.geomajas.core.cache.RenderContent; +import org.geomajas.core.cache.store.RenderContent; import org.geomajas.core.filters.FilterCreator; import org.geomajas.core.filters.cql.CQL; import org.geomajas.core.filters.cql.CQLException; Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/store/DefaultRenderContent.java =================================================================== --- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/store/DefaultRenderContent.java 2009-08-24 11:56:13 UTC (rev 3793) +++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/store/DefaultRenderContent.java 2009-08-25 06:08:34 UTC (rev 3794) @@ -36,7 +36,6 @@ import org.geomajas.core.aaa.UserContextImpl; import org.geomajas.core.cache.CacheIOException; import org.geomajas.core.cache.CacheUtil; -import org.geomajas.core.cache.RenderContent; import org.geomajas.core.global.MajasConstants; /** Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/store/FileContentStore.java =================================================================== --- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/store/FileContentStore.java 2009-08-24 11:56:13 UTC (rev 3793) +++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/store/FileContentStore.java 2009-08-25 06:08:34 UTC (rev 3794) @@ -36,7 +36,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.geomajas.core.cache.CacheIOException; -import org.geomajas.core.cache.RenderContent; /** * <p> Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/store/MetaRenderContent.java =================================================================== --- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/store/MetaRenderContent.java 2009-08-24 11:56:13 UTC (rev 3793) +++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/store/MetaRenderContent.java 2009-08-25 06:08:34 UTC (rev 3794) @@ -26,7 +26,6 @@ import java.io.File; import org.geomajas.core.cache.CacheUtil; -import org.geomajas.core.cache.RenderContent; /** * <p> |
Author: kristofh
Date: 2009-08-24 13:56:13 +0200 (Mon, 24 Aug 2009)
New Revision: 3793
Added:
branches/1.3.x_planbaten/majas-js/jsResources/
branches/1.3.x_planbaten/majas-js/jsResources/dijit/
branches/1.3.x_planbaten/majas-js/jsResources/dijit/form/
branches/1.3.x_planbaten/majas-js/jsResources/dijit/form/nls/
branches/1.3.x_planbaten/majas-js/jsResources/dijit/form/nls/nl/
branches/1.3.x_planbaten/majas-js/jsResources/dijit/form/nls/nl/ComboBox.js
branches/1.3.x_planbaten/majas-js/jsResources/dijit/form/nls/nl/validate.js
Modified:
branches/1.3.x_planbaten/majas-js/pom.xml
Log:
NL vertaling combobox
Added: branches/1.3.x_planbaten/majas-js/jsResources/dijit/form/nls/nl/ComboBox.js
===================================================================
--- branches/1.3.x_planbaten/majas-js/jsResources/dijit/form/nls/nl/ComboBox.js (rev 0)
+++ branches/1.3.x_planbaten/majas-js/jsResources/dijit/form/nls/nl/ComboBox.js 2009-08-24 11:56:13 UTC (rev 3793)
@@ -0,0 +1,4 @@
+({
+ previousMessage: "Vorige mogelijkheden",
+ nextMessage: "Meer mogelijkheden"
+})
Property changes on: branches/1.3.x_planbaten/majas-js/jsResources/dijit/form/nls/nl/ComboBox.js
___________________________________________________________________
Added: svn:executable
+ *
Added: branches/1.3.x_planbaten/majas-js/jsResources/dijit/form/nls/nl/validate.js
===================================================================
--- branches/1.3.x_planbaten/majas-js/jsResources/dijit/form/nls/nl/validate.js (rev 0)
+++ branches/1.3.x_planbaten/majas-js/jsResources/dijit/form/nls/nl/validate.js 2009-08-24 11:56:13 UTC (rev 3793)
@@ -0,0 +1,5 @@
+({
+ invalidMessage: "De opgegeven waarde is niet geldig.",
+ missingMessage: "Deze waarde is vereist.",
+ rangeMessage: "Deze waarde ligt buiten het bereik."
+})
Property changes on: branches/1.3.x_planbaten/majas-js/jsResources/dijit/form/nls/nl/validate.js
___________________________________________________________________
Added: svn:executable
+ *
Modified: branches/1.3.x_planbaten/majas-js/pom.xml
===================================================================
--- branches/1.3.x_planbaten/majas-js/pom.xml 2009-08-24 10:19:51 UTC (rev 3792)
+++ branches/1.3.x_planbaten/majas-js/pom.xml 2009-08-24 11:56:13 UTC (rev 3793)
@@ -47,7 +47,7 @@
<argument>releaseDir=../../../../../../target/release/</argument>
<argument>localeList=en,nl</argument>
<argument>internStrings=false</argument>
- <argument>action=clean,release</argument>
+ <argument>action=release</argument>
</arguments>
</configuration>
</plugin>
@@ -85,6 +85,26 @@
</headerDefinitions>
</configuration>
</plugin>
+ <plugin>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>replace-files</id>
+ <phase>process-sources</phase>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ <configuration>
+ <tasks>
+ <!-- cannot copy it to target/release this folder is deleted before compressing -->
+ <copy todir="${basedir}/src/main/webapp/js" overwrite="true">
+ <fileset dir="${basedir}/jsResources"/>
+ </copy>
+ </tasks>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
-</project>
\ No newline at end of file
+</project>
|
|
From: <sv...@ge...> - 2009-08-24 11:19:37
|
Author: pieterdg
Date: 2009-08-24 12:19:51 +0200 (Mon, 24 Aug 2009)
New Revision: 3792
Modified:
branches/1.3.x_planbaten/majas-js/src/main/webapp/js/geomajas/map/MapView.js
Log:
Fox for RWOPB-38
Modified: branches/1.3.x_planbaten/majas-js/src/main/webapp/js/geomajas/map/MapView.js
===================================================================
--- branches/1.3.x_planbaten/majas-js/src/main/webapp/js/geomajas/map/MapView.js 2009-08-24 08:21:17 UTC (rev 3791)
+++ branches/1.3.x_planbaten/majas-js/src/main/webapp/js/geomajas/map/MapView.js 2009-08-24 10:19:51 UTC (rev 3792)
@@ -389,7 +389,7 @@
newResolutionIndex = i;
break;
} else {
- if ((upper - screenResolution) > 2 * (screenResolution - lower)) {
+ if ((upper - screenResolution) > (screenResolution - lower)) {
newResolutionIndex = i+1;
break;
} else {
|
|
From: <sv...@ge...> - 2009-08-24 09:21:03
|
Author: pieterdg Date: 2009-08-24 10:21:17 +0200 (Mon, 24 Aug 2009) New Revision: 3791 Modified: branches/1.3.x_planbaten/majas-js/src/main/webapp/js/geomajas/map/store/SpatialCacheStore.js Log: Commit for RWOPB-126 Modified: branches/1.3.x_planbaten/majas-js/src/main/webapp/js/geomajas/map/store/SpatialCacheStore.js =================================================================== --- branches/1.3.x_planbaten/majas-js/src/main/webapp/js/geomajas/map/store/SpatialCacheStore.js 2009-08-24 05:58:43 UTC (rev 3790) +++ branches/1.3.x_planbaten/majas-js/src/main/webapp/js/geomajas/map/store/SpatialCacheStore.js 2009-08-24 08:21:17 UTC (rev 3791) @@ -41,7 +41,8 @@ this.cache = new RenderingIndependentTileCache( this.layer, this.layer.getMaxExtent().clone(), - this.layer.getMaxTileLevel() + //this.layer.getMaxTileLevel() + 256 // Getting rid of the MaxTileLevel. ); this.cleared = true; |
|
From: <sv...@ge...> - 2009-08-24 06:58:26
|
Author: pieterdg Date: 2009-08-24 07:58:43 +0200 (Mon, 24 Aug 2009) New Revision: 3790 Modified: trunk/geomajas/layermodels/geomajas-layermodel-geotools/ Log: Committing svn:ignore statements Property changes on: trunk/geomajas/layermodels/geomajas-layermodel-geotools ___________________________________________________________________ Added: svn:ignore + .settings .project target .classpath |
|
From: <sv...@ge...> - 2009-08-24 06:58:16
|
Author: pieterdg Date: 2009-08-24 07:58:28 +0200 (Mon, 24 Aug 2009) New Revision: 3789 Modified: trunk/geomajas/layermodels/geomajas-layermodel-geotools/src/main/resources/ Log: Committing svn:ignore statements Property changes on: trunk/geomajas/layermodels/geomajas-layermodel-geotools/src/main/resources ___________________________________________________________________ Added: svn:ignore + META-INF |
|
From: <sv...@ge...> - 2009-08-24 06:57:46
|
Author: pieterdg Date: 2009-08-24 07:58:02 +0200 (Mon, 24 Aug 2009) New Revision: 3788 Added: trunk/geomajas/layermodels/geomajas-layermodel-geotools/src/main/resources/ Log: |
|
From: <sv...@ge...> - 2009-08-24 06:57:09
|
Author: pieterdg Date: 2009-08-24 07:57:28 +0200 (Mon, 24 Aug 2009) New Revision: 3787 Added: trunk/geomajas/layermodels/geomajas-layermodel-geotools/src/main/java/org/geomajas/layermodels/geotools/postgis/NonTypedPostgisFIDMapperFactory.java Log: Second commit of the geotools layermodel module (MAJ-386) - forgot a file Copied: trunk/geomajas/layermodels/geomajas-layermodel-geotools/src/main/java/org/geomajas/layermodels/geotools/postgis/NonTypedPostgisFIDMapperFactory.java (from rev 3778, trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/layermodels/geotools/postgis/NonTypedPostgisFIDMapperFactory.java) =================================================================== --- trunk/geomajas/layermodels/geomajas-layermodel-geotools/src/main/java/org/geomajas/layermodels/geotools/postgis/NonTypedPostgisFIDMapperFactory.java (rev 0) +++ trunk/geomajas/layermodels/geomajas-layermodel-geotools/src/main/java/org/geomajas/layermodels/geotools/postgis/NonTypedPostgisFIDMapperFactory.java 2009-08-24 05:57:28 UTC (rev 3787) @@ -0,0 +1,122 @@ +/* + * This file is part of Geomajas, a component framework for building + * rich Internet applications (RIA) with sophisticated capabilities for the + * display, analysis and management of geographic information. + * It is a building block that allows developers to add maps + * and other geographic data capabilities to their web applications. + * + * Copyright 2008-2009 Geosparc, http://www.geosparc.com, Belgium + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +package org.geomajas.layermodels.geotools.postgis; + +import java.io.IOException; +import java.sql.Connection; +import java.util.logging.Level; + +import org.geotools.data.jdbc.fidmapper.BasicFIDMapper; +import org.geotools.data.jdbc.fidmapper.DefaultFIDMapperFactory; +import org.geotools.data.jdbc.fidmapper.FIDMapper; +import org.geotools.data.jdbc.fidmapper.MaxIncFIDMapper; +import org.geotools.data.postgis.fidmapper.PostGISAutoIncrementFIDMapper; + +public class NonTypedPostgisFIDMapperFactory extends DefaultFIDMapperFactory { + + public NonTypedPostgisFIDMapperFactory() { + super(); + } + + public NonTypedPostgisFIDMapperFactory(boolean returnFIDColumnsAsAttributes) { + super(returnFIDColumnsAsAttributes); + } + + /** + * Gets the appropriate FIDMapper for the specified table. Overridden to + * return a non-typed mapper !!!! + * + * @param catalog + * @param schema + * @param tableName + * @param connection + * the active database connection to get table key information + * + * @return the appropriate FIDMapper for the specified table. + * + * @throws IOException + * if any error occurs. + */ + public FIDMapper getMapper(String catalog, String schema, String tableName, Connection connection) + throws IOException { + ColumnInfo[] colInfos = getPkColumnInfo(catalog, schema, tableName, connection); + FIDMapper mapper = null; + + if (colInfos.length == 0) { + mapper = buildNoPKMapper(schema, tableName, connection); + } else if (colInfos.length > 1) { + mapper = buildMultiColumnFIDMapper(schema, tableName, connection, colInfos); + } else { + ColumnInfo ci = colInfos[0]; + + mapper = buildSingleColumnFidMapper(schema, tableName, connection, ci); + } + + if (mapper == null) { + mapper = buildLastResortFidMapper(schema, tableName, connection, colInfos); + + if (mapper == null) { + String msg = "Cannot map primary key to a FID mapper, primary key columns are:\n" + + getColumnInfoList(colInfos); + LOGGER.log(Level.SEVERE, msg); + throw new IOException(msg); + } + } + + return mapper; + } + + /** + * Builds a FID mapper based on a single column primary key. Default version + * tries the auto-increment way, then a mapping on an + * {@link MaxIncFIDMapper} type for numeric columns, and a plain + * {@link BasicFIDMapper} of text based columns. + * + * @param schema + * @param tableName + * @param connection + * an open database connection. + * @param ci + * the column information for the FID column. + * + * @return the appropriate FIDMapper. + */ + protected FIDMapper buildSingleColumnFidMapper(String schema, String tableName, Connection connection, + ColumnInfo ci) { + if (ci.isAutoIncrement()) { + return new PostGISAutoIncrementFIDMapper(tableName, ci.getColName(), ci.getDataType(), true);// constructor + // changed + // FIDColumsAsAttributes + // ? + // true + // or + // false + } else if (isIntegralType(ci.getDataType())) { + return new MaxIncFIDMapper(schema, tableName, ci.getColName(), ci.getDataType(), + this.returnFIDColumnsAsAttributes); + } else { + return new BasicFIDMapper(ci.getColName(), ci.getSize(), this.returnFIDColumnsAsAttributes); + } + } + +} \ No newline at end of file |
Author: pieterdg Date: 2009-08-24 07:57:09 +0200 (Mon, 24 Aug 2009) New Revision: 3786 Added: trunk/geomajas/layermodels/geomajas-layermodel-geotools/src/main/java/org/geomajas/layermodels/ trunk/geomajas/layermodels/geomajas-layermodel-geotools/src/main/java/org/geomajas/layermodels/geotools/ trunk/geomajas/layermodels/geomajas-layermodel-geotools/src/main/java/org/geomajas/layermodels/geotools/ExtendedDataStore.java trunk/geomajas/layermodels/geomajas-layermodel-geotools/src/main/java/org/geomajas/layermodels/geotools/GeotoolsFeatureModel.java trunk/geomajas/layermodels/geomajas-layermodel-geotools/src/main/java/org/geomajas/layermodels/geotools/GeotoolsLayerModel.java trunk/geomajas/layermodels/geomajas-layermodel-geotools/src/main/java/org/geomajas/layermodels/geotools/GeotoolsLayerModelFactory.java trunk/geomajas/layermodels/geomajas-layermodel-geotools/src/main/java/org/geomajas/layermodels/geotools/NonTypedFIDMapperFactory.java trunk/geomajas/layermodels/geomajas-layermodel-geotools/src/main/java/org/geomajas/layermodels/geotools/postgis/ Modified: trunk/geomajas/layermodels/geomajas-layermodel-geotools/pom.xml Log: First commit of the geotools layermodel module (MAJ-386) Modified: trunk/geomajas/layermodels/geomajas-layermodel-geotools/pom.xml =================================================================== --- trunk/geomajas/layermodels/geomajas-layermodel-geotools/pom.xml 2009-08-24 05:56:00 UTC (rev 3785) +++ trunk/geomajas/layermodels/geomajas-layermodel-geotools/pom.xml 2009-08-24 05:57:09 UTC (rev 3786) @@ -11,6 +11,19 @@ <name>Geomajas layer model using Geotools</name> <dependencies> + <dependency> + <groupId>org.geomajas</groupId> + <artifactId>geomajas-api</artifactId> + </dependency> + <dependency> + <groupId>org.geomajas</groupId> + <artifactId>geomajas-impl</artifactId> + <version>1.5.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.geotools</groupId> + <artifactId>gt2-main</artifactId> + </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> Copied: trunk/geomajas/layermodels/geomajas-layermodel-geotools/src/main/java/org/geomajas/layermodels/geotools/ExtendedDataStore.java (from rev 3778, trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/layermodels/geotools/ExtendedDataStore.java) =================================================================== --- trunk/geomajas/layermodels/geomajas-layermodel-geotools/src/main/java/org/geomajas/layermodels/geotools/ExtendedDataStore.java (rev 0) +++ trunk/geomajas/layermodels/geomajas-layermodel-geotools/src/main/java/org/geomajas/layermodels/geotools/ExtendedDataStore.java 2009-08-24 05:57:09 UTC (rev 3786) @@ -0,0 +1,200 @@ +/* + * This file is part of Geomajas, a component framework for building + * rich Internet applications (RIA) with sophisticated capabilities for the + * display, analysis and management of geographic information. + * It is a building block that allows developers to add maps + * and other geographic data capabilities to their web applications. + * + * Copyright 2008-2009 Geosparc, http://www.geosparc.com, Belgium + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +package org.geomajas.layermodels.geotools; + +import java.io.IOException; +import java.net.URI; +import java.sql.Connection; +import java.sql.SQLException; +import java.util.Collection; +import java.util.Collections; +import java.util.Map; + +import org.geotools.data.DataStore; +import org.geotools.data.FeatureReader; +import org.geotools.data.FeatureSource; +import org.geotools.data.FeatureWriter; +import org.geotools.data.LockingManager; +import org.geotools.data.Query; +import org.geotools.data.Transaction; +import org.geotools.data.jdbc.DefaultSQLBuilder; +import org.geotools.data.jdbc.JDBC1DataStore; +import org.geotools.data.jdbc.JDBCDataStoreConfig; +import org.geotools.data.jdbc.QueryData; +import org.geotools.data.jdbc.SQLBuilder; +import org.geotools.data.jdbc.attributeio.AttributeIO; +import org.geotools.data.jdbc.fidmapper.FIDMapper; +import org.geotools.data.jdbc.fidmapper.FIDMapperFactory; +import org.geotools.feature.AttributeType; +import org.geotools.feature.FeatureType; +import org.geotools.feature.SchemaException; +import org.geotools.filter.SQLEncoderException; +import org.opengis.filter.Filter; + +import com.vividsolutions.jts.geom.Envelope; + +public class ExtendedDataStore extends JDBC1DataStore implements DataStore { + + private JDBC1DataStore delegate; + + public ExtendedDataStore(JDBC1DataStore delegate) throws IOException { + super(new JDBCDataStoreConfig(delegate.getNameSpace().toString(), "public", Long.MAX_VALUE)); + this.delegate = delegate; + } + + public Map<String, Collection<String>> getRelatedFeatures(int spatialRelation, String table1, + String table2, Filter filter1, Filter filter2) throws IOException { + StringBuffer sqlBuffer = new StringBuffer(); + try { + DefaultSQLBuilder builder = (DefaultSQLBuilder) getSqlBuilder(table1); + // no way we can get at 2 tables ???? + builder.sqlWhere(sqlBuffer, (org.geotools.filter.Filter) filter1); + // TODO + return Collections.EMPTY_MAP; + } catch (SQLEncoderException e) { + throw new IOException("Could not encode sql for relationship query : " + e.getMessage()); + } + } + + public boolean allSameOrder(String[] requestedNames, FeatureType ft) { + return delegate.allSameOrder(requestedNames, ft); + } + + public void createSchema(FeatureType featureType) throws IOException { + delegate.createSchema(featureType); + } + + public boolean equals(Object arg0) { + return delegate.equals(arg0); + } + + public Envelope getEnvelope(String typeName) { + return delegate.getEnvelope(typeName); + } + + public FeatureReader getFeatureReader(FeatureType requestType, org.geotools.filter.Filter filter, + Transaction transaction) throws IOException { + return delegate.getFeatureReader(requestType, filter, transaction); + } + + public FeatureReader getFeatureReader(Query query, Transaction trans) throws IOException { + return delegate.getFeatureReader(query, trans); + } + + public FeatureSource getFeatureSource(String typeName) throws IOException { + return delegate.getFeatureSource(typeName); + } + + public FeatureWriter getFeatureWriter(String typeName, org.geotools.filter.Filter filter, + Transaction transaction) throws IOException { + return delegate.getFeatureWriter(typeName, filter, transaction); + } + + public FeatureWriter getFeatureWriter(String typeName, Transaction transaction) throws IOException { + return delegate.getFeatureWriter(typeName, transaction); + } + + public FeatureWriter getFeatureWriterAppend(String typeName, Transaction transaction) throws IOException { + return delegate.getFeatureWriterAppend(typeName, transaction); + } + + public FIDMapper getFIDMapper(String tableName) throws IOException { + return delegate.getFIDMapper(tableName); + } + + public FIDMapperFactory getFIDMapperFactory() { + return delegate.getFIDMapperFactory(); + } + + public LockingManager getLockingManager() { + return delegate.getLockingManager(); + } + + public URI getNameSpace() { + return delegate.getNameSpace(); + } + + public FeatureType getSchema(String typeName) throws IOException { + return delegate.getSchema(typeName); + } + + public SQLBuilder getSqlBuilder(String typeName) throws IOException { + return delegate.getSqlBuilder(typeName); + } + + public String getSqlNameEscape() { + return delegate.getSqlNameEscape(); + } + + public int getTransactionIsolation() { + return delegate.getTransactionIsolation(); + } + + public String[] getTypeNames() throws IOException { + return delegate.getTypeNames(); + } + + public FeatureSource getView(Query query) throws IOException, SchemaException { + return delegate.getView(query); + } + + public int hashCode() { + return delegate.hashCode(); + } + + public void setFIDMapper(String featureTypeName, FIDMapper fidMapper) { + delegate.setFIDMapper(featureTypeName, fidMapper); + } + + public void setFIDMapperFactory(FIDMapperFactory fmFactory) throws UnsupportedOperationException { + delegate.setFIDMapperFactory(fmFactory); + } + + public void setTransactionIsolation(int value) { + delegate.setTransactionIsolation(value); + } + + public String toString() { + return delegate.toString(); + } + + public void updateSchema(String typeName, FeatureType featureType) throws IOException { + delegate.updateSchema(typeName, featureType); + } + + @Override + protected Connection createConnection() throws SQLException { + throw new SQLException("Not allowed to create a connection"); + } + + @Override + protected AttributeIO getGeometryAttributeIO(AttributeType type, QueryData queryData) throws IOException { + throw new IOException("Not allowed to get a geometry IO attribute"); + } + + public void dispose() { + // TODO Auto-generated method stub + + } + +} Copied: trunk/geomajas/layermodels/geomajas-layermodel-geotools/src/main/java/org/geomajas/layermodels/geotools/GeotoolsFeatureModel.java (from rev 3778, trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/layermodels/geotools/GeotoolsFeatureModel.java) =================================================================== --- trunk/geomajas/layermodels/geomajas-layermodel-geotools/src/main/java/org/geomajas/layermodels/geotools/GeotoolsFeatureModel.java (rev 0) +++ trunk/geomajas/layermodels/geomajas-layermodel-geotools/src/main/java/org/geomajas/layermodels/geotools/GeotoolsFeatureModel.java 2009-08-24 05:57:09 UTC (rev 3786) @@ -0,0 +1,134 @@ +/* + * This file is part of Geomajas, a component framework for building + * rich Internet applications (RIA) with sophisticated capabilities for the + * display, analysis and management of geographic information. + * It is a building block that allows developers to add maps + * and other geographic data capabilities to their web applications. + * + * Copyright 2008-2009 Geosparc, http://www.geosparc.com, Belgium + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +package org.geomajas.layermodels.geotools; + +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.geomajas.core.application.feature.FeatureModel; +import org.geomajas.core.util.GeoUtil; +import org.geomajas.layermodels.shapeinmem.FeatureSourceRetriever; +import org.geotools.data.DataStore; +import org.geotools.feature.Feature; +import org.geotools.feature.IllegalAttributeException; + +import com.vividsolutions.jts.geom.Geometry; + +public class GeotoolsFeatureModel extends FeatureSourceRetriever implements FeatureModel { + + private static final Log log = LogFactory.getLog(GeotoolsFeatureModel.class); + + private int srid; + + // Constructor: + + public GeotoolsFeatureModel(DataStore dataStore, String featureSourceName, String crs) { + super(dataStore, featureSourceName); + this.srid = GeoUtil.getSRIDFromCRS(crs); + } + + // FeatureModel implementation: + + public Object getAttribute(Object feature, String name) throws IOException { + return asFeature(feature).getAttribute(name); + } + + public Map<String, Object> getAttributes(Object feature) throws IOException { + Feature f = asFeature(feature); + HashMap<String, Object> attribs = new HashMap<String, Object>(); + for (int i = 0; i < f.getNumberOfAttributes(); i++) { + String name = f.getFeatureType().getAttributeType(i).getLocalName(); + attribs.put(name, f.getAttribute(i)); + } + return attribs; + } + + public Geometry getGeometry(Object feature) throws IOException { + Geometry geometry = asFeature(feature).getDefaultGeometry(); + geometry.setSRID(srid); + return (Geometry) geometry.clone(); + } + + public String getGeometryAttributeName() throws IOException { + return getSchema().getDefaultGeometry().getLocalName(); + } + + public String getId(Object feature) throws IOException { + Feature featureAsFeature = asFeature(feature); + return featureAsFeature.getID().substring(featureAsFeature.getID().lastIndexOf(".") + 1); + } + + public String getCrs() throws IOException { + return "EPSG:" + srid; + } + + public Object newInstance() throws IOException { + try { + return getSchema().create(null); + } catch (IllegalAttributeException e) { + log.error("Illegal attribute but no attributes provided for " + getFeatureSourceName()); + throw new IOException("Illegal attribute but no attributes provided, probably a geotools bug ???"); + } + } + + public Object newInstance(String id) throws IOException { + try { + return getSchema().create(null, id); + } catch (IllegalAttributeException e) { + log.error("Illegal attribute but no attributes provided for " + getFeatureSourceName()); + throw new IOException("Illegal attribute but no attributes provided, probably a geotools bug ???"); + } + } + + public void setAttributes(Object feature, Map<String, Object> attributes) throws IOException { + for (Map.Entry<String, Object> entry : attributes.entrySet()) { + try { + if (!entry.getKey().equals(getGeometryAttributeName())) { + asFeature(feature).setAttribute(entry.getKey(), entry.getValue()); + } + } catch (IllegalAttributeException e) { + throw new IOException("Illegal attribute name/value : " + entry.getKey() + "/" + + entry.getValue()); + } + } + } + + public void setGeometry(Object feature, Geometry geometry) throws IOException { + try { + asFeature(feature).setDefaultGeometry(geometry); + } catch (IllegalAttributeException e) { + throw new IOException("Illegal geometry value : " + geometry); + } + } + + public boolean canHandle(Object feature) { + return feature instanceof Feature; + } + + public Class<?> getSuperClass() throws IOException { + return null; + } +} \ No newline at end of file Copied: trunk/geomajas/layermodels/geomajas-layermodel-geotools/src/main/java/org/geomajas/layermodels/geotools/GeotoolsLayerModel.java (from rev 3778, trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/layermodels/geotools/GeotoolsLayerModel.java) =================================================================== --- trunk/geomajas/layermodels/geomajas-layermodel-geotools/src/main/java/org/geomajas/layermodels/geotools/GeotoolsLayerModel.java (rev 0) +++ trunk/geomajas/layermodels/geomajas-layermodel-geotools/src/main/java/org/geomajas/layermodels/geotools/GeotoolsLayerModel.java 2009-08-24 05:57:09 UTC (rev 3786) @@ -0,0 +1,238 @@ +/* + * This file is part of Geomajas, a component framework for building + * rich Internet applications (RIA) with sophisticated capabilities for the + * display, analysis and management of geographic information. + * It is a building block that allows developers to add maps + * and other geographic data capabilities to their web applications. + * + * Copyright 2008-2009 Geosparc, http://www.geosparc.com, Belgium + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +package org.geomajas.layermodels.geotools; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.NoSuchElementException; +import java.util.Set; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.geomajas.command.interceptor.GeotoolsTransactionInterceptor; +import org.geomajas.core.application.LayerModel; +import org.geomajas.core.application.LayerModelFactory; +import org.geomajas.core.application.feature.FeatureModel; +import org.geomajas.layermodels.shapeinmem.FeatureSourceRetriever; +import org.geomajas.schemas.configuration.FeatureType; +import org.geotools.data.DataStore; +import org.geotools.data.DataUtilities; +import org.geotools.data.FeatureSource; +import org.geotools.data.FeatureStore; +import org.geotools.feature.AttributeType; +import org.geotools.feature.Feature; +import org.geotools.feature.FeatureCollection; +import org.geotools.filter.FilterFactoryFinder; +import org.geotools.filter.identity.FeatureIdImpl; +import org.opengis.filter.Filter; +import org.opengis.filter.FilterFactory; +import org.opengis.filter.Id; +import org.opengis.filter.identity.Identifier; + +import com.vividsolutions.jts.geom.Envelope; + +public class GeotoolsLayerModel extends FeatureSourceRetriever implements LayerModel { + + private static final Log logger = LogFactory.getLog(GeotoolsLayerModel.class); + + private FilterFactory filterFactory; + + private GeotoolsLayerModelFactory factory; + + private FeatureModel featureModel; + + // private + + public GeotoolsLayerModel(GeotoolsLayerModelFactory factory, DataStore dataStore, FeatureType type) { + super(dataStore, type.getName()); + this.factory = factory; + this.filterFactory = FilterFactoryFinder.createFilterFactory(); + this.featureModel = new GeotoolsFeatureModel(dataStore, type.getName(), type.getGeometryType() + .getCrs()); + } + + public Object create(Object feature) throws IOException { + FeatureSource source = getFeatureSource(); + if (source instanceof FeatureStore) { + FeatureStore store = (FeatureStore) source; + FeatureCollection col = DataUtilities.collection(new Feature[] { (Feature) feature }); + store.setTransaction(GeotoolsTransactionInterceptor.getTransaction()); + Set<?> ids = store.addFeatures(col); + String newId = (String) ids.iterator().next(); + logger.debug("Created feature " + newId + " in " + getFeatureSourceName()); + return read(newId); + } else { + logger.error("Don't know how to create or update " + getFeatureSourceName() + ", class " + + source.getClass().getName() + " does not implement FeatureStore"); + throw new IOException("Create or update not implemented"); + } + + } + + public void update(Object feature) throws IOException { + FeatureSource source = getFeatureSource(); + if (source instanceof FeatureStore) { + FeatureStore store = (FeatureStore) source; + Identifier identifier = new FeatureIdImpl(getFeatureModel().getId(feature)); + Id filter = filterFactory.id(Collections.singleton(identifier)); + store.setTransaction(GeotoolsTransactionInterceptor.getTransaction()); + + AttributeType[] at = store.getSchema().getAttributeTypes(); + Map<String, Object> attrMap = getFeatureModel().getAttributes(feature); + List<Object> attrList = new ArrayList<Object>(); + for (int i = 0; i < attrMap.size(); i++) { + Object value = attrMap.get(at[i].getName()); + attrList.add(value); + } + + store.modifyFeatures(at, attrList.toArray(), (org.geotools.filter.Filter) filter); + store.modifyFeatures(store.getSchema().getDefaultGeometry(), getFeatureModel().getGeometry( + feature), (org.geotools.filter.Filter) filter); + logger.debug("Updated feature " + filter.getIDs().iterator().next() + " in " + + getFeatureSourceName()); + } else { + logger.error("Don't know how to create or update " + getFeatureSourceName() + ", class " + + source.getClass().getName() + " does not implement FeatureStore"); + throw new IOException("Create or update not implemented"); + } + } + + public void delete(String featureId) throws IOException { + FeatureSource source = getFeatureSource(); + if (source instanceof FeatureStore) { + FeatureStore store = (FeatureStore) source; + Identifier identifier = new FeatureIdImpl(featureId); + Id filter = filterFactory.id(Collections.singleton(identifier)); + store.setTransaction(GeotoolsTransactionInterceptor.getTransaction()); + // TODO: is there a non-deprecated way to delete features ????? + store.removeFeatures((org.geotools.filter.Filter) filter); + logger.debug("Deleted feature " + filter.getIDs().iterator().next() + " in " + + getFeatureSourceName()); + } else { + logger.error("Don't know how to delete from " + getFeatureSourceName() + ", class " + + source.getClass().getName() + " does not implement FeatureStore"); + throw new IOException("Delete not implemented"); + } + } + + public Object saveOrUpdate(Object feature) throws IOException { + try { + if (read(getFeatureModel().getId(feature)) == null) { + return create(feature); + } else { + update(feature); + return feature; + } + } catch (NoSuchElementException e) { + return create(feature); + } + } + + public Object read(String featureId) throws IOException { + Identifier identifier = new FeatureIdImpl(featureId); + Id filter = filterFactory.id(Collections.singleton(identifier)); + return getElements(filter).next(); + } + + public Envelope getBounds() throws IOException { + FeatureSource source = getFeatureSource(); + if (source instanceof FeatureStore) { + FeatureStore store = (FeatureStore) source; + store.setTransaction(GeotoolsTransactionInterceptor.getTransaction()); + } + try { + FeatureCollection fc = source.getFeatures(); + Iterator it = fc.iterator(); + GeotoolsTransactionInterceptor.addIterator(fc, it); + + return fc.getBounds(); + } catch (Throwable t) { + if (t instanceof NullPointerException || t instanceof IllegalStateException) { + GeotoolsTransactionInterceptor.closeTransaction(); + } + throw new IOException(t.getCause().getMessage()); + } + } + + /** + * Retrieve the bounds of the specified features. + * + * @return the bounds of the specified features + */ + public Envelope getBounds(Filter filter) throws IOException { + FeatureSource source = getFeatureSource(); + if (source instanceof FeatureStore) { + FeatureStore store = (FeatureStore) source; + store.setTransaction(GeotoolsTransactionInterceptor.getTransaction()); + } + try { + FeatureCollection fc = source.getFeatures((org.geotools.filter.Filter) filter); + Iterator it = fc.iterator(); + GeotoolsTransactionInterceptor.addIterator(fc, it); + + return fc.getBounds(); + } catch (Throwable t) { + if (t instanceof NullPointerException || t instanceof IllegalStateException) { + GeotoolsTransactionInterceptor.closeTransaction(); + } + throw new IOException(t.getCause().getMessage()); + } + } + + public Iterator<?> getElements(Filter filter) throws IOException { + FeatureSource source = getFeatureSource(); + if (source instanceof FeatureStore) { + FeatureStore store = (FeatureStore) source; + store.setTransaction(GeotoolsTransactionInterceptor.getTransaction()); + } + try { + FeatureCollection fc = source.getFeatures((org.geotools.filter.Filter) filter); + Iterator<?> it = fc.iterator(); + GeotoolsTransactionInterceptor.addIterator(fc, it); + + return it; + } catch (Throwable t) { + if (t instanceof NullPointerException || t instanceof IllegalStateException) { + GeotoolsTransactionInterceptor.closeTransaction(); + getElements(filter); + } + throw new IOException(t.getCause().getMessage()); + } + } + + public FeatureModel getFeatureModel() { + return this.featureModel; + } + + public Iterator<?> getObjects(String attributeName, Filter filter) throws IOException { + return Collections.EMPTY_LIST.iterator(); + } + + public LayerModelFactory getFactory() { + return factory; + } +} \ No newline at end of file Copied: trunk/geomajas/layermodels/geomajas-layermodel-geotools/src/main/java/org/geomajas/layermodels/geotools/GeotoolsLayerModelFactory.java (from rev 3778, trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/layermodels/geotools/GeotoolsLayerModelFactory.java) =================================================================== --- trunk/geomajas/layermodels/geomajas-layermodel-geotools/src/main/java/org/geomajas/layermodels/geotools/GeotoolsLayerModelFactory.java (rev 0) +++ trunk/geomajas/layermodels/geomajas-layermodel-geotools/src/main/java/org/geomajas/layermodels/geotools/GeotoolsLayerModelFactory.java 2009-08-24 05:57:09 UTC (rev 3786) @@ -0,0 +1,127 @@ +/* + * This file is part of Geomajas, a component framework for building + * rich Internet applications (RIA) with sophisticated capabilities for the + * display, analysis and management of geographic information. + * It is a building block that allows developers to add maps + * and other geographic data capabilities to their web applications. + * + * Copyright 2008-2009 Geosparc, http://www.geosparc.com, Belgium + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +package org.geomajas.layermodels.geotools; + +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.net.MalformedURLException; +import java.net.URL; +import java.util.Collection; +import java.util.HashMap; +import java.util.Map; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.geomajas.core.application.AbstractLayerModelFactory; +import org.geomajas.core.application.LayerModel; +import org.geomajas.core.application.LayerModelFactory; +import org.geomajas.layermodels.geotools.postgis.NonTypedPostgisFIDMapperFactory; +import org.geomajas.schemas.configuration.FeatureType; +import org.geotools.data.DataStore; +import org.geotools.data.DataStoreFinder; +import org.geotools.data.jdbc.JDBC1DataStore; +import org.geotools.data.jdbc.JDBCDataStore; +import org.geotools.data.postgis.PostgisDataStore; +import org.opengis.filter.Filter; + +public class GeotoolsLayerModelFactory extends AbstractLayerModelFactory { + + private static final Log logger = LogFactory.getLog(GeotoolsLayerModelFactory.class); + + private DataStore store; + + private Map<String, String> parameters; + + public GeotoolsLayerModelFactory(String id, Map<String, String> parameters) { + super(id); + this.parameters = new HashMap<String, String>(parameters); + + if (this.parameters.containsKey("url")) { + boolean urlIsNotFound = false; + String url = this.parameters.get("url"); + try { + URL check = new URL(url); + InputStream in = check.openStream(); + if (in == null) { + throw new IOException("File not found: " + url); + } + in.close(); + } catch (MalformedURLException e) { + urlIsNotFound = true; + } catch (IOException e) { + urlIsNotFound = true; + } + + if (urlIsNotFound) { + if (url.startsWith("file:")) { + try { + url = this.parameters.remove("url"); + File root = new File(parameters.get(LayerModelFactory.PARAM_APPLICATION_DIR)); + url = "file:" + root.getAbsolutePath().replace(File.separator, "/") + "/" + + url.substring(5).replace(File.separator, "/"); + this.parameters.put("url", url); + } catch (NullPointerException e) { + this.parameters.put("url", url); + } + } + } + } + } + + public LayerModel createLayerModel(FeatureType featureType) throws IOException { + logger.debug("createLayerModel() : creating layermodel for " + featureType.getName()); + return new GeotoolsLayerModel(this, getDataStore(), featureType); + } + + public java.util.Map<String, Collection<String>> getRelatedFeatures(int spatialRelation, + LayerModel layer1, LayerModel layer2, Filter filter1, Filter filter2) throws IOException { + if (store instanceof ExtendedDataStore) { + ExtendedDataStore extStore = (ExtendedDataStore) store; + String table1 = ((GeotoolsLayerModel) layer1).getFeatureSourceName(); + String table2 = ((GeotoolsLayerModel) layer2).getFeatureSourceName(); + return extStore.getRelatedFeatures(spatialRelation, table1, table2, filter1, filter2); + } else { + return super.getRelatedFeatures(spatialRelation, layer1, layer2, filter1, filter2); + } + + } + + private DataStore getDataStore() throws IOException { + if (store == null) { + store = DataStoreFinder.getDataStore(parameters); + if (store instanceof PostgisDataStore) { + PostgisDataStore jdbcStore = (PostgisDataStore) store; + jdbcStore.setFIDMapperFactory(new NonTypedPostgisFIDMapperFactory(false)); + } else if (store instanceof JDBCDataStore) { + JDBCDataStore jdbcStore = (JDBCDataStore) store; + jdbcStore.setFIDMapperFactory(new NonTypedFIDMapperFactory()); + } + if (store instanceof JDBC1DataStore) { + store = new ExtendedDataStore((JDBC1DataStore) store); + } + } + return store; + } + +} Copied: trunk/geomajas/layermodels/geomajas-layermodel-geotools/src/main/java/org/geomajas/layermodels/geotools/NonTypedFIDMapperFactory.java (from rev 3778, trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/layermodels/geotools/NonTypedFIDMapperFactory.java) =================================================================== --- trunk/geomajas/layermodels/geomajas-layermodel-geotools/src/main/java/org/geomajas/layermodels/geotools/NonTypedFIDMapperFactory.java (rev 0) +++ trunk/geomajas/layermodels/geomajas-layermodel-geotools/src/main/java/org/geomajas/layermodels/geotools/NonTypedFIDMapperFactory.java 2009-08-24 05:57:09 UTC (rev 3786) @@ -0,0 +1,86 @@ +/* + * This file is part of Geomajas, a component framework for building + * rich Internet applications (RIA) with sophisticated capabilities for the + * display, analysis and management of geographic information. + * It is a building block that allows developers to add maps + * and other geographic data capabilities to their web applications. + * + * Copyright 2008-2009 Geosparc, http://www.geosparc.com, Belgium + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +package org.geomajas.layermodels.geotools; + +import java.io.IOException; +import java.sql.Connection; +import java.util.logging.Level; + +import org.geotools.data.jdbc.fidmapper.DefaultFIDMapperFactory; +import org.geotools.data.jdbc.fidmapper.FIDMapper; + +public class NonTypedFIDMapperFactory extends DefaultFIDMapperFactory { + + public NonTypedFIDMapperFactory() { + super(); + } + + public NonTypedFIDMapperFactory(boolean returnFIDColumnsAsAttributes) { + super(returnFIDColumnsAsAttributes); + } + + /** + * Gets the appropriate FIDMapper for the specified table. Overridden to + * return a non-typed mapper !!!! + * + * @param catalog + * @param schema + * @param tableName + * @param connection + * the active database connection to get table key information + * + * @return the appropriate FIDMapper for the specified table. + * + * @throws IOException + * if any error occurs. + */ + public FIDMapper getMapper(String catalog, String schema, String tableName, Connection connection) + throws IOException { + ColumnInfo[] colInfos = getPkColumnInfo(catalog, schema, tableName, connection); + FIDMapper mapper = null; + + if (colInfos.length == 0) { + mapper = buildNoPKMapper(schema, tableName, connection); + } else if (colInfos.length > 1) { + mapper = buildMultiColumnFIDMapper(schema, tableName, connection, colInfos); + } else { + ColumnInfo ci = colInfos[0]; + + mapper = buildSingleColumnFidMapper(schema, tableName, connection, ci); + } + + if (mapper == null) { + mapper = buildLastResortFidMapper(schema, tableName, connection, colInfos); + + if (mapper == null) { + String msg = "Cannot map primary key to a FID mapper, primary key columns are:\n" + + getColumnInfoList(colInfos); + LOGGER.log(Level.SEVERE, msg); + throw new IOException(msg); + } + } + + return mapper; + } + +} \ No newline at end of file |
Author: pieterdg Date: 2009-08-24 07:56:00 +0200 (Mon, 24 Aug 2009) New Revision: 3785 Added: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/DefaultApplicationController.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/DefaultApplicationCatalog.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/layertree/DefaultRasterImage.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/store/DefaultRenderContent.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/rendering/DefaultMapPaintContext.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/layermodels/hibernate/CriteriaVisitor.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/layermodels/hibernate/HibernateFeatureModel.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/layermodels/hibernate/HibernateLayerModel.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/layermodels/hibernate/HibernateLayerModelFactory.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/layermodels/hibernate/HibernateLayerUtil.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/layermodels/shapeinmem/FeatureSourceRetriever.java Removed: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/ApplicationCommand.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/ApplicationResult.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/CommandInterceptor.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/configuration/ConfigurationException.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/aaa/policy/xml/Role.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/feature/FeatureModel.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/layertree/Layer.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/layertree/LayerTreeNode.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/layertree/LayerType.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/layertree/RasterImage.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/layertree/RasterLayer.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/layertree/VectorLayer.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/style/StyleFilter.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/tile/RenderedTile.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/tile/TileCode.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/algorithm/CachingAlgorithm.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/broker/Broker.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/store/ContentStore.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/store/RenderContent.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/global/MajasConstants.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/json/JSON.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/json/Writable.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/rendering/GraphicsDocument.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/rendering/LayerPaintContext.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/rendering/MapPaintContext.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/rendering/image/RasterUrlBuilder.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/rendering/painters/feature/FeaturePainter.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/rendering/painters/image/FeatureImagePainter.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/rendering/painters/tile/TilePainter.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/rendering/strategy/RenderingStrategy.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/rendering/strategy/rule/RenderingStrategyRule.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/layermodels/geotools/ExtendedDataStore.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/layermodels/geotools/FeatureSourceRetriever.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/layermodels/geotools/NonTypedFIDMapperFactory.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/layermodels/geotools/postgis/NonTypedPostgisFIDMapperFactory.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/layermodels/hibernate/CriteriaVisitor.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/layermodels/hibernate/HibernateFeatureModel.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/layermodels/hibernate/HibernateLayerModel.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/layermodels/hibernate/HibernateLayerModelFactory.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/layermodels/hibernate/HibernateLayerUtil.java Modified: trunk/geomajas/geomajas-impl/pom.xml trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/GetAssociationCommand.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/GetFeatureByCoordinateCommand.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/GetFeaturesByPolygonCommand.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/PersistFeatureTransactionCommand.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/RetrieveBoundingBoxCommand.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/RetrieveRenderedTileCommand.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/SearchFeaturesCommand.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/proxy/GetAttributesCommand.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/proxy/GetGeometryCommand.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/DefaultApplication.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/DefaultMap.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/layertree/AbstractLayer.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/layertree/DefaultLayerTreeNode.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/layertree/DefaultVectorLayer.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/RetrieveImageServlet.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/TileCacheService.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/algorithm/RoundRobinCachingAlgorithm.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/broker/CacheBroker.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/broker/RealTimeBroker.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/store/FileContentStore.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/store/MetaRenderContent.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/global/GGISJSONServlet.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/global/MajasContextListener.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/pdf/component/RasterLayerComponent.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/pdf/configuration/MapConfigurationVisitor.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/rendering/image/MapImageCreator.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/rendering/painters/image/GeometryImagePainter.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/rendering/painters/image/LabelImagePainter.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/rendering/painters/tile/RasterTilePainter.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/rendering/strategy/ExternalWMSRendering.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/rendering/strategy/ImageRendering.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/rendering/strategy/VectorRendering.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/rendering/strategy/rule/RenderBetweenScales.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/rendering/strategy/rule/RenderingTrueRule.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/layermodels/google/GoogleLayer.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/layermodels/osm/OSMLayer.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/layermodels/shapeinmem/ShapeInMemFeatureModel.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/layermodels/shapeinmem/ShapeInMemLayerModel.java trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/layermodels/wms/WMSLayer.java Log: Removing classes that were sent to the geomajas-api module (MAJ-386). Still full of errors though... Modified: trunk/geomajas/geomajas-impl/pom.xml =================================================================== --- trunk/geomajas/geomajas-impl/pom.xml 2009-08-24 05:53:22 UTC (rev 3784) +++ trunk/geomajas/geomajas-impl/pom.xml 2009-08-24 05:56:00 UTC (rev 3785) @@ -72,10 +72,6 @@ </dependency> <dependency> <groupId>org.geotools</groupId> - <artifactId>gt2-api</artifactId> - </dependency> - <dependency> - <groupId>org.geotools</groupId> <artifactId>gt2-epsg-wkt</artifactId> </dependency> <dependency> Deleted: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/ApplicationCommand.java =================================================================== --- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/ApplicationCommand.java 2009-08-24 05:53:22 UTC (rev 3784) +++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/ApplicationCommand.java 2009-08-24 05:56:00 UTC (rev 3785) @@ -1,118 +0,0 @@ -/* - * This file is part of Geomajas, a component framework for building - * rich Internet applications (RIA) with sophisticated capabilities for the - * display, analysis and management of geographic information. - * It is a building block that allows developers to add maps - * and other geographic data capabilities to their web applications. - * - * Copyright 2008-2009 Geosparc, http://www.geosparc.com, Belgium - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -package org.geomajas.command; - -import org.geomajas.core.aaa.UserContext; -import org.geomajas.core.aaa.UserContextAware; -import org.geomajas.core.aaa.policy.SecurityManager; -import org.geomajas.core.application.Application; - -/** - * @version 1.0 - */ -public interface ApplicationCommand extends UserContextAware { - - /** - * Each command has a unique identifier. This is mainly for cancelling - * purposes. - * - * @return Returns this id - */ - public Long getId(); - - /** - * Each command has a unique identifier. This is mainly for cancelling - * purposes. - * - * @param id - * Set this unique identifier. - */ - public void setId(Long id); - - /** - * A command always has to be executed on an <code>Application</code> - * - * @param application - * The application on which to execute this command. - */ - public void setApplication(Application application); - - /** - * A command always has to be executed in a certain user context. If this is - * not set, an anonymous user is assumed. - * - * @param usercontext The application on which to execute this command. - */ - public void setUserContext(UserContext usercontext); - - /** - * Execute this command. - */ - public void execute(); - - /** - * executed after execute() when interceptors are finished - * <p>this method gives you a place to handle exceptions thrown by closing interceptors (specifically hibernate) - * <p>keep in mind that hibernatesession will be closed, so you can't get/change hibernate objects - * <p>Error is already set in result, so you do not need to implement this method if you don't need it - * @param t contains error generated by interceptors (if any) - */ - public void postExecute(Throwable t); - - /** - * Get the result, after execution. - * - * @return Returns the result of this command. - */ - public ApplicationResult getResult(); - - /** - * returns the application on which to execute this command - * - * @return application - */ - public Application getApplication(); - - /** - * returns the user context in which to execute this command - * - * @return user context - */ - public UserContext getUserContext(); - - /** - * Use the securitymanager to check if the requestor has adequate rights to - * execute this command.<br /> Don't forget to set command.errorResult if - * you cancel beforeExecute as execute won't be called anymore<br /> <br /> - * Also don't forget to use the filter provided by - * SecurityManager.checkPermission() - * <p> - * For example:<br/> <code>result = new ApplicationResult();<br /> - result.addErrorMessage("SecurityException: You do not have enough rights to execute this command!"); - * </code> - * - * @param sm security manager - * @return - */ - public boolean checkSecurity(SecurityManager sm); -} Deleted: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/ApplicationResult.java =================================================================== --- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/ApplicationResult.java 2009-08-24 05:53:22 UTC (rev 3784) +++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/ApplicationResult.java 2009-08-24 05:56:00 UTC (rev 3785) @@ -1,90 +0,0 @@ -/* - * This file is part of Geomajas, a component framework for building - * rich Internet applications (RIA) with sophisticated capabilities for the - * display, analysis and management of geographic information. - * It is a building block that allows developers to add maps - * and other geographic data capabilities to their web applications. - * - * Copyright 2008-2009 Geosparc, http://www.geosparc.com, Belgium - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -package org.geomajas.command; - -import java.util.ArrayList; -import java.util.List; - -/** - * AbstractApplicationResult - * - * <p> - * Abstraction of a result object that is to be sent back to the client through - * the JSON protocol. This result object can either hold error-messages, or - * actual data. - * </p> - */ -public class ApplicationResult { - - protected long id; - - protected List<String> errorMessages = null; - - protected long executionTime; - - // Constructors: - - public ApplicationResult() { - errorMessages = new ArrayList<String>(); - } - - public ApplicationResult(List<String> errorMessages) { - this.errorMessages = errorMessages; - } - - // Class specific functions: - - public void addErrorMessage(String message) { - errorMessages.add(message); - } - - // Getters and setters: - - public List<String> getErrorMessages() { - return errorMessages; - } - - public void setErrorMessages(List<String> errorMessages) { - this.errorMessages = errorMessages; - } - - public boolean isError() { - return errorMessages.size() > 0; - } - - public long getId() { - return id; - } - - public void setId(long id) { - this.id = id; - } - - public long getExecutionTime() { - return executionTime; - } - - public void setExecutionTime(long executionTime) { - this.executionTime = executionTime; - } -} \ No newline at end of file Deleted: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/CommandInterceptor.java =================================================================== --- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/CommandInterceptor.java 2009-08-24 05:53:22 UTC (rev 3784) +++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/CommandInterceptor.java 2009-08-24 05:56:00 UTC (rev 3785) @@ -1,43 +0,0 @@ -/* - * This file is part of Geomajas, a component framework for building - * rich Internet applications (RIA) with sophisticated capabilities for the - * display, analysis and management of geographic information. - * It is a building block that allows developers to add maps - * and other geographic data capabilities to their web applications. - * - * Copyright 2008-2009 Geosparc, http://www.geosparc.com, Belgium - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -package org.geomajas.command; - -/** - * Interceptors perform some action before or after a command is executed. - * Interceptors are useful for adding infrastructural behavior in an AOP style. - * Examples are: transaction demarcation, user profile injection,... - * - * @author JanDM - * - */ -public interface CommandInterceptor { - - /** - * @param command - * @return false if execution of command should be cancelled, afterExecute - * will still be called (to allow for cleanup) - */ - public boolean beforeExecute(ApplicationCommand command); - - public void afterExecute(ApplicationCommand command); -} \ No newline at end of file Added: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/DefaultApplicationController.java =================================================================== --- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/DefaultApplicationController.java (rev 0) +++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/DefaultApplicationController.java 2009-08-24 05:56:00 UTC (rev 3785) @@ -0,0 +1,199 @@ +/* + * This file is part of Geomajas, a component framework for building + * rich Internet applications (RIA) with sophisticated capabilities for the + * display, analysis and management of geographic information. + * It is a building block that allows developers to add maps + * and other geographic data capabilities to their web applications. + * + * Copyright 2008-2009 Geosparc, http://www.geosparc.com, Belgium + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +package org.geomajas.command; + +import java.io.IOException; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.geomajas.configuration.ConfigurationException; +import org.geomajas.core.aaa.policy.hibernate.HibernateUserContextManager; +import org.geomajas.core.application.Application; +import org.geomajas.core.application.ApplicationCatalog; + +/** + * The <code>ApplicationController</code> is the main command execution center. + * It accepts command from the client and executes them on the server. + */ +public class DefaultApplicationController implements ApplicationController { + + /** + * A serializable object requires a serialVersionUID. + */ + private static final long serialVersionUID = -1334372707950671271L; + + /** + * Logger. + */ + private static final Log logger = LogFactory + .getLog(DefaultApplicationController.class.getName()); + + /** + * Bean name in jsp + */ + public static final String BEAN_NAME = "ApplicationController"; + + /** + * The catalog of applications + */ + private ApplicationCatalog applicationCatalog; + + /** + * The current application + */ + private Application application; + + /** + * The command interceptors + */ + private List<CommandInterceptor> interceptors; + + private long commandCount = 0; + + private Map<Long, ApplicationCommand> commands; + + // Constructors: + + /** + * Constructor that requires an application catalog object. This + * applicationController is apllicationCatalog aware + * + * @param application + */ + public DefaultApplicationController(ApplicationCatalog applicationCatalog) { + this(); + this.applicationCatalog = applicationCatalog; + } + + /** + * Constructor that requires an application object. This + * applicationController is only application aware. + * + * @param application + */ + public DefaultApplicationController(Application application) { + this(); + this.application = application; + } + + private DefaultApplicationController() { + // set the datasource for the logincommand + UserLoginCommand + .setUserContextManager(new HibernateUserContextManager()); + this.commands = new HashMap<Long, ApplicationCommand>(); + } + + // Other functions: + + /** + * General execution function. This is the one that's being called from the + * client in JavaScript through the <code>JSONRPCBridge</code>. + * + * @param command + * @return + */ + public ApplicationResult execute(String urlParam, ApplicationCommand command) + throws IOException, ConfigurationException { + if (applicationCatalog != null) { + Application application = applicationCatalog + .getApplication(urlParam); + return (execute(application, command)); + } else { + return (execute(this.application, command)); + } + } + + private ApplicationResult execute(Application application, + ApplicationCommand command) throws IOException, + ConfigurationException { + Date begin = new Date(); + interceptors = application.getCommandInterceptors(); // Quickfix !! + + Long id = new Long(++commandCount); + command.setId(id); + this.commands.put(command.getId(), command); + logger.info("Executing command: " + command + "with id=" + + command.getId()); + command.setApplication(application); + + // -- interceptor before + boolean canExecute = interceptBefore(command); + Throwable interceptorException = null; + + // -- execute command + if (canExecute) { // if noone cancelled + command.execute(); + } + + // -- intercept after + try { + interceptAfter(command); + } catch (Exception e) { + interceptorException = e; + } + + // -- postexecute + command.postExecute(interceptorException); + ApplicationResult result = command.getResult(); + + result.setId(id); + Date end = new Date(); + result.setExecutionTime(end.getTime() - begin.getTime()); + this.commands.remove(command.getId()); + return result; + } + + public void addInterceptor(CommandInterceptor interceptor) { + interceptors.add(interceptor); + } + + private boolean interceptBefore(ApplicationCommand command) { + boolean res = true; + if (interceptors != null) { + for (CommandInterceptor interceptor : interceptors) { + if (!interceptor.beforeExecute(command)) { + res = false; + } + } + } + return res; + } + + private void interceptAfter(ApplicationCommand command) { + for (CommandInterceptor interceptor : interceptors) { + interceptor.afterExecute(command); + } + } + + public ApplicationCatalog getApplicationCatalog() { + return applicationCatalog; + } + + public Application getApplication() { + return application; + } +} \ No newline at end of file Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/GetAssociationCommand.java =================================================================== --- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/GetAssociationCommand.java 2009-08-24 05:53:22 UTC (rev 3784) +++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/GetAssociationCommand.java 2009-08-24 05:56:00 UTC (rev 3785) @@ -70,7 +70,7 @@ String mapId = getMapFromLayerId(layer); // String layerId = getLayerFromLayerId(layer); Map map = application.getMap(mapId); - Layer l = map.getLayerManager().getLayer(layer); + Layer l = map.getLayer(layer); // AND the other filter Filter f = null; if (filter != null) { Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/GetFeatureByCoordinateCommand.java =================================================================== --- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/GetFeatureByCoordinateCommand.java 2009-08-24 05:53:22 UTC (rev 3784) +++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/GetFeatureByCoordinateCommand.java 2009-08-24 05:56:00 UTC (rev 3785) @@ -95,7 +95,7 @@ RenderedFeature[] features = new RenderedFeature[layerIds.length]; Map map = application.getMap(getMapFromLayerId(layerIds[0])); for (int i = 0; i < layerIds.length; i++) { - Layer layer = map.getLayerManager().getLayer(layerIds[i]); + Layer layer = map.getLayer(layerIds[i]); if (layer instanceof VectorLayer) { // VectorLayers only! VectorLayer vectorLayer = (VectorLayer) layer; String geomName = vectorLayer.getLayerInfo().getLayerDefinition().getFeatureType() Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/GetFeaturesByPolygonCommand.java =================================================================== --- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/GetFeaturesByPolygonCommand.java 2009-08-24 05:53:22 UTC (rev 3784) +++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/GetFeaturesByPolygonCommand.java 2009-08-24 05:56:00 UTC (rev 3785) @@ -85,7 +85,7 @@ String mapId = getMapFromLayerId(layer); Map map = application.getMap(mapId); - VectorLayer vectorLayer = (VectorLayer) map.getLayerManager().getLayer(layer); + VectorLayer vectorLayer = (VectorLayer) map.getLayer(layer); String geomName = vectorLayer.getLayerInfo().getLayerDefinition().getFeatureType() .getGeometryType().getName(); Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/PersistFeatureTransactionCommand.java =================================================================== --- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/PersistFeatureTransactionCommand.java 2009-08-24 05:53:22 UTC (rev 3784) +++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/PersistFeatureTransactionCommand.java 2009-08-24 05:56:00 UTC (rev 3785) @@ -92,7 +92,7 @@ String mapId = getMapFromLayerId(featureTransaction.getLayerId()); String layerId = featureTransaction.getLayerId(); Map map = application.getMap(mapId); - VectorLayer layer = (VectorLayer) map.getLayerManager().getLayer(layerId); + VectorLayer layer = (VectorLayer) map.getLayer(layerId); FeatureModel featureModel = layer.getLayerModel().getFeatureModel(); Set<RenderedFeature> featuresToDelete = new HashSet<RenderedFeature>(); Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/RetrieveBoundingBoxCommand.java =================================================================== --- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/RetrieveBoundingBoxCommand.java 2009-08-24 05:53:22 UTC (rev 3784) +++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/RetrieveBoundingBoxCommand.java 2009-08-24 05:56:00 UTC (rev 3785) @@ -81,7 +81,7 @@ public void execute() { try { Map map = application.getMap(getMapFromLayerId(layer)); - VectorLayer vLayer = (VectorLayer) map.getLayerManager().getLayer(layer); + VectorLayer vLayer = (VectorLayer) map.getLayer(layer); Filter f = FilterCreator.createFidFilter(features); if (filter != null) f = FilterCreator.createLogicFilter(f, "and", CQL.toFilter(filter)); Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/RetrieveRenderedTileCommand.java =================================================================== --- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/RetrieveRenderedTileCommand.java 2009-08-24 05:53:22 UTC (rev 3784) +++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/RetrieveRenderedTileCommand.java 2009-08-24 05:56:00 UTC (rev 3785) @@ -30,6 +30,7 @@ import org.geomajas.core.application.Map; import org.geomajas.core.application.layertree.VectorLayer; import org.geomajas.core.application.tile.RenderedTile; +import org.geomajas.core.application.tile.TileMetadata; import org.geomajas.core.rendering.strategy.RenderingStrategy; import org.geomajas.core.rendering.strategy.RenderingStrategyFactory; import org.geomajas.schemas.configuration.StyleDefinition; @@ -40,7 +41,7 @@ * @author JanDM * */ -public class RetrieveRenderedTileCommand extends AbstractDataFilterSecurityApplicationCommand { +public class RetrieveRenderedTileCommand extends AbstractDataFilterSecurityApplicationCommand implements TileMetadata { private final Logger log = LoggerFactory.getLogger(RetrieveRenderedTileCommand.class); @@ -113,17 +114,16 @@ String mapId = getMapFromLayerId(layer); Map map = application.getMap(mapId); - VectorLayer vLayer = (VectorLayer) map.getLayerManager().getLayer(layer); + VectorLayer vLayer = (VectorLayer) map.getLayer(layer); RenderingStrategyFactory factory = new RenderingStrategyFactory(); RenderingStrategy strategy = factory.createRenderingStrategy(vLayer.getLayerInfo(), this); try { - RenderedTile tile = strategy.paint(this); + RenderedTile tile = strategy.paint(this, application); ((RetrieveRenderedTileResult) result).setTile(tile); } catch (Exception e) { - log.error("Problem occured rendering tile for layer " + layer + ": " + e.getMessage(), e); - result.addErrorMessage("Problem occured rendering tile for layer " + layer + ": " - + e.getMessage()); + logger.error("Problem occured rendering tile for layer " + layer + ": " + e.getMessage(), e); + result.addErrorMessage("Problem occured rendering tile for layer " + layer + ": " + e.getMessage()); } } Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/SearchFeaturesCommand.java =================================================================== --- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/SearchFeaturesCommand.java 2009-08-24 05:53:22 UTC (rev 3784) +++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/SearchFeaturesCommand.java 2009-08-24 05:56:00 UTC (rev 3785) @@ -77,7 +77,7 @@ public void execute() { result = new SearchFeaturesResult(); Map map = application.getMap(getMapFromLayerId(layerId)); - VectorLayer layer = (VectorLayer) map.getLayerManager().getLayer(layerId); + VectorLayer layer = (VectorLayer) map.getLayer(layerId); FeaturePainter painter = new FeaturePainterImpl(); try { Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/proxy/GetAttributesCommand.java =================================================================== --- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/proxy/GetAttributesCommand.java 2009-08-24 05:53:22 UTC (rev 3784) +++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/proxy/GetAttributesCommand.java 2009-08-24 05:56:00 UTC (rev 3785) @@ -61,7 +61,7 @@ Layer layer; try { Map map = application.getMap(getMapFromLayerId(layerId)); - layer = map.getLayerManager().getLayer(layerId); + layer = map.getLayer(layerId); } catch (NullPointerException e) { layer = null; } Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/proxy/GetGeometryCommand.java =================================================================== --- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/proxy/GetGeometryCommand.java 2009-08-24 05:53:22 UTC (rev 3784) +++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/proxy/GetGeometryCommand.java 2009-08-24 05:56:00 UTC (rev 3785) @@ -61,7 +61,7 @@ Layer layer; try { Map map = application.getMap(getMapFromLayerId(layerId)); - layer = map.getLayerManager().getLayer(layerId); + layer = map.getLayer(layerId); } catch (NullPointerException e) { layer = null; } Deleted: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/configuration/ConfigurationException.java =================================================================== --- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/configuration/ConfigurationException.java 2009-08-24 05:53:22 UTC (rev 3784) +++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/configuration/ConfigurationException.java 2009-08-24 05:56:00 UTC (rev 3785) @@ -1,43 +0,0 @@ -/* - * This file is part of Geomajas, a component framework for building - * rich Internet applications (RIA) with sophisticated capabilities for the - * display, analysis and management of geographic information. - * It is a building block that allows developers to add maps - * and other geographic data capabilities to their web applications. - * - * Copyright 2008-2009 Geosparc, http://www.geosparc.com, Belgium - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -package org.geomajas.configuration; - -public class ConfigurationException extends Exception { - - private static final long serialVersionUID = 0L; - - public ConfigurationException() { - } - - public ConfigurationException(String message, Throwable cause) { - super(message, cause); - } - - public ConfigurationException(String message) { - super(message); - } - - public ConfigurationException(Throwable cause) { - super(cause); - } -} \ No newline at end of file Deleted: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/aaa/policy/xml/Role.java =================================================================== --- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/aaa/policy/xml/Role.java 2009-08-24 05:53:22 UTC (rev 3784) +++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/aaa/policy/xml/Role.java 2009-08-24 05:56:00 UTC (rev 3785) @@ -1,56 +0,0 @@ -/* - * This file is part of Geomajas, a component framework for building - * rich Internet applications (RIA) with sophisticated capabilities for the - * display, analysis and management of geographic information. - * It is a building block that allows developers to add maps - * and other geographic data capabilities to their web applications. - * - * Copyright 2008-2009 Geosparc, http://www.geosparc.com, Belgium - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -package org.geomajas.core.aaa.policy.xml; - -public class Role { - - private String roleName; - - private String applicationName; - - public Role() { - } - - public Role(String roleName, String appName) { - this.roleName = roleName; - this.applicationName = appName; - } - - // ------------------------------------------------------------------------ - - public String getApplicationName() { - return applicationName; - } - - public void setApplicationName(String applicationName) { - this.applicationName = applicationName; - } - - public void setRoleName(String roleName) { - this.roleName = roleName; - } - - public String getRoleName() { - return roleName; - } -} \ No newline at end of file Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/DefaultApplication.java =================================================================== --- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/DefaultApplication.java 2009-08-24 05:53:22 UTC (rev 3784) +++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/DefaultApplication.java 2009-08-24 05:56:00 UTC (rev 3785) @@ -126,6 +126,10 @@ @JSON(serialize = false) public Map getMap(String mapId) { + int pos = mapId.indexOf('.'); + if (pos > 0) { + mapId = mapId.substring(0, pos); + } return mapsById.get(mapId); } Added: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/DefaultApplicationCatalog.java =================================================================== --- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/DefaultApplicationCatalog.java (rev 0) +++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/DefaultApplicationCatalog.java 2009-08-24 05:56:00 UTC (rev 3785) @@ -0,0 +1,128 @@ +/* + * This file is part of Geomajas, a component framework for building + * rich Internet applications (RIA) with sophisticated capabilities for the + * display, analysis and management of geographic information. + * It is a building block that allows developers to add maps + * and other geographic data capabilities to their web applications. + * + * Copyright 2008-2009 Geosparc, http://www.geosparc.com, Belgium + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +package org.geomajas.core.application; + +import java.io.File; +import java.io.FileFilter; +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.geomajas.configuration.ConfigurationException; +import org.geomajas.configuration.ConfigurationParser; +import org.geomajas.configuration.MajasObjectFactory; + +/** + * <p> + * This is a general catalog holding metadata about all known GGIS Applications + * on this server. + * </p> + * <p> + * There is another collection of mappings in this class. A mapping between the + * same application name as above, and the url where the users can find the + * application. + * </p> + * + * @author Pieter De Graef + */ +public class DefaultApplicationCatalog implements ApplicationCatalog { + + /** + * Logger. + */ + private static final Log logger = LogFactory.getLog(DefaultApplicationCatalog.class); + + /** + * Mapping the application url to the application. + */ + private Map<String, Application> applications = new HashMap<String, Application>(); + + /** + * Constructor called from the GGIS service. + */ + public DefaultApplicationCatalog() { + } + + /** + * Read the GGIS catalog xml file. Watch out: this function presumes that + * the AuthorizationInfo object has already been initialized. To avoid this + * problem, there is an init() function, use that instead of this + * readConfig. + * + * @return + */ + public void readConfig(String applicationsDir) throws ConfigurationException { + logger.debug("readConfig() : reading configuration " + applicationsDir); + ConfigurationParser parser = new ConfigurationParser(new MajasObjectFactory(), + "org.geomajas.schemas.configuration", "geomajas-application.xsd"); + + // look for applications + File appDir = new File(applicationsDir); + if (appDir.exists() && appDir.isDirectory()) { + File[] files = appDir.listFiles(new IsApplicationFilter()); + for (int i = 0; i < files.length; i++) { + File applicationDir = files[i]; + File config = new File(applicationDir.getAbsolutePath() + File.separator + "application.xml"); + logger.debug("readConfig() : loading configuration from " + config.getAbsolutePath()); + DefaultApplication app = (DefaultApplication) parser.parseConfiguration(config + .getAbsolutePath()); + app.setId(config.getName()); + app.setApplicationDir(applicationDir.getAbsolutePath()); + parser.finishConfiguration(app, null); + applications.put(app.getUrl(), app); + logger.debug("readConfig() : application " + app.getName() + " added"); + } + } + } + + /** + * Create a new Application, given the URL parameter. + * + * @param urlParam + * @return + * @throws ConfigurationException + */ + public Application getApplication(String urlParam) throws IOException { + Application app = applications.get(urlParam); + if (app == null) { + throw new IOException("missing application for url " + urlParam); + } else { + return app; + } + } + + // is it a directory that contains applications.xml + private class IsApplicationFilter implements FileFilter { + + public boolean accept(File pathname) { + if (pathname.isDirectory()) { + File f = new File(pathname.getAbsolutePath() + File.separator + "application.xml"); + return f.exists(); + } + return false; + } + + } +} \ No newline at end of file Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/DefaultMap.java =================================================================== --- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/DefaultMap.java 2009-08-24 05:53:22 UTC (rev 3784) +++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/DefaultMap.java 2009-08-24 05:56:00 UTC (rev 3785) @@ -36,10 +36,9 @@ /** * <p> - * Server-side representation of the map we see in the browser. It's main - * responsibility is the drawing of features. Since it is server-side, it does - * not actually draw features, but rather transforms them into something the - * client can comprehend. + * Server-side representation of the map we see in the browser. It's main responsibility is the drawing of features. + * Since it is server-side, it does not actually draw features, but rather transforms them into something the client can + * comprehend. * </p> */ public class DefaultMap extends MapConfig implements Map, JAXBConfigurable { @@ -53,10 +52,6 @@ private GeometryFactory geoFactory; - public Layer getLayer(String layerId) { - return getLayerManager().getLayer(layerId); - } - // Getters and setters: public LayerManager getLayerManager() { @@ -84,9 +79,13 @@ public GeometryFactory getGeometryFactory() { if (geoFactory == null) { - geoFactory = new GeometryFactory(new PrecisionModel(Math.pow(10, getPrecision().intValue())), - GeoUtil.getSRIDFromCRS(getDefaultCrs())); + geoFactory = new GeometryFactory(new PrecisionModel(Math.pow(10, getPrecision().intValue())), GeoUtil + .getSRIDFromCRS(getDefaultCrs())); } return geoFactory; } + + public Layer getLayer(String layerId) { + return getLayerManager().getLayer(layerId); + } } \ No newline at end of file Deleted: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/feature/FeatureModel.java =================================================================== --- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/feature/FeatureModel.java 2009-08-24 05:53:22 UTC (rev 3784) +++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/feature/FeatureModel.java 2009-08-24 05:56:00 UTC (rev 3785) @@ -1,145 +0,0 @@ -/* - * This file is part of Geomajas, a component framework for building - * rich Internet applications (RIA) with sophisticated capabilities for the - * display, analysis and management of geographic information. - * It is a building block that allows developers to add maps - * and other geographic data capabilities to their web applications. - * - * Copyright 2008-2009 Geosparc, http://www.geosparc.com, Belgium - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -package org.geomajas.core.application.feature; - -import java.io.IOException; - -import com.vividsolutions.jts.geom.Geometry; - -/** - * A feature model provides sufficient information to generically create/read - * and update a feature. This level of indirection is necessary in order to - * allow features to follow the POJO (Plain Old Java Object) model without - * mandating it. Currently supports flat features. Warning for implementors : - * clients cannot be prevented from modifying attributes or geometries obtained - * by the accessor methods. Return cloned or unmodifiable objects if you want to - * avoid this ! - * - * @author JanDM - * - */ -public interface FeatureModel { - - /** - * returns the attribute value with the given name - * - * @param feature - * the feature - * @param name - * the attribute name - * @return - */ - public Object getAttribute(Object feature, String name) throws IOException; - - /** - * returns all attributes as a map with the attribute name as the key - * - * @param feature - * the feature - * @return map of attribute values - */ - public java.util.Map<String, Object> getAttributes(Object feature) throws IOException; - - /** - * returns the id of a feature - * - * @param feature - * the feature - * @return the feature's id - */ - public String getId(Object feature) throws IOException; - - /** - * returns the geometry of a feature - * - * @param feature - * the feature - * @return the feature's geometry - */ - public Geometry getGeometry(Object feature) throws IOException; - - /** - * sets the attributes of a feature - * - * @param feature - * the feature - * @param attributes - * the attributes - */ - public void setAttributes(Object feature, java.util.Map<String, Object> attributes) throws IOException; - - /** - * sets the geometry of a feature - * - * @param feature - * the feature - * @param geometry - * the geometry - */ - public void setGeometry(Object feature, Geometry geometry) throws IOException; - - /** - * creates a default feature - * - * @return a new feature with default properties only - */ - public Object newInstance() throws IOException; - - /** - * creates a default feature - * - * @param id - * Optional ID. use null, if you want the id to be generated. - * @return a new feature with default properties only - */ - public Object newInstance(String id) throws IOException; - - /** - * returns the coordinate reference system (EPSG:xxxx) - */ - public String getCrs() throws IOException; - - /** - * returns the coordinate reference system - */ - public String getGeometryAttributeName() throws IOException; - - /** - * returns the class extended by this feature model's class - * - * @return the super class or null if there is no super class - * @throws IOException - * if class could not be retrieved TODO: replace by super - * feature model !!! - */ - public Class<?> getSuperClass() throws IOException; - - /** - * Can a given 'feature' object be handled by this FeatureModel? - * - * @param feature - * A object from a LayerModel. - * @return - */ - public boolean canHandle(Object feature); -} \ No newline at end of file Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/layertree/AbstractLayer.java =================================================================== --- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/layertree/AbstractLayer.java 2009-08-24 05:53:22 UTC (rev 3784) +++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/layertree/AbstractLayer.java 2009-08-24 05:56:00 UTC (rev 3785) @@ -27,6 +27,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.geomajas.core.application.Map; +import org.geomajas.core.application.layertree.Layer; import org.geomajas.core.util.GeoUtil; import org.geomajas.schemas.configuration.BaseLayerInfo; import org.geomajas.schemas.configuration.BaseLayerInfo.MaxExtent; Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/layertree/DefaultLayerTreeNode.java =================================================================== --- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/layertree/DefaultLayerTreeNode.java 2009-08-24 05:53:22 UTC (rev 3784) +++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/layertree/DefaultLayerTreeNode.java 2009-08-24 05:56:00 UTC (rev 3785) @@ -29,6 +29,8 @@ import org.geomajas.configuration.JAXBConfigurable; import org.geomajas.core.application.LayerManager; import org.geomajas.core.application.Map; +import org.geomajas.core.application.layertree.Layer; +import org.geomajas.core.application.layertree.LayerTreeNode; import org.geomajas.core.json.JSON; import org.geomajas.schemas.configuration.LayerTreeNodeConfig; Added: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/layertree/DefaultRasterImage.java =================================================================== --- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/layertree/DefaultRasterImage.java (rev 0) +++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/layertree/DefaultRasterImage.java 2009-08-24 05:56:00 UTC (rev 3785) @@ -0,0 +1,140 @@ +/* + * This file is part of Geomajas, a component framework for building + * rich Internet applications (RIA) with sophisticated capabilities for the + * display, analysis and management of geographic information. + * It is a building block that allows developers to add maps + * and other geographic data capabilities to their web applications. + * + * Copyright 2008-2009 Geosparc, http://www.geosparc.com, Belgium + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +package org.geomajas.core.application.layertree; + +import org.geomajas.core.application.layertree.RasterImage; + +import com.vividsolutions.jts.geom.Envelope; + +/** + * A raster image represents all the metadata needed to put an image on a screen. The bounds in the metadata are + * expressed in application coordinates, the indices are expressed in view coordinates (this means that the y-axis is + * flipped) + * + * @author JanDM + * + */ +public class DefaultRasterImage implements RasterImage { + + /** + * URL of the image + */ + private String url; + + /** + * Bounds of the image + */ + private Envelope bounds; + + /** + * Unique id of the image (normally, id = <layer id>+"."+<tile level>+"."+<x-index>,<y-index> ) + */ + private String id; + + /** + * Tile level (0 is 1 image for the maximum extent, 1 is (2x2) images for the maximum extent, etc...) + */ + private int level; + + /** + * x-index in tile coordinates (rightward, first tile is 0) + */ + private int xIndex; + + /** + * y-index in tile coordinates (upward, first tile is 0) + */ + private int yIndex; + + // Constructors: + + /** + * + * @param url + * @param bounds + * @param id + */ + public DefaultRasterImage(String url, Envelope bounds, String id) { + this.url = url; + this.bounds = bounds; + this.id = id; + } + + public DefaultRasterImage(Envelope bounds, String id) { + this(null, bounds, id); + } + + // Getters and setters: + + public Envelope getBounds() { + return bounds; + } + + public void setBounds(Envelope bounds) { + this.bounds = bounds; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public int getLevel() { + return level; + } + + public void setLevel(int level) { + this.level = level; + } + + public int getXIndex() { + return xIndex; + } + + public void setXIndex(int index) { + xIndex = index; + } + + public int getYIndex() { + return yIndex; + } + + public void setYIndex(int index) { + yIndex = index; + } + + public String toString() { + return "[z=" + level + ",x=" + xIndex + ",y=" + yIndex + ",bounds=" + bounds + ",url=" + url + "]"; + } +} Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/layertree/DefaultVectorLayer.java =================================================================== --- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/layertree/DefaultVectorLayer.java 2009-08-24 05:53:22 UTC (rev 3784) +++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/layertree/DefaultVectorLayer.java 2009-08-24 05:56:00 UTC (rev 3785) @@ -32,6 +32,8 @@ import org.slf4j.LoggerFactory; import org.geomajas.core.application.LayerModel; import org.geomajas.core.application.Map; +import org.geomajas.core.application.layertree.LayerTreeNode; +import org.geomajas.core.application.layertree.VectorLayer; import org.geomajas.core.rendering.LayerPaintContextImpl; import org.geomajas.core.rendering.LayerPaintContext; import org.geomajas.core.rendering.painters.feature.FeaturePainter; Deleted: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/layertree/Layer.java =================================================================== --- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/layertree/Layer.java 2009-08-24 05:53:22 UTC (rev 3784) +++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/layertree/Layer.java 2009-08-24 05:56:00 UTC (rev 3785) @@ -1,65 +0,0 @@ -/* - * This file is part of Geomajas, a component framework for building - * rich Internet applications (RIA) with sophisticated capabilities for the - * display, analysis and management of geographic information. - * It is a building block that allows developers to add maps - * and other geographic data capabilities to their web applications. - * - * Copyright 2008-2009 Geosparc, http://www.geosparc.com, Belgium - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -package org.geomajas.core.application.layertree; - -import org.geomajas.core.application.Map; -import org.geomajas.schemas.configuration.BaseLayerInfo; -import org.opengis.referencing.crs.CoordinateReferenceSystem; - -import com.vividsolutions.jts.geom.Envelope; - -public interface Layer { - - public static final int LAYERTYPE_RASTER = 1; - - public static final int LAYERTYPE_POINT = 2; - - public static final int LAYERTYPE_LINESTRING = 3; - - public static final int LAYERTYPE_POLYGON = 4; - - public static final int LAYERTYPE_MULTIPOINT = 5; - - public static final int LAYERTYPE_MULTILINESTRING = 6; - - public static final int LAYERTYPE_MULTIPOLYGON = 7; - - public String getId(); - - public String getLocalId(); - - public Map getMap(); - - public String getLabel(); - - public boolean isVisible(); - - public BaseLayerInfo getInfo(); - - public CoordinateReferenceSystem getCRS(); - - public Envelope getMaxEnvelope(); - - public Envelope getMaxMapEnvelope(); - -} Deleted: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/layertree/LayerTreeNode.java =================================================================== --- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/layertree/LayerTreeNode.java 2009-08-24 05:53:22 UTC (rev 3784) +++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/layertree/LayerTreeNode.java 2009-08-24 05:56:00 UTC... [truncated message content] |
|
From: <sv...@ge...> - 2009-08-24 06:53:12
|
Author: pieterdg Date: 2009-08-24 07:53:22 +0200 (Mon, 24 Aug 2009) New Revision: 3784 Modified: trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/application/Map.java Log: Updating geomajas-API module (MAJ-386) Modified: trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/application/Map.java =================================================================== --- trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/application/Map.java 2009-08-23 14:34:01 UTC (rev 3783) +++ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/application/Map.java 2009-08-24 05:53:22 UTC (rev 3784) @@ -25,6 +25,7 @@ import java.io.IOException; import org.geomajas.core.application.layertree.Layer; +import org.geomajas.schemas.configuration.LayerConfig; import org.opengis.referencing.crs.CoordinateReferenceSystem; import com.vividsolutions.jts.geom.GeometryFactory; @@ -46,4 +47,6 @@ public String getId(); public GeometryFactory getGeometryFactory(); + + public LayerConfig getLayerConfig(); } |
Author: joachimvda
Date: 2009-08-23 16:34:01 +0200 (Sun, 23 Aug 2009)
New Revision: 3783
Modified:
trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/application/layertree/LayerType.java
trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/application/style/StyleFilter.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/GetFeatureByCoordinateCommand.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/RetrieveBoundingBoxCommand.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/UserLoginCommand.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/interceptor/GeotoolsTransactionInterceptor.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/interceptor/HibernateTransactionInterceptor.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/interceptor/UserContextInterceptor.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/BigNumberSerializer.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/ColorSerializer.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/FontSerializer.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/GeometrySerializer.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/RectangleSerializer.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/configuration/ConfigurationParser.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/aaa/policy/Resource.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/aaa/policy/xml/SecurityManager.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/DefaultApplication.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/LayerModelRegistry.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/RasterLayerRegistry.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/feature/FeatureModelRegistry.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/layertree/LayerType.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/style/StyleFilter.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/style/StyleFilterImpl.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/CacheUtil.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/RetrieveImageServlet.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/store/FileContentStore.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/store/MetaRenderContent.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/filters/ExtendedLikeFilterImpl.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/filters/FeatureModelPropertyAccessorFactory.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/filters/FilterCreator.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/filters/TransformerVisitor.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/filters/cql/CQL.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/filters/cql/CQLCompiler.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/filters/cql/PeriodNode.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/filters/cql/SimpleNode.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/global/GGISJSONServlet.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/global/MajasContextListener.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/hibernate/HibernateUtil.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/json/AnnotatedBeanSerializer.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/json/EnumSerializer.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/json/WritableSerializer.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/pdf/PDFContext.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/pdf/component/RasterLayerComponent.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/pdf/component/ScaleBarComponent.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/pdf/configuration/DefaultConfigurationVisitor.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/pdf/configuration/PrintConfiguration.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/rendering/DefaultSVGDocument.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/rendering/DefaultVMLDocument.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/rendering/image/Style2DFactory.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/rendering/painters/feature/TiledFeaturePainter.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/rendering/painters/image/GeometryImagePainter.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/rendering/writers/svg/SVGFeatureTileWriter.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/rendering/writers/svg/SVGLabelTileWriter.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/util/CQLFilterUtils.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/util/CollectionUtils.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/util/Construction.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/util/GeoUtil.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/util/ListDateFormatter.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/util/MortonCode.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/util/StringColorTransformer.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/util/StringUtils.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/util/TypeConverter.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/util/WebSafeStringEncoder.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/layermodels/hibernate/CriteriaVisitor.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/layermodels/hibernate/HibernateFeatureModel.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/layermodels/hibernate/HibernateLayerUtil.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/layermodels/wkt/WKTLayerModel.java
Log:
MAJ-386/MAJ-377 assure checkstyle chcks all pass
Modified: trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/application/layertree/LayerType.java
===================================================================
--- trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/application/layertree/LayerType.java 2009-08-23 12:46:34 UTC (rev 3782)
+++ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/application/layertree/LayerType.java 2009-08-23 14:34:01 UTC (rev 3783)
@@ -30,23 +30,19 @@
*
* @author Pieter De Graef
*/
-public final class LayerType {
+public interface LayerType {
- public static final int RASTER = 1;
+ static final int RASTER = 1;
- public static final int POINT = 2;
+ static final int POINT = 2;
- public static final int LINESTRING = 3;
+ static final int LINESTRING = 3;
- public static final int POLYGON = 4;
+ static final int POLYGON = 4;
- public static final int MULTIPOINT = 5;
+ static final int MULTIPOINT = 5;
- public static final int MULTILINESTRING = 6;
+ static final int MULTILINESTRING = 6;
- public static final int MULTIPOLYGON = 7;
-
- // Needed: otherwise checkstyle will complain...
- private LayerType() {
- }
-}
+ static final int MULTIPOLYGON = 7;
+}
\ No newline at end of file
Modified: trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/application/style/StyleFilter.java
===================================================================
--- trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/application/style/StyleFilter.java 2009-08-23 12:46:34 UTC (rev 3782)
+++ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/application/style/StyleFilter.java 2009-08-23 14:34:01 UTC (rev 3783)
@@ -44,12 +44,12 @@
*
* @return
*/
- public Filter getFilter();
+ Filter getFilter();
/**
* A style definition object as described in the geomajas configuration.
*
* @return
*/
- public StyleDefinition getStyleDefinition();
+ StyleDefinition getStyleDefinition();
}
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/GetFeatureByCoordinateCommand.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/GetFeatureByCoordinateCommand.java 2009-08-23 12:46:34 UTC (rev 3782)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/GetFeatureByCoordinateCommand.java 2009-08-23 14:34:01 UTC (rev 3783)
@@ -76,7 +76,7 @@
private Filter[] filters;
- private static final EnumSet<OperationType> requiredOperations = EnumSet.of(OperationType.READ);
+ private static final EnumSet<OperationType> REQUIRED_OPERATIONS = EnumSet.of(OperationType.READ);
/**
* The coordinate to search features at.
@@ -151,7 +151,7 @@
filters = new Filter[layerIds.length];
for (int i = 0; i < layerIds.length; i++) {
- PermissionResult pr = sm.checkPermission(userContext, requiredOperations, new Resource(
+ PermissionResult pr = sm.checkPermission(userContext, REQUIRED_OPERATIONS, new Resource(
layerIds[i]), application.getUrl());
if (pr.allowed) {
if (pr.filter != null) { // security ok, but need to add a
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/RetrieveBoundingBoxCommand.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/RetrieveBoundingBoxCommand.java 2009-08-23 12:46:34 UTC (rev 3782)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/RetrieveBoundingBoxCommand.java 2009-08-23 14:34:01 UTC (rev 3783)
@@ -60,7 +60,7 @@
/**
* Array of all the elements we want to retrieve properties from.
*/
- private String features[];
+ private String[] features;
private String filter;
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/UserLoginCommand.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/UserLoginCommand.java 2009-08-23 12:46:34 UTC (rev 3782)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/UserLoginCommand.java 2009-08-23 14:34:01 UTC (rev 3783)
@@ -42,7 +42,7 @@
private static final String LOGOUT_ACTION = "LOGOUT";
- private static UserContextManager ucm;
+ private static UserContextManager UCM; // @todo this should probably not be static, spring singleton?
private String action;
@@ -163,13 +163,13 @@
// ------------------------------------------------
public static void setUserContextManager(UserContextManager ucm) {
- UserLoginCommand.ucm = ucm;
+ UserLoginCommand.UCM = ucm;
}
private static UserContextManager getUCM() {
- if (ucm == null)
+ if (UCM == null)
throw new IllegalStateException("UserContextManager is not set");
- return ucm;
+ return UCM;
}
public boolean checkSecurity(SecurityManager sm) {
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/interceptor/GeotoolsTransactionInterceptor.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/interceptor/GeotoolsTransactionInterceptor.java 2009-08-23 12:46:34 UTC (rev 3782)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/interceptor/GeotoolsTransactionInterceptor.java 2009-08-23 14:34:01 UTC (rev 3783)
@@ -46,21 +46,20 @@
*/
public class GeotoolsTransactionInterceptor implements CommandInterceptor {
- private static Logger log = LoggerFactory.getLogger(GeotoolsTransactionInterceptor.class);
+ private static final ThreadLocal THREAD_TRANSACTION = new ThreadLocal();
- private static final ThreadLocal threadTransaction = new ThreadLocal();
+ private static final ThreadLocal<List<IteratorInfo>> THREAD_ITERATORS = new ThreadLocal<List<IteratorInfo>>();
- private static final ThreadLocal<List<IteratorInfo>> threadIterators = new ThreadLocal<List<IteratorInfo>>();
-
/**
* Start a new database transaction.
*/
public static Transaction getTransaction() {
- Transaction tx = (Transaction) threadTransaction.get();
+ Transaction tx = (Transaction) THREAD_TRANSACTION.get();
if (tx == null) {
+ Logger log = LoggerFactory.getLogger(GeotoolsTransactionInterceptor.class);
log.debug("Starting new datastore transaction in this thread.");
tx = new DefaultTransaction("thread");
- threadTransaction.set(tx);
+ THREAD_TRANSACTION.set(tx);
}
return tx;
}
@@ -69,7 +68,8 @@
* Commit the database transaction.
*/
public static void commitTransaction() {
- Transaction tx = (Transaction) threadTransaction.get();
+ Transaction tx = (Transaction) THREAD_TRANSACTION.get();
+ Logger log = LoggerFactory.getLogger(GeotoolsTransactionInterceptor.class);
try {
log.debug("Committing datastore transaction of this thread.");
if (tx != null) {
@@ -86,7 +86,8 @@
* Rollback the database transaction.
*/
public static void rollbackTransaction() {
- Transaction tx = (Transaction) threadTransaction.get();
+ Transaction tx = (Transaction) THREAD_TRANSACTION.get();
+ Logger log = LoggerFactory.getLogger(GeotoolsTransactionInterceptor.class);
try {
if (tx != null) {
log.info("Rolling back database transaction of this thread.");
@@ -101,11 +102,12 @@
* add ea new collection/iterator pair.
*/
public static void addIterator(FeatureCollection fc, Iterator it) {
- List<IteratorInfo> iterators = (List<IteratorInfo>) threadIterators.get();
+ List<IteratorInfo> iterators = (List<IteratorInfo>) THREAD_ITERATORS.get();
+ Logger log = LoggerFactory.getLogger(GeotoolsTransactionInterceptor.class);
if (iterators == null) {
log.debug("Adding datastore iterator in this thread.");
iterators = new ArrayList<IteratorInfo>();
- threadIterators.set(iterators);
+ THREAD_ITERATORS.set(iterators);
}
iterators.add(new IteratorInfo(fc, it));
}
@@ -114,8 +116,9 @@
* Closes all iterators.
*/
public static void closeIterators() {
- List<IteratorInfo> iterators = (List<IteratorInfo>) threadIterators.get();
- threadIterators.set(null);
+ List<IteratorInfo> iterators = (List<IteratorInfo>) THREAD_ITERATORS.get();
+ THREAD_ITERATORS.set(null);
+ Logger log = LoggerFactory.getLogger(GeotoolsTransactionInterceptor.class);
if (iterators != null) {
for (IteratorInfo info : iterators) {
log.debug("Closing datastore iterator in this thread.");
@@ -128,10 +131,11 @@
* Closes the transaction.
*/
public static void closeTransaction() {
- Transaction tx = (Transaction) threadTransaction.get();
+ Transaction tx = (Transaction) THREAD_TRANSACTION.get();
+ Logger log = LoggerFactory.getLogger(GeotoolsTransactionInterceptor.class);
try {
log.debug("closing datastore transaction of this thread.");
- threadTransaction.set(null);
+ THREAD_TRANSACTION.set(null);
if (tx != null) {
log.debug("closing database transaction of this thread.");
tx.close();
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/interceptor/HibernateTransactionInterceptor.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/interceptor/HibernateTransactionInterceptor.java 2009-08-23 12:46:34 UTC (rev 3782)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/interceptor/HibernateTransactionInterceptor.java 2009-08-23 14:34:01 UTC (rev 3783)
@@ -59,23 +59,19 @@
* Thread local map of hibernate sessions (to support multiple hibernate
* configs)
*/
- private static final ThreadLocal<Map<String, Session>> threadSession = new ThreadLocal<Map<String, Session>>();
+ private static final ThreadLocal<Map<String, Session>> THREAD_SESSION = new ThreadLocal<Map<String, Session>>();
/**
* Thread local map of hibernate transactions (to support multiple hibernate
* configs)
*/
- private static final ThreadLocal<Map<String, Transaction>> threadTransaction = new ThreadLocal<Map<String, Transaction>>();
+ private static final ThreadLocal<Map<String, Transaction>> THREAD_TRANSACTION = new ThreadLocal<Map<String, Transaction>>();
- private static boolean hibernateEnabled = true;;
+ private static boolean HIBERNATE_ENABLED = true;
public HibernateTransactionInterceptor() {
}
- public static boolean isHibernateEnabled() {
- return hibernateEnabled;
- }
-
/**
* Retrieves the current Session local to the thread. <p/> If no Session is
* open, opens a new Session for the running thread.
@@ -83,13 +79,13 @@
* @return Session
*/
public static Session getSession(HibernateLayerModelFactory factory) throws IOException {
- if (hibernateEnabled) {
+ if (HIBERNATE_ENABLED) {
// With CMT, this should return
// getSessionFactory().getCurrentSession() and do nothing else
- Map<String, Session> sessions = threadSession.get();
+ Map<String, Session> sessions = THREAD_SESSION.get();
if (sessions == null) {
sessions = new HashMap<String, Session>();
- threadSession.set(sessions);
+ THREAD_SESSION.set(sessions);
}
Session s = sessions.get(factory.getId());
if (s == null) {
@@ -106,10 +102,10 @@
* Closes the Session local to the thread.
*/
public void closeSession() {
- if (hibernateEnabled) {
+ if (HIBERNATE_ENABLED) {
// Would be written as a no-op in an EJB container with CMT
- Map<String, Session> sessions = threadSession.get();
- threadSession.set(null);
+ Map<String, Session> sessions = THREAD_SESSION.get();
+ THREAD_SESSION.set(null);
if (sessions != null) {
for (Session s : sessions.values()) {
if (s.isOpen()) {
@@ -125,12 +121,12 @@
* Start a new database transaction.
*/
public void beginTransaction(HibernateLayerModelFactory factory) {
- if (hibernateEnabled) {
+ if (HIBERNATE_ENABLED) {
// Would be written as a no-op in an EJB container with CMT
- Map<String, Transaction> transactions = threadTransaction.get();
+ Map<String, Transaction> transactions = THREAD_TRANSACTION.get();
if (transactions == null) {
transactions = new HashMap<String, Transaction>();
- threadTransaction.set(transactions);
+ THREAD_TRANSACTION.set(transactions);
}
Transaction tx = transactions.get(factory.getId());
if (tx == null) {
@@ -140,7 +136,7 @@
transactions.put(factory.getId(), tx);
} catch (Exception ex) {
log.warn("Could not start database transaction", ex);
- hibernateEnabled = false;
+ HIBERNATE_ENABLED = false;
}
}
@@ -152,9 +148,9 @@
*/
public void commitTransaction() {
- if (hibernateEnabled) {
+ if (HIBERNATE_ENABLED) {
// Would be written as a no-op in an EJB container with CMT
- Map<String, Transaction> transactions = threadTransaction.get();
+ Map<String, Transaction> transactions = THREAD_TRANSACTION.get();
try {
if (transactions != null) {
for (Transaction tx : transactions.values()) {
@@ -181,7 +177,7 @@
}
throw ex;
}
- threadTransaction.set(null);
+ THREAD_TRANSACTION.set(null);
}
}
@@ -191,9 +187,9 @@
public void rollbackTransaction() {
// Would be written as a no-op in an EJB container with CMT
// (maybe setRollBackOnly...)
- if (hibernateEnabled) {
+ if (HIBERNATE_ENABLED) {
// Would be written as a no-op in an EJB container with CMT
- Map<String, Transaction> transactions = threadTransaction.get();
+ Map<String, Transaction> transactions = THREAD_TRANSACTION.get();
try {
if (transactions != null) {
for (Transaction tx : transactions.values()) {
@@ -206,7 +202,7 @@
} finally {
closeSession();
}
- threadTransaction.set(null);
+ THREAD_TRANSACTION.set(null);
}
}
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/interceptor/UserContextInterceptor.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/interceptor/UserContextInterceptor.java 2009-08-23 12:46:34 UTC (rev 3782)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/interceptor/UserContextInterceptor.java 2009-08-23 14:34:01 UTC (rev 3783)
@@ -39,7 +39,7 @@
private final Logger log = LoggerFactory.getLogger(UserContextInterceptor.class);
- private static final ThreadLocal<UserContext> userContext = new ThreadLocal<UserContext>();
+ private static final ThreadLocal<UserContext> USER_CONTEXT = new ThreadLocal<UserContext>();
public UserContextInterceptor() {
}
@@ -49,7 +49,7 @@
public boolean beforeExecute(ApplicationCommand command) {
log.debug("Putting user context in this thread.");
- UserContext uct = userContext.get();
+ UserContext uct = USER_CONTEXT.get();
if (uct != null) {
command.setUserContext(uct);
return true;
@@ -64,6 +64,6 @@
* used at the start of a new httprequest
*/
public static void setUserContext(UserContext uc) {
- userContext.set(uc);
+ USER_CONTEXT.set(uc);
}
}
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/BigNumberSerializer.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/BigNumberSerializer.java 2009-08-23 12:46:34 UTC (rev 3782)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/BigNumberSerializer.java 2009-08-23 14:34:01 UTC (rev 3783)
@@ -41,16 +41,16 @@
private static final long serialVersionUID = -1265127912351766084L;
- private static Class[] _serializableClasses = new Class[] { BigDecimal.class, BigInteger.class };
+ private static Class[] SERIALIZABLE_CLASSES = new Class[] { BigDecimal.class, BigInteger.class };
- private static Class[] _JSONClasses = new Class[] { JSONObject.class };
+ private static Class[] JSON_CLASSES = new Class[] { JSONObject.class };
public Class[] getSerializableClasses() {
- return _serializableClasses;
+ return SERIALIZABLE_CLASSES;
}
public Class[] getJSONClasses() {
- return _JSONClasses;
+ return JSON_CLASSES;
}
public ObjectMatch tryUnmarshall(SerializerState state, Class clazz, Object jso)
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/ColorSerializer.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/ColorSerializer.java 2009-08-23 12:46:34 UTC (rev 3782)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/ColorSerializer.java 2009-08-23 14:34:01 UTC (rev 3783)
@@ -47,18 +47,18 @@
private static final long serialVersionUID = -1265127912351766084L;
- private static Class[] _serializableClasses = new Class[] { Color.class };
+ private static Class[] SERIALIZABLE_CLASSES = new Class[] { Color.class };
- private static Class[] _JSONClasses = new Class[] { String.class };
+ private static Class[] JSON_CLASSES = new Class[] { String.class };
private ColorAdapter adapter = new ColorAdapter();
public Class[] getSerializableClasses() {
- return _serializableClasses;
+ return SERIALIZABLE_CLASSES;
}
public Class[] getJSONClasses() {
- return _JSONClasses;
+ return JSON_CLASSES;
}
public ObjectMatch tryUnmarshall(SerializerState state, Class clazz, Object jso)
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/FontSerializer.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/FontSerializer.java 2009-08-23 12:46:34 UTC (rev 3782)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/FontSerializer.java 2009-08-23 14:34:01 UTC (rev 3783)
@@ -23,12 +23,10 @@
package org.geomajas.command.jsondata;
import java.awt.Font;
-import java.util.StringTokenizer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.geomajas.configuration.FontAdapter;
-import org.json.JSONObject;
import com.metaparadigm.jsonrpc.AbstractSerializer;
import com.metaparadigm.jsonrpc.MarshallException;
@@ -48,18 +46,18 @@
private static final long serialVersionUID = -1265127912351766084L;
- private static Class[] _serializableClasses = new Class[] { Font.class };
+ private static Class[] SERIALIZABLE_CLASSES = new Class[] { Font.class };
- private static Class[] _JSONClasses = new Class[] { String.class };
+ private static Class[] JSON_CLASSES = new Class[] { String.class };
private FontAdapter adapter = new FontAdapter();
public Class[] getSerializableClasses() {
- return _serializableClasses;
+ return SERIALIZABLE_CLASSES;
}
public Class[] getJSONClasses() {
- return _JSONClasses;
+ return JSON_CLASSES;
}
public ObjectMatch tryUnmarshall(SerializerState state, Class clazz, Object jso)
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/GeometrySerializer.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/GeometrySerializer.java 2009-08-23 12:46:34 UTC (rev 3782)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/GeometrySerializer.java 2009-08-23 14:34:01 UTC (rev 3783)
@@ -73,17 +73,17 @@
private final static long serialVersionUID = 1;
- private static Class[] _serializableClasses = new Class[] { Point.class, LineString.class, Polygon.class,
+ private static Class[] SERIALIZABLE_CLASSES = new Class[] { Point.class, LineString.class, Polygon.class,
LinearRing.class };
- private static Class[] _JSONClasses = new Class[] { JSONObject.class };
+ private static Class[] JSON_CLASSES = new Class[] { JSONObject.class };
public Class[] getSerializableClasses() {
- return _serializableClasses;
+ return SERIALIZABLE_CLASSES;
}
public Class[] getJSONClasses() {
- return _JSONClasses;
+ return JSON_CLASSES;
}
public boolean canSerialize(Class clazz, Class jsonClazz) {
@@ -143,7 +143,7 @@
LinearRing shell = createLinearRing(factory, jsoShell);
JSONArray holeArray = jso.getJSONArray("holes");
- LinearRing holes[] = new LinearRing[holeArray.length()];
+ LinearRing[] holes = new LinearRing[holeArray.length()];
for (int i = 0; i < holeArray.length(); i++) {
JSONObject jsoHole = holeArray.getJSONObject(i);
holes[i] = createLinearRing(factory, jsoHole);
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/RectangleSerializer.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/RectangleSerializer.java 2009-08-23 12:46:34 UTC (rev 3782)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/RectangleSerializer.java 2009-08-23 14:34:01 UTC (rev 3783)
@@ -22,13 +22,8 @@
*/
package org.geomajas.command.jsondata;
-import java.util.Iterator;
-import java.util.Set;
-
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.geomajas.configuration.FontAdapter;
-import org.geomajas.configuration.RectangleAdapter;
import org.json.JSONObject;
import com.lowagie.text.Rectangle;
@@ -51,25 +46,25 @@
private static final long serialVersionUID = -1265127912351766084L;
- private static Class[] _serializableClasses = new Class[] { Rectangle.class };
+ private static Class[] SERIALIZABLE_CLASSES = new Class[] { Rectangle.class };
- private static Class[] _JSONClasses = new Class[] { JSONObject.class };
+ private static Class[] JSON_CLASSES = new Class[] { JSONObject.class };
public Class[] getSerializableClasses() {
- return _serializableClasses;
+ return SERIALIZABLE_CLASSES;
}
public Class[] getJSONClasses() {
- return _JSONClasses;
+ return JSON_CLASSES;
}
public ObjectMatch tryUnmarshall(SerializerState state, Class clazz, Object o) throws UnmarshallException {
JSONObject jso = (JSONObject) o;
- String java_class = jso.getString("javaClass");
- if (java_class == null) {
+ String javaClass = jso.getString("javaClass");
+ if (javaClass == null) {
throw new UnmarshallException("no type hint");
}
- if (!(java_class.equals("com.lowagie.text.Rectangle")))
+ if (!(javaClass.equals("com.lowagie.text.Rectangle")))
throw new UnmarshallException("not a Rectangle");
double x = jso.getDouble("x");
double y = jso.getDouble("y");
@@ -80,11 +75,11 @@
public Object unmarshall(SerializerState state, Class clazz, Object o) throws UnmarshallException {
JSONObject jso = (JSONObject) o;
- String java_class = jso.getString("javaClass");
- if (java_class == null) {
+ String javaClass = jso.getString("javaClass");
+ if (javaClass == null) {
throw new UnmarshallException("no type hint");
}
- if (!(java_class.equals("com.lowagie.text.Rectangle")))
+ if (!(javaClass.equals("com.lowagie.text.Rectangle")))
throw new UnmarshallException("not a Rectangle");
float x = (float) jso.getDouble("x");
float y = (float) jso.getDouble("y");
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/configuration/ConfigurationParser.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/configuration/ConfigurationParser.java 2009-08-23 12:46:34 UTC (rev 3782)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/configuration/ConfigurationParser.java 2009-08-23 14:34:01 UTC (rev 3783)
@@ -164,7 +164,7 @@
parent = target;
}
// check the properties that are also jaxb types
- String props[] = type.propOrder();
+ String[] props = type.propOrder();
BeanInfo inputBeanInfo;
try {
inputBeanInfo = Introspector.getBeanInfo(implClass);
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/aaa/policy/Resource.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/aaa/policy/Resource.java 2009-08-23 12:46:34 UTC (rev 3782)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/aaa/policy/Resource.java 2009-08-23 14:34:01 UTC (rev 3783)
@@ -61,12 +61,8 @@
return true;
int thislen = this.path.length();
if (resource.path.length() > thislen) { // test if it's a subpath
- if (resource.path.startsWith(this.path)
- && DELIM.equals(resource.path.substring(thislen, thislen + 1)))
- // make sure it's not just a name that starts the same
- return true;
- else
- return false;
+ return resource.path.startsWith(this.path)
+ && DELIM.equals(resource.path.substring(thislen, thislen + 1));
} else {
return (this.path.equals(resource.path));
}
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/aaa/policy/xml/SecurityManager.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/aaa/policy/xml/SecurityManager.java 2009-08-23 12:46:34 UTC (rev 3782)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/aaa/policy/xml/SecurityManager.java 2009-08-23 14:34:01 UTC (rev 3783)
@@ -194,7 +194,7 @@
@SuppressWarnings("unchecked")
private static class OperationTypeEnumSetConverter implements Converter {
- private final static Class enumType = OperationType.class;
+ private final static Class ENUM_TYPE = OperationType.class;
public boolean canConvert(Class type) {
return EnumSet.class.isAssignableFrom(type);
@@ -208,7 +208,7 @@
private String joinEnumValues(EnumSet set) {
boolean seenFirst = false;
StringBuffer result = new StringBuffer();
- for (Iterator iterator = set.iterator(); iterator.hasNext();) {
+ for (Iterator iterator = set.iterator(); iterator.hasNext(); ) {
Enum value = (Enum) iterator.next();
if (seenFirst) {
result.append(',');
@@ -221,12 +221,12 @@
}
public Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext context) {
- EnumSet set = EnumSet.noneOf(enumType);
+ EnumSet set = EnumSet.noneOf(ENUM_TYPE);
String[] enumValues = reader.getValue().split(",");
for (int i = 0; i < enumValues.length; i++) {
String enumValue = enumValues[i];
if (enumValue.length() > 0) {
- set.add(Enum.valueOf(enumType, enumValue));
+ set.add(Enum.valueOf(ENUM_TYPE, enumValue));
}
}
return set;
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/DefaultApplication.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/DefaultApplication.java 2009-08-23 12:46:34 UTC (rev 3782)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/DefaultApplication.java 2009-08-23 14:34:01 UTC (rev 3783)
@@ -93,9 +93,9 @@
@Override
public int hashCode() {
- final int PRIME = 31;
+ final int prime = 31;
int result = 1;
- result = PRIME * result + ((id == null) ? 0 : id.hashCode());
+ result = prime * result + ((id == null) ? 0 : id.hashCode());
return result;
}
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/LayerModelRegistry.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/LayerModelRegistry.java 2009-08-23 12:46:34 UTC (rev 3782)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/LayerModelRegistry.java 2009-08-23 14:34:01 UTC (rev 3783)
@@ -36,15 +36,15 @@
private final Logger log = LoggerFactory.getLogger(LayerModelRegistry.class);
- private static LayerModelRegistry instance;
+ private static LayerModelRegistry INSTANCE;
private Map<String, LayerModelFactory> factories = new HashMap<String, LayerModelFactory>();
public static LayerModelRegistry getRegistry() {
- if (instance == null) {
- instance = new LayerModelRegistry();
+ if (INSTANCE == null) {
+ INSTANCE = new LayerModelRegistry();
}
- return instance;
+ return INSTANCE;
}
public LayerModelFactory lookup(String name) {
@@ -96,7 +96,6 @@
} catch (IllegalAccessException e) {
log.error("register() : class " + className + " cannot be accessed", e);
throw new IllegalArgumentException("register() : class " + className + " is abstract");
-
} catch (InstantiationException e) {
log.error("register() : class " + className + " is abstract", e);
throw new IllegalArgumentException("register() : class " + className + " is abstract");
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/RasterLayerRegistry.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/RasterLayerRegistry.java 2009-08-23 12:46:34 UTC (rev 3782)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/RasterLayerRegistry.java 2009-08-23 14:34:01 UTC (rev 3783)
@@ -34,15 +34,15 @@
private final Logger log = LoggerFactory.getLogger(LayerModelRegistry.class);
- private static RasterLayerRegistry instance;
+ private static RasterLayerRegistry INSTANCE;
private Map<String, LayerFactory> factories = new HashMap<String, LayerFactory>();
public static RasterLayerRegistry getRegistry() {
- if (instance == null) {
- instance = new RasterLayerRegistry();
+ if (INSTANCE == null) {
+ INSTANCE = new RasterLayerRegistry();
}
- return instance;
+ return INSTANCE;
}
public LayerFactory lookup(String name) {
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/feature/FeatureModelRegistry.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/feature/FeatureModelRegistry.java 2009-08-23 12:46:34 UTC (rev 3782)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/feature/FeatureModelRegistry.java 2009-08-23 14:34:01 UTC (rev 3783)
@@ -27,15 +27,15 @@
public class FeatureModelRegistry {
- private static FeatureModelRegistry instance;
+ private static FeatureModelRegistry INSTANCE;
private List<FeatureModel> featureModels = new ArrayList<FeatureModel>();
public static FeatureModelRegistry getRegistry() {
- if (instance == null) {
- instance = new FeatureModelRegistry();
+ if (INSTANCE == null) {
+ INSTANCE = new FeatureModelRegistry();
}
- return instance;
+ return INSTANCE;
}
public FeatureModel lookup(Object feature) {
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/layertree/LayerType.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/layertree/LayerType.java 2009-08-23 12:46:34 UTC (rev 3782)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/layertree/LayerType.java 2009-08-23 14:34:01 UTC (rev 3783)
@@ -30,19 +30,19 @@
*
* @author Pieter De Graef
*/
-public class LayerType {
+public interface LayerType {
- public static final int RASTER = 1;
+ static final int RASTER = 1;
- public static final int POINT = 2;
+ static final int POINT = 2;
- public static final int LINESTRING = 3;
+ static final int LINESTRING = 3;
- public static final int POLYGON = 4;
+ static final int POLYGON = 4;
- public static final int MULTIPOINT = 5;
+ static final int MULTIPOINT = 5;
- public static final int MULTILINESTRING = 6;
+ static final int MULTILINESTRING = 6;
- public static final int MULTIPOLYGON = 7;
-}
\ No newline at end of file
+ static final int MULTIPOLYGON = 7;
+}
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/style/StyleFilter.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/style/StyleFilter.java 2009-08-23 12:46:34 UTC (rev 3782)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/style/StyleFilter.java 2009-08-23 14:34:01 UTC (rev 3783)
@@ -38,19 +38,19 @@
/**
* Only needed in case no LayerStyleDefinition is given in the constructor.
*/
- public static final int defaultStyleId = 9999;
+ static final int DEFAULT_STYLE_ID = 9999;
/**
* Return the opengis filter implementation coupled to a style.
*
* @return
*/
- public Filter getFilter();
+ Filter getFilter();
/**
* A style definition object as described in the geomajas configuration.
*
* @return
*/
- public StyleDefinition getStyleDefinition();
+ StyleDefinition getStyleDefinition();
}
\ No newline at end of file
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/style/StyleFilterImpl.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/style/StyleFilterImpl.java 2009-08-23 12:46:34 UTC (rev 3782)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/style/StyleFilterImpl.java 2009-08-23 14:34:01 UTC (rev 3783)
@@ -70,7 +70,7 @@
style.setStrokeOpacity("0");
definition = new StyleDefinition();
- definition.setId(defaultStyleId);
+ definition.setId(DEFAULT_STYLE_ID);
definition.setName("invisible-style");
definition.setFormula("");
definition.setStyle(style);
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/CacheUtil.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/CacheUtil.java 2009-08-23 12:46:34 UTC (rev 3782)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/CacheUtil.java 2009-08-23 14:34:01 UTC (rev 3783)
@@ -38,7 +38,7 @@
*
* @author Pieter De Graef
*/
-public class CacheUtil {
+public final class CacheUtil {
public static final String PARAM_APPLICATION_ID = "appId";
@@ -62,6 +62,8 @@
public static final String PARAM_LABELS = "labels";
+ private CacheUtil() {}
+
/**
* Retrieve the necessary parameters form a <code>HttpServletRequest</code>
* object.
@@ -96,12 +98,12 @@
parameters.put(PARAM_ORIG_Y, Double.parseDouble(request.getParameter(PARAM_ORIG_Y)));
temp = request.getParameter(PARAM_FILTER);
- if (temp != null && temp != "null") {
+ if (temp != null && !"null".equals(temp)) {
parameters.put(PARAM_FILTER, temp);
}
temp = request.getParameter(PARAM_LABELS);
- if (temp != null && temp != "null") {
+ if (temp != null && !"null".equals(temp)) {
parameters.put(PARAM_LABELS, Boolean.parseBoolean(temp));
} else {
parameters.put(PARAM_LABELS, false);
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/RetrieveImageServlet.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/RetrieveImageServlet.java 2009-08-23 12:46:34 UTC (rev 3782)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/RetrieveImageServlet.java 2009-08-23 14:34:01 UTC (rev 3783)
@@ -64,9 +64,9 @@
private static final String DEFAULT_CACHE_DIRECTORY = "WEB-INF/cache";
- private static long totalTime;
+ private static long TOTAL_TIME;
- private static int count = 0;
+ private static int COUNT = 0;
private Calendar calendar;
@@ -157,9 +157,9 @@
Date t2 = new Date();
long time = t2.getTime() - t1.getTime();
- count++;
- totalTime += time;
- log.info("Image rendering time: " + time + ", average: " + (totalTime / count));
+ COUNT++;
+ TOTAL_TIME += time;
+ log.info("Image rendering time: " + time + ", average: " + (TOTAL_TIME / COUNT));
}
public String createExpiresString(int seconds) {
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/store/FileContentStore.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/store/FileContentStore.java 2009-08-23 12:46:34 UTC (rev 3782)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/store/FileContentStore.java 2009-08-23 14:34:01 UTC (rev 3783)
@@ -303,5 +303,10 @@
}
return false;
}
+
+ @Override
+ public int hashCode() {
+ return name != null ? name.hashCode() : 0;
+ }
}
}
\ No newline at end of file
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/store/MetaRenderContent.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/store/MetaRenderContent.java 2009-08-23 12:46:34 UTC (rev 3782)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/store/MetaRenderContent.java 2009-08-23 14:34:01 UTC (rev 3783)
@@ -147,6 +147,11 @@
return false;
}
+ @Override
+ public int hashCode() {
+ return (int)id; // limited calculation to assure it behaves the same as "equals"
+ }
+
/**
* Own toString implementation, making it more readable.
*/
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/filters/ExtendedLikeFilterImpl.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/filters/ExtendedLikeFilterImpl.java 2009-08-23 12:46:34 UTC (rev 3782)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/filters/ExtendedLikeFilterImpl.java 2009-08-23 14:34:01 UTC (rev 3783)
@@ -96,7 +96,8 @@
throw new IllegalArgumentException("do not use single quote (') as special char!");
StringBuffer result = new StringBuffer(pattern.length() + 5);
- for (int i = 0; i < pattern.length(); i++) {
+ int i = 0;
+ while (i < pattern.length()) {
char chr = pattern.charAt(i);
if (chr == escape) {
// emit the next char and skip it
@@ -113,6 +114,7 @@
} else {
result.append(chr);
}
+ i++;
}
return result.toString();
@@ -179,7 +181,8 @@
boolean escapedMode = false;
- for (int i = 0; i < pattern1.length(); i++) {
+ int i = 0;
+ while (i < pattern1.length()) {
char chr = pattern1.charAt(i);
LOGGER.finer("tmp = " + tmp + " looking at " + chr);
@@ -207,11 +210,7 @@
i += (wildcardMulti1.length() - 1);
escapedMode = false;
-
- continue;
- }
-
- if (pattern1.regionMatches(false, i, wildcardSingle1, 0, wildcardSingle1.length())) {
+ } else if (pattern1.regionMatches(false, i, wildcardSingle1, 0, wildcardSingle1.length())) {
// replace with java single wild card
LOGGER.finer("single wildcard");
@@ -226,20 +225,15 @@
i += (wildcardSingle1.length() - 1);
escapedMode = false;
-
- continue;
- }
-
- if (isSpecial(chr)) {
+ } else if (isSpecial(chr)) {
LOGGER.finer("special");
tmp.append(this.escape + chr);
escapedMode = false;
-
- continue;
+ } else {
+ tmp.append(chr);
+ escapedMode = false;
+ i++;
}
-
- tmp.append(chr);
- escapedMode = false;
}
pattern1 = tmp.toString();
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/filters/FeatureModelPropertyAccessorFactory.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/filters/FeatureModelPropertyAccessorFactory.java 2009-08-23 12:46:34 UTC (rev 3782)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/filters/FeatureModelPropertyAccessorFactory.java 2009-08-23 14:34:01 UTC (rev 3783)
@@ -53,7 +53,7 @@
static PropertyAccessor FID_ACCESS = new FeatureModelFidAccessor();
- static Pattern idPattern = Pattern.compile("@(\\w+:)?id");
+ static Pattern ID_PATTERN = Pattern.compile("@(\\w+:)?id");
public PropertyAccessor createPropertyAccessor(Class type, String xpath, Class target, Hints hints) {
@@ -66,7 +66,7 @@
}
// check for fid access
- if (idPattern.matcher(xpath).matches()) {
+ if (ID_PATTERN.matcher(xpath).matches()) {
return FID_ACCESS;
}
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/filters/FilterCreator.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/filters/FilterCreator.java 2009-08-23 12:46:34 UTC (rev 3782)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/filters/FilterCreator.java 2009-08-23 14:34:01 UTC (rev 3783)
@@ -50,10 +50,12 @@
* @author Pieter De Graef
*
*/
-public class FilterCreator {
+public final class FilterCreator {
- private static final FilterFactory ff = FilterFactoryFinder.createFilterFactory();
+ private static final FilterFactory FF = FilterFactoryFinder.createFilterFactory();
+ private FilterCreator() {}
+
/**
* Create a filter which passes all features from the FeatureType within
* featureTypeInfo with attribute values from attribute 'arg2' between
@@ -67,10 +69,10 @@
*/
public static Filter createBetweenFilter(String name, String lowerDouble, String upperDouble) {
- PropertyName attrib = ff.property(name);
- Expression d1 = ff.literal(Double.parseDouble(lowerDouble));
- Expression d2 = ff.literal(Double.parseDouble(upperDouble));
- return ff.between(attrib, d1, d2);
+ PropertyName attrib = FF.property(name);
+ Expression d1 = FF.literal(Double.parseDouble(lowerDouble));
+ Expression d2 = FF.literal(Double.parseDouble(upperDouble));
+ return FF.between(attrib, d1, d2);
}
/**
@@ -84,22 +86,22 @@
*/
public static Filter createCompareFilter(String name, String comparator, String value) {
- PropertyName attrib = ff.property(name);
- Expression val = ff.literal(value);
+ PropertyName attrib = FF.property(name);
+ Expression val = FF.literal(value);
if (comparator.equals("<")) {
- return ff.less(attrib, val);
+ return FF.less(attrib, val);
} else if (comparator.equals(">")) {
- return ff.greater(attrib, val);
+ return FF.greater(attrib, val);
} else if (comparator.equals(">=")) {
- return ff.greaterOrEqual(attrib, val);
+ return FF.greaterOrEqual(attrib, val);
} else if (comparator.equals("<=")) {
- return ff.lessOrEqual(attrib, val);
+ return FF.lessOrEqual(attrib, val);
} else if (comparator.equals("=")) {
- return ff.equals(attrib, val);
+ return FF.equals(attrib, val);
} else if (comparator.equals("==")) {
- return ff.equals(attrib, val);
+ return FF.equals(attrib, val);
} else if (comparator.equals("<>")) {
- return ff.notEqual(attrib, val, false); // XXX ff.notEqual -->(expr1,epr2, matchCase)
+ return FF.notEqual(attrib, val, false); // XXX FF.notEqual -->(expr1,epr2, matchCase)
} else {
throw new IllegalArgumentException("Could not interprete compare filter. Argument (" + value
+ ") not known.");
@@ -118,8 +120,8 @@
*/
public static Filter createLikeFilter(String name, String pattern) {
- PropertyName attrib = ff.property(name);
- return ff.like(attrib, pattern, "*", "?", "\\");
+ PropertyName attrib = FF.property(name);
+ return FF.like(attrib, pattern, "*", "?", "\\");
}
/**
@@ -132,11 +134,11 @@
*/
public static Filter createLogicFilter(Filter filter1, String logic, Filter filter2) {
if (logic.equalsIgnoreCase("and")) {
- return ff.and(filter1, filter2);
+ return FF.and(filter1, filter2);
} else if (logic.equalsIgnoreCase("or")) {
- return ff.or(filter1, filter2);
+ return FF.or(filter1, filter2);
} else if (logic.equalsIgnoreCase("not")) {
- return ff.not(filter1);
+ return FF.not(filter1);
} else {
throw new IllegalArgumentException("Could not interprete logic filter. Argument (" + logic
+ ") not known.");
@@ -149,13 +151,13 @@
* @param featureIDs
* @return
*/
- public static Filter createFidFilter(String featureIDs[]) {
+ public static Filter createFidFilter(String[] featureIDs) {
HashSet ids = new HashSet();
for (int i = 0; i < featureIDs.length; i++) {
String id = featureIDs[i];
ids.add(new FeatureIdImpl(id));
}
- Id filter = ff.id(ids);
+ Id filter = FF.id(ids);
return filter;
}
@@ -168,7 +170,7 @@
* @return
*/
public static Filter createContainsFilter(Geometry geom, String geomName) {
- Expression attrib = ff.property(geomName);
+ Expression attrib = FF.property(geomName);
Expression geo = getGeoToolsFactory().createLiteralExpression(geom);
return getGeoToolsFactory().contains(attrib, geo);
}
@@ -182,7 +184,7 @@
* @return
*/
public static Filter createWithinFilter(Geometry geom, String geomName) {
- Expression attrib = ff.property(geomName);
+ Expression attrib = FF.property(geomName);
Expression geo = getGeoToolsFactory().createLiteralExpression(geom);
return getGeoToolsFactory().within(attrib, geo);
}
@@ -196,7 +198,7 @@
* @return
*/
public static Filter createIntersectsFilter(Geometry geom, String geomName) {
- Expression attrib = ff.property(geomName);
+ Expression attrib = FF.property(geomName);
Expression geo = getGeoToolsFactory().createLiteralExpression(geom);
return getGeoToolsFactory().intersects(attrib, geo);
}
@@ -210,18 +212,18 @@
* @return
*/
public static Filter createTouchesFilter(Geometry geom, String geomName) {
- Expression attrib = ff.property(geomName);
+ Expression attrib = FF.property(geomName);
Expression geo = getGeoToolsFactory().createLiteralExpression(geom);
return getGeoToolsFactory().touches(attrib, geo);
}
public static Filter createBBoxFilter(String epsg, Envelope envelope, String geomName) {
- return ff.bbox(geomName, envelope.getMinX(), envelope.getMinY(), envelope.getMaxX(), envelope
+ return FF.bbox(geomName, envelope.getMinX(), envelope.getMinY(), envelope.getMaxX(), envelope
.getMaxY(), epsg);
}
public static Filter createOverlapsFilter(Geometry geom, String geomName) {
- Expression attrib = ff.property(geomName);
+ Expression attrib = FF.property(geomName);
Expression geo = getGeoToolsFactory().createLiteralExpression(geom);
return getGeoToolsFactory().overlaps(attrib, geo);
}
@@ -245,6 +247,6 @@
}
private static org.geotools.filter.FilterFactory getGeoToolsFactory() {
- return (org.geotools.filter.FilterFactory) ff;
+ return (org.geotools.filter.FilterFactory) FF;
}
}
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/filters/TransformerVisitor.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/filters/TransformerVisitor.java 2009-08-23 12:46:34 UTC (rev 3782)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/filters/TransformerVisitor.java 2009-08-23 14:34:01 UTC (rev 3783)
@@ -22,54 +22,25 @@
*/
package org.geomajas.core.filters;
-import java.util.Iterator;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import com.vividsolutions.jts.geom.Envelope;
+import com.vividsolutions.jts.geom.Geometry;
import org.geomajas.core.util.GeoUtil;
import org.geotools.geometry.jts.JTS;
-import org.opengis.filter.And;
-import org.opengis.filter.ExcludeFilter;
-import org.opengis.filter.Filter;
-import org.opengis.filter.FilterVisitor;
-import org.opengis.filter.Id;
-import org.opengis.filter.IncludeFilter;
-import org.opengis.filter.Not;
-import org.opengis.filter.Or;
-import org.opengis.filter.PropertyIsBetween;
-import org.opengis.filter.PropertyIsEqualTo;
-import org.opengis.filter.PropertyIsGreaterThan;
-import org.opengis.filter.PropertyIsGreaterThanOrEqualTo;
-import org.opengis.filter.PropertyIsLessThan;
-import org.opengis.filter.PropertyIsLessThanOrEqualTo;
-import org.opengis.filter.PropertyIsLike;
-import org.opengis.filter.PropertyIsNotEqualTo;
-import org.opengis.filter.PropertyIsNull;
+import org.opengis.filter.*;
import org.opengis.filter.expression.Literal;
import org.opengis.filter.expression.PropertyName;
-import org.opengis.filter.spatial.BBOX;
-import org.opengis.filter.spatial.Beyond;
-import org.opengis.filter.spatial.Contains;
-import org.opengis.filter.spatial.Crosses;
-import org.opengis.filter.spatial.DWithin;
-import org.opengis.filter.spatial.Disjoint;
-import org.opengis.filter.spatial.Equals;
-import org.opengis.filter.spatial.Intersects;
-import org.opengis.filter.spatial.Overlaps;
-import org.opengis.filter.spatial.Touches;
-import org.opengis.filter.spatial.Within;
+import org.opengis.filter.spatial.*;
import org.opengis.geometry.MismatchedDimensionException;
import org.opengis.referencing.operation.MathTransform;
import org.opengis.referencing.operation.TransformException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
-import com.vividsolutions.jts.geom.Envelope;
-import com.vividsolutions.jts.geom.Geometry;
+import java.util.Iterator;
public class TransformerVisitor implements FilterVisitor {
- /**
- * Logger.
- */
+ /** Logger. */
private final Logger log = LoggerFactory.getLogger(TransformerVisitor.class);
private MathTransform transform;
@@ -83,7 +54,7 @@
public Object visit(And filter, Object userData) {
Filter result = null;
- for (Iterator<?> iter = filter.getChildren().iterator(); iter.hasNext();) {
+ for (Iterator<?> iter = filter.getChildren().iterator(); iter.hasNext(); ) {
Filter element = (Filter) iter.next();
Filter transformed = (Filter) element.accept(this, userData);
if (result == null) {
@@ -102,7 +73,7 @@
public Object visit(Or filter, Object userData) {
Filter result = null;
- for (Iterator<?> iter = filter.getChildren().iterator(); iter.hasNext();) {
+ for (Iterator<?> iter = filter.getChildren().iterator(); iter.hasNext(); ) {
Filter element = (Filter) iter.next();
Filter transformed = (Filter) element.accept(this, userData);
if (result == null) {
@@ -209,10 +180,10 @@
targetGeom.setSRID(GeoUtil.getSRIDFromCRS(targetCRS));
return FilterCreator.createOverlapsFilter(targetGeom, prop.getPropertyName());
} catch (MismatchedDimensionException e) {
- log.error("transformation failed",e);
+ log.error("transformation failed", e);
throw new IllegalArgumentException("transformation failed");
} catch (TransformException e) {
- log.error("transformation failed",e);
+ log.error("transformation failed", e);
throw new IllegalArgumentException("transformation failed");
}
}
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/filters/cql/CQL.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/filters/cql/CQL.java 2009-08-23 12:46:34 UTC (rev 3782)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/filters/cql/CQL.java 2009-08-23 14:34:01 UTC (rev 3783)
@@ -97,7 +97,7 @@
* http://svn.geotools.org/geotools/trunk/gt/modules/library/cql/src
* /main/java/org/geotools/filter/text/cql2/CQL.java $
*/
-public class CQL {
+public final class CQL {
private CQL() {
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/filters/cql/CQLCompiler.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/filters/cql/CQLCompiler.java 2009-08-23 12:46:34 UTC (rev 3782)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/filters/cql/CQLCompiler.java 2009-08-23 14:34:01 UTC (rev 3783)
@@ -77,6 +77,11 @@
final class CQLCompiler extends CQLParser implements CQLParserTreeConstants {
private static final String ATTRIBUTE_PATH_SEPARATOR = "/";
+ private static final String WC_MULTI = "%";
+ private static final String WC_SINGLE = "_";
+ private static final String ESCAPE = "\\";
+ private static final String MULTIPOINT_TYPE = "MULTIPOINT";
+ private static final String ENVELOPE_TYPE = "ENVELOPE";
private static final DateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
@@ -105,23 +110,21 @@
*/
public final Object getResult() {
Result item = resultStack.peek();
- Object result = item.getBuilt();
-
- return result;
+ return item.getBuilt();
}
/**
* Returns the list of Filters built as the result of calling
* {@link #MultipleCompilationUnit()}
*
- * @return
+ * @return list of filters
* @throws CQLException
* if a ClassCastException occurs while casting a built item to
* a Filter.
*/
public final List getResults() throws CQLException {
int size = resultStack.size();
- List results = new ArrayList(size);
+ List<Object> results = new ArrayList<Object>(size);
for (int i = 0; i < size; i++) {
Result item = resultStack.popResult();
@@ -255,10 +258,6 @@
* @throws CQLException
*/
private PropertyIsLike buildLikeFilter() throws CQLException {
- final String WC_MULTI = "%";
- final String WC_SINGLE = "_";
- final String ESCAPE = "\\";
-
try {
org.opengis.filter.expression.Expression pattern = resultStack.popExpression();
org.opengis.filter.expression.Expression expr = resultStack.popExpression();
@@ -397,11 +396,11 @@
case JJTCOMPARISSONPREDICATE_LT_NODE:
case JJTCOMPARISSONPREDICATE_GTE_NODE:
case JJTCOMPARISSONPREDICATE_LTE_NODE:
- return buildBinaryComparasionOperator(n.getType());
+ return buildBinaryComparisonOperator(n.getType());
case JJTCOMPARISSONPREDICATE_NOT_EQUAL_NODE:
- Filter eq = buildBinaryComparasionOperator(JJTCOMPARISSONPREDICATE_EQ_NODE);
+ Filter eq = buildBinaryComparisonOperator(JJTCOMPARISSONPREDICATE_EQ_NODE);
Not notFilter = filterFactory.not(eq);
return notFilter;
@@ -840,10 +...
[truncated message content] |
Author: joachimvda
Date: 2009-08-23 14:46:34 +0200 (Sun, 23 Aug 2009)
New Revision: 3782
Modified:
trunk/geomajas-dojo-example/pom.xml
trunk/geomajas-dojo-simple/pom.xml
trunk/geomajas-gwt-example/pom.xml
trunk/geomajas-gwt-simple/pom.xml
trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/policy/SecurityManager.java
trunk/geomajas/geomajas-gwt-client/pom.xml
trunk/geomajas/geomajas-impl/pom.xml
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/AbstractBasicSecurityApplicationCommand.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/AbstractDataFilterSecurityApplicationCommand.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/AddStyleCommand.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/ApplicationCommand.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/ApplicationController.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/GetAssociationCommand.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/GetConfigurationCommand.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/GetFeatureByCoordinateCommand.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/GetFeaturesByPolygonCommand.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/GetTemplatePrintCommand.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/ListPrintTemplatesCommand.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/LogCommand.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/MergePolygonCommand.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/PersistFeatureTransactionCommand.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/PrintCommand.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/RemoveStyleCommand.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/RetrieveBoundingBoxCommand.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/RetrieveRasterDataCommand.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/RetrieveRenderedTileCommand.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/SavePrintTemplateCommand.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/SplitPolygonCommand.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/UserLoginCommand.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/UserMaximumExtentCommand.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/interceptor/GeotoolsTransactionInterceptor.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/interceptor/HibernateTransactionInterceptor.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/interceptor/UserContextInterceptor.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/BigNumberSerializer.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/ColorSerializer.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/Coordinate.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/FontSerializer.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/GeometrySerializer.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/MapExtent.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/RectangleSerializer.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/configuration/ConfigurationParser.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/configuration/LoggingListener.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/configuration/control/ConfigControl.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/aaa/policy/SecurityManager.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/aaa/policy/hibernate/HibernateUserContextManager.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/aaa/policy/xml/SecurityManager.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/ApplicationCatalog.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/DefaultApplication.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/DefaultLayerFactory.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/LayerManager.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/LayerModelRegistry.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/RasterLayerRegistry.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/layertree/AbstractLayer.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/application/layertree/DefaultVectorLayer.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/RetrieveImageServlet.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/TileCacheService.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/broker/CacheBroker.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/broker/RealTimeBroker.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/cache/store/FileContentStore.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/filters/TransformerVisitor.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/filters/cql/CQL.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/global/GGISJSONServlet.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/global/MajasContextListener.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/global/RESTServlet.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/hibernate/GenericHibernateDAO.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/json/AnnotatedBeanSerializer.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/json/JSONObjectWriter.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/pdf/PDFContext.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/pdf/component/BaseComponent.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/pdf/component/RasterLayerComponent.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/pdf/component/VectorLayerComponent.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/pdf/configuration/HibernatePrintTemplateDAO.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/pdf/configuration/PrintTemplate.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/pdf/document/AbstractDocument.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/pdf/document/SinglePageDocument.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/rendering/image/MapImageCreator.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/rendering/painters/tile/VectorTilePainter.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/rendering/writers/svg/SVGFeatureScreenWriter.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/rendering/writers/svg/SVGLabelTileWriter.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/rendering/writers/vml/VMLFeatureScreenWriter.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/rendering/writers/vml/VMLLabelTileWriter.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/util/CQLFilterUtils.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/util/Construction.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/util/StringTrimmerListener.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/layermodels/geotools/GeotoolsFeatureModel.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/layermodels/geotools/GeotoolsLayerModel.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/layermodels/geotools/GeotoolsLayerModelFactory.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/layermodels/google/GoogleLayer.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/layermodels/hibernate/HibernateFeatureModel.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/layermodels/hibernate/HibernateLayerModel.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/layermodels/hibernate/HibernateLayerModelFactory.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/layermodels/hibernate/HibernateLayerUtil.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/layermodels/maxcoordsimplifier/MaxCoordSimplifierLayerModelFactory.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/layermodels/osm/OSMLayer.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/layermodels/readonlysimplifier/ReadOnlySimplifierLayerModelFactory.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/layermodels/shapeinmem/ShapeInMemFeatureModel.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/layermodels/wkt/WKTLayerModel.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/layermodels/wms/WMSLayer.java
trunk/geomajas/pom.xml
Log:
MAJ-385 switch to slf4j for logging
Modified: trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/policy/SecurityManager.java
===================================================================
--- trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/policy/SecurityManager.java 2009-08-22 10:01:26 UTC (rev 3781)
+++ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/policy/SecurityManager.java 2009-08-23 12:46:34 UTC (rev 3782)
@@ -34,7 +34,7 @@
*/
public class SecurityManager {
-// private static final Log log = LogFactory.getLog(SecurityManager.class);
+// private final Logger log = LoggerFactory.getLogger(SecurityManager.class);
// have priority over roleRules
private List<PolicyRule> userRules = new ArrayList<PolicyRule>();
Modified: trunk/geomajas/geomajas-gwt-client/pom.xml
===================================================================
--- trunk/geomajas/geomajas-gwt-client/pom.xml 2009-08-22 10:01:26 UTC (rev 3781)
+++ trunk/geomajas/geomajas-gwt-client/pom.xml 2009-08-23 12:46:34 UTC (rev 3782)
@@ -8,14 +8,14 @@
<groupId>org.geomajas</groupId>
<artifactId>geomajas-gwt-client</artifactId>
<packaging>jar</packaging>
- <name>Geomajas gwt face, client side</name>
+ <name>Geomajas gwt face, client side</name>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
- </dependency>
+ </dependency>
</dependencies>
</project>
Modified: trunk/geomajas/geomajas-impl/pom.xml
===================================================================
--- trunk/geomajas/geomajas-impl/pom.xml 2009-08-22 10:01:26 UTC (rev 3781)
+++ trunk/geomajas/geomajas-impl/pom.xml 2009-08-23 12:46:34 UTC (rev 3782)
@@ -144,10 +144,6 @@
<artifactId>commons-lang</artifactId>
</dependency>
<dependency>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- </dependency>
- <dependency>
<groupId>commons-el</groupId>
<artifactId>commons-el</artifactId>
</dependency>
@@ -157,9 +153,10 @@
</dependency>
<dependency>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
</dependency>
+
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/AbstractBasicSecurityApplicationCommand.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/AbstractBasicSecurityApplicationCommand.java 2009-08-22 10:01:26 UTC (rev 3781)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/AbstractBasicSecurityApplicationCommand.java 2009-08-23 12:46:34 UTC (rev 3782)
@@ -22,9 +22,9 @@
*/
package org.geomajas.command;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
import org.geomajas.core.aaa.policy.SecurityManager;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* Extends AbstractApplicationCommand with basic security (User must be logged
@@ -32,7 +32,7 @@
*/
public abstract class AbstractBasicSecurityApplicationCommand extends AbstractApplicationCommand {
- private static final Log logger = LogFactory.getLog(AbstractBasicSecurityApplicationCommand.class);
+ private final Logger log = LoggerFactory.getLogger(AbstractBasicSecurityApplicationCommand.class);
public boolean checkSecurity(SecurityManager sm) {
if (getUserContext().isAuthenticated() && getUserContext().getUser() != null) {
@@ -56,7 +56,7 @@
result = new ApplicationResult();
result.addErrorMessage(message);
if (logmessage != null)
- logger.warn(logmessage);
+ log.warn(logmessage);
return false;
}
}
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/AbstractDataFilterSecurityApplicationCommand.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/AbstractDataFilterSecurityApplicationCommand.java 2009-08-22 10:01:26 UTC (rev 3781)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/AbstractDataFilterSecurityApplicationCommand.java 2009-08-23 12:46:34 UTC (rev 3782)
@@ -24,8 +24,8 @@
import java.util.EnumSet;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.geomajas.core.aaa.policy.OperationType;
import org.geomajas.core.aaa.policy.PermissionResult;
import org.geomajas.core.aaa.policy.Resource;
@@ -42,7 +42,7 @@
public abstract class AbstractDataFilterSecurityApplicationCommand extends
AbstractBasicSecurityApplicationCommand {
- private static final Log logger = LogFactory.getLog(AbstractDataFilterSecurityApplicationCommand.class);
+ private final Logger log = LoggerFactory.getLogger(AbstractDataFilterSecurityApplicationCommand.class);
/**
* @return The layer which contains the data
@@ -61,13 +61,15 @@
/**
* this result will be returned to the client when securitycheck fails<br>
* add an errormessage if you want to notify the client of the failure
+ *
+ * @return result
*/
public abstract ApplicationResult getEmptyResult();
public boolean checkSecurity(SecurityManager sm) {
- logger.debug("Checking security: user: "
- + (userContext.getUser() == null ? "null" : userContext.getUser().getUserName()) + " - "
- + getRequiredOperations() + " - " + getLayer() + " - " + application.getUrl());
+ log.debug("Checking security: user: {} - {} - {} - {}", new Object[] {
+ (userContext.getUser() == null ? "null" : userContext.getUser().getUserName()),
+ getRequiredOperations(), getLayer(), application.getUrl() });
if (!super.checkSecurity(sm))
return false;
@@ -84,7 +86,7 @@
if (fltr != null) {
securityFilter = CQLFilterUtils.toString(FilterCreator.createLogicFilter(CQLFilterUtils.toFilter(fltr), "and",
CQLFilterUtils.toFilter(securityFilter)));
- logger.debug("FilterString: " + securityFilter);
+ log.debug("FilterString: " + securityFilter);
}
setFilter(securityFilter);
} catch (IllegalArgumentException iae) {
@@ -110,8 +112,7 @@
protected boolean setErrorResult(String message, String logmessage) {
result = getEmptyResult();
result.addErrorMessage(message);
- if (logmessage != null)
- logger.warn(logmessage);
+ if (logmessage != null) log.warn(logmessage);
return false;
}
}
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/AddStyleCommand.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/AddStyleCommand.java 2009-08-22 10:01:26 UTC (rev 3781)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/AddStyleCommand.java 2009-08-23 12:46:34 UTC (rev 3782)
@@ -22,8 +22,8 @@
*/
package org.geomajas.command;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.geomajas.core.application.Map;
import org.geomajas.core.application.layertree.Layer;
import org.geomajas.core.application.layertree.VectorLayer;
@@ -31,7 +31,7 @@
public class AddStyleCommand extends AbstractBasicSecurityApplicationCommand {
- private static final Log logger = LogFactory.getLog(AddStyleCommand.class);
+ private final Logger log = LoggerFactory.getLogger(AddStyleCommand.class);
private String layerId;
@@ -47,7 +47,7 @@
// ApplicationCommand implementation:
public void execute() {
- logger.debug("Adding a new style to layer " + layerId);
+ log.debug("Adding a new style to layer {}", layerId);
String mapId = getMapFromLayerId(layerId);
Map map = application.getMap(mapId);
Layer layer = map.getLayer(layerId);
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/ApplicationCommand.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/ApplicationCommand.java 2009-08-22 10:01:26 UTC (rev 3781)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/ApplicationCommand.java 2009-08-23 12:46:34 UTC (rev 3782)
@@ -29,7 +29,6 @@
/**
* @version 1.0
- * @created 21-Mar-2006 9:06:40 AM
*/
public interface ApplicationCommand extends UserContextAware {
@@ -62,8 +61,7 @@
* A command always has to be executed in a certain user context. If this is
* not set, an anonymous user is assumed.
*
- * @param application
- * The application on which to execute this command.
+ * @param usercontext The application on which to execute this command.
*/
public void setUserContext(UserContext usercontext);
@@ -77,7 +75,7 @@
* <p>this method gives you a place to handle exceptions thrown by closing interceptors (specifically hibernate)
* <p>keep in mind that hibernatesession will be closed, so you can't get/change hibernate objects
* <p>Error is already set in result, so you do not need to implement this method if you don't need it
- * @param contains error generated by interceptors (if any)
+ * @param t contains error generated by interceptors (if any)
*/
public void postExecute(Throwable t);
@@ -113,7 +111,7 @@
result.addErrorMessage("SecurityException: You do not have enough rights to execute this command!");
* </code>
*
- * @param sm
+ * @param sm security manager
* @return
*/
public boolean checkSecurity(SecurityManager sm);
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/ApplicationController.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/ApplicationController.java 2009-08-22 10:01:26 UTC (rev 3781)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/ApplicationController.java 2009-08-23 12:46:34 UTC (rev 3782)
@@ -29,8 +29,8 @@
import java.util.List;
import java.util.Map;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.geomajas.configuration.ConfigurationException;
import org.geomajas.core.aaa.policy.hibernate.HibernateUserContextManager;
import org.geomajas.core.application.Application;
@@ -50,7 +50,7 @@
/**
* Logger.
*/
- private static final Log logger = LogFactory.getLog(ApplicationController.class.getName());
+ private final Logger log = LoggerFactory.getLogger(ApplicationController.class.getName());
/**
* Bean name in jsp
@@ -133,7 +133,7 @@
Long id = new Long(++commandCount);
command.setId(id);
this.commands.put(command.getId(), command);
- logger.info("Executing command: " + command + "with id=" + command.getId());
+ log.info("Executing command: " + command + "with id=" + command.getId());
command.setApplication(application);
// -- interceptor before
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/GetAssociationCommand.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/GetAssociationCommand.java 2009-08-22 10:01:26 UTC (rev 3781)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/GetAssociationCommand.java 2009-08-23 12:46:34 UTC (rev 3782)
@@ -25,8 +25,8 @@
import java.io.IOException;
import java.util.Iterator;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.geomajas.core.application.Map;
import org.geomajas.core.application.layertree.Layer;
import org.geomajas.core.application.layertree.VectorLayer;
@@ -36,7 +36,7 @@
public class GetAssociationCommand extends AbstractBasicSecurityApplicationCommand {
- private static final Log logger = LogFactory.getLog(GetAssociationCommand.class);
+ private final Logger log = LoggerFactory.getLogger(GetAssociationCommand.class);
/**
* layer we want to retrieve vectordata from.
@@ -86,10 +86,10 @@
}
}
} catch (IOException e) {
- logger.error("execute() : problem accessing layer", e);
+ log.error("execute() : problem accessing layer", e);
result.addErrorMessage("problem accessing layer");
} catch (CQLException e) {
- logger.error("execute() : problem filtering layer", e);
+ log.error("execute() : problem filtering layer", e);
result.addErrorMessage("problem accessing layer");
}
}
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/GetConfigurationCommand.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/GetConfigurationCommand.java 2009-08-22 10:01:26 UTC (rev 3781)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/GetConfigurationCommand.java 2009-08-23 12:46:34 UTC (rev 3782)
@@ -22,8 +22,8 @@
*/
package org.geomajas.command;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.geomajas.configuration.ConfigurationException;
/**
@@ -38,7 +38,7 @@
*/
public class GetConfigurationCommand extends AbstractBasicSecurityApplicationCommand {
- private static final Log logger = LogFactory.getLog(GetConfigurationCommand.class);
+ private final Logger log = LoggerFactory.getLogger(GetConfigurationCommand.class);
// Construtors:
@@ -50,9 +50,9 @@
public void execute() {
try {
result = new GetConfigurationResult(application, version);
- logger.debug("execute() : application " + application.getName());
+ log.debug("execute() : application {}", application.getName());
} catch (ConfigurationException e) {
- logger.error("execute() : ", e);
+ log.error("execute() : ", e);
// throw new RuntimeException(e.getMessage());
result.addErrorMessage(e.getMessage());
}
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/GetFeatureByCoordinateCommand.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/GetFeatureByCoordinateCommand.java 2009-08-22 10:01:26 UTC (rev 3781)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/GetFeatureByCoordinateCommand.java 2009-08-23 12:46:34 UTC (rev 3782)
@@ -27,8 +27,8 @@
import java.util.EnumSet;
import java.util.List;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.geomajas.core.aaa.policy.OperationType;
import org.geomajas.core.aaa.policy.PermissionResult;
import org.geomajas.core.aaa.policy.Resource;
@@ -56,7 +56,7 @@
*/
public class GetFeatureByCoordinateCommand extends AbstractBasicSecurityApplicationCommand {
- private static final Log logger = LogFactory.getLog(GetFeatureByCoordinateCommand.class);
+ private final Logger log = LoggerFactory.getLogger(GetFeatureByCoordinateCommand.class);
/**
* Search type in which the layers are searched from the beginning to the
@@ -116,7 +116,7 @@
}
}
} catch (IOException e) {
- logger.error("Problem accessing layer: " + e.getLocalizedMessage());
+ log.error("Problem accessing layer: " + e.getLocalizedMessage());
}
}
}
@@ -160,9 +160,9 @@
String securityFilter = StringUtils.substituteParameters(pr.filter, userContext
.getUser().getRoleProperties());
filters[i] = CQL.toFilter(securityFilter);
- logger.debug("FilterString: " + filters[i].toString());
+ log.debug("FilterString: {}", filters[i]);
} catch (CQLException e) {
- logger.warn("Failed parsing filter", e);
+ log.warn("Failed parsing filter", e);
result = new ApplicationResult();
result.addErrorMessage("Fout bij filteren! (GetFeatureByCoordinateCommand)");
return false;
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/GetFeaturesByPolygonCommand.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/GetFeaturesByPolygonCommand.java 2009-08-22 10:01:26 UTC (rev 3781)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/GetFeaturesByPolygonCommand.java 2009-08-23 12:46:34 UTC (rev 3782)
@@ -27,8 +27,8 @@
import java.util.EnumSet;
import java.util.List;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.geomajas.core.aaa.policy.OperationType;
import org.geomajas.core.application.Map;
import org.geomajas.core.application.feature.RenderedFeature;
@@ -57,7 +57,7 @@
public class GetFeaturesByPolygonCommand extends AbstractDataFilterSecurityApplicationCommand {
- private static final Log logger = LogFactory.getLog(GetFeaturesByPolygonCommand.class);
+ private final Logger log = LoggerFactory.getLogger(GetFeaturesByPolygonCommand.class);
/**
* layer we want to retrieve vectordata from.
@@ -117,7 +117,7 @@
result = new SearchFeaturesResult(layer, features.toArray(new RenderedFeature[] {}));
} catch (IOException e) {
- logger.error("execute() : problem accessing layer", e);
+ log.error("execute() : problem accessing layer", e);
result.addErrorMessage("problem accessing layer");
}
}
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/GetTemplatePrintCommand.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/GetTemplatePrintCommand.java 2009-08-22 10:01:26 UTC (rev 3781)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/GetTemplatePrintCommand.java 2009-08-23 12:46:34 UTC (rev 3782)
@@ -22,8 +22,8 @@
*/
package org.geomajas.command;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.geomajas.core.pdf.PDFContainer;
import org.geomajas.core.pdf.configuration.PrintTemplate;
import org.geomajas.core.pdf.document.AbstractDocument;
@@ -42,7 +42,7 @@
public class GetTemplatePrintCommand extends AbstractBasicSecurityApplicationCommand {
- private static final Log logger = LogFactory.getLog(GetTemplatePrintCommand.class);
+ private final Logger log = LoggerFactory.getLogger(GetTemplatePrintCommand.class);
/**
* Print template to be used
@@ -65,7 +65,7 @@
private String pageSize = null;
public void execute() {
- logger.info("Generating pdf...");
+ log.info("Generating pdf...");
if (pageSize != null) {
template.getPage().setSize(getPageSize(), true);
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/ListPrintTemplatesCommand.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/ListPrintTemplatesCommand.java 2009-08-22 10:01:26 UTC (rev 3781)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/ListPrintTemplatesCommand.java 2009-08-23 12:46:34 UTC (rev 3782)
@@ -27,8 +27,8 @@
import javax.xml.bind.JAXBException;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.geomajas.core.pdf.configuration.PrintConfiguration;
import org.geomajas.core.pdf.configuration.PrintTemplate;
import org.geomajas.core.pdf.configuration.PrintTemplateDAO;
@@ -36,7 +36,7 @@
public class ListPrintTemplatesCommand extends AbstractBasicSecurityApplicationCommand {
- private static final Log logger = LogFactory.getLog(ListPrintTemplatesCommand.class);
+ private final Logger log = LoggerFactory.getLogger(ListPrintTemplatesCommand.class);
/**
* Default constructor.
@@ -60,14 +60,14 @@
// add to the result
((ListPrintTemplatesResult) result).getTemplates().add(template);
} catch (JAXBException e) {
- logger.warn("Bad template : " + template.getName(), e);
+ log.warn("Bad template : " + template.getName(), e);
}
}
if (!hasDefault(templates)) {
((ListPrintTemplatesResult) result).getTemplates().add(createDefault());
}
} catch (IOException e) {
- logger.error("Could not access templates, falling back to default", e);
+ log.error("Could not access templates, falling back to default", e);
PrintTemplate template = createDefault();
// add to the result
((ListPrintTemplatesResult) result).getTemplates().add(template);
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/LogCommand.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/LogCommand.java 2009-08-22 10:01:26 UTC (rev 3781)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/LogCommand.java 2009-08-23 12:46:34 UTC (rev 3782)
@@ -23,9 +23,8 @@
package org.geomajas.command;
-import org.apache.log4j.Logger;
-import org.geomajas.command.AbstractApplicationCommand;
-import org.geomajas.command.ApplicationResult;
+import org.slf4j.LoggerFactory;
+import org.slf4j.Logger;
public class LogCommand extends AbstractBasicSecurityApplicationCommand {
@@ -37,7 +36,7 @@
private static final int LEVEL_ERROR = 3;
- private static final Logger logger = Logger.getLogger(LogCommand.class);
+ private final Logger log = LoggerFactory.getLogger(LogCommand.class);
private String statement;
@@ -48,16 +47,16 @@
public void execute() {
switch (level) {
case LEVEL_DEBUG:
- logger.debug(statement);
+ log.debug(statement);
break;
case LEVEL_INFO:
- logger.info(statement);
+ log.info(statement);
break;
case LEVEL_WARN:
- logger.warn(statement);
+ log.warn(statement);
break;
case LEVEL_ERROR:
- logger.error(statement);
+ log.error(statement);
break;
}
result = new ApplicationResult();
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/MergePolygonCommand.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/MergePolygonCommand.java 2009-08-22 10:01:26 UTC (rev 3781)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/MergePolygonCommand.java 2009-08-23 12:46:34 UTC (rev 3782)
@@ -22,8 +22,8 @@
*/
package org.geomajas.command;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import com.vividsolutions.jts.geom.Geometry;
import com.vividsolutions.jts.geom.GeometryFactory;
@@ -40,7 +40,7 @@
*/
public class MergePolygonCommand extends AbstractBasicSecurityApplicationCommand {
- private static final Log logger = LogFactory.getLog(MergePolygonCommand.class);
+ private final Logger log = LoggerFactory.getLogger(MergePolygonCommand.class);
private Polygon[] polygons;
@@ -54,7 +54,7 @@
// ApplicationCommand implementation:
public void execute() {
- logger.debug("Merging polygons...");
+ log.debug("Merging polygons...");
Geometry temp = polygons[0];
for (int i = 1; i < polygons.length; i++) {
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/PersistFeatureTransactionCommand.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/PersistFeatureTransactionCommand.java 2009-08-22 10:01:26 UTC (rev 3781)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/PersistFeatureTransactionCommand.java 2009-08-23 12:46:34 UTC (rev 3782)
@@ -30,8 +30,8 @@
import java.util.NoSuchElementException;
import java.util.Set;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.geomajas.core.aaa.policy.OperationType;
import org.geomajas.core.application.Map;
import org.geomajas.core.application.feature.FeatureModel;
@@ -55,7 +55,7 @@
*/
public class PersistFeatureTransactionCommand extends AbstractDataFilterSecurityApplicationCommand {
- private static final Log logger = LogFactory.getLog(PersistFeatureTransactionCommand.class);
+ private final Logger log = LoggerFactory.getLogger(PersistFeatureTransactionCommand.class);
private FeatureTransaction featureTransaction;
@@ -262,9 +262,9 @@
e.printStackTrace();
} catch (SecurityException se) {
if(userContext != null && userContext.getUser() != null) {
- logger.warn("SecurityException: " + userContext.getUser().getUserName() + " - " + se.getMessage());
+ log.warn("SecurityException: " + userContext.getUser().getUserName() + " - " + se.getMessage());
} else {
- logger.warn("SecurityException: " + se.getMessage());
+ log.warn("SecurityException: " + se.getMessage());
}
//TODO: i18n
result.addErrorMessage("Beveiligingsfout: " + se.getMessage());
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/PrintCommand.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/PrintCommand.java 2009-08-22 10:01:26 UTC (rev 3781)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/PrintCommand.java 2009-08-23 12:46:34 UTC (rev 3782)
@@ -22,8 +22,8 @@
*/
package org.geomajas.command;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.geomajas.core.pdf.PDFContainer;
import org.geomajas.core.pdf.configuration.PrintTemplate;
import org.geomajas.core.pdf.document.AbstractDocument;
@@ -31,7 +31,7 @@
public class PrintCommand extends AbstractBasicSecurityApplicationCommand {
- private static final Log logger = LogFactory.getLog(PrintCommand.class);
+ private final Logger log = LoggerFactory.getLogger(PrintCommand.class);
/**
* Print template
@@ -54,7 +54,7 @@
private String pageSize = "A4";
public void execute() {
- logger.info("Generating pdf...");
+ log.info("Generating pdf...");
template.getPage().setSize(getPageSize(), true);
SinglePageDocument pdfDoc = new SinglePageDocument(template.getPage(), getApplication());
// Set file meta options
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/RemoveStyleCommand.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/RemoveStyleCommand.java 2009-08-22 10:01:26 UTC (rev 3781)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/RemoveStyleCommand.java 2009-08-23 12:46:34 UTC (rev 3782)
@@ -24,8 +24,8 @@
import java.util.List;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.geomajas.core.application.Map;
import org.geomajas.core.application.layertree.Layer;
import org.geomajas.core.application.layertree.VectorLayer;
@@ -33,7 +33,7 @@
public class RemoveStyleCommand extends AbstractBasicSecurityApplicationCommand {
- private static final Log logger = LogFactory.getLog(RemoveStyleCommand.class);
+ private final Logger log = LoggerFactory.getLogger(RemoveStyleCommand.class);
private String layerId;
@@ -47,7 +47,7 @@
// ApplicationCommand implementation:
public void execute() {
- logger.debug("Removing a style from layer " + layerId);
+ log.debug("Removing a style from layer {}", layerId);
boolean succes = false;
String mapId = getMapFromLayerId(layerId);
Map map = application.getMap(mapId);
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/RetrieveBoundingBoxCommand.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/RetrieveBoundingBoxCommand.java 2009-08-22 10:01:26 UTC (rev 3781)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/RetrieveBoundingBoxCommand.java 2009-08-23 12:46:34 UTC (rev 3782)
@@ -25,8 +25,8 @@
import java.io.IOException;
import java.util.EnumSet;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.geomajas.command.jsondata.MapExtent;
import org.geomajas.core.aaa.policy.OperationType;
import org.geomajas.core.application.Map;
@@ -50,7 +50,7 @@
*/
public class RetrieveBoundingBoxCommand extends AbstractDataFilterSecurityApplicationCommand {
- private static final Log logger = LogFactory.getLog(RetrieveBoundingBoxCommand.class);
+ private final Logger log = LoggerFactory.getLogger(RetrieveBoundingBoxCommand.class);
/**
* Defines the layer we want to retrieve properties from.
@@ -89,7 +89,7 @@
Envelope bounds = vLayer.getLayerModel().getBounds(f);
result = new RetrieveBoundingBoxResult(new MapExtent(bounds));
} catch (IOException e) {
- logger.error("execute() : problem accessing layer", e);
+ log.error("execute() : problem accessing layer", e);
result = new RetrieveBoundingBoxResult();
result.addErrorMessage("problem accessing layer");
} catch (CQLException e) {
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/RetrieveRasterDataCommand.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/RetrieveRasterDataCommand.java 2009-08-22 10:01:26 UTC (rev 3781)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/RetrieveRasterDataCommand.java 2009-08-23 12:46:34 UTC (rev 3782)
@@ -25,8 +25,8 @@
import java.io.IOException;
import java.util.List;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.geomajas.command.jsondata.AABBox;
import org.geomajas.core.application.Map;
import org.geomajas.core.application.layertree.RasterImage;
@@ -49,7 +49,7 @@
*/
public class RetrieveRasterDataCommand extends AbstractBasicSecurityApplicationCommand {
- private static final Log logger = LogFactory.getLog(RetrieveRasterDataCommand.class);
+ private final Logger log = LoggerFactory.getLogger(RetrieveRasterDataCommand.class);
/**
* The layer's id.
@@ -82,17 +82,17 @@
Map map = application.getMap(getMapFromLayerId(layer));
RasterLayer rasterlayer = ((RasterLayer) map.getLayer(layer));
List<RasterImage> images;
- logger.debug("execute() : aabbox " + aabbox);
+ log.debug("execute() : aabbox {}", aabbox);
images = rasterlayer.paint(aabbox.toEnvelope(), scale);
// Create a JSON result object:
- logger.debug("execute() : returning " + images.size() + " images");
+ log.debug("execute() : returning {} images", images.size());
result = new RetrieveRasterDataResult(images);
if (images.size() > 0) {
((RetrieveRasterDataResult) result).setNodeId(rasterlayer.getId() + "."
+ images.get(0).getLevel());
}
} catch (IOException e) {
- logger.error("execute() : problem accessing layer " + layer, e);
+ log.error("execute() : problem accessing layer " + layer, e);
result.addErrorMessage("problem accessing layer");
}
}
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/RetrieveRenderedTileCommand.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/RetrieveRenderedTileCommand.java 2009-08-22 10:01:26 UTC (rev 3781)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/RetrieveRenderedTileCommand.java 2009-08-23 12:46:34 UTC (rev 3782)
@@ -24,8 +24,8 @@
import java.util.EnumSet;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.geomajas.core.aaa.policy.OperationType;
import org.geomajas.core.application.Map;
import org.geomajas.core.application.layertree.VectorLayer;
@@ -42,7 +42,7 @@
*/
public class RetrieveRenderedTileCommand extends AbstractDataFilterSecurityApplicationCommand {
- private static final Log logger = LogFactory.getLog(RetrieveRenderedTileCommand.class);
+ private final Logger log = LoggerFactory.getLogger(RetrieveRenderedTileCommand.class);
private String version;
@@ -121,7 +121,7 @@
RenderedTile tile = strategy.paint(this);
((RetrieveRenderedTileResult) result).setTile(tile);
} catch (Exception e) {
- logger.error("Problem occured rendering tile for layer " + layer + ": " + e.getMessage(), e);
+ log.error("Problem occured rendering tile for layer " + layer + ": " + e.getMessage(), e);
result.addErrorMessage("Problem occured rendering tile for layer " + layer + ": "
+ e.getMessage());
}
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/SavePrintTemplateCommand.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/SavePrintTemplateCommand.java 2009-08-22 10:01:26 UTC (rev 3781)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/SavePrintTemplateCommand.java 2009-08-23 12:46:34 UTC (rev 3782)
@@ -26,15 +26,15 @@
import javax.xml.bind.JAXBException;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.geomajas.core.pdf.configuration.PrintConfiguration;
import org.geomajas.core.pdf.configuration.PrintTemplate;
import org.geomajas.core.pdf.configuration.PrintTemplateDAO;
public class SavePrintTemplateCommand extends AbstractBasicSecurityApplicationCommand {
- private static final Log logger = LogFactory.getLog(SavePrintTemplateCommand.class);
+ private final Logger log = LoggerFactory.getLogger(SavePrintTemplateCommand.class);
private PrintTemplate template;
@@ -52,7 +52,7 @@
try {
template.encode();
} catch (JAXBException e) {
- logger.error("template " + template.getName() + " cannot be converted to XML", e);
+ log.error("template " + template.getName() + " cannot be converted to XML", e);
result.addErrorMessage("template " + template.getName() + " cannot be converted to XML");
}
template.setId(null);
@@ -63,7 +63,7 @@
dao.makePersistent(template);
}
} catch (IOException e) {
- logger.error("Could not persist template " + template.getName(), e);
+ log.error("Could not persist template " + template.getName(), e);
result.addErrorMessage("Could not persist template " + template.getName());
}
}
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/SplitPolygonCommand.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/SplitPolygonCommand.java 2009-08-22 10:01:26 UTC (rev 3781)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/SplitPolygonCommand.java 2009-08-23 12:46:34 UTC (rev 3782)
@@ -22,8 +22,8 @@
*/
package org.geomajas.command;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import com.vividsolutions.jts.geom.CoordinateSequence;
import com.vividsolutions.jts.geom.CoordinateSequenceFilter;
@@ -44,7 +44,7 @@
*/
public class SplitPolygonCommand extends AbstractBasicSecurityApplicationCommand {
- private static final Log logger = LogFactory.getLog(SplitPolygonCommand.class);
+ private final Logger log = LoggerFactory.getLogger(SplitPolygonCommand.class);
private Polygon polygon;
@@ -58,7 +58,7 @@
// ApplicationCommand implementation:
public void execute() {
- logger.info("Splitting a geometry...");
+ log.info("Splitting a geometry...");
// convert to most accurate precision model
GeometryFactory factory = new GeometryFactory(new PrecisionModel(), polygon.getFactory().getSRID());
Polygon p = (Polygon) factory.createGeometry(polygon);
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/UserLoginCommand.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/UserLoginCommand.java 2009-08-22 10:01:26 UTC (rev 3781)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/UserLoginCommand.java 2009-08-23 12:46:34 UTC (rev 3782)
@@ -24,15 +24,15 @@
import java.io.IOException;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.geomajas.core.aaa.User;
import org.geomajas.core.aaa.UserContextManager;
import org.geomajas.core.aaa.policy.SecurityManager;
public class UserLoginCommand extends AbstractApplicationCommand {
- private static final Log log = LogFactory.getLog(UserLoginCommand.class);
+ private final Logger log = LoggerFactory.getLogger(UserLoginCommand.class);
private static final String INFO_ACTION = "INFO";
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/UserMaximumExtentCommand.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/UserMaximumExtentCommand.java 2009-08-22 10:01:26 UTC (rev 3781)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/UserMaximumExtentCommand.java 2009-08-23 12:46:34 UTC (rev 3782)
@@ -25,8 +25,8 @@
import java.util.ArrayList;
import java.util.EnumSet;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.geomajas.command.jsondata.AABBox;
import org.geomajas.core.aaa.policy.OperationType;
import org.geomajas.core.aaa.policy.PermissionResult;
@@ -52,7 +52,7 @@
public class UserMaximumExtentCommand extends AbstractBasicSecurityApplicationCommand {
- private static final Log log = LogFactory.getLog(UserMaximumExtentCommand.class);
+ private final Logger log = LoggerFactory.getLogger(UserMaximumExtentCommand.class);
private Filter[] filters;
@@ -116,7 +116,7 @@
Layer layer;
DefaultMap map = (DefaultMap) application.getMap(mapId);
CoordinateReferenceSystem mapCRS = CRS.decode(map.getCrs());
- log.debug("mapcrs: " + map.getCrs());
+ log.debug("mapcrs: {}", map.getCrs());
Envelope extent = new Envelope();
if (layers.length == 0) {
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/interceptor/GeotoolsTransactionInterceptor.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/interceptor/GeotoolsTransactionInterceptor.java 2009-08-22 10:01:26 UTC (rev 3781)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/interceptor/GeotoolsTransactionInterceptor.java 2009-08-23 12:46:34 UTC (rev 3782)
@@ -27,8 +27,8 @@
import java.util.Iterator;
import java.util.List;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.geomajas.command.ApplicationCommand;
import org.geomajas.command.CommandInterceptor;
import org.geotools.data.DefaultTransaction;
@@ -46,7 +46,7 @@
*/
public class GeotoolsTransactionInterceptor implements CommandInterceptor {
- private static Log log = LogFactory.getLog(GeotoolsTransactionInterceptor.class);
+ private static Logger log = LoggerFactory.getLogger(GeotoolsTransactionInterceptor.class);
private static final ThreadLocal threadTransaction = new ThreadLocal();
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/interceptor/HibernateTransactionInterceptor.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/interceptor/HibernateTransactionInterceptor.java 2009-08-22 10:01:26 UTC (rev 3781)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/interceptor/HibernateTransactionInterceptor.java 2009-08-23 12:46:34 UTC (rev 3782)
@@ -28,8 +28,6 @@
import java.util.List;
import java.util.Map;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
import org.geomajas.command.ApplicationCommand;
import org.geomajas.command.CommandInterceptor;
import org.geomajas.core.application.LayerModelFactory;
@@ -39,6 +37,8 @@
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.exception.ConstraintViolationException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* Basic Hibernate helper class, handles SessionFactory, Session and
@@ -54,8 +54,7 @@
*/
public class HibernateTransactionInterceptor implements CommandInterceptor {
- private static Log log = LogFactory.getLog(HibernateTransactionInterceptor.class);
-
+ private final Logger log = LoggerFactory.getLogger(HibernateTransactionInterceptor.class);
/**
* Thread local map of hibernate sessions (to support multiple hibernate
* configs)
@@ -94,7 +93,6 @@
}
Session s = sessions.get(factory.getId());
if (s == null) {
- log.debug("Opening new Session for this thread.");
s = factory.getSessionFactory().openSession();
sessions.put(factory.getId(), s);
}
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/interceptor/UserContextInterceptor.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/interceptor/UserContextInterceptor.java 2009-08-22 10:01:26 UTC (rev 3781)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/interceptor/UserContextInterceptor.java 2009-08-23 12:46:34 UTC (rev 3782)
@@ -22,8 +22,8 @@
*/
package org.geomajas.command.interceptor;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.geomajas.command.ApplicationCommand;
import org.geomajas.command.CommandInterceptor;
import org.geomajas.core.aaa.UserContext;
@@ -37,7 +37,7 @@
*/
public class UserContextInterceptor implements CommandInterceptor {
- private static final Log log = LogFactory.getLog(UserContextInterceptor.class);
+ private final Logger log = LoggerFactory.getLogger(UserContextInterceptor.class);
private static final ThreadLocal<UserContext> userContext = new ThreadLocal<UserContext>();
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/BigNumberSerializer.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/BigNumberSerializer.java 2009-08-22 10:01:26 UTC (rev 3781)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/BigNumberSerializer.java 2009-08-23 12:46:34 UTC (rev 3782)
@@ -25,8 +25,8 @@
import java.math.BigDecimal;
import java.math.BigInteger;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.json.JSONObject;
import com.metaparadigm.jsonrpc.AbstractSerializer;
@@ -37,7 +37,7 @@
public class BigNumberSerializer extends AbstractSerializer {
- private static final Log logger = LogFactory.getLog(GeometrySerializer.class);
+ private final Logger log = LoggerFactory.getLogger(GeometrySerializer.class);
private static final long serialVersionUID = -1265127912351766084L;
@@ -74,7 +74,7 @@
}
public Object marshall(SerializerState state, Object o) throws MarshallException {
- logger.debug("\nMarshalling object in the BigNumberSerializer\n");
+ log.debug("\nMarshalling object in the BigNumberSerializer\n");
if (o instanceof BigInteger) {
return ((BigInteger) o).longValue();
} else if (o instanceof BigDecimal) {
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/ColorSerializer.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/ColorSerializer.java 2009-08-22 10:01:26 UTC (rev 3781)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/ColorSerializer.java 2009-08-23 12:46:34 UTC (rev 3782)
@@ -25,8 +25,8 @@
import java.awt.Color;
import java.awt.Font;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.geomajas.configuration.ColorAdapter;
import com.metaparadigm.jsonrpc.AbstractSerializer;
@@ -43,7 +43,7 @@
*/
public class ColorSerializer extends AbstractSerializer {
- private static final Log logger = LogFactory.getLog(GeometrySerializer.class);
+ private final Logger log = LoggerFactory.getLogger(GeometrySerializer.class);
private static final long serialVersionUID = -1265127912351766084L;
@@ -75,7 +75,7 @@
try {
return adapter.unmarshal((String) jso);
} catch (Exception e) {
- logger.error("cannot convert object " + jso + " to type " + clazz.getName(), e);
+ log.error("cannot convert object " + jso + " to type " + clazz.getName(), e);
throw new UnmarshallException("cannot convert object " + jso + " to type " + clazz.getName());
}
}
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/Coordinate.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/Coordinate.java 2009-08-22 10:01:26 UTC (rev 3781)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/Coordinate.java 2009-08-23 12:46:34 UTC (rev 3782)
@@ -25,12 +25,12 @@
import org.apache.commons.lang.builder.EqualsBuilder;
import org.apache.commons.lang.builder.HashCodeBuilder;
import org.apache.commons.lang.builder.ToStringBuilder;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class Coordinate implements Cloneable {
- private static final Log logger = LogFactory.getLog(Coordinate.class);
+ private final Logger log = LoggerFactory.getLogger(Coordinate.class);
private double x;
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/FontSerializer.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/FontSerializer.java 2009-08-22 10:01:26 UTC (rev 3781)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/FontSerializer.java 2009-08-23 12:46:34 UTC (rev 3782)
@@ -25,8 +25,8 @@
import java.awt.Font;
import java.util.StringTokenizer;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.geomajas.configuration.FontAdapter;
import org.json.JSONObject;
@@ -44,7 +44,7 @@
*/
public class FontSerializer extends AbstractSerializer {
- private static final Log logger = LogFactory.getLog(GeometrySerializer.class);
+ private final Logger log = LoggerFactory.getLogger(GeometrySerializer.class);
private static final long serialVersionUID = -1265127912351766084L;
@@ -76,7 +76,7 @@
try {
return adapter.unmarshal((String) jso);
} catch (Exception e) {
- logger.error("cannot convert object " + jso + " to type " + clazz.getName(), e);
+ log.error("cannot convert object " + jso + " to type " + clazz.getName(), e);
throw new UnmarshallException("cannot convert object " + jso + " to type " + clazz.getName());
}
}
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/GeometrySerializer.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/GeometrySerializer.java 2009-08-22 10:01:26 UTC (rev 3781)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/GeometrySerializer.java 2009-08-23 12:46:34 UTC (rev 3782)
@@ -22,8 +22,8 @@
*/
package org.geomajas.command.jsondata;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.json.JSONArray;
import org.json.JSONObject;
@@ -47,7 +47,7 @@
public class GeometrySerializer extends AbstractSerializer {
- private static final Log logger = LogFactory.getLog(GeometrySerializer.class);
+ private final Logger log = LoggerFactory.getLogger(GeometrySerializer.class);
private static String TYPE_POINT = "Point";
@@ -343,7 +343,7 @@
} else if (geom instanceof MultiPoint) {
return TYPE_MULTIPOINT;
} else {
- logger.error("getType() : type " + geom.getClass().getName() + " unknown");
+ log.error("getType() : type " + geom.getClass().getName() + " unknown");
return "unknown";
}
}
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/MapExtent.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/MapExtent.java 2009-08-22 10:01:26 UTC (rev 3781)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/MapExtent.java 2009-08-23 12:46:34 UTC (rev 3782)
@@ -22,8 +22,8 @@
*/
package org.geomajas.command.jsondata;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import com.vividsolutions.jts.geom.Envelope;
@@ -40,7 +40,7 @@
*/
public class MapExtent implements Cloneable {
- private static final Log logger = LogFactory.getLog(MapExtent.class);
+ private final Logger log = LoggerFactory.getLogger(MapExtent.class);
/**
* ID of the grid cell for the client.
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/RectangleSerializer.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/jsondata/RectangleS...
[truncated message content] |
|
From: <sv...@ge...> - 2009-08-22 11:01:15
|
Author: pieterdg Date: 2009-08-22 12:01:26 +0200 (Sat, 22 Aug 2009) New Revision: 3781 Modified: trunk/geomajas/geomajas-api/ Log: Committing "svn:ignore" properties. Property changes on: trunk/geomajas/geomajas-api ___________________________________________________________________ Added: svn:ignore + .classpath .project target .settings |
|
From: <sv...@ge...> - 2009-08-22 11:00:37
|
Author: pieterdg Date: 2009-08-22 12:00:50 +0200 (Sat, 22 Aug 2009) New Revision: 3780 Modified: trunk/geomajas/geomajas-api/src/main/resources/ Log: Committing "svn:ignore" properties. Property changes on: trunk/geomajas/geomajas-api/src/main/resources ___________________________________________________________________ Added: svn:ignore + META-INF |
Author: pieterdg Date: 2009-08-22 11:59:45 +0200 (Sat, 22 Aug 2009) New Revision: 3779 Added: trunk/geomajas/geomajas-api/src/main/java/org/geomajas/command/ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/command/ApplicationCommand.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/command/ApplicationController.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/command/ApplicationResult.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/command/CommandInterceptor.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/configuration/ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/configuration/ConfigurationException.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/Profile.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/User.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/UserContext.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/UserContextAware.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/UserContextManager.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/policy/ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/policy/OperationType.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/policy/PermissionResult.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/policy/PolicyRule.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/policy/Resource.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/policy/SecurityInterceptor.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/policy/SecurityManager.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/policy/xml/ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/policy/xml/Role.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/application/ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/application/Application.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/application/ApplicationCatalog.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/application/LayerFactory.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/application/LayerModel.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/application/LayerModelFactory.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/application/Map.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/application/feature/ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/application/feature/FeatureModel.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/application/feature/RenderedFeature.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/application/layertree/ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/application/layertree/Layer.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/application/layertree/LayerTreeNode.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/application/layertree/LayerType.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/application/layertree/RasterImage.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/application/layertree/RasterLayer.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/application/layertree/VectorLayer.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/application/style/ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/application/style/StyleFilter.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/application/tile/ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/application/tile/RenderedTile.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/application/tile/TileCode.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/application/tile/TileMetadata.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/cache/ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/cache/CacheIOException.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/cache/RenderContent.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/cache/algorithm/ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/cache/algorithm/CachingAlgorithm.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/cache/broker/ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/cache/broker/Broker.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/cache/store/ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/cache/store/ContentStore.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/global/ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/global/MajasConstants.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/json/ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/json/JSON.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/json/Writable.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/rendering/ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/rendering/GraphicsDocument.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/rendering/LayerPaintContext.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/rendering/MapPaintContext.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/rendering/image/ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/rendering/image/RasterUrlBuilder.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/rendering/painters/ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/rendering/painters/feature/ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/rendering/painters/feature/FeaturePainter.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/rendering/painters/image/ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/rendering/painters/image/FeatureImagePainter.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/rendering/painters/tile/ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/rendering/painters/tile/TilePainter.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/rendering/strategy/ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/rendering/strategy/RenderingStrategy.java trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/rendering/strategy/rule/ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/rendering/strategy/rule/RenderingStrategyRule.java Modified: trunk/geomajas/geomajas-api/pom.xml Log: First commit (MAJ-386) for geomajas-api. It builds, but there are still a lot of issues to be addressed/checked: * Map.getLayerManager has been removed * RasterImage + DefaultRasterImage: replaced AABBox by Envelope. The AABBox should never be used on the back-end. It's a serlializable Envelope we can send to the client, nothing more. * RenderedFeature in API is not an interface! TODO! * TileCode in API is not an interface! TODO! * RenderedTile in API is not an interface! TODO! * TileMetadata is created only to get the RetrieveRenderedTileCommand out of the API module. Redesign! * Almost the entire user/security package has been added to API: redesign is urgent! Modified: trunk/geomajas/geomajas-api/pom.xml =================================================================== --- trunk/geomajas/geomajas-api/pom.xml 2009-08-21 20:25:57 UTC (rev 3778) +++ trunk/geomajas/geomajas-api/pom.xml 2009-08-22 09:59:45 UTC (rev 3779) @@ -9,13 +9,61 @@ <artifactId>geomajas-api</artifactId> <packaging>jar</packaging> <name>Geomajas Core API</name> - + <dependencies> + <dependency> + <groupId>org.geotools</groupId> + <artifactId>gt2-api</artifactId> + </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> </dependency> + <dependency> + <groupId>javax.xml.bind</groupId> + <artifactId>jaxb-api</artifactId> + </dependency> + <dependency> + <groupId>com.sun.xml.bind</groupId> + <artifactId>jaxb-impl</artifactId> + </dependency> </dependencies> + <build> + <plugins> + <!-- + for more information on this plugin, see + https://jaxb.dev.java.net/jaxb-maven2-plugin/ + --> + <plugin> + <groupId>com.sun.tools.xjc.maven2</groupId> + <artifactId>maven-jaxb-plugin</artifactId> + <version>1.1</version> + <executions> + <execution> + <goals> + <goal>generate</goal> + </goals> + <configuration> + <generatePackage>org.geomajas.schemas.configuration</generatePackage> + <includeSchemas> + <includeSchema>**/geomajas-application.xsd</includeSchema> + </includeSchemas> + <extension>true</extension> + <verbose>true</verbose> + <args>-Xdefault-value</args> + </configuration> + </execution> + </executions> + <dependencies> + <dependency> + <groupId>org.jvnet.jaxb2_commons</groupId> + <artifactId>default-value-plugin</artifactId> + <version>1.0</version> + </dependency> + </dependencies> + </plugin> + </plugins> + </build> </project> Copied: trunk/geomajas/geomajas-api/src/main/java/org/geomajas/command/ApplicationCommand.java (from rev 3771, trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/ApplicationCommand.java) =================================================================== --- trunk/geomajas/geomajas-api/src/main/java/org/geomajas/command/ApplicationCommand.java (rev 0) +++ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/command/ApplicationCommand.java 2009-08-22 09:59:45 UTC (rev 3779) @@ -0,0 +1,123 @@ +/* + * This file is part of Geomajas, a component framework for building + * rich Internet applications (RIA) with sophisticated capabilities for the + * display, analysis and management of geographic information. + * It is a building block that allows developers to add maps + * and other geographic data capabilities to their web applications. + * + * Copyright 2008-2009 Geosparc, http://www.geosparc.com, Belgium + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +package org.geomajas.command; + +import org.geomajas.core.aaa.UserContext; +import org.geomajas.core.aaa.UserContextAware; +import org.geomajas.core.application.Application; + +import org.geomajas.core.aaa.policy.SecurityManager; + +/** + * @version 1.0 + * @created 21-Mar-2006 9:06:40 AM + */ +public interface ApplicationCommand extends UserContextAware { + + /** + * Each command has a unique identifier. This is mainly for cancelling purposes. + * + * @return Returns this id + */ + public Long getId(); + + /** + * Each command has a unique identifier. This is mainly for cancelling purposes. + * + * @param id + * Set this unique identifier. + */ + public void setId(Long id); + + /** + * A command always has to be executed on an <code>Application</code> + * + * @param application + * The application on which to execute this command. + */ + public void setApplication(Application application); + + /** + * A command always has to be executed in a certain user context. If this is not set, an anonymous user is assumed. + * + * @param application + * The application on which to execute this command. + */ + public void setUserContext(UserContext usercontext); + + /** + * Execute this command. + */ + public void execute(); + + /** + * executed after execute() when interceptors are finished + * <p> + * this method gives you a place to handle exceptions thrown by closing interceptors (specifically hibernate) + * <p> + * keep in mind that hibernatesession will be closed, so you can't get/change hibernate objects + * <p> + * Error is already set in result, so you do not need to implement this method if you don't need it + * + * @param contains + * error generated by interceptors (if any) + */ + public void postExecute(Throwable t); + + /** + * Get the result, after execution. + * + * @return Returns the result of this command. + */ + public ApplicationResult getResult(); + + /** + * returns the application on which to execute this command + * + * @return application + */ + public Application getApplication(); + + /** + * returns the user context in which to execute this command + * + * @return user context + */ + public UserContext getUserContext(); + + /** + * Use the securitymanager to check if the requestor has adequate rights to execute this command.<br /> + * Don't forget to set command.errorResult if you cancel beforeExecute as execute won't be called anymore<br /> + * <br /> + * Also don't forget to use the filter provided by SecurityManager.checkPermission() + * <p> + * For example:<br/> + * <code>result = new ApplicationResult();<br /> + result.addErrorMessage("SecurityException: You do not have enough rights to execute this command!"); + * </code> + * + * @param sm + * @return + */ + public boolean checkSecurity(SecurityManager sm); +} Added: trunk/geomajas/geomajas-api/src/main/java/org/geomajas/command/ApplicationController.java =================================================================== --- trunk/geomajas/geomajas-api/src/main/java/org/geomajas/command/ApplicationController.java (rev 0) +++ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/command/ApplicationController.java 2009-08-22 09:59:45 UTC (rev 3779) @@ -0,0 +1,53 @@ +/* + * This file is part of Geomajas, a component framework for building + * rich Internet applications (RIA) with sophisticated capabilities for the + * display, analysis and management of geographic information. + * It is a building block that allows developers to add maps + * and other geographic data capabilities to their web applications. + * + * Copyright 2008-2009 Geosparc, http://www.geosparc.com, Belgium + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +package org.geomajas.command; + +import java.io.IOException; +import java.io.Serializable; + +import org.geomajas.configuration.ConfigurationException; +import org.geomajas.core.application.Application; +import org.geomajas.core.application.ApplicationCatalog; + +/** + * The <code>ApplicationController</code> is the main command execution center. It accepts command from the client and + * executes them on the server. + */ +public interface ApplicationController extends Serializable { + + /** + * General execution function. This is the one that's being called from the client in JavaScript through the + * <code>JSONRPCBridge</code>. + * + * @param command + * @return + */ + public ApplicationResult execute(String urlParam, ApplicationCommand command) throws IOException, + ConfigurationException; + + public void addInterceptor(CommandInterceptor interceptor); + + public ApplicationCatalog getApplicationCatalog(); + + public Application getApplication(); +} Property changes on: trunk/geomajas/geomajas-api/src/main/java/org/geomajas/command/ApplicationController.java ___________________________________________________________________ Added: svn:mime-type + text/plain Copied: trunk/geomajas/geomajas-api/src/main/java/org/geomajas/command/ApplicationResult.java (from rev 3771, trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/ApplicationResult.java) =================================================================== --- trunk/geomajas/geomajas-api/src/main/java/org/geomajas/command/ApplicationResult.java (rev 0) +++ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/command/ApplicationResult.java 2009-08-22 09:59:45 UTC (rev 3779) @@ -0,0 +1,89 @@ +/* + * This file is part of Geomajas, a component framework for building + * rich Internet applications (RIA) with sophisticated capabilities for the + * display, analysis and management of geographic information. + * It is a building block that allows developers to add maps + * and other geographic data capabilities to their web applications. + * + * Copyright 2008-2009 Geosparc, http://www.geosparc.com, Belgium + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +package org.geomajas.command; + +import java.util.ArrayList; +import java.util.List; + +/** + * AbstractApplicationResult + * + * <p> + * Abstraction of a result object that is to be sent back to the client through the JSON protocol. This result object + * can either hold error-messages, or actual data. + * </p> + */ +public class ApplicationResult { + + protected long id; + + protected List<String> errorMessages = null; + + protected long executionTime; + + // Constructors: + + public ApplicationResult() { + errorMessages = new ArrayList<String>(); + } + + public ApplicationResult(List<String> errorMessages) { + this.errorMessages = errorMessages; + } + + // Class specific functions: + + public void addErrorMessage(String message) { + errorMessages.add(message); + } + + // Getters and setters: + + public List<String> getErrorMessages() { + return errorMessages; + } + + public void setErrorMessages(List<String> errorMessages) { + this.errorMessages = errorMessages; + } + + public boolean isError() { + return errorMessages.size() > 0; + } + + public long getId() { + return id; + } + + public void setId(long id) { + this.id = id; + } + + public long getExecutionTime() { + return executionTime; + } + + public void setExecutionTime(long executionTime) { + this.executionTime = executionTime; + } +} Copied: trunk/geomajas/geomajas-api/src/main/java/org/geomajas/command/CommandInterceptor.java (from rev 3771, trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/CommandInterceptor.java) =================================================================== --- trunk/geomajas/geomajas-api/src/main/java/org/geomajas/command/CommandInterceptor.java (rev 0) +++ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/command/CommandInterceptor.java 2009-08-22 09:59:45 UTC (rev 3779) @@ -0,0 +1,42 @@ +/* + * This file is part of Geomajas, a component framework for building + * rich Internet applications (RIA) with sophisticated capabilities for the + * display, analysis and management of geographic information. + * It is a building block that allows developers to add maps + * and other geographic data capabilities to their web applications. + * + * Copyright 2008-2009 Geosparc, http://www.geosparc.com, Belgium + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +package org.geomajas.command; + +/** + * Interceptors perform some action before or after a command is executed. Interceptors are useful for adding + * infrastructural behavior in an AOP style. Examples are: transaction demarcation, user profile injection,... + * + * @author JanDM + * + */ +public interface CommandInterceptor { + + /** + * @param command + * @return false if execution of command should be cancelled, afterExecute will still be called (to allow for + * cleanup) + */ + public boolean beforeExecute(ApplicationCommand command); + + public void afterExecute(ApplicationCommand command); +} Copied: trunk/geomajas/geomajas-api/src/main/java/org/geomajas/configuration/ConfigurationException.java (from rev 3771, trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/configuration/ConfigurationException.java) =================================================================== --- trunk/geomajas/geomajas-api/src/main/java/org/geomajas/configuration/ConfigurationException.java (rev 0) +++ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/configuration/ConfigurationException.java 2009-08-22 09:59:45 UTC (rev 3779) @@ -0,0 +1,43 @@ +/* + * This file is part of Geomajas, a component framework for building + * rich Internet applications (RIA) with sophisticated capabilities for the + * display, analysis and management of geographic information. + * It is a building block that allows developers to add maps + * and other geographic data capabilities to their web applications. + * + * Copyright 2008-2009 Geosparc, http://www.geosparc.com, Belgium + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +package org.geomajas.configuration; + +public class ConfigurationException extends Exception { + + private static final long serialVersionUID = 0L; + + public ConfigurationException() { + } + + public ConfigurationException(String message, Throwable cause) { + super(message, cause); + } + + public ConfigurationException(String message) { + super(message); + } + + public ConfigurationException(Throwable cause) { + super(cause); + } +} Added: trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/Profile.java =================================================================== --- trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/Profile.java (rev 0) +++ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/Profile.java 2009-08-22 09:59:45 UTC (rev 3779) @@ -0,0 +1,75 @@ +/* + * This file is part of Geomajas, a component framework for building + * rich Internet applications (RIA) with sophisticated capabilities for the + * display, analysis and management of geographic information. + * It is a building block that allows developers to add maps + * and other geographic data capabilities to their web applications. + * + * Copyright 2008-2009 Geosparc, http://www.geosparc.com, Belgium + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +package org.geomajas.core.aaa; + +import java.util.Map; + +public abstract class Profile { + + public abstract String getProfileName(); + + public abstract String getRoleName(); + + public abstract String getApplicationName(); + + public abstract Map<String, String> getRoleProperties(); + + // ------------------------------------------------- + + /** + * custom implementation as there might be different implementations, but all conceptually same Profiles should be + * equal + */ + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((getApplicationName() == null) ? 0 : getApplicationName().hashCode()); + result = prime * result + ((getRoleName() == null) ? 0 : getRoleName().hashCode()); + return result; + } + + /** + * custom implementation as there might be different implementations, but all conceptually same Profiles should be + * equal + */ + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + org.geomajas.core.aaa.Profile other = (org.geomajas.core.aaa.Profile) obj; + if (getApplicationName() == null) { + if (other.getApplicationName() != null) + return false; + } else if (!getApplicationName().equals(other.getApplicationName())) + return false; + if (getRoleName() == null) { + if (other.getRoleName() != null) + return false; + } else if (!getRoleName().equals(other.getRoleName())) + return false; + return true; + } +} Property changes on: trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/Profile.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/User.java =================================================================== --- trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/User.java (rev 0) +++ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/User.java 2009-08-22 09:59:45 UTC (rev 3779) @@ -0,0 +1,93 @@ +/* + * This file is part of Geomajas, a component framework for building + * rich Internet applications (RIA) with sophisticated capabilities for the + * display, analysis and management of geographic information. + * It is a building block that allows developers to add maps + * and other geographic data capabilities to their web applications. + * + * Copyright 2008-2009 Geosparc, http://www.geosparc.com, Belgium + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +package org.geomajas.core.aaa; + +import java.util.Map; + +public abstract class User { + + public abstract String getUserName(); + + public abstract Profile getActiveProfile(); + + public abstract String getProfileName(); + + public abstract String getApplicationName(); + + public abstract void setActiveProfile(String profileName, String applicationName); + + public abstract String[] getProfileNames(String applicationName); + + /** + * this is active profile only + * + * @param applicationName + * @return + */ + public abstract boolean isInApplication(String applicationName); + + /** + * this is active profile only + * + * @param roleName + * @return + */ + public abstract boolean hasRole(String roleName); + + public abstract Map<String, String> getRoleProperties(); + + public abstract Map<String, String> getUserProperties(); + + // ------------------------------------------------- + + /** + * custom implementation as there might be different implementations, but all conceptually same Users should be + * equal + */ + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((getUserName() == null) ? 0 : getUserName().hashCode()); + return result; + } + + /** + * custom implementation as there might be different implementations, but all conceptually same Users should be + * equal + */ + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + org.geomajas.core.aaa.User other = (org.geomajas.core.aaa.User) obj; + if (getUserName() == null) { + if (other.getUserName() != null) + return false; + } else if (!getUserName().equals(other.getUserName())) + return false; + return true; + } +} Property changes on: trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/User.java ___________________________________________________________________ Added: svn:mime-type + text/plain Copied: trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/UserContext.java (from rev 3771, trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/aaa/UserContext.java) =================================================================== --- trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/UserContext.java (rev 0) +++ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/UserContext.java 2009-08-22 09:59:45 UTC (rev 3779) @@ -0,0 +1,49 @@ +/* + * This file is part of Geomajas, a component framework for building + * rich Internet applications (RIA) with sophisticated capabilities for the + * display, analysis and management of geographic information. + * It is a building block that allows developers to add maps + * and other geographic data capabilities to their web applications. + * + * Copyright 2008-2009 Geosparc, http://www.geosparc.com, Belgium + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +package org.geomajas.core.aaa; + +public interface UserContext { + + public User getUser(); + + public void setUser(User user); + + /** + * checks if role of active profile is the same as given rolename + * + * @param roleName + * @return + */ + public boolean isUserInRole(String roleName); + + /** + * used at logon to decide if user should be allowed to login + */ + public boolean isUserInApplication(String applicationName); + + public boolean isAuthenticated(); + + public void setAuthenticated(boolean value); + + public void clear(); +} Added: trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/UserContextAware.java =================================================================== --- trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/UserContextAware.java (rev 0) +++ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/UserContextAware.java 2009-08-22 09:59:45 UTC (rev 3779) @@ -0,0 +1,29 @@ +/* + * This file is part of Geomajas, a component framework for building + * rich Internet applications (RIA) with sophisticated capabilities for the + * display, analysis and management of geographic information. + * It is a building block that allows developers to add maps + * and other geographic data capabilities to their web applications. + * + * Copyright 2008-2009 Geosparc, http://www.geosparc.com, Belgium + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +package org.geomajas.core.aaa; + +public interface UserContextAware { + + public void setUserContext(UserContext context); + +} Property changes on: trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/UserContextAware.java ___________________________________________________________________ Added: svn:mime-type + text/plain Added: trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/UserContextManager.java =================================================================== --- trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/UserContextManager.java (rev 0) +++ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/UserContextManager.java 2009-08-22 09:59:45 UTC (rev 3779) @@ -0,0 +1,45 @@ +/* + * This file is part of Geomajas, a component framework for building + * rich Internet applications (RIA) with sophisticated capabilities for the + * display, analysis and management of geographic information. + * It is a building block that allows developers to add maps + * and other geographic data capabilities to their web applications. + * + * Copyright 2008-2009 Geosparc, http://www.geosparc.com, Belgium + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +package org.geomajas.core.aaa; + +import java.io.IOException; + +public interface UserContextManager { + + /** + * @param id + * @return the userobject (load from file or database) + * @throws IOException + */ + public User getUser(String userId, String password) throws IOException; + + public boolean hasUsers(String applicationName) throws IOException; + + /** + * a default guest account, used for public access + * + * @param applicationName + * @return + */ + public User getGuest(String applicationName); +} Property changes on: trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/UserContextManager.java ___________________________________________________________________ Added: svn:mime-type + text/plain Copied: trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/policy/OperationType.java (from rev 3771, trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/aaa/policy/OperationType.java) =================================================================== --- trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/policy/OperationType.java (rev 0) +++ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/policy/OperationType.java 2009-08-22 09:59:45 UTC (rev 3779) @@ -0,0 +1,27 @@ +/* + * This file is part of Geomajas, a component framework for building + * rich Internet applications (RIA) with sophisticated capabilities for the + * display, analysis and management of geographic information. + * It is a building block that allows developers to add maps + * and other geographic data capabilities to their web applications. + * + * Copyright 2008-2009 Geosparc, http://www.geosparc.com, Belgium + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +package org.geomajas.core.aaa.policy; + +public enum OperationType { + CREATE, READ, UPDATE, DELETE; +} Property changes on: trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/policy/OperationType.java ___________________________________________________________________ Added: svn:executable + * Copied: trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/policy/PermissionResult.java (from rev 3771, trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/aaa/policy/PermissionResult.java) =================================================================== --- trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/policy/PermissionResult.java (rev 0) +++ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/policy/PermissionResult.java 2009-08-22 09:59:45 UTC (rev 3779) @@ -0,0 +1,35 @@ +/* + * This file is part of Geomajas, a component framework for building + * rich Internet applications (RIA) with sophisticated capabilities for the + * display, analysis and management of geographic information. + * It is a building block that allows developers to add maps + * and other geographic data capabilities to their web applications. + * + * Copyright 2008-2009 Geosparc, http://www.geosparc.com, Belgium + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +package org.geomajas.core.aaa.policy; + +public class PermissionResult { + + public final boolean allowed; + + public final String filter; + + public PermissionResult(boolean allowed, String filter) { + this.allowed = allowed; + this.filter = filter; + } +} Copied: trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/policy/PolicyRule.java (from rev 3771, trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/aaa/policy/PolicyRule.java) =================================================================== --- trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/policy/PolicyRule.java (rev 0) +++ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/policy/PolicyRule.java 2009-08-22 09:59:45 UTC (rev 3779) @@ -0,0 +1,200 @@ +/* + * This file is part of Geomajas, a component framework for building + * rich Internet applications (RIA) with sophisticated capabilities for the + * display, analysis and management of geographic information. + * It is a building block that allows developers to add maps + * and other geographic data capabilities to their web applications. + * + * Copyright 2008-2009 Geosparc, http://www.geosparc.com, Belgium + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +package org.geomajas.core.aaa.policy; + +import java.util.EnumSet; + +import org.geomajas.core.aaa.User; +import org.geomajas.core.aaa.UserContext; +import org.geomajas.core.aaa.policy.xml.Role; +import org.geomajas.core.global.MajasConstants; + +public class PolicyRule { + + private Role role; + + private User user; + + private EnumSet<OperationType> operations; + + private Resource resource; + + private String filter; + + public PolicyRule() { + } + + public PolicyRule(Role role, Resource resource, String filter, EnumSet<OperationType> operations) { + if (role == null || resource == null) + throw new IllegalArgumentException("Please provide at least a role and resource"); + this.role = role; + this.resource = resource; + this.filter = filter; + this.operations = operations.clone(); + } + + public PolicyRule(User user, Resource resource, String filter, EnumSet<OperationType> operations) { + if (user == null || resource == null) + throw new IllegalArgumentException("Please provide at least a user and resource"); + this.user = user; + this.resource = resource; + this.filter = filter; + this.operations = operations.clone(); + } + + // ----------------------------------------------------------- + + public Role getRole() { + return role; + } + + public void setRole(Role role) { + this.role = role; + } + + public User getUser() { + return user; + } + + public void setUser(User user) { + this.user = user; + } + + public EnumSet<OperationType> getOperations() { + return operations; + } + + public void setOperations(EnumSet<OperationType> operations) { + this.operations = operations; + } + + public Resource getResource() { + return resource; + } + + public void setResource(Resource resource) { + this.resource = resource; + } + + public String getFilter() { + return filter; + } + + public void setFilter(String filter) { + this.filter = filter; + } + + public boolean isRolePolicyRule() { + return (role != null); + } + + public boolean isUserPolicyRule() { + return (user != null); + } + + /** + * check if rule contains all necessary data to be able to use it + * + * @return + */ + public boolean isValid() { + if (role == null && user == null) + return false; // need one of then + if (role != null && user != null) + return false; // and only ONE + if (resource == null) + return false; // need a resource + if (operations == null || operations.isEmpty()) + return false; // need at least one operation + // TODO check filter for syntax validity ?? + return true; + } + + /** + * is this rule applicable for the given application + * @param applicationName + * @return + */ + public boolean isApplicable(String applicationName) { + if (role!=null) { + if (MajasConstants.GLOB.equals(role.getApplicationName())) return true; + if (role.getApplicationName().equals(applicationName)) return true; + } else { + if (MajasConstants.GLOB.equals(user.getApplicationName())) return true; + if (user.getApplicationName().equals(applicationName)) return true; + } + return false; + } + + /** + * returns true if requested operation is allowed for given resource, false + * in all other situations + * + * @param userContext + * @param operations + * the operations required - please note all operations need to + * be present + * @param resource + * @return + */ + public boolean checkPermission(UserContext userContext, EnumSet<OperationType> operations, + Resource resource, String applicationName) { + if (isApplicable(applicationName)) { + if (isRolePolicyRule()) { + // has the necessary role + if (userContext.isUserInRole(this.role.getRoleName())) { + // is operation allowed + if (this.operations.containsAll(operations)) { + // correct resource + if (this.resource.contains(resource)) + return true; + } + } + } else { + // is this the user this rule was written for? + if (this.user.equals(userContext.getUser())) { + // is operation allowed + if (this.operations.containsAll(operations)) { + // correct resource + if (this.resource.contains(resource)) + return true; + } + } + } + } + return false; + } + + @Override + public String toString() { + if (isRolePolicyRule()) { + return "Role: " + (role != null ? role.getRoleName() : "null") + " - resource: " + + (resource != null ? resource.getPath() : "null") + " - operations: " + operations + + " - filter: " + filter; + } else { + return "User: " + (user != null ? user.getUserName() : "null") + " - resource: " + + (resource != null ? resource.getPath() : "null") + " - operations: " + operations + + " - filter: " + filter; + } + } +} Property changes on: trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/policy/PolicyRule.java ___________________________________________________________________ Added: svn:executable + * Copied: trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/policy/Resource.java (from rev 3771, trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/aaa/policy/Resource.java) =================================================================== --- trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/policy/Resource.java (rev 0) +++ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/policy/Resource.java 2009-08-22 09:59:45 UTC (rev 3779) @@ -0,0 +1,73 @@ +/* + * This file is part of Geomajas, a component framework for building + * rich Internet applications (RIA) with sophisticated capabilities for the + * display, analysis and management of geographic information. + * It is a building block that allows developers to add maps + * and other geographic data capabilities to their web applications. + * + * Copyright 2008-2009 Geosparc, http://www.geosparc.com, Belgium + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +package org.geomajas.core.aaa.policy; + +import static org.geomajas.core.global.MajasConstants.GLOB; + +/** + * contains a resourcepath, can check if a resource is part of another resource (eg. 'object.property' is part of + * 'object' + */ +public class Resource { + + private static final String DELIM = "."; + + private final String path; + + public Resource(String path) { + if (path == null || "".equals(path)) + throw new IllegalArgumentException( + "Please provide a path, empty paths are not allowed, use '*' as wildcard"); + this.path = path; + } + + public String getPath() { + return path; + } + + /** + * check to see if given resource equals or is a part of this resource<br /> + * "map" contains "map" && "map.layer" && "map.layer.feature"<br /> + * "map.layer" does not contain "othermap" || "map" || "map.otherlayer"<br/> + * "*" is a wildcard resource, it contains any resource + * + * @param resource + * @return + */ + public boolean contains(Resource resource) { + if (resource == null) + throw new IllegalArgumentException("Please provide a resource"); + if (GLOB.equals(this.path)) + return true; + int thislen = this.path.length(); + if (resource.path.length() > thislen) { // test if it's a subpath + if (resource.path.startsWith(this.path) && DELIM.equals(resource.path.substring(thislen, thislen + 1))) { + // make sure it's not just a name that starts the same + return true; + } + return false; + } else { + return (this.path.equals(resource.path)); + } + } +} Property changes on: trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/policy/Resource.java ___________________________________________________________________ Added: svn:executable + * Copied: trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/policy/SecurityInterceptor.java (from rev 3771, trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/aaa/policy/SecurityInterceptor.java) =================================================================== --- trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/policy/SecurityInterceptor.java (rev 0) +++ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/policy/SecurityInterceptor.java 2009-08-22 09:59:45 UTC (rev 3779) @@ -0,0 +1,81 @@ +/* + * This file is part of Geomajas, a component framework for building + * rich Internet applications (RIA) with sophisticated capabilities for the + * display, analysis and management of geographic information. + * It is a building block that allows developers to add maps + * and other geographic data capabilities to their web applications. + * + * Copyright 2008-2009 Geosparc, http://www.geosparc.com, Belgium + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +package org.geomajas.core.aaa.policy; + +import java.util.Map; + +import org.geomajas.command.ApplicationCommand; +import org.geomajas.command.CommandInterceptor; + +public class SecurityInterceptor implements CommandInterceptor { + + private SecurityManager sm; + + public static final String MANAGER_CLASS = "manager"; + + public SecurityInterceptor(SecurityManager sm) { + setSecurityManager(sm); + + } + + public SecurityInterceptor(Map<String, String> params) { + String managerClassName = params.get(MANAGER_CLASS); + if (managerClassName == null) { + throw new IllegalArgumentException("No security manager class name provided"); + } + try { + Class<?> managerClass = Class.forName(managerClassName); + SecurityManager sm = (SecurityManager) managerClass.newInstance(); + + setSecurityManager(sm); + } catch (Exception e) { + throw new IllegalArgumentException("Could not create security manager fro this interceptor", e); + } + try { + sm.initialize(); + } catch (Exception e) { + throw new IllegalStateException( + "De Securitymanager kon niet ge�nitialiseerd worden (Controleer de toegangsregels (policy.xml). Bekijk het applicatielog voor meer informatie.", + e); + } + + } + + public void setSecurityManager(SecurityManager sm) { + if (sm == null) + throw new IllegalArgumentException("Please provide a securityManager"); + this.sm = sm; + } + + public SecurityManager getSecurityManager() { + return sm; + } + + public void afterExecute(ApplicationCommand command) { // not needed + } + + public boolean beforeExecute(ApplicationCommand command) { + return command.checkSecurity(sm); + } +} Property changes on: trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/policy/SecurityInterceptor.java ___________________________________________________________________ Added: svn:executable + * Added: trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/policy/SecurityManager.java =================================================================== --- trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/policy/SecurityManager.java (rev 0) +++ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/policy/SecurityManager.java 2009-08-22 09:59:45 UTC (rev 3779) @@ -0,0 +1,98 @@ +/* + * This file is part of Geomajas, a component framework for building + * rich Internet applications (RIA) with sophisticated capabilities for the + * display, analysis and management of geographic information. + * It is a building block that allows developers to add maps + * and other geographic data capabilities to their web applications. + * + * Copyright 2008-2009 Geosparc, http://www.geosparc.com, Belgium + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +package org.geomajas.core.aaa.policy; + +import java.util.ArrayList; +import java.util.EnumSet; +import java.util.List; + +import org.geomajas.core.aaa.UserContext; + +/** + * A fully functional SecurityManager without any rules, just put in some rules + * and you're ready to go + */ +public class SecurityManager { + +// private static final Log log = LogFactory.getLog(SecurityManager.class); + + // have priority over roleRules + private List<PolicyRule> userRules = new ArrayList<PolicyRule>(); + + private List<PolicyRule> roleRules = new ArrayList<PolicyRule>(); + + // --------------------------- + + /** + * override this method to add rules to your manager + */ + public void initialize() throws Exception { + } + + /** + * works as follows: iterates all rules (first userrules, then rolerules), + * as soon as a rule is found that allows the operation it returns true, + * otherwise false (eg. there are no deny-rules) returns a permissionresult + * object to keep Securitymanager threadsafe without having to iterate lists + * twice + * + * @param application + * @param userContext + * @param operation + * @param resource + * @return + */ + public PermissionResult checkPermission(UserContext userContext, EnumSet<OperationType> operations, + Resource resource, String applicationName) { + if (userContext == null || operations == null || resource == null) + throw new IllegalArgumentException("None of the paramaters are optional."); + for (PolicyRule pr : userRules) { + if (pr.checkPermission(userContext, operations, resource, applicationName)) + return new PermissionResult(true, pr.getFilter()); + } + for (PolicyRule pr : roleRules) { + if (pr.checkPermission(userContext, operations, resource, applicationName)) + return new PermissionResult(true, pr.getFilter()); + } + return new PermissionResult(false, null); + } + + public void addRules(List<PolicyRule> rules) { + if (rules == null) + throw new IllegalArgumentException("Please provide a list of rules"); + int rr = 0; + int ur = 0; + for (PolicyRule pr : rules) { + if (!pr.isValid()) + throw new IllegalArgumentException("PolicyRule is not valid! (" + pr.toString() + ")"); + if (pr.isRolePolicyRule()) { + roleRules.add(pr); + rr++; + } else { + userRules.add(pr); + ur++; + } + } + //log.info("Loaded " + rr + " rolerules and " + ur + " userrules."); + } +} Property changes on: trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/policy/SecurityManager.java ___________________________________________________________________ Added: svn:mime-type + text/plain Copied: trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/policy/xml/Role.java (from rev 3771, trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/aaa/policy/xml/Role.java) =================================================================== --- trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/policy/xml/Role.java (rev 0) +++ trunk/geomajas/geomajas-api/src/main/java/org/geomajas/core/aaa/policy/xml/Role.java 2009-08-22 09:59:45 UTC (rev 3779) @@ -0,0 +1,56 @@ +/* + * This file is part of Geomajas, a component framework for building + * rich Internet applications (RIA) with sophisticated capabilities for the + * display, analysis and management of geographic information. + * It is a building block that allows developers to add maps + * and other geographic data capabilities to their web applications. + * + * Copyright 2008-2009 Geosparc, http://www.geosparc.com, Belgium + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT AN... [truncated message content] |
|
From: <sv...@ge...> - 2009-08-21 21:25:36
|
Author: joachimvda Date: 2009-08-21 22:25:57 +0200 (Fri, 21 Aug 2009) New Revision: 3778 Modified: trunk/geomajas-checkstyle/src/main/resources/config/geomajas-checkstyle.xml Log: fix checkstyle cfr "log" handling Modified: trunk/geomajas-checkstyle/src/main/resources/config/geomajas-checkstyle.xml =================================================================== --- trunk/geomajas-checkstyle/src/main/resources/config/geomajas-checkstyle.xml 2009-08-21 20:24:29 UTC (rev 3777) +++ trunk/geomajas-checkstyle/src/main/resources/config/geomajas-checkstyle.xml 2009-08-21 20:25:57 UTC (rev 3778) @@ -1,7 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE module PUBLIC - "-//Puppy Crawl//DTD Check Configuration 1.1//EN" - "http://www.puppycrawl.com/dtds/configuration_1_1.dtd"> +<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.1//EN" "http://www.puppycrawl.com/dtds/configuration_1_1.dtd"> <!-- Checkstyle is very configurable. Be sure to read the documentation at @@ -10,262 +8,263 @@ <module name="Checker"> - <!-- Checks that a package.html file exists for each package. --> - <!-- See http://checkstyle.sf.net/config_javadoc.html#PackageHtml --> - <!--<module name="PackageHtml"/>--> + <!-- Checks that a package.html file exists for each package. --> + <!-- See http://checkstyle.sf.net/config_javadoc.html#PackageHtml --> + <!--<module name="PackageHtml"/>--> - <!-- Checks whether files end with a new line. --> - <!-- See http://checkstyle.sf.net/config_misc.html#NewlineAtEndOfFile --> - <module name="NewlineAtEndOfFile"> - <property name="severity" value="info"/> - </module> + <!-- Checks whether files end with a new line. --> + <!-- See http://checkstyle.sf.net/config_misc.html#NewlineAtEndOfFile --> + <module name="NewlineAtEndOfFile"> + <property name="severity" value="info"/> + </module> - <!-- Checks that property files contain the same keys. --> - <!-- See http://checkstyle.sf.net/config_misc.html#Translation --> - <!--<module name="Translation"/>--> + <!-- Checks that property files contain the same keys. --> + <!-- See http://checkstyle.sf.net/config_misc.html#Translation --> + <!--<module name="Translation"/>--> - <!-- duplicate code, see http://checkstyle.sourceforge.net/config_duplicates.html --> - <!--<module name="StrictDuplicateCode"/>--> + <!-- duplicate code, see http://checkstyle.sourceforge.net/config_duplicates.html --> + <!--<module name="StrictDuplicateCode"/>--> - <module name="TreeWalker"> + <module name="TreeWalker"> - <property name="cacheFile" value="${checkstyle.cache.file}"/> - <property name="tabWidth" value="4"/> - <property name="charset" value="UTF-8"/> + <property name="cacheFile" value="${checkstyle.cache.file}"/> + <property name="tabWidth" value="4"/> + <property name="charset" value="UTF-8"/> - <!-- Block checks, see http://checkstyle.sourceforge.net/config_blocks.html --> + <!-- Block checks, see http://checkstyle.sourceforge.net/config_blocks.html --> - <!-- disabled because we allow all on one line if it fits - <module name="LeftCurly"> - <property name="severity" value="info"/> - <property name="option" value="nl"/> - </module> - <module name="RightCurly"> - <property name="severity" value="info"/> - <property name="option" value="alone"/> - </module> - --> - <!--<module name="EmptyBlock"/>--> - <module name="AvoidNestedBlocks"/> - <!--<module name="NeedBraces"/> no braces is allowed when on same line --> + <!-- disabled because we allow all on one line if it fits + <module name="LeftCurly"> + <property name="severity" value="info"/> + <property name="option" value="nl"/> + </module> + <module name="RightCurly"> + <property name="severity" value="info"/> + <property name="option" value="alone"/> + </module> + --> + <!--<module name="EmptyBlock"/>--> + <module name="AvoidNestedBlocks"/> + <!--<module name="NeedBraces"/> no braces is allowed when on same line --> - <!-- Javadoc comments checks, see http://checkstyle.sourceforge.net/config_javadoc.html --> + <!-- Javadoc comments checks, see http://checkstyle.sourceforge.net/config_javadoc.html --> - <module name="JavadocMethod"> - <property name="excludeScope" value="private"/> - </module> - <!--<module name="JavadocType"/>--> - <!--<module name="JavadocVariable"/>--> - <!--<module name="JavadocStyle"/>--> + <module name="JavadocMethod"> + <property name="excludeScope" value="private"/> + </module> + <!--<module name="JavadocType"/>--> + <!--<module name="JavadocVariable"/>--> + <!--<module name="JavadocStyle"/>--> - <!-- Naming conventions, see http://checkstyle.sourceforge.net/config_naming.html --> + <!-- Naming conventions, see http://checkstyle.sourceforge.net/config_naming.html --> - <!--<module name="AbstractClassName"/>--> - <!--<module name="LocalFinalVariableName"/>--> - <module name="ConstantName"> - <property name="format" value="^(([A-Z][A-Z0-9]*(_[A-Z0-9]+)*)|log)$"/> - </module> - <module name="LocalFinalVariableName"/> - <module name="LocalVariableName"/> - <module name="MemberName"/> - <module name="MethodName"/> - <module name="PackageName"/> - <module name="ParameterName"/> - <module name="StaticVariableName"> - <property name="format" value="^([A-Z][A-Z0-9]*(_[A-Z0-9]+)*)$"/> - </module> - <module name="TypeName"/> + <!--<module name="AbstractClassName"/>--> + <!--<module name="LocalFinalVariableName"/>--> + <module name="ConstantName"> + <property name="format" value="^(([A-Z][A-Z0-9]*(_[A-Z0-9]+)*))$"/> + </module> + <module name="LocalFinalVariableName"/> + <module name="LocalVariableName"/> + <module name="MemberName"/> + <module name="MethodName"/> + <module name="PackageName"/> + <module name="ParameterName"/> + <module name="StaticVariableName"> + <property name="format" value="^([A-Z][A-Z0-9]*(_[A-Z0-9]+)*)$"/> + </module> + <module name="TypeName"/> - <!-- header, see http://checkstyle.sourceforge.net/config_header.html --> + <!-- header, see http://checkstyle.sourceforge.net/config_header.html --> - <module name="Header"> - <!-- The follow property value demonstrates the ability --> - <!-- to have access to ANT properties. In this case it uses --> - <!-- the ${basedir} property to allow Checkstyle to be run --> - <!-- from any directory within a project. --> - <!--<property name="headerFile" value="config/equanda-header.txt"/>--> - <property name="header" value="/*\n * This file is part of Geomajas, a component framework for building\n * rich Internet applications (RIA) with sophisticated capabilities for the\n * display, analysis and management of geographic information.\n * It is a building block that allows developers to add maps\n * and other geographic data capabilities to their web applications.\n *\n * Copyright 2008-2009 Geosparc, http://www.geosparc.com, Belgium\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */"/> - </module> + <module name="Header"> + <!-- The follow property value demonstrates the ability --> + <!-- to have access to ANT properties. In this case it uses --> + <!-- the ${basedir} property to allow Checkstyle to be run --> + <!-- from any directory within a project. --> + <!--<property name="headerFile" value="config/equanda-header.txt"/>--> + <property name="header" + value="/*\n * This file is part of Geomajas, a component framework for building\n * rich Internet applications (RIA) with sophisticated capabilities for the\n * display, analysis and management of geographic information.\n * It is a building block that allows developers to add maps\n * and other geographic data capabilities to their web applications.\n *\n * Copyright 2008-2009 Geosparc, http://www.geosparc.com, Belgium\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n */"/> + </module> - <!-- imports, see http://checkstyle.sourceforge.net/config_imports.html --> + <!-- imports, see http://checkstyle.sourceforge.net/config_imports.html --> - <!--<module name="AvoidStarImport"/>--> - <module name="IllegalImport"/> - <module name="RedundantImport"/> - <module name="UnusedImports"> - <property name="severity" value="info"/> - </module> - <module name="ImportOrder"> - <property name="groups" value="be,org"/> - <property name="severity" value="info"/> - </module> - <!--<module name="ImportControl"/>--> + <!--<module name="AvoidStarImport"/>--> + <module name="IllegalImport"/> + <module name="RedundantImport"/> + <module name="UnusedImports"> + <property name="severity" value="info"/> + </module> + <module name="ImportOrder"> + <property name="groups" value="be,org"/> + <property name="severity" value="info"/> + </module> + <!--<module name="ImportControl"/>--> - <!-- size violations, see http://checkstyle.sourceforge.net/config_sizes.html --> + <!-- size violations, see http://checkstyle.sourceforge.net/config_sizes.html --> - <module name="LineLength"> - <property name="severity" value="info"/> - <property name="max" value="120"/> - </module> - <!-- - <module name="FileLength"> - <property name="severity" value="info"/> - </module> - <module name="MethodLength"> - <property name="severity" value="info"/> - </module> - --> - <module name="ParameterNumber"> - <property name="severity" value="info"/> - </module> + <module name="LineLength"> + <property name="severity" value="info"/> + <property name="max" value="120"/> + </module> + <!-- + <module name="FileLength"> + <property name="severity" value="info"/> + </module> + <module name="MethodLength"> + <property name="severity" value="info"/> + </module> + --> + <module name="ParameterNumber"> + <property name="severity" value="info"/> + </module> - <!-- whitespace, see http://checkstyle.sourceforge.net/config_whitespace.html --> + <!-- whitespace, see http://checkstyle.sourceforge.net/config_whitespace.html --> - <module name="EmptyForInitializerPad"> - <property name="option" value="space"/> - </module> - <module name="EmptyForIteratorPad"> - <property name="option" value="space"/> - </module> - <module name="MethodParamPad"/> - <module name="NoWhitespaceAfter"> - <property name="severity" value="info"/> - <!-- Default tokens and additional GENERIC_START --> - <property name="tokens" value="BNOT, DEC, DOT, INC, LNOT, UNARY_MINUS, UNARY_PLUS, GENERIC_START"/> - </module> - <module name="NoWhitespaceBefore"> - <property name="severity" value="info"/> - <!-- Default tokens and additional GENERIC_START and GENERIC_END --> - <property name="tokens" value="POST_DEC, POST_INC, GENERIC_START, GENERIC_END"/> - </module> - <!--<module name="OperatorWrap"/>--> - <!-- - <module name="ParenPad"> - <property name="option" value="space"/> - </module> - --> - <module name="TypecastParenPad"/> - <module name="WhitespaceAfter"> - <property name="severity" value="info"/> - <!-- Default tokens and additional GENERIC_END --> - <property name="tokens" value="COMMA, SEMI, TYPECAST, GENERIC_END"/> - </module> - <module name="WhitespaceAround"> - <property name="severity" value="info"/> - <!-- Default tokens without GENERIC_START and GENERIC_END --> - <property name="tokens" - value="ASSIGN, BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN, BXOR, BXOR_ASSIGN, COLON, DIV, DIV_ASSIGN, EQUAL, GE, GT, LAND, LCURLY, LE, LITERAL_ASSERT, LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF, LITERAL_RETURN, LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE, LOR, LT, MINUS, MINUS_ASSIGN, MOD, MOD_ASSIGN, NOT_EQUAL, PLUS, PLUS_ASSIGN, QUESTION, RCURLY, SL, SLIST, SL_ASSIGN, SR, SR_ASSIGN, STAR, STAR_ASSIGN, TYPE_EXTENSION_AND, WILDCARD_TYPE"/> - <property name="allowEmptyConstructors" value="true"/> - <property name="allowEmptyMethods" value="true"/> - </module> - <!-- - <module name="TabCharacter"> - <property name="severity" value="info"/> - </module> - --> + <module name="EmptyForInitializerPad"> + <property name="option" value="space"/> + </module> + <module name="EmptyForIteratorPad"> + <property name="option" value="space"/> + </module> + <module name="MethodParamPad"/> + <module name="NoWhitespaceAfter"> + <property name="severity" value="info"/> + <!-- Default tokens and additional GENERIC_START --> + <property name="tokens" value="BNOT, DEC, DOT, INC, LNOT, UNARY_MINUS, UNARY_PLUS, GENERIC_START"/> + </module> + <module name="NoWhitespaceBefore"> + <property name="severity" value="info"/> + <!-- Default tokens and additional GENERIC_START and GENERIC_END --> + <property name="tokens" value="POST_DEC, POST_INC, GENERIC_START, GENERIC_END"/> + </module> + <!--<module name="OperatorWrap"/>--> + <!-- + <module name="ParenPad"> + <property name="option" value="space"/> + </module> + --> + <module name="TypecastParenPad"/> + <module name="WhitespaceAfter"> + <property name="severity" value="info"/> + <!-- Default tokens and additional GENERIC_END --> + <property name="tokens" value="COMMA, SEMI, TYPECAST, GENERIC_END"/> + </module> + <module name="WhitespaceAround"> + <property name="severity" value="info"/> + <!-- Default tokens without GENERIC_START and GENERIC_END --> + <property name="tokens" + value="ASSIGN, BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN, BXOR, BXOR_ASSIGN, COLON, DIV, DIV_ASSIGN, EQUAL, GE, GT, LAND, LCURLY, LE, LITERAL_ASSERT, LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF, LITERAL_RETURN, LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE, LOR, LT, MINUS, MINUS_ASSIGN, MOD, MOD_ASSIGN, NOT_EQUAL, PLUS, PLUS_ASSIGN, QUESTION, RCURLY, SL, SLIST, SL_ASSIGN, SR, SR_ASSIGN, STAR, STAR_ASSIGN, TYPE_EXTENSION_AND, WILDCARD_TYPE"/> + <property name="allowEmptyConstructors" value="true"/> + <property name="allowEmptyMethods" value="true"/> + </module> + <!-- + <module name="TabCharacter"> + <property name="severity" value="info"/> + </module> + --> - <!-- modifiers, see http://checkstyle.sourceforge.net/config_modifier.html --> + <!-- modifiers, see http://checkstyle.sourceforge.net/config_modifier.html --> - <!--<module name="ModifierOrder"/>--> - <module name="RedundantModifier"> - <property name="severity" value="info"/> - </module> + <!--<module name="ModifierOrder"/>--> + <module name="RedundantModifier"> + <property name="severity" value="info"/> + </module> - <!-- coding , see http://checkstyle.sourceforge.net/config_coding.html --> + <!-- coding , see http://checkstyle.sourceforge.net/config_coding.html --> - <module name="ArrayTrailingComma"> - <property name="severity" value="info"/> - </module> - <!--<module name="AvoidInlineConditionals"/>--> - <module name="CovariantEquals"/> - <module name="DoubleCheckedLocking"/> - <module name="EmptyStatement"> - <property name="severity" value="info"/> - </module> - <module name="EqualsHashCode"/> - <!--<module name="FinalLocalVariable"/>--> - <module name="HiddenField"> - <property name="severity" value="info"/> - <property name="ignoreConstructorParameter" value="true"/> - <property name="ignoreSetter" value="true"/> - </module> - <module name="IllegalInstantiation"> - <property name="classes" value="java.lang.Boolean"/> - </module> - <!-- - <module name="IllegalToken"> - <property name="tokens" value="LITERAL_NATIVE"/> - </module> - --> - <module name="IllegalTokenText"/> - <module name="InnerAssignment"> - <property name="severity" value="warning"/> - </module> - <!--<module name="MagicNumber"/>--> - <module name="MissingSwitchDefault"> - <property name="severity" value="info"/> - </module> - <module name="ModifiedControlVariable"/> - <!--<module name="RedundantThrows"/>--> - <module name="SimplifyBooleanExpression"/> - <module name="SimplifyBooleanReturn"/> - <module name="StringLiteralEquality"/> - <!--<module name="NestedIfDepth"/>--> - <!--<module name="NestedTryDepth"/>--> - <!--<module name="SuperClone"/>--> - <module name="SuperFinalize"/> - <!--<module name="IllegalCatch"/>--> - <!--<module name="IllegalThrows"/>--> - <module name="PackageDeclaration"/> - <module name="JUnitTestCase"/> - <!--<module name="ReturnCount"/>--> - <!--<module name="IllegalType"/>--> - <!--<module name="DeclarationOrder"/>--> - <module name="ParameterAssignment"> - <property name="severity" value="info"/> - </module> - <module name="ExplicitInitialization"> - <property name="severity" value="info"/> - </module> - <module name="DefaultComesLast"/> - <!--<module name="MissingCtor"/>--> - <module name="FallThrough"/> - <!--<module name="MultipleStringLiterals"/>--> - <!--<module name="MultipleVariableDeclarations"/>--> - <!--<module name="RequireThis"/>--> - <!--<module name="UnnecessaryParentheses"/>--> + <module name="ArrayTrailingComma"> + <property name="severity" value="info"/> + </module> + <!--<module name="AvoidInlineConditionals"/>--> + <module name="CovariantEquals"/> + <module name="DoubleCheckedLocking"/> + <module name="EmptyStatement"> + <property name="severity" value="info"/> + </module> + <module name="EqualsHashCode"/> + <!--<module name="FinalLocalVariable"/>--> + <module name="HiddenField"> + <property name="severity" value="info"/> + <property name="ignoreConstructorParameter" value="true"/> + <property name="ignoreSetter" value="true"/> + </module> + <module name="IllegalInstantiation"> + <property name="classes" value="java.lang.Boolean"/> + </module> + <!-- + <module name="IllegalToken"> + <property name="tokens" value="LITERAL_NATIVE"/> + </module> + --> + <module name="IllegalTokenText"/> + <module name="InnerAssignment"> + <property name="severity" value="warning"/> + </module> + <!--<module name="MagicNumber"/>--> + <module name="MissingSwitchDefault"> + <property name="severity" value="info"/> + </module> + <module name="ModifiedControlVariable"/> + <!--<module name="RedundantThrows"/>--> + <module name="SimplifyBooleanExpression"/> + <module name="SimplifyBooleanReturn"/> + <module name="StringLiteralEquality"/> + <!--<module name="NestedIfDepth"/>--> + <!--<module name="NestedTryDepth"/>--> + <!--<module name="SuperClone"/>--> + <module name="SuperFinalize"/> + <!--<module name="IllegalCatch"/>--> + <!--<module name="IllegalThrows"/>--> + <module name="PackageDeclaration"/> + <module name="JUnitTestCase"/> + <!--<module name="ReturnCount"/>--> + <!--<module name="IllegalType"/>--> + <!--<module name="DeclarationOrder"/>--> + <module name="ParameterAssignment"> + <property name="severity" value="info"/> + </module> + <module name="ExplicitInitialization"> + <property name="severity" value="info"/> + </module> + <module name="DefaultComesLast"/> + <!--<module name="MissingCtor"/>--> + <module name="FallThrough"/> + <!--<module name="MultipleStringLiterals"/>--> + <!--<module name="MultipleVariableDeclarations"/>--> + <!--<module name="RequireThis"/>--> + <!--<module name="UnnecessaryParentheses"/>--> - <!-- class design, see http://checkstyle.sourceforge.net/config_design.html --> + <!-- class design, see http://checkstyle.sourceforge.net/config_design.html --> - <module name="VisibilityModifier"> - <property name="severity" value="info"/> - <property name="protectedAllowed" value="true"/> - </module> - <module name="FinalClass"/> - <!--<module name="InterfaceIsType"/>--> - <module name="HideUtilityClassConstructor"/> - <!--<module name="DesignForExtension"/>--> - <!--<module name="MutableException"/>--> - <!--<module name="ThrowsCount"/>--> + <module name="VisibilityModifier"> + <property name="severity" value="info"/> + <property name="protectedAllowed" value="true"/> + </module> + <module name="FinalClass"/> + <!--<module name="InterfaceIsType"/>--> + <module name="HideUtilityClassConstructor"/> + <!--<module name="DesignForExtension"/>--> + <!--<module name="MutableException"/>--> + <!--<module name="ThrowsCount"/>--> - <!-- misc, see http://checkstyle.sourceforge.net/config_misc.html --> + <!-- misc, see http://checkstyle.sourceforge.net/config_misc.html --> - <module name="GenericIllegalRegexp"> - <property name="severity" value="info"/> - <property name="format" value="\s+$"/> - <property name="message" value="Line has trailing spaces."/> - </module> - <!--<module name="TodoComment"/>--> - <!--<module name="UncommentedMain"/>--> - <module name="UpperEll"/> - <module name="ArrayTypeStyle"/> - <!--<module name="FinalParameters"/>--> - <!--<module name="DescendantToken"/>--> - <!--<module name="Indentation"/>--> - <!--<module name="TrailingComment"/>--> - <!--<module name="RequiredRegexp"/>--> - <!--<module name="Regexp"/>--> + <module name="GenericIllegalRegexp"> + <property name="severity" value="info"/> + <property name="format" value="\s+$"/> + <property name="message" value="Line has trailing spaces."/> + </module> + <!--<module name="TodoComment"/>--> + <!--<module name="UncommentedMain"/>--> + <module name="UpperEll"/> + <module name="ArrayTypeStyle"/> + <!--<module name="FinalParameters"/>--> + <!--<module name="DescendantToken"/>--> + <!--<module name="Indentation"/>--> + <!--<module name="TrailingComment"/>--> + <!--<module name="RequiredRegexp"/>--> + <!--<module name="Regexp"/>--> - </module> + </module> </module> |
Author: joachimvda
Date: 2009-08-21 22:24:29 +0200 (Fri, 21 Aug 2009)
New Revision: 3777
Added:
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/filters/cql/Node.java
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/filters/cql/SimpleNode.java
trunk/geomajas/geomajas-impl/src/main/jjtree/expr.jjt
Removed:
trunk/geomajas/geomajas-impl/src/main/jjtree/org/geomajas/server/filter/cql/Node.java
trunk/geomajas/geomajas-impl/src/main/jjtree/org/geomajas/server/filter/cql/SimpleNode.java
trunk/geomajas/geomajas-impl/src/main/resources/org/geomajas/core/filters/cql/expr.jjt
Modified:
trunk/geomajas/geomajas-impl/pom.xml
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/filters/cql/CQLCompiler.java
Log:
fix jjtree stuff (cql) cfr planbaten merge
Modified: trunk/geomajas/geomajas-impl/pom.xml
===================================================================
--- trunk/geomajas/geomajas-impl/pom.xml 2009-08-21 17:52:35 UTC (rev 3776)
+++ trunk/geomajas/geomajas-impl/pom.xml 2009-08-21 20:24:29 UTC (rev 3777)
@@ -279,24 +279,23 @@
</plugin-->
<plugin>
- <groupId>org.geotools.maven</groupId>
- <artifactId>gt2-jjtree-javacc</artifactId>
- <version>2.4-M2</version>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>javacc-maven-plugin</artifactId>
+ <version>2.5</version>
<configuration>
- <!-- Where to search for .jjt files -->
- <sourceDirectory>${basedir}/src/main/resources</sourceDirectory>
- <!-- Where to search for Node.java -->
- <nodeDirectory>${basedir}/src/main/jjtree</nodeDirectory>
+ <buildNodeFiles>false</buildNodeFiles>
<nodePackage>org.geomajas.core.filters.cql</nodePackage>
</configuration>
<executions>
<execution>
+ <id>jjtree-javacc</id>
<goals>
- <goal>generate</goal>
+ <goal>jjtree-javacc</goal>
</goals>
</execution>
</executions>
</plugin>
+
</plugins>
</build>
</project>
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/filters/cql/CQLCompiler.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/filters/cql/CQLCompiler.java 2009-08-21 17:52:35 UTC (rev 3776)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/filters/cql/CQLCompiler.java 2009-08-21 20:24:29 UTC (rev 3777)
@@ -135,7 +135,7 @@
public final void jjtreeOpenNodeScope(Node n) {
}
- public final void jjtreeCloseNodeScope(Node n) throws ParseException {
+ public final void jjtreeCloseNodeScope(Node n) throws CQLException {
try {
Object built = buildObject(n);
@@ -643,7 +643,7 @@
/**
* Creates Binary Spatial Operator
*
- * @param tipeNode
+ * @param nodeType
*
* @return Filter (must be BinarySpatialOperator) // FIXME see equals
* @throws CQLException
@@ -1110,7 +1110,7 @@
/**
* Builds a compare filter
*
- * @param filterTipa
+ * @param filterType
*
* @return BinaryComparisonOperator
* @throws CQLException
@@ -1136,7 +1136,7 @@
return filterFactory.lessOrEqual(left, right);
default:
- throw new CQLException("unexpeted filter type.");
+ throw new CQLException("unexpected filter type.");
}
}
Copied: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/filters/cql/Node.java (from rev 3775, trunk/geomajas/geomajas-impl/src/main/jjtree/org/geomajas/server/filter/cql/Node.java)
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/filters/cql/Node.java (rev 0)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/filters/cql/Node.java 2009-08-21 20:24:29 UTC (rev 3777)
@@ -0,0 +1,58 @@
+/*
+ * This file is part of Geomajas, a component framework for building
+ * rich Internet applications (RIA) with sophisticated capabilities for the
+ * display, analysis and management of geographic information.
+ * It is a building block that allows developers to add maps
+ * and other geographic data capabilities to their web applications.
+ *
+ * Copyright 2008-2009 Geosparc, http://www.geosparc.com, Belgium
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package org.geomajas.core.filters.cql;
+
+interface Node {
+
+ public void dispose();
+
+ public Token getToken();
+
+ public int getType();
+
+ /**
+ * This method is called after the node has been made the current node. It indicates that child nodes can now be
+ * added to it.
+ */
+ public void jjtOpen();
+
+ /** This method is called after all the child nodes have been added. */
+ public void jjtClose();
+
+ /** This pair of methods are used to inform the node of its parent. */
+ public void jjtSetParent(Node n);
+
+ public Node jjtGetParent();
+
+ /** This method tells the node to add its argument to the node's list of children. */
+ public void jjtAddChild(Node n, int i);
+
+ /** This method returns a child node. The children are numbered from zero, left to right. */
+ public Node jjtGetChild(int i);
+
+ /** Return the number of children the node has. */
+ public int jjtGetNumChildren();
+
+ /** Accept the visitor. */
+ public Object jjtAccept(CQLParserVisitor visitor, Object data);
+}
Copied: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/filters/cql/SimpleNode.java (from rev 3775, trunk/geomajas/geomajas-impl/src/main/jjtree/org/geomajas/server/filter/cql/SimpleNode.java)
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/filters/cql/SimpleNode.java (rev 0)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/core/filters/cql/SimpleNode.java 2009-08-21 20:24:29 UTC (rev 3777)
@@ -0,0 +1,114 @@
+/*
+ * This file is part of Geomajas, a component framework for building
+ * rich Internet applications (RIA) with sophisticated capabilities for the
+ * display, analysis and management of geographic information.
+ * It is a building block that allows developers to add maps
+ * and other geographic data capabilities to their web applications.
+ *
+ * Copyright 2008-2009 Geosparc, http://www.geosparc.com, Belgium
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package org.geomajas.core.filters.cql;
+
+class SimpleNode implements Node {
+
+ protected Node parent;
+ protected Node[] children;
+ protected int id;
+ protected CQLParser parser;
+ protected String value;
+ Token token;
+
+ public SimpleNode(int i) {
+ id = i;
+ }
+
+ public SimpleNode(CQLParser p, int i) {
+ this(i);
+ parser = p;
+ }
+
+ public void jjtOpen() {
+ }
+
+ public void jjtClose() {
+ }
+
+ public void jjtSetParent(Node n) { parent = n; }
+
+ public Node jjtGetParent() { return parent; }
+
+ public void jjtAddChild(Node n, int i) {
+ if (children == null) {
+ children = new Node[i + 1];
+ } else if (i >= children.length) {
+ Node c[] = new Node[i + 1];
+ System.arraycopy(children, 0, c, 0, children.length);
+ children = c;
+ }
+ children[i] = n;
+ }
+
+ public Node jjtGetChild(int i) {
+ return children[i];
+ }
+
+ public int jjtGetNumChildren() {
+ return (children == null) ? 0 : children.length;
+ }
+
+ /** Accept the visitor. * */
+ public Object jjtAccept(CQLParserVisitor visitor, Object obj) {
+ return visitor.visit(this, obj);
+ }
+
+ /* You can override these two methods in subclasses of SimpleNode to customize the way the node appears when the
+ * tree is dumped. If your output uses more than one line you should override toString(String), otherwise
+ * overriding toString() is probably all you need to do. */
+
+ public String toString() { return CQLParserTreeConstants.jjtNodeName[id]; }
+
+ public String toString(String prefix) { return prefix + toString(); }
+
+ /* Override this method if you want to customize how the node dumps out its children. */
+
+ public void dump(String prefix) {
+ System.out.println(toString(prefix));
+ if (children != null) {
+ for (Node aChildren : children) {
+ SimpleNode n = (SimpleNode) aChildren;
+ if (n != null) {
+ n.dump(prefix + " ");
+ }
+ }
+ }
+ }
+
+ public int getType() {
+ return id;
+ }
+
+ public void dispose() {
+ parent = null;
+ children = null;
+ parser = null;
+ }
+
+ public Token getToken() {
+ return token;
+ }
+
+}
+
Copied: trunk/geomajas/geomajas-impl/src/main/jjtree/expr.jjt (from rev 3767, trunk/geomajas/geomajas-impl/src/main/resources/org/geomajas/core/filters/cql/expr.jjt)
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/jjtree/expr.jjt (rev 0)
+++ trunk/geomajas/geomajas-impl/src/main/jjtree/expr.jjt 2009-08-21 20:24:29 UTC (rev 3777)
@@ -0,0 +1,1108 @@
+/*
+ * GeoTools - OpenSource mapping toolkit
+ * http://geotools.org
+ * (C) 2003-2006, GeoTools Project Managment Committee (PMC)
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License.te
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ */
+
+
+options {
+ STATIC=false;
+ NODE_SCOPE_HOOK=true;
+ NODE_DEFAULT_VOID=true;
+ MULTI=false;
+ NODE_PACKAGE="org.geomajas.core.filters.cql.cql";
+ VISITOR=true;
+
+// DEBUG_TOKEN_MANAGER=true;
+// DEBUG_PARSER=true;
+}
+
+PARSER_BEGIN(CQLParser)
+
+package org.geomajas.core.filters.cql;
+
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * CQLParser is the result of a javacc jjtree grammar.
+ *
+ * @author Ian Schneider
+ * @author Mauricio Pazos - Axios Engineering
+ * @version $Id: expr.jjt 24966 2007-03-30 11:33:47Z vmpazos $
+ */
+class CQLParser {
+ public void jjtreeOpenNodeScope(Node n) throws ParseException {
+
+ }
+
+ public void jjtreeCloseNodeScope(Node n) throws ParseException {
+
+ }
+
+ public static void main(String args[]) throws ParseException {
+ CQLParser parser = new CQLParser(System.in);
+ try {
+ SimpleNode n = (SimpleNode) parser.CompilationUnit();
+ n.dump("");
+ System.out.println("Thank you.");
+ } catch (Exception e) {
+ System.out.println("Oops.");
+ System.out.println(e.getMessage());
+ e.printStackTrace();
+ }
+ }
+ // initialize geooperations
+ protected static final Set GEOOP = new HashSet();
+ static {
+ GEOOP.add("EQUAL");
+ GEOOP.add("DISJOINT");
+ GEOOP.add("INTERSECT");
+ GEOOP.add("TOUCH");
+ GEOOP.add("CROSS");
+ GEOOP.add("WITHIN");
+ GEOOP.add("CONTAINS");
+ GEOOP.add("OVERLAP");
+ GEOOP.add("RELATE");
+ GEOOP.add("BBOX");
+ }
+ protected boolean isGeoOp() {
+
+ return "(".equals(getToken(2).image)
+ && GEOOP.contains(getToken(1).image.toUpperCase());
+ }
+
+ protected static final Set RELGEOOP = new HashSet();
+ static {
+ RELGEOOP.add("DWITHIN");
+ RELGEOOP.add("BEYOND");
+
+ }
+ protected boolean isRelGeoOp() {
+
+ return "(".equals(getToken(2).image)
+ && RELGEOOP.contains(getToken(1).image.toUpperCase());
+ }
+
+}
+
+PARSER_END(CQLParser)
+
+
+SKIP : /* WHITE SPACE */
+{
+ " "
+| "\t"
+| "\n"
+| "\r"
+| "\f"
+}
+
+MORE:
+{
+ < "'" > : IN_SQ
+| < "\""> : IN_DQ
+}
+
+<IN_SQ>
+TOKEN:
+{
+ <SQ_STRING : "'"> { matchedToken.image = image.substring(1,image.length() -1); } : DEFAULT
+}
+
+<IN_DQ>
+TOKEN:
+{
+ <DQ_STRING : "\""> { matchedToken.image = image.substring(1,image.length() -1); } : DEFAULT
+}
+
+<IN_SQ>
+MORE:
+{
+ < ("\\" ("\\"|"'")) | ~[]>
+}
+
+<IN_DQ>
+MORE:
+{
+ < ("\\" ("\\"|"\"")) | ~[]>
+}
+
+TOKEN [IGNORE_CASE]: /* keywords */
+{
+ < AND: "and" | "&&"> |
+ < OR: "or"> |
+ < NOT: "not" | "!"> |
+ < EQ: "eq" | "==" | "="> |
+ < NEQ: "neq" | "<>" > |
+ < GT: "gt" | ">" > |
+ < LT: "lt" | "<" > |
+ < GTE: "gte" | ">="> |
+ < LTE: "lte" | "<="> |
+ < TRUE: "true"> |
+ < FALSE: "false"> |
+ < UNKNOWN: "unknown"> |
+ < LIKE: "like" > |
+ < BETWEEN: "between"> |
+ < IS: "is" > |
+ < NULL: "null" >
+}
+
+TOKEN [IGNORE_CASE]: /* include all and exclude all filters */
+{
+ < INCLUDE: "include"> |
+ < EXCLUDE: "exclude">
+}
+
+TOKEN [IGNORE_CASE]: /* geometry markers */
+{
+ < POINT: "point"> |
+ < LINESTRING: "linestring"> |
+ < POLYGON: "polygon"> |
+ < MULTIPOINT: "multipoint"> |
+ < MULTILINESTRING: "multilinestring"> |
+ < MULTIPOLYGON: "multipolygon"> |
+ < GEOMETRYCOLLECTION: "geometrycollection"> |
+ < ENVELOPE: "envelope">
+}
+
+TOKEN [IGNORE_CASE]: /* temporal expression*/
+{
+ <BEFORE: "before"> |
+ <DURING: "during"> |
+ <AFTER: "after"> |
+ <UTC: "T">
+}
+TOKEN [IGNORE_CASE]: /* existence predicate*/
+{
+ <EXISTS: "exists"> |
+ <DOES_NOT_EXIST: "does-not-exist">
+}
+
+TOKEN [IGNORE_CASE]:
+{
+ < EQUAL: "equal"> |
+ < DISJOINT: "disjoint"> |
+ < INTERSECT: "intersect"> |
+ < TOUCH: "touch"> |
+ < CROSS: "cross"> |
+ < WITHIN: "within"> |
+ < CONTAINS: "contains"> |
+ < OVERLAP: "overlap"> |
+ < RELATE: "relate"> |
+ < BBOX: "bbox">
+}
+
+TOKEN [IGNORE_CASE]: /* relgeoop name */
+{
+ < DWITHIN: "dwithin"> |
+ < BEYOND: "beyond">
+}
+
+TOKEN [IGNORE_CASE]:
+{
+ <FEET: "feet" > |
+ <METERS: "meters"> |
+ <STATUTE_MILES: "statute miles"> |
+ <NAUTICAL_MILES: "nautical miles"> |
+ <KILOMETERS: "kilometers">
+}
+
+
+TOKEN:
+{
+ < LP: "("> |
+ < RP: ")"> |
+ < LSP: "["> |
+ < RSP: "]"> |
+ < COMMA: ","> |
+ < SENTENCE_SEPARATOR: ";"> |
+ < PERIOD: "."> |
+ < SLASH: "/"> |
+// < PERIOD_SEP: <SLASH> > |
+// < DIV: <SLASH> > |
+ < COLON: ":"> |
+ < MULT: "*"> |
+ < PLUS: "+"> |
+ < MINUS: "-" >
+}
+
+
+// Note, because float and int can technically have the same grammar,
+// put int first to make token manager have preference for it...
+// The same case occurs between identifier and duration tokens,
+// then DURATION has preference over IDENTIFIER
+TOKEN [IGNORE_CASE]: /* Literals */
+{
+ < INTEGER_LITERAL: ("-")? (<DIGIT>)+ > |
+ < FLOATING_LITERAL:
+ ("-")?
+ ( ( <DIGIT> )* "." ( <DIGIT> )+ (<EXPONENT>)? ) |
+ ( ( <DIGIT> )+ ("." ( <DIGIT> )*)? (<EXPONENT>)? )
+ > |
+
+ < #DUR_DAY: (<DIGIT>)+ "D" > |
+ < #DUR_MONTH: (<DIGIT>)+ "M" (<DUR_DAY>)? > |
+ < #DUR_YEAR: (<DIGIT>)+ "Y" (<DUR_MONTH>)? > |
+ < #DUR_DATE: (<DUR_DAY> | <DUR_MONTH> | <DUR_YEAR>) ("T" <DUR_TIME>)?> |
+
+ < #DUR_HOUR: (<DIGIT>)+ "H" (<DUR_MINUTE>)?> |
+ < #DUR_MINUTE:(<DIGIT>)+ "M" (<DUR_SECOND>)? > |
+ < #DUR_SECOND:(<DIGIT>)+ "S" > |
+ < #DUR_TIME: (<DUR_HOUR> | <DUR_MINUTE> | <DUR_SECOND>) > |
+
+ < DURATION: ("P" <DUR_DATE> | "T" <DUR_TIME>) > |
+
+ < #FULL_DATE: <DIGIT><DIGIT><DIGIT><DIGIT> "-" <DIGIT><DIGIT> "-" <DIGIT><DIGIT> > |
+ < #UTC_TIME: <DIGIT><DIGIT> ":" <DIGIT><DIGIT> ":" <DIGIT><DIGIT> ("." (<DIGIT>)+)? "Z" > |
+ < DATE_TIME : <FULL_DATE>"T"<UTC_TIME> > |
+
+ < IDENTIFIER: (<LETTER> (<LETTER>|<DIGIT>|<LSP>|<RSP>|<SLASH>)*) > |
+
+ < #LETTER: [ "a"-"z", "A"-"Z" , "_"] > |
+ < DIGIT: [ "0"-"9"] > |
+ < #EXPONENT: ["e","E"] (["+","-"])? (<DIGIT>)+ >
+}
+
+/*
+ * Program structuring syntax to parse a single filter.
+ */
+Node CompilationUnit() :
+{}
+{
+ SearchCondition()
+ <EOF>
+ {return jjtree.rootNode();}
+}
+
+/*
+ * Program structuring syntax to parse a single expression.
+ */
+Node ExpressionCompilationUnit() :
+{}
+{
+ Expression()
+ <EOF>
+ {return jjtree.rootNode();}
+}
+
+/*
+ * Program structuring syntax to parse a list of filters.
+ */
+Node MultipleCompilationUnit() :
+{}
+{
+ SequenceOfSearchConditions()
+ <EOF>
+ {return jjtree.rootNode();}
+}
+
+void SearchCondition() #void:
+{}
+{
+ BooleanValueExpression()
+}
+/*
+ * <SequenceOfSearchConditions> ::=
+ * <search condition>
+ * | <SequenceOfSearchConditions> ; <search condition>
+ */
+void SequenceOfSearchConditions() #void:
+{}
+{
+ SearchCondition() (<SENTENCE_SEPARATOR> SearchCondition())*
+}
+
+/*
+ * <boolean value expression> ::=
+ * <boolean term>
+ * | <boolean value expression> OR <boolean term>
+ */
+void BooleanValueExpression() #void:
+{}
+{
+ BooleanTerm()( <OR> BooleanTerm() #Boolean_Or_Node(2) )*
+}
+
+
+/*
+ * <boolean term> ::=
+ * <boolean factor>
+ * | <boolean term> AND <boolean factor>
+ */
+void BooleanTerm() #void :
+{}
+{
+ (BooleanFactor()( <AND> BooleanFactor() #Boolean_And_Node(2) )*)
+}
+
+
+void BooleanFactor() #void:
+{}
+{
+ BooleanPrimary()
+ | <NOT> BooleanPrimary() #Boolean_Not_Node
+}
+
+void BooleanPrimary() #void:
+{}
+{
+ LOOKAHEAD(1) IncludeExcludePredicate()
+ | LOOKAHEAD(1) Predicate()
+ | RoutineInvocation()
+ | <LP>SearchCondition()<RP>
+}
+
+/*
+ * <predicate> ::= <comparison predicate>
+ * | <text predicate>
+ * | <null predicate>
+ * | <temporal predicate>
+ * | <classification predicate> (*not supported*)
+ * | <existence predicate>
+ * | <between predicate> (*extension*)
+ * | <includeexclude predicate> (*extesion*)
+ */
+void Predicate() #void:
+{}
+{
+ Attribute()
+ (
+ LOOKAHEAD(3)TextPredicate()
+ | LOOKAHEAD(3)NullPredicate()
+ | LOOKAHEAD(3)ExistencePredicate()
+ | LOOKAHEAD(3)TemporalPredicate()
+ | LOOKAHEAD(3)BetweenPredicate()
+ | ComparissonPredicate()
+ )
+}
+
+/* ---------------------------------------- *
+ * <routine invocation>
+ * ---------------------------------------- *
+/*
+ * <routine invocation> ::=
+ * <geoop name><georoutine argument list>
+ * | <relgeoop name><relgeoop argument list>
+ * | <routine name><argument list>
+ */
+void RoutineInvocation() #void:
+{}
+{
+ LOOKAHEAD({ isGeoOp() }) RoutineInvocationGeoOp()
+ | LOOKAHEAD({ isRelGeoOp() }) RoutineInvocationRelGeoOp()
+ | RoutineInvocationGeneric()
+}
+
+void RoutineInvocationGeoOp() #void:
+{}
+{
+ <EQUAL> GeoRoutineArgumentList() #RoutineInvocation_GeoOp_Equal_Node
+ | <DISJOINT> GeoRoutineArgumentList() #RoutineInvocation_GeoOp_Disjoint_Node
+ | <INTERSECT> GeoRoutineArgumentList() #RoutineInvocation_GeoOp_Intersect_Node
+ | <TOUCH> GeoRoutineArgumentList() #RoutineInvocation_GeoOp_Touch_Node
+ | <CROSS> GeoRoutineArgumentList() #RoutineInvocation_GeoOp_Cross_Node
+ | <WITHIN> GeoRoutineArgumentList() #RoutineInvocation_GeoOp_Within_Node
+ | <CONTAINS> GeoRoutineArgumentList() #RoutineInvocation_GeoOp_Contain_Node
+ | <OVERLAP> GeoRoutineArgumentList() #RoutineInvocation_GeoOp_Overlap_Node
+ | <RELATE> GeoRoutineArgumentList() #RoutineInvocation_GeoOp_Relate_Node
+ | <BBOX> BBoxArgumentList()
+}
+
+/*
+ * <georoutine argument list> ::=
+ * <left paren><attribute name><comma><geometry literal><right paren>
+ *
+ */
+void GeoRoutineArgumentList() #void:
+{}
+{
+ <LP> Attribute() <COMMA> GeometryLiteral() <RP>
+}
+/*
+ * <bbox argument list>::=
+ * "(" <attribute> ","
+ * <min X> ","
+ * <min Y> ","
+ * <max X> ","
+ * <max Y>
+ * [, srs] ")"
+ *
+ * <min X> ::= <signed numerical literal>
+ * <min Y> ::= <signed numerical literal>
+ * <max X> ::= <signed numerical literal>
+ * <max Y> ::= <signed numerical literal>
+ * <srs> ::= <character string literal>
+*/
+void BBoxArgumentList() #void:
+{}
+{
+ <LP> Attribute() <COMMA>
+ SignedNumericLiteral() <COMMA>
+ SignedNumericLiteral() <COMMA>
+ SignedNumericLiteral() <COMMA>
+ SignedNumericLiteral()
+ ( <RP> #RoutineInvocation_GeoOp_BBOX_Node
+ | <COMMA> StringLiteral()<RP> #RoutineInvocation_GeoOp_BBOX_SRS_Node)
+
+
+}
+
+/*
+ * <relgeoop name> ::= DWITHIN | BEYOND
+ */
+void RoutineInvocationRelGeoOp() #void:
+{}
+{
+ <DWITHIN> RelGeoRoutineArgumentList() #RoutineInvocation_RelOp_DWITHIN_Node
+ | <BEYOND> RelGeoRoutineArgumentList() #RoutineInvocation_RelOp_BEYOND_Node
+}
+
+/*
+ * <relgeoop argument list> ::=
+ * <left paren><attribute name><comma><geometry literal><comma><tolerance><right paren>
+ */
+void RelGeoRoutineArgumentList() #void:
+{}
+{
+ <LP> Attribute() <COMMA> GeometryLiteral() <COMMA> Tolerance() <RP>
+}
+/*
+ * <tolerance> ::= <unsigned numeric literal><comma><distance units>
+ */
+void Tolerance() :
+{}
+{
+ UnsignedNumericLiteral() #Tolerance_Node <COMMA> DistanceUnits()
+}
+
+void UnsignedNumericLiteral():
+{}
+{
+ SignedNumericLiteral() // TODO must be redefined for number token to handle sign correctly
+}
+
+/**
+ * <distance units> ::=
+ * 'feet' | 'meters' | 'statute miles' |
+ * 'nautical miles' | 'kilometers'
+ *
+ * TODO this set of units is just an example. The real list of distance unit must be developed
+ */
+void DistanceUnits() #DistanceUnits_Node:
+{}
+{
+ <FEET> | <METERS> | <STATUTE_MILES> | <NAUTICAL_MILES> | <KILOMETERS>
+}
+
+
+/*
+ * <geometry literal> ::=
+ * <Point Tagged Text>
+ * | <LineString Tagged Text>
+ * | <Polygon Tagged Text>
+ * | <MultiPoint Tagged Text>
+ * | <MultiLineString Tagged Text>
+ * | <MultiPolygon Tagged Text>
+ * | <GeometryCollection Tagged Text>
+ * | <Envelope Tagged Text>
+ */
+void GeometryLiteral() #void:
+{}
+{
+ PointTaggedText() |
+ LineStringTaggedText() |
+ PolygonTaggedText() |
+ MultiPointTaggedText() |
+ MultiLineStringTaggedText() |
+ MultiPolygonTaggedText() |
+ GeometryCollectionTaggedText() |
+ EnvelopeTaggedText()
+}
+/*
+ * <routine invocation > ::=
+ * | <routine name > <argument list >
+ *
+ * <argument list> ::=
+ * <left paren> [<positional arguments>] <right paren>
+ * <positional arguments> ::=
+ * <argument> [ { <comma> <argument> }... ]
+ *
+ * <argument> ::=
+ * <literal>
+ * | <attribute name>
+ * | <function> (*Extension*)
+ * | <binary expression> (*Extnsion*)
+ */
+void RoutineInvocationGeneric() #void:
+{}
+{
+ Function()
+}
+
+/* ---------------------------------------- *
+ * End <routine invocation>
+ * ---------------------------------------- *
+
+
+/* ---------------------------------------- *
+ * <includeexclude predicate>
+ * ---------------------------------------- *
+/*
+ * <includeexclude predicate> ::=
+ * <INCLUDE> | <EXCLUDE>
+ */
+void IncludeExcludePredicate() #void:
+{}
+{
+ <INCLUDE> #Include_Node
+ | <EXCLUDE> #Exclude_Node
+}
+
+/* ---------------------------------------- *
+ * <comparison predicate>
+ * ---------------------------------------- *
+/*
+ * <comparison predicate> ::=
+ * <attribute name> <comp op> <literal>
+ */
+void ComparissonPredicate() :
+{}
+{
+ <EQ> Expression() #ComparissonPredicate_EQ_Node
+ | <GT> Expression() #ComparissonPredicate_GT_Node
+ | <LT> Expression() #ComparissonPredicate_LT_Node
+ | <GTE> Expression() #ComparissonPredicate_GTE_Node
+ | <LTE> Expression() #ComparissonPredicate_LTE_Node
+ | <NEQ> Expression() #ComparissonPredicate_Not_Equal_Node
+}
+
+/*
+ * <null predicate> ::= <attribute name> IS [ NOT ] NULL
+ */
+void NullPredicate() :
+{}
+{
+ LOOKAHEAD(3) <IS> <NULL> #NullPredicateNode
+ | <IS> <NOT> <NULL> #NotNullPredicateNode
+}
+
+
+/* ---------------------------------------- *
+ * <temporal predicate>
+ * ---------------------------------------- *
+ * <temporal predicate> ::=
+ * <attribute_name> BEFORE <date-time expression>
+ * | <attribute_name> BEFORE OR DURING <period>
+ * | <attribute_name> DURING <period>
+ * | <attribute_name> DURING OR AFTER <period>
+ * | <attribute_name> AFTER <date-time expression>
+ */
+void TemporalPredicate() #void:
+{}
+{
+ <BEFORE> TemporalPredicateBefore()
+ | <AFTER> TemporalPredicateAfter()
+ | <DURING> TemporalPredicateDuring()
+
+}
+
+void TemporalPredicateBefore()#void:
+{}
+{
+ DateTimeExpression() #TPBefore_DateTime_Node
+ | <OR> <DURING> Period() #TPBefore_Or_During_Period_Node
+}
+
+void TemporalPredicateAfter() #TPAfter_DateTime_Node:
+{}
+{
+ DateTimeExpression()
+}
+
+void TemporalPredicateDuring()#void:
+{}
+{
+ Period() #TPDuring_Period_Node
+ | <OR> <AFTER> Period() #TPDuring_Or_After_Period_Node
+}
+
+/*
+ * <date-time expression ::= <date-time> | <period>
+ */
+void DateTimeExpression()#void:
+{}
+{
+ LOOKAHEAD(2) Period()
+ | DateTime()
+}
+
+/*
+ *<period> ::=
+ * <date-time> "/" <date-time>
+ * | <date-time> "/" <duration>
+ * | <duration> "/" <date-time>
+ */
+void Period() #void:
+{}
+{
+ LOOKAHEAD(2)
+ DateTime() <SLASH> PeriodTail()
+ | Duration() <SLASH> DateTime() #Period_With_Duration_Date_Node
+}
+
+void PeriodTail()#void:
+{}
+{
+ Duration() #Period_With_Date_Duration_Node
+ | DateTime() #Period_Between_Dates_Node
+}
+
+void DateTime()#DateTime_Node:
+{}
+{
+ <DATE_TIME>
+}
+
+/*
+ * <duration> ::= "P" <dur-date> | <dur-time>
+ * <dur-date> ::= <dur-day> | <dur-month> | <dur-year> [<dur-time>]
+ * <dur-day> ::= <digit>... "D"
+ * <dur-month> ::= <digit>... "M" [<dur-day>]
+ * <dur-year> ::= <didit>... "Y" [<dur-month>]
+ */
+void Duration()#void:
+{}
+{
+ <DURATION> #Duration_Date_Node
+}
+
+/* ---------------------------------------- *
+ * End <temporal predicate>
+ * ---------------------------------------- */
+
+/* ---------------------------------------- *
+ * <existence predicate>
+ * ---------------------------------------- */
+/*
+ * <existence_predicate> ::= <attribute_name> EXISTS
+ * | <attribute_name> DOES-NOT-EXIST
+ */
+void ExistencePredicate() #void:
+{}
+{
+ <EXISTS> #Existence_Predicate_Exists_Node
+ | <DOES_NOT_EXIST> #Existence_Predicate_DoesNotExist_Node
+}
+/* ---------------------------------------- *
+ * end <existence predicate>
+ * ---------------------------------------- */
+
+void TextPredicate() #void:
+{}
+{
+ LOOKAHEAD(2) <NOT> <LIKE> StringLiteral() #Not_Like_Node
+ | <LIKE> StringLiteral() #Like_Node
+}
+/*
+ * Cql Extension
+ *
+ * <beween predicate>::= ["NOT"] "BETWEEN" expression "AND" expression
+ */
+void BetweenPredicate() #void:
+{}
+{
+ LOOKAHEAD(2) <NOT> <BETWEEN> Expression() <AND> Expression() #Not_Between_Node
+ | <BETWEEN> Expression() <AND> Expression() #Between_Node
+}
+
+/*
+ * cql extension
+ */
+ void Expression() #void:
+{}
+{
+ BinaryExpression()
+}
+
+void BinaryExpression() #void:
+{}
+{
+ MultiplicativeExpression()
+ (
+ <PLUS> MultiplicativeExpression() #AddNode(2)
+ |
+ <MINUS> MultiplicativeExpression() #SubtractNode(2)
+ )*
+}
+
+
+
+void MultiplicativeExpression() #void :
+{}
+{
+
+ UnaryExpression()
+ (
+ <MULT> UnaryExpression() #MulNode(2)
+ |
+ <SLASH> UnaryExpression() #DivNode(2)
+ )*
+}
+
+void UnaryExpression() #void:
+{}
+{
+ LOOKAHEAD(2) Function()
+ | Literal()
+ | Attribute()
+ | <LP> Expression()<RP>
+ | <LSP> Expression()<RSP>
+}
+
+void Evaluate() #void:
+{}
+{
+ LOOKAHEAD(2) Function()
+ | Attribute()
+}
+
+/*
+ * <identifier> ::= <identifier start [ { <colon> | <identifier part> }... ]
+ */
+void Identifier() #Identifier_Node:
+{}
+{
+ IdentifierStart() ( LOOKAHEAD(2) <COLON> | IdentifierPart() )*
+}
+
+/*
+ * <identifier start> ::= <simple Latin letter>
+ */
+ void IdentifierStart() #Identifier_Start_Node:
+ {}
+ {
+ SimpleLatinLetter()
+ }
+
+/*
+ * <identifier part> ::= <simple Latin letter> | <digit>
+ */
+void IdentifierPart() #Identifier_Part_Node:
+ {}
+ {
+ SimpleLatinLetter()
+ | <DIGIT>
+ }
+
+ /*
+ * <simple Latin letter> ::=
+ * <simple Latin upper case letter>
+ * | <simple Latin lower case letter>
+ *
+ * <simple Latin upper case letter> ::=
+ * A | B | C | D | E | F | G | H | I | J | K | L | M | N | O
+ * | P | Q | R | S | T | U | V | W | X | Y | Z
+ * <simple Latin lower case letter> ::=
+ * a | b | c | d | e | f | g | h | i | j | k | l | m | n | o
+ * | p | q | r | s | t | u | v | w | x | y | z
+ */
+ void SimpleLatinLetter() #void:
+ {}
+ {
+ <IDENTIFIER>
+ }
+
+/*
+ * <attribute name> ::=
+ * <simple attribute name>
+ * | <compound attribute name>
+ *
+ * <compound attribute name> ::=
+ * <identifier><period> [{<identifier><period>}*] <simple attribute name>
+ *
+ * <simple attribute name> ::= <identifier>
+ */
+void Attribute() #void:
+{}
+{
+ SimpleAttributeName() CompoundAttributeName()
+}
+
+/*
+ * <simple attribute name> ::= <identifier>
+ */
+void SimpleAttributeName() #Simple_Attribute_Node:
+{}
+{
+ Identifier()
+}
+
+void CompoundAttributeName() #Compound_Attribute_Node:
+{}
+{
+ ( LOOKAHEAD(2) <PERIOD> SimpleAttributeName() )*
+}
+
+/*
+ * <literal> ::=
+ * <signed numeric literal>
+ * | <general literal>
+ */
+void Literal() #void :
+{}
+{
+ SignedNumericLiteral()
+ | GeneralLiteral()
+}
+
+void SignedNumericLiteral() #void :
+{}
+{
+ IntegerLiteral()
+ | FloatingLiteral()
+}
+/*
+ *<general literal> ::=
+ * <character string literal>
+ * | <datetime literal> // TODO
+ * | <boolean literal>
+ * | <geography literal // TODO
+ */
+void GeneralLiteral() #void:
+{}
+{
+ StringLiteral()
+// | DatetimeLiteral() // TODO
+ | BooleanLiteral()
+// | GeographyLiteral() TODO
+}
+
+void IntegerLiteral() #IntegerNode:
+{}
+{
+ <INTEGER_LITERAL>
+}
+
+void FloatingLiteral() #FloatingNode:
+{}
+{
+ <FLOATING_LITERAL>
+}
+
+void BooleanLiteral() #void :
+{}
+{
+ <TRUE> #TrueNode |
+ <FALSE> #FalseNode
+}
+
+void StringLiteral() #StringNode :
+{}
+{
+ jjtThis.token = <SQ_STRING> | jjtThis.token = <DQ_STRING>
+}
+
+/* ---------------------------------------- *
+ * <function>
+ * ---------------------------------------- */
+/*
+ * <function> ::= <identifier> "("<function arg> [,<function arg>]*)
+ */
+void Function() #Function_Node:
+{}
+{
+ <IDENTIFIER> #FunctionName_Node
+ <LP>( FunctionArg() (<COMMA> FunctionArg() )* )? <RP>
+}
+/*
+ * <argument> ::=
+ * <literal>
+ * | <attribute name>
+ * | <expression> (*extension: expresion inclue literal and attributes*)
+ */
+void FunctionArg() #FunctionArg_Node:
+{}
+{
+ Expression()
+}
+/* ---------------------------------------- *
+ * end <function>
+ * ---------------------------------------- */
+
+/*
+ * <Point> := <x><space><y>
+ */
+void Point() #void:
+{}
+{
+ NumericLiteral() NumericLiteral()
+}
+
+/*
+ * <LineString Text> := EMPTY
+ * | <left paren><Point>{<comma><Point >} ... <right paren>
+ */
+void LineStringText() #void:
+{}
+{
+ (<LP> Point() ( <COMMA> Point() )* <RP>)?
+}
+
+void PointTaggedText() #WKTNode:
+{}
+{
+ jjtThis.token = <POINT> PointText()
+}
+/*
+ * <Point Text> := EMPTY | <left paren> <Point> <right paren>
+ */
+void PointText() #void:
+{}
+{
+ (<LP> Point() <RP>)?
+}
+
+void LineStringTaggedText() #WKTNode:
+{}
+{
+ jjtThis.token = <LINESTRING> LineStringText()
+}
+/*
+ * <Polygon Tagged Text> := POLYGON <Polygon Text>
+ */
+void PolygonTaggedText() #WKTNode:
+{}
+{
+ jjtThis.token = <POLYGON> PolygonText()
+}
+
+
+/*
+ * <Polygon Text> := EMPTY
+ * | <left paren><LineString Text>{<comma><LineString Text>}*<right paren>
+ */
+void PolygonText()#void:
+{}
+{
+ (<LP> LineStringText() (<COMMA> LineStringText())* <RP>)?
+}
+
+/*
+ * <MultiPoint Tagged Text> ::= MULTIPOINT <Multipoint Text>
+ */
+void MultiPointTaggedText() #WKTNode:
+{}
+{
+ jjtThis.token = <MULTIPOINT> MultiPointText()
+}
+/*
+ * <Multipoint Text> := EMPTY
+ * | ( <Point Text > {, <Point Text > }* )
+ */
+void MultiPointText() #void:
+{}
+{
+ (<LP> PointText() (<COMMA> PointText() )* <RP>)?
+}
+
+/*
+ * <MultiLineString Tagged Text> := MULTILINESTRING <MultiLineString Text>
+ */
+void MultiLineStringTaggedText() #WKTNode:
+{}
+{
+ jjtThis.token = <MULTILINESTRING> MultiLineStringText()
+}
+/*
+ * <MultiLineString Text> :=
+ * EMPTY
+ * | ( <LineString Text > {, < LineString Text > }* )
+ */
+void MultiLineStringText() #void:
+{}
+{
+ ( <LP> LineStringText() (<COMMA> LineStringText())* <RP> )?
+}
+/*
+ * <MultiPolygon Tagged Text> :: =MULTIPOLYGON <MultiPolygon Text>
+ */
+void MultiPolygonTaggedText() #WKTNode:
+{}
+{
+ jjtThis.token = <MULTIPOLYGON> MultiPolygonText()
+}
+/*
+ * <MultiPolygon Text> := EMPTY
+ * | <left paren><Polygon Text>{<comma><Polygon Text>}* <right paren>
+ */
+void MultiPolygonText() #void:
+{}
+{
+ ( <LP> PolygonText() ( <COMMA> PolygonText() )* <RP> )?
+}
+
+void GeometryCollectionTaggedText() #WKTNode:
+{}
+{
+ jjtThis.token = <GEOMETRYCOLLECTION> GeometryCollectionText()
+}
+
+/*
+ * <GeometryCollection Text> := EMPTY
+ * | ( <Geometry Tagged Text> {, <Geometry Tagged Text> }* )
+ */
+ void GeometryCollectionText() #void:
+ {}
+ {
+ ( <LP> GeometryLiteral() ( <COMMA> GeometryLiteral() )* <RP>)?
+ }
+
+/*
+ * <Envelope Tagged Text> ::= ENVELOPE <Envelope Text>
+ */
+ void EnvelopeTaggedText() #EnvelopeTaggedText_Node:
+ {}
+ {
+ jjtThis.token = <ENVELOPE> EnvelopText()
+ }
+
+/*
+ * <Envelope Text> := EMPTY
+ * | <left paren>
+ * <WestBoundLongitude><comma>
+ * <EastBoundLongitude><comma>
+ * <NorthBoundLatitude><comma>
+ * <SouthBoundLatitude>
+ * <right paren>
+ * <WestBoundLongitude> := numeric literal
+ * <EastBoundLongitude> := numeric literal
+ * <NorthBoundLatitude> := numeric literal
+ * <SouthBoundLatitude> := numeric literal
+ */
+ void EnvelopText() #void:
+ {}
+ {
+ ( <LP>
+ NumericLiteral() <COMMA>
+ NumericLiteral() <COMMA>
+ NumericLiteral() <COMMA>
+ NumericLiteral()
+ <RP> )?
+ }
+
+void NumericLiteral() #void:
+{}
+{
+ <FLOATING_LITERAL>|<INTEGER_LITERAL>
+}
Deleted: trunk/geomajas/geomajas-impl/src/main/jjtree/org/geomajas/server/filter/cql/Node.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/jjtree/org/geomajas/server/filter/cql/Node.java 2009-08-21 17:52:35 UTC (rev 3776)
+++ trunk/geomajas/geomajas-impl/src/main/jjtree/org/geomajas/server/filter/cql/Node.java 2009-08-21 20:24:29 UTC (rev 3777)
@@ -1,60 +0,0 @@
-/* Generated By:JJTree: Do not edit this line. Node.java */
-/*
- * GeoTools - OpenSource mapping toolkit
- * http://geotools.org
- * (C) 2006, GeoTools Project Managment Committee (PMC)
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * version 2.1 of the License.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- */
-
-package org.geomajas.server.filter.cql;
-
-/* All AST nodes must implement this interface. It provides basic
- machinery for constructing the parent and child relationships
- * @source $URL: http://svn.geotools.org/geotools/trunk/gt/modules/library/cql/modified-src/org/geotools/filter/text/cql2/Node.java $
- between nodes. */
-
-interface Node {
-
- public void dispose();
-
- public Token getToken();
-
- public int getType();
-
- /** This method is called after the node has been made the current
- node. It indicates that child nodes can now be added to it. */
- public void jjtOpen();
-
-
- /** This method is called after all the child nodes have been
- added. */
- public void jjtClose();
-
- /** This pair of methods are used to inform the node of its
- parent. */
- public void jjtSetParent(Node n);
- public Node jjtGetParent();
-
- /** This method tells the node to add its argument to the node's
- list of children. */
- public void jjtAddChild(Node n, int i);
-
- /** This method returns a child node. The children are numbered
- from zero, left to right. */
- public Node jjtGetChild(int i);
-
- /** Return the number of children the node has. */
- public int jjtGetNumChildren();
-
- /** Accept the visitor. **/
- public Object jjtAccept(CQLParserVisitor visitor, Object data);
-}
Deleted: trunk/geomajas/geomajas-impl/src/main/jjtree/org/geomajas/server/filter/cql/SimpleNode.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/jjtree/org/geomajas/server/filter/cql/SimpleNode.java 2009-08-21 17:52:35 UTC (rev 3776)
+++ trunk/geomajas/geomajas-impl/src/main/jjtree/org/geomajas/server/filter/cql/SimpleNode.java 2009-08-21 20:24:29 UTC (rev 3777)
@@ -1,110 +0,0 @@
-/* Generated By:JJTree: Do not edit this line. SimpleNode.java */
-/*
- * GeoTools - OpenSource mapping toolkit
- * http://geotools.org
- * (C) 2006, GeoTools Project Managment Committee (PMC)
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * version 2.1 of the License.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- */
-
-package org.geomajas.server.filter.cql;
-
-
-class SimpleNode implements Node {
- protected Node parent;
- protected Node[] children;
- protected int id;
- protected CQLParser parser;
- protected String value;
- Token token;
-
- public SimpleNode(int i) {
- id = i;
- }
-
- public SimpleNode(CQLParser p, int i) {
- this(i);
- parser = p;
- }
-
- public void jjtOpen() {
- }
-
- public void jjtClose() {
- }
-
- public void jjtSetParent(Node n) { parent = n; }
- public Node jjtGetParent() { return parent; }
-
- public void jjtAddChild(Node n, int i) {
- if (children == null) {
- children = new Node[i + 1];
- } else if (i >= children.length) {
- Node c[] = new Node[i + 1];
- System.arraycopy(children, 0, c, 0, children.length);
- children = c;
- }
- children[i] = n;
- }
-
- public Node jjtGetChild(int i) {
- return children[i];
- }
-
- public int jjtGetNumChildren() {
- return (children == null) ? 0 : children.length;
- }
-
- /** Accept the visitor. **/
- public Object jjtAccept(CQLParserVisitor visitor, Object obj) {
- return visitor.visit(this,obj);
- }
-
- /* You can override these two methods in subclasses of SimpleNode to
- customize the way the node appears when the tree is dumped. If
- your output uses more than one line you should override
- toString(String), otherwise overriding toString() is probably all
- you need to do. */
-
- public String toString() { return CQLParserTreeConstants.jjtNodeName[id]; }
- public String toString(String prefix) { return prefix + toString(); }
-
- /* Override this method if you want to customize how the node dumps
- out its children. */
-
- public void dump(String prefix) {
- System.out.println(toString(prefix));
- if (children != null) {
- for (int i = 0; i < children.length; ++i) {
- SimpleNode n = (SimpleNode)children[i];
- if (n != null) {
- n.dump(prefix + " ");
- }
- }
- }
- }
-
- public int getType() {
- return id;
- }
-
- public void dispose() {
- parent = null;
- children = null;
- parser = null;
- }
-
- public Token getToken() {
- return token;
- }
-
-}
-
Deleted: trunk/geomajas/geomajas-impl/src/main/resources/org/geomajas/core/filters/cql/expr.jjt
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/resources/org/geomajas/core/filters/cql/expr.jjt 2009-08-21 17:52:35 UTC (rev 3776)
+++ trunk/geomajas/geomajas-impl/src/main/resources/org/geomajas/core/filters/cql/expr.jjt 2009-08-21 20:24:29 UTC (rev 3777)
@@ -1,1108 +0,0 @@
-/*
- * GeoTools - OpenSource mapping toolkit
- * http://geotools.org
- * (C) 2003-2006, GeoTools Project Managment Committee (PMC)
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * version 2.1 of the License.te
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- */
-
-
-options {
- STATIC=false;
- NODE_SCOPE_HOOK=true;
- NODE_DEFAULT_VOID=true;
- MULTI=false;
- NODE_PACKAGE="org.geomajas.core.filters.cql.cql";
- VISITOR=true;
-
-// DEBUG_TOKEN_MANAGER=true;
-// DEBUG_PARSER=true;
-}
-
-PARSER_BEGIN(CQLParser)
-
-package org.geomajas.core.filters.cql;
-
-import java.util.HashSet;
-import java.util.Set;
-
-/**
- * CQLParser is the result of a javacc jjtree grammar.
- *
- * @author Ian Schneider
- * @author Mauricio Pazos - Axios Engineering
- * @version $Id: expr.jjt 24966 2007-03-30 11:33:47Z vmpazos $
- */
-class CQLParser {
- public void jjtreeOpenNodeScope(Node n) throws ParseException {
-
- }
-
- public void jjtreeCloseNodeScope(Node n) throws ParseException {
-
- }
-
- public static void main(String args[]) throws ParseException {
- CQLParser parser = new CQLParser(System.in);
- try {
- SimpleNode n = (SimpleNode) parser.CompilationUnit();
- n.dump("");
- System.out.println("Thank you.");
- } catch (Exception e) {
- System.out.println("Oops.");
- System.out.println(e.getMessage());
- e.printStackTrace();
- }
- }
- // initialize geooperations
- protected static final Set GEOOP = new HashSet();
- static {
- GEOOP.add("EQUAL");
- GEOOP.add("DISJOINT");
- GEOOP.add("INTERSECT");
- GEOOP.add("TOUCH");
- GEOOP.add("CROSS");
- GEOOP.add("WITHIN");
- GEOOP.add("CONTAINS");
- GEOOP.add("OVERLAP");
- GEOOP.add("RELATE");
- GEOOP.add("BBOX");
- }
- protected boolean isGeoOp() {
-
- return "(".equals(getToken(2).image)
- && GEOOP.contains(getToken(1).image.toUpperCase());
- }
-
- protected static final Set RELGEOOP = new HashSet();
- static {
- RELGEOOP.add("DWITHIN");
- RELGEOOP.add("BEYOND");
-
- }
- protected boolean isRelGeoOp() {
-
- return "(".equals(getToken(2).image)
- && RELGEOOP.contains(getToken(1).image.toUpperCase());
- }
-
-}
-
-PARSER_END(CQLParser)
-
-
-SKIP : /* WHITE SPACE */
-{
- " "
-| "\t"
-| "\n"
-| "\r"
-| "\f"
-}
-
-MORE:
-{
- < "'" > : IN_SQ
-| < "\""> : IN_DQ
-}
-
-<IN_SQ>
-TOKEN:
-{
- <SQ_STRING : "'"> { matchedToken.image = image.substring(1,image.length() -1); } : DEFAULT
-}
-
-<IN_DQ>
-TOKEN:
-{
- <DQ_STRING : "\""> { matchedToken.image = image.substring(1,image.length() -1); } : DEFAULT
-}
-
-<IN_SQ>
-MORE:
-{
- < ("\\" ("\\"|"'")) | ~[]>
-}
-
-<IN_DQ>
-MORE:
-{
- < ("\\" ("\\"|"\"")) | ~[]>
-}
-
-TOKEN [IGNORE_CASE]: /* keywords */
-{
- < AND: "and" | "&&"> |
- < OR: "or"> |
- < NOT: "not" | "!"> |
- < EQ: "eq" | "==" | "="> |
- < NEQ: "neq" | "<>" > |
- < GT: "gt" | ">" > |
- < LT: "lt" | "<" > |
- < GTE: "gte" | ">="> |
- < LTE: "lte" | "<="> |
- < TRUE: "true"> |
- < FALSE: "false"> |
- < UNKNOWN: "unknown"> |
- < LIKE: "like" > |
- < BETWEEN: "between"> |
- < IS: "is" > |
- < NULL: "null" >
-}
-
-TOKEN [IGNORE_CASE]: /* include all and exclude all filters */
-{
- < INCLUDE: "include"> |
- < EXCLUDE: "exclude">
-}
-
-TOKEN [IGNORE_CASE]: /* geometry markers */
-{
- < POINT: "point"> |
- < LINESTRING: "linestring"> |
- < POLYGON: "polygon"> |
- < MULTIPOINT: "multipoint"> |
- < MULTILINESTRING: "multilinestring"> |
- < MULTIPOLYGON: "multipolygon"> |
- < GEOMETRYCOLLECTION: "geometrycollection"> |
- < ENVELOPE: "envelope">
-}
-
-TOKEN [IGNORE_CASE]: /* temporal expression*/
-{
- <BEFORE: "before"> |
- <DURING: "during"> |
- <AFTER: "after"> |
- <UTC: "T">
-}
-TOKEN [IGNORE_CASE]: /* existence predicate*/
-{
- <EXISTS: "exists"> |
- <DOES_NOT_EXIST: "does-not-exist">
-}
-
-TOKEN [IGNORE_CASE]:
-{
- < EQUAL: "equal"> |
- < DISJOINT: "disjoint"> |
- < INTERSECT: "intersect"> |
- < TOUCH: "touch"> |
- < CROSS: "cross"> |
- < WITHIN: "within"> |
- < CONTAINS: "contains"> |
- < OVERLAP: "overlap"> |
- < RELATE: "relate"> |
- < BBOX: "bbox">
-}
-
-TOKEN [IGNORE_CASE]: /* relgeoop name */
-{
- < DWITHIN: "dwithin"> |
- < BEYOND: "beyond">
-}
-
-TOKEN [IGNORE_CASE]:
-{
- <FEET: "feet" > |
- <METERS: "meters"> |
- <STATUTE_MILES: "statute miles"> |
- <NAUTICAL_MILES: "nautical miles"> |
- <KILOMETERS: "kilometers">
-}
-
-
-TOKEN:
-{
- < LP: "("> |
- < RP: ")"> |
- < LSP: "["> |
- < RSP: "]"> |
- < COMMA: ","> |
- < SENTENCE_SEPARATOR: ";"> |
- < PERIOD: "."> |
- < SLASH: "/"> |
-// < PERIOD_SEP: <SLASH> > |
-// < DIV: <SLASH> > |
- < COLON: ":"> |
- < MULT: "*"> |
- < PLUS: "+"> |
- < MINUS: "-" >
-}
-
-
-// Note, because float and int can technically have the same grammar,
-// put int first to make token manager have preference for it...
-// The same case occurs between identifier and duration tokens,
-// then DURATION has preference over IDENTIFIER
-TOKEN [IGNORE_CASE]: /* Literals */
-{
- < INTEGER_LITERAL: ("-")? (<DIGIT>)+ > |
- < FLOATING_LITERAL:
- ("-")?
- ( ( <DIGIT> )* "." ( <DIGIT> )+ (<EXPONENT>)? ) |
- ( ( <DIGIT> )+ ("." ( <DIGIT> )*)? (<EXPONENT>)? )
- > |
-
- < #DUR_DAY: (<DIGIT>)+ "D" > |
- < #DUR_MONTH: (<DIGIT>)+ "M" (<DUR_DAY>)? > |
- < #DUR_YEAR: (<DIGIT>)+ "Y" (<DUR_MONTH>)? > |
- < #DUR_DATE: (<DUR_DAY> | <DUR_MONTH> | <DUR_YEAR>) ("T" <DUR_TIME>)?> |
-
- < #DUR_HOUR: (<DIGIT>)+ "H" (<DUR_MINUTE>)?> |
- < #DUR_MINUTE:(<DIGIT>)+ "M" (<DUR_SECOND>)? > |
- < #DUR_SECOND:(<DIGIT>)+ "S" > |
- < #DUR_TIME: (<DUR_HOUR> | <DUR_MINUTE> | <DUR_SECOND>) > |
-
- < DURATION: ("P" <DUR_DATE> | "T" <DUR_TIME>) > |
-
- < #FULL_DATE: <DIGIT><DIGIT><DIGIT><DIGIT> "-" <DIGIT><DIGIT> "-" <DIGIT><DIGIT> > |
- < #UTC_TIME: <DIGIT><DIGIT> ":" <DIGIT><DIGIT> ":" <DIGIT><DIGIT> ("." (<DIGIT>)+)? "Z" > |
- < DATE_TIME : <FULL_DATE>"T"<UTC_TIME> > |
-
- < IDENTIFIER: (<LETTER> (<LETTER>|<DIGIT>|<LSP>|<RSP>|<SLASH>)*) > |
-
- < #LETTER: [ "a"-"z", "A"-"Z" , "_"] > |
- < DIGIT: [ "0"-"9"] > |
- < #EXPONENT: ["e","E"] (["+","-"])? (<DIGIT>)+ >
-}
-
-/*
- * Program structuring syntax to parse a single filter.
- */
-Node CompilationUnit() :
-{}
-{
- SearchCondition()
- <EOF>
- {return jjtree.rootNode();}
-}
-
-/*
- * Program structuring syntax to parse a single expression.
- */
-Node ExpressionCompilationUnit() :
-{}
-{
- Expression()
- <EOF>
- {return jjtree.rootNode();}
-}
-
-/*
- * Program structuring syntax to parse a list of filters.
- */
-Node MultipleCompilationUnit() :
-{}
-{
- SequenceOfSearchConditions()
- <EOF>
- {return jjtree.rootNode();}
-}
-
-void SearchCondition() #void:
-{}
-{
- BooleanValueExpression()
-}
-/*
- * <SequenceOfSearchConditions> ::=
- * <search condition>
- * | <SequenceOfSearchConditions> ; <search condition>
- */
-void SequenceOfSearchConditions() #void:
-{}
-{
- SearchCondition() (<SENTENCE_SEPARATOR> SearchCondition())*
-}
-
-/*
- * <boolean value expression> ::=
- * <boolean term>
- * | <boolean value expression> OR <boolean term>
- */
-void BooleanValueExpression() #void:
-{}
-{
- BooleanTerm()( <OR> BooleanTerm() #Boolean_Or_Node(2) )*
-}
-
-
-/*
- * <boolean term> ::=
- * <boolean factor>
- * | <boolean term> AND <boolean factor>
- */
-void BooleanTerm() #void :
-{}
-{
- (BooleanFactor()( <AND> BooleanFactor() #Boolean_And_Node(2) )*)
-}
-
-
-void BooleanFactor() #void:
-{}
-{
- BooleanPrimary()
- | <NOT> BooleanPrimary() #Boolean_Not_Node
-}
-
-void BooleanPrimary() #void:
-{}
-{
- LOOKAHEAD(1) IncludeExcludePredicate()
- | LOOKAHEAD(1) Predicate()
- | RoutineInvocation()
- | <LP>SearchCondition()<RP>
-}
-
-/*
- * <predicate> ::= <comparison predicate>
- * | <text predicate>
- * | <null predicate>
- * | <temporal predicate>
- * | <classification predicate> (*not supported*)
- * | <existence predicate>
- * | <between predicate> (*extension*)
- * | <includeexclude predicate> (*extesion*)
- */
-void Predicate() #void:
-{}
-{
- Attribute()
- (
- LOOKAHEAD(3)TextPredicate()
- | LOOKAHEAD(3)NullPredicate()
- | LOOKAHEAD(3)ExistencePredicate()
- | LOOKAHEAD(3)TemporalPredicate()
- | LOOKAHEAD(3)BetweenPredicate()
- | ComparissonPredicate()
- )
-}
-
-/* ---------------------------------------- *
- * <routine invocation>
- * ---------------------------------------- *
-/*
- * <routine invocation> ::=
- * <geoop name><georoutine argument list>
- * | <relgeoop name><relgeoop argument list>
- * | <routine name><argument list>
- */
-void RoutineInvocation() #void:
-{}
-{
- LOOKAHEAD({ isGeoOp() }) RoutineInvocationGeoOp()
- | LOOKAHEAD({ isRelGeoOp() }) RoutineInvocationRelGeoOp()
- | RoutineInvocationGeneric()
-}
-
-void RoutineInvocationGeoOp() #void:
-{}
-{
- <EQUAL> GeoRoutineArgumentList() #RoutineInvocation_GeoOp_Equal_Node
- | <DISJOINT> GeoRoutineArgumentList() #RoutineInvocation_GeoOp_Disjoint_Node
- | <INTERSECT> GeoRoutineArgumentList() #RoutineInvocation_GeoOp_Intersect_Node
- | <TOUCH> GeoRoutineArgumentList() #RoutineInvocation_GeoOp_Touch_Node
- | <CROSS> GeoRoutineArgumentList() #RoutineInvocation_GeoOp_Cross_Node
- | <WITHIN> GeoRoutineArgumentList() #RoutineInvocation_GeoOp_Within_Node
- | <CONTAINS> GeoRoutineArgumentList() #RoutineInvocation_GeoOp_Contain_Node
- | <OVERLAP> GeoRoutineArgumentList() #RoutineInvocation_GeoOp_Overlap_Node
- | <RELATE> GeoRoutineArgumentList() #RoutineInvocation_GeoOp_Relate_Node
- | <BBOX> BBoxArgumentList()
-}
-
-/*
- * <georoutine argument list> ::=
- * <left paren><attribute name><comma><geometry literal><right paren>
- *
- */
-void GeoRoutineArgumentList() #void:
-{}
-{
- <LP> Attribute() <COMMA> GeometryLiteral() <RP>
-}
-/*
- * <bbox argument list>::=
- * "(" <attribute> ","
- * <min X> ","
- * <min Y> ","
- * <max X> ","
- * <max Y>
- * [, srs] ")"
- *
- * <min X> ::= <signed numerical literal>
- * <min Y> ::= <signed numerical literal>
- * <max X> ::= <signed numerical literal>
- * <max Y> ::= <signed numerical literal>
- * <srs> ::= <character string literal>
-*/
-void BBoxArgumentList() #void:
-{}
-{
- <LP> Attribute() <COMMA>
- SignedNumericLiteral() <COMMA>
- SignedNumericLiteral() <COMMA>
- SignedNumericLiteral() <COMMA>
- SignedNumericLiteral()
- ( <RP> #RoutineInvocation_GeoOp_BBOX_Node
- | <COMMA> StringLiteral()<RP> #RoutineInvocation_GeoOp_BBOX_SRS_Node)
-
-
-}
-
-/*
- * <relgeoop name> ::= DWITHIN | BEYOND
- */
-void RoutineInvocationRelGeoOp() #void:
-{}
-{
- <DWITHIN> RelGeoRoutineArgumentList() #RoutineInvocation_RelOp_DWITHIN_Node
- | <BEYOND> RelGeoRoutineArgumentList() #RoutineInvocation_RelOp_BEYOND_Node
-}
-
-/*
- * <relgeoop argument list> ::=
- * <left paren><attribute name><comma><geometry literal><comma><tolerance><right paren>
- */
-void RelGeoRoutineArgumentList() #void:
-{}
-{
- <LP> Attribute() <COMMA> GeometryLiteral() <COMMA> Tolerance() <RP>
-}
-/*
- * <tolerance> ::= <unsigned numeric literal><comma><distance units>
- */
-void Tolerance() :
-{}
-{
- UnsignedNumericLiteral() #Tolerance_Node <COMMA> DistanceUnits()
-}
-
-void UnsignedNumericLiteral():
-{}
-{
- SignedNumericLiteral() // TODO must be redefined for number token to handle sign correctly
-}
-
-/**
- * <distance units> ::=
- * 'feet' | 'meters' | 'statute miles' |
- * 'nautical miles' | 'kilometers'
- *
- * TODO this set of units is just an example. The real list of distance unit must be developed
- */
-void DistanceUnits() #DistanceUnits_Node:
-{}
-{
- <FEET> | <METERS> | <STATUTE_MILES> | <NAUTICAL_MILES> | <KILOMETERS>
-}
-
-
-/*
- * <geometry literal> ::=
- * <Point Tagged Text>
- * | <LineString Tagged Text>
- * | <Polygon Tagged Text>
- * | <MultiPoint Tagged Text>
- * | <MultiLineString Tagged Text>
- * | <MultiPolygon Tagged Text>
- * | <GeometryCollection Tagged Text>
- * | <Envelope Tagged Text>
- */
-void GeometryLiteral() #void:
-{}
-{
- PointTaggedText() |
- LineStringTaggedText() |
- PolygonTaggedText() |
- MultiPointTaggedText() |
- MultiLineStringTaggedText() |
- MultiPolygonTaggedText() |
- GeometryCollectionTaggedText() |
- EnvelopeTaggedText()
-}
-/*
- * <routine invocation > ::=
- * | <routine name > <argument list >
- *
- * <argument list> ::=
- * <left paren> [<positional arguments>] <right paren>
- * <positional arguments> ::=
- * <argument> [ { <comma> <argument> }... ]
- *
- * <argument> ::=
- * <literal>
- * | <attribute name>
- * | <function> (*Extension*)
- * | <binary expression> (*Extnsion*)
- */
-void RoutineInvocationGeneric() #void:
-{}
-{
- Function()
-}
-
-/* ---------------------------------------- *
- * End <routine invocation>
- * ---------------------------------------- *
-
-
-/* ---------------------------------------- *
- * <includeexclude predicate>
- * ---------------------------------------- *
-/*
- * <includeexclude predicate> ::=
- * <INCLUDE> | <EXCLUDE>
- */
-void IncludeExcludePredicate() #void:
-{}
-{
- <INCLUDE> #Include_Node
- | <EXCLUDE> #Exclude_Node
-}
-
-/* ---------------------------------------- *
- * <comparison predicate>
- * ---------------------------------------- *
-/*
- * <comparison predicate> ::=
- * <attribute name> <comp op> <literal>
- */
-void ComparissonPredicate() :
-{}
-{
- <EQ> Expression() #ComparissonPredicate_EQ_Node
- | <GT> Expression() #ComparissonPredicate_GT_Node
- | <LT> Expression() #ComparissonPredicate_LT_Node
- | <GTE> Expression() #ComparissonPredicate_GTE_Node
- | <LTE> Expression() #ComparissonPredicate_LTE_Node
- | <NEQ> Expression() #ComparissonPredicate_Not_Equal_Node
-}
-
-/*
- * <null predicate> ::= <attribute name> IS [ NOT ] NULL
- */
-void NullPredicate() :
-{}
-{
- LOOKAHEAD(3) <IS> <NULL> #NullPredicateNode
- | <IS> <NOT> <NULL> #NotNullPredicateNode
-}
-
-
-/* ---------------------------------------- *
- * <temporal predicate>
- * ---------------------------------------- *
- * <temporal predicate> ::=
- * <attribute_name> BEFORE <date-time expression>
- * | <attribute_name> BEFORE OR DURING <period>
- * | <attribute_name> DURING <period>
- * | <attribute_name> DURING OR AFTER <period>
- * | <attribute_name> AFTER <date-time expression>
- */
-void TemporalPredicate() #void:
-{}
-{
- <BEFORE> TemporalPredicateBefore()
- | <AFTER> TemporalPredicateAfter()
- | <DURING> TemporalPredicateDuring()
-
-}
-
-void TemporalPredicateBefore()#void:
-{}
-{
- DateTimeExpression() #TPBefore_DateTime_Node
- | <OR> <DURING> Period() #TPBefore_Or_During_Period_Node
-}
-
-void TemporalPredicateAfter() #TPAfter_DateTime_Node:
-{}
-{
- DateTimeExpression()
-}
-
-void TemporalPredicateDuring()#void:
-{}
-{
- Period() #TPDuring_Period_Node
- | <OR> <AFTER> Period() #TPDuring_Or_After_Period_Node
-}
-
-/*
- * <date-time expression ::= <date-time> | <period>
- */
-void DateTimeExpression()#void:
-{}
-{
- LOOKAHEAD(2) Period()
- | DateTime()
-}
-
-/*
- *<period> ::=
- * <date-time> "/" <date-time>
- * | <date-time> "/" <duration>
- * | <duration> "/" <date-time>
- */
-void Period() #void:
-{}
-{
- LOOKAHEAD(2)
- DateTime() <SLASH> PeriodTail()
- | Duration() <SLASH> DateTime() #Period_With_Duration_Date_Node
-}
-
-void PeriodTail()#void:
-{}
-{
- Duration() #Period_With_Date_Duration_Node
- | DateTime() #Period_Between_Dates_Node
-}
-
-void DateTime()#DateTime_Node:
-{}
-{
- <DATE_TIME>
-}
-
-/*
- * <duration> ::= "P" <dur-date> | <dur-time>
- * <dur-date> ::= <dur-day> | <dur-month> | <dur-year> [<dur-time>]
- * <dur-day> ::= <digit>... "D"
- * <dur-month> ::= <digit>... "M" [<dur-day>]
- * <dur-year> ::= <didit>... "Y" [<dur-month>]
- */
-void Duration()#void:
-{}
-{
- <DURATION> #Duration_Date_Node
-}
-
-/* ---------------------------------------- *
- * End <temporal predicate>
- * ---------------------------------------- */
-
-/* ---------------------------------------- *
- * <existence predicate>
- * ---------------------------------------- */
-/*
- * <existence_predicate> ::= <attribute_name> EXISTS
- * | <attribute_name> DOES-NOT-EXIST
- */
-void ExistencePredicate() #void:
-{}
-{
- <EXISTS> #Existence_Predicate_Exists_Node
- | <DOES_NOT_EXIST> #Existence_Predicate_DoesNotExist_Node
-}
-/* ---------------------------------------- *
- * end <existence predicate>
- * ---------------------------------------- */
-
-void TextPredicate() #void:
-{}
-{
- LOOKAHEAD(2) <NOT> <LIKE> StringLiteral() #Not_Like_Node
- | <LIKE> StringLiteral() #Like_Node
-}
-/*
- * Cql Extension
- *
- * <beween predicate>::= ["NOT"] "BETWEEN" expression "AND" expression
- */
-void BetweenPredicate() #void:
-{}
-{
- LOOKAHEAD(2) <NOT> <BETWEEN> Expression() <AND> Expression() #Not_Between_Node
- | <BETWEEN> Expression() <AND> Expression() #Between_Node
-}
-
-/*
- * cql extension
- */
- void Expression() #void:
-{}
-{
- BinaryExpression()
-}
-
-void BinaryExpression() #void:
-{}
-{
- MultiplicativeExpression()
- (
- <PLUS> MultiplicativeExpression() #AddNode(2)
- |
- <MINUS> MultiplicativeExpression() #SubtractNode(2)
- )*
-}
-
-
-
-void MultiplicativeExpression() #void :
-{}
-{
-
- UnaryExpression()
- (
- <MULT> UnaryExpression() #MulNode(2)
- |
- <SLASH> UnaryExpression() #DivNode(2)
- )*
-}
-
-void UnaryExpression() #void:
-{}
-{
- LOOKAHEAD(2) Function()
- | Literal()
- | Attribute()
- | <LP> Expression()<RP>
- | <LSP> Expression()<RSP>
-}
-
-void Evaluate() #void:
-{}
-{
- LOOKAHEAD(2) Function()
- | Attribute()
-}
-
-/*
- * <identifier> ::= <identifier start [ { <colon> | <identifier part> }... ]
- */
-void Identifier() #Identifier_Node:
-{}
-{
- IdentifierStart() ( LOOKAHEAD(2) <COLON> | IdentifierPart() )*
-}
-
-/*
- * <identifier start> ::= <simple Latin letter>
- */
- void IdentifierStart() #Identifier_Start_Node:
- {}
- {
- SimpleLatinLetter()
- }
-
-/*
- * <identifier part> ::= <simple Latin letter> | <digit>
- */
-void IdentifierPart() #Identifier_Part_Node:
- {}
- {
- SimpleLatinLetter()
- | <DIGIT>
- }
-
- /*
- * <simple Latin letter> ::=
- * <simple Latin upper case letter>
- * | <simple Latin lower case letter>
- *
- * <simple Latin upper case letter> ::=
- * A | B | C | D | E | F | G | H | I | J | K | L | M | N | O
- * | P | Q | R | S | T | U | V | W | X | Y | Z
- * <simple Latin lower case letter> ::=
- * a | b | c | d | e | f | g | h | i | j | k | l | m | n | o
- * | p | q | r | s | t | u | v | w | x | y | z
- */
- void SimpleLatinLetter() #void:
- {}
- {
- <IDENTIFIER>
- }
-
-/*
- * <attribute name> ::=
- * <simple attribute name>
- * | <compound attribute name>
- *
- * <compound attribute name> ::=
- * <identifier><period> [{<identifier><per...
[truncated message content] |
|
From: <sv...@ge...> - 2009-08-21 18:52:24
|
Author: joachimvda
Date: 2009-08-21 19:52:35 +0200 (Fri, 21 Aug 2009)
New Revision: 3776
Modified:
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/LogCommand.java
Log:
fix for planbaten merge
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/LogCommand.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/LogCommand.java 2009-08-21 13:44:42 UTC (rev 3775)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/LogCommand.java 2009-08-21 17:52:35 UTC (rev 3776)
@@ -27,7 +27,7 @@
import org.geomajas.command.AbstractApplicationCommand;
import org.geomajas.command.ApplicationResult;
-public class LogCommand extends AbstractApplicationCommand {
+public class LogCommand extends AbstractBasicSecurityApplicationCommand {
private static final int LEVEL_DEBUG = 0;
|
|
From: <sv...@ge...> - 2009-08-21 14:44:25
|
Author: joachimvda Date: 2009-08-21 15:44:42 +0200 (Fri, 21 Aug 2009) New Revision: 3775 Added: trunk/geomajas/geomajas-impl/src/main/jjtree/ Removed: trunk/geomajas/geomajas-impl/src/main-ref/jjtree/ Log: MAJ-386, planbaten merge Property changes on: trunk/geomajas/geomajas-impl/src/main/jjtree ___________________________________________________________________ Added: svn:mergeinfo + |
|
From: <sv...@ge...> - 2009-08-21 14:30:01
|
Author: kristofh
Date: 2009-08-21 15:30:17 +0200 (Fri, 21 Aug 2009)
New Revision: 3774
Added:
branches/1.3.x_planbaten/majas-js/src/main/webapp/js/geomajas/widget/nls/defaultPrintWidget.js
branches/1.3.x_planbaten/majas-js/src/main/webapp/js/geomajas/widget/nls/en/defaultPrintWidget.js
branches/1.3.x_planbaten/majas-js/src/main/webapp/js/geomajas/widget/nls/nl/defaultPrintWidget.js
Modified:
branches/1.3.x_planbaten/majas-js/src/main/webapp/js/geomajas/widget/DefaultPrintWidget.js
branches/1.3.x_planbaten/majas-js/src/main/webapp/js/geomajas/widget/html/DefaultPrintWidget.html
Log:
defaultprintwidget i18n
Modified: branches/1.3.x_planbaten/majas-js/src/main/webapp/js/geomajas/widget/DefaultPrintWidget.js
===================================================================
--- branches/1.3.x_planbaten/majas-js/src/main/webapp/js/geomajas/widget/DefaultPrintWidget.js 2009-08-21 13:28:36 UTC (rev 3773)
+++ branches/1.3.x_planbaten/majas-js/src/main/webapp/js/geomajas/widget/DefaultPrintWidget.js 2009-08-21 13:30:17 UTC (rev 3774)
@@ -25,22 +25,39 @@
dojo.require("dijit.Dialog");
dojo.require("dojox.xml.DomParser");
+dojo.requireLocalization("geomajas.widget", "defaultPrintWidget");
+
dojo.declare("geomajas.widget.DefaultPrintWidget", [dijit.layout.LayoutContainer, dijit._Templated], {
+ widgetsInTemplate : true,
templatePath : dojo.moduleUrl("geomajas.widget", "html/DefaultPrintWidget.html"),
- widgetsInTemplate : true,
-
sourceMap : null,
-
bounds : null,
-
rectangle : null,
-
printButton : null,
-
downloadMethod : 0,
+ // i18n
+ lblPrintSettings: "",
+ lblPageSize : "",
+ lblTitle : "",
+ lblDate : "",
+ lblNorthArrow : "",
+ lblResolution : "",
+ lblPrint : "",
+
+ constructor : function() {
+ var widgetLocale = dojo.i18n.getLocalization("geomajas.widget", "defaultPrintWidget");
+ this.lblPrintSettings = widgetLocale.lblPrintSettings;
+ this.lblPageSize = widgetLocale.lblPageSize;
+ this.lblTitle = widgetLocale.lblTitle;
+ this.lblDate = widgetLocale.lblDate;
+ this.lblNorthArrow = widgetLocale.lblNorthArrow;
+ this.lblResolution = widgetLocale.lblResolution;
+ this.lblPrint = widgetLocale.lblPrint;
+ },
+
postCreate : function() {
this.inherited(arguments);
printButton = dijit.byId(this.id+":print");
Modified: branches/1.3.x_planbaten/majas-js/src/main/webapp/js/geomajas/widget/html/DefaultPrintWidget.html
===================================================================
--- branches/1.3.x_planbaten/majas-js/src/main/webapp/js/geomajas/widget/html/DefaultPrintWidget.html 2009-08-21 13:28:36 UTC (rev 3773)
+++ branches/1.3.x_planbaten/majas-js/src/main/webapp/js/geomajas/widget/html/DefaultPrintWidget.html 2009-08-21 13:30:17 UTC (rev 3774)
@@ -3,26 +3,26 @@
<div dojoType="dijit.layout.ContentPane" layoutAlign="client" style="width:310px; margin:3px; padding:5px; background-color:#E0E0E0;" class="dojoxFloatingPane">
<center>
<table class="gridLookalike" cellspacing="0" style="border: 1px solid #999; background-color: #FFFFFF;">
- <tr><th colspan="2">Print settings</th></tr>
+ <tr><th colspan="2">${lblPrintSettings}</th></tr>
<tr>
- <td>Page size:</td><td><select id="${id}:pagesize" dojoType="dijit.form.ComboBox">
+ <td>${lblPageSize}:</td><td><select id="${id}:pagesize" dojoType="dijit.form.ComboBox">
<option>A0</option><option>A1</option><option>A2</option><option>A3</option><option selected="selected">A4</option><option>A5</option>
</select></td>
</tr>
<tr>
- <td>Title:</td><td><input type="text" name="${id}:title" id="${id}:title"
+ <td>${lblTitle}:</td><td><input type="text" name="${id}:title" id="${id}:title"
value="" dojoType="dijit.form.TextBox" invalidMessage="" /></td>
</tr>
<tr>
- <td>Date:</td><td><input type="checkbox" name="${id}:date" id="${id}:date"
+ <td>${lblDate}:</td><td><input type="checkbox" name="${id}:date" id="${id}:date"
dojoType="dijit.form.CheckBox" checked="checked" /></td>
</tr>
<tr>
- <td>NorthArrow:</td><td><input type="checkbox" name="${id}:arrow" id="${id}:arrow"
+ <td>${lblNorthArrow}:</td><td><input type="checkbox" name="${id}:arrow" id="${id}:arrow"
dojoType="dijit.form.CheckBox" checked="checked" /></td>
</tr>
<tr>
- <td>Raster DPI:</td><td><select id="${id}:rasterdpi" dojoType="dijit.form.ComboBox">
+ <td>${lblResolution}:</td><td><select id="${id}:rasterdpi" dojoType="dijit.form.ComboBox">
<option>72</option><option>150</option><option>250</option><option>350</option><option>500</option>
</select></td>
</tr>
@@ -31,7 +31,7 @@
</div>
<div dojoType="dijit.layout.ContentPane" layoutAlign="bottom" style="margin:3px; background-color:#E0E0E0;" class="dojoxFloatingPane">
- <center><button id="${id}:print" dojoType="dijit.form.Button" iconClass="refreshLayerIcon" style="vertical-align:top;">Print</button></center>
+ <center><button id="${id}:print" dojoType="dijit.form.Button" iconClass="refreshLayerIcon" style="vertical-align:top;">${lblPrint}</button></center>
</div>
<div>
\ No newline at end of file
Added: branches/1.3.x_planbaten/majas-js/src/main/webapp/js/geomajas/widget/nls/defaultPrintWidget.js
===================================================================
--- branches/1.3.x_planbaten/majas-js/src/main/webapp/js/geomajas/widget/nls/defaultPrintWidget.js (rev 0)
+++ branches/1.3.x_planbaten/majas-js/src/main/webapp/js/geomajas/widget/nls/defaultPrintWidget.js 2009-08-21 13:30:17 UTC (rev 3774)
@@ -0,0 +1,9 @@
+({
+ "lblPrintSettings" : "Print settings",
+ "lblPageSize" : "Page Size",
+ "lblTitle" : "Title",
+ "lblDate" : "Date",
+ "lblNorthArrow" : "NorthArrow",
+ "lblResolution" : "Raster DPI",
+ "lblPrint" : "Print"
+})
\ No newline at end of file
Added: branches/1.3.x_planbaten/majas-js/src/main/webapp/js/geomajas/widget/nls/en/defaultPrintWidget.js
===================================================================
--- branches/1.3.x_planbaten/majas-js/src/main/webapp/js/geomajas/widget/nls/en/defaultPrintWidget.js (rev 0)
+++ branches/1.3.x_planbaten/majas-js/src/main/webapp/js/geomajas/widget/nls/en/defaultPrintWidget.js 2009-08-21 13:30:17 UTC (rev 3774)
@@ -0,0 +1,9 @@
+({
+ "lblPrintSettings" : "Print settings",
+ "lblPageSize" : "Page Size",
+ "lblTitle" : "Title",
+ "lblDate" : "Date",
+ "lblNorthArrow" : "NorthArrow",
+ "lblResolution" : "Raster DPI",
+ "lblPrint" : "Print"
+})
\ No newline at end of file
Added: branches/1.3.x_planbaten/majas-js/src/main/webapp/js/geomajas/widget/nls/nl/defaultPrintWidget.js
===================================================================
--- branches/1.3.x_planbaten/majas-js/src/main/webapp/js/geomajas/widget/nls/nl/defaultPrintWidget.js (rev 0)
+++ branches/1.3.x_planbaten/majas-js/src/main/webapp/js/geomajas/widget/nls/nl/defaultPrintWidget.js 2009-08-21 13:30:17 UTC (rev 3774)
@@ -0,0 +1,9 @@
+({
+ "lblPrintSettings" : "Afdrukinstellingen",
+ "lblPageSize" : "Pagina grootte",
+ "lblTitle" : "Titel",
+ "lblDate" : "Datum",
+ "lblNorthArrow" : "Noord pijl",
+ "lblResolution" : "Resolutie (DPI)",
+ "lblPrint" : "Afdrukken"
+})
\ No newline at end of file
|
|
From: <sv...@ge...> - 2009-08-21 14:28:29
|
Author: joachimvda Date: 2009-08-21 15:28:36 +0200 (Fri, 21 Aug 2009) New Revision: 3773 Modified: trunk/geomajas/geomajas-impl/pom.xml trunk/geomajas/pom.xml Log: MAJ-386, planbaten merge Modified: trunk/geomajas/geomajas-impl/pom.xml =================================================================== --- trunk/geomajas/geomajas-impl/pom.xml 2009-08-21 13:21:28 UTC (rev 3772) +++ trunk/geomajas/geomajas-impl/pom.xml 2009-08-21 13:28:36 UTC (rev 3773) @@ -39,6 +39,10 @@ <artifactId>hibernate-annotations</artifactId> </dependency> <dependency> + <groupId>org.hibernate</groupId> + <artifactId>hibernate-cglib-repack</artifactId> + </dependency> + <dependency> <groupId>javax.persistence</groupId> <artifactId>persistence-api</artifactId> </dependency> Modified: trunk/geomajas/pom.xml =================================================================== --- trunk/geomajas/pom.xml 2009-08-21 13:21:28 UTC (rev 3772) +++ trunk/geomajas/pom.xml 2009-08-21 13:28:36 UTC (rev 3773) @@ -328,18 +328,36 @@ <dependency> <groupId>org.hibernatespatial</groupId> <artifactId>hibernate-spatial</artifactId> - <version>1.0-M1</version> + <version>1.0-M2</version> + <exclusions> + <exclusion> + <groupId>org.hibernate</groupId> + <artifactId>hibernate</artifactId> + </exclusion> + </exclusions> </dependency> <dependency> <groupId>org.hibernatespatial</groupId> <artifactId>hibernate-spatial-postgis</artifactId> - <version>1.0-M1</version> + <version>1.0-M2</version> + <exclusions> + <exclusion> + <groupId>org.hibernate</groupId> + <artifactId>hibernate</artifactId> + </exclusion> + </exclusions> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-annotations</artifactId> - <version>3.2.0.ga</version> + <version>3.4.0.GA</version> </dependency> + <dependency> + <groupId>org.hibernate</groupId> + <artifactId>hibernate-cglib-repack</artifactId> + <version>2.1_3</version> + </dependency> + <!-- override the 1.0 driver that postgis loads --> <dependency> |
|
From: <sv...@ge...> - 2009-08-21 14:21:07
|
Author: joachimvda
Date: 2009-08-21 15:21:28 +0200 (Fri, 21 Aug 2009)
New Revision: 3772
Modified:
trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/GetFeaturesByPolygonCommand.java
Log:
MAJ-386, planbaten merge
Modified: trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/GetFeaturesByPolygonCommand.java
===================================================================
--- trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/GetFeaturesByPolygonCommand.java 2009-08-21 13:16:01 UTC (rev 3771)
+++ trunk/geomajas/geomajas-impl/src/main/java/org/geomajas/command/GetFeaturesByPolygonCommand.java 2009-08-21 13:21:28 UTC (rev 3772)
@@ -95,7 +95,7 @@
f = FilterCreator.createLogicFilter(f, "and", CQL.toFilter(filter));
} catch (CQLException e) {
e.printStackTrace();
- result = new GetFeaturesByPolygonResult();
+ result = new SearchFeaturesResult();
result.addErrorMessage("problem creating securityfilter");
}
@@ -115,8 +115,7 @@
}
}
- result = new SearchFeaturesResult(layer, features
- .toArray(new Feature[] {}));
+ result = new SearchFeaturesResult(layer, features.toArray(new RenderedFeature[] {}));
} catch (IOException e) {
logger.error("execute() : problem accessing layer", e);
result.addErrorMessage("problem accessing layer");
@@ -164,6 +163,6 @@
@Override
public ApplicationResult getEmptyResult() {
- return new GetFeaturesByPolygonResult();
+ return new SearchFeaturesResult();
}
}
\ No newline at end of file
|
|
From: <sv...@ge...> - 2009-08-21 14:15:43
|
Author: joachimvda Date: 2009-08-21 15:16:01 +0200 (Fri, 21 Aug 2009) New Revision: 3771 Modified: trunk/geomajas/geomajas-impl/pom.xml trunk/geomajas/pom.xml Log: MAJ-386, planbaten merge Modified: trunk/geomajas/geomajas-impl/pom.xml =================================================================== --- trunk/geomajas/geomajas-impl/pom.xml 2009-08-21 12:56:06 UTC (rev 3770) +++ trunk/geomajas/geomajas-impl/pom.xml 2009-08-21 13:16:01 UTC (rev 3771) @@ -1,297 +1,298 @@ -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - <parent> - <groupId>org.geomajas</groupId> - <artifactId>geomajas</artifactId> - <version>1.5.0-SNAPSHOT</version> - </parent> - <modelVersion>4.0.0</modelVersion> - <groupId>org.geomajas</groupId> - <artifactId>geomajas-impl</artifactId> - <packaging>jar</packaging> - <name>Geomajas core implementation</name> - - <dependencies> - <dependency> - <groupId>org.geomajas</groupId> - <artifactId>geomajas-api</artifactId> - </dependency> - <dependency> - <groupId>org.geomajas</groupId> - <artifactId>geomajas-xml-binding</artifactId> - </dependency> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <parent> + <groupId>org.geomajas</groupId> + <artifactId>geomajas</artifactId> + <version>1.5.0-SNAPSHOT</version> + </parent> + <modelVersion>4.0.0</modelVersion> + <groupId>org.geomajas</groupId> + <artifactId>geomajas-impl</artifactId> + <packaging>jar</packaging> + <name>Geomajas core implementation</name> + + <dependencies> + <dependency> + <groupId>org.geomajas</groupId> + <artifactId>geomajas-api</artifactId> + </dependency> + <dependency> + <groupId>org.geomajas</groupId> + <artifactId>geomajas-xml-binding</artifactId> + </dependency> - <dependency> - <groupId>net.sf</groupId> - <artifactId>jts4gwt</artifactId> - </dependency> - - <!-- next three dependencies for the Hibernate LayerModel --> - <dependency> - <groupId>org.hibernatespatial</groupId> - <artifactId>hibernate-spatial</artifactId> - </dependency> - <dependency> - <groupId>org.hibernatespatial</groupId> - <artifactId>hibernate-spatial-postgis</artifactId> - </dependency> - <dependency> - <groupId>org.hibernate</groupId> - <artifactId>hibernate-annotations</artifactId> - </dependency> - <dependency> - <groupId>javax.persistence</groupId> - <artifactId>persistence-api</artifactId> - </dependency> - - <!-- override the 1.0 driver that postgis loads --> - <dependency> - <groupId>org.postgis</groupId> - <artifactId>postgis-jdbc</artifactId> - </dependency> - - <dependency> - <groupId>xml-apis</groupId> - <artifactId>xml-apis</artifactId> - </dependency> - <dependency> - <groupId>javax.xml.bind</groupId> - <artifactId>jaxb-api</artifactId> - </dependency> - <dependency> - <groupId>com.sun.xml.bind</groupId> - <artifactId>jaxb-impl</artifactId> - </dependency> - - <dependency> - <groupId>org.geotools</groupId> - <artifactId>gt-main</artifactId> - </dependency> - <dependency> - <groupId>org.geotools</groupId> - <artifactId>gt-api</artifactId> - </dependency> - <dependency> - <groupId>org.geotools</groupId> - <artifactId>gt-epsg-wkt</artifactId> - </dependency> - <dependency> - <groupId>org.geotools</groupId> - <artifactId>gt-postgis</artifactId> - <exclusions> - <exclusion> - <groupId>org.postgis</groupId> - <artifactId>postgis-driver</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>org.geotools</groupId> - <artifactId>gt-shapefile</artifactId> - </dependency> - <dependency> - <groupId>org.geotools</groupId> - <artifactId>gt-xml</artifactId> - </dependency> - <dependency> - <groupId>org.geotools</groupId> - <artifactId>gt-epsg-hsql</artifactId> - </dependency> - <dependency> - <groupId>org.geotools</groupId> - <artifactId>gt-render</artifactId> - </dependency> - - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>xalan</groupId> - <artifactId>xalan</artifactId> - </dependency> - <dependency> - <groupId>javax.servlet</groupId> - <artifactId>servlet-api</artifactId> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>c3p0</groupId> - <artifactId>c3p0</artifactId> - </dependency> - <dependency> - <groupId>commons-beanutils</groupId> - <artifactId>commons-beanutils</artifactId> - </dependency> - <dependency> - <groupId>commons-collections</groupId> - <artifactId>commons-collections</artifactId> - </dependency> - <dependency> - <groupId>commons-digester</groupId> - <artifactId>commons-digester</artifactId> - </dependency> - <dependency> - <groupId>commons-fileupload</groupId> - <artifactId>commons-fileupload</artifactId> - </dependency> - <dependency> - <groupId>commons-httpclient</groupId> - <artifactId>commons-httpclient</artifactId> - </dependency> - <dependency> - <groupId>commons-lang</groupId> - <artifactId>commons-lang</artifactId> - </dependency> - <dependency> - <groupId>commons-logging</groupId> - <artifactId>commons-logging</artifactId> - </dependency> - <dependency> - <groupId>commons-el</groupId> - <artifactId>commons-el</artifactId> - </dependency> - <dependency> - <groupId>commons-configuration</groupId> - <artifactId>commons-configuration</artifactId> - </dependency> - - <dependency> - <groupId>log4j</groupId> - <artifactId>log4j</artifactId> - </dependency> - <dependency> - <groupId>xerces</groupId> - <artifactId>xercesImpl</artifactId> - </dependency> - <dependency> - <groupId>com.metaparadigm</groupId> - <artifactId>json-rpc</artifactId> - </dependency> - <dependency> - <groupId>javax.media</groupId> - <artifactId>jai_core</artifactId> - </dependency> - <dependency> - <groupId>javax.media</groupId> - <artifactId>jai_codec</artifactId> - </dependency> - <dependency> - <groupId>javax.media</groupId> - <artifactId>jai_imageio</artifactId> - </dependency> - <dependency> - <groupId>com.lowagie</groupId> - <artifactId>itext</artifactId> - </dependency> - <dependency> - <groupId>net.java.dev.weblets</groupId> - <artifactId>weblets-api</artifactId> - </dependency> - <dependency> - <groupId>net.java.dev.weblets</groupId> - <artifactId>weblets-impl</artifactId> - </dependency> - - <dependency> - <groupId>com.google.gwt</groupId> - <artifactId>gwt-servlet</artifactId> - <scope>runtime</scope> - </dependency> - <dependency> - <groupId>com.google.gwt</groupId> - <artifactId>gwt-user</artifactId> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>com.google.gwt</groupId> - <artifactId>gwt-dev</artifactId> - <classifier>${platform}-libs</classifier> - <type>zip</type> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>com.google.gwt</groupId> - <artifactId>gwt-dev</artifactId> - <classifier>${platform}</classifier> - <scope>provided</scope> - </dependency> - - <dependency> - <groupId>com.smartgwt</groupId> - <artifactId>smartgwt</artifactId> - </dependency> - <dependency> - <groupId>com.smartgwt</groupId> - <artifactId>smartgwt-skins</artifactId> - </dependency> - </dependencies> - - <build> - <resources> - <resource> - <directory>src/main/java</directory> - <excludes> - <exclude>org/geomajas/emul/</exclude> - </excludes> - </resource> - <resource> - <directory>src/main/resources</directory> - </resource> - <resource> - <directory>src/main/java/org/geomajas/emul</directory> - </resource> - </resources> - - <plugins> - - <!-- This plugin will add additional source directories to the - classpath. We use this to override the JTS library with a GWT port. --> - <!--plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>build-helper-maven-plugin</artifactId> - <version>1.1</version> - <executions> - <execution> - <id>add-source</id> - <phase>generate-sources</phase> - <goals> - <goal>add-source</goal> - </goals> - <configuration> - <sources> - <source>src/main/java</source> - <excludes> - <exclude>org/geomajas/emul/</exclude> - </excludes> - </sources> - <sources> - <source>src/main/java/org/geomajas/emul</source> - </sources> - </configuration> - </execution> - </executions> - </plugin--> - - <plugin> - <groupId>org.geotools.maven</groupId> - <artifactId>gt2-jjtree-javacc</artifactId> - <version>2.4-M2</version> - <configuration> - <!-- Where to search for .jjt files --> - <sourceDirectory>${basedir}/src/main/resources</sourceDirectory> - <!-- Where to search for Node.java --> - <nodeDirectory>${basedir}/src/main/jjtree</nodeDirectory> - <nodePackage>org.geomajas.server.filter.cql</nodePackage> - </configuration> - <executions> - <execution> - <goals> - <goal>generate</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> + <dependency> + <groupId>net.sf</groupId> + <artifactId>jts4gwt</artifactId> + </dependency> + + <!-- next three dependencies for the Hibernate LayerModel --> + <dependency> + <groupId>org.hibernatespatial</groupId> + <artifactId>hibernate-spatial</artifactId> + </dependency> + <dependency> + <groupId>org.hibernatespatial</groupId> + <artifactId>hibernate-spatial-postgis</artifactId> + </dependency> + <dependency> + <groupId>org.hibernate</groupId> + <artifactId>hibernate-annotations</artifactId> + </dependency> + <dependency> + <groupId>javax.persistence</groupId> + <artifactId>persistence-api</artifactId> + </dependency> + + <!-- override the 1.0 driver that postgis loads --> + <dependency> + <groupId>org.postgis</groupId> + <artifactId>postgis-jdbc</artifactId> + </dependency> + + <dependency> + <groupId>xml-apis</groupId> + <artifactId>xml-apis</artifactId> + </dependency> + <dependency> + <groupId>javax.xml.bind</groupId> + <artifactId>jaxb-api</artifactId> + </dependency> + <dependency> + <groupId>com.sun.xml.bind</groupId> + <artifactId>jaxb-impl</artifactId> + </dependency> + + <dependency> + <groupId>org.geotools</groupId> + <artifactId>gt2-main</artifactId> + </dependency> + <dependency> + <groupId>org.geotools</groupId> + <artifactId>gt2-api</artifactId> + </dependency> + <dependency> + <groupId>org.geotools</groupId> + <artifactId>gt2-epsg-wkt</artifactId> + </dependency> + <dependency> + <groupId>org.geotools</groupId> + <artifactId>gt2-postgis</artifactId> + <exclusions> + <exclusion> + <groupId>org.postgis</groupId> + <artifactId>postgis-driver</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.geotools</groupId> + <artifactId>gt2-shapefile</artifactId> + </dependency> + <dependency> + <groupId>org.geotools</groupId> + <artifactId>gt2-xml</artifactId> + </dependency> + <dependency> + <groupId>org.geotools</groupId> + <artifactId>gt2-render</artifactId> + </dependency> + + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>xalan</groupId> + <artifactId>xalan</artifactId> + </dependency> + <dependency> + <groupId>javax.servlet</groupId> + <artifactId>servlet-api</artifactId> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>c3p0</groupId> + <artifactId>c3p0</artifactId> + </dependency> + <dependency> + <groupId>commons-beanutils</groupId> + <artifactId>commons-beanutils</artifactId> + </dependency> + <dependency> + <groupId>commons-collections</groupId> + <artifactId>commons-collections</artifactId> + </dependency> + <dependency> + <groupId>commons-digester</groupId> + <artifactId>commons-digester</artifactId> + </dependency> + <dependency> + <groupId>commons-fileupload</groupId> + <artifactId>commons-fileupload</artifactId> + </dependency> + <dependency> + <groupId>commons-httpclient</groupId> + <artifactId>commons-httpclient</artifactId> + </dependency> + <dependency> + <groupId>commons-lang</groupId> + <artifactId>commons-lang</artifactId> + </dependency> + <dependency> + <groupId>commons-logging</groupId> + <artifactId>commons-logging</artifactId> + </dependency> + <dependency> + <groupId>commons-el</groupId> + <artifactId>commons-el</artifactId> + </dependency> + <dependency> + <groupId>commons-configuration</groupId> + <artifactId>commons-configuration</artifactId> + </dependency> + + <dependency> + <groupId>log4j</groupId> + <artifactId>log4j</artifactId> + </dependency> + <dependency> + <groupId>xerces</groupId> + <artifactId>xercesImpl</artifactId> + </dependency> + <dependency> + <groupId>com.metaparadigm</groupId> + <artifactId>json-rpc</artifactId> + </dependency> + <dependency> + <groupId>javax.media</groupId> + <artifactId>jai_core</artifactId> + </dependency> + <dependency> + <groupId>javax.media</groupId> + <artifactId>jai_codec</artifactId> + </dependency> + <dependency> + <groupId>javax.media</groupId> + <artifactId>jai_imageio</artifactId> + </dependency> + <dependency> + <groupId>com.lowagie</groupId> + <artifactId>itext</artifactId> + </dependency> + <dependency> + <groupId>net.java.dev.weblets</groupId> + <artifactId>weblets-api</artifactId> + </dependency> + <dependency> + <groupId>net.java.dev.weblets</groupId> + <artifactId>weblets-impl</artifactId> + </dependency> + + <dependency> + <groupId>com.google.gwt</groupId> + <artifactId>gwt-servlet</artifactId> + <scope>runtime</scope> + </dependency> + <dependency> + <groupId>com.google.gwt</groupId> + <artifactId>gwt-user</artifactId> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>com.google.gwt</groupId> + <artifactId>gwt-dev</artifactId> + <classifier>${platform}-libs</classifier> + <type>zip</type> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>com.google.gwt</groupId> + <artifactId>gwt-dev</artifactId> + <classifier>${platform}</classifier> + <scope>provided</scope> + </dependency> + + <dependency> + <groupId>com.smartgwt</groupId> + <artifactId>smartgwt</artifactId> + </dependency> + <dependency> + <groupId>com.smartgwt</groupId> + <artifactId>smartgwt-skins</artifactId> + </dependency> + + <dependency> + <groupId>com.thoughtworks.xstream</groupId> + <artifactId>xstream</artifactId> + </dependency> + </dependencies> + + <build> + <resources> + <resource> + <directory>src/main/java</directory> + <excludes> + <exclude>org/geomajas/emul/</exclude> + </excludes> + </resource> + <resource> + <directory>src/main/resources</directory> + </resource> + <resource> + <directory>src/main/java/org/geomajas/emul</directory> + </resource> + </resources> + + <plugins> + + <!-- This plugin will add additional source directories to the + classpath. We use this to override the JTS library with a GWT port. --> + <!--plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>build-helper-maven-plugin</artifactId> + <version>1.1</version> + <executions> + <execution> + <id>add-source</id> + <phase>generate-sources</phase> + <goals> + <goal>add-source</goal> + </goals> + <configuration> + <sources> + <source>src/main/java</source> + <excludes> + <exclude>org/geomajas/emul/</exclude> + </excludes> + </sources> + <sources> + <source>src/main/java/org/geomajas/emul</source> + </sources> + </configuration> + </execution> + </executions> + </plugin--> + + <plugin> + <groupId>org.geotools.maven</groupId> + <artifactId>gt2-jjtree-javacc</artifactId> + <version>2.4-M2</version> + <configuration> + <!-- Where to search for .jjt files --> + <sourceDirectory>${basedir}/src/main/resources</sourceDirectory> + <!-- Where to search for Node.java --> + <nodeDirectory>${basedir}/src/main/jjtree</nodeDirectory> + <nodePackage>org.geomajas.core.filters.cql</nodePackage> + </configuration> + <executions> + <execution> + <goals> + <goal>generate</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> </project> Modified: trunk/geomajas/pom.xml =================================================================== --- trunk/geomajas/pom.xml 2009-08-21 12:56:06 UTC (rev 3770) +++ trunk/geomajas/pom.xml 2009-08-21 13:16:01 UTC (rev 3771) @@ -1,637 +1,637 @@ -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - <modelVersion>4.0.0</modelVersion> - <groupId>org.geomajas</groupId> - <artifactId>geomajas</artifactId> - <version>1.5.0-SNAPSHOT</version> - <packaging>pom</packaging> - <name>Geomajas</name> - <description> - Geomajas is a component framework for building rich Internet applications (RIA) with sophisticated capabilities - for the display, analysis and management of geographic information. It is a building block that allows - developers to add maps and other geographic data capabilities to their web applications. - </description> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + <groupId>org.geomajas</groupId> + <artifactId>geomajas</artifactId> + <version>1.5.0-SNAPSHOT</version> + <packaging>pom</packaging> + <name>Geomajas</name> + <description> + Geomajas is a component framework for building rich Internet applications (RIA) with sophisticated capabilities + for the display, analysis and management of geographic information. It is a building block that allows + developers to add maps and other geographic data capabilities to their web applications. + </description> <url>http://www.geomajas.org/project</url> - - <scm> - <connection>scm:svn:https://svn.geomajas.org/majas/branches/1.5.x/geomajas/</connection> - <developerConnection>scm:svn:https://svn.geomajas.org/majas/branches/1.5.x/geomajas/</developerConnection> - <url>https://svn.geomajas.org/majas/branches/1.5.x/geomajas/</url> - </scm> - <organization> - <name>Geosparc</name> - <url>http://www.geosparc.com</url> + + <scm> + <connection>scm:svn:https://svn.geomajas.org/majas/branches/1.5.x/geomajas/</connection> + <developerConnection>scm:svn:https://svn.geomajas.org/majas/branches/1.5.x/geomajas/</developerConnection> + <url>https://svn.geomajas.org/majas/branches/1.5.x/geomajas/</url> + </scm> + <organization> + <name>Geosparc</name> + <url>http://www.geosparc.com</url> </organization> - <mailingLists> - <mailingList> - <name>DEV</name> - <post>mailto:maj...@ge...</post> - <subscribe>http://lists.geomajas.org/mailman/listinfo/Mmajas-dev</subscribe> - <unsubscribe>http://lists.geomajas.org/mailman/listinfo/majas-dev</unsubscribe> - <archive>http://lists.geomajas.org/pipermail/majas-dev/</archive> - </mailingList> - </mailingLists> - <licenses> - <license> - <name>GNU Affero General Public License, Version 3</name> - <url>http://www.fsf.org/licensing/licenses/agpl-3.0.html</url> - <distribution>repo</distribution> - </license> - </licenses> - <issueManagement> - <system>JIRA</system> - <url>http://jira.geomajas.org</url> - </issueManagement> - <distributionManagement> - <site> - <id>Geomajas project site</id> - <name>Mapping with Asynchronous Java and SVG</name> - <url>scp://www.majas.dfc.be/var/www/www.majas.dfc.be/htdocs/maven</url> - </site> - </distributionManagement> - <developers> - <developer> - <id>dirkf</id> - <name>dirk.frigne</name> - <email>dir...@ge...</email> - <roles> - <role>CEO</role> - </roles> - </developer> - <developer> - <id>jandm</id> - <name>Jan De Moerlose</name> - <email>jan...@ge...</email> - <roles> - <role>Architect</role> - <role>Lead Developer</role> - </roles> - </developer> - <developer> - <id>pieterdg</id> - <name>Pieter De Graef</name> - <email>pie...@ge...</email> - <roles> - <role>Architect</role> - <role>Lead Developer</role> - </roles> - </developer> - <developer> - <id>joachimvda</id> - <name>Joachim Van der Auwera</name> - <email>jo...@ge...</email> - <roles> - <role>Developer</role> - </roles> - </developer> - </developers> + <mailingLists> + <mailingList> + <name>DEV</name> + <post>mailto:maj...@ge...</post> + <subscribe>http://lists.geomajas.org/mailman/listinfo/Mmajas-dev</subscribe> + <unsubscribe>http://lists.geomajas.org/mailman/listinfo/majas-dev</unsubscribe> + <archive>http://lists.geomajas.org/pipermail/majas-dev/</archive> + </mailingList> + </mailingLists> + <licenses> + <license> + <name>GNU Affero General Public License, Version 3</name> + <url>http://www.fsf.org/licensing/licenses/agpl-3.0.html</url> + <distribution>repo</distribution> + </license> + </licenses> + <issueManagement> + <system>JIRA</system> + <url>http://jira.geomajas.org</url> + </issueManagement> + <distributionManagement> + <site> + <id>Geomajas project site</id> + <name>Mapping with Asynchronous Java and SVG</name> + <url>scp://www.majas.dfc.be/var/www/www.majas.dfc.be/htdocs/maven</url> + </site> + </distributionManagement> + <developers> + <developer> + <id>dirkf</id> + <name>dirk.frigne</name> + <email>dir...@ge...</email> + <roles> + <role>CEO</role> + </roles> + </developer> + <developer> + <id>jandm</id> + <name>Jan De Moerlose</name> + <email>jan...@ge...</email> + <roles> + <role>Architect</role> + <role>Lead Developer</role> + </roles> + </developer> + <developer> + <id>pieterdg</id> + <name>Pieter De Graef</name> + <email>pie...@ge...</email> + <roles> + <role>Architect</role> + <role>Lead Developer</role> + </roles> + </developer> + <developer> + <id>joachimvda</id> + <name>Joachim Van der Auwera</name> + <email>jo...@ge...</email> + <roles> + <role>Developer</role> + </roles> + </developer> + </developers> - <modules> - <module>geomajas-api</module> - <module>geomajas-xml-binding</module> - <module>geomajas-impl</module> - <module>geomajas-dojo-server</module> - <module>geomajas-dojo-client</module> - <module>geomajas-gwt-server</module> - <module>geomajas-gwt-client</module> - <module>layermodels</module> - <module>extensions</module> - </modules> + <modules> + <module>geomajas-api</module> + <module>geomajas-xml-binding</module> + <module>geomajas-impl</module> + <module>geomajas-dojo-server</module> + <module>geomajas-dojo-client</module> + <module>geomajas-gwt-server</module> + <module>geomajas-gwt-client</module> + <module>layermodels</module> + <module>extensions</module> + </modules> - <repositories> - <repository> - <id>Geomajas</id> - <name>Geomajas repository</name> - <url>http://maven.geomajas.org</url> - </repository> - <repository> - <id>skynet</id> - <name>Belgian maven archive mirror</name> - <url>http://maven2.mirrors.skynet.be/pub/maven2</url> - <snapshots> - <enabled>false</enabled> - </snapshots> - </repository> - <repository> - <id>ibiblio</id> - <name>Ibiblio - the public's library and digital archive</name> - <url>http://www.ibiblio.org/maven2</url> - <snapshots> - <enabled>false</enabled> - </snapshots> - </repository> - <repository> - <id>geotools</id> - <name>Geotools repository</name> - <url>http://maven.geotools.fr/repository</url> - <snapshots> - <enabled>false</enabled> - </snapshots> - </repository> - <repository> - <id>refractions</id> - <name>Geotools repository</name> - <url>http://lists.refractions.net/m2</url> - <snapshots> - <enabled>false</enabled> - </snapshots> - </repository> - <repository> - <id>javanet</id> - <name>Java.net repository</name> - <url>http://download.java.net/maven/2/</url> - <snapshots> - <enabled>false</enabled> - </snapshots> - </repository> - <repository> - <id>gwt-ext</id> - <url>http://www.gwt-ext.com/maven2/</url> - <snapshots> - <enabled>false</enabled> - </snapshots> - </repository> - <repository> - <id>jts4gwt</id> - <url>http://jts4gwt.sourceforge.net/maven/repository/</url> - <snapshots> - <enabled>false</enabled> - </snapshots> - </repository> - </repositories> - <pluginRepositories> - <pluginRepository> - <id>gegis</id> - <name>gegis repository</name> - <url>http://www.gegis.org/repository</url> - <snapshots> - <enabled>false</enabled> - </snapshots> - </pluginRepository> - <pluginRepository> - <id>gwt-maven</id> - <url>http://gwt-maven.googlecode.com/svn/trunk/mavenrepo/</url> - </pluginRepository> - </pluginRepositories> + <repositories> + <repository> + <id>Geomajas</id> + <name>Geomajas repository</name> + <url>http://maven.geomajas.org</url> + </repository> + <repository> + <id>skynet</id> + <name>Belgian maven archive mirror</name> + <url>http://maven2.mirrors.skynet.be/pub/maven2</url> + <snapshots> + <enabled>false</enabled> + </snapshots> + </repository> + <repository> + <id>ibiblio</id> + <name>Ibiblio - the public's library and digital archive</name> + <url>http://www.ibiblio.org/maven2</url> + <snapshots> + <enabled>false</enabled> + </snapshots> + </repository> + <repository> + <id>geotools</id> + <name>Geotools repository</name> + <url>http://maven.geotools.fr/repository</url> + <snapshots> + <enabled>false</enabled> + </snapshots> + </repository> + <repository> + <id>refractions</id> + <name>Geotools repository</name> + <url>http://lists.refractions.net/m2</url> + <snapshots> + <enabled>false</enabled> + </snapshots> + </repository> + <repository> + <id>javanet</id> + <name>Java.net repository</name> + <url>http://download.java.net/maven/2/</url> + <snapshots> + <enabled>false</enabled> + </snapshots> + </repository> + <repository> + <id>gwt-ext</id> + <url>http://www.gwt-ext.com/maven2/</url> + <snapshots> + <enabled>false</enabled> + </snapshots> + </repository> + <repository> + <id>jts4gwt</id> + <url>http://jts4gwt.sourceforge.net/maven/repository/</url> + <snapshots> + <enabled>false</enabled> + </snapshots> + </repository> + </repositories> + <pluginRepositories> + <pluginRepository> + <id>gegis</id> + <name>gegis repository</name> + <url>http://www.gegis.org/repository</url> + <snapshots> + <enabled>false</enabled> + </snapshots> + </pluginRepository> + <pluginRepository> + <id>gwt-maven</id> + <url>http://gwt-maven.googlecode.com/svn/trunk/mavenrepo/</url> + </pluginRepository> + </pluginRepositories> - <build> - <extensions> - <extension> - <groupId>org.apache.maven.wagon</groupId> - <artifactId>wagon-webdav</artifactId> - <version>1.0-beta-2</version> - </extension> - <extension> - <groupId>org.geomajas</groupId> - <artifactId>geomajas-checkstyle</artifactId> - <version>1.0.0</version> - </extension> - </extensions> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-compiler-plugin</artifactId> - <configuration> - <encoding>utf8</encoding> - <source>1.5</source> - <target>1.5</target> - </configuration> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-checkstyle-plugin</artifactId> - <configuration> - <configLocation>config/geomajas-checkstyle.xml</configLocation> - </configuration> - <executions> - <execution> - <phase>verify</phase> - <goals> - <goal>check</goal> - </goals> - </execution> - </executions> + <build> + <extensions> + <extension> + <groupId>org.apache.maven.wagon</groupId> + <artifactId>wagon-webdav</artifactId> + <version>1.0-beta-2</version> + </extension> + <extension> + <groupId>org.geomajas</groupId> + <artifactId>geomajas-checkstyle</artifactId> + <version>1.0.0</version> + </extension> + </extensions> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <configuration> + <encoding>utf8</encoding> + <source>1.5</source> + <target>1.5</target> + </configuration> </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-checkstyle-plugin</artifactId> + <configuration> + <configLocation>config/geomajas-checkstyle.xml</configLocation> + </configuration> + <executions> + <execution> + <phase>verify</phase> + <goals> + <goal>check</goal> + </goals> + </execution> + </executions> + </plugin> <!-- make it a Cypal project in Eclipse --> - <!-- - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-eclipse-plugin</artifactId> - <configuration> - <wtpversion>2.0</wtpversion> - <workspace>${basedir}/..</workspace> - <alwaysWritePomProjects>true</alwaysWritePomProjects> - <additionalProjectnatures> - <projectnature>in.cypal.studio.gwt.core.gwtNature</projectnature> - </additionalProjectnatures> - <additionalBuildcommands> - <buildcommand>in.cypal.studio.gwt.core.gwtBuilder</buildcommand> - </additionalBuildcommands> - - <sourceExcludes> - <sourceExclude>org/geomajas/emul/</sourceExclude> - </sourceExcludes> - - <excludes> - <exclude>org/geomajas/emul/</exclude> - </excludes> - - </configuration> - </plugin> - --> - </plugins> - <pluginManagement> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-eclipse-plugin</artifactId> - <version>2.5</version> - <configuration> - <wtpmanifest>true</wtpmanifest> - <wtpapplicationxml>true</wtpapplicationxml> - <wtpversion>2.0</wtpversion> - <manifest>${basedir}/src/main/resources/META-INF/MANIFEST.MF - </manifest> - <workspace>${basedir}/..</workspace> - <alwaysWritePomProjects>true</alwaysWritePomProjects> - </configuration> - </plugin> - <plugin> - <artifactId>maven-resources-plugin</artifactId> - <version>2.3</version> - </plugin> - <plugin> - <artifactId>maven-war-plugin</artifactId> - <version>2.1-alpha-1</version> - <configuration> - <nonFilteredFileExtensions> - <nonFilteredFileExtension>dbf,shp,shx,sbx,sbn</nonFilteredFileExtension> - </nonFilteredFileExtensions> - </configuration> - </plugin> - </plugins> - </pluginManagement> - </build> - <reporting> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-javadoc-plugin</artifactId> - <configuration> - <links> - <link>http://java.sun.com/j2se/1.5.0/docs/api/</link> - </links> - </configuration> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-surefire-report-plugin</artifactId> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-jxr-plugin</artifactId> - </plugin> - </plugins> - </reporting> - - <dependencyManagement> - <dependencies> - <dependency> - <groupId>org.geomajas</groupId> - <artifactId>geomajas-api</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>org.geomajas</groupId> - <artifactId>geomajas-xml-binding</artifactId> - <version>${project.version}</version> - </dependency> - - <!-- - <dependency> - <groupId>com.vividsolutions</groupId> - <artifactId>jts</artifactId> - <version>1.10</version> - </dependency> - --> - <dependency> - <groupId>net.sf</groupId> - <artifactId>jts4gwt</artifactId> - <version>1.10.0</version> - </dependency> - <dependency> - <groupId>javax.persistence</groupId> - <artifactId>persistence-api</artifactId> - <version>1.0</version> - </dependency> - - <!-- next three dependencies for the Hibernate LayerModel --> - <dependency> - <groupId>org.hibernatespatial</groupId> - <artifactId>hibernate-spatial</artifactId> - <version>1.0-M1</version> - </dependency> - <dependency> - <groupId>org.hibernatespatial</groupId> - <artifactId>hibernate-spatial-postgis</artifactId> - <version>1.0-M1</version> - </dependency> - <dependency> - <groupId>org.hibernate</groupId> - <artifactId>hibernate-annotations</artifactId> - <version>3.2.0.ga</version> - </dependency> - - <!-- override the 1.0 driver that postgis loads --> - <dependency> - <groupId>org.postgis</groupId> - <artifactId>postgis-jdbc</artifactId> - <version>1.1.6</version> - </dependency> - <dependency> - <groupId>xml-apis</groupId> - <artifactId>xml-apis</artifactId> - <version>1.3.03</version> - </dependency> - <dependency> - <groupId>javax.xml.bind</groupId> - <artifactId>jaxb-api</artifactId> - <version>2.1</version> - </dependency> - <dependency> - <groupId>com.sun.xml.bind</groupId> - <artifactId>jaxb-impl</artifactId> - <version>2.1.3</version> - </dependency> - - <dependency> - <groupId>org.geotools</groupId> - <artifactId>gt-main</artifactId> - <version>${geotools-version}</version> - </dependency> - <dependency> - <groupId>org.geotools</groupId> - <artifactId>gt-api</artifactId> - <version>${geotools-version}</version> - </dependency> - <dependency> - <groupId>org.geotools</groupId> - <artifactId>gt-epsg-wkt</artifactId> - <version>${geotools-version}</version> - </dependency> - <dependency> - <groupId>org.geotools</groupId> - <artifactId>gt-postgis</artifactId> - <version>${geotools-version}</version> - <exclusions> - <exclusion> - <groupId>org.postgis</groupId> - <artifactId>postgis-driver</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>org.geotools</groupId> - <artifactId>gt-shapefile</artifactId> - <version>${geotools-version}</version> - </dependency> - <dependency> - <groupId>org.geotools</groupId> - <artifactId>gt-xml</artifactId> - <version>${geotools-version}</version> - </dependency> - <dependency> - <groupId>org.geotools</groupId> - <artifactId>gt-epsg-hsql</artifactId> - <version>${geotools-version}</version> - </dependency> - <dependency> - <groupId>org.geotools</groupId> - <artifactId>gt-render</artifactId> - <version>${geotools-version}</version> - </dependency> - - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>4.1</version> - <scope>test</scope> - </dependency> - <dependency> - <groupId>xalan</groupId> - <artifactId>xalan</artifactId> - <version>2.7.0</version> - </dependency> - <dependency> - <groupId>javax.servlet</groupId> - <artifactId>servlet-api</artifactId> - <version>2.4</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>c3p0</groupId> - <artifactId>c3p0</artifactId> - <version>0.9.1.2</version> - </dependency> - - <dependency> - <groupId>commons-beanutils</groupId> - <artifactId>commons-beanutils</artifactId> - <version>1.7.0</version> - </dependency> - <dependency> - <groupId>commons-collections</groupId> - <artifactId>commons-collections</artifactId> - <version>3.1</version> - </dependency> - <dependency> - <groupId>commons-digester</groupId> - <artifactId>commons-digester</artifactId> - <version>1.7</version> - </dependency> - <dependency> - <groupId>commons-fileupload</groupId> - <artifactId>commons-fileupload</artifactId> - <version>1.0</version> - </dependency> - <dependency> - <groupId>commons-httpclient</groupId> - <artifactId>commons-httpclient</artifactId> - <version>2.0</version> - </dependency> - <dependency> - <groupId>commons-lang</groupId> - <artifactId>commons-lang</artifactId> - <version>2.1</version> - </dependency> - <dependency> - <groupId>commons-logging</groupId> - <artifactId>commons-logging</artifactId> - <version>1.0.3</version> - </dependency> - <dependency> - <groupId>commons-configuration</groupId> - <artifactId>commons-configuration</artifactId> - <version>1.2</version> - </dependency> - - <dependency> - <groupId>log4j</groupId> - <artifactId>log4j</artifactId> - <version>1.2.9</version> - </dependency> - <dependency> - <groupId>xerces</groupId> - <artifactId>xercesImpl</artifactId> - <version>2.8.1</version> - </dependency> - <dependency> - <groupId>commons-el</groupId> - <artifactId>commons-el</artifactId> - <version>1.0</version> - </dependency> - <dependency> - <groupId>com.metaparadigm</groupId> - <artifactId>json-rpc</artifactId> - <version>1.0</version> - </dependency> - <dependency> - <groupId>javax.media</groupId> - <artifactId>jai_core</artifactId> - <version>1.1.3-alpha</version> - </dependency> - <dependency> - <groupId>javax.media</groupId> - <artifactId>jai_codec</artifactId> - <version>1.1.3-alpha</version> - </dependency> - <dependency> - <groupId>javax.media</groupId> - <artifactId>jai_imageio</artifactId> - <version>1.1-alpha</version> - </dependency> - <dependency> - <groupId>com.lowagie</groupId> - <artifactId>itext</artifactId> - <version>2.1.3</version> - </dependency> - <dependency> - <groupId>net.java.dev.weblets</groupId> - <artifactId>weblets-api</artifactId> - <version>1.1</version> - <exclusions> - <exclusion> - <groupId>commons-digester</groupId> - <artifactId>commons-digester</artifactId> - </exclusion> - <exclusion> - <groupId>commons-logging</groupId> - <artifactId>commons-logging</artifactId> - </exclusion> - </exclusions> - </dependency> - <dependency> - <groupId>net.java.dev.weblets</groupId> - <artifactId>weblets-impl</artifactId> - <version>1.1</version> - <exclusions> - <exclusion> - <groupId>commons-digester</groupId> - <artifactId>commons-digester</artifactId> - </exclusion> - <exclusion> - <groupId>commons-logging</groupId> - <artifactId>commons-logging</artifactId> - </exclusion> - </exclusions> - </dependency> - - <dependency> - <groupId>com.google.gwt</groupId> - <artifactId>gwt-servlet</artifactId> - <version>${gwt-version}</version> - <scope>runtime</scope> - </dependency> - <dependency> - <groupId>com.google.gwt</groupId> - <artifactId>gwt-user</artifactId> - <version>${gwt-version}</version> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>com.google.gwt</groupId> - <artifactId>gwt-dev</artifactId> - <version>${gwt-version}</version> - <classifier>${platform}-libs</classifier> - <type>zip</type> - <scope>provided</scope> - </dependency> - <dependency> - <groupId>com.google.gwt</groupId> - <artifactId>gwt-dev</artifactId> - <version>${gwt-version}</version> - <classifier>${platform}</classifier> - <scope>provided</scope> - </dependency> - - <dependency> - <groupId>com.smartgwt</groupId> - <artifactId>smartgwt</artifactId> - <version>${smartgwt-version}</version> - </dependency> - <dependency> - <groupId>com.smartgwt</groupId> - <artifactId>smartgwt-skins</artifactId> - <version>${smartgwt-version}</version> - </dependency> - - </dependencies> - </dependencyManagement> - - <!-- profiles (with activation per platform) --> - <profiles> - <profile> - <id>gwt-dev-windows</id> - <properties> - <platform>windows</platform> - </properties> - <activation> - <activeByDefault>true</activeByDefault> - <os> - <family>windows</family> - </os> - </activation> - </profile> - <profile> - <id>gwt-dev-mac</id> - <properties> - <platform>mac</platform> - </properties> - <activation> - <activeByDefault>false</activeByDefault> - <os> - <family>mac</family> - </os> - </activation> - </profile> - <profile> - <id>gwt-dev-linux</id> - <properties> - <platform>linux</platform> - </properties> - <activation> - <activeByDefault>false</activeByDefault> - <os> - <name>linux</name> - </os> - </activation> - </profile> + <!-- + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-eclipse-plugin</artifactId> + <configuration> + <wtpversion>2.0</wtpversion> + <workspace>${basedir}/..</workspace> + <alwaysWritePomProjects>true</alwaysWritePomProjects> + <additionalProjectnatures> + <projectnature>in.cypal.studio.gwt.core.gwtNature</projectnature> + </additionalProjectnatures> + <additionalBuildcommands> + <buildcommand>in.cypal.studio.gwt.core.gwtBuilder</buildcommand> + </additionalBuildcommands> + + <sourceExcludes> + <sourceExclude>org/geomajas/emul/</sourceExclude> + </sourceExcludes> + + <excludes> + <exclude>org/geomajas/emul/</exclude> + </excludes> + + </configuration> + </plugin> + --> + </plugins> + <pluginManagement> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-eclipse-plugin</artifactId> + <version>2.5</version> + <configuration> + <wtpmanifest>true</wtpmanifest> + <wtpapplicationxml>true</wtpapplicationxml> + <wtpversion>2.0</wtpversion> + <manifest>${basedir}/src/main/resources/META-INF/MANIFEST.MF + </manifest> + <workspace>${basedir}/..</workspace> + <alwaysWritePomProjects>true</alwaysWritePomProjects> + </configuration> + </plugin> + <plugin> + <artifactId>maven-resources-plugin</artifactId> + <version>2.3</version> + </plugin> + <plugin> + <artifactId>maven-war-plugin</artifactId> + <version>2.1-alpha-1</version> + <configuration> + <nonFilteredFileExtensions> + <nonFilteredFileExtension>dbf,shp,shx,sbx,sbn</nonFilteredFileExtension> + </nonFilteredFileExtensions> + </configuration> + </plugin> + </plugins> + </pluginManagement> + </build> + <reporting> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-javadoc-plugin</artifactId> + <configuration> + <links> + <link>http://java.sun.com/j2se/1.5.0/docs/api/</link> + </links> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-surefire-report-plugin</artifactId> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-jxr-plugin</artifactId> + </plugin> + </plugins> + </reporting> + + <dependencyManagement> + <dependencies> + <dependency> + <groupId>org.geomajas</groupId> + <artifactId>geomajas-api</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.geomajas</groupId> + <artifactId>geomajas-xml-binding</artifactId> + <version>${project.version}</version> + </dependency> + + <!-- + <dependency> + <groupId>com.vividsolutions</groupId> + <artifactId>jts</artifactId> + <version>1.10</version> + </dependency> + --> + <dependency> + <groupId>net.sf</groupId> + <artifactId>jts4gwt</artifactId> + <version>1.10.0</version> + </dependency> + <dependency> + <groupId>javax.persistence</groupId> + <artifactId>persistence-api</artifactId> + <version>1.0</version> + </dependency> + + <!-- next three dependencies for the Hibernate LayerModel --> + <dependency> + <groupId>org.hibernatespatial</groupId> + <artifactId>hibernate-spatial</artifactId> + <version>1.0-M1</version> + </dependency> + <dependency> + <groupId>org.hibernatespatial</groupId> + <artifactId>hibernate-spatial-postgis</artifactId> + <version>1.0-M1</version> + </dependency> + <dependency> + <groupId>org.hibernate</groupId> + <artifactId>hibernate-annotations</artifactId> + <version>3.2.0.ga</version> + </dependency> + + <!-- override the 1.0 driver that postgis loads --> + <dependency> + <groupId>org.postgis</groupId> + <artifactId>postgis-jdbc</artifactId> + <version>1.1.6</version> + </dependency> + <dependency> + <groupId>xml-apis</groupId> + <artifactId>xml-apis</artifactId> + <version>1.3.03</version> + </dependency> + <dependency> + <groupId>javax.xml.bind</groupId> + <artifactId>jaxb-api</artifactId> + <version>2.1</version> + </dependency> + <dependency> + <groupId>com.sun.xml.bind</groupId> + <artifactId>jaxb-impl</artifactId> + <version>2.1.3</version> + </dependency> + + <dependency> + <groupId>org.geotools</groupId> + <artifactId>gt2-main</artifactId> + <version>${geotools-version}</version> + </dependency> + <dependency> + <groupId>org.geotools</groupId> + <artifactId>gt2-api</artifactId> + <version>${geotools-version}</version> + </dependency> + <dependency> + <groupId>org.geotools</groupId> + <artifactId>gt2-epsg-wkt</artifactId> + <version>${geotools-version}</version> + </dependency> + <dependency> + <groupId>org.geotools</groupId> + <artifactId>gt2-postgis</artifactId> + <version>${geotools-version}</version> + <exclusions> + <exclusion> + <groupId>org.postgis</groupId> + <artifactId>postgis-driver</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.geotools</groupId> + <artifactId>gt2-shapefile</artifactId> + <version>${geotools-version}</version> + </dependency> + <dependency> + <groupId>org.geotools</groupId> + <artifactId>gt2-xml</artifactId> + <version>${geotools-version}</version> + </dependency> + <dependency> + <groupId>org.geotools</groupId> + <artifactId>gt2-render</artifactId> + <version>${geotools-version}</version> + </dependency> + + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.1</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>xalan</groupId> + <artifactId>xalan</artifactId> + <version>2.7.0</version> + </dependency> + <dependency> + <groupId>javax.servlet</groupId> + <artifactId>servlet-api</artifactId> + <version>2.4</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>c3p0</groupId> + <artifactId>c3p0</artifactId> + <version>0.9.1.2</version> + </dependency> + + <dependency> + <groupId>commons-beanutils</groupId> + <artifactId>commons-beanutils</artifactId> + <version>1.7.0</version> + </dependency> + <dependency> + <groupId>commons-collections</groupId> + <artifactId>commons-collections</artifactId> + <version>3.1</version> + </dependency> + <dependency> + <groupId>commons-digester</groupId> + <artifactId>commons-digester</artifactId> + <version>1.7</version> + </dependency> + <dependency> + <groupId>commons-fileupload</groupId> + <artifactId>commons-fileupload</artifactId> + <version>1.0</version> + </dependency> + <dependency> + <groupId>commons-httpclient</groupId> + <artifactId>commons-httpclient</artifactId> + <version>2.0</version> + </dependency> + <dependency> + <groupId>commons-lang</groupId> + <artifactId>commons-lang</artifactId> + <version>2.1</version> + </dependency> + <dependency> + <groupId>commons-logging</groupId> + <artifactId>commons-logging</artifactId> + <version>1.0.3</version> + </dependency> + <dependency> + <groupId>commons-configuration</groupId> + <artifactId>commons-configuration</artifactId> + <version>1.2</version> + </dependency> + + <dependency> + <groupId>log4j</groupId> + <artifactId>log4j</artifactId> + <version>1.2.9</version> + </dependency> + <dependency> + <groupId>xerces</groupId> + <artifactId>xercesImpl</artifactId> + <version>2.8.1</version> + </dependency> + <dependency> + <groupId>commons-el</groupId> + <artifactId>commons-el</artifactId> + <version>1.0</version> + </dependency> + <dependency> + <groupId>com.metaparadigm</groupId> + <artifactId>json-rpc</artifactId> + <version>1.0</version> + </dependency> + <dependency> + <groupId>javax.media</groupId> + <artifactId>jai_core</artifactId> + <version>1.1.3-alpha</version> + </dependency> + <dependency> + <groupId>javax.media</groupId> + <artifactId>jai_codec</artifactId> + <version>1.1.3-alpha</version> + </dependency> + <dependency> + <groupId>javax.media</groupId> + <artifactId>jai_imageio</artifactId> + <version>1.1-alpha</version> + </dependency> + <dependency> + <groupId>com.lowagie</groupId> + <artifactId>itext</artifactId> + <version>2.1.3</version> + </dependency> + <dependency> + <groupId>net.java.dev.weblets</groupId> + <artifactId>weblets-api</artifactId> + <version>1.1</version> + <exclusions> + <exclusion> + <groupId>commons-digester</groupId> + <artifactId>commons-digester</artifactId> + </exclusion> + <exclusion> + <groupId>commons-logging</groupId> + <artifactId>commons-logging</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>net.java.dev.weblets</groupId> + <artifactId>weblets-impl</artifactId> + <version>1.1</version> + <exclusions> + <exclusion> + <groupId>commons-digester</groupId> + <artifactId>commons-digester</artifactId> + </exclusion> + <exclusion> + <groupId>commons-logging</groupId> + <artifactId>commons-logging</artifactId> + </exclusion> + </exclusions> + </dependency> + + <dependency> + <groupId>com.google.gwt</groupId> + <artifactId>gwt-servlet</artifactId> + <version>${gwt-version}</version> + <scope>runtime</scope> + </dependency> + <dependency> + <groupId>com.google.gwt</groupId> + <artifactId>gwt-user</artifactId> + <version>${gwt-version}</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>com.google.gwt</groupId> + <artifactId>gwt-dev</artifactId> + <version>${gwt-version}</version> + <classifier>${platform}-libs</classifier> + <type>zip</type> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>com.google.gwt</groupId> + <artifactId>gwt-dev</artifactId> + <version>${gwt-version}</version> + <classifier>${platform}</classifier> + <scope>provided</scope> + </dependency> + + <dependency> + <groupId>com.smartgwt</groupId> + <artifactId>smartgwt</artifactId> + <version>${smartgwt-version}</version> + </dependency> + <dependency> + <groupId>com.smartgwt</groupId> + <artifactId>smartgwt-skins</artifactId> + <version>${smartgwt-version}</version> + </dependency> + + <dependency> + <groupId>com.thoughtworks.xstream</groupId> + <artifactId>xstream</artifactId> + <version>1.3.1</version> + </dependency> + </dependencies> + </dependencyManagement> + + <!-- profiles (with activation per platform) --> + <profiles> + <profile> + <id>gwt-dev-windows</id> + <properties> + <platform>windows</platform> + </properties> + <activation> + <activeByDefault>true</activeByDefault> + <os> + <family>windows</family> + </os> + </activation> + </profile> + <profile> + <id>gwt-dev-mac</id> + <properties> + <platform>mac</platform> + </properties> + <activation> + <activeByDefault>false</activeByDefault> + <os> + <family>mac</family> + </os> + </activation> + </profile> + <profile> + <id>gwt-dev-linux</id> + <properties> + <platform>linux</platform> + </properties> + <activation> + <activeByDefault>false</activeByDefault> + <os> + <name>linux</name> + </os> + </activation> + </profile> </profiles> - <properties> - <geotools-version>2.5.2</geotools-version> - <gwt-version>1.5.3</gwt-version> - <smartgwt-version>1.1</smartgwt-version> - <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> - </properties> - + <properties> + <geotools-version>2.4.1</geotools-version> + <gwt-version>1.5.3</gwt-version> + <smartgwt-version>1.1</smartgwt-version> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + </properties> + </project> |