Dnia 9 listopada 2011 byliśmy na koncercie w wykonaniu Zespołu Instrumentów Dawnych Warszawskiej Opery Kameralnej. Podobało nam się bardzo, ale trudno żeby się nie podobał repertuar złożony z koncertów Bacha i Vivaldiego, w pięknym wnętrzu Sali Balowej Zamku Królewskiego, w bardzo dobrym wykonaniu.
W pierwszej części słyszeliśmy koncerty skrzypcowe Bach i Vivaldiego na skrzypce solo, dwoje i czworo skrzypiec. Nie wiem, czy było dobrym pomysłem żeby partie solowe w każdym koncercie grali kolejno wszyscy członkowie zespołu. Jak na moje ucho, czasami cierpiała na tym precyzja wykonania.
Ale wszystko przyćmiła druga część koncertu na którą złożyły się koncerty klawesynowe Bach, kolejno na klawesyn solo, dwa, trzy i cztery klawesyny. Zwłaszcza, że niemal przez ramię mogliśmy podglądać grę znakomitego klawesynisty Władysława Kłosiewicza. Tak samo oceniła to wykonanie licznie zgromadzona publiczność, która oklaskami zmusiła zespół do wykonania bisu, jakim była brawurowa i dynamiczna ostatnia część Koncertu a-moll na cztery klawesyny.
Dobrym pomysłem było zestawienie w ramach jednego wieczoru koncertów klawesynowych z ich skrzypcowymi pierwowzorami. Wymieniony wyżej koncert a-moll na cztery klawesyny i koncert h-moll Vivaldiego na czworo skrzypiec oraz koncert c-moll na dwa klawesyny który jest identyczny z koncertem d-moll na dwoje skrzypiec. I skrzypcowe oryginały i ich klawesynowe transkrypcje podobały się bardzo.
Blog do projektu Open Source JavaHotel
niedziela, 13 listopada 2011
sobota, 29 października 2011
DB2 script launcher, Eclipse plugin (continue)
I added two small enhancements to DB2 script launcher.
Enhancement 1
Launch configuration dialog automatically for the first time when user right-clicked "Run as script launcher" and any configuration has been created so far (source).
Code snippet:
The second is related to the problem of invalidating launch configuration when user is changing something. It was achieved be means of updateLaunchConfigurationDialog() method. Code snippet (source):
Enhancement 1
Launch configuration dialog automatically for the first time when user right-clicked "Run as script launcher" and any configuration has been created so far (source).
Code snippet:
// Open launch configuration dialog for enter first configuration
String name = manager.generateLaunchConfigurationName(NEW_CONFIGURATION);
ILaunchConfigurationWorkingCopy wc = type.newInstance(null,name);
configuration = wc.doSave();
LaunchConfigurationManager lcm = DebugUIPlugin.getDefault().getLaunchConfigurationManager();
ILaunchGroup group = lcm.getLaunchGroup(type, ILaunchManager.RUN_MODE);
DebugUITools.openLaunchConfigurationPropertiesDialog(getShell(), configuration, group.getIdentifier());
Enhancement 2The second is related to the problem of invalidating launch configuration when user is changing something. It was achieved be means of updateLaunchConfigurationDialog() method. Code snippet (source):
ModifyListener listener = new ModifyListener() {
@Override
public void modifyText(ModifyEvent arg0) {
updateLaunchConfigurationDialog();
}
};
............
db2Alias.addModifyListener(listener);
poniedziałek, 24 października 2011
Byliśmy na koncercie
23 października 2011 byliśmy na koncercie Warsaw Camerata w praskiej bazylice na Kawęczyńskiej, podobało nam się bardzo.
Orkiestra Warsaw Camerata, którą kieruje Paweł Kos-Nowicki, powstała w 2010 roku i jej celem jest prezentowanie muzyki znanych i trochę mniej znanych kompozytorów w bardzo dobrym wykonaniu, podobającej się widzom. I udało się to znakomicie.
Vivaldi napisał 39 koncertów na fagot i orkiestrę, tutaj usłyszeliśmy dwa, solistą był Leszek Wachnik. Wszyscy znamy doskonale 40 symfonię g-moll Mozarta, z przyjemnością wysłuchaliśmy jeszcze raz.
W ostatniej części koncertu orkiestra dała widzom możliwość wyboru jednego z trzech utworów. Do wysłuchania każdego z nich zachęcał jeden z muzyków orkiestry. Trochę żałowałem, że przez aklamację została wybrania "Orawa" Wojciecha Kilara, chętniej bym usłyszał "Lituanię" Romualda Twardowskiego, utwór premierowy, więc muzyka zupełnie nowa. Ale "Orawa", kompozycja rytmiczna i dynamiczna, też podobała się bardzo.
Orkiestra dała też widzom możliwość wyboru repertuaru na następny koncert dnia 20 listopada. My wybraliśmy koncert skrzypcowy D-dur Beethovena oraz symfonię C-Dur Georgesa Bizeta (utwór mniej znany od pozostałych, ale na pewno wart poznania). Jesteśmy ciekawi, czy nasze gusta się pokryją z gustami pozostałych widzów.
Orkiestra Warsaw Camerata, którą kieruje Paweł Kos-Nowicki, powstała w 2010 roku i jej celem jest prezentowanie muzyki znanych i trochę mniej znanych kompozytorów w bardzo dobrym wykonaniu, podobającej się widzom. I udało się to znakomicie.
Vivaldi napisał 39 koncertów na fagot i orkiestrę, tutaj usłyszeliśmy dwa, solistą był Leszek Wachnik. Wszyscy znamy doskonale 40 symfonię g-moll Mozarta, z przyjemnością wysłuchaliśmy jeszcze raz.
W ostatniej części koncertu orkiestra dała widzom możliwość wyboru jednego z trzech utworów. Do wysłuchania każdego z nich zachęcał jeden z muzyków orkiestry. Trochę żałowałem, że przez aklamację została wybrania "Orawa" Wojciecha Kilara, chętniej bym usłyszał "Lituanię" Romualda Twardowskiego, utwór premierowy, więc muzyka zupełnie nowa. Ale "Orawa", kompozycja rytmiczna i dynamiczna, też podobała się bardzo.
Orkiestra dała też widzom możliwość wyboru repertuaru na następny koncert dnia 20 listopada. My wybraliśmy koncert skrzypcowy D-dur Beethovena oraz symfonię C-Dur Georgesa Bizeta (utwór mniej znany od pozostałych, ale na pewno wart poznania). Jesteśmy ciekawi, czy nasze gusta się pokryją z gustami pozostałych widzów.
niedziela, 16 października 2011
Byliśmy w teatrze
Byliśmy 6 października 2011 na spektaklu "Sprawa" w Teatrze Narodowym, podobało nam się bardzo.
"Samuel Zborowski" Słowackiego należy do tzw. "okresu genezyjskiego" w twórczości poety. Nie jest to oczywiście dramat z historii Polski ani głos w dyskusji, jakie właściwie motywy kierowały Zamojskim, że doprowadził do ścięcia Zborowskiego. Temat ten budzi emocje także współcześnie, o czym świadczy znakomita książka Rymkiewicza "Samuel Zborowski" .
W dramacie Słowackiego nie sam Zborowski jest nawet głównym bohaterem, w inscenizacji w Teatrze Narodowym nazwa utworu została zamieniona na "Sprawa". Utwór nie ma wyraźnego zakończenia, sprawia wrażenie niekompletnego, jakby autor dopiero tworzył szkice dla późniejszej, bardziej spójnej, finalnej wersji. Dramat nie dzieje się w jakimś określonym czasie, czas jest tutaj rzeczą płynną. Nie dzieje się także w jakimś określonym miejscu, przestrzeni. Duchy i osoby pojawiają się i znikają, jedne zamieniają się w drugie, sam Lucyfer przyjmuje kilka imion i ról. Ale jest rzeczą niezwykłą, że to zdawać by się mogło niesceniczne dzieło, doczekało się już 13 realizacji.
Głównym bohaterem jest Lucyfer, ale nie jest to szatan, przeciwnik Boga. Bardziej przypomina Mefistofelesa z legendy o Fauście, ale Mefistofeles to przecież także szatan starający się wyrwać duszę Fausta Bogu. Lucyfer jest tutaj bardziej stworzeniem duchowym szukającym drogi do Boga, ale poza ramami jakiejkolwiek zorganizowanej religii czy oficjalnej teologii.
Dramat wyraża wiarę w istnienie Ducha przenikającego przez ludzkie dzieje i dążącego do osiągnięcia pełnego zrozumienia planów Boga.
W pierwszym akcie widzimy marzenie senne Eoliona wcielającego się w egipskiego faraona, łącznika między światem bogów i ludzi. W drugim akcie Eolion stawia się na wezwanie Walkirii i spotyka Dziewicę, córkę rybaka. Zaczynają wspólną wędrówkę, ale gdy są już o krok od ostatecznego poznania tajemnicy, Lucyfer wtrąca ich w przepaść, bo nie nadszedł jeszcze na to czas. W trzecim akcie Lucyfer pojawia się na dworze Amfitryty. Królestwo Amfitryty to nie tyle ocean, ale piekło, coś co powstało na samym początku i znajduje się w najniższym kręgu świata. Z tego świata kiedyś wyrwał się Lucyfer, przyoblekł się w ciało i rozpoczął mozolną i bolesną wędrówkę ku górze. W czwartym akcie przenosimy się do Zamku. Książę (ojciec Heliona) stracił zmysły, umiera i przybyli mnisi przygotowują się do wyprawienia pogrzebu. W piątym akcie Zamek zamienia się w sąd, gdzie stają dwaj protagoniści : Książę, w którego wcielił się duch kanclerza Zamojskiego i Samuel Zborowski. Końcową część utworu wypełnia ogromna przemowa Lucyfera-Adwokata. Ale celem nie jest ustalenie czyjejś winy w tym sporze. Tak jak przywoływany kilkakrotnie Jan (autor nowotestamentowej Apokalipsy) pokazuje niebo i wydarzenia na ziemi widziane z nieba, tak Adwokat ukazuje konflikt Zborowski-Zamojski widziany ze świata duchów. Duch objawił się w Samuelu Zborowskim. Miał się rozprzestrzenić na cały naród polski, wynieść go nad inne narody i z Lucyferem na czele wstąpić do niebiańskiego miasta. Ale Zamojski, kierowany suchym legalizmem kazał ściąć Zborowskiego i ten zamysł legł w gruzach.
Przedstawienie w Teatrze Narodowym było bardzo dobrą inscenizacją tego niejasnego i nie wszędzie spójnego dramatu. Autorzy nie starali się za wszelką cenę opowiedzieć jakiejś historii czy szukać współczesnych analogii, ale oddać jak najlepiej treść dramatu. Ale mam wątpliwość czy bez lektury samego tekstu jest możliwe ogarnięcie sensu. Zaś współczesne analogie się nasuwają - słynne słowa Papieża wypowiedziane 2 czerwca 1979 w Warszawie "Niech zstąpi Duch Twój i odnowi oblicze tej ziemi" (odniesienie do Ps 104) nasuwają skojarzenie do ducha, który poprzez Zborowskiego miał zmienić bieg historii. Jak wiemy - tym razem było to skuteczne.
Głównym bohaterem jest Lucyfer znakomicie zagrany przez Mariusza Bonaszewskiego. Lucyfer ma wiele wcieleń, raz wije się jak wąż, mówi głośno i cicho, dużo i mało, spokojnie i gwałtownie, jak przystało na Lucyfera wydrwiwa "urzędników" oficjalnej religii w czwartym akcie. W finalnej scenie Lucyfer-Adwokat uderza w dramatycznie i poważne tony i również brzmi to znakomicie. Dominika Kluźniak doskonale odnalazła się w roli młodzieńczego Eoliona. Pozostałe postacie mają mniej do powiedzenia, ale z przyjemnością oglądaliśmy Jerzego Radziwiłłowicza w roli Księcia/kanclerza Zamojskiego.
W środku przedstawienia wstawiony jest przerywnik w postaci relacji z pogrzebu Słowackiego na Wawelu jaki miał miejsce w 1927 roku. Brzmi to trochę jak relacja nie z tego świata, gdyż współcześnie nie potrafimy sobie wyobrazić żeby państwo miało z takim rozmachem czcić pamięć jakiegokolwiek poety. Na końcu słyszymy - suflowane przez Lucyfera - słynne słowa: "bo królom był równy" i widzowie zadają sobie pytanie "czy był na pewno?". W drugim akcie Amfitryta w otoczeniu "oceanek" (przychodzi na pamięć Tytania z orszakiem elfów w "Śnie Nocy Letniej"), ubrane w stroje płetwonurków tańczą w rytmie hard-metalowej muzyki o natężeniu na progu wytrzymałości widzów. Gdy Lucyfer-Bukary przekonuje mnichów, że potrafi śpiewać dyszkantem, śpiew przechodzi w muzykę z finału "Czarodziejskiego Fletu" Mozarta.
Do końcowej przemowy Lucyfera (w dramacie zajmującej 1/3 całości) znakomicie została wykorzystana nowoczesna scena Teatru Narodowego. Dzięki temu przemowa, z trudnego dla widzów do wytrzymania monologu, zamieniła się w dynamiczne widowisko rozgrywające na kilku poziomach i scenach, nic nie gubiąc z samej treści.
Ponieważ sam dramat nie ma wyraźnego zakończenia, więc realizatorzy obudowali przestawienie na początku i końcu monologiem wygłoszonym przez młodego aktora wyrażający respekt wobec ogromu wszechświata. Ale bym skłamał, gdybym powiedział że treść tego przesłania utkwiła mi w pamięci.
Przedstawianie dramatów genezyjskich Słowackiego to na pewno ciężki kawałek chleba. Parafrazując znane powiedzenie, jeśli realizacja wierna, to ciężka i nużąca, jeśli ma być piękna, to trzeba odejść od samego dramatu. Ale można z całą pewnością powiedzieć, że "Sprawa" w Teatrze Narodowym uniknęła tej pułapki, jest piękna i wierna.
"Samuel Zborowski" Słowackiego należy do tzw. "okresu genezyjskiego" w twórczości poety. Nie jest to oczywiście dramat z historii Polski ani głos w dyskusji, jakie właściwie motywy kierowały Zamojskim, że doprowadził do ścięcia Zborowskiego. Temat ten budzi emocje także współcześnie, o czym świadczy znakomita książka Rymkiewicza "Samuel Zborowski" .
W dramacie Słowackiego nie sam Zborowski jest nawet głównym bohaterem, w inscenizacji w Teatrze Narodowym nazwa utworu została zamieniona na "Sprawa". Utwór nie ma wyraźnego zakończenia, sprawia wrażenie niekompletnego, jakby autor dopiero tworzył szkice dla późniejszej, bardziej spójnej, finalnej wersji. Dramat nie dzieje się w jakimś określonym czasie, czas jest tutaj rzeczą płynną. Nie dzieje się także w jakimś określonym miejscu, przestrzeni. Duchy i osoby pojawiają się i znikają, jedne zamieniają się w drugie, sam Lucyfer przyjmuje kilka imion i ról. Ale jest rzeczą niezwykłą, że to zdawać by się mogło niesceniczne dzieło, doczekało się już 13 realizacji.
Głównym bohaterem jest Lucyfer, ale nie jest to szatan, przeciwnik Boga. Bardziej przypomina Mefistofelesa z legendy o Fauście, ale Mefistofeles to przecież także szatan starający się wyrwać duszę Fausta Bogu. Lucyfer jest tutaj bardziej stworzeniem duchowym szukającym drogi do Boga, ale poza ramami jakiejkolwiek zorganizowanej religii czy oficjalnej teologii.
Dramat wyraża wiarę w istnienie Ducha przenikającego przez ludzkie dzieje i dążącego do osiągnięcia pełnego zrozumienia planów Boga.
W pierwszym akcie widzimy marzenie senne Eoliona wcielającego się w egipskiego faraona, łącznika między światem bogów i ludzi. W drugim akcie Eolion stawia się na wezwanie Walkirii i spotyka Dziewicę, córkę rybaka. Zaczynają wspólną wędrówkę, ale gdy są już o krok od ostatecznego poznania tajemnicy, Lucyfer wtrąca ich w przepaść, bo nie nadszedł jeszcze na to czas. W trzecim akcie Lucyfer pojawia się na dworze Amfitryty. Królestwo Amfitryty to nie tyle ocean, ale piekło, coś co powstało na samym początku i znajduje się w najniższym kręgu świata. Z tego świata kiedyś wyrwał się Lucyfer, przyoblekł się w ciało i rozpoczął mozolną i bolesną wędrówkę ku górze. W czwartym akcie przenosimy się do Zamku. Książę (ojciec Heliona) stracił zmysły, umiera i przybyli mnisi przygotowują się do wyprawienia pogrzebu. W piątym akcie Zamek zamienia się w sąd, gdzie stają dwaj protagoniści : Książę, w którego wcielił się duch kanclerza Zamojskiego i Samuel Zborowski. Końcową część utworu wypełnia ogromna przemowa Lucyfera-Adwokata. Ale celem nie jest ustalenie czyjejś winy w tym sporze. Tak jak przywoływany kilkakrotnie Jan (autor nowotestamentowej Apokalipsy) pokazuje niebo i wydarzenia na ziemi widziane z nieba, tak Adwokat ukazuje konflikt Zborowski-Zamojski widziany ze świata duchów. Duch objawił się w Samuelu Zborowskim. Miał się rozprzestrzenić na cały naród polski, wynieść go nad inne narody i z Lucyferem na czele wstąpić do niebiańskiego miasta. Ale Zamojski, kierowany suchym legalizmem kazał ściąć Zborowskiego i ten zamysł legł w gruzach.
Przedstawienie w Teatrze Narodowym było bardzo dobrą inscenizacją tego niejasnego i nie wszędzie spójnego dramatu. Autorzy nie starali się za wszelką cenę opowiedzieć jakiejś historii czy szukać współczesnych analogii, ale oddać jak najlepiej treść dramatu. Ale mam wątpliwość czy bez lektury samego tekstu jest możliwe ogarnięcie sensu. Zaś współczesne analogie się nasuwają - słynne słowa Papieża wypowiedziane 2 czerwca 1979 w Warszawie "Niech zstąpi Duch Twój i odnowi oblicze tej ziemi" (odniesienie do Ps 104) nasuwają skojarzenie do ducha, który poprzez Zborowskiego miał zmienić bieg historii. Jak wiemy - tym razem było to skuteczne.
Głównym bohaterem jest Lucyfer znakomicie zagrany przez Mariusza Bonaszewskiego. Lucyfer ma wiele wcieleń, raz wije się jak wąż, mówi głośno i cicho, dużo i mało, spokojnie i gwałtownie, jak przystało na Lucyfera wydrwiwa "urzędników" oficjalnej religii w czwartym akcie. W finalnej scenie Lucyfer-Adwokat uderza w dramatycznie i poważne tony i również brzmi to znakomicie. Dominika Kluźniak doskonale odnalazła się w roli młodzieńczego Eoliona. Pozostałe postacie mają mniej do powiedzenia, ale z przyjemnością oglądaliśmy Jerzego Radziwiłłowicza w roli Księcia/kanclerza Zamojskiego.
W środku przedstawienia wstawiony jest przerywnik w postaci relacji z pogrzebu Słowackiego na Wawelu jaki miał miejsce w 1927 roku. Brzmi to trochę jak relacja nie z tego świata, gdyż współcześnie nie potrafimy sobie wyobrazić żeby państwo miało z takim rozmachem czcić pamięć jakiegokolwiek poety. Na końcu słyszymy - suflowane przez Lucyfera - słynne słowa: "bo królom był równy" i widzowie zadają sobie pytanie "czy był na pewno?". W drugim akcie Amfitryta w otoczeniu "oceanek" (przychodzi na pamięć Tytania z orszakiem elfów w "Śnie Nocy Letniej"), ubrane w stroje płetwonurków tańczą w rytmie hard-metalowej muzyki o natężeniu na progu wytrzymałości widzów. Gdy Lucyfer-Bukary przekonuje mnichów, że potrafi śpiewać dyszkantem, śpiew przechodzi w muzykę z finału "Czarodziejskiego Fletu" Mozarta.
Do końcowej przemowy Lucyfera (w dramacie zajmującej 1/3 całości) znakomicie została wykorzystana nowoczesna scena Teatru Narodowego. Dzięki temu przemowa, z trudnego dla widzów do wytrzymania monologu, zamieniła się w dynamiczne widowisko rozgrywające na kilku poziomach i scenach, nic nie gubiąc z samej treści.
Ponieważ sam dramat nie ma wyraźnego zakończenia, więc realizatorzy obudowali przestawienie na początku i końcu monologiem wygłoszonym przez młodego aktora wyrażający respekt wobec ogromu wszechświata. Ale bym skłamał, gdybym powiedział że treść tego przesłania utkwiła mi w pamięci.
Przedstawianie dramatów genezyjskich Słowackiego to na pewno ciężki kawałek chleba. Parafrazując znane powiedzenie, jeśli realizacja wierna, to ciężka i nużąca, jeśli ma być piękna, to trzeba odejść od samego dramatu. Ale można z całą pewnością powiedzieć, że "Sprawa" w Teatrze Narodowym uniknęła tej pułapki, jest piękna i wierna.
piątek, 7 października 2011
DB2 script launcher, Eclipse plugin
Introduction
I created my first Eclipse plug-in. It is quite simple and allows running from Eclipse a script (sql) file against DB2 database.
It is based on CLP - Command Line Processor - and runs script which are valid in terms of this tool. It does not use JDBC connection.
In order to run this plugin it is necessary to install DB2 client package. It is free and available from IBM web page. DB2 database (remote or local) should be cataloged and ready to use.
How it runs
Firstly we have to create DB2 script launcher.
"Database alias name" is an alias (catalog name) to DB2 database.
After having launcher defined we can simply right-click on any file (with .db2 or .sql extension) and run this script using database access connection defined.
More then one database configuration can be defined to have an access to more than one database. In this case the selection dialog will be displayed allowing choosing the database (configuration).
It is also possible to run script launcher in editor. The current content of the editor is copied to temporary file and CLP is launched.
If no configuration has been defined yet than launcher dialog will displayed allowing defining the first one.
Source code
Source code and plugin.xml file file available here. It is my first plugin and probably not everything is perfect.
Several problems have been especially troublesome and required scanning through the documentation.
How to launch the configuration programmatically to allow entering the very first configuration (source).
How to extract file path name (necessary to launch CLP) from eclipse IPath (source)
How to extract content from the open editor (source)
This launcher is very simple but can be the basis for future developing. For instance
I created my first Eclipse plug-in. It is quite simple and allows running from Eclipse a script (sql) file against DB2 database.
It is based on CLP - Command Line Processor - and runs script which are valid in terms of this tool. It does not use JDBC connection.
In order to run this plugin it is necessary to install DB2 client package. It is free and available from IBM web page. DB2 database (remote or local) should be cataloged and ready to use.
How it runs
Firstly we have to create DB2 script launcher.
"Database alias name" is an alias (catalog name) to DB2 database.
After having launcher defined we can simply right-click on any file (with .db2 or .sql extension) and run this script using database access connection defined.
More then one database configuration can be defined to have an access to more than one database. In this case the selection dialog will be displayed allowing choosing the database (configuration).
It is also possible to run script launcher in editor. The current content of the editor is copied to temporary file and CLP is launched.
If no configuration has been defined yet than launcher dialog will displayed allowing defining the first one.
Source code
Source code and plugin.xml file file available here. It is my first plugin and probably not everything is perfect.
Several problems have been especially troublesome and required scanning through the documentation.
How to launch the configuration programmatically to allow entering the very first configuration (source).
if (configurations.length == 0) {
// Open launch configuration dialog for enter first configuration
String name = manager.generateLaunchConfigurationName(NEW_CONFIGURATION);
ILaunchConfigurationWorkingCopy wc = type.newInstance(null,name);
configuration = wc.doSave();
LaunchConfigurationManager lcm = DebugUIPlugin.getDefault().getLaunchConfigurationManager();
ILaunchGroup group = lcm.getLaunchGroup(type, ILaunchManager.RUN_MODE);
DebugUITools.openLaunchConfigurationPropertiesDialog(getShell(), configuration, group.getIdentifier());
How to extract file path name (necessary to launch CLP) from eclipse IPath (source)
@Override
public void launch(ISelection arg0, String arg1) {
ITreeSelection iSel = (ITreeSelection) arg0;
TreePath[] t = iSel.getPaths();
TreePath fPath = t[0];
Object o = fPath.getLastSegment();
File f = (File) o;
URI locationURI = f.getLocationURI();
URI u = locationURI;
String fileName = u.getPath();
runDB2(fileName, null);
}
How to extract content from the open editor (source)
@Override
public void launch(IEditorPart arg0, String arg1) {
ITextEditor i = (ITextEditor) arg0;
IDocumentProvider dProvider = i.getDocumentProvider();
IDocument iDok = dProvider.getDocument(i.getEditorInput());
String content = iDok.get();
runDB2(null, content);
} FutureThis launcher is very simple but can be the basis for future developing. For instance
- Enter the separator between different sql statements inside the file. Now ; is hardcoded.
- Keep the history of launching to match previous results.
- Catalog database (connection method) from plugin directly.
- etc.
wtorek, 20 września 2011
GWT, editable table
I found very usable a Cell Table which allows to edit its cells (sample). It is quite easy to use it : while adding new column to the table use 'editable' cell in the constructor.
But standard editable cell types (EditTextCell, TextInputCell, DatePickerCell) have one limitation : these columns in all rows are eligible to edit. So I found impossible to implement the following scenario:
Example - switchable version of 'TextInputCell'
Although I'm not very happy with that is seems working for me.
The all 'switchable' edit cell I'm using are implemented in this source.
But standard editable cell types (EditTextCell, TextInputCell, DatePickerCell) have one limitation : these columns in all rows are eligible to edit. So I found impossible to implement the following scenario:
- User is browsing through the table. Edit mode is blocked to avoid changing something by accident.
- Decides to edit one row. Set on the switch 'edit this row' and this row is transformed to edit mode. But edit mode for all other rows is blocked.
- After finishing editing set off the switch and the row is again in look mode.
Example - switchable version of 'TextInputCell'
private class EditStringCell extends TextInputCell implements IGetField {
private final IVField v;
EditStringCell(IVField v) {
this.v = v;
}
@Override
public void render(Context context, String value, SafeHtmlBuilder sb) {
Object key = context.getKey();
Integer i = (Integer) key;
boolean editenabled = eCol.isEditable(i, v);
if (editenabled) {
super.render(context, value, sb);
return;
}
// Get the view data.
// copy and paste from TextInputCell
// the only difference is different HTML for displaying value
TemplateDisplay template = GWT.create(TemplateDisplay.class);
ViewData viewData = getViewData(key);
if (viewData != null && viewData.getCurrentValue().equals(value)) {
clearViewData(key);
viewData = null;
}
String s = (viewData != null) ? viewData.getCurrentValue() : value;
if (s != null) {
sb.append(template.input(s));
} else {
sb.appendHtmlConstant("");
}
}
The difference is only in 'render' method. If 'edit mode' is on it simply invokes standard method. If 'edit mode' is off it overrides standard and displays the content. In order to have it working correctly I had to copy and modify the body of standard method to deal with specific way of storing value of the cell in 'ViewData' type.Although I'm not very happy with that is seems working for me.
The all 'switchable' edit cell I'm using are implemented in this source.
niedziela, 11 września 2011
New version Boa tester
New version of Boa test framework.
In order to avoid CR/LF (DOS) and LF (Linux) hell I had to change a method for file comparison. I replaced standard filecmp.cmp function with manual line by line comparison. Source file.
Before:
Now:
In order to avoid CR/LF (DOS) and LF (Linux) hell I had to change a method for file comparison. I replaced standard filecmp.cmp function with manual line by line comparison. Source file.
Before:
eq = filecmp.cmp(sou, dest)
if not eq:
logging.info(" different")
res = 0
Now:
f1 = open(sou, "r")
f2 = open(dest, "r")
li1 = f1.readlines()
li2 = f2.readlines()
if len(li1) != len(li2) :
logging.info(" number of lines is different")
res = 0
continue
for i in range(0, len(li1)) :
line1 = li1[i].rstrip()
line2 = li2[i].rstrip()
if line1 != line2 :
logging.info(" line number: " + str(i) + " different")
logging.info(line1)
logging.info(line2)
res = 0
break
Subskrybuj:
Posty (Atom)

