Eclipse debugger for GEF editor - eclipse

I have a GEF editor which represent a finite state machine. Editor's input (and output) is XML. What I am looking for is a way to debug my editor visually.
The way editor works is you create a state Start->Email->End, XML that is created is send to the server and there magic happens, of course Email object has properties that you set: from email, to email, subject, etc. What I am looking for is a way I can launch a debugger and step through each step of execution. So for example if I break at Email step I would be able to see what message was, whom it was for and what server returned at the end.
Is this something that is possible to accomplish and if so are there any articles I need to read to familiarize myself with how to create this debugger?
I found some discussion about Eclipse debuggers (1,2) but nothing about what I am interested in doing.

There are two different issues here.
One is writing a debugger engine, that manages the execution of your model, for example steps the execution, allows querying the variables/states, etc., and another one that outputs the result in your editor.
The articles you have linked work with the first issue: creating an engine that executes the model in the background, and integrates the engine into the Eclipse environment using 1) the launch framework to execute it similarly as Java programs, and 2) allows displaying the state in the textual editors.
You want to display the state in graphical editors. Because graphical editors have much less in common, the back-annotation of the debug state has to be done manually (instead of the generic support for text editors). Basically, I would create actions that set up breakpoints, and update the model to be able to store/query the execution state, and then update the GEF views to display it on the GUI. For this you have to change your Figures and your EditParts at least, and possibly other places as well.

Related

wso2 BPEL message-variable becomes un-expandable after some time

I am using Developer Studio 3.8.0 on top of Eclipse Lunar to develop an BPEL project...
I have able to create a partner link, assign the input message variable, and invoke the partner link.
however, I found out that after sometime, the message variable (the input/output variable used when calling a partner link) become un-expandable.
see the snapshot below
I tried to create a new message variable with the same partner link ( of different operation), and the message variable is expandable. (see shap shot below)
this is very annoying, because I am totally depending on the graphic designing iterface; and it become almost impossible to any job when complex composite variables become un-expandable in the GUI
anyone has any idea? or any suggestion?
cheers
WSO2 Developer studio is using the JDT UI elements in Eclipse platform[1]. However in some cases, JDT UIs are not working properly with lower window resolutions. In your attached screenshots, we can see that it has very low resolution.
So please try to increase the resolution first. If it is not working, edit your bpel with the source view. You can switch to the source view by clicking on the source view tab in bottom of your Gups.bpel window.
[1] https://www.eclipse.org/jdt/ui/

Run eclipse editor action on entire project

Question:
Is there a way to run an eclipse action that is available from the context menu in the editor on every file of an project.
Actual Case:
I have to work with the leon3 and my dull mind has trouble enough understanding the code, that I do not want to scan lines to see if there is a semicolon hidden in there to see if there are multiple instructions or if the end if happens to be behind another instruction rather than on a line of its own (I missed an end if, which caused me to think that statements were conditional,...), therefore I would like to format the source nicely. I have access to Sigasi PRO which offers the option to "beautify" code as an operation in the editor. I would like to run this operation on all files in the leon project automatically.
Sigasi indeed only offers formatting in the editor at this time. In the Sigasi editor, you can format a selection or the entire editor's content. But, you can not trigger the formatting action without an editor.
I have not tried this, but I think you can achieve this with the Eclipse EASE project. EASE is a scripting environment for Eclipse.

Writing a macro-like tool

Recently I've been finding myself doing repetitive tasks. I would click button A, highlight text field A, type in some text, click an APPLY button, click on a drop-down box and select a specific option depending on the item I'm working with, select it and hit APPLY, then repeat this process only a couple hundred to thousand times.
So I thought maybe there's a way I could automate this? Macros then came to mind. However I've never wrote macros before so am not sure of several details such as
-what tools should I even work with?
-how do I determine which button to click?
-ideally, I would want to be able to read input from a text file to specify what should be typed in and which option should be selected from the dropdown list. Is this even possible? It seems like an operation that require some intelligence.
I am not picky on tools nor about cleanliness. I just want to be able to automate the process. It will be for personal use unless I find a convenient way such that others can use it as well.
Some details about the dropdown box: when the box is focused, I can hit the DOWN key to scroll from option to option. The items that I have to associate with these options are named exactly the same, so they appear in the same "index" order (meaning, the first item and first option appear at the top of the list, second item and second option appear after, thid item and third option...etc)
The placement of all of these fields can be fixed, so if I have to manually specify where on the screen I should be clicking, that is also a possibility.
Any idea where I should look?
If you're using Windows, AutoIt is a really nice tool.
It records actions (like a word/excel macro)
It offers a BASIC like language + API which is really easy to program (if you need to)
The API is pretty powerful
Check for Windows with a certain title
Automate klicks
...
You can "compile" your scripts into exe files so you can share your tools
It comes bundled with Scite (a nice text editor) + AutoIt syntax higlighting
But you can use any editor you want
It's well documented
It's Freeware
http://www.autoitscript.com/site/
On the Mac, there is Automator. Java has the Robot class in the basic library, to help with such automation. No doubt there are other similar tools.

