Search in sources :

Example 1 with JSONException

use of org.talend.utils.json.JSONException in project tdi-studio-se by Talend.

the class ColumnListControllerTest method testreUsedColumnFunctionArrayCheck2.

@Test
public void testreUsedColumnFunctionArrayCheck2() throws Exception {
    //$NON-NLS-1$
    column.setLabel("B");
    column.setTalendType(JavaTypesManager.STRING.getId());
    JSONObject functionInfoObj = new JSONObject();
    JSONArray parametersArr = new JSONArray();
    try {
        functionInfoObj.put(PARAMETER_CLASS_NAME, "");
        functionInfoObj.put(NAME, "...");
        JSONObject parameterObj = new JSONObject();
        parameterObj.put(PARAMETER_NAME, "customize parameter");
        parameterObj.put(PARAMETER_VALUE, "");
        parametersArr.put(parameterObj);
        functionInfoObj.put(PARAMETERS, parametersArr);
    } catch (JSONException e) {
        ExceptionHandler.process(e);
    }
    column.getAdditionalField().put("FUNCTION_INFO", functionInfoObj.toString());
    table.getListColumns().add(column);
    String functioExpression = "";
    testNewLineArrayFunction(functioExpression, column.getLabel());
}
Also used : JSONObject(org.talend.utils.json.JSONObject) JSONArray(org.talend.utils.json.JSONArray) JSONException(org.talend.utils.json.JSONException) Test(org.junit.Test)

Example 2 with JSONException

use of org.talend.utils.json.JSONException in project tdi-studio-se by Talend.

the class ColumnListControllerTest method testreUsedColumnFunctionArrayCheck1.

@Test
public void testreUsedColumnFunctionArrayCheck1() throws Exception {
    //$NON-NLS-1$
    column.setLabel("A");
    column.setTalendType(JavaTypesManager.STRING.getId());
    JSONObject functionInfoObj = new JSONObject();
    JSONArray parametersArr = new JSONArray();
    try {
        functionInfoObj.put(PARAMETER_CLASS_NAME, "StringHandling");
        functionInfoObj.put(NAME, "CHANGE");
        JSONObject parameterObj1 = new JSONObject();
        parameterObj1.put(PARAMETER_NAME, "oldStr");
        parameterObj1.put(PARAMETER_VALUE, "\"hello world!\" ");
        parametersArr.put(parameterObj1);
        JSONObject parameterObj2 = new JSONObject();
        parameterObj2.put(PARAMETER_NAME, "regex");
        parameterObj2.put(PARAMETER_VALUE, "\"world\" ");
        parametersArr.put(parameterObj2);
        JSONObject parameterObj3 = new JSONObject();
        parameterObj3.put(PARAMETER_NAME, "replacement");
        parameterObj3.put(PARAMETER_VALUE, "\"guy\" ");
        parametersArr.put(parameterObj3);
        functionInfoObj.put(PARAMETERS, parametersArr);
    } catch (JSONException e) {
        ExceptionHandler.process(e);
    }
    column.getAdditionalField().put("FUNCTION_INFO", functionInfoObj.toString());
    table.getListColumns().add(column);
    String functioExpression = "StringHandling.CHANGE(\"hello world!\",\"world\",\"guy\")";
    testNewLineArrayFunction(functioExpression, column.getLabel());
}
Also used : JSONObject(org.talend.utils.json.JSONObject) JSONArray(org.talend.utils.json.JSONArray) JSONException(org.talend.utils.json.JSONException) Test(org.junit.Test)

Example 3 with JSONException

use of org.talend.utils.json.JSONException in project tdi-studio-se by Talend.

the class LoginProjectPage method selectLastUsedProject.

protected void selectLastUsedProject() {
    if (projectViewer != null) {
        Project[] projects = (Project[]) projectViewer.getInput();
        Project project = null;
        if (selectedProjectBeforeRefresh != null) {
            for (Project p : projects) {
                if (selectedProjectBeforeRefresh.equals(p.getLabel())) {
                    project = p;
                    break;
                }
            }
        }
        if (project == null) {
            project = loginHelper.getLastUsedProject(projects);
        }
        if (project == null && projects.length > 0) {
            project = projects[0];
        }
        if (project != null) {
            try {
                selectProject(project);
            } catch (JSONException e) {
                // TODO Auto-generated catch block
                ExceptionHandler.process(e);
            }
        }
    }
}
Also used : Project(org.talend.core.model.general.Project) JSONException(org.talend.utils.json.JSONException)

