David Marko on THINGS around …

Christianity, development and life …

Need to convert images (stored as an attachments on Lotus Notes documents) into text to be serializable via JSON ?

leave a comment »

We have had recently a special requirement … we needed to serve JSON product data (from Lotus Notes database product catalogue) with images embedded inside. JSON is generally textual format so we have to find out the way how to embed the binary image there. Fortunately we are using xPages here so we can use JAVA libraries that are plenty available for many different use cases …

For a few year we are successfully using JODD Library as a JAVA coders helper tool for our xPages applications. Before JODD library being started used in our company we were using Apache Commons libraries but we have had many problems with JAVA permissions issues in Domino in many situations. To solve this we tried to use JODD library and never turned back … Its amazing project that can help xPages developer in many areas. JODD contains well balanced helper objects covering many daily use cases in web development. What’s more JODD comes with very nice managed documentation and examples that are really necessary for adopting the library. (see yourself here http://jodd.org )

Complete commented code covering our requirements is below ….

import java.io.IOException;

import jodd.io.StreamUtil;
import jodd.util.Base64;

import lotus.domino.Document;
import lotus.domino.EmbeddedObject;
import lotus.domino.NotesException;

public class Base64Converter {

	public Base64Converter() {
	}

	// simple static method that returns image attachment as a text base encoded ...
	private static String getImageAsString(Document cdoc, String attachmentName) throws NotesException{
		String imageAsString="";

		// getting the EmbeddedObject = attachment from document
		EmbeddedObject file = cdoc.getAttachment(attachmentName);

		if (file!=null){
			try {
				// we need to transform our file attachment ...
				// ... (JPEG image in our case) to byte[] object first
				// we use the JODD library StreamUtil.readBytes method here
				byte[] bytes = StreamUtil.readBytes(file.getInputStream());

				// encoding to base64 text representation goes here using JODD library tools
				// so we get text representation of our image
				imageAsString=Base64.encodeToString(bytes);

			} catch (IOException e) {
				e.printStackTrace();
			}
		}

		return imageAsString;
	}
}

Written by David Marko

February 9, 2013 at 6:17 pm

Posted in development

Tagged with , ,

“Ustanovím nad sebou krále, tak jako všechny národy kolem mne” (Dt 17:14-20)

leave a comment »

Pátá kniha Mojžíšova nám ve své 17. kapitole přináší text popisující výběr krále nad Izraelem a klade na něj požadavky, které mají provázet jeho osobní život a tak ovlivňovat jeho vládu.

Deuteronomium 17:14 Až přijdeš do země, kterou ti Hospodin, tvůj Bůh, dává, ovládneš ji a usadíš se v ní. Řekneš-li si: “Ustanovím nad sebou krále, tak jako všechny národy kolem mne”,
15 pak nad sebou ustanov jen takového krále, jehož si vyvolí Hospodin, tvůj Bůh. Ustanovíš nad sebou krále ze svých bratří; cizince, jenž by nebyl tvým bratrem, si dosadit nesmíš.
16 Ať ale nemá mnoho koní, aby neposílal lid zpátky do Egypta pro další koně. Hospodin vám přece řekl: “Touto cestou se už nikdy nevrátíte.”
17 Ať nemá mnoho žen, aby snad jeho srdce nezabloudilo. Také ať nemá příliš mnoho zlata a stříbra.
18 Až dosedne na svůj královský trůn, ať si nechá od levitských kněží pořídit opis tohoto Zákona.
19 Tu knihu ať má stále u sebe a čte ji po všechny dny svého života. Tak se bude učit ctít Hospodina, svého Boha, a pečlivě dodržovat všechna slova tohoto Zákona a tato pravidla,
20 aby se jeho srdce nepozdvihlo nad jeho bratry a aby se neuchýlil od tohoto přikázání napravo ani nalevo. Pak bude moci dlouho kralovat on i jeho synové uprostřed Izraele.

Klíčovou věcí se stává Boží zákon a výzva obsahující tří požadavky:

a) král si měl pořídít opis zákona
– měl ho vlastnit, ne si jej jen někdy půjčovat nebo mít informace pouze zprostředkované. Boží zákon je osobní věc ovlivňující každý den, dokonce i krále.

