From 26132f7b8af01c13422feb18f6f6e010236ac2e8 Mon Sep 17 00:00:00 2001 From: Hendy Irawan Date: Fri, 10 May 2013 14:02:45 +0700 Subject: [PATCH] * Make it buildable via Maven. * Delete non-essential parts. --- .classpath | 22 +- .gitignore | 5 + .project | 9 +- .settings/com.wdev91.eclipse.copyright.xml | 17 -- .settings/org.eclipse.jdt.core.prefs | 4 +- META-INF/MANIFEST.MF | 14 -- lib/mongo-java-driver-2.7.3.jar | Bin 291946 -> 0 bytes plugin.xml | 35 ---- pom.xml | 75 ++++++- .../jaspersoft/mongodb/MongoDbDataSource.java | 9 +- .../mongodb/MongoDbFieldsProvider.java | 5 +- .../adapter/MongoDbDataAdapterService.java | 8 +- .../mongodb/connection/MongoDbConnection.java | 22 +- .../connection/MongoDbConnectionFactory.java | 7 +- .../connection/MongoDbConnectionManager.java | 13 +- .../mongodb/query/MongoDbQueryExecuter.java | 12 +- .../mongodb/query/MongoDbQueryWrapper.java | 11 +- .../studio/data/mongodb/Activator.java | 80 ------- .../data/mongodb/MongoDBIconDescriptor.java | 51 ----- .../MongoDBWizardDataEditorComposite.java | 41 ---- .../mongodb/MongoDbDataAdapterComposite.java | 103 --------- .../mongodb/MongoDbDataAdapterDescriptor.java | 95 --------- .../mongodb/MongoDbDataAdapterEditor.java | 69 ------- .../mongodb/MongoDbDataAdapterFactory.java | 94 --------- .../data/mongodb/MongoDbFieldsProvider.java | 54 ----- .../data/mongodb/messages/Messages.java | 36 ---- .../data/mongodb/messages/messages.properties | 22 -- .../mongodb/messages/messages_it.properties | 22 -- .../mongodb/querydesigner/JsonTokensType.java | 42 ---- .../querydesigner/MongoDBLineStyler.java | 127 ------------ .../querydesigner/MongoDBQueryDesigner.java | 52 ----- .../mongodb/querydesigner/MongoDBScanner.java | 195 ------------------ .../server/DatasourceMongoDBPageContent.java | 101 --------- .../mongodb/server/MRDatasourceMongoDB.java | 73 ------- .../mongodb/server/MongoResourceFactory.java | 65 ------ 35 files changed, 146 insertions(+), 1444 deletions(-) create mode 100644 .gitignore delete mode 100644 .settings/com.wdev91.eclipse.copyright.xml delete mode 100644 META-INF/MANIFEST.MF delete mode 100644 lib/mongo-java-driver-2.7.3.jar delete mode 100644 plugin.xml delete mode 100644 src/com/jaspersoft/studio/data/mongodb/Activator.java delete mode 100644 src/com/jaspersoft/studio/data/mongodb/MongoDBIconDescriptor.java delete mode 100644 src/com/jaspersoft/studio/data/mongodb/MongoDBWizardDataEditorComposite.java delete mode 100644 src/com/jaspersoft/studio/data/mongodb/MongoDbDataAdapterComposite.java delete mode 100644 src/com/jaspersoft/studio/data/mongodb/MongoDbDataAdapterDescriptor.java delete mode 100644 src/com/jaspersoft/studio/data/mongodb/MongoDbDataAdapterEditor.java delete mode 100644 src/com/jaspersoft/studio/data/mongodb/MongoDbDataAdapterFactory.java delete mode 100644 src/com/jaspersoft/studio/data/mongodb/MongoDbFieldsProvider.java delete mode 100644 src/com/jaspersoft/studio/data/mongodb/messages/Messages.java delete mode 100644 src/com/jaspersoft/studio/data/mongodb/messages/messages.properties delete mode 100644 src/com/jaspersoft/studio/data/mongodb/messages/messages_it.properties delete mode 100644 src/com/jaspersoft/studio/data/mongodb/querydesigner/JsonTokensType.java delete mode 100644 src/com/jaspersoft/studio/data/mongodb/querydesigner/MongoDBLineStyler.java delete mode 100644 src/com/jaspersoft/studio/data/mongodb/querydesigner/MongoDBQueryDesigner.java delete mode 100644 src/com/jaspersoft/studio/data/mongodb/querydesigner/MongoDBScanner.java delete mode 100644 src/com/jaspersoft/studio/data/mongodb/server/DatasourceMongoDBPageContent.java delete mode 100644 src/com/jaspersoft/studio/data/mongodb/server/MRDatasourceMongoDB.java delete mode 100644 src/com/jaspersoft/studio/data/mongodb/server/MongoResourceFactory.java diff --git a/.classpath b/.classpath index 887e4cd..46a5852 100644 --- a/.classpath +++ b/.classpath @@ -1,8 +1,20 @@ - - - - - + + + + + + + + + + + + + + + + + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..26a33ef --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +/target +.classpath +.project +.settings +.directory diff --git a/.project b/.project index 6851643..f14532f 100644 --- a/.project +++ b/.project @@ -11,18 +11,13 @@ - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder + org.eclipse.m2e.core.maven2Builder - org.eclipse.pde.PluginNature org.eclipse.jdt.core.javanature + org.eclipse.m2e.core.maven2Nature diff --git a/.settings/com.wdev91.eclipse.copyright.xml b/.settings/com.wdev91.eclipse.copyright.xml deleted file mode 100644 index dd2b184..0000000 --- a/.settings/com.wdev91.eclipse.copyright.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs index c537b63..60105c1 100644 --- a/.settings/org.eclipse.jdt.core.prefs +++ b/.settings/org.eclipse.jdt.core.prefs @@ -1,7 +1,5 @@ eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 org.eclipse.jdt.core.compiler.compliance=1.6 -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning org.eclipse.jdt.core.compiler.source=1.6 diff --git a/META-INF/MANIFEST.MF b/META-INF/MANIFEST.MF deleted file mode 100644 index b25cdd8..0000000 --- a/META-INF/MANIFEST.MF +++ /dev/null @@ -1,14 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: MongoDB Plugin -Bundle-SymbolicName: com.jaspersoft.studio.data.mongodb;singleton:=true -Bundle-Version: 5.1.1.qualifier -Bundle-Activator: com.jaspersoft.studio.data.mongodb.Activator -Bundle-Vendor: Jaspersoft Corporation -Require-Bundle: com.jaspersoft.studio.data;bundle-version="5.1.1";visibility:=reexport, - com.jaspersoft.studio.server;bundle-version="5.1.1" -Bundle-RequiredExecutionEnvironment: JavaSE-1.6 -Bundle-ActivationPolicy: lazy -Eclipse-RegisterBuddy: com.jaspersoft.studio.data -Bundle-ClassPath: lib/mongo-java-driver-2.7.3.jar, - . diff --git a/lib/mongo-java-driver-2.7.3.jar b/lib/mongo-java-driver-2.7.3.jar deleted file mode 100644 index 24884da55ea3a2ba025551046aa1d02c96dede18..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 291946 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

    B9 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%0Ah+Dx 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 diff --git a/plugin.xml b/plugin.xml deleted file mode 100644 index 4163aac..0000000 --- a/plugin.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/pom.xml b/pom.xml index d8482fd..5037689 100644 --- a/pom.xml +++ b/pom.xml @@ -2,15 +2,82 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - + com.jaspersoft.studio.community-edition com.jaspersoft.studio.data.mongodb - eclipse-plugin + + jar 5.1.1-SNAPSHOT - \ No newline at end of file + + + + net.sf.jasperreports + jasperreports + 5.1.0 + + + commons-logging + commons-logging + + + + + org.mongodb + mongo-java-driver + 2.11.1 + + + com.lowagie + itext + 2.1.7 + + + commons-pool + commons-pool + 1.6 + + + org.osgi + org.osgi.core + 4.3.1 + + + org.slf4j + slf4j-api + 1.7.5 + + + + + src + + + src + + ** + + + **/*.java + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.1 + + + 1.6 + 1.6 + + + + + diff --git a/src/com/jaspersoft/mongodb/MongoDbDataSource.java b/src/com/jaspersoft/mongodb/MongoDbDataSource.java index 6a5c4f0..80d5362 100644 --- a/src/com/jaspersoft/mongodb/MongoDbDataSource.java +++ b/src/com/jaspersoft/mongodb/MongoDbDataSource.java @@ -22,7 +22,8 @@ import net.sf.jasperreports.engine.JRException; import net.sf.jasperreports.engine.JRField; -import org.apache.log4j.Logger; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import com.jaspersoft.mongodb.query.MongoDbQueryWrapper; import com.mongodb.DBObject; @@ -34,13 +35,13 @@ * */ public class MongoDbDataSource implements JRDataSource { - private MongoDbQueryWrapper wrapper; + private final MongoDbQueryWrapper wrapper; private DBObject currentDbObject; public static final String QUERY_LANGUAGE = "MongoDbQuery"; - private static final Logger logger = Logger.getLogger(MongoDbDataSource.class); + private static final Logger logger = LoggerFactory.getLogger(MongoDbDataSource.class); private boolean hasIterator = false; @@ -77,7 +78,7 @@ public Object getFieldValue(JRField field) throws JRException { } return null; } catch (Exception e) { - logger.error(e); + logger.error("Cannot gt field value", e); throw new JRException(e.getMessage()); } } diff --git a/src/com/jaspersoft/mongodb/MongoDbFieldsProvider.java b/src/com/jaspersoft/mongodb/MongoDbFieldsProvider.java index 0cb89fe..3831c27 100644 --- a/src/com/jaspersoft/mongodb/MongoDbFieldsProvider.java +++ b/src/com/jaspersoft/mongodb/MongoDbFieldsProvider.java @@ -31,7 +31,8 @@ import net.sf.jasperreports.engine.JasperReportsContext; import net.sf.jasperreports.engine.design.JRDesignField; -import org.apache.log4j.Logger; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import com.jaspersoft.mongodb.connection.MongoDbConnection; import com.jaspersoft.mongodb.query.MongoDbParameter; @@ -51,7 +52,7 @@ public class MongoDbFieldsProvider { private static final Lock lock = new ReentrantLock(); - private static final Logger logger = Logger.getLogger(MongoDbFieldsProvider.class); + private static final Logger logger = LoggerFactory.getLogger(MongoDbFieldsProvider.class); public static final String FIELD_NAME_SEPARATOR = "."; diff --git a/src/com/jaspersoft/mongodb/adapter/MongoDbDataAdapterService.java b/src/com/jaspersoft/mongodb/adapter/MongoDbDataAdapterService.java index 469e1bd..87d4b71 100644 --- a/src/com/jaspersoft/mongodb/adapter/MongoDbDataAdapterService.java +++ b/src/com/jaspersoft/mongodb/adapter/MongoDbDataAdapterService.java @@ -21,8 +21,8 @@ import net.sf.jasperreports.engine.JRException; import net.sf.jasperreports.engine.JRParameter; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import com.jaspersoft.mongodb.connection.MongoDbConnection; @@ -32,11 +32,11 @@ * @author Eric Diaz */ public class MongoDbDataAdapterService extends AbstractDataAdapterService { - private static final Log log = LogFactory.getLog(MongoDbDataAdapterService.class); + private static final Logger log = LoggerFactory.getLogger(MongoDbDataAdapterService.class); private MongoDbConnection connection; - private MongoDbDataAdapter dataAdapter; + private final MongoDbDataAdapter dataAdapter; public MongoDbDataAdapterService(MongoDbDataAdapter dataAdapter) { this.dataAdapter = dataAdapter; diff --git a/src/com/jaspersoft/mongodb/connection/MongoDbConnection.java b/src/com/jaspersoft/mongodb/connection/MongoDbConnection.java index c48a82d..3b854c4 100644 --- a/src/com/jaspersoft/mongodb/connection/MongoDbConnection.java +++ b/src/com/jaspersoft/mongodb/connection/MongoDbConnection.java @@ -36,7 +36,8 @@ import net.sf.jasperreports.engine.JRException; -import org.apache.log4j.Logger; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import com.mongodb.DB; import com.mongodb.Mongo; @@ -55,13 +56,13 @@ public class MongoDbConnection implements Connection { private String mongoURI; - private String username; + private final String username; - private String password; + private final String password; private DB mongoDatabase; - private final Logger logger = Logger.getLogger(MongoDbConnection.class); + private final Logger logger = LoggerFactory.getLogger(MongoDbConnection.class); public MongoDbConnection(String mongoURI, String username, String password) throws JRException { @@ -76,7 +77,7 @@ private void create(String mongoURI) throws JRException { try { client = new Mongo(mongoURIObject = new MongoURI(mongoURI)); } catch (Exception e) { - logger.error(e); + logger.error("Cannot create connection", e); throw new JRException(e.getMessage()); } } @@ -99,11 +100,11 @@ private void setDatabase() throws JRException { if (message != null && message.startsWith("unauthorized db")) { performaAuthentication = true; } else { - logger.error(e); + logger.error("Cannot set database", e); throw new JRException(message); } } else { - logger.error(e); + logger.error("Cannot set database", e); throw new JRException(message); } } @@ -175,7 +176,7 @@ public String test() throws JRException { return "Connection test successful.\n" + "Mongo database name: " + mongoDatabase.getName(); } catch (Exception e) { - logger.error(e); + logger.error("Cannot test connection", e); throw new JRException(e); } } @@ -422,27 +423,32 @@ public Struct createStruct(String typeName, Object[] attributes) return null; } + @Override public void setSchema(String schema) throws SQLException { // TODO Auto-generated method stub } + @Override public String getSchema() throws SQLException { // TODO Auto-generated method stub return null; } + @Override public void abort(Executor executor) throws SQLException { // TODO Auto-generated method stub } + @Override public void setNetworkTimeout(Executor executor, int milliseconds) throws SQLException { // TODO Auto-generated method stub } + @Override public int getNetworkTimeout() throws SQLException { // TODO Auto-generated method stub return 0; diff --git a/src/com/jaspersoft/mongodb/connection/MongoDbConnectionFactory.java b/src/com/jaspersoft/mongodb/connection/MongoDbConnectionFactory.java index 86505b9..5dd629e 100644 --- a/src/com/jaspersoft/mongodb/connection/MongoDbConnectionFactory.java +++ b/src/com/jaspersoft/mongodb/connection/MongoDbConnectionFactory.java @@ -18,7 +18,8 @@ import net.sf.jasperreports.engine.JRException; import org.apache.commons.pool.PoolableObjectFactory; -import org.apache.log4j.Logger; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * @@ -26,7 +27,7 @@ * */ public class MongoDbConnectionFactory implements PoolableObjectFactory { - private final Logger logger = Logger.getLogger(MongoDbConnectionFactory.class); + private final Logger logger = LoggerFactory.getLogger(MongoDbConnectionFactory.class); private String mongoURI; @@ -68,7 +69,7 @@ public boolean validateObject(MongoDbConnection connection) { && (username == null ? true : username.equals(connection.getUsername())) && (password == null ? true : password.equals(connection.getPassword())) && (connection.test() != null); } catch (JRException e) { - logger.error(e); + logger.error("Cannot validate connection", e); } } return false; diff --git a/src/com/jaspersoft/mongodb/connection/MongoDbConnectionManager.java b/src/com/jaspersoft/mongodb/connection/MongoDbConnectionManager.java index 4a05ec3..1031d3e 100644 --- a/src/com/jaspersoft/mongodb/connection/MongoDbConnectionManager.java +++ b/src/com/jaspersoft/mongodb/connection/MongoDbConnectionManager.java @@ -17,7 +17,8 @@ import org.apache.commons.pool.impl.GenericObjectPool; import org.apache.commons.pool.impl.GenericObjectPool.Config; -import org.apache.log4j.Logger; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * @@ -27,11 +28,11 @@ public class MongoDbConnectionManager { private GenericObjectPool connectionsPool; - private Config poolConfiguration; + private final Config poolConfiguration; - private MongoDbConnectionFactory connectionFactory; + private final MongoDbConnectionFactory connectionFactory; - private final Logger logger = Logger.getLogger(MongoDbConnectionManager.class); + private final Logger logger = LoggerFactory.getLogger(MongoDbConnectionManager.class); public MongoDbConnectionManager() { connectionFactory = new MongoDbConnectionFactory(); @@ -76,7 +77,7 @@ public void returnConnection(MongoDbConnection connection) { logger.debug("Current active connections on return: " + connectionsPool.getNumActive()); } } catch (Exception e) { - logger.error(e); + logger.error("Cannot return connection", e); } } @@ -86,7 +87,7 @@ public void shutdown() { connectionsPool.clear(); connectionsPool.close(); } catch (Exception e) { - logger.error(e); + logger.error("Cannot shutdown", e); } } } diff --git a/src/com/jaspersoft/mongodb/query/MongoDbQueryExecuter.java b/src/com/jaspersoft/mongodb/query/MongoDbQueryExecuter.java index cd097b1..329b2ad 100644 --- a/src/com/jaspersoft/mongodb/query/MongoDbQueryExecuter.java +++ b/src/com/jaspersoft/mongodb/query/MongoDbQueryExecuter.java @@ -28,7 +28,8 @@ import net.sf.jasperreports.engine.JasperReportsContext; import net.sf.jasperreports.engine.query.JRAbstractQueryExecuter; -import org.apache.log4j.Logger; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import com.jaspersoft.mongodb.MongoDbDataSource; import com.jaspersoft.mongodb.connection.MongoDbConnection; @@ -41,16 +42,16 @@ * */ public class MongoDbQueryExecuter extends JRAbstractQueryExecuter { - private final static Logger logger = Logger + private final static Logger logger = LoggerFactory .getLogger(MongoDbQueryExecuter.class); - private Map reportParameters; + private final Map reportParameters; - private Map parameters; + private final Map parameters; private MongoDbQueryWrapper wrapper; - private boolean directParameters; + private final boolean directParameters; public MongoDbQueryExecuter(JasperReportsContext jasperReportsContext, JRDataset dataset, @@ -96,6 +97,7 @@ private MongoDbConnection processConnection(JRValueParameter valueParameter) * Creates a new {@link MongoDbDataSource} from the report parameters and * the query string */ + @Override public JRDataSource createDatasource() throws JRException { MongoDbConnection connection = (MongoDbConnection) ((Map) getParameterValue(JRParameter.REPORT_PARAMETERS_MAP)) .get(JRParameter.REPORT_CONNECTION); diff --git a/src/com/jaspersoft/mongodb/query/MongoDbQueryWrapper.java b/src/com/jaspersoft/mongodb/query/MongoDbQueryWrapper.java index 21ea00b..d0993d1 100644 --- a/src/com/jaspersoft/mongodb/query/MongoDbQueryWrapper.java +++ b/src/com/jaspersoft/mongodb/query/MongoDbQueryWrapper.java @@ -23,7 +23,8 @@ import net.sf.jasperreports.engine.JRException; -import org.apache.log4j.Logger; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import com.jaspersoft.mongodb.connection.MongoDbConnection; import com.mongodb.BasicDBObject; @@ -42,7 +43,7 @@ * */ public class MongoDbQueryWrapper { - private final static Logger logger = Logger.getLogger(MongoDbQueryWrapper.class); + private final static Logger logger = LoggerFactory.getLogger(MongoDbQueryWrapper.class); public static final String FIND_QUERY_KEY = "findQuery"; @@ -80,9 +81,9 @@ public class MongoDbQueryWrapper { public int rowsToProcess = 5; - private MongoDbConnection connection; + private final MongoDbConnection connection; - private Map parameters; + private final Map parameters; public List commandResults; @@ -286,7 +287,7 @@ private Integer processInteger(Object value) { return Integer.parseInt((String) value); } } catch (Exception e) { - logger.error(e); + logger.error("Cannot process integer", e); } return null; } diff --git a/src/com/jaspersoft/studio/data/mongodb/Activator.java b/src/com/jaspersoft/studio/data/mongodb/Activator.java deleted file mode 100644 index ad83a90..0000000 --- a/src/com/jaspersoft/studio/data/mongodb/Activator.java +++ /dev/null @@ -1,80 +0,0 @@ -/******************************************************************************* - * Copyright (C) 2010 - 2013 Jaspersoft Corporation. All rights reserved. - * http://www.jaspersoft.com - * - * Unless you have purchased a commercial license agreement from Jaspersoft, - * the following license terms apply: - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Jaspersoft Studio Team - initial API and implementation - ******************************************************************************/ -package com.jaspersoft.studio.data.mongodb; - -import net.sf.jasperreports.eclipse.AbstractJRUIPlugin; - -import org.osgi.framework.BundleContext; - -/* - * The activator class controls the plug-in life cycle - */ -public class Activator extends AbstractJRUIPlugin { - - // The plug-in ID - public static final String PLUGIN_ID = "com.jaspersoft.studio.data.mongodb"; //$NON-NLS-1$ - - public static final String ICON_NAME = "icons/mongodb.png"; - - // The shared instance - private static Activator plugin; - - /** - * The constructor - */ - public Activator() { - } - - /* - * (non-Javadoc) - * - * @see - * org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext - * ) - */ - @Override - public void start(BundleContext context) throws Exception { - super.start(context); - plugin = this; - } - - /* - * (non-Javadoc) - * - * @see - * org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext - * ) - */ - @Override - public void stop(BundleContext context) throws Exception { - plugin = null; - super.stop(context); - } - - /** - * Returns the shared instance - * - * @return the shared instance - */ - public static Activator getDefault() { - return plugin; - } - - @Override - public String getPluginID() { - return PLUGIN_ID; - } -} diff --git a/src/com/jaspersoft/studio/data/mongodb/MongoDBIconDescriptor.java b/src/com/jaspersoft/studio/data/mongodb/MongoDBIconDescriptor.java deleted file mode 100644 index fb4c817..0000000 --- a/src/com/jaspersoft/studio/data/mongodb/MongoDBIconDescriptor.java +++ /dev/null @@ -1,51 +0,0 @@ -/******************************************************************************* - * Copyright (C) 2010 - 2013 Jaspersoft Corporation. All rights reserved. - * http://www.jaspersoft.com - * - * Unless you have purchased a commercial license agreement from Jaspersoft, - * the following license terms apply: - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Jaspersoft Studio Team - initial API and implementation - ******************************************************************************/ -package com.jaspersoft.studio.data.mongodb; - -import java.util.ResourceBundle; - -import com.jaspersoft.studio.model.util.NodeIconDescriptor; - -/* - * The Class NodeIconDescriptor. - * - * @author Chicu Veaceslav - */ -public class MongoDBIconDescriptor extends NodeIconDescriptor { - - /** - * Instantiates a new node icon descriptor. - * - * @param name - * the name - */ - public MongoDBIconDescriptor(String name) { - super(name, Activator.getDefault()); - } - - /** The resource bundle icons. */ - private static ResourceBundle resourceBundleIcons; - - @Override - public ResourceBundle getResourceBundleIcons() { - return resourceBundleIcons; - } - - @Override - public void setResourceBundleIcons(ResourceBundle resourceBundleIcons) { - MongoDBIconDescriptor.resourceBundleIcons = resourceBundleIcons; - } -} diff --git a/src/com/jaspersoft/studio/data/mongodb/MongoDBWizardDataEditorComposite.java b/src/com/jaspersoft/studio/data/mongodb/MongoDBWizardDataEditorComposite.java deleted file mode 100644 index 5ddb55b..0000000 --- a/src/com/jaspersoft/studio/data/mongodb/MongoDBWizardDataEditorComposite.java +++ /dev/null @@ -1,41 +0,0 @@ -/******************************************************************************* - * Copyright (C) 2010 - 2013 Jaspersoft Corporation. All rights reserved. - * http://www.jaspersoft.com - * - * Unless you have purchased a commercial license agreement from Jaspersoft, - * the following license terms apply: - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Jaspersoft Studio Team - initial API and implementation - ******************************************************************************/ -package com.jaspersoft.studio.data.mongodb; - -import org.eclipse.jface.wizard.WizardPage; -import org.eclipse.swt.widgets.Composite; - -import com.jaspersoft.mongodb.MongoDbDataSource; -import com.jaspersoft.studio.data.mongodb.querydesigner.MongoDBLineStyler; -import com.jaspersoft.studio.data.ui.SimpleQueryWizardDataEditorComposite; - -public class MongoDBWizardDataEditorComposite extends - SimpleQueryWizardDataEditorComposite { - - private MongoDBLineStyler lineStyler = new MongoDBLineStyler(); - - public MongoDBWizardDataEditorComposite(Composite parent, WizardPage page, - MongoDbDataAdapterDescriptor dataAdapterDescriptor) { - super(parent, page); - setQueryLanguage(MongoDbDataSource.QUERY_LANGUAGE); - setTitle("Insert a MongoDB query and press Next"); - - this.setDataAdapterDescriptor(dataAdapterDescriptor); - - styledText.addLineStyleListener(lineStyler); - } - -} diff --git a/src/com/jaspersoft/studio/data/mongodb/MongoDbDataAdapterComposite.java b/src/com/jaspersoft/studio/data/mongodb/MongoDbDataAdapterComposite.java deleted file mode 100644 index 931b462..0000000 --- a/src/com/jaspersoft/studio/data/mongodb/MongoDbDataAdapterComposite.java +++ /dev/null @@ -1,103 +0,0 @@ -/******************************************************************************* - * Copyright (C) 2010 - 2013 Jaspersoft Corporation. All rights reserved. - * http://www.jaspersoft.com - * - * Unless you have purchased a commercial license agreement from Jaspersoft, - * the following license terms apply: - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Jaspersoft Studio Team - initial API and implementation - ******************************************************************************/ -package com.jaspersoft.studio.data.mongodb; - -import net.sf.jasperreports.data.DataAdapter; - -import org.eclipse.core.databinding.beans.PojoObservables; -import org.eclipse.jface.databinding.swt.SWTObservables; -import org.eclipse.swt.SWT; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Text; - -import com.jaspersoft.mongodb.adapter.MongoDbDataAdapter; -import com.jaspersoft.studio.data.ADataAdapterComposite; -import com.jaspersoft.studio.data.DataAdapterDescriptor; - -/** - * - * @author Eric Diaz - * - */ -public class MongoDbDataAdapterComposite extends ADataAdapterComposite { - private Text mongoUriField; - - private Text usernameField; - - private Text passwordField; - - private MongoDbDataAdapterDescriptor dataAdapterDescriptor; - - public MongoDbDataAdapterComposite(Composite parent, int style) { - super(parent, style); - initComponents(); - } - - private void initComponents() { - setLayout(new GridLayout(2, false)); - - createLabel("Mongo URI"); - mongoUriField = createTextField(false); - createLabel("Username"); - usernameField = createTextField(false); - createLabel("Password"); - passwordField = createTextField(true); - } - - private void createLabel(String text) { - Label label = new Label(this, SWT.NONE); - label.setText(text); - label.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1)); - } - - private Text createTextField(boolean password) { - Text textField = new Text(this, !password ? SWT.BORDER : SWT.BORDER | SWT.PASSWORD); - textField.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1)); - return textField; - } - - public DataAdapterDescriptor getDataAdapter() { - if (dataAdapterDescriptor == null) { - dataAdapterDescriptor = new MongoDbDataAdapterDescriptor(); - } - return dataAdapterDescriptor; - } - - @Override - public void setDataAdapter(DataAdapterDescriptor dataAdapterDescriptor) { - this.dataAdapterDescriptor = (MongoDbDataAdapterDescriptor) dataAdapterDescriptor; - MongoDbDataAdapter dataAdapter = (MongoDbDataAdapter) dataAdapterDescriptor.getDataAdapter(); - bindWidgets(dataAdapter); - } - - @Override - protected void bindWidgets(DataAdapter dataAdapter) { - bindingContext.bindValue(SWTObservables.observeText(mongoUriField, SWT.Modify), - PojoObservables.observeValue(dataAdapter, "mongoURI")); - bindingContext.bindValue(SWTObservables.observeText(usernameField, SWT.Modify), - PojoObservables.observeValue(dataAdapter, "username")); - bindingContext.bindValue(SWTObservables.observeText(passwordField, SWT.Modify), - PojoObservables.observeValue(dataAdapter, "password")); - } - - @Override - public String getHelpContextId() { - return PREFIX.concat("adapter_mongodb"); - } -} diff --git a/src/com/jaspersoft/studio/data/mongodb/MongoDbDataAdapterDescriptor.java b/src/com/jaspersoft/studio/data/mongodb/MongoDbDataAdapterDescriptor.java deleted file mode 100644 index 2b972dd..0000000 --- a/src/com/jaspersoft/studio/data/mongodb/MongoDbDataAdapterDescriptor.java +++ /dev/null @@ -1,95 +0,0 @@ -/******************************************************************************* - * Copyright (C) 2010 - 2013 Jaspersoft Corporation. All rights reserved. - * http://www.jaspersoft.com - * - * Unless you have purchased a commercial license agreement from Jaspersoft, - * the following license terms apply: - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Jaspersoft Studio Team - initial API and implementation - ******************************************************************************/ -package com.jaspersoft.studio.data.mongodb; - -import java.util.List; - -import net.sf.jasperreports.data.DataAdapter; -import net.sf.jasperreports.data.DataAdapterService; -import net.sf.jasperreports.engine.JRDataset; -import net.sf.jasperreports.engine.JRException; -import net.sf.jasperreports.engine.design.JRDesignField; - -import org.eclipse.jface.wizard.WizardPage; -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.widgets.Composite; - -import com.jaspersoft.mongodb.adapter.MongoDbDataAdapter; -import com.jaspersoft.mongodb.adapter.MongoDbDataAdapterImplementation; -import com.jaspersoft.studio.data.AWizardDataEditorComposite; -import com.jaspersoft.studio.data.DataAdapterDescriptor; -import com.jaspersoft.studio.data.IWizardDataEditorProvider; -import com.jaspersoft.studio.data.fields.IFieldsProvider; -import com.jaspersoft.studio.utils.jasper.JasperReportsConfiguration; - -/** - * - * @author gtoffoli - * @author Eric Diaz - * - */ -public class MongoDbDataAdapterDescriptor extends DataAdapterDescriptor - implements IFieldsProvider, IWizardDataEditorProvider { - private MongoDbDataAdapter dataAdapter = new MongoDbDataAdapterImplementation(); - - private IFieldsProvider fieldsProvider; - - @Override - public MongoDbDataAdapter getDataAdapter() { - return dataAdapter; - } - - @Override - public void setDataAdapter(DataAdapter dataAdapter) { - this.dataAdapter = (MongoDbDataAdapter) dataAdapter; - } - - @Override - public MongoDbDataAdapterEditor getEditor() { - return new MongoDbDataAdapterEditor(); - } - - @Override - public Image getIcon(int size) { - if (size == 16) { - return Activator.getDefault().getImage(Activator.ICON_NAME); - } - return null; - } - - public List getFields(DataAdapterService con, - JasperReportsConfiguration jConfig, JRDataset reportDataset) - throws JRException, UnsupportedOperationException { - getFieldProvider(); - return fieldsProvider.getFields(con, jConfig, reportDataset); - } - - private void getFieldProvider() { - if (fieldsProvider == null) - fieldsProvider = new MongoDbFieldsProvider(); - } - - public boolean supportsGetFieldsOperation(JasperReportsConfiguration jConfig) { - getFieldProvider(); - return fieldsProvider.supportsGetFieldsOperation(jConfig); - } - - @Override - public AWizardDataEditorComposite createDataEditorComposite( - Composite parent, WizardPage page) { - return new MongoDBWizardDataEditorComposite(parent, page, this); - } -} diff --git a/src/com/jaspersoft/studio/data/mongodb/MongoDbDataAdapterEditor.java b/src/com/jaspersoft/studio/data/mongodb/MongoDbDataAdapterEditor.java deleted file mode 100644 index 2948365..0000000 --- a/src/com/jaspersoft/studio/data/mongodb/MongoDbDataAdapterEditor.java +++ /dev/null @@ -1,69 +0,0 @@ -/******************************************************************************* - * Copyright (C) 2010 - 2013 Jaspersoft Corporation. All rights reserved. - * http://www.jaspersoft.com - * - * Unless you have purchased a commercial license agreement from Jaspersoft, - * the following license terms apply: - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Jaspersoft Studio Team - initial API and implementation - ******************************************************************************/ -package com.jaspersoft.studio.data.mongodb; - -import org.eclipse.jface.wizard.WizardPage; -import org.eclipse.swt.widgets.Composite; - -import com.jaspersoft.studio.data.ADataAdapterComposite; -import com.jaspersoft.studio.data.DataAdapterDescriptor; -import com.jaspersoft.studio.data.DataAdapterEditor; - -/** - * - * @author gtoffoli - * - */ -public class MongoDbDataAdapterEditor implements DataAdapterEditor { - - protected MongoDbDataAdapterComposite composite = null; - - public ADataAdapterComposite getComposite(Composite parent, int style, WizardPage wizardPage) { - if (composite == null) - composite = new MongoDbDataAdapterComposite(parent, style); - return composite; - } - - /* - * (non-Javadoc) - * - * @see com.jaspersoft.studio.data.DataAdapterEditor#getDataAdapter() - */ - public DataAdapterDescriptor getDataAdapter() { - return composite.getDataAdapter(); - } - - /* - * (non-Javadoc) - * - * @see com.jaspersoft.studio.data.DataAdapterEditor#getHelpContextId() - */ - public String getHelpContextId() { - return composite.getHelpContextId(); - } - - /* - * (non-Javadoc) - * - * @see - * com.jaspersoft.studio.data.DataAdapterEditor#setDataAdapter(com.jaspersoft - * .studio.data.DataAdapter) - */ - public void setDataAdapter(DataAdapterDescriptor dataAdapter) { - if (dataAdapter instanceof MongoDbDataAdapterDescriptor) - composite.setDataAdapter((MongoDbDataAdapterDescriptor) dataAdapter); - } -} diff --git a/src/com/jaspersoft/studio/data/mongodb/MongoDbDataAdapterFactory.java b/src/com/jaspersoft/studio/data/mongodb/MongoDbDataAdapterFactory.java deleted file mode 100644 index ce7d877..0000000 --- a/src/com/jaspersoft/studio/data/mongodb/MongoDbDataAdapterFactory.java +++ /dev/null @@ -1,94 +0,0 @@ -/******************************************************************************* - * Copyright (C) 2010 - 2013 Jaspersoft Corporation. All rights reserved. - * http://www.jaspersoft.com - * - * Unless you have purchased a commercial license agreement from Jaspersoft, - * the following license terms apply: - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Jaspersoft Studio Team - initial API and implementation - ******************************************************************************/ -package com.jaspersoft.studio.data.mongodb; - -import net.sf.jasperreports.data.DataAdapter; -import net.sf.jasperreports.data.DataAdapterService; - -import org.eclipse.swt.graphics.Image; - -import com.jaspersoft.mongodb.adapter.MongoDbDataAdapter; -import com.jaspersoft.mongodb.adapter.MongoDbDataAdapterImplementation; -import com.jaspersoft.mongodb.adapter.MongoDbDataAdapterService; -import com.jaspersoft.studio.data.DataAdapterDescriptor; -import com.jaspersoft.studio.data.DataAdapterFactory; -import com.jaspersoft.studio.data.mongodb.messages.Messages; - -/** - * @author gtoffoli - * - */ -public class MongoDbDataAdapterFactory implements DataAdapterFactory { - - /* - * (non-Javadoc) - * - * @see com.jaspersoft.studio.data.DataAdapterFactory#createDataAdapter() - */ - public DataAdapterDescriptor createDataAdapter() { - MongoDbDataAdapterDescriptor descriptor = new MongoDbDataAdapterDescriptor(); - descriptor.getDataAdapter().setMongoURI("mongodb://HOST:27017/DB_NAME"); //$NON-NLS-1$ - descriptor.getDataAdapter().setUsername(""); //$NON-NLS-1$ - descriptor.getDataAdapter().setPassword(""); //$NON-NLS-1$ - return descriptor; - } - - /* - * (non-Javadoc) - * - * @see - * com.jaspersoft.studio.data.DataAdapterFactory#getDataAdapterClassName() - */ - public String getDataAdapterClassName() { - return MongoDbDataAdapterImplementation.class.getName(); - } - - /* - * (non-Javadoc) - * - * @see com.jaspersoft.studio.data.DataAdapterFactory#getDescription() - */ - public String getLabel() { - return Messages.MongoDbDataAdapterFactory_label; - } - - /* - * (non-Javadoc) - * - * @see com.jaspersoft.studio.data.DataAdapterFactory#getDescription() - */ - public String getDescription() { - return Messages.MongoDbDataAdapterFactory_description; - } - - /* - * (non-Javadoc) - * - * @see com.jaspersoft.studio.data.DataAdapterFactory#getIcon(int) - */ - public Image getIcon(int size) { - if (size == 16) { - return Activator.getDefault().getImage(Activator.ICON_NAME); - } - return null; - } - - public DataAdapterService createDataAdapterService(DataAdapter dataAdapter) { - if (dataAdapter instanceof MongoDbDataAdapter) - return new MongoDbDataAdapterService((MongoDbDataAdapter) dataAdapter); - return null; - } -} diff --git a/src/com/jaspersoft/studio/data/mongodb/MongoDbFieldsProvider.java b/src/com/jaspersoft/studio/data/mongodb/MongoDbFieldsProvider.java deleted file mode 100644 index bf588f0..0000000 --- a/src/com/jaspersoft/studio/data/mongodb/MongoDbFieldsProvider.java +++ /dev/null @@ -1,54 +0,0 @@ -/******************************************************************************* - * Copyright (C) 2010 - 2013 Jaspersoft Corporation. All rights reserved. - * http://www.jaspersoft.com - * - * Unless you have purchased a commercial license agreement from Jaspersoft, - * the following license terms apply: - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Jaspersoft Studio Team - initial API and implementation - ******************************************************************************/ -package com.jaspersoft.studio.data.mongodb; - -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import net.sf.jasperreports.data.DataAdapterService; -import net.sf.jasperreports.engine.JRDataset; -import net.sf.jasperreports.engine.JRException; -import net.sf.jasperreports.engine.JRParameter; -import net.sf.jasperreports.engine.design.JRDesignField; - -import com.jaspersoft.mongodb.connection.MongoDbConnection; -import com.jaspersoft.studio.data.fields.IFieldsProvider; -import com.jaspersoft.studio.utils.jasper.JasperReportsConfiguration; -import com.jaspersoft.studio.utils.parameter.ParameterUtil; - -/** - * - * @author Eric Diaz - * - */ -public class MongoDbFieldsProvider implements IFieldsProvider { - public boolean supportsGetFieldsOperation(JasperReportsConfiguration jConfig) { - return true; - } - - public List getFields(DataAdapterService dataAdapterService, - JasperReportsConfiguration jasperReportsConfiguration, JRDataset dataset) throws JRException, - UnsupportedOperationException { - Map parameters = new HashMap(); - parameters.put(JRParameter.REPORT_MAX_COUNT, 0); - dataAdapterService.contributeParameters(parameters); - ParameterUtil.setParameters(jasperReportsConfiguration, dataset, parameters); - - return com.jaspersoft.mongodb.MongoDbFieldsProvider.getInstance().getFields(jasperReportsConfiguration, dataset, parameters, - (MongoDbConnection) parameters.get(JRParameter.REPORT_CONNECTION)); - } -} diff --git a/src/com/jaspersoft/studio/data/mongodb/messages/Messages.java b/src/com/jaspersoft/studio/data/mongodb/messages/Messages.java deleted file mode 100644 index 31b2fdb..0000000 --- a/src/com/jaspersoft/studio/data/mongodb/messages/Messages.java +++ /dev/null @@ -1,36 +0,0 @@ -/******************************************************************************* - * Copyright (C) 2010 - 2013 Jaspersoft Corporation. All rights reserved. - * http://www.jaspersoft.com - * - * Unless you have purchased a commercial license agreement from Jaspersoft, - * the following license terms apply: - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Jaspersoft Studio Team - initial API and implementation - ******************************************************************************/ -package com.jaspersoft.studio.data.mongodb.messages; - -import org.eclipse.osgi.util.NLS; - -public class Messages extends NLS { - private static final String BUNDLE_NAME = "com.jaspersoft.studio.data.mongodb.messages.messages"; //$NON-NLS-1$ - public static String MongoDbDataAdapterFactory_description; - public static String MongoDbDataAdapterFactory_label; - public static String RDDatasourceMongoDBPage_desc; - public static String RDDatasourceMongoDBPage_labelurl; - public static String RDDatasourceMongoDBPage_pass; - public static String RDDatasourceMongoDBPage_title; - public static String RDDatasourceMongoDBPage_username; - static { - // initialize resource bundle - NLS.initializeMessages(BUNDLE_NAME, Messages.class); - } - - private Messages() { - } -} diff --git a/src/com/jaspersoft/studio/data/mongodb/messages/messages.properties b/src/com/jaspersoft/studio/data/mongodb/messages/messages.properties deleted file mode 100644 index bf83a20..0000000 --- a/src/com/jaspersoft/studio/data/mongodb/messages/messages.properties +++ /dev/null @@ -1,22 +0,0 @@ -#------------------------------------------------------------------------------- -# Copyright (C) 2010 - 2013 Jaspersoft Corporation. All rights reserved. -# http://www.jaspersoft.com -# -# Unless you have purchased a commercial license agreement from Jaspersoft, -# the following license terms apply: -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Jaspersoft Studio Team - initial API and implementation -#------------------------------------------------------------------------------- -MongoDbDataAdapterFactory_description=Use MongoDbQuery queries to get data from MongoDB -MongoDbDataAdapterFactory_label=MongoDB Connection -RDDatasourceMongoDBPage_desc=MongoDB Datasource -RDDatasourceMongoDBPage_labelurl=URL -RDDatasourceMongoDBPage_pass=Password -RDDatasourceMongoDBPage_title=MongoDB Datasource -RDDatasourceMongoDBPage_username=Username diff --git a/src/com/jaspersoft/studio/data/mongodb/messages/messages_it.properties b/src/com/jaspersoft/studio/data/mongodb/messages/messages_it.properties deleted file mode 100644 index 92c0b94..0000000 --- a/src/com/jaspersoft/studio/data/mongodb/messages/messages_it.properties +++ /dev/null @@ -1,22 +0,0 @@ -#------------------------------------------------------------------------------- -# Copyright (C) 2010 - 2013 Jaspersoft Corporation. All rights reserved. -# http://www.jaspersoft.com -# -# Unless you have purchased a commercial license agreement from Jaspersoft, -# the following license terms apply: -# -# This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Jaspersoft Studio Team - initial API and implementation -#------------------------------------------------------------------------------- -MongoDbDataAdapterFactory_description=Usa delle query MongoDbQuery per estrarre i dati da un MongoDB -MongoDbDataAdapterFactory_label=Connessione MongoDB -RDDatasourceMongoDBPage_desc=Datasource MongoDB -RDDatasourceMongoDBPage_labelurl=URL -RDDatasourceMongoDBPage_pass=Password -RDDatasourceMongoDBPage_title=Datasource MongoDB -RDDatasourceMongoDBPage_username=Username diff --git a/src/com/jaspersoft/studio/data/mongodb/querydesigner/JsonTokensType.java b/src/com/jaspersoft/studio/data/mongodb/querydesigner/JsonTokensType.java deleted file mode 100644 index d0887eb..0000000 --- a/src/com/jaspersoft/studio/data/mongodb/querydesigner/JsonTokensType.java +++ /dev/null @@ -1,42 +0,0 @@ -/******************************************************************************* - * Copyright (C) 2010 - 2013 Jaspersoft Corporation. All rights reserved. - * http://www.jaspersoft.com - * - * Unless you have purchased a commercial license agreement from Jaspersoft, - * the following license terms apply: - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Jaspersoft Studio Team - initial API and implementation - ******************************************************************************/ -package com.jaspersoft.studio.data.mongodb.querydesigner; - - -/** - * Enumeration for different types of Json Query tokens. - */ -public enum JsonTokensType { - TEXT(true),KEYWORD(true),QUOTED_LITERAL(true),NUMBER(true), - SYMBOL(true),EOF(false),EOL(false),SPACE(false),OTHER(true), - JRPARAMETER(true),JRVARIABLE(true),JRFIELD(true); - - private boolean hasColor; - - private JsonTokensType(boolean hasColor) { - this.hasColor=hasColor; - } - - public static int getColoredTokensNum(){ - int num=0; - for (JsonTokensType t : values()){ - if(t.hasColor){ - num++; - } - } - return num; - } -} diff --git a/src/com/jaspersoft/studio/data/mongodb/querydesigner/MongoDBLineStyler.java b/src/com/jaspersoft/studio/data/mongodb/querydesigner/MongoDBLineStyler.java deleted file mode 100644 index b5b4aa1..0000000 --- a/src/com/jaspersoft/studio/data/mongodb/querydesigner/MongoDBLineStyler.java +++ /dev/null @@ -1,127 +0,0 @@ -/******************************************************************************* - * Copyright (C) 2010 - 2013 Jaspersoft Corporation. All rights reserved. - * http://www.jaspersoft.com - * - * Unless you have purchased a commercial license agreement from Jaspersoft, - * the following license terms apply: - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Jaspersoft Studio Team - initial API and implementation - ******************************************************************************/ -package com.jaspersoft.studio.data.mongodb.querydesigner; - -import java.util.HashMap; -import java.util.Map; -import java.util.Vector; - -import org.eclipse.swt.SWT; -import org.eclipse.swt.custom.LineStyleEvent; -import org.eclipse.swt.custom.LineStyleListener; -import org.eclipse.swt.custom.StyleRange; -import org.eclipse.swt.graphics.Color; -import org.eclipse.swt.widgets.Control; -import org.eclipse.wb.swt.ResourceManager; - -/** - * This class provides the style information for the MongoDB query text (JSON based) line being drawn. - *

    - * NOTE: Re-used code and idea from JavaViewer SWT Example. - * - * @see MongoDBScanner - * - */ -public class MongoDBLineStyler implements LineStyleListener { - - private MongoDBScanner jsonScanner; - private Map colorsMap; - - public MongoDBLineStyler(){ - initializeColors(); - jsonScanner=new MongoDBScanner(); - } - - private void initializeColors() { - colorsMap=new HashMap(JsonTokensType.getColoredTokensNum()); - colorsMap.put(JsonTokensType.TEXT, ResourceManager.getColor(0, 0, 0)); - colorsMap.put(JsonTokensType.KEYWORD, ResourceManager.getColor(196, 58, 34)); - colorsMap.put(JsonTokensType.QUOTED_LITERAL, ResourceManager.getColor(15,128,0)); - colorsMap.put(JsonTokensType.SYMBOL, ResourceManager.getColor(0, 0, 0)); - colorsMap.put(JsonTokensType.OTHER, ResourceManager.getColor(0, 0, 0)); - colorsMap.put(JsonTokensType.NUMBER, ResourceManager.getColor(45, 0, 255)); - colorsMap.put(JsonTokensType.JRPARAMETER,ResourceManager.getColor(178, 0, 0)); - colorsMap.put(JsonTokensType.JRFIELD,ResourceManager.getColor(32,187,34)); - colorsMap.put(JsonTokensType.JRVARIABLE,ResourceManager.getColor(17,18,254)); - } - - /* - * Gets the right color for the specified token type. - */ - private Color getColor(JsonTokensType type){ - if(type!=null){ - return colorsMap.get(type); - } - return null; - } - - @Override - public void lineGetStyle(LineStyleEvent event) { - Vector styles=new Vector(); - JsonTokensType token=null; - StyleRange lastStyle=null; - - Color defaultFgColor = ((Control) event.widget).getForeground(); - jsonScanner.setRange(event.lineText); - token = jsonScanner.nextToken(); - while (token != JsonTokensType.EOF) { - if (token == JsonTokensType.OTHER) { - // do nothing for non-colored tokens - } else if (token != JsonTokensType.SPACE) { - Color color = getColor(token); - // Only create a style if the token color is different than the - // widget's default foreground color and the token's style is not bold. - // Keywords, symbols and operators are drawn bold. - if (!color.equals(defaultFgColor) || (token == JsonTokensType.SYMBOL)) { - StyleRange style = new StyleRange(jsonScanner.getStartOffset() - + event.lineOffset, jsonScanner.getLength(), color, - null); - if (token==JsonTokensType.SYMBOL) { - style.fontStyle = SWT.BOLD; - } - if (styles.isEmpty()) { - styles.addElement(style); - } else { - // Merge similar styles. Doing so will improve performance. - lastStyle = (StyleRange) styles.lastElement(); - if (lastStyle.similarTo(style) - && (lastStyle.start + lastStyle.length == style.start)) { - lastStyle.length += style.length; - } else { - styles.addElement(style); - } - } - } - } else if ((!styles.isEmpty()) - && ((lastStyle = (StyleRange) styles.lastElement()).fontStyle == SWT.BOLD)) { - int start = jsonScanner.getStartOffset() + event.lineOffset; - lastStyle = (StyleRange) styles.lastElement(); - // A font style of SWT.BOLD implies that the last style - // represents a java keyword. - if (lastStyle.start + lastStyle.length == start) { - // Have the white space take on the style before it to - // minimize the number of style ranges created and the - // number of font style changes during rendering. - lastStyle.length += jsonScanner.getLength(); - } - } - token = jsonScanner.nextToken(); - } - event.styles = new StyleRange[styles.size()]; - styles.copyInto(event.styles); - - } -} diff --git a/src/com/jaspersoft/studio/data/mongodb/querydesigner/MongoDBQueryDesigner.java b/src/com/jaspersoft/studio/data/mongodb/querydesigner/MongoDBQueryDesigner.java deleted file mode 100644 index ac5e05c..0000000 --- a/src/com/jaspersoft/studio/data/mongodb/querydesigner/MongoDBQueryDesigner.java +++ /dev/null @@ -1,52 +0,0 @@ -/******************************************************************************* - * Copyright (C) 2010 - 2013 Jaspersoft Corporation. All rights reserved. - * http://www.jaspersoft.com - * - * Unless you have purchased a commercial license agreement from Jaspersoft, - * the following license terms apply: - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Jaspersoft Studio Team - initial API and implementation - ******************************************************************************/ -package com.jaspersoft.studio.data.mongodb.querydesigner; - -import net.sf.jasperreports.engine.design.JRDesignQuery; - -import org.eclipse.swt.custom.StyledText; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; - -import com.jaspersoft.studio.data.designer.QueryDesigner; -import com.jaspersoft.studio.wizards.ContextHelpIDs; - -/** - * Simple query designer for MongoDB query language that provides syntax - * highlighting. - * - */ -public class MongoDBQueryDesigner extends QueryDesigner { - /* Text area where enter the query */ - protected StyledText queryTextArea; - private MongoDBLineStyler lineStyler = new MongoDBLineStyler(); - - public Control createControl(Composite parent) { - control = (StyledText) super.createControl(parent); - control.addLineStyleListener(lineStyler); - return control; - } - - protected void queryTextAreaModified() { - // keep the query info updated - ((JRDesignQuery) jDataset.getQuery()).setText(queryTextArea.getText()); - } - - @Override - public String getContextHelpId() { - return ContextHelpIDs.PREFIX.concat("query_mongo"); - } -} diff --git a/src/com/jaspersoft/studio/data/mongodb/querydesigner/MongoDBScanner.java b/src/com/jaspersoft/studio/data/mongodb/querydesigner/MongoDBScanner.java deleted file mode 100644 index 1f25563..0000000 --- a/src/com/jaspersoft/studio/data/mongodb/querydesigner/MongoDBScanner.java +++ /dev/null @@ -1,195 +0,0 @@ -/******************************************************************************* - * Copyright (C) 2010 - 2013 Jaspersoft Corporation. All rights reserved. - * http://www.jaspersoft.com - * - * Unless you have purchased a commercial license agreement from Jaspersoft, - * the following license terms apply: - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Jaspersoft Studio Team - initial API and implementation - ******************************************************************************/ -package com.jaspersoft.studio.data.mongodb.querydesigner; - -import java.util.Arrays; -import java.util.List; - - -/** - * Class implementing a simple fuzzy scanner for MongoDB query text (JSON based). - *

    - * - * NOTE: Re-used code and idea from JavaViewer SWT Example. - * - * @see MongoDBLineStyler - */ -public class MongoDBScanner { - public static final int EOF_CHAR=-1; - public static final int EOL_CHAR=10; - private static List jsonKeywords; - private static List jsonOperatorsAndSymbols; - - private StringBuffer fBuffer = new StringBuffer(); - private String fDoc; - private int fPos; - private int fEnd; - private int fStartToken; - - public MongoDBScanner(){ - initJsonKeywords(); - initJsonSymbolsAndOperators(); - } - - /** - * Gets next token type in order to decide how to "style it". - * - * @return the token type - */ - public JsonTokensType nextToken() { - int c; - fStartToken = fPos; - while (true) { - switch (c = read()) { - case EOF_CHAR: - return JsonTokensType.EOF; - case '$': - c = read(); - JsonTokensType jrbaseExprType=null; - if(c=='P'){ - jrbaseExprType=JsonTokensType.JRPARAMETER; - } - else if(c=='F'){ - jrbaseExprType=JsonTokensType.JRFIELD; - } - else if(c=='V'){ - jrbaseExprType=JsonTokensType.JRVARIABLE; - } - else { - break; - } - c = read(); - if(c=='{'){ - for (;;) { - c = read(); - switch (c) { - case '}': - return jrbaseExprType; - case EOF_CHAR: - unread(c); - return jrbaseExprType; - case '\\': - c = read(); - break; - } - } - } - case '"': - for (;;) { - c = read(); - switch (c) { - case '"': - return JsonTokensType.QUOTED_LITERAL; - case EOF_CHAR: - unread(c); - return JsonTokensType.QUOTED_LITERAL; - case '\\': - c = read(); - break; - } - } - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - do { - c = read(); - } while (Character.isDigit((char) c)); - unread(c); - return JsonTokensType.NUMBER; - default: - if (jsonOperatorsAndSymbols.contains(Character.toString((char)c))){ - return JsonTokensType.SYMBOL; - } - if (Character.isWhitespace((char) c)) { - do { - c = read(); - } while (Character.isWhitespace((char) c)); - unread(c); - return JsonTokensType.SPACE; - } - if (Character.isJavaIdentifierStart((char) c)) { - fBuffer.setLength(0); - do { - fBuffer.append((char) c); - c = read(); - } while (Character.isJavaIdentifierPart((char) c)); - unread(c); - - if(jsonKeywords.contains(fBuffer.toString().toLowerCase())){ - return JsonTokensType.KEYWORD; - } - return JsonTokensType.OTHER; - } - return JsonTokensType.OTHER; - } - } - } - - private int read() { - if (fPos <= fEnd) { - return fDoc.charAt(fPos++); - } - return EOF_CHAR; - } - - private void unread(int c) { - if (c != EOF_CHAR) - fPos--; - } - - public void setRange(String text) { - fDoc = text; - fPos = 0; - fEnd = fDoc.length() - 1; - } - - public int getStartOffset() { - return fStartToken; - } - - public int getLength() { - return fPos - fStartToken; - } - - /** - * Initializes, if needed, the Json keywords used by the scanner instance. - */ - protected void initJsonKeywords(){ - if(jsonKeywords==null){ - jsonKeywords=Arrays.asList( - new String[]{"true", "false", "null"}); - } - } - - /** - * Initializes, if needed, the Json symbols and operators used by the scanner instance. - */ - protected void initJsonSymbolsAndOperators(){ - if(jsonOperatorsAndSymbols==null){ - jsonOperatorsAndSymbols=Arrays.asList( - new String[]{"[", "]", "=", "!", ">", "<"}); - } - } - -} - diff --git a/src/com/jaspersoft/studio/data/mongodb/server/DatasourceMongoDBPageContent.java b/src/com/jaspersoft/studio/data/mongodb/server/DatasourceMongoDBPageContent.java deleted file mode 100644 index d42c8c6..0000000 --- a/src/com/jaspersoft/studio/data/mongodb/server/DatasourceMongoDBPageContent.java +++ /dev/null @@ -1,101 +0,0 @@ -/******************************************************************************* - * Copyright (C) 2010 - 2013 Jaspersoft Corporation. All rights reserved. - * http://www.jaspersoft.com - * - * Unless you have purchased a commercial license agreement from Jaspersoft, - * the following license terms apply: - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Jaspersoft Studio Team - initial API and implementation - ******************************************************************************/ -package com.jaspersoft.studio.data.mongodb.server; - -import org.eclipse.core.databinding.DataBindingContext; -import org.eclipse.core.databinding.beans.PojoObservables; -import org.eclipse.jface.databinding.swt.SWTObservables; -import org.eclipse.swt.SWT; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Text; - -import com.jaspersoft.jasperserver.api.metadata.xml.domain.impl.ResourceProperty; -import com.jaspersoft.studio.data.mongodb.messages.Messages; -import com.jaspersoft.studio.model.ANode; -import com.jaspersoft.studio.server.model.MResource; -import com.jaspersoft.studio.server.model.datasource.MRDatasourceCustom; -import com.jaspersoft.studio.server.utils.ResourceDescriptorUtil; -import com.jaspersoft.studio.server.wizard.resource.APageContent; -import com.jaspersoft.studio.utils.UIUtil; - -public class DatasourceMongoDBPageContent extends APageContent { - - public DatasourceMongoDBPageContent(ANode parent, MResource resource, - DataBindingContext bindingContext) { - super(parent, resource, bindingContext); - } - - public DatasourceMongoDBPageContent(ANode parent, MResource resource) { - super(parent, resource); - } - - @Override - public String getPageName() { - return "com.jaspersoft.studio.server.page.datasource.mongodb"; - } - - @Override - public String getName() { - return Messages.RDDatasourceMongoDBPage_title; - } - - public Control createContent(Composite parent) { - Composite composite = new Composite(parent, SWT.NONE); - composite.setLayout(new GridLayout(2, false)); - - UIUtil.createLabel(composite, - Messages.RDDatasourceMongoDBPage_labelurl); - - Text turi = new Text(composite, SWT.BORDER); - turi.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - - UIUtil.createLabel(composite, - Messages.RDDatasourceMongoDBPage_username); - - Text tusername = new Text(composite, SWT.BORDER); - tusername.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - - UIUtil.createLabel(composite, Messages.RDDatasourceMongoDBPage_pass); - - Text tpass = new Text(composite, SWT.BORDER | SWT.PASSWORD); - tpass.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - - ResourceProperty resprop = ResourceDescriptorUtil.getProperty( - MRDatasourceCustom.PROP_DATASOURCE_CUSTOM_PROPERTY_MAP, res - .getValue().getProperties()); - - ResourceProperty rsp = ResourceDescriptorUtil.getProperty( - MRDatasourceMongoDB.MONGO_URI, resprop.getProperties()); - bindingContext.bindValue(SWTObservables.observeText(turi, SWT.Modify), - PojoObservables.observeValue(rsp, "value")); //$NON-NLS-1$ - - rsp = ResourceDescriptorUtil.getProperty(MRDatasourceMongoDB.USERNAME, - resprop.getProperties()); - bindingContext.bindValue( - SWTObservables.observeText(tusername, SWT.Modify), - PojoObservables.observeValue(rsp, "value")); //$NON-NLS-1$ - - rsp = ResourceDescriptorUtil.getProperty(MRDatasourceMongoDB.PASSWORD, - resprop.getProperties()); - bindingContext.bindValue(SWTObservables.observeText(tpass, SWT.Modify), - PojoObservables.observeValue(rsp, "value")); //$NON-NLS-1$ - - return composite; - } -} diff --git a/src/com/jaspersoft/studio/data/mongodb/server/MRDatasourceMongoDB.java b/src/com/jaspersoft/studio/data/mongodb/server/MRDatasourceMongoDB.java deleted file mode 100644 index cb0e5d6..0000000 --- a/src/com/jaspersoft/studio/data/mongodb/server/MRDatasourceMongoDB.java +++ /dev/null @@ -1,73 +0,0 @@ -/******************************************************************************* - * Copyright (C) 2010 - 2013 Jaspersoft Corporation. All rights reserved. - * http://www.jaspersoft.com - * - * Unless you have purchased a commercial license agreement from Jaspersoft, - * the following license terms apply: - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Jaspersoft Studio Team - initial API and implementation - ******************************************************************************/ -package com.jaspersoft.studio.data.mongodb.server; - -import java.util.ArrayList; -import java.util.List; - -import net.sf.jasperreports.engine.JRConstants; - -import com.jaspersoft.jasperserver.api.metadata.xml.domain.impl.ResourceDescriptor; -import com.jaspersoft.jasperserver.api.metadata.xml.domain.impl.ResourceProperty; -import com.jaspersoft.studio.data.mongodb.MongoDBIconDescriptor; -import com.jaspersoft.studio.model.ANode; -import com.jaspersoft.studio.model.util.IIconDescriptor; -import com.jaspersoft.studio.server.model.datasource.MRDatasourceCustom; - -public class MRDatasourceMongoDB extends MRDatasourceCustom { - - public static final String PASSWORD = "password"; - public static final String MONGO_URI = "mongoURI"; - public static final String USERNAME = "username"; - public static final String CUSTOM_CLASS = "com.jaspersoft.mongodb.jasperserver.MongoDbDataSourceService"; - public static final long serialVersionUID = JRConstants.SERIAL_VERSION_UID; - - public MRDatasourceMongoDB(ANode parent, ResourceDescriptor rd, int index) { - super(parent, rd, index); - } - - private static IIconDescriptor iconDescriptor; - - public static IIconDescriptor getIconDescriptor() { - if (iconDescriptor == null) - iconDescriptor = new MongoDBIconDescriptor("datasource-mongo"); //$NON-NLS-1$ - return iconDescriptor; - } - - @Override - public IIconDescriptor getThisIconDescriptor() { - return getIconDescriptor(); - } - - public static ResourceDescriptor createDescriptor(ANode parent) { - ResourceDescriptor rd = MRDatasourceCustom.createDescriptor(parent); - ResourceProperty rp = new ResourceProperty( - MRDatasourceCustom.PROP_DATASOURCE_CUSTOM_PROPERTY_MAP); - List props = new ArrayList(); - props.add(new ResourceProperty(USERNAME, USERNAME)); - props.add(new ResourceProperty(MONGO_URI, - "mongodb://hostname:27017/database")); - props.add(new ResourceProperty("_cds_name", "MongoDbDataSource")); - props.add(new ResourceProperty(PASSWORD, PASSWORD)); - rp.setProperties(props); - rd.getProperties().add(rp); - rp = new ResourceProperty( - MRDatasourceCustom.PROP_DATASOURCE_CUSTOM_SERVICE_CLASS, - CUSTOM_CLASS); - rd.getProperties().add(rp); - return rd; - } -} diff --git a/src/com/jaspersoft/studio/data/mongodb/server/MongoResourceFactory.java b/src/com/jaspersoft/studio/data/mongodb/server/MongoResourceFactory.java deleted file mode 100644 index e57ae14..0000000 --- a/src/com/jaspersoft/studio/data/mongodb/server/MongoResourceFactory.java +++ /dev/null @@ -1,65 +0,0 @@ -/******************************************************************************* - * Copyright (C) 2010 - 2013 Jaspersoft Corporation. All rights reserved. - * http://www.jaspersoft.com - * - * Unless you have purchased a commercial license agreement from Jaspersoft, - * the following license terms apply: - * - * This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Jaspersoft Studio Team - initial API and implementation - ******************************************************************************/ -package com.jaspersoft.studio.data.mongodb.server; - -import org.eclipse.jface.wizard.IWizardPage; - -import com.jaspersoft.jasperserver.api.metadata.xml.domain.impl.ResourceDescriptor; -import com.jaspersoft.jasperserver.api.metadata.xml.domain.impl.ResourceProperty; -import com.jaspersoft.studio.model.ANode; -import com.jaspersoft.studio.model.MRoot; -import com.jaspersoft.studio.server.model.MResource; -import com.jaspersoft.studio.server.model.datasource.MRDatasourceCustom; -import com.jaspersoft.studio.server.plugin.IResourceFactory; -import com.jaspersoft.studio.server.utils.ResourceDescriptorUtil; -import com.jaspersoft.studio.server.wizard.resource.APageContent; -import com.jaspersoft.studio.server.wizard.resource.page.ResourcePageContent; - -public class MongoResourceFactory implements IResourceFactory { - - public MResource getResource(ANode parent, ResourceDescriptor resource, - int index) { - if (resource.getWsType().equals( - ResourceDescriptor.TYPE_DATASOURCE_CUSTOM)) { - ResourceProperty rp = ResourceDescriptorUtil.getProperty( - MRDatasourceCustom.PROP_DATASOURCE_CUSTOM_SERVICE_CLASS, - resource.getProperties()); - if (rp != null - && rp.getValue().equals(MRDatasourceMongoDB.CUSTOM_CLASS)) - return new MRDatasourceMongoDB(parent, resource, index); - } - return null; - } - - public IWizardPage[] getResourcePage(ANode parent, MResource resource) { - if (resource instanceof MRDatasourceMongoDB) - return APageContent.getPages(resource, new ResourcePageContent( - parent, resource), new DatasourceMongoDBPageContent(parent, - resource)); - return null; - } - - public ANode createNewResource(MRoot root, ANode parent) { - return null; - } - - @Override - public ANode createNewDatasource(MRoot root, ANode parent) { - return new MRDatasourceMongoDB(root, - MRDatasourceMongoDB.createDescriptor(parent), -1); - } - -}