njc
Class DAO

java.lang.Object
  |
  +--njc.DAO

public class DAO
extends java.lang.Object

Luokka toteuttaa ControllerServletin vaatimat tietokantaoperaatiot.

Author:
NJC2

Nested Class Summary
private  class DAO.EmailComparator
          Yksityinen luokka, jonka avulla listassa olevat KayttajaListaan-oliot voidaan järjestää sähköpostiosoitteen perusteella.
 
Field Summary
private  DBConnector dbConnector
           
static int JARJESTA_ARTIKKELI_AIHE
           
static int JARJESTA_ARTIKKELI_KIRJOITTAJA
           
static int JARJESTA_ARTIKKELI_OTSIKKO
           
static int JARJESTA_ARTIKKELI_PAIVAMAARA
           
static int JARJESTA_ARTIKKELI_TILA
           
static int JARJESTA_ASIANTUNTIJA_ALA
           
static int JARJESTA_ASIANTUNTIJA_NIMI
           
static int JARJESTA_KAYTTAJA_EMAIL
           
static int JARJESTA_KAYTTAJA_NIMI
           
static int JARJESTA_KAYTTAJA_ROOLI
           
 
Constructor Summary
DAO(DBConnector dbConnector)
          Luo uuden ilmentymän luokasta parametrina käytettävä dbConnector.
 
Method Summary
 int getAla_id(java.lang.String ala)
          Metodi palauttaa alan tunnuksen nimen perusteella.
 java.lang.String getAlanNimi(int ala_id)
          Metodi palauttaa alan nimen alan tunnuksen perusteella.
 java.util.List getAlat()
          Metodi palauttaa kaikki kannasta löytyvät erikoisalat listana.
 Artikkeli getArtikkeli(int artik_id, int versionro)
          Metodi palauttaa Artikkeli-olion annetun tunnuksen ja versionumeron perusteella.
 boolean getArtikkelinArvostelija(int artik_id, int versionro, int kayt_id)
          Tarkistaa onko onko artikkeli tarkoitettu kyseiselle arvostelijalle.
 int[] getArtikkelinLehti(int artik_id)
          Metodi palauttaa sen lehden numeron ja vuosikerran, jossa artikkeli on julkaistu.
 boolean getArtikkeliPoistettu(int artik_id)
          Metodi palauttaa tiedon siitä, onko artikkeli roskakorissa.
 java.util.List getArtikkelit()
          Metodi palauttaa kaikki artikkeliversiot lähetyspäivän mukaan järjestettynä.
 java.util.List getArtikkelit(int jarjestysehto)
          Metodi palauttaa kaikki artikkeliversiot ehdon mukaan järjestettynä.
 java.util.List getAsiantuntijanArtikkelit(int kayt_id, int jarjestys)
          Metodi palauttaa tietyllä asiantuntijalla arvosteltavana olevat artikkelit.
 java.util.List getAsiantuntijat()
          Metodi palauttaa kaikki kannasta löytyvät asiantuntijat Kayttaja-olioina.
 java.util.List getAsiantuntijat(int artik_id, int versionro)
          Metodi palauttaa tiettyyn artikkelin versioon liittyvät asiantuntijat.
 java.util.List getAsiantuntijat(java.lang.String hakusanat)
          Metodi palauttaa hakuehdon täyttävät asiantuntijat Kayttaja-olioina.
 java.util.List getJulkaisemattomatArtikkelit(int jarjestys)
          Metodi palauttaa julkaisemattomat artikkelit.
private  Kayttaja getKayttaja(Tulos apu)
          Apumetodi, jolla saadaan Kayttaja-olio Tulos-oliosta.
