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 24884da..0000000 Binary files a/lib/mongo-java-driver-2.7.3.jar and /dev/null differ 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); - } - -}