cz.zcu.validationserver.domain
Class ValidationDomainImpl

java.lang.Object
  extended by cz.zcu.validationserver.common.NamedObject
      extended by cz.zcu.validationserver.domain.ValidationDomainImpl
All Implemented Interfaces:
LoadableFromXML, ValidationDomain, java.lang.Comparable<NamedObject>

public class ValidationDomainImpl
extends NamedObject
implements ValidationDomain

Created by IntelliJ IDEA. User: Lukas Date: 17.4.2007 Time: 15:19:38


Field Summary
private  java.util.List<java.lang.String> acceptedExtensions
          Seznam pripon souboru, ktere domena akceptuje.
private  ValidationProcess baseProcess
          Hlavni (zakladni) proces validace teto domeny
private  CustomOutputClasses customOutputClasses
          Seznam trid, ktere resi customOutput
private  java.net.URLClassLoader domainClassLoader
          URLClassLoader pro domenu - miri do adresare domeny
private  java.util.Locale domainDefaultLocale
          Defaultni locale domeny
private  java.io.File domainDir
          Bazovy adresar teto domeny
private  MyProperties domainProperties
          Nastaveni domeny
private static java.lang.Object globalLock
          zamek pro cekani v pripade, ze je zakazano paralelni zpracovani - zamek globalni pro cely server
private  boolean isDebug
          Zda je debug rezim
private static boolean isDebugEnabled
           
private  java.io.File javaPolicyFile
          Soubor s Java policy nastavenim
private  java.lang.Object localLock
          zamek pro cekani v pripade, ze je zakazano paralelni zpracovani - zamek lokalni pro tuto domenu
private static Logger logger
           
private  long maxInputFileSize
          Maximalni velikost vstupniho souboru.
private  long maxValidationTime
          Maximalni doba validace
private  java.lang.String resourceBundleName
          Nazev resource bundlu teto domeny
 
Constructor Summary
ValidationDomainImpl(java.lang.String name)
           
ValidationDomainImpl(ValidationDomainList parent, java.lang.String name)
           
 
Method Summary
 void close()
          Metoda je volana pred ukoncenim serveru
static java.lang.String convertActualDomainClassPath()
          Vrati classpath domeny konvertovane na absolutni cesty.
 java.lang.String getAcceptedExtensionsStr()
          Vrati seznam akceptovanych pripon oddeleny carkami
static double getActualDomainDoublePreference(java.lang.String preferenceName, double defaultValue)
          Vola GenericValidationThread pro zjsiteni domeny, pote na teto domene zjisti zadanou property.
static java.nio.charset.Charset getActualDomainCharset()
           
static java.lang.String getActualDomainPreference(java.lang.String preferenceName)
          Vola GenericValidationThread pro zjsiteni domeny, pote na teto domene zjisti zadanou property.
 ValidationProcess getBaseProcess()
           
 java.net.URLClassLoader getDomainClassLoader()
           
 java.io.File getDomainDir()
          Adresar domeny
 MyProperties getDomainProperties()
           
 java.lang.String getFormattedString(java.lang.String key, java.lang.Object[] params)
          Vrati retezec z ResourceBundlu zadany klicem 'key'.
 java.lang.String getFormattedString(java.lang.String key, java.lang.Object[] params, java.util.Locale locale)
          Vrati retezec z ResourceBundlu zadany klicem 'key'.
 java.io.File getJavaPolicyFile()
           
 java.lang.String getLocalizedString(java.lang.String key)
          Vrati lokalizovany retezec z domenoveho ResourceBundle, pokud to v nem neni, zkusi jeste serverovy ResourceBundle
 java.lang.String getLocalizedString(java.lang.String key, java.util.Locale locale)
          Vrati lokalizovany retezec z domenoveho ResourceBundle, pokud to v nem neni, zkusi jeste serverovy ResourceBundle
 long getMaxInputFileSize()
           
 long getMaxValidationTime()
           
 boolean hasAcceptedExtension(java.lang.String filename)
          Vraci, zda priponu zadaneho souboru akceptujeme