private  KayttajaListaan getKayttajaListaan(Tulos apu)
          Apumetodi, jolla saadaan KayttajaListaan-olio Tulos-oliosta.
 KayttajaListaan getKayttajanNimi(int kayt_id)
          Metodi palauttaa nimellä varustetun KayttajaListaan-olion käyttäjän tunnuksen perusteella.
 java.util.List getKayttajat()
          Palauttaa listan kaikista kannasta löytyvistä käyttäjistä nimen mukaan järjestettynä.
 java.util.List getKayttajat(int jarjestysehto)
          Palauttaa listan kaikista kannasta löytyvistä käyttäjistä, halutulla tavalla järjestettynä.
 Kayttaja getKayttajatiedot(int kayt_id)
          Palauttaa Kayttaja-olion halutusta käyttäjästä.
 java.util.List getKiireellisetArtikkelit(int jarjestys)
          Metodi palauttaa kiireelliset artikkelit.
 int getKirjoittajaLiitteelle(int arvostelijaId, int artik_id)
          Hakee käyttäjän ID:n, jolle liite on tarkoitettu.
 java.util.List getKirjoittajanArtikkelit(int kayt_id, int jarjestys)
          Metodi palauttaa kaikki tietyn käyttäjän kirjoittamat artikkeliversiot.
 int getLausunnonTila(int artik_id, int versionro, int kayt_id)
          Metodi palauttaa tietyn asiantuntijan tietyn artikkelin versiota koskevan lausunnon tilan asiantuntijanäkymän artikkelilistan luomista varten.
 java.util.List getLausunnot(int artik_id, int versionro, boolean kirjoittaja)
          Metodi palauttaa tietyn artikkeliversion kirjoittajalle/toimitukselle tarkoitetut lausunnot.
 Lausunto getLausunto(int kayt_id, int artik_id, int versionro, boolean kirjoittaja)
          Palauttaa tietyn asiantuntijan tietylle artikkelille antaman lausunnon Lausunto-oliona.
 int[][] getLausuntojenTilat(int artik_id, int versionro)
          Metodi palauttaa int-taulukon lausuntojen päätöksistä ja lausuntopyyntöjen tiloista artikkelilistan luomista varten toimittajille ja kirjoittajille.
 boolean getLausuntoLukittu(int artik_id, int versionro, int kayt_id)
          Metodi palauttaa tiedon siitä, onko tiettyyn artikkelin versioon liittyvä lausunto lukittu vai ei.
 java.lang.String getLausuntoPyydetty(int artik_id, int versionro, int kayt_id)
          Metodi palauttaa päivämäärän, jolloin asiantuntijalta on pyydetty lausuntoa.
 int getLausuntopyynnonTila(int artik_id, int versionro, int kayt_id)
          Metodi palauttaa tietyn artikkeliversion tietyn lausuntopyynnön tilan.
 java.util.List getLehti(int nro, int vuosikerta, int jarjestys)
          Metodi palauttaa tiettyyn painokseen valitut artikkelit Artikkeli-listana.
 int[] getLehtiNumerot()
          Metodi palauttaa lehden mahdolliset numerot.
 int[] getLehtiVuosikerrat()
          Metodi palauttaa lehden mahdolliset vuosikerrat.
 java.util.List getLokikirjaukset(int kayt_id)
          Metodi palauttaa tiettyä käyttäjää koskevat lokikirjaukset.
 boolean getLupaLahettaa(int artik_id, int versionro)
          Metodi palauttaa tiedon siitä, onko parametrina annetusta versiosta lupa lähettää uudempi versio.
 Paivamaara getMuistutettu(int artik_id, int versionro, int kayt_id)
          Metodilla haetaan tietylle asiantuntijalle lähetetyn muistutuksen päiväys.
 java.util.List getPaatoimittajanArtikkelit(int jarjestys)
          Metodi palauttaa päätoimittajalle tarkoitetut artikkelit.
 Paatos getPaatoksenTiedot(int artik_id, int versionro)
          Metodi palauttaa Paatos-olion, joka sisältää tietylle artikkelille annetun päätöksen tiedot.
 int getPaatos(int artik_id, int versionro)
          Metodi palauttaa artikkelin version päätöksen.
 java.lang.String getRaportti(int raportti)
          Metodi palauttaa halutun raportin merkkiesityksen.
 java.util.List getRoskakori(int jarjestys)
          Metodi palauttaa roskakorissa olevat artikkelit.
private  java.lang.String getUusiSalasana()
          Metodi luo uuden salasanan.
 boolean getVersioLukittu(int artik_id, int versionro)
          Metodi palauttaa tiedon siitä, onko artikkelin versio lukittu.
 java.util.List getViesti(int artik_id, int versionro)
          Metodi palauttaa viestin toimittajille/päätoimittajalle.
 int insertAla(java.lang.String alanNimi)
          Metodi lisää uuden alan järjestelmään.
 void insertAlaKayttajalle(int kayt_id, int ala_id)
          Metodi lisää alan käyttäjälle.
 void insertArtikkeliLehteen(int artik_id, int nro, int vuosikerta)
          Metodi lisää artikkelin lehteen.
 int insertAsiantuntija(Kayttaja uusiKayttaja)
          Metodi luo uuden asiantuntijan.
 void insertLokikirjaus(int kayt_id, java.lang.String syy)
          Metodin avulla tuotetaan lokikirjauksia toimitusta kiinnostavista tapahtumista.
 void insertSahkopostiKayttajalle(int kayt_id, java.lang.String sposti)
          Metodi lisää käyttäjälle uuden sähköpostiosoitteen.
 void insertToimittaja(Kayttaja uusiKayttaja)
          Metodi lisää uuden toimittajan tietokantaan.
 void lahetaLausuntopyynto(int artik_id, int versionro, int kayt_id)
          Metodin avulla lähetetään lausuntopyyntö sähköpostitse parametrina annetulle asiantuntijalle.
 void lahetaMuistutus(int artik_id, int versionro, int kayt_id)
          Metodin avulla lähetetään asiantuntijalle sähköpostitse muistutus häntä odottavasta lausuntopyynnöstä.
 void lahetaSalasana(int kayt_id)
          Metodi lähettää uuden salasanan halutulle käyttäjälle.
