Search in sources :

Example 1 with MobileSmartSource

use of com.twinsoft.convertigo.beans.mobile.components.MobileSmartSource in project convertigo by convertigo.

the class MobilePickerComposite method setCurrentInput.

public void setCurrentInput(Object selected, String source) {
    if (isUpdating)
        return;
    currentMC = null;
    setWidgetsEnabled(true);
    if (selected instanceof MobileComponentTreeObject) {
        UIComponent uic = null;
        if (selected instanceof MobilePageComponentTreeObject) {
            currentMC = ((MobilePageComponentTreeObject) selected).getObject();
        } else if (selected instanceof MobileUIComponentTreeObject) {
            uic = ((MobileUIComponentTreeObject) selected).getObject();
            // currentMC = uic.getPage() != null ? uic.getPage() : (uic.getMenu() != null ?  uic.getMenu() : uic.getApplication());
            currentMC = currentMC == null ? uic.getPage() : currentMC;
            currentMC = currentMC == null ? uic.getMenu() : currentMC;
            currentMC = currentMC == null ? uic.getSharedAction() : currentMC;
            currentMC = currentMC == null ? uic.getSharedComponent() : currentMC;
            currentMC = currentMC == null ? uic.getApplication() : currentMC;
        }
        if (currentMC == null) {
            resetViewers();
        } else {
            if (!currentMC.equals(checkboxTreeViewer.getInput())) {
                resetViewers();
                checkboxTreeViewer.setInput(currentMC);
                initTreeSelection(checkboxTreeViewer, null);
            }
            MobileSmartSource cs = MobileSmartSource.valueOf(source);
            if (cs != null) {
                MobilePickerContentProvider contentProvider = (MobilePickerContentProvider) checkboxTreeViewer.getContentProvider();
                if (isParentDialog) {
                    // when dbo's property edition
                    contentProvider.setSelectedDbo(uic);
                }
                ToolItem buttonToSelect = btnSequence;
                currentSource = source;
                Filter filter = cs.getFilter();
                if (Filter.Sequence.equals(filter)) {
                    buttonToSelect = btnSequence;
                }
                if (Filter.Database.equals(filter)) {
                    buttonToSelect = btnDatabase;
                }
                if (Filter.Action.equals(filter)) {
                    buttonToSelect = btnAction;
                }
                if (Filter.Shared.equals(filter)) {
                    buttonToSelect = btnShared;
                }
                if (Filter.Iteration.equals(filter)) {
                    buttonToSelect = btnIteration;
                }
                if (Filter.Form.equals(filter)) {
                    buttonToSelect = btnForm;
                }
                if (Filter.Global.equals(filter)) {
                    buttonToSelect = btnGlobal;
                }
                buttonToSelect.notifyListeners(SWT.Selection, null);
            }
        }
        updateMessage();
    } else {
        resetViewers();
        updateMessage();
    }
}
Also used : MobileUIComponentTreeObject(com.twinsoft.convertigo.eclipse.views.projectexplorer.model.MobileUIComponentTreeObject) MobilePageComponentTreeObject(com.twinsoft.convertigo.eclipse.views.projectexplorer.model.MobilePageComponentTreeObject) MobileSmartSource(com.twinsoft.convertigo.beans.mobile.components.MobileSmartSource) Filter(com.twinsoft.convertigo.beans.mobile.components.MobileSmartSource.Filter) UIComponent(com.twinsoft.convertigo.beans.mobile.components.UIComponent) MobileComponentTreeObject(com.twinsoft.convertigo.eclipse.views.projectexplorer.model.MobileComponentTreeObject) ToolItem(org.eclipse.swt.widgets.ToolItem)

Example 2 with MobileSmartSource

use of com.twinsoft.convertigo.beans.mobile.components.MobileSmartSource in project convertigo by convertigo.

the class MobilePickerComposite method initTreeSelection.

