Revision: 6243
http://squirrel-sql.svn.sourceforge.net/squirrel-sql/?rev=6243&view=rev
Author: wis775
Date: 2011-04-25 19:55:42 +0000 (Mon, 25 Apr 2011)
Log Message:
-----------
New plugin "WIKI table configurations":
This plugin provides some pre-defined configurations for various WIKI engines. With this configurations, Squirrel knows, how to transform the selection
of a result table into a WIKI table. At the moment, configurations for the following WIKI's are provided:
- Mediawiki
- TiddlyWiki
This plugin is a enhancement for the functionality "Copy as WIKI table"
Modified Paths:
--------------
trunk/sql12/doc/src/main/resources/changes.txt
Added Paths:
-----------
trunk/sql12/plugins/wikiTableConfigurations/
trunk/sql12/plugins/wikiTableConfigurations/pom.xml
trunk/sql12/plugins/wikiTableConfigurations/src/
trunk/sql12/plugins/wikiTableConfigurations/src/main/
trunk/sql12/plugins/wikiTableConfigurations/src/main/java/
trunk/sql12/plugins/wikiTableConfigurations/src/main/java/net/
trunk/sql12/plugins/wikiTableConfigurations/src/main/java/net/sourceforge/
trunk/sql12/plugins/wikiTableConfigurations/src/main/java/net/sourceforge/squirrel_sql/
trunk/sql12/plugins/wikiTableConfigurations/src/main/java/net/sourceforge/squirrel_sql/plugins/
trunk/sql12/plugins/wikiTableConfigurations/src/main/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/
trunk/sql12/plugins/wikiTableConfigurations/src/main/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/WikiTableConfigurationPlugin.java
trunk/sql12/plugins/wikiTableConfigurations/src/main/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/configurations/
trunk/sql12/plugins/wikiTableConfigurations/src/main/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/configurations/MediaWikiTableConfiguration.java
trunk/sql12/plugins/wikiTableConfigurations/src/main/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/configurations/MediaWikiTableConfigurationBeanInfo.java
trunk/sql12/plugins/wikiTableConfigurations/src/main/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/configurations/TiddlyWikiTableConfiguration.java
trunk/sql12/plugins/wikiTableConfigurations/src/main/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/configurations/TiddlyWikiTableConfigurationBeanInfo.java
trunk/sql12/plugins/wikiTableConfigurations/src/main/resources/
trunk/sql12/plugins/wikiTableConfigurations/src/main/resources/net/
trunk/sql12/plugins/wikiTableConfigurations/src/main/resources/net/sourceforge/
trunk/sql12/plugins/wikiTableConfigurations/src/main/resources/net/sourceforge/squirrel_sql/
trunk/sql12/plugins/wikiTableConfigurations/src/main/resources/net/sourceforge/squirrel_sql/plugins/
trunk/sql12/plugins/wikiTableConfigurations/src/main/resources/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/
trunk/sql12/plugins/wikiTableConfigurations/src/main/resources/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/I18NStrings.properties
trunk/sql12/plugins/wikiTableConfigurations/src/test/
trunk/sql12/plugins/wikiTableConfigurations/src/test/java/
trunk/sql12/plugins/wikiTableConfigurations/src/test/java/net/
trunk/sql12/plugins/wikiTableConfigurations/src/test/java/net/sourceforge/
trunk/sql12/plugins/wikiTableConfigurations/src/test/java/net/sourceforge/squirrel_sql/
trunk/sql12/plugins/wikiTableConfigurations/src/test/java/net/sourceforge/squirrel_sql/plugins/
trunk/sql12/plugins/wikiTableConfigurations/src/test/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/
trunk/sql12/plugins/wikiTableConfigurations/src/test/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/configurations/
trunk/sql12/plugins/wikiTableConfigurations/src/test/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/configurations/MediaWikiTableConfigurationBeanInfoTest.java
trunk/sql12/plugins/wikiTableConfigurations/src/test/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/configurations/MediaWikiTableConfigurationBeanTest.java
trunk/sql12/plugins/wikiTableConfigurations/src/test/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/configurations/TiddlyWikiTableConfigurationBeanInfoTest.java
trunk/sql12/plugins/wikiTableConfigurations/src/test/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/configurations/TiddlyWikiTableConfigurationBeanTest.java
trunk/sql12/plugins/wikiTableConfigurations/src/test/resources/
Modified: trunk/sql12/doc/src/main/resources/changes.txt
===================================================================
--- trunk/sql12/doc/src/main/resources/changes.txt 2011-04-25 19:39:21 UTC (rev 6242)
+++ trunk/sql12/doc/src/main/resources/changes.txt 2011-04-25 19:55:42 UTC (rev 6243)
@@ -7,7 +7,14 @@
Enhancements:
-Export as WIKI table:
+New plugin "WIKI table configurations":
+ This plugin provides some pre-defined configurations for various WIKI engines. With this configurations, Squirrel knows, how to transform the selection
+ of a result table into a WIKI table. At the moment, configurations for the following WIKI's are provided:
+ - Mediawiki
+ - TiddlyWiki
+ This plugin is a enhancement for the functionality "Copy as WIKI table"
+
+Copy as WIKI table:
Squirrel is now able, to copy the selection of a result table as WIKI text into the clipboard. (Right click on the result table => Copy as WIKI table)
At the new preferences panel "Global Preferences => Wiki Tables", the user can configure individual templates for the WIKI syntax.
Property changes on: trunk/sql12/plugins/wikiTableConfigurations
___________________________________________________________________
Added: svn:ignore
+ .project
.classpath
.settings
target
Added: trunk/sql12/plugins/wikiTableConfigurations/pom.xml
===================================================================
--- trunk/sql12/plugins/wikiTableConfigurations/pom.xml (rev 0)
+++ trunk/sql12/plugins/wikiTableConfigurations/pom.xml 2011-04-25 19:55:42 UTC (rev 6243)
@@ -0,0 +1,87 @@
+<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/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>net.sf.squirrel-sql.plugins</groupId>
+ <artifactId>squirrelsql-plugins-parent-pom</artifactId>
+ <version>3.3.0-SNAPSHOT</version>
+ <relativePath>../squirrelsql-plugins-parent-pom/pom.xml</relativePath>
+ </parent>
+ <groupId>net.sf.squirrel-sql.plugins</groupId>
+ <artifactId>wikiTableConfigurations</artifactId>
+ <version>3.3.0-SNAPSHOT</version>
+ <name>WIKI table plugin</name>
+ <description>Pre defined configurations for tables of different WIKI engines</description>
+ <dependencies>
+ <dependency>
+ <groupId>net.sf.squirrel-sql</groupId>
+ <artifactId>fw</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>net.sf.squirrel-sql</groupId>
+ <artifactId>fw</artifactId>
+ <type>test-jar</type>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>net.sf.squirrel-sql</groupId>
+ <artifactId>squirrel-sql</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>net.sf.squirrel-sql</groupId>
+ <artifactId>squirrel-sql</artifactId>
+ <type>test-jar</type>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.easymock</groupId>
+ <artifactId>easymock</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.easymock</groupId>
+ <artifactId>easymockclassextension</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-all</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-source-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-jar-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-assembly-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+
+
+ <properties>
+ <pluginClassName>net.sourceforge.squirrel_sql.plugins.wikiTableConfiguration.WikiTableConfigurationPlugin</pluginClassName>
+ </properties>
+</project>
\ No newline at end of file
Property changes on: trunk/sql12/plugins/wikiTableConfigurations/pom.xml
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/sql12/plugins/wikiTableConfigurations/src/main/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/WikiTableConfigurationPlugin.java
===================================================================
--- trunk/sql12/plugins/wikiTableConfigurations/src/main/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/WikiTableConfigurationPlugin.java (rev 0)
+++ trunk/sql12/plugins/wikiTableConfigurations/src/main/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/WikiTableConfigurationPlugin.java 2011-04-25 19:55:42 UTC (rev 6243)
@@ -0,0 +1,225 @@
+/*
+ * Copyright (C) 2011 Stefan Willinger
+ * wi...@us...
+ *
+ * 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; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+package net.sourceforge.squirrel_sql.plugins.wikiTableConfiguration;
+
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.List;
+
+import net.sourceforge.squirrel_sql.client.IApplication;
+import net.sourceforge.squirrel_sql.client.plugin.DefaultSessionPlugin;
+import net.sourceforge.squirrel_sql.client.plugin.PluginException;
+import net.sourceforge.squirrel_sql.client.plugin.PluginSessionCallback;
+import net.sourceforge.squirrel_sql.client.session.ISession;
+import net.sourceforge.squirrel_sql.fw.gui.action.wikiTable.IWikiTableConfiguration;
+import net.sourceforge.squirrel_sql.fw.gui.action.wikiTable.IWikiTableConfigurationFactory;
+import net.sourceforge.squirrel_sql.fw.gui.action.wikiTable.WikiTableConfigurationFactory;
+import net.sourceforge.squirrel_sql.fw.gui.action.wikiTable.WikiTableConfigurationStorage;
+import net.sourceforge.squirrel_sql.fw.util.FileWrapper;
+import net.sourceforge.squirrel_sql.fw.util.log.ILogger;
+import net.sourceforge.squirrel_sql.fw.util.log.LoggerController;
+import net.sourceforge.squirrel_sql.fw.xml.XMLBeanReader;
+import net.sourceforge.squirrel_sql.fw.xml.XMLBeanWriter;
+import net.sourceforge.squirrel_sql.plugins.wikiTableConfiguration.configurations.MediaWikiTableConfiguration;
+import net.sourceforge.squirrel_sql.plugins.wikiTableConfiguration.configurations.TiddlyWikiTableConfiguration;
+
+
+/**
+ * The scope of this plugin is providing some pre defined (aka build-in) configurations for WIKI tables.
+ * This configurations are use, for exporting the content of a result table to a WIKI text.
+ * For the following WIKI engines are configurations provided:
+ * <li>Mediawiki</li>
+ * <li>TiddlWiki</li>
+ * @author Stefan Willinger
+ *
+ */
+public class WikiTableConfigurationPlugin extends DefaultSessionPlugin {
+
+ /**
+ *
+ */
+ private static final String BUILD_IN_CONFIGURATIONS_XML = "buildInConfigurations.xml";
+
+
+ /** Logger for this class. */
+ private final static ILogger log = LoggerController.createLogger(WikiTableConfigurationPlugin.class);
+
+
+ /** Folder to store user settings in. */
+ private FileWrapper _userSettingsFolder;
+
+
+ private IWikiTableConfigurationFactory wikiTableConfigFactory;
+
+
+ /* (non-Javadoc)
+ * @see net.sourceforge.squirrel_sql.client.plugin.ISessionPlugin#sessionStarted(net.sourceforge.squirrel_sql.client.session.ISession)
+ */
+ public PluginSessionCallback sessionStarted(ISession session) {
+ // nothing to do
+ return null;
+ }
+
+
+
+
+ /* (non-Javadoc)
+ * @see net.sourceforge.squirrel_sql.client.plugin.IPlugin#getInternalName()
+ */
+ public String getInternalName() {
+ return "WIKI tables";
+ }
+
+ /* (non-Javadoc)
+ * @see net.sourceforge.squirrel_sql.client.plugin.IPlugin#getDescriptiveName()
+ */
+ public String getDescriptiveName() {
+ return "Provides configurations for exporting the result table as a WIKI table";
+ }
+
+ /* (non-Javadoc)
+ * @see net.sourceforge.squirrel_sql.client.plugin.IPlugin#getAuthor()
+ */
+ public String getAuthor() {
+ return "Stefan Willinger";
+ }
+
+ /* (non-Javadoc)
+ * @see net.sourceforge.squirrel_sql.client.plugin.IPlugin#getVersion()
+ */
+ public String getVersion() {
+ return "0.1";
+ }
+
+ /**
+ * @see net.sourceforge.squirrel_sql.client.plugin.DefaultPlugin#load(net.sourceforge.squirrel_sql.client.IApplication)
+ */
+ @Override
+ public void load(IApplication app) throws PluginException {
+ super.load(app);
+ wikiTableConfigFactory = app.getWikiTableConfigFactory();
+ }
+
+ /**
+ * Add the provided build-in configurations to the factory
+ * @see MediaWikiTableConfiguration
+ * @see TiddlyWikiTableConfiguration
+ */
+ private void addBuildInConfigs() {
+
+ wikiTableConfigFactory.addBuilInConfiguration(new MediaWikiTableConfiguration());
+ wikiTableConfigFactory.addBuilInConfiguration(new TiddlyWikiTableConfiguration());
+
+ }
+
+
+ /**
+ * Initialize this plugin.
+ */
+ @Override
+ public synchronized void initialize() throws PluginException {
+ super.initialize();
+
+ // Folder to store user settings.
+ try
+ {
+ _userSettingsFolder = getPluginUserSettingsFolder();
+ }
+ catch (IOException ex)
+ {
+ throw new PluginException(ex);
+ }
+
+ addBuildInConfigs();
+
+ // Load plugin preferences.
+ loadPrefs();
+ }
+
+ /**
+ * Load from preferences file.
+ */
+ private void loadPrefs()
+ {
+ try
+ {
+ final XMLBeanReader doc = new XMLBeanReader();
+ final FileWrapper file =
+ fileWrapperFactory.create(_userSettingsFolder, BUILD_IN_CONFIGURATIONS_XML);
+ doc.load(file, getClass().getClassLoader());
+
+ Iterator<?> it = doc.iterator();
+
+ if (it.hasNext()){
+ WikiTableConfigurationStorage data = (WikiTableConfigurationStorage) it.next();
+
+ List<IWikiTableConfiguration> savedBuildIn = data.configurationsAsList();
+ List<IWikiTableConfiguration> currentBuildIn = wikiTableConfigFactory.getBuildInConfigurations();
+
+ /*
+ * For build-in configurations, we need to merge the saved with the current one.
+ * For build-in configurations, we save a state like enabled. And after the last save, a plugin
+ * may have added additional configurations to the build-in ones. So we must merge the both.
+ * If the same config exists in both, the saved on will survival.
+ */
+
+ List<IWikiTableConfiguration> mergedBuildInConfigs = WikiTableConfigurationFactory.merge(savedBuildIn, currentBuildIn);
+ wikiTableConfigFactory.replaceBuilInConfiguration(mergedBuildInConfigs);
+ }
+ }
+ catch (FileNotFoundException ignore)
+ {
+ // property file not found for user - first time user ran pgm.
+ }
+ catch (Exception ex)
+ {
+ final String msg = "Error occured reading from preferences file: " + BUILD_IN_CONFIGURATIONS_XML;
+ log.error(msg, ex);
+ }
+ }
+
+ /**
+ * Save preferences to disk.
+ */
+ private void savePrefs()
+ {
+ try
+ {
+ WikiTableConfigurationStorage storage = new WikiTableConfigurationStorage(wikiTableConfigFactory.getBuildInConfigurations());
+ final XMLBeanWriter wtr = new XMLBeanWriter(storage);
+ wtr.save(fileWrapperFactory.create(_userSettingsFolder, BUILD_IN_CONFIGURATIONS_XML));
+ }
+ catch (Exception ex)
+ {
+ final String msg = "Error occured writing to preferences file: " + BUILD_IN_CONFIGURATIONS_XML;
+ log.error(msg, ex);
+ }
+ }
+
+ /**
+ * Application is shutting down so save preferences.
+ */
+ public void unload()
+ {
+ savePrefs();
+ super.unload();
+ }
+
+}
Property changes on: trunk/sql12/plugins/wikiTableConfigurations/src/main/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/WikiTableConfigurationPlugin.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/sql12/plugins/wikiTableConfigurations/src/main/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/configurations/MediaWikiTableConfiguration.java
===================================================================
--- trunk/sql12/plugins/wikiTableConfigurations/src/main/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/configurations/MediaWikiTableConfiguration.java (rev 0)
+++ trunk/sql12/plugins/wikiTableConfigurations/src/main/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/configurations/MediaWikiTableConfiguration.java 2011-04-25 19:55:42 UTC (rev 6243)
@@ -0,0 +1,73 @@
+/*
+ * Copyright (C) 2011 Stefan Willinger
+ * wi...@us...
+ *
+ * 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; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+package net.sourceforge.squirrel_sql.plugins.wikiTableConfiguration.configurations;
+
+import net.sourceforge.squirrel_sql.fw.gui.action.wikiTable.GenericWikiTableConfigurationBean;
+import net.sourceforge.squirrel_sql.fw.gui.action.wikiTable.IWikiTableConfiguration;
+
+/**
+ * A build in configuration for a MediaWiki table.
+ * @author Stefan Willinger
+ *
+ */
+public class MediaWikiTableConfiguration extends GenericWikiTableConfigurationBean {
+
+ private static final long serialVersionUID = -6873210947889098473L;
+
+ private static final String NAME = "Media Wiki";
+ private static final String TABLE_START = "{| border=\"1\"" + NEW_LINE_PLACEHOLDER ;
+ private static final String HEADER_START = "";
+ private static final String HEADER_CELL = "! "+VALUE_PLACEHOLDER+" " + NEW_LINE_PLACEHOLDER ;
+ private static final String HEADER_END = "";
+ private static final String ROW_START ="|-"+ NEW_LINE_PLACEHOLDER ;
+ private static final String DATA_CELL ="| "+VALUE_PLACEHOLDER +" "+ NEW_LINE_PLACEHOLDER ;
+ private static final String ROW_END ="";
+ private static final String TABLE_END ="|}";
+ private static final String ESCAPE_SEQUENCE = "<nowiki>"+VALUE_PLACEHOLDER+"</nowiki>";
+
+
+ public MediaWikiTableConfiguration() {
+ super(NAME, TABLE_START, HEADER_START, HEADER_CELL, HEADER_END, ROW_START, DATA_CELL, ROW_END, TABLE_END, ESCAPE_SEQUENCE);
+ }
+
+
+ /**
+ * @see net.sourceforge.squirrel_sql.fw.gui.action.wikiTable.GenericWikiTableConfigurationBean#isReadOnly()
+ */
+ @Override
+ public boolean isReadOnly() {
+ return true;
+ }
+
+
+ /**
+ * @see net.sourceforge.squirrel_sql.fw.gui.action.wikiTable.GenericWikiTableConfigurationBean#clone()
+ */
+ @Override
+ public IWikiTableConfiguration clone(){
+ MediaWikiTableConfiguration config = new MediaWikiTableConfiguration();
+ config.setEnabled(isEnabled());
+ return config;
+ }
+
+
+
+
+
+}
Property changes on: trunk/sql12/plugins/wikiTableConfigurations/src/main/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/configurations/MediaWikiTableConfiguration.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/sql12/plugins/wikiTableConfigurations/src/main/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/configurations/MediaWikiTableConfigurationBeanInfo.java
===================================================================
--- trunk/sql12/plugins/wikiTableConfigurations/src/main/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/configurations/MediaWikiTableConfigurationBeanInfo.java (rev 0)
+++ trunk/sql12/plugins/wikiTableConfigurations/src/main/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/configurations/MediaWikiTableConfigurationBeanInfo.java 2011-04-25 19:55:42 UTC (rev 6243)
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2011 Stefan Willinger
+ * wi...@us...
+ *
+ * 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; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+package net.sourceforge.squirrel_sql.plugins.wikiTableConfiguration.configurations;
+
+import java.beans.IntrospectionException;
+import java.beans.PropertyDescriptor;
+import java.beans.SimpleBeanInfo;
+
+import net.sourceforge.squirrel_sql.client.plugin.PluginInfo;
+
+/**
+ * A BeanInfo, that only provides the enabled property.
+ * @author Stefan Willinger
+ *
+ */
+public class MediaWikiTableConfigurationBeanInfo extends SimpleBeanInfo{
+ private interface IPropNames extends PluginInfo.IPropertyNames
+ {
+ // Empty body, purely to shorten the interface name for convienience.
+ }
+
+ /**
+ * See http://tinyurl.com/63no6t for discussion of the proper thread-safe way to implement
+ * getPropertyDescriptors().
+ *
+ * @see java.beans.SimpleBeanInfo#getPropertyDescriptors()
+ */
+ @Override
+ public PropertyDescriptor[] getPropertyDescriptors()
+ {
+ try
+ {
+ PropertyDescriptor[] s_descr = new PropertyDescriptor[1];
+
+ s_descr[0] = new PropertyDescriptor("enabled", MediaWikiTableConfiguration.class, "isEnabled", "setEnabled");
+ return s_descr;
+ }
+ catch (IntrospectionException e)
+ {
+ throw new Error(e);
+ }
+ }
+}
Property changes on: trunk/sql12/plugins/wikiTableConfigurations/src/main/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/configurations/MediaWikiTableConfigurationBeanInfo.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/sql12/plugins/wikiTableConfigurations/src/main/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/configurations/TiddlyWikiTableConfiguration.java
===================================================================
--- trunk/sql12/plugins/wikiTableConfigurations/src/main/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/configurations/TiddlyWikiTableConfiguration.java (rev 0)
+++ trunk/sql12/plugins/wikiTableConfigurations/src/main/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/configurations/TiddlyWikiTableConfiguration.java 2011-04-25 19:55:42 UTC (rev 6243)
@@ -0,0 +1,67 @@
+/*
+ * Copyright (C) 2011 Stefan Willinger
+ * wi...@us...
+ *
+ * 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; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+package net.sourceforge.squirrel_sql.plugins.wikiTableConfiguration.configurations;
+
+import net.sourceforge.squirrel_sql.fw.gui.action.wikiTable.GenericWikiTableConfigurationBean;
+import net.sourceforge.squirrel_sql.fw.gui.action.wikiTable.IWikiTableConfiguration;
+
+/**
+ * A build in configuration for a TiddlyWiki table.
+ * @author Stefan Willinger
+ *
+ */
+public class TiddlyWikiTableConfiguration extends GenericWikiTableConfigurationBean {
+
+ private static final long serialVersionUID = 754221028689690621L;
+
+ private static final String NAME = "Tiddly Wiki";
+ private static final String TABLE_START = "" ;
+ private static final String HEADER_START = "";
+ private static final String HEADER_CELL = "|!"+VALUE_PLACEHOLDER;
+ private static final String HEADER_END = "|"+NEW_LINE_PLACEHOLDER;
+ private static final String ROW_START ="" ;
+ private static final String DATA_CELL ="|"+VALUE_PLACEHOLDER;
+ private static final String ROW_END ="|"+NEW_LINE_PLACEHOLDER;
+ private static final String TABLE_END ="";
+ private static final String ESCAPE_SEQUENCE = "<nowiki>"+VALUE_PLACEHOLDER+"</nowiki>";
+
+
+ public TiddlyWikiTableConfiguration() {
+ super(NAME, TABLE_START, HEADER_START, HEADER_CELL, HEADER_END, ROW_START, DATA_CELL, ROW_END, TABLE_END, ESCAPE_SEQUENCE);
+ }
+
+ /**
+ * @see net.sourceforge.squirrel_sql.fw.gui.action.wikiTable.GenericWikiTableConfigurationBean#isReadOnly()
+ */
+ @Override
+ public boolean isReadOnly() {
+ return true;
+ }
+
+ /**
+ * @see net.sourceforge.squirrel_sql.fw.gui.action.wikiTable.GenericWikiTableConfigurationBean#clone()
+ */
+ @Override
+ public IWikiTableConfiguration clone(){
+ TiddlyWikiTableConfiguration conifg = new TiddlyWikiTableConfiguration();
+ conifg.setEnabled(isEnabled());
+ return conifg;
+ }
+
+}
Property changes on: trunk/sql12/plugins/wikiTableConfigurations/src/main/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/configurations/TiddlyWikiTableConfiguration.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/sql12/plugins/wikiTableConfigurations/src/main/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/configurations/TiddlyWikiTableConfigurationBeanInfo.java
===================================================================
--- trunk/sql12/plugins/wikiTableConfigurations/src/main/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/configurations/TiddlyWikiTableConfigurationBeanInfo.java (rev 0)
+++ trunk/sql12/plugins/wikiTableConfigurations/src/main/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/configurations/TiddlyWikiTableConfigurationBeanInfo.java 2011-04-25 19:55:42 UTC (rev 6243)
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2011 Stefan Willinger
+ * wi...@us...
+ *
+ * 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; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+package net.sourceforge.squirrel_sql.plugins.wikiTableConfiguration.configurations;
+
+import java.beans.IntrospectionException;
+import java.beans.PropertyDescriptor;
+import java.beans.SimpleBeanInfo;
+
+import net.sourceforge.squirrel_sql.client.plugin.PluginInfo;
+
+/**
+ * A BeanInfo, that only provides the enabled property.
+ * @author Stefan Willinger
+ *
+ */
+public class TiddlyWikiTableConfigurationBeanInfo extends SimpleBeanInfo{
+ private interface IPropNames extends PluginInfo.IPropertyNames
+ {
+ // Empty body, purely to shorten the interface name for convienience.
+ }
+
+ /**
+ * See http://tinyurl.com/63no6t for discussion of the proper thread-safe way to implement
+ * getPropertyDescriptors().
+ *
+ * @see java.beans.SimpleBeanInfo#getPropertyDescriptors()
+ */
+ @Override
+ public PropertyDescriptor[] getPropertyDescriptors()
+ {
+ try
+ {
+ PropertyDescriptor[] s_descr = new PropertyDescriptor[1];
+
+ s_descr[0] = new PropertyDescriptor("enabled", TiddlyWikiTableConfiguration.class, "isEnabled", "setEnabled");
+ return s_descr;
+ }
+ catch (IntrospectionException e)
+ {
+ throw new Error(e);
+ }
+ }
+}
Property changes on: trunk/sql12/plugins/wikiTableConfigurations/src/main/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/configurations/TiddlyWikiTableConfigurationBeanInfo.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Property changes on: trunk/sql12/plugins/wikiTableConfigurations/src/main/resources/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/I18NStrings.properties
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/sql12/plugins/wikiTableConfigurations/src/test/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/configurations/MediaWikiTableConfigurationBeanInfoTest.java
===================================================================
--- trunk/sql12/plugins/wikiTableConfigurations/src/test/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/configurations/MediaWikiTableConfigurationBeanInfoTest.java (rev 0)
+++ trunk/sql12/plugins/wikiTableConfigurations/src/test/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/configurations/MediaWikiTableConfigurationBeanInfoTest.java 2011-04-25 19:55:42 UTC (rev 6243)
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2011 Stefan Willinger
+ * wi...@us...
+ *
+ * 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; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+package net.sourceforge.squirrel_sql.plugins.wikiTableConfiguration.configurations;
+
+import java.beans.BeanInfo;
+import java.beans.Introspector;
+
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+/**
+ * Tests for the BeanInfo of {@link MediaWikiTableConfigurationBeanInfo}
+ * @author Stefan Willinger
+ *
+ */
+public class MediaWikiTableConfigurationBeanInfoTest {
+
+ /**
+ * Ensures, that only the property <code>enabled</code> is shown by the BeanInfo. All other properties are transient, because they are read only.
+ */
+ @Test
+ public void testBeanInfo() throws Exception {
+ BeanInfo beanInfo = Introspector.getBeanInfo(MediaWikiTableConfiguration.class, Object.class);
+ assertNotNull(beanInfo);
+ assertEquals(1, beanInfo.getPropertyDescriptors().length);
+ assertEquals("enabled", beanInfo.getPropertyDescriptors()[0].getName());
+ }
+}
Property changes on: trunk/sql12/plugins/wikiTableConfigurations/src/test/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/configurations/MediaWikiTableConfigurationBeanInfoTest.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/sql12/plugins/wikiTableConfigurations/src/test/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/configurations/MediaWikiTableConfigurationBeanTest.java
===================================================================
--- trunk/sql12/plugins/wikiTableConfigurations/src/test/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/configurations/MediaWikiTableConfigurationBeanTest.java (rev 0)
+++ trunk/sql12/plugins/wikiTableConfigurations/src/test/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/configurations/MediaWikiTableConfigurationBeanTest.java 2011-04-25 19:55:42 UTC (rev 6243)
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2011 Stefan Willinger
+ * wi...@us...
+ *
+ * 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; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+package net.sourceforge.squirrel_sql.plugins.wikiTableConfiguration.configurations;
+
+import net.sourceforge.squirrel_sql.fw.gui.action.wikiTable.AbstractWikiTableExporterTest;
+import net.sourceforge.squirrel_sql.fw.gui.action.wikiTable.GenericWikiTableTransformer;
+
+import org.junit.Before;
+
+/**
+ * Test the configuration for MediaWiki
+ * @author Stefan Willinger
+ *
+ */
+public class MediaWikiTableConfigurationBeanTest extends AbstractWikiTableExporterTest<MediaWikiTableConfiguration>{
+
+
+ @Before
+ public void setUp(){
+ classUnderTest = new MediaWikiTableConfiguration();
+ super.setUp();
+ }
+
+
+ @Override
+ protected String createExpectedTextForFullSelection() {
+ String expected = "{| border=\"1\""+GenericWikiTableTransformer.NEW_LINE +
+ "! <nowiki>Country</nowiki> " +GenericWikiTableTransformer.NEW_LINE +
+ "! <nowiki>Capital</nowiki> "+GenericWikiTableTransformer.NEW_LINE +
+ "|-"+GenericWikiTableTransformer.NEW_LINE +
+ "| <nowiki>Austria</nowiki> "+GenericWikiTableTransformer.NEW_LINE +
+ "| <nowiki>Vienna</nowiki> "+GenericWikiTableTransformer.NEW_LINE +
+ "|-"+GenericWikiTableTransformer.NEW_LINE +
+ "| <nowiki>Italy</nowiki> "+GenericWikiTableTransformer.NEW_LINE +
+ "| <nowiki>Rome</nowiki> "+GenericWikiTableTransformer.NEW_LINE +
+ "|}";
+ return expected;
+ }
+
+
+}
Property changes on: trunk/sql12/plugins/wikiTableConfigurations/src/test/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/configurations/MediaWikiTableConfigurationBeanTest.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/sql12/plugins/wikiTableConfigurations/src/test/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/configurations/TiddlyWikiTableConfigurationBeanInfoTest.java
===================================================================
--- trunk/sql12/plugins/wikiTableConfigurations/src/test/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/configurations/TiddlyWikiTableConfigurationBeanInfoTest.java (rev 0)
+++ trunk/sql12/plugins/wikiTableConfigurations/src/test/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/configurations/TiddlyWikiTableConfigurationBeanInfoTest.java 2011-04-25 19:55:42 UTC (rev 6243)
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2011 Stefan Willinger
+ * wi...@us...
+ *
+ * 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; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+package net.sourceforge.squirrel_sql.plugins.wikiTableConfiguration.configurations;
+
+import java.beans.BeanInfo;
+import java.beans.Introspector;
+
+import org.junit.Test;
+
+import static org.junit.Assert.*;
+
+/**
+ * Tests for the BeanInfo of {@link TiddlyWikiTableConfigurationBeanInfo}
+ * @author Stefan Willinger
+ *
+ */
+public class TiddlyWikiTableConfigurationBeanInfoTest {
+
+ /**
+ * Ensures, that only the property <code>enabled</code> is shown by the BeanInfo. All other properties are transient, because they are read only.
+ */
+ @Test
+ public void testBeanInfo() throws Exception {
+ BeanInfo beanInfo = Introspector.getBeanInfo(TiddlyWikiTableConfiguration.class, Object.class);
+ assertNotNull(beanInfo);
+ assertEquals(1, beanInfo.getPropertyDescriptors().length);
+ assertEquals("enabled", beanInfo.getPropertyDescriptors()[0].getName());
+ }
+}
Property changes on: trunk/sql12/plugins/wikiTableConfigurations/src/test/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/configurations/TiddlyWikiTableConfigurationBeanInfoTest.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
Added: trunk/sql12/plugins/wikiTableConfigurations/src/test/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/configurations/TiddlyWikiTableConfigurationBeanTest.java
===================================================================
--- trunk/sql12/plugins/wikiTableConfigurations/src/test/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/configurations/TiddlyWikiTableConfigurationBeanTest.java (rev 0)
+++ trunk/sql12/plugins/wikiTableConfigurations/src/test/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/configurations/TiddlyWikiTableConfigurationBeanTest.java 2011-04-25 19:55:42 UTC (rev 6243)
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2011 Stefan Willinger
+ * wi...@us...
+ *
+ * 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; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+package net.sourceforge.squirrel_sql.plugins.wikiTableConfiguration.configurations;
+
+import net.sourceforge.squirrel_sql.fw.gui.action.wikiTable.AbstractWikiTableExporterTest;
+import net.sourceforge.squirrel_sql.fw.gui.action.wikiTable.GenericWikiTableTransformer;
+
+import org.junit.Before;
+
+
+/**
+ * Test the configuration for TiddlyWiki
+ * @author Stefan Willinger
+ *
+ */
+public class TiddlyWikiTableConfigurationBeanTest extends AbstractWikiTableExporterTest<TiddlyWikiTableConfiguration>{
+
+ @Before
+ public void setUp(){
+ classUnderTest = new TiddlyWikiTableConfiguration();
+ super.setUp();
+ }
+
+ /* (non-Javadoc)
+ * @see net.sourceforge.squirrel_sql.fw.gui.action.wikiTable.AbstractWikiTableExporterTest#createExpectedTextForFullSelection()
+ */
+ @Override
+ protected String createExpectedTextForFullSelection() {
+ String expected = "|!<nowiki>Country</nowiki>|!<nowiki>Capital</nowiki>|" +GenericWikiTableTransformer.NEW_LINE +
+ "|<nowiki>Austria</nowiki>|<nowiki>Vienna</nowiki>|" +GenericWikiTableTransformer.NEW_LINE +
+ "|<nowiki>Italy</nowiki>|<nowiki>Rome</nowiki>|" +GenericWikiTableTransformer.NEW_LINE;
+
+ return expected;
+ }
+
+}
Property changes on: trunk/sql12/plugins/wikiTableConfigurations/src/test/java/net/sourceforge/squirrel_sql/plugins/wikiTableConfiguration/configurations/TiddlyWikiTableConfigurationBeanTest.java
___________________________________________________________________
Added: svn:mime-type
+ text/plain
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|