Search in sources :

Example 16 with EngineEvent

use of com.twinsoft.convertigo.engine.EngineEvent in project convertigo by convertigo.

the class CreateScreenClassFromSelectionZoneAction method run.

public void run() {
    Display display = Display.getDefault();
    Cursor waitCursor = new Cursor(display, SWT.CURSOR_WAIT);
    Shell shell = getParentShell();
    shell.setCursor(waitCursor);
    try {
        ProjectExplorerView explorerView = getProjectExplorerView();
        IWorkbenchPart wpart = getActivePart();
        if ((explorerView != null) && (wpart != null) && (wpart instanceof ConnectorEditor)) {
            ConnectorEditor connectorEditor = (ConnectorEditor) wpart;
            ConnectorEditorPart connectorEditorPart = connectorEditor.getConnectorEditorPart();
            AbstractConnectorComposite connectorComposite = connectorEditorPart.getConnectorComposite();
            if ((connectorComposite != null) && (connectorComposite instanceof JavelinConnectorComposite)) {
                Javelin javelin = ((JavelinConnectorComposite) connectorComposite).getJavelin();
                ScreenClass currentScreenClass = ((JavelinConnector) connectorEditorPart.getConnector()).getCurrentScreenClass();
                Engine.theApp.fireObjectDetected(new EngineEvent(currentScreenClass));
                ScreenClassTreeObject lastDetectedScreenClassTreeObject = explorerView.getLastDetectedScreenClassTreeObject();
                if (lastDetectedScreenClassTreeObject != null) {
                    Rectangle zone = javelin.getSelectionZone();
                    String strZone = javelin.getString(zone.x, zone.y, zone.width);
                    ScreenClass lastDetectedScreenClass = (ScreenClass) lastDetectedScreenClassTreeObject.getObject();
                    JavelinScreenClass screenClass = new JavelinScreenClass();
                    screenClass.priority = lastDetectedScreenClass.priority + 1;
                    screenClass.hasChanged = true;
                    screenClass.bNew = true;
                    lastDetectedScreenClass.add(screenClass);
                    FindString fs = new FindString();
                    fs.setString(strZone);
                    fs.setX(zone.x);
                    fs.setY(zone.y);
                    fs.hasChanged = true;
                    fs.bNew = true;
                    // Determine whether there is the same attribute for each character
                    boolean isSameAttribute = true;
                    int attribute = javelin.getCharAttribute(zone.x, zone.y);
                    for (int i = 1; (i < zone.width) && isSameAttribute; i++) {
                        isSameAttribute = JavelinUtils.isSameAttribute(attribute, javelin.getCharAttribute(zone.x + i, zone.y));
                    }
                    fs.setAttribute(isSameAttribute ? attribute : -1);
                    screenClass.addCriteria(fs);
                    explorerView.reloadTreeObject(lastDetectedScreenClassTreeObject);
                    Engine.theApp.fireObjectDetected(new EngineEvent(screenClass));
                    javelin.setSelectionZone(new Rectangle(0, 0, 0, 0));
                }
            }
        }
    } catch (Throwable e) {
        ConvertigoPlugin.logException(e, "Unable to create screen class from selection zone!");
    } finally {
        shell.setCursor(null);
        waitCursor.dispose();
    }
}
Also used : JavelinScreenClass(com.twinsoft.convertigo.beans.screenclasses.JavelinScreenClass) ProjectExplorerView(com.twinsoft.convertigo.eclipse.views.projectexplorer.ProjectExplorerView) ScreenClass(com.twinsoft.convertigo.beans.core.ScreenClass) JavelinScreenClass(com.twinsoft.convertigo.beans.screenclasses.JavelinScreenClass) AbstractConnectorComposite(com.twinsoft.convertigo.eclipse.editors.connector.AbstractConnectorComposite) JavelinConnectorComposite(com.twinsoft.convertigo.eclipse.editors.connector.JavelinConnectorComposite) Rectangle(java.awt.Rectangle) Javelin(com.twinsoft.twinj.Javelin) FindString(com.twinsoft.convertigo.beans.common.FindString) Cursor(org.eclipse.swt.graphics.Cursor) ConnectorEditor(com.twinsoft.convertigo.eclipse.editors.connector.ConnectorEditor) ConnectorEditorPart(com.twinsoft.convertigo.eclipse.editors.connector.ConnectorEditorPart) JavelinConnector(com.twinsoft.convertigo.beans.connectors.JavelinConnector) Shell(org.eclipse.swt.widgets.Shell) IWorkbenchPart(org.eclipse.ui.IWorkbenchPart) ScreenClassTreeObject(com.twinsoft.convertigo.eclipse.views.projectexplorer.model.ScreenClassTreeObject) EngineEvent(com.twinsoft.convertigo.engine.EngineEvent) FindString(com.twinsoft.convertigo.beans.common.FindString) Display(org.eclipse.swt.widgets.Display)

