njc
Class Tiedosto

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

public class Tiedosto
extends java.lang.Object

Luokka käsittelee tiedostojen tallentamisen lomakkeissa, sekä tiedostojen siirtämisen ja poistamisen.

Author:
Eero Anttila

Field Summary
static java.lang.String JUURI
           
(package private)  boolean onkoMultipart
           
(package private)  java.util.Collection parametrit
           
(package private)  org.apache.commons.fileupload.DiskFileUpload tiedosto
           
 
Constructor Summary
Tiedosto(javax.servlet.http.HttpServletRequest req)
          Luokan konstruktori, jolla luodaan DiskFileUpload-olio.
 
Method Summary
 java.lang.String getParametri(java.lang.String nimi)
          Metodi etsii multipart-kokoelmasta annetulla parametrilla olevan parametrin arvon merkkijonona.
 int getParametriInt(java.lang.String nimi)
          Metodi etsii multipart-kokoelmasta annetulla parametrilla olevan parametrin arvon kokonaislukuna.
 boolean onMultipart()
          Konstruktorin kutsumisen onnistuminen vaikuttaa tähän metodiin.
static void poistaLiiteTemp(int kayt_id, boolean kirjoittajalle, java.lang.String lyhytNimi)
          Metodi poistaa temp-tiedoston käytäjän versioiden temp-hakemistosta annetulla tiedoston nimellä.
static void poistaTempTiedostot(int kayt_id)
          Metodi poistaa käyttäjän kaikki temp-tiedostot versiot ja liitteet hakemistoista.
static void poistaVersioTemp(int kayt_id, java.lang.String lyhytNimi)
          Metodi poistaa temp-tiedoston käyttäjän versioiden temp-hakemistosta annetulla tiedoston nimellä.
static java.lang.String siirraTiedosto(int kayt_id, int artik_id, int versionro, int liitenro, java.lang.String lyhytNimi, boolean kirjoittajalle)
          Metodi siirtää liite-tyyppisen tiedoston temp-hakemistosta varsinaiseen hakemistoon sekä lisää tiedoston nimen alkuosaan koodauksen.
static java.lang.String siirraVersio(int kayt_id, int artik_id, int versionro, java.lang.String lyhytNimi)
          Metodi Siirtää versio-tyyppisen tiedoston temp-hakemistosta varsinaiseen hakemistoon sekä lisää tiedoston nimen alkuosaan koodauksen.
 java.lang.String tallennaLiite(int kayt_id, int artik_id, int versionro, int liitenro, java.lang.String parametrinNimi)
          Metodi tallentaa liite-tyyppisen tiedoston pysyvään hakemistoon muodossa: liitteet/ID(kayt_id)/A(artik_id)V(versionro)L(liitenro)T(nimi).
 java.lang.String tallennaLiiteTemp(int kayt_id, boolean kirjoittajalle, java.lang.String parametrinNimi)
          Metodi tallentaa lomakkeelta saadun liite-tyyppisen tiedoston temp-hakemistoon ja poistaa skandimerkit tiedoston nimestä.
private  java.lang.String tallennaTiedosto(java.lang.String polku, java.lang.String parametrinNimi)
          Metodi tallentaa tiedoston palvelinkoneelle HTTP-pyynnöstä.
 java.lang.String tallennaVersio(int kayt_id, int artik_id, int versionro, java.lang.String parametrinNimi)
          Metodi tallentaa versio-tyyppisen tiedoston pysyvään hakemistoon muodossa: versiot/ID(kayt_id)/A(artik_id)V(versionro)T(nimi).
 java.lang.String tallennaVersioTemp(int kayt_id, java.lang.String parametrinNimi)
          Metodi tallentaa lomakkeelta saadun versio-tyyppisen tiedoston temp-hakemistoon ja poistaa skandimerkit tiedoston nimestä.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

JUURI

public static final java.lang.String JUURI

tiedosto

org.apache.commons.fileupload.DiskFileUpload tiedosto

parametrit

java.util.Collection parametrit

onkoMultipart

boolean onkoMultipart
Constructor Detail

Tiedosto

public Tiedosto(javax.servlet.http.HttpServletRequest req)
Luokan konstruktori, jolla luodaan DiskFileUpload-olio. Luonnin onnistuttua onMultipart() palauttaa arvon true, tai arvon false, jos luonti epäonnistui.

Parameters:
req - pyyntö lomakkeelta, jonka muodon on oltava enctype='multipart/form-data'
Method Detail

onMultipart

public boolean onMultipart()
Konstruktorin kutsumisen onnistuminen vaikuttaa tähän metodiin.

Returns:
true, jos lomake on oikeata multipart/form-data-tyyppiä, muuten false

getParametri

public java.lang.String getParametri(java.lang.String nimi)
Metodi etsii multipart-kokoelmasta annetulla parametrilla olevan parametrin arvon merkkijonona.

Parameters:
nimi - parametrin nimi
Returns:
parametrin arvo, tai null, jos parametria ei löydy

getParametriInt

public int getParametriInt(java.lang.String nimi)
Metodi etsii multipart-kokoelmasta annetulla parametrilla olevan parametrin arvon kokonaislukuna.

Parameters:
nimi - parametrin nimi
Returns:
parametrin arvo tai Integer.MIN_VALUE, jos parametria ei löydy tai jos parametri ei ole kokonaisluku

tallennaLiiteTemp

public java.lang.String tallennaLiiteTemp(int kayt_id,
                                          boolean kirjoittajalle,
                                          java.lang.String parametrinNimi)
Metodi tallentaa lomakkeelta saadun liite-tyyppisen tiedoston temp-hakemistoon ja poistaa skandimerkit tiedoston nimestä.