Example 4 with JSONException

use of org.talend.utils.json.JSONException in project tdi-studio-se by Talend.

the class LoginProjectPage method addListeners.

@Override
protected void addListeners() {
    super.addListeners();
    connectionsViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            try {
                resetProjectOperationSelectionWithBusyCursor(false);
                final ConnectionBean connection = getConnection();
                if (connection == null) {
                    checkErrors();
                    return;
                }
                // }
                if (connection == loginHelper.getCurrentSelectedConnBean()) {
                    return;
                } else {
                    loginHelper.setCurrentSelectedConnBean(connection);
                }
                cancelAndClearFetchJobs();
                errorManager.clearAllMessages();
                // beforeConnBean = connection;
                updateServerFields();
                // Validate data
                if (validateFields()) {
                    fillUIProjectListWithBusyCursor();
                    validateProject();
                }
                checkErrors();
                validateUpdate();
            } catch (PersistenceException e) {
                CommonExceptionHandler.process(e);
            } catch (JSONException e) {
                CommonExceptionHandler.process(e);
            }
        }
    });
    selectExistingProject.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            if (selectExistingProject.getSelection()) {
                // refreshProjectListAreaEnable(true);
                finishButtonAction = FINISH_ACTION_OPEN_PROJECT;
                // changeFinishButtonAction(finishButtonAction);
                try {
                    checkErrors();
                } catch (PersistenceException e1) {
                    CommonExceptionHandler.process(e1);
                }
            } else {
                refreshProjectListAreaEnable(false);
            }
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
        // nothing need to do
        }
    });
    createSandBoxProject.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            if (createSandBoxProject.getSelection()) {
                finishButtonAction = FINISH_ACTION_CREATE_SANDBOX;
                // changeFinishButtonAction(finishButtonAction);
                refreshUIFinishButtonEnable(false);
                executeCreateSandBoxProject.setVisible(true);
                executeCreateSandBoxProject.forceFocus();
            } else {
                executeCreateSandBoxProject.setVisible(false);
            }
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
        // nothing need to do
        }
    });
    importDemoProject.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            if (importDemoProject.getSelection()) {
                finishButtonAction = FINISH_ACTION_IMPORT_DEMO_PROJECT;
                // changeFinishButtonAction(finishButtonAction);
                refreshUIFinishButtonEnable(false);
                executeImportDemoProject.setVisible(true);
                executeImportDemoProject.forceFocus();
            } else {
                executeImportDemoProject.setVisible(false);
            }
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
        // nothing need to do
        }
    });
    importLocalProject.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            if (importLocalProject.getSelection()) {
                finishButtonAction = FINISH_ACTION_IMPORT_LOCAL_PROJECT;
                // changeFinishButtonAction(finishButtonAction);
                refreshUIFinishButtonEnable(false);
                executeImportLocalProject.setVisible(true);
                executeImportLocalProject.forceFocus();
            } else {
                executeImportLocalProject.setVisible(false);
            }
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
        // nothing need to do
        }
    });
    createNewProject.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            if (createNewProject.getSelection()) {
                //$NON-NLS-1$
                createNewProject.setText(Messages.getString("LoginProjectPage.createNewProject.beginCreate"));
                createNewProject.pack();
                FormData formData = (FormData) newProjectName.getLayoutData();
                formData.left = new FormAttachment(createNewProject, createNewProject.getSize().x + TAB_HORIZONTAL_PADDING_LEVEL_2, SWT.LEFT);
                newProjectName.setVisible(true);
                newProjectName.forceFocus();
                executeCreateNewProject.setVisible(true);
                finishButtonAction = FINISH_ACTION_CREATE_NEW_PROJECT;
                // changeFinishButtonAction(finishButtonAction);
                refreshUIFinishButtonEnable(false);
                validateNewProjectName();
            } else {
                //$NON-NLS-1$
                createNewProject.setText(Messages.getString("LoginProjectPage.createNewProject"));
                newProjectName.setVisible(false);
                executeCreateNewProject.setVisible(false);
                getErrorManager().clearCreateNewProjectError();
            // refreshUIFinishButtonEnable();
            }
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
        // nothing need to do
        }
    });
    projectViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            finishButton.setEnabled(false);
            Project project = getProject();
            if (project != null) {
                // last used project will be saved when click finish
                // loginHelper.getPrefManipulator().setLastProject(project.getLabel());
                fetchLicenseIfNeeded(project);
                try {
                    fillUIBranches(project, false);
                } catch (JSONException e) {
                    // TODO Auto-generated catch block
                    ExceptionHandler.process(e);
                }
                setRepositoryContextInContext();
            }
            finishButton.setEnabled(true);
        }
    });
    branchesViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent event) {
        // last used branch of project will be saved when click finish
        // String branch = getBranch();
        // if (branch == null) {
        // branch = SVNConstant.EMPTY;
        // }
        // Project project = getProject();
        // try {
        // loginHelper.getPrefManipulator().setLastSVNBranch(
        // new JSONObject(project.getEmfProject().getUrl()).getString("location"), project.getTechnicalLabel(),
        // branch);
        // } catch (JSONException e) {
        // // TODO Auto-generated catch block
        // ExceptionHandler.process(e);
        // }
        }
    });
    manageButton.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            try {
                ConnectionsDialog connectionsDialog = new ConnectionsDialog(getShell());
                int open = connectionsDialog.open();
                if (open == Window.OK) {
                    List<ConnectionBean> storedConnections = connectionsDialog.getConnections();
                    loginHelper.setStoredConnections(storedConnections);
                    loginHelper.saveConnections();
                    fillUIContentsWithBusyCursor();
                    final ConnectionBean connection = getConnection();
                    if (connection == null) {
                        checkErrors();
                        return;
                    }
                    // beforeConnBean = connection;
                    updateServerFields();
                    // Validate data
                    if (validateFields()) {
                        fillUIProjectListWithBusyCursor();
                        validateProject();
                    }
                    checkErrors();
                    validateUpdate();
                } else if (!LoginHelper.isRemoteConnection(getConnection())) {
                    fillUIProjectListWithBusyCursor();
                    validateProject();
                    checkErrors();
                }
            // setStatusArea();
            } catch (PersistenceException e1) {
                CommonExceptionHandler.process(e1);
            } catch (JSONException e2) {
                CommonExceptionHandler.process(e2);
            }
        }
    });
    refreshProjectButton.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            cancelAndClearFetchJobs();
            LoginProjectPage.this.selectedProjectBeforeRefresh = getProject() == null ? null : getProject().getLabel();
            // Validate data
            if (validateFields()) {
                fillUIProjectListWithBusyCursor();
                validateProject();
            }
            try {
                checkErrors();
                validateUpdate();
            } catch (PersistenceException e1) {
                CommonExceptionHandler.process(e1);
            } catch (JSONException e1) {
                CommonExceptionHandler.process(e1);
            }
            setRepositoryContextInContext();
            LoginProjectPage.this.selectedProjectBeforeRefresh = null;
        }
    });
    newProjectName.addModifyListener(new ModifyListener() {

        @Override
        public void modifyText(ModifyEvent e) {
            validateNewProjectName();
        }
    });
    executeCreateNewProject.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            createNewProjectWithBusyCursor();
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
        // nothing need to do
        }
    });
    executeCreateSandBoxProject.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            createSandboxProject();
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
        // nothing need to do
        }
    });
    executeImportDemoProject.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            importDemoProject();
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
        // nothing need to do
        }
    });
    executeImportLocalProject.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            importProjects();
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
        // nothing need to do
        }
    });
    finishButton.addSelectionListener(new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            if (FINISH_ACTION_OPEN_PROJECT.equals(finishButtonAction)) {
                setRepositoryContextInContext();
                finishPressed();
            } else if (FINISH_ACTION_RESTART.equals(finishButtonAction)) {
                restartStudio();
            } else if (FINISH_ACTION_UPDATE.equals(finishButtonAction) || FINISH_ACTION_UPDATE_DETAILS.equals(finishButtonAction)) {
                updateStudio();
            } else if (FINISH_ACTION_CREATE_SANDBOX.equals(finishButtonAction)) {
                createSandboxProject();
            } else if (FINISH_ACTION_IMPORT_DEMO_PROJECT.equals(finishButtonAction)) {
                importDemoProject();
            } else if (FINISH_ACTION_IMPORT_LOCAL_PROJECT.equals(finishButtonAction)) {
                importProjects();
            } else if (FINISH_ACTION_CREATE_NEW_PROJECT.equals(finishButtonAction)) {
                createNewProjectWithBusyCursor();
            }
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
        // nothing need to do
        }
    });
}
Also used : FormData(org.eclipse.swt.layout.FormData) ModifyListener(org.eclipse.swt.events.ModifyListener) ISelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) JSONException(org.talend.utils.json.JSONException) SelectionChangedEvent(org.eclipse.jface.viewers.SelectionChangedEvent) Project(org.talend.core.model.general.Project) ModifyEvent(org.eclipse.swt.events.ModifyEvent) PersistenceException(org.talend.commons.exception.PersistenceException) SelectionEvent(org.eclipse.swt.events.SelectionEvent) ConnectionBean(org.talend.core.model.general.ConnectionBean) ArrayList(java.util.ArrayList) List(java.util.List) ConnectionsDialog(org.talend.repository.ui.login.connections.ConnectionsDialog) FormAttachment(org.eclipse.swt.layout.FormAttachment) SelectionListener(org.eclipse.swt.events.SelectionListener)