Example 17 with EngineEvent

use of com.twinsoft.convertigo.engine.EngineEvent in project convertigo by convertigo.

the class CreateTagNameFromSelectionZoneAction method run.

public void run() {
    Display display = Display.getDefault();
    Cursor waitCursor = new Cursor(display, SWT.CURSOR_WAIT);
    Shell shell = getParentShell();
    shell.setCursor(waitCursor);
    try {
        final ProjectExplorerView explorerView = getProjectExplorerView();
        IWorkbenchPart wpart = getActivePart();
        if ((explorerView != null) && (wpart != null) && (wpart instanceof ConnectorEditor)) {
            ConnectorEditor connectorEditor = (ConnectorEditor) wpart;
            ConnectorEditorPart connectorEditorPart = connectorEditor.getConnectorEditorPart();
            AbstractConnectorComposite connectorComposite = connectorEditorPart.getConnectorComposite();
            if ((connectorComposite != null) && (connectorComposite instanceof JavelinConnectorComposite)) {
                final Javelin javelin = ((JavelinConnectorComposite) connectorComposite).getJavelin();
                ScreenClass currentScreenClass = ((JavelinConnector) connectorEditorPart.getConnector()).getCurrentScreenClass();
                Engine.theApp.fireObjectDetected(new EngineEvent(currentScreenClass));
                final ScreenClassTreeObject lastDetectedScreenClassTreeObject = explorerView.getLastDetectedScreenClassTreeObject();
                if (lastDetectedScreenClassTreeObject != null) {
                    final ScreenClass lastDetectedScreenClass = (ScreenClass) lastDetectedScreenClassTreeObject.getObject();
                    final TagName tagName = new TagName();
                    final InputDialog dlg = new InputDialog(shell, "New TagName", "Please enter a tag name :", "_configure_a_tag_name_", null);
                    if (dlg.open() == Window.OK) {
                        display.asyncExec(new Runnable() {

                            public void run() {
                                try {
                                    String name = dlg.getValue();
                                    Rectangle zone = javelin.getSelectionZone();
                                    tagName.setTagName(StringUtils.normalize(name));
                                    tagName.setSelectionScreenZone(new XMLRectangle(zone.x, zone.y, zone.width, zone.height));
                                    tagName.setSelectionAttribute(javelin.getCharAttribute(zone.x, zone.y));
                                    tagName.setSelectionType("");
                                    tagName.hasChanged = true;
                                    tagName.bNew = true;
                                    lastDetectedScreenClass.addExtractionRule(tagName);
                                    explorerView.reloadTreeObject(lastDetectedScreenClassTreeObject);
                                } catch (Exception e) {
                                    ConvertigoPlugin.logException(e, "Unable to create screen class from selection zone!");
                                }
                                javelin.setSelectionZone(new Rectangle(0, 0, 0, 0));
                            }
                        });
                    } else {
                        javelin.setSelectionZone(new Rectangle(0, 0, 0, 0));
                    }
                }
            }
        }
    } catch (Throwable e) {
        ConvertigoPlugin.logException(e, "Unable to create screen class from selection zone!");
    } finally {
        shell.setCursor(null);
        waitCursor.dispose();
    }
}
Also used : ProjectExplorerView(com.twinsoft.convertigo.eclipse.views.projectexplorer.ProjectExplorerView) InputDialog(org.eclipse.jface.dialogs.InputDialog) TagName(com.twinsoft.convertigo.beans.common.TagName) ScreenClass(com.twinsoft.convertigo.beans.core.ScreenClass) AbstractConnectorComposite(com.twinsoft.convertigo.eclipse.editors.connector.AbstractConnectorComposite) JavelinConnectorComposite(com.twinsoft.convertigo.eclipse.editors.connector.JavelinConnectorComposite) Rectangle(java.awt.Rectangle) XMLRectangle(com.twinsoft.convertigo.beans.common.XMLRectangle) Javelin(com.twinsoft.twinj.Javelin) Cursor(org.eclipse.swt.graphics.Cursor) ConnectorEditor(com.twinsoft.convertigo.eclipse.editors.connector.ConnectorEditor) ConnectorEditorPart(com.twinsoft.convertigo.eclipse.editors.connector.ConnectorEditorPart) JavelinConnector(com.twinsoft.convertigo.beans.connectors.JavelinConnector) Shell(org.eclipse.swt.widgets.Shell) IWorkbenchPart(org.eclipse.ui.IWorkbenchPart) ScreenClassTreeObject(com.twinsoft.convertigo.eclipse.views.projectexplorer.model.ScreenClassTreeObject) XMLRectangle(com.twinsoft.convertigo.beans.common.XMLRectangle) EngineEvent(com.twinsoft.convertigo.engine.EngineEvent) Display(org.eclipse.swt.widgets.Display)