Parameters:
kayt_id - käyttäjän tunnus, jotta osataan tallentaa oikeaan polkuun, esim. ID123/temp
kirjoittajalle - onko liite kirjoittajalle
parametrinNimi - lomakkeessa ollut tiedoston name-kenttä
Returns:
tallennetun tiedoston nimi

tallennaVersioTemp

public java.lang.String tallennaVersioTemp(int kayt_id,
                                           java.lang.String parametrinNimi)
Metodi tallentaa lomakkeelta saadun versio-tyyppisen tiedoston temp-hakemistoon ja poistaa skandimerkit tiedoston nimestä.

Parameters:
kayt_id - käyttäjän tunnus, jotta osataan tallentaa oikeaan polkuun, esim. ID123/temp
parametrinNimi - lomakkeessa ollut tiedoston name-kenttä.
Returns:
tallennetun tiedoston nimi

tallennaVersio

public java.lang.String tallennaVersio(int kayt_id,
                                       int artik_id,
                                       int versionro,
                                       java.lang.String parametrinNimi)
Metodi tallentaa versio-tyyppisen tiedoston pysyvään hakemistoon muodossa: versiot/ID(kayt_id)/A(artik_id)V(versionro)T(nimi).

Parameters:
kayt_id - käyttäjän tunnus
artik_id - artikkelin tunnus
versionro - versionumero
parametrinNimi - lomakkeessa ollut tiedoston name-kenttä
Returns:
tiedoston nimi ilman alkuosan koodausta

tallennaLiite

public java.lang.String tallennaLiite(int kayt_id,
                                      int artik_id,
                                      int versionro,
                                      int liitenro,
                                      java.lang.String parametrinNimi)
Metodi tallentaa liite-tyyppisen tiedoston pysyvään hakemistoon muodossa: liitteet/ID(kayt_id)/A(artik_id)V(versionro)L(liitenro)T(nimi).

Parameters:
kayt_id - käyttäjän tunnus
artik_id - artikkelin tunnus
versionro - versionumero
liitenro - liitteen numero
parametrinNimi - lomakkeessa ollut tiedoston name-kenttä.
Returns:
tiedoston nimi ilman alkuosan koodausta.

siirraVersio

public static java.lang.String siirraVersio(int kayt_id,
                                            int artik_id,
                                            int versionro,
                                            java.lang.String lyhytNimi)
Metodi Siirtää versio-tyyppisen tiedoston temp-hakemistosta varsinaiseen hakemistoon sekä lisää tiedoston nimen alkuosaan koodauksen. Siirto on muotoa:
move versiot/ID(kayt_id)/temp/(nimi) versiot/ID(kayt_id)/A(artik_id)V(versionro)T(nimi).

Parameters:
kayt_id - käyttäjän tunnus
artik_id - artikkelin tunnus
versionro - versionumero
lyhytNimi - lomakkeessa ollut tiedoston name-kenttä
Returns:
uusi tiedoston polku

siirraTiedosto

public static java.lang.String siirraTiedosto(int kayt_id,
                                              int artik_id,
                                              int versionro,
                                              int liitenro,
                                              java.lang.String lyhytNimi,
                                              boolean kirjoittajalle)
Metodi siirtää liite-tyyppisen tiedoston temp-hakemistosta varsinaiseen hakemistoon sekä lisää tiedoston nimen alkuosaan koodauksen. Versionumeron on oltava >0, tai tiedosto tulkitaan versio-tyyppiseksi. Siirto on muotoa:
move liitteet/ID(kayt_id)/temp/(nimi) liitteet/ID(kayt_id)/A(artik_id)V(versionro)L(liitenro)T(nimi).

Parameters:
kayt_id - käyttäjän tunnus
artik_id - artikkelin tunnus
versionro - versionumero
liitenro - liitteen numero
lyhytNimi - lomakkeessa ollut tiedoston name-kenttä.
kirjoittajalle - Onko tiedosto kirjoittajan vai arvostelijan
Returns:
uusi tiedoston polku

poistaVersioTemp

public static void poistaVersioTemp(int kayt_id,
                                    java.lang.String lyhytNimi)
Metodi poistaa temp-tiedoston käyttäjän versioiden temp-hakemistosta annetulla tiedoston nimellä.

Parameters:
kayt_id - käyttäjän tunnus
lyhytNimi - poistettavan tiedoston nimi

poistaLiiteTemp

public static void poistaLiiteTemp(int kayt_id,
                                   boolean kirjoittajalle,
                                   java.lang.String lyhytNimi)
Metodi poistaa temp-tiedoston käytäjän versioiden temp-hakemistosta annetulla tiedoston nimellä.

Parameters:
kayt_id - käyttäjän tunnus
kirjoittajalle - onko liite kirjoittajalle
lyhytNimi - poistettavan tiedoston nimi

poistaTempTiedostot

public static void poistaTempTiedostot(int kayt_id)
Metodi poistaa käyttäjän kaikki temp-tiedostot versiot ja liitteet hakemistoista. Hakemistot ovat: versiot/ID(kayt_id/temp ja liitteet/ID(kayt_id)/temp.

Parameters:
kayt_id - sen käyttäjän tunnus, jonka hakemistoista tiedostot tuhotaan

tallennaTiedosto

private java.lang.String tallennaTiedosto(java.lang.String polku,
                                          java.lang.String parametrinNimi)
Metodi tallentaa tiedoston palvelinkoneelle HTTP-pyynnöstä. Metodin kuormitetut versiot käyttävät tätä metodia apunaan.

Parameters:
parametrinNimi - tiedoston nimi
polku - tiedoston polku
Returns:
tiedoston loppuosan nimi