static void main(java.lang.String[] args)
           
 void removeAla(int ala_id)
          Metodi poistaa parametrina annetun alan.
 void removeAlaKayttajalta(int kayt_id, int ala_id)
          ei testattu Metodi poistaa parametrina annetun alan käyttäjältä
 void removeArtikkeli(int artik_id)
          Metodi poistaa artikkelin.
 void removeArtikkeliLehdesta(int artik_id)
          Metodi poistaa artikkelin lehdestä, johon se on asetettu.
 void removeAsiantuntijaArtikkelista(int artik_id, int versionro, int kayt_id)
          Metodi poistaa artikkelilta asiantuntijan.
 void removeSahkopostiKayttajalta(int kayt_id, java.lang.String sposti)
          Metodi poistaa käyttäjältä sähköpostiosoitteen.
 boolean setAktiivinenEmail(int kayt_id, java.lang.String uusiAktiivinen)
          Metodi vaihtaa käyttäjän aktiivisen sähköpostiosoitteen.
 boolean setAla(int ala_id, java.lang.String uusiNimi)
          Metodi vaihtaa halutun alan nimeä.
 boolean setLausunnonTeksti(int kayt_id, int artik_id, int versionro, java.lang.String kirjoittajalle)
          Metodi päivittää kirjoittajalle näytettävän lausuntotekstin valittuun artikkeliin.
 void setLausuntoLukittu(int versionro, int artik_id, int kayt_id, boolean lukittu)
          Metodi vapauttaa lausunnon lukituksen tai lukitsee lausunnon.
 void setLausuntopyynnonTila(int artik_id, int versionro, int kayt_id, int tila)
          Metodi asettaa artikkelin versioon liittyvän lausuntopyynnön tilan.
 void setLausuntopyyntoLuettu(int artik_id, int versionro, int kayt_id)
          Metodi asetettaa aikaleiman lausuntopyynnön lukemishetkelle.
 boolean setLiitteenNakyvyys(int liitenro, int artik_id, int versionro, int kayt_id, boolean nakyviin)
          Metodi päivittää liitetiedoston näkyvyyden arvon.
 void setVersioLukittu(int artik_id, int versionro, boolean lukittu)
          Metodi asettaa artikkeliversion lukituksi tai vapauttaa lukituksen.
 void setViimeinenKirjautuminen(int kayt_id)
          Metodi päivittää käyttäjän viimeiseksi kirjautumiseksi nykyhetken.
 void siirraRoskakoriin(int artik_id)
          Metodi siirtää artikkelin roskakoriin.
 Artikkeli submitArtikkeli(int kayt_id, Artikkeli artikkeli)
          Metodi päivittää artikkelin muuttuneet tiedot.
 void submitAsiantuntijaArtikkeliin(int artik_id, int versionro, int kayt_id)
          Metodi lisää artikkelille asiantuntijan.
 Kayttaja submitKayttajatiedot(Kayttaja uusiKayttaja, java.lang.String salasana)
          Metodi lisää käyttäjän tietokantaan, jos käyttäjän tunnus on pienempi tai yhtä suuri kuin 0.
 Artikkeli submitLatex(int kayt_id, Artikkeli artikkeli)
          Metodin avulla lähetetään hyväksyttyyn artikkeliin liittyvä LaTeX-muotoinen tiedosto.
 void submitLausunto(int kayt_id, int artik_id, int versionro, Lausunto kirjoittajaLausunto, Lausunto toimitusLausunto)
          Päivittää lausunnon muuttuneet tiedot.
 void submitPaatos(int kayt_id, int artik_id, int versionro, int paatos)
          Metodi joko päivittää olemassaolevaa Paatos-taulun riviä tai lisää uuden rivin.
 void submitViesti(java.lang.String viesti, int artik_id, int versionro, boolean paatoimittajalle)
          Metodi lähettää viestin toimittajalta päätoimittajalle tai päätoimittajalta toimittajalle.
 Kayttaja tarkistaKirjautuminen(java.lang.String tunnus, java.lang.String salasana)
          Metodi tarkistaa ovatko käyttäjän tunnus ja salasana oikeelliset.
 int tarkistaSahkoposti(java.lang.String sahkoposti)
          Metodi tarkistaa löytyykö sähköpostiosoite tietokannasta.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

JARJESTA_ARTIKKELI_OTSIKKO

public static final int JARJESTA_ARTIKKELI_OTSIKKO
See Also:
Constant Field Values

JARJESTA_ARTIKKELI_KIRJOITTAJA

public static final int JARJESTA_ARTIKKELI_KIRJOITTAJA
See Also:
Constant Field Values

JARJESTA_ARTIKKELI_PAIVAMAARA

public static final int JARJESTA_ARTIKKELI_PAIVAMAARA
See Also:
Constant Field Values

JARJESTA_ARTIKKELI_AIHE

public static final int JARJESTA_ARTIKKELI_AIHE
See Also:
Constant Field Values

JARJESTA_ARTIKKELI_TILA

public static final int JARJESTA_ARTIKKELI_TILA
See Also:
Constant Field Values

JARJESTA_ASIANTUNTIJA_NIMI

public static final int JARJESTA_ASIANTUNTIJA_NIMI
See Also:
Constant Field Values

JARJESTA_ASIANTUNTIJA_ALA

public static final int JARJESTA_ASIANTUNTIJA_ALA
See Also:
Constant Field Values

JARJESTA_KAYTTAJA_NIMI

public static final int JARJESTA_KAYTTAJA_NIMI
See Also:
Constant Field Values

JARJESTA_KAYTTAJA_ROOLI

public static final int JARJESTA_KAYTTAJA_ROOLI
See Also:
Constant Field Values

JARJESTA_KAYTTAJA_EMAIL

public static final int JARJESTA_KAYTTAJA_EMAIL
See Also:
Constant Field Values

dbConnector

private DBConnector dbConnector
Constructor Detail

DAO

public DAO(DBConnector dbConnector)
Luo uuden ilmentymän luokasta parametrina käytettävä dbConnector.

Parameters:
dbConnector - dbConnector
Method Detail

getKayttaja

private Kayttaja getKayttaja(Tulos apu)
Apumetodi, jolla saadaan Kayttaja-olio Tulos-oliosta.

Parameters:
apu - Tulos-olio, josta käyttäjäolio luodaan
Returns:
Tulos-oliota vastaava käyttäjäolio

getKayttajaListaan

private KayttajaListaan getKayttajaListaan(Tulos apu)
Apumetodi, jolla saadaan KayttajaListaan-olio Tulos-oliosta.