Is it possible to make the auto-complete in netbeans not depend on a key-combination?

Is it possible to make the code-completion on Netbeans automatic, like on Aptana or Visual Studio?
I've noticed that Netbeans can sometimes take a while to populate the list, so this might be asking a bit too much, but if possible, I'd like to somehow enable it.
The onlything I've found in the options is the ability to set a custom key-combo, but not to make this automatic.
I know that if you wait a bit, the auto-completion shows up anyway, but I want it to be without delay.
It appears there is a setting in some NetBeans versions that sets the delay for the popup window.
Choose Tools | Options
Choose Advanced Options
Open the Editing and then Editor Settings folders
Select Java Editor and find the Delay of Completion Window Auto Popup property
Enter a new Delay value in milliseconds (default is 250).
Article where I found it: http://www.informit.com/articles/article.aspx?p=519945&seqNum=5
The problem is that this article is a couple years old, so I opened NetBeans (6.1) on my computer and looked for the property but it didn't exist for the Java Editor (It did for other editors like the XML Editor). This leads me to believe my version is newer than the one in the article and the delay property no longer exists for the Java Editor (checking couldn't hurt though).
So instead, I decided to test the delay. I made a sample project, imported and instantiated a list, and then went to call a method. I stopped at the dot to let NetBeans offer suggestions and it was basically immediate (no noticeable delay). It is at this point, I am wondering if the delay you are experiencing is due purely to performance of the computer, especially since you indicate this occurs "sometimes". It is possible that you are looking at rather large classes, and NetBeans is taking extra time to look up the completions. You could try and test to see if this is true or not by testing code completion on a known large class. The other possibility is your computer is not as fast, or is doing work for another program at the same time. You can try and test this by restarting the computer, opening only NetBeans (to maximize resources to NetBeans), and try some code completions. If either exhibit noticeably faster delays, this is most likely the problem.
Hope this helps.
I think I found a solution. I set up autocomplete keyboard shortcuts for all letters and #, it seems to work. In some cases there is a small lag, but it doesn't prevent you from typing. It took about 5 minutes to add those shortcuts.
I tried to get the desired feature by adding the alphabet to the completion selectors. It worked somewhat, you can always try it.
This works for the first two characters you type This is updated one
Goto:
Tools -> Options -> Editor -> Code Completion
Select
Language: [C/C++]
Autopop Triggers for C/C++ Identifiers
.;->;.*;->*;::;new ; a;b;c;d;e;f;g;h;i;j;k;l;m;n;o;p;q;r;s;t;u;v;w;x;y;z;A;B;C;D;E;F;G;H;I;J;K;L;M;N;O;P;Q;R;S;T;U;V;W;X;Y;Z;aa;ab;ac;ad;ae;af;ag;ah;ai;aj;ak;al;am;an;ao;ap;aq;ar;as;at;au;av;aw;ax;ay;az;ba;bb;bc;bd;be;bf;bg;bh;bi;bj;bk;bl;bm;bn;bo;bp;bq;br;bs;bt;bu;bv;bw;bx;by;bz;ca;cb;cc;cd;ce;cf;cg;ch;ci;cj;ck;cl;cm;cn;co;cp;cq;cr;cs;ct;cu;cv;cw;cx;cy;cz;da;db;dc;dd;de;df;dg;dh;di;dj;dk;dl;dm;dn;do;dp;dq;dr;ds;dt;du;dv;dw;dx;dy;dz;ea;eb;ec;ed;ee;ef;eg;eh;ei;ej;ek;el;em;en;eo;ep;eq;er;es;et;eu;ev;ew;ex;ey;ez;fa;fb;fc;fd;fe;ff;fg;fh;fi;fj;fk;fl;fm;fn;fo;fp;fq;fr;fs;ft;fu;fv;fw;fx;fy;fz;ga;gb;gc;gd;ge;gf;gg;gh;gi;gj;gk;gl;gm;gn;go;gp;gq;gr;gs;gt;gu;gv;gw;gx;gy;gz;ha;hb;hc;hd;he;hf;hg;hh;hi;hj;hk;hl;hm;hn;ho;hp;hq;hr;hs;ht;hu;hv;hw;hx;hy;hz;ia;ib;ic;id;ie;if;ig;ih;ii;ij;ik;il;im;in;io;ip;iq;ir;is;it;iu;iv;iw;ix;iy;iz;ja;jb;jc;jd;je;jf;jg;jh;ji;jj;jk;jl;jm;jn;jo;jp;jq;jr;js;jt;ju;jv;jw;jx;jy;jz;ka;kb;kc;kd;ke;kf;kg;kh;ki;kj;kk;kl;km;kn;ko;kp;kq;kr;ks;kt;ku;kv;kw;kx;ky;kz;la;lb;lc;ld;le;lf;lg;lh;li;lj;lk;ll;lm;ln;lo;lp;lq;lr;ls;lt;lu;lv;lw;lx;ly;lz;ma;mb;mc;md;me;mf;mg;mh;mi;mj;mk;ml;mm;mn;mo;mp;mq;mr;ms;mt;mu;mv;mw;mx;my;mz;na;nb;nc;nd;ne;nf;ng;nh;ni;nj;nk;nl;nm;nn;no;np;nq;nr;ns;nt;nu;nv;nw;nx;ny;nz;oa;ob;oc;od;oe;of;og;oh;oi;oj;ok;ol;om;on;oo;op;oq;or;os;ot;ou;ov;ow;ox;oy;oz;pa;pb;pc;pd;pe;pf;pg;ph;pi;pj;pk;pl;pm;pn;po;pp;pq;pr;ps;pt;pu;pv;pw;px;py;pz;qa;qb;qc;qd;qe;qf;qg;qh;qi;qj;qk;ql;qm;qn;qo;qp;qq;qr;qs;qt;qu;qv;qw;qx;qy;qz;ra;rb;rc;rd;re;rf;rg;rh;ri;rj;rk;rl;rm;rn;ro;rp;rq;rr;rs;rt;ru;rv;rw;rx;ry;rz;sa;sb;sc;sd;se;sf;sg;sh;si;sj;sk;sl;sm;sn;so;sp;sq;sr;ss;st;su;sv;sw;sx;sy;sz;ta;tb;tc;td;te;tf;tg;th;ti;tj;tk;tl;tm;tn;to;tp;tq;tr;ts;tt;tu;tv;tw;tx;ty;tz;ua;ub;uc;ud;ue;uf;ug;uh;ui;uj;uk;ul;um;un;uo;up;uq;ur;us;ut;uu;uv;uw;ux;uy;uz;va;vb;vc;vd;ve;vf;vg;vh;vi;vj;vk;vl;vm;vn;vo;vp;vq;vr;vs;vt;vu;vv;vw;vx;vy;vz;wa;wb;wc;wd;we;wf;wg;wh;wi;wj;wk;wl;wm;wn;wo;wp;wq;wr;ws;wt;wu;wv;ww;wx;wy;wz;xa;xb;xc;xd;xe;xf;xg;xh;xi;xj;xk;xl;xm;xn;xo;xp;xq;xr;xs;xt;xu;xv;xw;xx;xy;xz;ya;yb;yc;yd;ye;yf;yg;yh;yi;yj;yk;yl;ym;yn;yo;yp;yq;yr;ys;yt;yu;yv;yw;yx;yy;yz;za;zb;zc;zd;ze;zf;zg;zh;zi;zj;zk;zl;zm;zn;zo;zp;zq;zr;zs;zt;zu;zv;zw;zx;zy;zz;Aa;Ab;Ac;Ad;Ae;Af;Ag;Ah;Ai;Aj;Ak;Al;Am;An;Ao;Ap;Aq;Ar;As;At;Au;Av;Aw;Ax;Ay;Az;Ba;Bb;Bc;Bd;Be;Bf;Bg;Bh;Bi;Bj;Bk;Bl;Bm;Bn;Bo;Bp;Bq;Br;Bs;Bt;Bu;Bv;Bw;Bx;By;Bz;Ca;Cb;Cc;Cd;Ce;Cf;Cg;Ch;Ci;Cj;Ck;Cl;Cm;Cn;Co;Cp;Cq;Cr;Cs;Ct;Cu;Cv;Cw;Cx;Cy;Cz;Da;Db;Dc;Dd;De;Df;Dg;Dh;Di;Dj;Dk;Dl;Dm;Dn;Do;Dp;Dq;Dr;Ds;Dt;Du;Dv;Dw;Dx;Dy;Dz;Ea;Eb;Ec;Ed;Ee;Ef;Eg;Eh;Ei;Ej;Ek;El;Em;En;Eo;Ep;Eq;Er;Es;Et;Eu;Ev;Ew;Ex;Ey;Ez;Fa;Fb;Fc;Fd;Fe;Ff;Fg;Fh;Fi;Fj;Fk;Fl;Fm;Fn;Fo;Fp;Fq;Fr;Fs;Ft;Fu;Fv;Fw;Fx;Fy;Fz;Ga;Gb;Gc;Gd;Ge;Gf;Gg;Gh;Gi;Gj;Gk;Gl;Gm;Gn;Go;Gp;Gq;Gr;Gs;Gt;Gu;Gv;Gw;Gx;Gy;Gz;Ha;Hb;Hc;Hd;He;Hf;Hg;Hh;Hi;Hj;Hk;Hl;Hm;Hn;Ho;Hp;Hq;Hr;Hs;Ht;Hu;Hv;Hw;Hx;Hy;Hz;Ia;Ib;Ic;Id;Ie;If;Ig;Ih;Ii;Ij;Ik;Il;Im;In;Io;Ip;Iq;Ir;Is;It;Iu;Iv;Iw;Ix;Iy;Iz;Ja;Jb;Jc;Jd;Je;Jf;Jg;Jh;Ji;Jj;Jk;Jl;Jm;Jn;Jo;Jp;Jq;Jr;Js;Jt;Ju;Jv;Jw;Jx;Jy;Jz;Ka;Kb;Kc;Kd;Ke;Kf;Kg;Kh;Ki;Kj;Kk;Kl;Km;Kn;Ko;Kp;Kq;Kr;Ks;Kt;Ku;Kv;Kw;Kx;Ky;Kz;La;Lb;Lc;Ld;Le;Lf;Lg;Lh;Li;Lj;Lk;Ll;Lm;Ln;Lo;Lp;Lq;Lr;Ls;Lt;Lu;Lv;Lw;Lx;Ly;Lz;Ma;Mb;Mc;Md;Me;Mf;Mg;Mh;Mi;Mj;Mk;Ml;Mm;Mn;Mo;Mp;Mq;Mr;Ms;Mt;Mu;Mv;Mw;Mx;My;Mz;Na;Nb;Nc;Nd;Ne;Nf;Ng;Nh;Ni;Nj;Nk;Nl;Nm;Nn;No;Np;Nq;Nr;Ns;Nt;Nu;Nv;Nw;Nx;Ny;Nz;Oa;Ob;Oc;Od;Oe;Of;Og;Oh;Oi;Oj;Ok;Ol;Om;On;Oo;Op;Oq;Or;Os;Ot;Ou;Ov;Ow;Ox;Oy;Oz;Pa;Pb;Pc;Pd;Pe;Pf;Pg;Ph;Pi;Pj;Pk;Pl;Pm;Pn;Po;Pp;Pq;Pr;Ps;Pt;Pu;Pv;Pw;Px;Py;Pz;Qa;Qb;Qc;Qd;Qe;Qf;Qg;Qh;Qi;Qj;Qk;Ql;Qm;Qn;Qo;Qp;Qq;Qr;Qs;Qt;Qu;Qv;Qw;Qx;Qy;Qz;Ra;Rb;Rc;Rd;Re;Rf;Rg;Rh;Ri;Rj;Rk;Rl;Rm;Rn;Ro;Rp;Rq;Rr;Rs;Rt;Ru;Rv;Rw;Rx;Ry;Rz;Sa;Sb;Sc;Sd;Se;Sf;Sg;Sh;Si;Sj;Sk;Sl;Sm;Sn;So;Sp;Sq;Sr;Ss;St;Su;Sv;Sw;Sx;Sy;Sz;Ta;Tb;Tc;Td;Te;Tf;Tg;Th;Ti;Tj;Tk;Tl;Tm;Tn;To;Tp;Tq;Tr;Ts;Tt;Tu;Tv;Tw;Tx;Ty;Tz;Ua;Ub;Uc;Ud;Ue;Uf;Ug;Uh;Ui;Uj;Uk;Ul;Um;Un;Uo;Up;Uq;Ur;Us;Ut;Uu;Uv;Uw;Ux;Uy;Uz;Va;Vb;Vc;Vd;Ve;Vf;Vg;Vh;Vi;Vj;Vk;Vl;Vm;Vn;Vo;Vp;Vq;Vr;Vs;Vt;Vu;Vv;Vw;Vx;Vy;Vz;Wa;Wb;Wc;Wd;We;Wf;Wg;Wh;Wi;Wj;Wk;Wl;Wm;Wn;Wo;Wp;Wq;Wr;Ws;Wt;Wu;Wv;Ww;Wx;Wy;Wz;Xa;Xb;Xc;Xd;Xe;Xf;Xg;Xh;Xi;Xj;Xk;Xl;Xm;Xn;Xo;Xp;Xq;Xr;Xs;Xt;Xu;Xv;Xw;Xx;Xy;Xz;Ya;Yb;Yc;Yd;Ye;Yf;Yg;Yh;Yi;Yj;Yk;Yl;Ym;Yn;Yo;Yp;Yq;Yr;Ys;Yt;Yu;Yv;Yw;Yx;Yy;Yz;Za;Zb;Zc;Zd;Ze;Zf;Zg;Zh;Zi;Zj;Zk;Zl;Zm;Zn;Zo;Zp;Zq;Zr;Zs;Zt;Zu;Zv;Zw;Zx;Zy;Zz;aaa;aab;aac;aad;aae;aaf;aag;aah;aai;aaj;aak;aal;aam;aan;aao;aap;aaq;aar;aas;aat;aau;aav;aaw;aax;aay;aaz;aba;abb;abc;abd;abe;abf;abg;abh;abi;abj;abk;abl;abm;abn;abo;abp;abq;abr;abs;abt;abu;abv;abw;abx;aby;abz;aca;acb;acc;acd;ace;acf;acg;ach;aci;acj;ack;acl;acm;acn;aco;acp;acq;acr;acs;act;acu;acv;acw;acx;acy;acz;ada;adb;adc;add;ade;adf;adg;adh;adi;adj;adk;adl;adm;adn;ado;adp;adq;adr;ads;adt;adu;adv;adw;adx;ady;adz;aea;aeb;aec;aed;aee;aef;aeg;aeh;aei;aej;aek;ael;aem;aen;aeo;aep;aeq;aer;aes;aet;aeu;aev;aew;aex;aey;aez;afa;afb;afc;afd;afe;aff;afg;afh;afi;afj;afk;afl;afm;afn;afo;afp;afq;afr;afs;aft;afu;afv;afw;afx;afy;afz;aga;agb;agc;agd;age;agf;agg;agh;agi;agj;agk;agl;agm;agn;ago;agp;agq;agr;ags;agt;agu;agv;agw;agx;agy;agz;aha;ahb;ahc;ahd;ahe;ahf;ahg;ahh;ahi;ahj;ahk;ahl;ahm;ahn;aho;ahp;ahq;ahr;ahs;aht;ahu;ahv;ahw;ahx;ahy;ahz;aia;aib;aic;aid;aie;aif;aig;aih;aii;aij;aik;ail;aim;ain;aio;aip;aiq;air;ais;ait;aiu;aiv;aiw;aix;aiy;aiz;aja;ajb;ajc;ajd;aje;ajf;ajg;ajh;aji;ajj;ajk;ajl;ajm;ajn;ajo;ajp;ajq;ajr;ajs;ajt;aju;ajv;ajw;ajx;ajy;ajz;aka;akb;akc;akd;ake;akf;akg;akh;aki;akj;akk;akl;akm;akn;ako;akp;akq;akr;aks;akt;aku;akv;akw;akx;aky;akz;ala;alb;alc;ald;ale;alf;alg;alh;ali;alj;alk;all;alm;aln;alo;alp;alq;alr;als;alt;alu;alv;alw;alx;aly;alz;ama;amb;amc;amd;ame;amf;amg;amh;ami;amj;amk;aml;amm;amn;amo;amp;amq;amr;ams;amt;amu;amv;amw;amx;amy;amz;ana;anb;anc;and;ane;anf;ang;anh;ani;anj;ank;anl;anm;ann;ano;anp;anq;anr;ans;ant;anu;anv;anw;anx;any;anz;aoa;aob;aoc;aod;aoe;aof;aog;aoh;aoi;aoj;aok;aol;aom;aon;aoo;aop;aoq;aor;aos;aot;aou;aov;aow;aox;aoy;aoz;apa;apb;apc;apd;ape;apf;apg;aph;api;apj;apk;apl;apm;apn;apo;app;apq;apr;aps;apt;apu;apv;apw;apx;apy;apz;aqa;aqb;aqc;aqd;aqe;aqf;aqg;aqh;aqi;aqj;aqk;aql;aqm;aqn;aqo;aqp;aqq;aqr;aqs;aqt;aqu;aqv;aqw;aqx;aqy;aqz;ara;arb;arc;ard;are;arf;arg;arh;ari;arj;ark;arl;arm;arn;aro;arp;arq;arr;ars;art;aru;arv;arw;arx;ary;arz;asa;asb;asc;asd;ase;asf;asg;ash;asi;asj;ask;asl;asm;asn;aso;asp;asq;asr;ass;ast;asu;asv;asw;asx;asy;asz;ata;atb;atc;atd;ate;atf;atg;ath;ati;atj;atk;atl;atm;atn;ato;atp;atq;atr;ats;att;atu;atv;atw;atx;aty;atz;aua;aub;auc;aud;aue;auf;aug;auh;aui;auj;auk;aul;aum;aun;auo;aup;auq;aur;aus;aut;auu;auv;auw;aux;auy;auz;ava;avb;avc;avd;ave;avf;avg;avh;avi;avj;avk;avl;avm;avn;avo;avp;avq;avr;avs;avt;avu;avv;avw;avx;avy;avz;awa;awb;awc;awd;awe;awf;awg;awh;awi;awj;awk;awl;awm;awn;awo;awp;awq;awr;aws;awt;awu;awv;aww;awx;awy;awz;axa;axb;axc;axd;axe;axf;axg;axh;axi;axj;axk;axl;axm;axn;axo;axp;axq;axr;axs;axt;axu;axv;axw;axx;axy;axz;aya;ayb;ayc;ayd;aye;ayf;ayg;ayh;ayi;ayj;ayk;ayl;aym;ayn;ayo;ayp;ayq;ayr;ays;ayt;ayu;ayv;ayw;ayx;ayy;ayz;aza;azb;azc;azd;aze;azf;azg;azh;azi;azj;azk;azl;azm;azn;azo;azp;azq;azr;azs;azt;azu;azv;azw;azx;azy;azz;
Good Luck!

Is it possible to clear the Netbeans output window from my application or temporarily disable all outputs?

Some background:
I've created a Swing application which uses the Substance LaF (Thanks again, Kirill!)
Unfortunately Swing creates a panel somewhere outside the EDT thus leading to an exception message from Substance every time I start my application. By itself this exception is great, I already saved me from creating nasty multithread GUI bugs, but I often miss important outputs because the output window is already cluttered when my application does any real work.
The easiest way would be to patch the Substance source for my personal needs, but I'd rather leave it untouched. That's why I want to know...
Is it possible to clear the output window programmatically, either by calling a method from my application or something like a delayed Ant task?
Alternatively, can I temporarily disable any outputs from my application, including exceptions messages?
Here you are trying to tweak the default behavior of the Output Window which is a part of the NetBeans IDE. You will need to use the relevant NetBeans APIs. Please take a look at OutputWriter and OutputEvent
HTH.