\documentclass[gradu,10pt]{tktltiki}

\usepackage{ae,aecompl,amsbsy,amssymb}

\usepackage{graphicx}
\usepackage{subfigure}
\usepackage{listings}

\newtheorem{metodi}{Metodi}

\begin{document}

\onehalfspacing % riviväli

\section{Joku kohta Apista}


\begin{metodi}[changeSettings]  tarjoaa järjestelmän asetusten muuttamiseen tarvittavan palvelun. Ennen muuttamista tarkistetaan, ettei yksikään järjestelmän asetuksista jää tyhjäksi. Lisäksi annetut asetukset tarkistetaan SQL--komentojen varalta. Järjestelmän asetusten muuttamisesta tehdään aina merkintä järjestelmän tapahtumanlokiin.

Varsinaisten tietojen muuttaminen taphtuu yksinkertaisella UPDATE--lauseella. Mikäli päivittämisessä tapahtuu jokin virhe, palautetaan false, ja kirjoitetaan virheen tiedot sisäiseen virhemuuttujaan.

	\begin{itemize}

		\item Syötteet:

			\begin{description}

				\item[DBControl] conn
				\item[Settings] uudet
				\item[int] userid

			\end{description}

		\item Palauttaa:

			\begin{description}

				\item[boolean]

		\end{description}

	\end{itemize}

\end{metodi}


\begin{metodi}[getSettings] on tarkoitettu järjestelmän asetusten noutamiseen. Metodi palauttaa kaikki (toistakseksi DB-kuvasta puuttuvat) asetustaulusta löytyvät datat. Virhetilanteessa palautetaan null--viite.

	\begin{itemize}

		\item Syötteet:
		
			\begin{description}

				\item[DBControl] conn

			\end{description}

		\item Palauttaa:

			\begin{description}

				\item[Settings]

			\end{description}

	\end{itemize}

\end{metodi}


\begin{metodi}[getRecommenderSMTP] on tarkoitettu muodostamaan suositusten tarkistuksessa käytettävän sähköpostin tarvitsemat SMTP-komennot. Lähetyksessä tarvittavat tiedot saadaan parametrinä annetusta käyttäjätiedosta, sekä tietokannasta. Koska tämän hetkisessä tietokantakuvauksessa ei näitä datoja ole, palataan asiaan myöhemmin. Suosittelukysymyksestä tehdään merkitään lokiin normaalin tavan mukaisesti.

Varsinaisesti SMTP komentojen muodostaminen on yksityisen {\em createSMTP} --metodin vastuulla, jolle annetaan parametreinä kaikki tarvittavat tiedot. Mikäli viestin muodostuksessa tapahtuu virheitä, palautetaan {\em null}.

	\begin{itemize}

		\item Syötteet:

			\begin{description}

				\item[DBControl] conn
				\item[User] newuser
				\item[int] invokerID
			
			\end{description}

		\item Palauttaa:

			\begin{description}

				\item[String]

			\end{description}

	\end{itemize}

\end{metodi}

\section{Pieni koodilistaus}

\lstinputlisting[
    caption={RiskLaskin},
    frame={tb},
    lineskip=-1pt,
    extendedchars=true,
    language=Java]{Risk.java}


\end{document}