Parameters:
apu - Tulos-olio, josta käyttäjäolio luodaan
Returns:
Tulos-oliota vastaava käyttäjäolio

getKayttajanNimi

public KayttajaListaan getKayttajanNimi(int kayt_id)
Metodi palauttaa nimellä varustetun KayttajaListaan-olion käyttäjän tunnuksen perusteella. TESTATTU

Parameters:
kayt_id - käyttäjän tunnus
Returns:
etu- ja sukunimellä varustettu KayttajaListaan-olio

getAla_id

public int getAla_id(java.lang.String ala)
Metodi palauttaa alan tunnuksen nimen perusteella.

Parameters:
ala - alan tunnus Stringinä
Returns:
alan tunnus

getAlanNimi

public java.lang.String getAlanNimi(int ala_id)
Metodi palauttaa alan nimen alan tunnuksen perusteella.

Parameters:
ala_id - alan tunnus
Returns:
alan tunnus Stringinä

getAlat

public java.util.List getAlat()
Metodi palauttaa kaikki kannasta löytyvät erikoisalat listana.

Returns:
erikoisalalista

getArtikkeli

public Artikkeli getArtikkeli(int artik_id,
                              int versionro)
Metodi palauttaa Artikkeli-olion annetun tunnuksen ja versionumeron perusteella. TESTATTU

Parameters:
artik_id - artikkelin tunnus
versionro - versionumero
Returns:
parametrien mukainen Artikkeli-olio

getArtikkelinLehti

public int[] getArtikkelinLehti(int artik_id)
Metodi palauttaa sen lehden numeron ja vuosikerran, jossa artikkeli on julkaistu.

Parameters:
artik_id - artikkelin tunnus
Returns:
int[] lehden numero ja vuosikerta

getArtikkeliPoistettu

public boolean getArtikkeliPoistettu(int artik_id)
Metodi palauttaa tiedon siitä, onko artikkeli roskakorissa. TESTATTU

Parameters:
artik_id - artikkelin tunnus
Returns:
boolean poistettu

getArtikkelit

public java.util.List getArtikkelit()
Metodi palauttaa kaikki artikkeliversiot lähetyspäivän mukaan järjestettynä.

Returns:
lista Artikkeli-olioita

getArtikkelit

public java.util.List getArtikkelit(int jarjestysehto)
Metodi palauttaa kaikki artikkeliversiot ehdon mukaan järjestettynä.

Parameters:
jarjestysehto - järjestysehto
Returns:
lista Artikkeli-olioita

getAsiantuntijanArtikkelit

public java.util.List getAsiantuntijanArtikkelit(int kayt_id,
                                                 int jarjestys)
Metodi palauttaa tietyllä asiantuntijalla arvosteltavana olevat artikkelit. TESTATTU

Parameters:
kayt_id - käyttäjän tunnus
jarjestys - Järjestys, jossa artikkelit listataan
Returns:
Lista artikkeleita

getAsiantuntijat

public java.util.List getAsiantuntijat()
Metodi palauttaa kaikki kannasta löytyvät asiantuntijat Kayttaja-olioina. TESTATTU

Returns:
asiantuntijalista

getAsiantuntijat

public java.util.List getAsiantuntijat(java.lang.String hakusanat)
Metodi palauttaa hakuehdon täyttävät asiantuntijat Kayttaja-olioina.

Parameters:
hakusanat - hakusanat
Returns:
lista hakuehdon täyttävistä asiantuntijoista

getAsiantuntijat

public java.util.List getAsiantuntijat(int artik_id,
                                       int versionro)
Metodi palauttaa tiettyyn artikkelin versioon liittyvät asiantuntijat.

Parameters:
artik_id - artikkelin tunnus
versionro - versionumero
Returns:
asiantuntijalista

getJulkaisemattomatArtikkelit

public java.util.List getJulkaisemattomatArtikkelit(int jarjestys)
Metodi palauttaa julkaisemattomat artikkelit.

Parameters:
jarjestys - Järjestysehto
Returns:
lista ArtikkeliListaan-olioita

getKayttajat

public java.util.List getKayttajat()
Palauttaa listan kaikista kannasta löytyvistä käyttäjistä nimen mukaan järjestettynä.

Returns:
lista Kayttaja-olioita

getKayttajat

public java.util.List getKayttajat(int jarjestysehto)
Palauttaa listan kaikista kannasta löytyvistä käyttäjistä, halutulla tavalla järjestettynä.

Parameters:
jarjestysehto - järjestysehto
Returns:
lista Kayttaja-olioita

getKayttajatiedot

public Kayttaja getKayttajatiedot(int kayt_id)
Palauttaa Kayttaja-olion halutusta käyttäjästä.

Parameters:
kayt_id - käyttäjän tunnus
Returns:
käyttäjän tiedot Kayttaja-oliona

getKiireellisetArtikkelit

public java.util.List getKiireellisetArtikkelit(int jarjestys)
Metodi palauttaa kiireelliset artikkelit. Kiireellisiä ovat artikkelit, joille ei ole annettu päätöstä ja jotka eivät ole päätoimittajalla.

Parameters:
jarjestys - järjestysehto
Returns:
lista ArtikkeliListaan-olioita

getKirjoittajanArtikkelit

public java.util.List getKirjoittajanArtikkelit(int kayt_id,
                                                int jarjestys)
Metodi palauttaa kaikki tietyn käyttäjän kirjoittamat artikkeliversiot. TESTATTU

Parameters:
kayt_id - käyttäjätunnus
jarjestys - Järjestys, jossa artikkelit listataan
Returns:
lista Artikkeli-olioita, joissa käyttäjä on kirjoittajana