private void initTreeSelection(TreeViewer treeViewer, Object object) {
    if (treeViewer != null) {
        if (object == null) {
            TreeItem[] treeItems = treeViewer.getTree().getItems();
            if (treeItems.length > 0) {
                object = treeItems[0].getData();
            }
        }
        StructuredSelection structuredSelection = null;
        if (object != null) {
            structuredSelection = new StructuredSelection(object);
        }
        MobileSmartSource cs = MobileSmartSource.valueOf(currentSource);
        if (treeViewer.equals(checkboxTreeViewer)) {
            checkboxTreeViewer.expandAll();
            if (cs != null) {
                checkedList.clear();
                fillCheckedList(null, cs.getSources());
                if (checkedList.size() > 0) {
                    structuredSelection = new StructuredSelection(checkedList.get(0));
                }
            }
            if (checkedList.isEmpty() && structuredSelection != null) {
                checkedList.add((TVObject) structuredSelection.getFirstElement());
            }
            checkboxTreeViewer.setSelection(structuredSelection);
            updateGrayChecked();
        } else if (treeViewer.equals(modelTreeViewer)) {
            modelTreeViewer.refresh();
            if (cs != null) {
                String modelPath = cs.getModelPath();
                if (!modelPath.isEmpty()) {
                    modelTreeViewer.expandAll();
                    TVObject tvo = findModelItem(null, modelPath.replaceAll("\\?\\.", "."));
                    if (tvo != null) {
                        modelTreeViewer.collapseAll();
                        modelTreeViewer.expandToLevel(tvo, 0);
                        modelTreeViewer.setSelection(new StructuredSelection(tvo));
                    } else {
                        modelTreeViewer.collapseAll();
                        modelTreeViewer.expandToLevel(1);
                    }
                }
            }
        }
        if (cs != null) {
            if (treeViewer.equals(checkboxTreeViewer)) {
                checkedList.clear();
                fillCheckedList(null, cs.getSources());
                updateGrayChecked();
                updateTexts(cs);
            } else {
                if (lastSelected.equals(firstSelected)) {
                    updateTexts(cs);
                } else {
                    updateTexts();
                }
            }
        } else {
            updateTexts();
        }
    }
}
Also used : TVObject(com.twinsoft.convertigo.eclipse.views.mobile.MobilePickerContentProvider.TVObject) MobileSmartSource(com.twinsoft.convertigo.beans.mobile.components.MobileSmartSource) TreeItem(org.eclipse.swt.widgets.TreeItem) StructuredSelection(org.eclipse.jface.viewers.StructuredSelection) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection)

Example 3 with MobileSmartSource

use of com.twinsoft.convertigo.beans.mobile.components.MobileSmartSource in project convertigo by convertigo.

the class MobilePickerComposite method makeUI.