Example 5 with JSONException

use of org.talend.utils.json.JSONException in project tdi-studio-se by Talend.

the class LoginHelper method loginAuto.

public boolean loginAuto() {
    ConnectionBean connBean = getConnection();
    User user = getUser(connBean);
    // must have this init, used to retreive projects
    setRepositoryContextInContext(connBean, user, null, null);
    boolean isRemoteConnection = LoginHelper.isRemoteConnection(connBean);
    if (isRemoteConnection) {
        boolean isStudioNeedUpdate = false;
        try {
            isStudioNeedUpdate = isStudioNeedUpdate(connBean);
        } catch (SystemException e) {
            isStudioNeedUpdate = false;
        }
        if (isStudioNeedUpdate) {
            return false;
        }
    }
    Project lastUsedProject = getLastUsedProject(getProjects(connBean));
    if (lastUsedProject == null) {
        return false;
    }
    String lastUsedBranch = null;
    if (isRemoteConnection) {
        if (svnProviderService != null) {
            String projectUrl = svnProviderService.getProjectUrl(lastUsedProject);
            String projectName = lastUsedProject.getTechnicalLabel();
            lastUsedBranch = prefManipulator.getLastSVNBranch(projectUrl, projectName);
        }
        List<String> branches = null;
        try {
            branches = getProjectBranches(lastUsedProject);
        } catch (JSONException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        if (branches == null || branches.isEmpty()) {
            return false;
        }
        if (!branches.contains(lastUsedBranch)) {
            MessageDialog.openError(getUsableShell(), Messages.getString("LoginHelper.errorTitle"), //$NON-NLS-1$ //$NON-NLS-2$
            Messages.getString("LoginHelper.branchChanged"));
            return false;
        }
    }
    setRepositoryContextInContext(connBean, user, lastUsedProject, lastUsedBranch);
    return logIn(connBean, lastUsedProject);
}
Also used : Project(org.talend.core.model.general.Project) User(org.talend.core.model.properties.User) SystemException(org.talend.commons.exception.SystemException) JSONException(org.talend.utils.json.JSONException) ConnectionBean(org.talend.core.model.general.ConnectionBean)

Aggregations

JSONException (org.talend.utils.json.JSONException)26 JSONObject (org.talend.utils.json.JSONObject)21 JSONArray (org.talend.utils.json.JSONArray)14 Project (org.talend.core.model.general.Project)6 ArrayList (java.util.ArrayList)5 Test (org.junit.Test)5 PersistenceException (org.talend.commons.exception.PersistenceException)4 NoSQLConnection (org.talend.repository.model.nosql.NoSQLConnection)4 HashMap (java.util.HashMap)3 List (java.util.List)3 Map (java.util.Map)3 ConnectionBean (org.talend.core.model.general.ConnectionBean)3 EHadoopParamName (org.talend.metadata.managment.ui.utils.ExtendedNodeConnectionContextUtils.EHadoopParamName)3 Iterator (java.util.Iterator)2 SystemException (org.talend.commons.exception.SystemException)2 Context (org.talend.core.context.Context)2 RepositoryContext (org.talend.core.context.RepositoryContext)2 User (org.talend.core.model.properties.User)2 IConnParamName (org.talend.metadata.managment.ui.model.IConnParamName)2 IProxyRepositoryFactory (org.talend.repository.model.IProxyRepositoryFactory)2