getLausunnot

public java.util.List getLausunnot(int artik_id,
                                   int versionro,
                                   boolean kirjoittaja)
Metodi palauttaa tietyn artikkeliversion kirjoittajalle/toimitukselle tarkoitetut lausunnot.

Parameters:
artik_id - artikkelin tunnus
versionro - versionumero
kirjoittaja - kirjoittaja/toimitus
Returns:
lista niistä Lausunto-olioista, jotka koskevat kyseistä artikkeliversiota

getLausunto

public Lausunto getLausunto(int kayt_id,
                            int artik_id,
                            int versionro,
                            boolean kirjoittaja)
Palauttaa tietyn asiantuntijan tietylle artikkelille antaman lausunnon Lausunto-oliona.

Parameters:
kayt_id - asiantuntijan tunnus
artik_id - artikkelin tunnus
versionro - versionumero
kirjoittaja - kirjoittajalle/toimitukselle
Returns:
Lausunto-olio parametrien ehdot täyttävästä lausunnosta

getLausunnonTila

public int getLausunnonTila(int artik_id,
                            int versionro,
                            int kayt_id)
Metodi palauttaa tietyn asiantuntijan tietyn artikkelin versiota koskevan lausunnon tilan asiantuntijanäkymän artikkelilistan luomista varten. Jokaista tilaa vastaa artikkelilistassa oma tekstinsä, esimerkiksi "Accepted with minor revision". Jos asiantuntija ei ole vielä antanut lausuntoa artikkelia koskien, artikkeliin liittyy teksti "Waiting for review" tai "New article". TESTATTU

Parameters:
artik_id - artikkelin tunnus
versionro - versionumero
kayt_id - käyttäjän tunnus
Returns:
versiota koskevan lausunnon tila

getLausuntojenTilat

public int[][] getLausuntojenTilat(int artik_id,
                                   int versionro)
Metodi palauttaa int-taulukon lausuntojen päätöksistä ja lausuntopyyntöjen tiloista artikkelilistan luomista varten toimittajille ja kirjoittajille. Taulukon ensimmäisiin alkioihin sijoitetaan lausunnot ja viimeisiin lausuntopyynnöt. Kirjoittajan artikkelilistaa luotaessa taulukon arvot 1-4 vastaavat tekstiä "not yet reviewed" ja arvot 5-8 tekstiä "reviewed". Toimituksella jokaista taulukon arvoa vastaa oma tekstinsä.

Parameters:
artik_id - artikkelin tunnus
versionro - versionumero
Returns:
kokonaislukutaulukko, joka ilmaisee lausuntojen tilat asiantuntijakohtaisesti

getLausuntoLukittu

public boolean getLausuntoLukittu(int artik_id,
                                  int versionro,
                                  int kayt_id)
Metodi palauttaa tiedon siitä, onko tiettyyn artikkelin versioon liittyvä lausunto lukittu vai ei. TESTATTU

Parameters:
artik_id - artikkelin tunnus
versionro - versionumero
kayt_id - asiantuntijan tunnus
Returns:
tieto lausunnon lukituksesta

getLausuntoPyydetty

public java.lang.String getLausuntoPyydetty(int artik_id,
                                            int versionro,
                                            int kayt_id)
Metodi palauttaa päivämäärän, jolloin asiantuntijalta on pyydetty lausuntoa.

Parameters:
artik_id - artikkelin tunnus
versionro - versionumero
kayt_id - asiantuntijan tunnus
Returns:
muistutuksen päivämäärä

getLausuntopyynnonTila

public int getLausuntopyynnonTila(int artik_id,
                                  int versionro,
                                  int kayt_id)
Metodi palauttaa tietyn artikkeliversion tietyn lausuntopyynnön tilan.

Parameters:
artik_id - artikkelin tunnus
versionro - versionumero
kayt_id - käyttäjän tunnus
Returns:
kokonaisluku, joka ilmaisee lausuntopyynnön tilan

getLehti

public java.util.List getLehti(int nro,
                               int vuosikerta,
                               int jarjestys)
Metodi palauttaa tiettyyn painokseen valitut artikkelit Artikkeli-listana.

Parameters:
nro - lehden numero, josta artikkeleita haetaan
vuosikerta - lehden vuosikerta, joista artikkeleita haetaan
jarjestys - järjestysehto
Returns:
lista Artikkeli-olioita, jotka on liitetty lehteen

getLehtiNumerot

public int[] getLehtiNumerot()
Metodi palauttaa lehden mahdolliset numerot.

Returns:
int[] mahdollisista numeroista

getLehtiVuosikerrat

public int[] getLehtiVuosikerrat()
Metodi palauttaa lehden mahdolliset vuosikerrat.

Returns:
int[] mahdollisista vuosikerroista

getLokikirjaukset

public java.util.List getLokikirjaukset(int kayt_id)
Metodi palauttaa tiettyä käyttäjää koskevat lokikirjaukset. TESTATTU

Parameters:
kayt_id - käyttäjän tunnus
Returns:
lista lokikirjauksista

getLupaLahettaa

public boolean getLupaLahettaa(int artik_id,
                               int versionro)
Metodi palauttaa tiedon siitä, onko parametrina annetusta versiosta lupa lähettää uudempi versio. Lupa lähetykseen annetaan vain silloin, kun versiosta ei ole lähetetty vielä uudempia versio, ts. kun parametrina annettu versio on uusin. TESTATTU