private  void internalValidate(FullValidationResult result)
          Interni metoda pro validaci, ktera pracuje uz s FullValidationResult a ValidationInfo.
 boolean isDebugMode()
          Vraci, zda je domena nakonfiguravana pro debug rezim.
 void loadDomain()
          Metoda nacte domenu - projde jeji adresar, nacte nstaveni, bazovy proces ...
private  ValidationResult synchronizedValidate(ValidationInputImpl input)
          Metoda slouzi k validaci zadaneho vstupu - interni, uz pripadne synchronizovana
 ValidationResult validate(ValidationInputImpl input)
          Metoda slouzi k validaci zadaneho vstupu
 
Methods inherited from class cz.zcu.validationserver.common.NamedObject
compareTo, equals, getName, getParent, hashCode, loadFromElement, setName, setParent, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface cz.zcu.validationserver.domain.ValidationDomain
getName
 

Field Detail

logger

private static final Logger logger

isDebugEnabled

private static final boolean isDebugEnabled

localLock

private final java.lang.Object localLock
zamek pro cekani v pripade, ze je zakazano paralelni zpracovani - zamek lokalni pro tuto domenu


globalLock

private static final java.lang.Object globalLock
zamek pro cekani v pripade, ze je zakazano paralelni zpracovani - zamek globalni pro cely server


baseProcess

private ValidationProcess baseProcess
Hlavni (zakladni) proces validace teto domeny


domainProperties

private MyProperties domainProperties
Nastaveni domeny


acceptedExtensions

private java.util.List<java.lang.String> acceptedExtensions
Seznam pripon souboru, ktere domena akceptuje. Pokud je null, akceptuje vsechny typy


domainDir

private java.io.File domainDir
Bazovy adresar teto domeny


maxValidationTime

private long maxValidationTime
Maximalni doba validace


maxInputFileSize

private long maxInputFileSize
Maximalni velikost vstupniho souboru. Je-li -1, je to neomezeno


resourceBundleName

private java.lang.String resourceBundleName
Nazev resource bundlu teto domeny


domainClassLoader

private java.net.URLClassLoader domainClassLoader
URLClassLoader pro domenu - miri do adresare domeny


javaPolicyFile

private java.io.File javaPolicyFile
Soubor s Java policy nastavenim


isDebug

private boolean isDebug
Zda je debug rezim


customOutputClasses

private CustomOutputClasses customOutputClasses
Seznam trid, ktere resi customOutput


domainDefaultLocale

private java.util.Locale domainDefaultLocale
Defaultni locale domeny

Constructor Detail

ValidationDomainImpl

public ValidationDomainImpl(java.lang.String name)

ValidationDomainImpl

public ValidationDomainImpl(ValidationDomainList parent,
                            java.lang.String name)
Method Detail

loadDomain

public void loadDomain()
                throws DomainConfigException,
                       XMLLoadException
Metoda nacte domenu - projde jeji adresar, nacte nstaveni, bazovy proces ...

Throws:
DomainConfigException
XMLLoadException

getBaseProcess

public ValidationProcess getBaseProcess()

getDomainDir

public java.io.File getDomainDir()
Description copied from interface: ValidationDomain
Adresar domeny

Specified by:
getDomainDir in interface ValidationDomain
Returns:

getDomainProperties

public MyProperties getDomainProperties()
Specified by:
getDomainProperties in interface ValidationDomain

getMaxValidationTime

public long getMaxValidationTime()
Specified by:
getMaxValidationTime in interface ValidationDomain

getMaxInputFileSize

public long getMaxInputFileSize()
Specified by:
getMaxInputFileSize in interface ValidationDomain

validate

public ValidationResult validate(ValidationInputImpl input)
Metoda slouzi k validaci zadaneho vstupu

Parameters:
input - Vstup vlidace
Returns:
Vysledek validace

synchronizedValidate

private ValidationResult synchronizedValidate(ValidationInputImpl input)
Metoda slouzi k validaci zadaneho vstupu - interni, uz pripadne synchronizovana

Parameters:
input - Vstup vlidace
Returns:
Vysledek validace

internalValidate

private void internalValidate(FullValidationResult result)
                       throws java.lang.Throwable