private void makeUI(Composite parent) {
    parent.setLayout(new GridLayout(1, false));
    parent.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND));
    SelectionListener listener = new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            final MobilePickerContentProvider contentProvider = (MobilePickerContentProvider) checkboxTreeViewer.getContentProvider();
            if (contentProvider != null) {
                btnSequence.setSelection(false);
                btnDatabase.setSelection(false);
                btnAction.setSelection(false);
                btnShared.setSelection(false);
                btnIteration.setSelection(false);
                btnForm.setSelection(false);
                btnGlobal.setSelection(false);
                ToolItem button = (ToolItem) e.widget;
                button.setSelection(true);
                if (btnSequence.getSelection()) {
                    contentProvider.setFilterBy(Filter.Sequence);
                } else if (btnDatabase.getSelection()) {
                    contentProvider.setFilterBy(Filter.Database);
                } else if (btnAction.getSelection()) {
                    contentProvider.setFilterBy(Filter.Action);
                } else if (btnShared.getSelection()) {
                    contentProvider.setFilterBy(Filter.Shared);
                } else if (btnIteration.getSelection()) {
                    contentProvider.setFilterBy(Filter.Iteration);
                } else if (btnForm.getSelection()) {
                    contentProvider.setFilterBy(Filter.Form);
                } else if (btnGlobal.getSelection()) {
                    contentProvider.setFilterBy(Filter.Global);
                }
                modelTreeViewer.setInput(null);
                checkboxTreeViewer.getTree().removeAll();
                checkboxTreeViewer.refresh();
                initTreeSelection(checkboxTreeViewer, null);
            }
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
        }
    };
    SelectionListener c_listener = new SelectionListener() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            boolean isCustom = b_custom.getSelection();
            boolean doSetCustomText = false;
            if (isParentDialog) {
                MobileSmartSource cs = MobileSmartSource.valueOf(currentSource);
                if (cs != null && cs.getModel() != null && cs.getModel().getCustom().isEmpty()) {
                    doSetCustomText = true;
                }
            } else {
                doSetCustomText = true;
            }
            if (doSetCustomText) {
                MobileSmartSource nmss = MobileSmartSource.valueOf(getSmartSourceString());
                if (nmss != null) {
                    if (isCustom && !t_custom.getEnabled()) {
                        t_custom.setText(nmss.getModel().computeValue());
                    }
                    if (!isCustom && t_custom.getEnabled()) {
                        t_custom.setText("");
                    }
                }
            }
            t_custom.setEnabled(isCustom);
            t_prefix.setEnabled(!isCustom);
            t_data.setEnabled(!isCustom);
            t_suffix.setEnabled(!isCustom);
        }

        @Override
        public void widgetDefaultSelected(SelectionEvent e) {
        }
    };
    headerComposite = new Composite(parent, SWT.NONE);
    headerComposite.setLayout(SwtUtils.newGridLayout(2, false, 0, 0, 0, 0));
    headerComposite.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false, 1, 1));
    ToolBar toolbar = new ToolBar(headerComposite, SWT.NONE);
    int btnStyle = SWT.CHECK;
    Image image = null;
    btnSequence = new ToolItem(toolbar, btnStyle);
    try {
        image = ConvertigoPlugin.getDefault().getIconFromPath("/com/twinsoft/convertigo/beans/core/images/sequence_color_16x16.png", BeanInfo.ICON_COLOR_16x16);
    } catch (Exception e) {
        btnSequence.setText("SQ");
    }
    btnSequence.setImage(image);
    btnSequence.setToolTipText("Show Sequence Sources");
    btnSequence.addSelectionListener(listener);
    btnSequence.setSelection(true);
    btnDatabase = new ToolItem(toolbar, btnStyle);
    try {
        image = ConvertigoPlugin.getDefault().getIconFromPath("/com/twinsoft/convertigo/beans/connectors/images/fullsyncconnector_color_16x16.png", BeanInfo.ICON_COLOR_16x16);
    } catch (Exception e) {
        btnDatabase.setText("FS");
    }
    btnDatabase.setImage(image);
    btnDatabase.setToolTipText("Show FullSync Databases Sources");
    btnDatabase.addSelectionListener(listener);
    btnAction = new ToolItem(toolbar, btnStyle);
    try {
        image = ConvertigoPlugin.getDefault().getIconFromPath("/com/twinsoft/convertigo/beans/mobile/components/images/uicustomaction_color_16x16.png", BeanInfo.ICON_COLOR_16x16);
    } catch (Exception e) {
        btnAction.setText("AC");
    }
    btnAction.setImage(image);
    btnAction.setToolTipText("Show Action Sources");
    btnAction.addSelectionListener(listener);
    btnShared = new ToolItem(toolbar, btnStyle);
    try {
        image = ConvertigoPlugin.getDefault().getIconFromPath("/com/twinsoft/convertigo/beans/mobile/components/images/uisharedcomponent_color_16x16.png", BeanInfo.ICON_COLOR_16x16);
    } catch (Exception e) {
        btnShared.setText("SH");
    }
    btnShared.setImage(image);
    btnShared.setToolTipText("Show Shared component Sources");
    btnShared.addSelectionListener(listener);
    btnIteration = new ToolItem(toolbar, btnStyle);
    try {
        image = ConvertigoPlugin.getDefault().getIconFromPath("/com/twinsoft/convertigo/beans/steps/images/iterator_16x16.png", BeanInfo.ICON_COLOR_16x16);
    } catch (Exception e) {
        btnIteration.setText("IT");
    }
    btnIteration.setImage(image);
    btnIteration.setToolTipText("Show Iterators on current page Sources");
    btnIteration.addSelectionListener(listener);
    btnForm = new ToolItem(toolbar, btnStyle);
    try {
        image = ConvertigoPlugin.getDefault().getIconFromPath("/com/twinsoft/convertigo/beans/mobile/components/images/uiform_color_16x16.png", BeanInfo.ICON_COLOR_16x16);
    } catch (Exception e) {
        btnForm.setText("FM");
    }
    btnForm.setImage(image);
    btnForm.setToolTipText("Show Forms on current page Sources");
    btnForm.addSelectionListener(listener);
    btnGlobal = new ToolItem(toolbar, btnStyle);
    try {
        image = ConvertigoPlugin.getDefault().getIconFromPath("/com/twinsoft/convertigo/beans/mobile/components/dynamic/images/setglobalaction_color_16x16.png", BeanInfo.ICON_COLOR_16x16);
    } catch (Exception e) {
        btnGlobal.setText("GS");
    }
    btnGlobal.setImage(image);
    btnGlobal.setToolTipText("Show Global Shared objects");
    btnGlobal.addSelectionListener(listener);
    message = new Label(headerComposite, SWT.NONE);
    message.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
    SashForm treesSashForm = new SashForm(parent, SWT.NONE);
    treesSashForm.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
    checkboxTreeViewer = new CheckboxTreeViewer(treesSashForm, SWT.BORDER | SWT.SINGLE);
    checkboxTreeViewer.setContentProvider(new MobilePickerContentProvider());
    checkboxTreeViewer.addCheckStateListener(new ICheckStateListener() {

        @Override
        public void checkStateChanged(CheckStateChangedEvent event) {
            Object element = event.getElement();
            if (element instanceof TVObject) {
                if (btnIteration.getSelection() || btnForm.getSelection() || btnGlobal.getSelection()) {
                    checkboxTreeViewer.setChecked(element, !event.getChecked());
                    return;
                }
                TVObject tvoChecked = (TVObject) element;
                if (event.getChecked())
                    checkedList.add(tvoChecked);
                else
                    checkedList.remove(tvoChecked);
                updateGrayChecked();
                updateTexts();
            }
        }
    });
    checkboxTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            Object selected = ((IStructuredSelection) event.getSelection()).getFirstElement();
            if (selected instanceof TVObject && !selected.equals(lastSelected)) {
                TVObject tvoSelected = (TVObject) selected;
                lastSelected = selected;
                if (firstSelected == null) {
                    firstSelected = selected;
                }
                checkedList.clear();
                checkedList.add(tvoSelected);
                modelTreeViewer.setInput(null);
                updateModel(tvoSelected);
                updateGrayChecked();
                updateTexts();
            }
        }
    });
    modelTreeViewer = new TreeViewer(treesSashForm, SWT.BORDER);
    modelTreeViewer.setContentProvider(new MobilePickerContentProvider());
    modelTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            Object selected = ((IStructuredSelection) event.getSelection()).getFirstElement();
            if (selected instanceof TVObject) {
                updateTexts();
            }
        }
    });
    treesSashForm.setWeights(new int[] { 1, 1 });
    Composite sourceComposite = new Composite(parent, SWT.NONE);
    sourceComposite.setLayout(new GridLayout(2, false));
    sourceComposite.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
    if (isParentDialog) {
        l_source = new Label(sourceComposite, SWT.NONE);
        ((Label) l_source).setText(" SOURCE ");
    } else {
        l_source = new Button(sourceComposite, SWT.NONE);
        ((Button) l_source).setText(" SOURCE ");
        l_source.setToolTipText("Drag me on a Mobile UI component in the project tree to bind this source to an UI component property");
    }
    Composite dataComposite = new Composite(sourceComposite, SWT.NONE);
    dataComposite.setLayout(new GridLayout(2, false));
    dataComposite.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
    Label l_prefix = new Label(dataComposite, SWT.NONE);
    l_prefix.setText("Prefix");
    t_prefix = new Text(dataComposite, SWT.BORDER);
    t_prefix.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
    Label l_data = new Label(dataComposite, SWT.NONE);
    l_data.setText("Data");
    t_data = new Text(dataComposite, SWT.BORDER | SWT.READ_ONLY);
    t_data.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
    Label l_suffix = new Label(dataComposite, SWT.NONE);
    l_suffix.setText("Suffix");
    t_suffix = new Text(dataComposite, SWT.BORDER);
    t_suffix.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
    b_custom = new Button(dataComposite, SWT.CHECK);
    b_custom.setText("Custom");
    b_custom.addSelectionListener(c_listener);
    t_custom = new Text(dataComposite, SWT.BORDER);
    t_custom.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
    t_custom.setEnabled(false);
    // Add DND support
    boolean dragEnabled = !isParentDialog;
    if (dragEnabled) {
        Transfer[] dragTransfers = new Transfer[] { MobileSourceTransfer.getInstance() };
        int operations = DND.DROP_COPY | DND.DROP_MOVE;
        DragSourceAdapter dragAdapter = new DragSourceAdapter() {

            @Override
            public void dragStart(DragSourceEvent event) {
                try {
                    String jsonString = getSmartSourceString();
                    if (jsonString != null && !jsonString.isEmpty()) {
                        event.doit = true;
                        MobileSourceTransfer.getInstance().setMobileSource(new MobileSource(jsonString));
                    }
                } catch (Exception e) {
                    ConvertigoPlugin.logException(e, "Cannot drag");
                }
            }
        };
        DragSource source = null;
        source = new DragSource(modelTreeViewer.getTree(), operations);
        source.setTransfer(dragTransfers);
        source.addDragListener(dragAdapter);
        source = new DragSource(l_source, operations);
        source.setTransfer(dragTransfers);
        source.addDragListener(dragAdapter);
    }
}
Also used : TVObject(com.twinsoft.convertigo.eclipse.views.mobile.MobilePickerContentProvider.TVObject) ICheckStateListener(org.eclipse.jface.viewers.ICheckStateListener) TreeViewer(org.eclipse.jface.viewers.TreeViewer) CheckboxTreeViewer(org.eclipse.jface.viewers.CheckboxTreeViewer) Label(org.eclipse.swt.widgets.Label) SelectionChangedEvent(org.eclipse.jface.viewers.SelectionChangedEvent) Image(org.eclipse.swt.graphics.Image) DragSourceEvent(org.eclipse.swt.dnd.DragSourceEvent) GridLayout(org.eclipse.swt.layout.GridLayout) Button(org.eclipse.swt.widgets.Button) SelectionEvent(org.eclipse.swt.events.SelectionEvent) ToolItem(org.eclipse.swt.widgets.ToolItem) DragSourceAdapter(org.eclipse.swt.dnd.DragSourceAdapter) Composite(org.eclipse.swt.widgets.Composite) ISelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) Text(org.eclipse.swt.widgets.Text) DragSource(org.eclipse.swt.dnd.DragSource) MobileSource(com.twinsoft.convertigo.eclipse.dnd.MobileSource) PartInitException(org.eclipse.ui.PartInitException) JSONException(org.codehaus.jettison.json.JSONException) CheckboxTreeViewer(org.eclipse.jface.viewers.CheckboxTreeViewer) SashForm(org.eclipse.swt.custom.SashForm) MobileSmartSource(com.twinsoft.convertigo.beans.mobile.components.MobileSmartSource) GridData(org.eclipse.swt.layout.GridData) ToolBar(org.eclipse.swt.widgets.ToolBar) Transfer(org.eclipse.swt.dnd.Transfer) MobileSourceTransfer(com.twinsoft.convertigo.eclipse.dnd.MobileSourceTransfer) DatabaseObject(com.twinsoft.convertigo.beans.core.DatabaseObject) JSONObject(org.codehaus.jettison.json.JSONObject) TVObject(com.twinsoft.convertigo.eclipse.views.mobile.MobilePickerContentProvider.TVObject) MobileUIComponentTreeObject(com.twinsoft.convertigo.eclipse.views.projectexplorer.model.MobileUIComponentTreeObject) XmlSchemaObject(org.apache.ws.commons.schema.XmlSchemaObject) RequestableObject(com.twinsoft.convertigo.beans.core.RequestableObject) MobilePageComponentTreeObject(com.twinsoft.convertigo.eclipse.views.projectexplorer.model.MobilePageComponentTreeObject) MobileObject(com.twinsoft.convertigo.beans.core.MobileObject) MobileComponentTreeObject(com.twinsoft.convertigo.eclipse.views.projectexplorer.model.MobileComponentTreeObject) CheckStateChangedEvent(org.eclipse.jface.viewers.CheckStateChangedEvent) SelectionListener(org.eclipse.swt.events.SelectionListener)