Parameters:
artik_id - artikkelin tunnus
versionro - versionumero
Returns:
onko artikkelista lupa lähettää uusi versio

getKirjoittajaLiitteelle

public int getKirjoittajaLiitteelle(int arvostelijaId,
                                    int artik_id)
Hakee käyttäjän ID:n, jolle liite on tarkoitettu. Metodia käytetään TiedostoServletissä oikeuksien tarkistamiseen.

Parameters:
arvostelijaId - arvostelijan, eli liitteen omistajan kayt_id
artik_id - artikkelin ID
Returns:
kirjoittajan kayt_id, jolle liite on osoitettu

getArtikkelinArvostelija

public boolean getArtikkelinArvostelija(int artik_id,
                                        int versionro,
                                        int kayt_id)
Tarkistaa onko onko artikkeli tarkoitettu kyseiselle arvostelijalle.

Parameters:
artik_id - artikkelin id
versionro - artikkelin versio
kayt_id - asiantuntijan id
Returns:
true on oikeus lukea

getMuistutettu

public Paivamaara getMuistutettu(int artik_id,
                                 int versionro,
                                 int kayt_id)
Metodilla haetaan tietylle asiantuntijalle lähetetyn muistutuksen päiväys. TESTATTU

Parameters:
artik_id - artikkelin tunnus
versionro - versionumero
kayt_id - asiantuntijan tunnus
Returns:
muistutuksen päivämäärä

getPaatoimittajanArtikkelit

public java.util.List getPaatoimittajanArtikkelit(int jarjestys)
Metodi palauttaa päätoimittajalle tarkoitetut artikkelit.

Parameters:
jarjestys - järjestysehto
Returns:
lista ArtikkeliListaan-olioita

getPaatoksenTiedot

public Paatos getPaatoksenTiedot(int artik_id,
                                 int versionro)
Metodi palauttaa Paatos-olion, joka sisältää tietylle artikkelille annetun päätöksen tiedot.

Parameters:
artik_id - artikkelin tunnus
versionro - aversionumero
Returns:
Paatos-olio

getPaatos

public int getPaatos(int artik_id,
                     int versionro)
Metodi palauttaa artikkelin version päätöksen.

Parameters:
artik_id - artikkelin tunnus
versionro - versionumero
Returns:
artikkelin version päätös

getRaportti

public java.lang.String getRaportti(int raportti)
Metodi palauttaa halutun raportin merkkiesityksen.

Parameters:
raportti - raportin numero
Returns:
merkkiesitys halutusta raportista

getRoskakori

public java.util.List getRoskakori(int jarjestys)
Metodi palauttaa roskakorissa olevat artikkelit.

Parameters:
jarjestys - järjestysehto
Returns:
lista ArtikkeliListaa-olioita

getVersioLukittu

public boolean getVersioLukittu(int artik_id,
                                int versionro)
Metodi palauttaa tiedon siitä, onko artikkelin versio lukittu. TESTATTU

Parameters:
artik_id - artikkelin tunnus
versionro - versionumero
Returns:
tieto siitä, onko versio lukittu vai ei

getViesti

public java.util.List getViesti(int artik_id,
                                int versionro)
Metodi palauttaa viestin toimittajille/päätoimittajalle. HUOM! boolean-arvo on listassa Stringinä ("t" tai "f").

Parameters:
artik_id - artikkelin tunnus
versionro - artikkelin versionumero
Returns:
viesti ja tieto, onko viesti toimittajille vai päätoimittajalle

insertAla

public int insertAla(java.lang.String alanNimi)
Metodi lisää uuden alan järjestelmään.

Parameters:
alanNimi - Alan nimi
Returns:
päivitetyn alan ala_id (>0), jos lisäys onnistui, Integer.MIN_VALUE, jos parametrina annettu alanNimi löytyy ennestään tietokannasta.

insertAlaKayttajalle

public void insertAlaKayttajalle(int kayt_id,
                                 int ala_id)
Metodi lisää alan käyttäjälle.

Parameters:
kayt_id - käyttäjän tunnus
ala_id - alan tunnus

insertArtikkeliLehteen

public void insertArtikkeliLehteen(int artik_id,
                                   int nro,
                                   int vuosikerta)
Metodi lisää artikkelin lehteen.

Parameters:
artik_id - artikkelin tunnus
nro - lehden numero
vuosikerta - lehden vuosikerta

insertAsiantuntija

public int insertAsiantuntija(Kayttaja uusiKayttaja)
Metodi luo uuden asiantuntijan. Asiantuntijan lisääminen lisää rivejä tauluihin Kayttaja, Asiantuntija, Osaamisala ja Sposti.

Parameters:
uusiKayttaja - asiantuntijaksi lisättävä Kayttaja-olio
Returns:
asiantuntijan tunnus

submitAsiantuntijaArtikkeliin

public void submitAsiantuntijaArtikkeliin(int artik_id,
                                          int versionro,
                                          int kayt_id)
Metodi lisää artikkelille asiantuntijan.

Parameters:
artik_id - sen artikkelin tunnus, jolle asiantuntija lisätään
versionro - sen artikkelin versionumero, jolle asiantuntija lisätään
kayt_id - lisättävän asiantuntijan tunnus

insertLokikirjaus

public void insertLokikirjaus(int kayt_id,
                              java.lang.String syy)
Metodin avulla tuotetaan lokikirjauksia toimitusta kiinnostavista tapahtumista. TESTATTU

Parameters:
kayt_id - käyttäjän tunnus
syy - lokikirjauksen syy