b) má mít tuto knihu stále u sebe
– opis zákona neměl být nějakým vzpomínkovým předmětem vystaveným ve zlaté vytríně. V králových prostorách muselo být vystaveno moho věcí, Boží zákon se však týkal obsahu a ne formy.

c) má si v ní číst po všechny dny svého života
– bylo povinností krále si v zákoně číst. Pán Bůh ví, že pokud si bude písmo číst a rozjímat nad ním, bude ono měnit jeho život. Čtením písma se bude učit ctít svého Boha a věci, které čte, slova dodržovat.

“Tak se bude učit ctít Hospodina, svého Boha, a pečlivě dodržovat všechna slova tohoto Zákona a tato pravidla, 20 aby se jeho srdce nepozdvihlo nad jeho bratry a aby se neuchýlil od tohoto přikázání napravo ani nalevo. Pak bude moci dlouho kralovat on i jeho synové uprostřed Izraele.”

Kéž dáváme písmu stejnou důležitost i v našich životech. Bude totiž zcela určitě naše životy proměňovat !!

Written by David Marko

January 13, 2013 at 6:20 pm

Posted in zamyšlení

Moje křesťanství tam, kde mne nikdo nevidí

leave a comment »

Farizeové z Písma byli specialisté na okázalost a vnější formu jejich zbožného života. Propracované pohyby a slova, kvalitně přednášené modlitby možná s velkou naléhavostí a dramatickým podáním. Přesto je Pán mnoho nechválil. Proč? Protože toto jejich vnější, veřejné křesťanství neodpovídalo tomu, jak to bylo u nich v doma, v osobním životě.
V Písmu jsou zaznamenána dvě místa, která hovoří o na toto téma:

Mt 6:5 “Když se modlíš, vejdi do svého pokojíku, zavři dveře a modli se ke svému Otci, který je vskrytu. Tvůj Otec, který vidí vskrytu, tě odmění.”
Mt 6:17 Když se postíš, raději si pomaž hlavu olejem a umyj si tvář, 18 aby tvůj půst nebyl zjevný lidem, ale tvému Otci, který je vskrytu. A tvůj Otec, který vidí vskrytu, tě odmění.“

Když v evangeliích Pán Ježíš toto říkal, reagoval tak na okázalost farizeů, jejich život s Bohem se odehrál hlavně veřejně a doma už to takto zdaleka nebylo. Proto je na jiném místě nazývá obílenými hroby a upozorňuje tak na disproporci (u někoho možná na propastný rozdíl) mezi tím, co viděli ostatní a tím, co viděl Pán v jejich osobním životě. A tak Bůh říká svým učeníkům … když ty se modlíš … zavři se doma a modli se ve skrytu ….

V našem osobním soukromém křesťanství je to jenom mezi námi a Pánem. Jen on ví, jak je to u mne doma, jak vypadá moje víra v akci tam, kde mne nikdo nevidí(minimálně z bratří a sester). Ale neví to jen Bůh … vím to i já. A to nám dává prostor tyto věci dát do souladu s tím, jak to má být. Trávím osobně dostatek času studiem písma? Trávím osobní čas s Pánem na modlitbě? Pokud ne, je nejvyšší čas začít. Je to mezi tebou a Bohem. Nikdo jiný tě nebude vidět, nebude vědět, jestli ses modlil nebo ne, jestli ses modlil 2 minuty nebo třičtvrtě hodiny. Jestli jsem se modlil jen za své potřeby a nebo jsem se přimlouval i za ostatní. Nikdo nebude vidět, jestli si čteš Písmo a nebo ne. Je to mezi tebou a Bohem. Ale věz že “Tvůj Otec, který vidí vskrytu, tě odmění.”

Žalm 86:11 Soustřeď mé srdce, abych se bál tvého jména.

Written by David Marko

October 15, 2012 at 7:44 pm

Posted in zamyšlení

Tagged with