Example 18 with EngineEvent

use of com.twinsoft.convertigo.engine.EngineEvent in project convertigo by convertigo.

the class BaseRule method fireEvents.

public void fireEvents() {
    if (Engine.isStudioMode()) {
        Engine.theApp.fireObjectDetected(new EngineEvent(this));
        if (getConnector().isDebugging()) {
            Engine.logSiteClipper.trace("(BaseRule) Step reached before applying rule \"" + getName() + "\".");
            Engine.theApp.fireStepReached(new EngineEvent(this));
        }
    }
}
Also used : EngineEvent(com.twinsoft.convertigo.engine.EngineEvent)

Example 19 with EngineEvent

use of com.twinsoft.convertigo.engine.EngineEvent in project convertigo by convertigo.

the class ConnectorEditorPartWrap method checkEventSource.

private boolean checkEventSource(EventObject event) {
    boolean isSourceFromConnector = false;
    if (event instanceof RequestableEngineEvent) {
        RequestableEngineEvent requestableEvent = (RequestableEngineEvent) event;
        String connectorName = requestableEvent.getConnectorName();
        if (connectorName != null) {
            if (connectorName.equals(connector.getName()) && requestableEvent.getProjectName().equals(connector.getProject().getName())) {
                isSourceFromConnector = true;
            }
        }
    } else if (event instanceof EngineEvent) {
        Object ob = ((EngineEvent) event).getSource();
        if (ob instanceof DatabaseObject) {
            try {
                String projectName = ((DatabaseObject) ob).getProject().getName();
                String connectorName = ((DatabaseObject) ob).getConnector().getName();
                if (connectorName.equals(connector.getName()) && projectName.equals(connector.getProject().getName())) {
                    isSourceFromConnector = true;
                }
            } catch (Exception e) {
            }
        }
    }
    return isSourceFromConnector;
}
Also used : RequestableEngineEvent(com.twinsoft.convertigo.engine.RequestableEngineEvent) EngineEvent(com.twinsoft.convertigo.engine.EngineEvent) RequestableEngineEvent(com.twinsoft.convertigo.engine.RequestableEngineEvent) DatabaseObject(com.twinsoft.convertigo.beans.core.DatabaseObject) EventObject(java.util.EventObject) DatabaseObject(com.twinsoft.convertigo.beans.core.DatabaseObject)

Aggregations

EngineEvent (com.twinsoft.convertigo.engine.EngineEvent)19 DatabaseObject (com.twinsoft.convertigo.beans.core.DatabaseObject)5 EngineException (com.twinsoft.convertigo.engine.EngineException)5 EventObject (java.util.EventObject)5 RequestableEngineEvent (com.twinsoft.convertigo.engine.RequestableEngineEvent)4 JavelinConnector (com.twinsoft.convertigo.beans.connectors.JavelinConnector)3 Step (com.twinsoft.convertigo.beans.core.Step)3 ConnectorEditor (com.twinsoft.convertigo.eclipse.editors.connector.ConnectorEditor)3 ProjectExplorerView (com.twinsoft.convertigo.eclipse.views.projectexplorer.ProjectExplorerView)3 Javelin (com.twinsoft.twinj.Javelin)3 IOException (java.io.IOException)3 JSONException (org.codehaus.jettison.json.JSONException)3 Cursor (org.eclipse.swt.graphics.Cursor)3 Display (org.eclipse.swt.widgets.Display)3 Shell (org.eclipse.swt.widgets.Shell)3 PanelBlockFactory (com.twinsoft.convertigo.beans.common.PanelBlockFactory)2 XMLRectangle (com.twinsoft.convertigo.beans.common.XMLRectangle)2 HtmlConnector (com.twinsoft.convertigo.beans.connectors.HtmlConnector)2 Connector (com.twinsoft.convertigo.beans.core.Connector)2 ExtractionRule (com.twinsoft.convertigo.beans.core.ExtractionRule)2