insertSahkopostiKayttajalle

public void insertSahkopostiKayttajalle(int kayt_id,
                                        java.lang.String sposti)
Metodi lisää käyttäjälle uuden sähköpostiosoitteen.

Parameters:
kayt_id - käyttäjän tunnus
sposti - lisättävä sähköpostiosoite

insertToimittaja

public void insertToimittaja(Kayttaja uusiKayttaja)
Metodi lisää uuden toimittajan tietokantaan. Toimittajasta tehdään samalla asiantuntija. TESTATTU

Parameters:
uusiKayttaja - lisättävä toimittaja

lahetaLausuntopyynto

public void lahetaLausuntopyynto(int artik_id,
                                 int versionro,
                                 int kayt_id)
Metodin avulla lähetetään lausuntopyyntö sähköpostitse parametrina annetulle asiantuntijalle. TESTATTU

Parameters:
artik_id - artikkelin tunnus
versionro - versionumero
kayt_id - asiantuntijan tunnus

lahetaMuistutus

public void lahetaMuistutus(int artik_id,
                            int versionro,
                            int kayt_id)
Metodin avulla lähetetään asiantuntijalle sähköpostitse muistutus häntä odottavasta lausuntopyynnöstä. TESTATTU

Parameters:
artik_id - artikkelin tunnus
versionro - versionumero
kayt_id - asiantuntijan tunnus

getUusiSalasana

private java.lang.String getUusiSalasana()
Metodi luo uuden salasanan. TESTATTU

Returns:
salasana String-muodossa

lahetaSalasana

public void lahetaSalasana(int kayt_id)
Metodi lähettää uuden salasanan halutulle käyttäjälle. Salasana kryptataan Salaaja-luokan avulla ja viedään salattuna kantaan. TESTATTU

Parameters:
kayt_id - käyttäjän tunnus

removeAla

public void removeAla(int ala_id)
Metodi poistaa parametrina annetun alan.

Parameters:
ala_id - alan tunnus

removeAlaKayttajalta

public void removeAlaKayttajalta(int kayt_id,
                                 int ala_id)
ei testattu Metodi poistaa parametrina annetun alan käyttäjältä

Parameters:
kayt_id - käyttäjän tunnus
ala_id - poistettavan alan tunnus

removeArtikkeli

public void removeArtikkeli(int artik_id)
Metodi poistaa artikkelin.

Parameters:
artik_id - artikkelin tunnus

removeArtikkeliLehdesta

public void removeArtikkeliLehdesta(int artik_id)
Metodi poistaa artikkelin lehdestä, johon se on asetettu.

Parameters:
artik_id - poistettavan artikkelin tunnus

removeAsiantuntijaArtikkelista

public void removeAsiantuntijaArtikkelista(int artik_id,
                                           int versionro,
                                           int kayt_id)
Metodi poistaa artikkelilta asiantuntijan.

Parameters:
artik_id - sen artikkelin tunnus, jolta asiantuntija poistetaan
versionro - sen artikkelin versionumero, jolta asiantuntija poistetaan
kayt_id - poistettavan asiantuntijan tunnus EI TESTATTU Muuttelin tätä -Jere

removeSahkopostiKayttajalta

public void removeSahkopostiKayttajalta(int kayt_id,
                                        java.lang.String sposti)
Metodi poistaa käyttäjältä sähköpostiosoitteen.

Parameters:
kayt_id - käyttäjän tunnus
sposti - poistettava sähköpostiosoite

setLausuntoLukittu

public void setLausuntoLukittu(int versionro,
                               int artik_id,
                               int kayt_id,
                               boolean lukittu)
Metodi vapauttaa lausunnon lukituksen tai lukitsee lausunnon.

Parameters:
versionro - versionumero
artik_id - artikkelin tunnus
kayt_id - käyttäjän tunnus
lukittu - lausunto lukittu/ei-lukittu

setLausuntopyynnonTila

public void setLausuntopyynnonTila(int artik_id,
                                   int versionro,
                                   int kayt_id,
                                   int tila)
Metodi asettaa artikkelin versioon liittyvän lausuntopyynnön tilan.

Parameters:
artik_id - artikkelin tunnus
versionro - versionumero
kayt_id - asiantuntijan tunnus
tila - lausuntopyynnön tila

setLausuntopyyntoLuettu

public void setLausuntopyyntoLuettu(int artik_id,
                                    int versionro,
                                    int kayt_id)
Metodi asetettaa aikaleiman lausuntopyynnön lukemishetkelle. TESTATTU

Parameters:
artik_id - artikkelin tunnus
versionro - versionumero
kayt_id - asiantuntijan tunnus

setVersioLukittu

public void setVersioLukittu(int artik_id,
                             int versionro,
                             boolean lukittu)
Metodi asettaa artikkeliversion lukituksi tai vapauttaa lukituksen.

Parameters:
artik_id - artikkelin tunnus
versionro - versionumero
lukittu - onko artikkeliversio lukittu

setViimeinenKirjautuminen

public void setViimeinenKirjautuminen(int kayt_id)
Metodi päivittää käyttäjän viimeiseksi kirjautumiseksi nykyhetken.

Parameters:
kayt_id - käyttäjän tunnus

siirraRoskakoriin

public void siirraRoskakoriin(int artik_id)
Metodi siirtää artikkelin roskakoriin.

Parameters:
artik_id - artikkelin tunnus

submitArtikkeli

public Artikkeli submitArtikkeli(int kayt_id,
                                 Artikkeli artikkeli)