Interni metoda pro validaci, ktera pracuje uz s FullValidationResult a ValidationInfo. Metoda pouze spusti vlakno pro tuto validaci a preda dalsi rizeni validace jemu.

Parameters:
result -
Throws:
java.lang.Throwable

hasAcceptedExtension

public boolean hasAcceptedExtension(java.lang.String filename)
Vraci, zda priponu zadaneho souboru akceptujeme

Specified by:
hasAcceptedExtension in interface ValidationDomain
Returns:

getAcceptedExtensionsStr

public java.lang.String getAcceptedExtensionsStr()
Vrati seznam akceptovanych pripon oddeleny carkami

Specified by:
getAcceptedExtensionsStr in interface ValidationDomain

getLocalizedString

public java.lang.String getLocalizedString(java.lang.String key,
                                           java.util.Locale locale)
Vrati lokalizovany retezec z domenoveho ResourceBundle, pokud to v nem neni, zkusi jeste serverovy ResourceBundle

Specified by:
getLocalizedString in interface ValidationDomain
Parameters:
key -
Returns:

getLocalizedString

public java.lang.String getLocalizedString(java.lang.String key)
Vrati lokalizovany retezec z domenoveho ResourceBundle, pokud to v nem neni, zkusi jeste serverovy ResourceBundle

Specified by:
getLocalizedString in interface ValidationDomain
Parameters:
key -
Returns:

getFormattedString

public java.lang.String getFormattedString(java.lang.String key,
                                           java.lang.Object[] params)
Vrati retezec z ResourceBundlu zadany klicem 'key'. Metoda internet nejdriv zavola metodu 'getString' a potom na ni aplikuje MessageFormat.format().

Specified by:
getFormattedString in interface ValidationDomain
Parameters:
key -
params -
Returns:

getFormattedString

public java.lang.String getFormattedString(java.lang.String key,
                                           java.lang.Object[] params,
                                           java.util.Locale locale)
Vrati retezec z ResourceBundlu zadany klicem 'key'. Metoda internet nejdriv zavola metodu 'getString' a potom na ni aplikuje MessageFormat.format().

Specified by:
getFormattedString in interface ValidationDomain
Parameters:
key -
params -
Returns:

getJavaPolicyFile

public java.io.File getJavaPolicyFile()
Specified by:
getJavaPolicyFile in interface ValidationDomain

isDebugMode

public boolean isDebugMode()
Vraci, zda je domena nakonfiguravana pro debug rezim. Tj. nastaveni 'core.debug' muze byt uvedeno v 'domain.xml'. Pokud neni, kouka se jeste na globalni nastaveni serveru

Specified by:
isDebugMode in interface ValidationDomain
Returns:

getActualDomainPreference

public static java.lang.String getActualDomainPreference(java.lang.String preferenceName)
Vola GenericValidationThread pro zjsiteni domeny, pote na teto domene zjisti zadanou property. Pokud nenajde domenu, zjisti tuto property od serveru.

Parameters:
preferenceName -
Returns:
nalezena property nebo null

getActualDomainDoublePreference

public static double getActualDomainDoublePreference(java.lang.String preferenceName,
                                                     double defaultValue)
Vola GenericValidationThread pro zjsiteni domeny, pote na teto domene zjisti zadanou property. Pokud nenajde domenu, zjisti tuto property od serveru.

Parameters:
preferenceName -
Returns:
nalezena property nebo null

convertActualDomainClassPath

public static java.lang.String convertActualDomainClassPath()
Vrati classpath domeny konvertovane na absolutni cesty. Stale bude oddelene strednikama

Returns:

getActualDomainCharset

public static java.nio.charset.Charset getActualDomainCharset()

close

public void close()
           throws java.sql.SQLException
Metoda je volana pred ukoncenim serveru

Throws:
java.sql.SQLException

getDomainClassLoader

public java.net.URLClassLoader getDomainClassLoader()
Specified by:
getDomainClassLoader in interface ValidationDomain


Copyright © 2007 University of West Bohemia, KIV, author Lukas Valenta (lvalenta at civ.zcu.cz). All Rights Reserved. Build date 20110415.