Example 4 with MobileSmartSource

use of com.twinsoft.convertigo.beans.mobile.components.MobileSmartSource in project convertigo by convertigo.

the class MobilePickerComposite method lookupModelData.

private Map<String, Object> lookupModelData(TVObject tvObject) {
    Map<String, Object> data = new HashMap<String, Object>();
    Map<String, String> params = new HashMap<String, String>();
    DatabaseObject dbo = null;
    String searchPath = "";
    Object object = tvObject.getObject();
    JSONObject infos = tvObject.getInfos();
    if (object != null) {
        try {
            if (object instanceof RequestableObject) {
                dbo = (RequestableObject) object;
                searchPath = "";
            } else if (object instanceof DesignDocument) {
                dbo = (DesignDocument) object;
                DesignDocument dd = (DesignDocument) dbo;
                params.put("ddoc", dd.getName());
                params.put("view", tvObject.getParent().getName());
                params.put("include_docs", infos.has("include_docs") ? infos.getString("include_docs") : "false");
                searchPath = tvObject.getName().startsWith("get") ? ".rows.value" : "";
            } else if (object instanceof UIControlDirective) {
                dbo = (UIControlDirective) object;
                do {
                    UIControlDirective directive = (UIControlDirective) dbo;
                    String rootDboName = "";
                    if (directive.getPage() != null) {
                        rootDboName = directive.getPage().getName();
                    } else if (directive.getMenu() != null) {
                        rootDboName = directive.getMenu().getName();
                    }
                    MobileSmartSourceType msst = directive.getSourceSmartType();
                    MobileSmartSource mss = msst.getSmartSource();
                    if (mss != null) {
                        dbo = mss.getDatabaseObject(rootDboName);
                        params.putAll(mss.getParameters());
                        searchPath = mss.getModelPath().replaceAll("\\?\\.", ".") + searchPath;
                    } else {
                        dbo = null;
                    }
                } while (dbo != null && dbo instanceof UIControlDirective);
            } else if (object instanceof UIForm) {
                dbo = (UIForm) object;
                searchPath = "";
            } else if (object instanceof ApplicationComponent) {
                dbo = (ApplicationComponent) object;
                params.put("json", infos.toString());
                searchPath = "";
            } else if (object instanceof UIActionStack) {
                dbo = (UIActionStack) object;
                searchPath = "";
            } else if (object instanceof IAction) {
                if (object instanceof UIDynamicAction) {
                    dbo = (UIDynamicAction) object;
                    searchPath = "";
                } else if (object instanceof UICustomAction) {
                    dbo = (UICustomAction) object;
                    searchPath = "";
                }
            } else if (object instanceof UISharedComponent) {
                dbo = (UISharedComponent) object;
                searchPath = "";
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    data.put("databaseObject", dbo);
    data.put("params", params);
    data.put("searchPath", searchPath);
    return data;
}
Also used : RequestableObject(com.twinsoft.convertigo.beans.core.RequestableObject) IAction(com.twinsoft.convertigo.beans.mobile.components.IAction) HashMap(java.util.HashMap) MobileSmartSourceType(com.twinsoft.convertigo.beans.mobile.components.MobileSmartSourceType) ApplicationComponent(com.twinsoft.convertigo.beans.mobile.components.ApplicationComponent) UIControlDirective(com.twinsoft.convertigo.beans.mobile.components.UIControlDirective) UIForm(com.twinsoft.convertigo.beans.mobile.components.UIForm) UISharedComponent(com.twinsoft.convertigo.beans.mobile.components.UISharedComponent) PartInitException(org.eclipse.ui.PartInitException) JSONException(org.codehaus.jettison.json.JSONException) UIActionStack(com.twinsoft.convertigo.beans.mobile.components.UIActionStack) MobileSmartSource(com.twinsoft.convertigo.beans.mobile.components.MobileSmartSource) UIDynamicAction(com.twinsoft.convertigo.beans.mobile.components.UIDynamicAction) JSONObject(org.codehaus.jettison.json.JSONObject) DesignDocument(com.twinsoft.convertigo.beans.couchdb.DesignDocument) DatabaseObject(com.twinsoft.convertigo.beans.core.DatabaseObject) UICustomAction(com.twinsoft.convertigo.beans.mobile.components.UICustomAction) DatabaseObject(com.twinsoft.convertigo.beans.core.DatabaseObject) JSONObject(org.codehaus.jettison.json.JSONObject) TVObject(com.twinsoft.convertigo.eclipse.views.mobile.MobilePickerContentProvider.TVObject) MobileUIComponentTreeObject(com.twinsoft.convertigo.eclipse.views.projectexplorer.model.MobileUIComponentTreeObject) XmlSchemaObject(org.apache.ws.commons.schema.XmlSchemaObject) RequestableObject(com.twinsoft.convertigo.beans.core.RequestableObject) MobilePageComponentTreeObject(com.twinsoft.convertigo.eclipse.views.projectexplorer.model.MobilePageComponentTreeObject) MobileObject(com.twinsoft.convertigo.beans.core.MobileObject) MobileComponentTreeObject(com.twinsoft.convertigo.eclipse.views.projectexplorer.model.MobileComponentTreeObject)

Example 5 with MobileSmartSource

use of com.twinsoft.convertigo.beans.mobile.components.MobileSmartSource in project convertigo by convertigo.

the class MobilePickerComposite method getSmartSourceString.

public String getSmartSourceString() {
    try {
        Filter filter = getFilter();
        String projectName = currentMC.getProject().getName();
        MobileSmartSource cmss = MobileSmartSource.valueOf(currentSource);
        String input = cmss == null ? "" : cmss.getInput();
        String path = getModelPath();
        String searchPath = "root";
        int index = path.indexOf(searchPath);
        if (index != -1) {
            path = path.substring(index + searchPath.length());
        }
        SourceModel model = MobileSmartSource.emptyModel(filter);
        model.setCustom(t_custom.getText());
        model.setPrefix(t_prefix.getText());
        model.setSuffix(t_suffix.getText());
        model.setUseCustom(b_custom.getSelection());
        model.setSourceData(getModelData());
        model.setPath(path);
        JSONObject jsonModel = model.toJson();
        // System.out.println(jsonModel.toString(1));
        MobileSmartSource nmss = new MobileSmartSource(filter, projectName, input, jsonModel);
        // System.out.println(nmss.toJsonString(1));
        return nmss.toJsonString();
    } catch (Exception e) {
        return "";
    }
}
Also used : SourceModel(com.twinsoft.convertigo.beans.mobile.components.MobileSmartSource.SourceModel) MobileSmartSource(com.twinsoft.convertigo.beans.mobile.components.MobileSmartSource) JSONObject(org.codehaus.jettison.json.JSONObject) Filter(com.twinsoft.convertigo.beans.mobile.components.MobileSmartSource.Filter) PartInitException(org.eclipse.ui.PartInitException) JSONException(org.codehaus.jettison.json.JSONException)

Aggregations

MobileSmartSource (com.twinsoft.convertigo.beans.mobile.components.MobileSmartSource)6 DatabaseObject (com.twinsoft.convertigo.beans.core.DatabaseObject)3 TVObject (com.twinsoft.convertigo.eclipse.views.mobile.MobilePickerContentProvider.TVObject)3 MobileComponentTreeObject (com.twinsoft.convertigo.eclipse.views.projectexplorer.model.MobileComponentTreeObject)3 MobilePageComponentTreeObject (com.twinsoft.convertigo.eclipse.views.projectexplorer.model.MobilePageComponentTreeObject)3 MobileUIComponentTreeObject (com.twinsoft.convertigo.eclipse.views.projectexplorer.model.MobileUIComponentTreeObject)3 JSONException (org.codehaus.jettison.json.JSONException)3 JSONObject (org.codehaus.jettison.json.JSONObject)3 PartInitException (org.eclipse.ui.PartInitException)3 MobileObject (com.twinsoft.convertigo.beans.core.MobileObject)2 RequestableObject (com.twinsoft.convertigo.beans.core.RequestableObject)2 DesignDocument (com.twinsoft.convertigo.beans.couchdb.DesignDocument)2 Filter (com.twinsoft.convertigo.beans.mobile.components.MobileSmartSource.Filter)2 MobileSmartSourceType (com.twinsoft.convertigo.beans.mobile.components.MobileSmartSourceType)2 UIActionStack (com.twinsoft.convertigo.beans.mobile.components.UIActionStack)2 UIComponent (com.twinsoft.convertigo.beans.mobile.components.UIComponent)2 UIDynamicAction (com.twinsoft.convertigo.beans.mobile.components.UIDynamicAction)2 UISharedComponent (com.twinsoft.convertigo.beans.mobile.components.UISharedComponent)2 XmlSchemaObject (org.apache.ws.commons.schema.XmlSchemaObject)2 ToolItem (org.eclipse.swt.widgets.ToolItem)2