Metodi päivittää artikkelin muuttuneet tiedot. Jos artikkelin tunnus on pienempi kuin 0, luodaan uusi artikkeli ja sen versio, muuten luodaan vain uusi versio.

Parameters:
kayt_id - Käyttäjän tunnus
artikkeli - muokattava tai lisättävä artikkeli
Returns:
lisätty tai muokattu artikkeli

submitKayttajatiedot

public Kayttaja submitKayttajatiedot(Kayttaja uusiKayttaja,
                                     java.lang.String salasana)
Metodi lisää käyttäjän tietokantaan, jos käyttäjän tunnus on pienempi tai yhtä suuri kuin 0. Jos tunnus on määritelty, päivitetään kyseisen käyttäjän tiedot.

Parameters:
uusiKayttaja - päivitettävä käyttäjä
salasana - uusi salasana
Returns:
Kayttaja-olio luodusta (tai muutetusta) käyttäjästä

submitLausunto

public void submitLausunto(int kayt_id,
                           int artik_id,
                           int versionro,
                           Lausunto kirjoittajaLausunto,
                           Lausunto toimitusLausunto)
Päivittää lausunnon muuttuneet tiedot. Jos lausuntoa ei löydy tietokannasta, lisätään se.

Parameters:
kayt_id - asiantuntijan tunnus
artik_id - artikkelin tunnus
versionro - versionumero
kirjoittajaLausunto - kirjoittajalle näkyvä lausunto
toimitusLausunto - toimitukselle näkyvä lausunto

submitPaatos

public void submitPaatos(int kayt_id,
                         int artik_id,
                         int versionro,
                         int paatos)
Metodi joko päivittää olemassaolevaa Paatos-taulun riviä tai lisää uuden rivin. TESTATTU

Parameters:
kayt_id - toimittajan tunnus
artik_id - artikkelin tunnus
versionro - versionumero
paatos - päätös

submitLatex

public Artikkeli submitLatex(int kayt_id,
                             Artikkeli artikkeli)
Metodin avulla lähetetään hyväksyttyyn artikkeliin liittyvä LaTeX-muotoinen tiedosto. Lähetetystä uudesta versiosta annetaan välittömästi päätös "LaTeX lähetetty". TESTATTU

Parameters:
kayt_id - käyttäjän tunnus
artikkeli - Artikkeli-olio
Returns:
lisätty versio Artikkeli-oliona

submitViesti

public void submitViesti(java.lang.String viesti,
                         int artik_id,
                         int versionro,
                         boolean paatoimittajalle)
Metodi lähettää viestin toimittajalta päätoimittajalle tai päätoimittajalta toimittajalle.

Parameters:
viesti - lähetettävä viesti
artik_id - artikkelin tunnus
versionro - versionumero
paatoimittajalle - onko viesti toimittajille vai päätoimittajalle

tarkistaKirjautuminen

public Kayttaja tarkistaKirjautuminen(java.lang.String tunnus,
                                      java.lang.String salasana)
Metodi tarkistaa ovatko käyttäjän tunnus ja salasana oikeelliset.

Parameters:
tunnus - käyttäjän tunnus
salasana - käyttäjän salasana
Returns:
käyttäjän tiedot Kayttaja-oliona tai null, jos käyttäjän tiedot ovat virheelliset

tarkistaSahkoposti

public int tarkistaSahkoposti(java.lang.String sahkoposti)
Metodi tarkistaa löytyykö sähköpostiosoite tietokannasta.

Parameters:
sahkoposti - tarkistettava sähköpostiosoite
Returns:
kokonaisluku, joka kertoo löytyykö osoitetta tietokannasta

setAktiivinenEmail

public boolean setAktiivinenEmail(int kayt_id,
                                  java.lang.String uusiAktiivinen)
Metodi vaihtaa käyttäjän aktiivisen sähköpostiosoitteen.

Parameters:
kayt_id - käyttäjän tunnus
uusiAktiivinen - uusi aktiivinen sähköpostiosoite
Returns:
tieto päivityksen onnistumisesta

setAla

public boolean setAla(int ala_id,
                      java.lang.String uusiNimi)
Metodi vaihtaa halutun alan nimeä. Tietokannassa ei voi olla kahta samannimistä alaa.

Parameters:
ala_id - alan tunnus
uusiNimi - alan uusi nimi
Returns:
false, kun parametriksi annettu alan nimi on ennestään tietokannassa

setLausunnonTeksti

public boolean setLausunnonTeksti(int kayt_id,
                                  int artik_id,
                                  int versionro,
                                  java.lang.String kirjoittajalle)
Metodi päivittää kirjoittajalle näytettävän lausuntotekstin valittuun artikkeliin.

Parameters:
kayt_id - asiantuntijan tunnus
artik_id - artikkelin tunnus
versionro - versionumero
kirjoittajalle - päivitettävä teksti
Returns:
tieto päivityksen onnistumisesta

setLiitteenNakyvyys

public boolean setLiitteenNakyvyys(int liitenro,
                                   int artik_id,
                                   int versionro,
                                   int kayt_id,
                                   boolean nakyviin)
Metodi päivittää liitetiedoston näkyvyyden arvon.

Parameters:
kayt_id - Käyttäjän id
liitenro - päivitettävän liitteen numero
artik_id - liitteeseen liittyvän artikkelin tunnus
versionro - versionumero
nakyviin - näytetäänkö liite kirjoittajalle
Returns:
tieto päivityksen onnistumisesta

main

public static void main(java.lang.String[] args)