From e368bbb50c99177c97d0f3c7de877accc014a4b3 Mon Sep 17 00:00:00 2001 From: idfx Date: Sat, 25 Jan 2003 17:45:17 +0000 Subject: [PATCH] some small changes delting unneeded imports. two new exceptions in mir.storage. usage of the new config-class. --- source/mir/entity/Entity.java | 76 ++++---- source/mir/entity/EntityBrowser.java | 13 +- source/mir/entity/EntityList.java | 29 ++- source/mir/entity/EntityRelation.java | 14 +- source/mir/entity/StorableObjectEntity.java | 6 +- source/mir/entity/adapter/EntityAdapter.java | 11 +- .../entity/adapter/EntityAdapterDefinition.java | 12 +- source/mir/entity/adapter/EntityAdapterModel.java | 9 +- .../mir/entity/adapter/EntityIteratorAdapter.java | 12 +- source/mir/entity/adapter/EntityListAdapter.java | 7 +- .../mir/generator/CompositeGeneratorLibrary.java | 3 +- source/mir/generator/FreemarkerGenerator.java | 29 ++- source/mir/generator/Generator.java | 5 +- .../mir/generator/GeneratorLibraryRepository.java | 6 +- source/mir/log/Log.java | 31 ++-- source/mir/log/LoggerToWriterAdapter.java | 3 +- source/mir/log/TestFramework.java | 1 - source/mir/log/log4j/LoggerImpl.java | 13 +- source/mir/media/MediaHelper.java | 3 +- source/mir/media/MirMedia.java | 6 +- source/mir/media/MirMediaException.java | 3 +- source/mir/media/MirMediaUserException.java | 3 +- source/mir/misc/ConfigException.java | 3 +- source/mir/misc/Configuration.java | 9 +- source/mir/misc/FileHandler.java | 5 +- source/mir/misc/FileHandlerException.java | 3 +- source/mir/misc/FileHandlerUserException.java | 9 +- source/mir/misc/FileUtil.java | 25 ++- source/mir/misc/HTMLParseException.java | 1 - source/mir/misc/HTMLTemplateProcessor.java | 45 +++-- source/mir/misc/Helper.java | 15 +- source/mir/misc/LineFilterWriter.java | 4 +- source/mir/misc/ListOfFiles.java | 9 +- source/mir/misc/Logfile.java | 10 +- source/mir/misc/MessageMethodModel.java | 9 +- source/mir/misc/MirConfig.java | 47 +++-- source/mir/misc/NumberUtils.java | 5 +- source/mir/misc/PDFUtil.java | 18 +- source/mir/misc/StringUtil.java | 31 ++-- source/mir/misc/WebdbImage.java | 19 +- source/mir/misc/WebdbMultipartRequest.java | 32 +++- source/mir/misc/XmlStyler.java | 1 + source/mir/module/AbstractModule.java | 47 ++--- source/mir/module/ModuleException.java | 1 - source/mir/module/ModuleUserException.java | 1 - source/mir/producer/AssignmentProducerNode.java | 9 +- source/mir/producer/CompositeProducerNode.java | 8 +- source/mir/producer/ConditionalProducerNode.java | 7 +- source/mir/producer/DirCopyingProducerNode.java | 9 +- .../mir/producer/EntityBatchingProducerNode.java | 18 +- .../producer/EntityEnumeratingProducerNode.java | 13 +- source/mir/producer/EntityListProducerNode.java | 14 +- .../mir/producer/EntityModifyingProducerNode.java | 10 +- .../producer/EvaluatedAssignmentProducerNode.java | 7 +- .../producer/ExpandedAssignmentProducerNode.java | 7 +- .../mir/producer/FileDateSettingProducerNode.java | 13 +- source/mir/producer/FileDeletingProducerNode.java | 12 +- source/mir/producer/FileOperationProducerNode.java | 13 +- source/mir/producer/GeneratingProducerNode.java | 13 +- source/mir/producer/LoggingProducerNode.java | 8 +- source/mir/producer/LoopProducerNode.java | 7 +- source/mir/producer/NodedProducer.java | 6 +- source/mir/producer/NodedProducerFactory.java | 7 +- source/mir/producer/Producer.java | 3 +- source/mir/producer/ProducerFactory.java | 3 +- source/mir/producer/ProducerNode.java | 5 +- source/mir/producer/ProducerNodeDecorator.java | 5 +- .../mir/producer/ResourceBundleProducerNode.java | 13 +- source/mir/producer/ScriptCallingProducerNode.java | 7 +- source/mir/producer/ValuesMapProducerNode.java | 7 +- .../reader/DefaultProducerNodeBuilders.java | 34 +++- .../mir/producer/reader/ProducerConfigReader.java | 33 +++- .../mir/producer/reader/ProducerNodeBuilder.java | 6 +- .../reader/ProducerNodeBuilderLibrary.java | 4 +- source/mir/producer/reader/ReaderTool.java | 6 +- .../producer/reader/ScriptedProducerFactory.java | 13 +- .../mir/producer/reader/ScriptedProducerNode.java | 13 +- .../reader/ScriptedProducerNodeDefinition.java | 17 +- .../producer/reader/ScriptedProducerNodeTool.java | 6 +- source/mir/servlet/AbstractServlet.java | 134 ++++++++++---- source/mir/servlet/ServletModule.java | 53 ++++-- source/mir/servlet/ServletModuleDispatch.java | 16 +- source/mir/servlet/ServletModuleException.java | 1 - source/mir/servlet/ServletModuleShow.java | 9 +- source/mir/servlet/ServletModuleUserException.java | 1 - source/mir/storage/Database.java | 202 ++++++++++++--------- source/mir/storage/DatabaseAdaptor.java | 31 ++-- source/mir/storage/DatabaseAdaptorMySQL.java | 14 +- source/mir/storage/DatabaseAdaptorOracle.java | 26 +-- source/mir/storage/DatabaseAdaptorPostgresql.java | 16 +- source/mir/storage/DatabaseAdaptorSybase.java | 28 +-- source/mir/storage/DatabaseCache.java | 2 +- source/mir/storage/StorageObject.java | 61 ++++--- source/mir/storage/store/ObjectStore.java | 22 ++- source/mir/storage/store/ServletStoreInfo.java | 11 +- source/mir/storage/store/StorableObject.java | 2 +- source/mir/storage/store/StoreContainer.java | 10 +- source/mir/storage/store/StoreContainerType.java | 4 +- source/mir/storage/store/StoreIdentifier.java | 6 +- source/mir/storage/store/test/EntityC1.java | 8 +- source/mir/storage/store/test/EntityC2.java | 7 +- source/mir/storage/store/test/EntityC3.java | 7 +- source/mir/storage/store/test/TestStore.java | 4 +- source/mir/util/CachingRewindableIterator.java | 9 +- source/mir/util/DateToMapAdapter.java | 10 +- source/mir/util/FileCopier.java | 6 +- source/mir/util/FileMonitor.java | 6 +- source/mir/util/GeneratorHTMLFunctions.java | 7 +- source/mir/util/GeneratorIntegerFunctions.java | 7 +- source/mir/util/GeneratorListFunctions.java | 9 +- .../util/GeneratorRegularExpressionFunctions.java | 7 +- source/mir/util/GeneratorStringFunctions.java | 7 +- source/mir/util/HTMLRoutines.java | 2 +- source/mir/util/HTTPRequestParser.java | 3 +- source/mir/util/NullWriter.java | 2 +- source/mir/util/ParameterExpander.java | 12 +- .../mir/util/ResourceBundleGeneratorFunction.java | 11 +- source/mir/util/RewindableIterator.java | 2 +- source/mir/util/SimpleParser.java | 5 +- source/mir/util/StringParseRoutines.java | 3 +- source/mir/util/StringRoutines.java | 7 +- source/mir/util/SubsetIterator.java | 8 +- source/mir/util/URLBuilder.java | 4 +- source/mir/xml/XmlConfigurator.java | 21 ++- source/mir/xml/XmlMatch.java | 1 - 125 files changed, 1091 insertions(+), 733 deletions(-) diff --git a/source/mir/entity/Entity.java b/source/mir/entity/Entity.java index b615f4f8..5a69e3e2 100755 --- a/source/mir/entity/Entity.java +++ b/source/mir/entity/Entity.java @@ -36,43 +36,55 @@ package mir.entity; -import java.lang.*; -import java.io.*; -import java.util.*; -import java.sql.*; - -import freemarker.template.*; - -import mir.storage.*; -import mir.misc.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Set; + +import mir.config.MirPropertiesConfiguration; +import mir.config.MirPropertiesConfiguration.PropertiesConfigExc; +import mir.misc.Logfile; +import mir.misc.StringUtil; +import mir.storage.StorageObject; +import mir.storage.StorageObjectExc; +import mir.storage.StorageObjectFailure; +import freemarker.template.SimpleScalar; +import freemarker.template.TemplateHashModel; +import freemarker.template.TemplateModel; +import freemarker.template.TemplateModelException; +import freemarker.template.TemplateModelRoot; /** * Base Class of Entities * Interfacing TemplateHashModel and TemplateModelRoot to be freemarker compliant * - * @version $Id: Entity.java,v 1.12 2002/12/17 19:20:31 zapata Exp $ + * @version $Id: Entity.java,v 1.13 2003/01/25 17:45:17 idfx Exp $ * @author rk * */ public class Entity implements TemplateHashModel, TemplateModelRoot { + protected static MirPropertiesConfiguration configuration; + protected static Logfile theLog; + private boolean changed; protected HashMap theValuesHash; // tablekey / value protected StorageObject theStorageObject; - protected static Logfile theLog; protected ArrayList streamedInput=null; - private static int instances = 0; - static { - theLog = Logfile.getInstance(MirConfig.getProp("Home") + MirConfig.getProp("Entity.Logfile")); + + + static { + try { + configuration = MirPropertiesConfiguration.instance(); + } catch (PropertiesConfigExc e) { + e.printStackTrace(); + } + theLog = Logfile.getInstance(configuration.getStringWithHome("Entity.Logfile")); } public Entity() { - this.changed = false; - instances++; - Integer i = new Integer(instances); - //System.err.println("New abstract entity instance: "+i.toString()); } /** @@ -174,20 +186,20 @@ public class Entity implements TemplateHashModel, TemplateModelRoot * @return Primary Key of the Entity * @exception StorageObjectException */ - public String insert () throws StorageObjectException { + public String insert () throws StorageObjectExc { theLog.printDebugInfo("Entity: trying to insert ..."); if (theStorageObject != null) { return theStorageObject.insert((Entity)this); } else - throw new StorageObjectException("Kein StorageObject gesetzt!"); + throw new StorageObjectExc("Kein StorageObject gesetzt!"); } /** * Saves changes of this Entity to the database * @exception StorageObjectException */ - public void update () throws StorageObjectException { + public void update () throws StorageObjectFailure { theStorageObject.update((Entity)this); } @@ -199,7 +211,7 @@ public class Entity implements TemplateHashModel, TemplateModelRoot * @exception StorageObjectException */ public void setValueForProperty (String theProp, String theValue) - throws StorageObjectException { + throws StorageObjectFailure { this.changed = true; if (isField(theProp)) theValuesHash.put(theProp, theValue); @@ -214,7 +226,7 @@ public class Entity implements TemplateHashModel, TemplateModelRoot * @return ArrayList with field names * @exception StorageObjectException is throuwn if database access was impossible */ - public ArrayList getFields () throws StorageObjectException { + public ArrayList getFields () throws StorageObjectFailure { return theStorageObject.getFields(); } @@ -223,7 +235,7 @@ public class Entity implements TemplateHashModel, TemplateModelRoot * @return int[] that contains the types of the fields * @exception StorageObjectException */ - public int[] getTypes () throws StorageObjectException { + public int[] getTypes () throws StorageObjectFailure { return theStorageObject.getTypes(); } @@ -232,7 +244,7 @@ public class Entity implements TemplateHashModel, TemplateModelRoot * @return List with field names * @exception StorageObjectException */ - public ArrayList getLabels () throws StorageObjectException { + public ArrayList getLabels () throws StorageObjectFailure { return theStorageObject.getLabels(); } @@ -271,21 +283,17 @@ public class Entity implements TemplateHashModel, TemplateModelRoot * @return true in case fieldName is a field name, else false. * @exception StorageObjectException */ - public boolean isField (String fieldName) throws StorageObjectException { + public boolean isField (String fieldName) throws StorageObjectFailure { return theStorageObject.getFields().contains(fieldName); } - /** Returns the number of instances of this Entity - * @return int The number of instances - */ - public int getInstances() { - return instances; - } - protected void throwStorageObjectException (Exception e, String wo) throws StorageObjectException { + + protected void throwStorageObjectFailure (Exception e, String wo) + throws StorageObjectFailure { theLog.printError( e.toString() + " Funktion: "+ wo); e.printStackTrace(System.out); - throw new StorageObjectException("Storage Object Exception in entity" +e.toString()); + throw new StorageObjectFailure("Storage Object Exception in entity", e); } // Now implements freemarkers TemplateHashModel diff --git a/source/mir/entity/EntityBrowser.java b/source/mir/entity/EntityBrowser.java index c27dfda6..2e829c5f 100755 --- a/source/mir/entity/EntityBrowser.java +++ b/source/mir/entity/EntityBrowser.java @@ -31,10 +31,9 @@ package mir.entity; -import java.util.*; -import mir.util.*; -import mir.storage.*; -import mir.entity.*; +import mir.storage.StorageObject; +import mir.storage.StorageObjectFailure; +import mir.util.RewindableIterator; public class EntityBrowser implements RewindableIterator { @@ -52,7 +51,7 @@ public class EntityBrowser implements RewindableIterator { private int positionInBatch; public EntityBrowser(StorageObject aStorage, String aWhereClause, String anOrderByClause, - int aBatchSize, int aLimit, int aSkip) throws StorageObjectException { + int aBatchSize, int aLimit, int aSkip) throws StorageObjectFailure { storage=aStorage; whereClause=aWhereClause; @@ -66,11 +65,11 @@ public class EntityBrowser implements RewindableIterator { public EntityBrowser(StorageObject aStorage, String aWhereClause, String anOrderByClause, - int aBatchSize) throws StorageObjectException { + int aBatchSize) throws StorageObjectFailure { this(aStorage, aWhereClause, anOrderByClause, aBatchSize, -1, 0); } - public void readCurrentBatch(int aSkip) throws StorageObjectException { + public void readCurrentBatch(int aSkip) throws StorageObjectFailure { currentBatch = storage.selectByWhereClause(whereClause, orderByClause, aSkip, batchSize); batchPosition = aSkip; positionInBatch = 0; diff --git a/source/mir/entity/EntityList.java b/source/mir/entity/EntityList.java index 3f4f781a..be843595 100755 --- a/source/mir/entity/EntityList.java +++ b/source/mir/entity/EntityList.java @@ -31,14 +31,19 @@ package mir.entity; -import java.lang.*; -import java.util.*; - -import freemarker.template.*; - -import mir.misc.*; -import mir.storage.*; -import mir.storage.store.*; +import java.util.ArrayList; +import java.util.Set; + +import mir.config.MirPropertiesConfiguration; +import mir.config.MirPropertiesConfiguration.PropertiesConfigExc; +import mir.misc.Logfile; +import mir.storage.StorageObject; +import mir.storage.store.StorableObject; +import mir.storage.store.StoreContainerType; +import mir.storage.store.StoreIdentifier; +import mir.storage.store.StoreUtil; +import freemarker.template.TemplateListModel; +import freemarker.template.TemplateModel; /** * @@ -54,6 +59,7 @@ import mir.storage.store.*; public class EntityList implements TemplateListModel, StorableObject { private static Logfile theLog; + protected static MirPropertiesConfiguration configuration; private ArrayList theEntityArrayList = new ArrayList(); private String whereClause, orderClause; private StorageObject theStorage; @@ -63,7 +69,12 @@ public class EntityList implements TemplateListModel, StorableObject { static { - theLog = Logfile.getInstance(MirConfig.getProp("Home") + MirConfig.getProp("Entity.Logfile")); + try { + configuration = MirPropertiesConfiguration.instance(); + } catch (PropertiesConfigExc e) { + e.printStackTrace(); + } + theLog = Logfile.getInstance(configuration.getStringWithHome("Entity.Logfile")); } /** diff --git a/source/mir/entity/EntityRelation.java b/source/mir/entity/EntityRelation.java index 3c49dbb1..bd435921 100755 --- a/source/mir/entity/EntityRelation.java +++ b/source/mir/entity/EntityRelation.java @@ -31,9 +31,9 @@ package mir.entity; -import mir.storage.*; -import mir.misc.*; -import freemarker.template.*; +import mir.storage.StorageObject; +import mir.storage.StorageObjectExc; +import mir.storage.StorageObjectFailure; public class EntityRelation { @@ -68,7 +68,7 @@ public class EntityRelation { * null. */ - public Entity getOne(Entity entity) throws StorageObjectException { + public Entity getOne(Entity entity) throws StorageObjectExc { if (type==TO_ONE) { return storage.selectById(entity.getValue(fromId)); } @@ -81,7 +81,7 @@ public class EntityRelation { * null. */ - public EntityList getMany(Entity entity) throws StorageObjectException{ + public EntityList getMany(Entity entity) throws StorageObjectFailure{ if (type==TO_MANY) { return storage.selectByFieldValue(toId, entity.getValue(fromId)); } @@ -94,7 +94,7 @@ public class EntityRelation { * null. */ - public EntityList getMany(Entity entity, String order) throws StorageObjectException{ + public EntityList getMany(Entity entity, String order) throws StorageObjectFailure{ if (type==TO_MANY) { return storage.selectByWhereClause(toId+"="+entity.getValue(fromId), order,-1); } @@ -107,7 +107,7 @@ public class EntityRelation { * null. */ - public EntityList getMany(Entity entity, String order, String whereClause) throws StorageObjectException{ + public EntityList getMany(Entity entity, String order, String whereClause) throws StorageObjectFailure{ if (type==TO_MANY) { return storage.selectByWhereClause(toId + "=" + entity.getValue(fromId) + " and " + whereClause, order,-1); } diff --git a/source/mir/entity/StorableObjectEntity.java b/source/mir/entity/StorableObjectEntity.java index d768602e..3f12a31b 100755 --- a/source/mir/entity/StorableObjectEntity.java +++ b/source/mir/entity/StorableObjectEntity.java @@ -40,8 +40,10 @@ package mir.entity; * @version 1.0 */ -import java.util.*; -import mir.storage.store.*; +import java.util.Set; + +import mir.storage.store.StorableObject; +import mir.storage.store.StoreIdentifier; public class StorableObjectEntity extends Entity diff --git a/source/mir/entity/adapter/EntityAdapter.java b/source/mir/entity/adapter/EntityAdapter.java index ba2dca1f..d78c1fea 100755 --- a/source/mir/entity/adapter/EntityAdapter.java +++ b/source/mir/entity/adapter/EntityAdapter.java @@ -31,9 +31,14 @@ package mir.entity.adapter; -import java.util.*; -import mir.entity.*; -import mir.util.*; +import java.util.Collection; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; +import java.util.Set; + +import mir.entity.Entity; +import mir.util.CachingRewindableIterator; public class EntityAdapter implements Map { private Entity entity; diff --git a/source/mir/entity/adapter/EntityAdapterDefinition.java b/source/mir/entity/adapter/EntityAdapterDefinition.java index a059ad6e..c86fc7b2 100755 --- a/source/mir/entity/adapter/EntityAdapterDefinition.java +++ b/source/mir/entity/adapter/EntityAdapterDefinition.java @@ -31,10 +31,14 @@ package mir.entity.adapter; -import java.util.*; -import mir.entity.*; -import mir.storage.*; -import mir.util.*; +import java.util.Calendar; +import java.util.Date; +import java.util.GregorianCalendar; +import java.util.HashMap; +import java.util.Map; + +import mir.entity.Entity; +import mir.util.DateToMapAdapter; public class EntityAdapterDefinition { Map calculatedFields; diff --git a/source/mir/entity/adapter/EntityAdapterModel.java b/source/mir/entity/adapter/EntityAdapterModel.java index 586200ec..e83b78b5 100755 --- a/source/mir/entity/adapter/EntityAdapterModel.java +++ b/source/mir/entity/adapter/EntityAdapterModel.java @@ -31,10 +31,11 @@ package mir.entity.adapter; -import java.util.*; -import mir.entity.*; -import mir.storage.*; -import mir.util.*; +import java.util.HashMap; +import java.util.Map; + +import mir.entity.Entity; +import mir.storage.StorageObject; public class EntityAdapterModel { private Map entityAdapterMappings; diff --git a/source/mir/entity/adapter/EntityIteratorAdapter.java b/source/mir/entity/adapter/EntityIteratorAdapter.java index 9ff1be9e..1af1babe 100755 --- a/source/mir/entity/adapter/EntityIteratorAdapter.java +++ b/source/mir/entity/adapter/EntityIteratorAdapter.java @@ -31,10 +31,10 @@ package mir.entity.adapter; -import java.util.*; -import mir.storage.*; -import mir.util.*; -import mir.entity.*; +import mir.entity.Entity; +import mir.entity.EntityBrowser; +import mir.storage.StorageObjectFailure; +import mir.util.RewindableIterator; public class EntityIteratorAdapter implements RewindableIterator { private String definitionName; @@ -49,13 +49,13 @@ public class EntityIteratorAdapter implements RewindableIterator { public EntityIteratorAdapter(String aWhereClause, String anOrderByClause, int aBatchSize, EntityAdapterModel aModel, String aDefinitionName ) - throws StorageObjectException, EntityAdapterExc { + throws StorageObjectFailure, EntityAdapterExc { this(new EntityBrowser(aModel.getMappingForName(aDefinitionName).getStorage(), aWhereClause, anOrderByClause, aBatchSize), aModel, aDefinitionName); } public EntityIteratorAdapter(String aWhereClause, String anOrderByClause, int aBatchSize, EntityAdapterModel aModel, String aDefinitionName, - int aLimit, int aSkip) throws StorageObjectException, EntityAdapterExc { + int aLimit, int aSkip) throws StorageObjectFailure, EntityAdapterExc { this(new EntityBrowser(aModel.getMappingForName(aDefinitionName).getStorage(), aWhereClause, anOrderByClause, aBatchSize, aLimit, aSkip), aModel, aDefinitionName); } diff --git a/source/mir/entity/adapter/EntityListAdapter.java b/source/mir/entity/adapter/EntityListAdapter.java index 1fca21e5..f3dcbee6 100755 --- a/source/mir/entity/adapter/EntityListAdapter.java +++ b/source/mir/entity/adapter/EntityListAdapter.java @@ -31,8 +31,11 @@ package mir.entity.adapter; -import java.util.*; -import mir.entity.*; +import java.util.AbstractList; +import java.util.List; +import java.util.Vector; + +import mir.entity.EntityBrowser; public class EntityListAdapter extends AbstractList { private int skip; diff --git a/source/mir/generator/CompositeGeneratorLibrary.java b/source/mir/generator/CompositeGeneratorLibrary.java index 16401f46..3f177644 100755 --- a/source/mir/generator/CompositeGeneratorLibrary.java +++ b/source/mir/generator/CompositeGeneratorLibrary.java @@ -31,7 +31,8 @@ package mir.generator; -import java.util.*; +import java.util.HashMap; +import java.util.Map; public class CompositeGeneratorLibrary implements Generator.GeneratorLibrary { private Map generatorLibraries; diff --git a/source/mir/generator/FreemarkerGenerator.java b/source/mir/generator/FreemarkerGenerator.java index 9979dda9..72810e78 100755 --- a/source/mir/generator/FreemarkerGenerator.java +++ b/source/mir/generator/FreemarkerGenerator.java @@ -31,13 +31,28 @@ package mir.generator; -import freemarker.template.*; +import java.io.PrintWriter; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Vector; + +import mir.misc.MessageMethodModel; +import mir.util.RewindableIterator; + import org.apache.struts.util.MessageResources; -import java.util.*; -import java.io.*; -import mir.entity.*; -import mir.util.*; -import mir.misc.*; + +import freemarker.template.FileTemplateCache; +import freemarker.template.SimpleScalar; +import freemarker.template.Template; +import freemarker.template.TemplateHashModel; +import freemarker.template.TemplateListModel; +import freemarker.template.TemplateMethodModel; +import freemarker.template.TemplateModel; +import freemarker.template.TemplateModelException; +import freemarker.template.TemplateModelRoot; +import freemarker.template.TemplateScalarModel; public class FreemarkerGenerator implements Generator { private Template template; @@ -295,7 +310,7 @@ public class FreemarkerGenerator implements Generator { public FreemarkerGeneratorLibrary(String aTemplateRoot) { templateCache = new FileTemplateCache( aTemplateRoot+"/" ); - templateCache.setLoadingPolicy(templateCache.LOAD_ON_DEMAND); + templateCache.setLoadingPolicy(FileTemplateCache.LOAD_ON_DEMAND); } public Generator makeGenerator(String anIdentifier) throws GeneratorExc, GeneratorFailure { diff --git a/source/mir/generator/Generator.java b/source/mir/generator/Generator.java index 09939e40..245dd3a2 100755 --- a/source/mir/generator/Generator.java +++ b/source/mir/generator/Generator.java @@ -31,8 +31,9 @@ package mir.generator; -import java.util.*; -import java.io.*; +import java.io.PrintWriter; +import java.util.List; +import java.util.Map; public interface Generator { public void generate(Object anOutputWriter, Map aValues, PrintWriter aLogger) throws GeneratorExc, GeneratorFailure; diff --git a/source/mir/generator/GeneratorLibraryRepository.java b/source/mir/generator/GeneratorLibraryRepository.java index 046312cc..4b67cb20 100755 --- a/source/mir/generator/GeneratorLibraryRepository.java +++ b/source/mir/generator/GeneratorLibraryRepository.java @@ -1,7 +1,9 @@ package mir.generator; -import java.util.*; -import mir.util.*; +import java.util.HashMap; +import java.util.Map; + +import mir.util.SimpleParser; public class GeneratorLibraryRepository { private Map factories; diff --git a/source/mir/log/Log.java b/source/mir/log/Log.java index 34c943e5..b9936d1a 100755 --- a/source/mir/log/Log.java +++ b/source/mir/log/Log.java @@ -1,7 +1,7 @@ package mir.log; -import mir.misc.MirConfig; - +import mir.config.MirPropertiesConfiguration; +import mir.config.MirPropertiesConfiguration.PropertiesConfigExc; public class Log { @@ -9,19 +9,20 @@ public class Log { static { try { - myLogger = (Logger)Class.forName(MirConfig.getProp("Log.LogClass")).newInstance(); - } - catch (java.lang.ClassNotFoundException cnfe) { - System.err.println("Log was not able to initialize: class not found"); - cnfe.printStackTrace(System.err); - } - catch (java.lang.InstantiationException ie) { - System.err.println("Log was not able to initialize: could not initialize class"); - ie.printStackTrace(System.err); - } - catch (java.lang.IllegalAccessException iae) { - System.err.println("Log was not able to initialize: illegal access"); - iae.printStackTrace(System.err); + String loggerClass = + MirPropertiesConfiguration.instance().getString("Log.LogClass"); + myLogger = (Logger)Class.forName(loggerClass).newInstance(); + } catch (java.lang.ClassNotFoundException cnfe) { + System.err.println("Log was not able to initialize: class not found"); + cnfe.printStackTrace(System.err); + } catch (java.lang.InstantiationException ie) { + System.err.println("Log was not able to initialize: could not initialize class"); + ie.printStackTrace(System.err); + } catch (java.lang.IllegalAccessException iae) { + System.err.println("Log was not able to initialize: illegal access"); + iae.printStackTrace(System.err); + } catch (PropertiesConfigExc e) { + e.printStackTrace(System.err); } } diff --git a/source/mir/log/LoggerToWriterAdapter.java b/source/mir/log/LoggerToWriterAdapter.java index a0c8ae48..a9dc2948 100755 --- a/source/mir/log/LoggerToWriterAdapter.java +++ b/source/mir/log/LoggerToWriterAdapter.java @@ -1,7 +1,6 @@ package mir.log; -import java.io.*; -import java.util.*; +import java.io.Writer; public class LoggerToWriterAdapter extends Writer { private LoggerWrapper logger; diff --git a/source/mir/log/TestFramework.java b/source/mir/log/TestFramework.java index dc4d7bce..b7f924dd 100755 --- a/source/mir/log/TestFramework.java +++ b/source/mir/log/TestFramework.java @@ -1,6 +1,5 @@ package mir.log; -import mir.log.Log; public class TestFramework { diff --git a/source/mir/log/log4j/LoggerImpl.java b/source/mir/log/log4j/LoggerImpl.java index e275e09c..9f44cf94 100755 --- a/source/mir/log/log4j/LoggerImpl.java +++ b/source/mir/log/log4j/LoggerImpl.java @@ -1,20 +1,23 @@ package mir.log.log4j; +import mir.config.MirPropertiesConfiguration; +import mir.config.MirPropertiesConfiguration.PropertiesConfigExc; + import org.apache.log4j.PropertyConfigurator; import org.apache.log4j.Logger; import java.util.Map; import java.util.HashMap; -import mir.misc.MirConfig; public class LoggerImpl implements mir.log.Logger { private static Map loggers = new HashMap(); - public LoggerImpl() { - System.setProperty("log.home", MirConfig.getPropWithHome("Log.Home")); - PropertyConfigurator.configure(MirConfig.getPropWithHome( - "Log.log4j.ConfigurationFile").trim()); + public LoggerImpl() throws PropertiesConfigExc { + System.setProperty("log.home", + MirPropertiesConfiguration.instance().getStringWithHome("Log.Home")); + PropertyConfigurator.configure(MirPropertiesConfiguration.instance() + .getStringWithHome("Log.log4j.ConfigurationFile").trim()); } public void debug(Object o, String s) { diff --git a/source/mir/media/MediaHelper.java b/source/mir/media/MediaHelper.java index e4d851a8..6822e88a 100755 --- a/source/mir/media/MediaHelper.java +++ b/source/mir/media/MediaHelper.java @@ -31,8 +31,7 @@ package mir.media; -import java.lang.reflect.*; -import java.lang.*; +import java.lang.reflect.Method; import mir.entity.Entity; import mir.storage.Database; diff --git a/source/mir/media/MirMedia.java b/source/mir/media/MirMedia.java index f452369b..b0aed580 100755 --- a/source/mir/media/MirMedia.java +++ b/source/mir/media/MirMedia.java @@ -31,13 +31,11 @@ package mir.media; -import java.util.*; import java.io.InputStream; +import mir.entity.Entity; import freemarker.template.SimpleList; -import mir.entity.*; - /** * Interface for Media handling in Mir. All media handlers * must implement this interface. Each specific media type, @@ -83,7 +81,7 @@ import mir.entity.*; * ) and just override the things that need to be specific. see MediaHandlerAudio * * @author , the Mir-coders group - * @version $Id: MirMedia.java,v 1.14 2002/11/27 08:22:03 mh Exp $ + * @version $Id: MirMedia.java,v 1.15 2003/01/25 17:45:17 idfx Exp $ */ public interface MirMedia{ diff --git a/source/mir/media/MirMediaException.java b/source/mir/media/MirMediaException.java index aa348a5b..6893f363 100755 --- a/source/mir/media/MirMediaException.java +++ b/source/mir/media/MirMediaException.java @@ -31,12 +31,11 @@ package mir.media; -import java.lang.*; /* * MirMediaException - * - * @version $Id: MirMediaException.java,v 1.7 2002/12/01 15:05:51 zapata Exp $ + * @version $Id: MirMediaException.java,v 1.8 2003/01/25 17:45:17 idfx Exp $ * @author mh * */ diff --git a/source/mir/media/MirMediaUserException.java b/source/mir/media/MirMediaUserException.java index 07d5d404..ac8bf0e1 100755 --- a/source/mir/media/MirMediaUserException.java +++ b/source/mir/media/MirMediaUserException.java @@ -31,14 +31,13 @@ package mir.media; -import java.lang.*; /* * MirMediaException - * differentiates itself from a bug in that it * represents a probable user error * - * @version $Id: MirMediaUserException.java,v 1.4 2002/11/04 04:35:21 mh Exp $ + * @version $Id: MirMediaUserException.java,v 1.5 2003/01/25 17:45:17 idfx Exp $ * @author mh * */ diff --git a/source/mir/misc/ConfigException.java b/source/mir/misc/ConfigException.java index 2ede1ce8..3d7f8807 100755 --- a/source/mir/misc/ConfigException.java +++ b/source/mir/misc/ConfigException.java @@ -32,14 +32,13 @@ package mir.misc; -import java.io.*; /** * Reports the location of the error in the File. * Based and inspired by a source from the Ant distribution * (Copyright (c) 1999-2001 The Apache Software Foundation.) * - * @version $Id: ConfigException.java,v 1.2 2002/09/01 22:05:49 mh Exp $ + * @version $Id: ConfigException.java,v 1.3 2003/01/25 17:45:17 idfx Exp $ * * @author The Mir-coders group */ diff --git a/source/mir/misc/Configuration.java b/source/mir/misc/Configuration.java index 016a0dca..dc116ee7 100755 --- a/source/mir/misc/Configuration.java +++ b/source/mir/misc/Configuration.java @@ -31,10 +31,11 @@ package mir.misc; -import java.net.*; -import java.io.*; -import java.util.*; -import java.lang.*; +import java.io.BufferedInputStream; +import java.io.FileInputStream; +import java.util.Enumeration; +import java.util.HashMap; +import java.util.Properties; /** diff --git a/source/mir/misc/FileHandler.java b/source/mir/misc/FileHandler.java index 455f3815..7d9b01e4 100755 --- a/source/mir/misc/FileHandler.java +++ b/source/mir/misc/FileHandler.java @@ -31,16 +31,17 @@ package mir.misc; -import com.oreilly.servlet.multipart.*; import java.util.HashMap; +import com.oreilly.servlet.multipart.FilePart; + /** * Interface that classes wishing to be used as a callback on FileParts for the * WebdbMultipartRequest class should implement this interface. * * @author mh - * @version $Id: FileHandler.java,v 1.2 2002/11/04 04:35:21 mh Exp $ + * @version $Id: FileHandler.java,v 1.3 2003/01/25 17:45:17 idfx Exp $ * @see mir.misc.WebdbMultipartRequest * */ diff --git a/source/mir/misc/FileHandlerException.java b/source/mir/misc/FileHandlerException.java index ebbcfd0f..c10bfe09 100755 --- a/source/mir/misc/FileHandlerException.java +++ b/source/mir/misc/FileHandlerException.java @@ -31,11 +31,10 @@ package mir.misc; -import java.lang.*; /* * - * @version $Id: FileHandlerException.java,v 1.3 2002/11/27 07:46:34 mh Exp $ + * @version $Id: FileHandlerException.java,v 1.4 2003/01/25 17:45:17 idfx Exp $ * @author mh, mir-coders * */ diff --git a/source/mir/misc/FileHandlerUserException.java b/source/mir/misc/FileHandlerUserException.java index afa8d504..518e9b2d 100755 --- a/source/mir/misc/FileHandlerUserException.java +++ b/source/mir/misc/FileHandlerUserException.java @@ -31,21 +31,26 @@ package mir.misc; -import java.lang.*; /* * differentiates itself from a bug in that it * represents a probable user error * - * @version $Id: FileHandlerUserException.java,v 1.4 2002/12/01 15:05:51 zapata Exp $ + * @version $Id: FileHandlerUserException.java,v 1.5 2003/01/25 17:45:17 idfx Exp $ * @author mh * * $Log: FileHandlerUserException.java,v $ + * Revision 1.5 2003/01/25 17:45:17 idfx + * some small changes delting unneeded imports. two new exceptions in mir.storage. usage of the new config-class. + * * Revision 1.4 2002/12/01 15:05:51 zapata * tracked down a nasty error reporting bug * * Revision 1.3 2002/11/27 07:46:34 mh * get rid of annoying $Log: FileHandlerUserException.java,v $ + * get rid of annoying Revision 1.5 2003/01/25 17:45:17 idfx + * get rid of annoying some small changes delting unneeded imports. two new exceptions in mir.storage. usage of the new config-class. + * get rid of annoying * get rid of annoying Revision 1.4 2002/12/01 15:05:51 zapata * get rid of annoying tracked down a nasty error reporting bug * get rid of annoying keywords diff --git a/source/mir/misc/FileUtil.java b/source/mir/misc/FileUtil.java index 0df35e09..017be8c3 100755 --- a/source/mir/misc/FileUtil.java +++ b/source/mir/misc/FileUtil.java @@ -31,16 +31,16 @@ package mir.misc; -import java.lang.*; -import java.util.*; -import java.io.*; -import java.net.*; -import freemarker.template.*; -import mir.entity.*; -import mir.storage.*; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStreamWriter; +import java.io.Reader; -import javax.servlet.http.*; -import javax.servlet.*; +import mir.config.MirPropertiesConfiguration; +import mir.config.MirPropertiesConfiguration.PropertiesConfigExc; /** * Hilfsklasse zum Mergen von Template und Daten @@ -53,7 +53,12 @@ public final class FileUtil { // Initialisierung static { - producerStorageRoot = MirConfig.getProp("Producer.StorageRoot"); + try { + producerStorageRoot = + MirPropertiesConfiguration.instance().getString("Producer.StorageRoot"); + } catch (PropertiesConfigExc e) { + e.printStackTrace(); + } } /** diff --git a/source/mir/misc/HTMLParseException.java b/source/mir/misc/HTMLParseException.java index fbbd5a45..09315d9d 100755 --- a/source/mir/misc/HTMLParseException.java +++ b/source/mir/misc/HTMLParseException.java @@ -31,7 +31,6 @@ package mir.misc; -import java.lang.*; /* * HTMLParseException - diff --git a/source/mir/misc/HTMLTemplateProcessor.java b/source/mir/misc/HTMLTemplateProcessor.java index 779a2474..f02f59fa 100755 --- a/source/mir/misc/HTMLTemplateProcessor.java +++ b/source/mir/misc/HTMLTemplateProcessor.java @@ -34,9 +34,11 @@ package mir.misc; import freemarker.template.*; import mir.util.*; import mir.generator.*; +import mir.config.MirPropertiesConfiguration; +import mir.config.MirPropertiesConfiguration.PropertiesConfigExc; import mir.entity.Entity; import mir.entity.EntityList; -import mir.storage.StorageObjectException; +import mir.storage.StorageObjectFailure; import org.apache.struts.util.MessageResources; import javax.servlet.http.HttpServletResponse; @@ -51,22 +53,31 @@ import java.util.*; public final class HTMLTemplateProcessor { public static String templateDir; + private static MirPropertiesConfiguration configuration; private static FileTemplateCache templateCache; private static Logfile theLog; private static String docRoot; private static String actionRoot; static { - templateDir = MirConfig.getPropWithHome("HTMLTemplateProcessor.Dir"); + try { + configuration = MirPropertiesConfiguration.instance(); + } catch (PropertiesConfigExc e) { + e.printStackTrace(); + } + theLog = Logfile.getInstance( + configuration.getStringWithHome("HTMLTemplateProcessor.Logfile")); + templateDir = + configuration.getStringWithHome("HTMLTemplateProcessor.Dir"); + theLog.printDebugInfo("templateDir: " + templateDir); templateCache = new FileTemplateCache(templateDir); - templateCache.setLoadingPolicy(templateCache.LOAD_ON_DEMAND); + templateCache.setLoadingPolicy(FileTemplateCache.LOAD_ON_DEMAND); // gone in freemarker 1.7.1: templateCache.startAutoUpdate(); - theLog = Logfile.getInstance(MirConfig.getPropWithHome( - "HTMLTemplateProcessor.Logfile")); - docRoot = MirConfig.getProp("RootUri"); + + docRoot = configuration.getString("RootUri"); try { - actionRoot = docRoot + MirConfig.getProp("Producer.ActionServlet"); + actionRoot = docRoot +configuration.getString("Producer.ActionServlet"); } catch (ConfigException ce) { // if Producer.ActionServlet is not set in the conf file @@ -119,7 +130,7 @@ public final class HTMLTemplateProcessor { } /** - * Wandelt Entitylist in freemarker-Struktur um, fügt additionalModel + * Wandelt Entitylist in freemarker-Struktur um, f?gt additionalModel * unter dem Namen additionalModelName ein und mischt die Daten mit * Template templateFilename und gibt das Ergebnis an den PrintWriter * out @@ -152,7 +163,7 @@ public final class HTMLTemplateProcessor { process(res, templateFilename, modelRoot, out, locale); } - catch (StorageObjectException e) { + catch (StorageObjectFailure e) { throw new HTMLParseException(e.toString()); } } @@ -233,11 +244,13 @@ public final class HTMLTemplateProcessor { SimpleHash configHash = new SimpleHash(); // pass the whole config hash to the templates - Enumeration en = MirConfig.getResourceKeys(); + Iterator it = configuration.getKeys(); String key; - while (en.hasMoreElements()) { - key = (String) en.nextElement(); - configHash.put(key, new SimpleScalar(MirConfig.getProp(key))); + while (it.hasNext()) { + key = (String) it.next(); + configHash.put(key, new SimpleScalar( + configuration.getString(key)) + ); } // this does not come directly from the config file @@ -306,7 +319,7 @@ public final class HTMLTemplateProcessor { * @deprecated EntityLists comply with TemplateListModel now. */ public static SimpleList makeSimpleList(EntityList aList) throws - StorageObjectException { + StorageObjectFailure { theLog.printWarning( "## using deprecated makeSimpleList(entityList) - a waste of resources"); SimpleList simpleList = new SimpleList(); @@ -326,7 +339,7 @@ public final class HTMLTemplateProcessor { * */ public static SimpleHash makeSimpleHash(EntityList aList) throws - StorageObjectException { + StorageObjectFailure { SimpleHash simpleHash = new SimpleHash(); Entity currentEntity; @@ -371,7 +384,7 @@ public final class HTMLTemplateProcessor { */ public static SimpleHash makeSimpleHashWithEntitylistInfos(EntityList entList) throws - StorageObjectException { + StorageObjectFailure { SimpleHash modelRoot = new SimpleHash(); if (entList != null) { modelRoot.put("contentlist", entList); diff --git a/source/mir/misc/Helper.java b/source/mir/misc/Helper.java index 1baa11fa..9dda35cc 100755 --- a/source/mir/misc/Helper.java +++ b/source/mir/misc/Helper.java @@ -33,6 +33,9 @@ package mir.misc; import java.io.IOException; +import mir.config.MirPropertiesConfiguration; +import mir.config.MirPropertiesConfiguration.PropertiesConfigExc; + /** * Title: Indy * Description: This class provides some satic help methods @@ -51,7 +54,15 @@ public class Helper { * returns 255 if rsync should not be used */ public static int rsync(){ - if(!MirConfig.getProp("Rsync").toLowerCase().equals("yes")){ + MirPropertiesConfiguration configuration = null; + try { + configuration = MirPropertiesConfiguration.instance(); + } catch (PropertiesConfigExc e) { + e.printStackTrace(); + return 255; + } + + if(!configuration.getString("Rsync").toLowerCase().equals("yes")){ return 255; } @@ -59,7 +70,7 @@ public class Helper { int returnValue = -1; try { Runtime run = Runtime.getRuntime(); - p = run.exec(MirConfig.getProp("Rsync.Script.Path")); + p = run.exec(configuration.getString("Rsync.Script.Path")); returnValue = p.waitFor(); } catch (IOException e) { return returnValue; diff --git a/source/mir/misc/LineFilterWriter.java b/source/mir/misc/LineFilterWriter.java index d2516977..eb7be429 100755 --- a/source/mir/misc/LineFilterWriter.java +++ b/source/mir/misc/LineFilterWriter.java @@ -30,7 +30,9 @@ */ package mir.misc; -import java.io.*; +import java.io.IOException; +import java.io.PrintWriter; +import java.io.Writer; /** * LineFilterWriter eliminates superfluous \t \r \n and spaces diff --git a/source/mir/misc/ListOfFiles.java b/source/mir/misc/ListOfFiles.java index a0c9ccc3..35403e9a 100755 --- a/source/mir/misc/ListOfFiles.java +++ b/source/mir/misc/ListOfFiles.java @@ -35,8 +35,13 @@ package mir.misc; -import java.util.*; -import java.io.*; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.InputStream; +import java.util.Enumeration; +import java.util.LinkedList; +import java.util.ListIterator; +import java.util.NoSuchElementException; public class ListOfFiles implements Enumeration { diff --git a/source/mir/misc/Logfile.java b/source/mir/misc/Logfile.java index 8de330c1..29860c4a 100755 --- a/source/mir/misc/Logfile.java +++ b/source/mir/misc/Logfile.java @@ -31,8 +31,12 @@ package mir.misc; -import java.util.*; -import java.io.*; +import java.io.File; +import java.io.IOException; +import java.io.RandomAccessFile; +import java.util.Calendar; +import java.util.GregorianCalendar; +import java.util.HashMap; /** @@ -138,7 +142,7 @@ public final class Logfile { * Interne Ausgabeprozedur. * Erfordert etwas Handarbeit, da PrintStream nicht mit RandomAcccessFile * kooperiert. Und ein RandomAccessFile brauchen wir, weil FileOutputStream - * kein "append" zuläßt. + * kein "append" zul??t. * */ private void print(String line) { diff --git a/source/mir/misc/MessageMethodModel.java b/source/mir/misc/MessageMethodModel.java index b97d42cb..9c4985a2 100755 --- a/source/mir/misc/MessageMethodModel.java +++ b/source/mir/misc/MessageMethodModel.java @@ -31,13 +31,14 @@ package mir.misc; +import java.util.List; +import java.util.Locale; + +import org.apache.struts.util.MessageResources; + import freemarker.template.SimpleScalar; import freemarker.template.TemplateMethodModel; import freemarker.template.TemplateModel; -import org.apache.struts.util.MessageResources; - -import java.util.List; -import java.util.Locale; /** * A FreeMarker TemplateMethodModel that provides access to a diff --git a/source/mir/misc/MirConfig.java b/source/mir/misc/MirConfig.java index ebcd9658..5113ebd3 100755 --- a/source/mir/misc/MirConfig.java +++ b/source/mir/misc/MirConfig.java @@ -31,17 +31,20 @@ package mir.misc; -import java.net.*; -import java.io.*; -import java.util.*; -import java.lang.*; +import java.util.Enumeration; +import java.util.HashMap; +import java.util.Map; -import javax.servlet.ServletContext; -import javax.servlet.http.*; +import javax.servlet.ServletContext; -import mir.storage.StorageObjectException; -import mir.storage.DatabaseAdaptor; -import com.codestudio.util.*; +import mir.config.MirPropertiesConfiguration.PropertiesConfigExc; +import mir.storage.DatabaseAdaptor; +import mir.storage.StorageObjectExc; +import mir.storage.StorageObjectFailure; + +import com.codestudio.util.JDBCPool; +import com.codestudio.util.JDBCPoolMetaData; +import com.codestudio.util.SQLManager; /** * Title: Mir @@ -134,9 +137,9 @@ public class MirConfig extends Configuration { return configHash.get(propName); } - public static void initDbPool () throws StorageObjectException { + public static void initDbPool () throws StorageObjectExc, StorageObjectFailure { if (configHash == null) { - throw new StorageObjectException("MirConfig -- Trying initialize "+ + throw new StorageObjectExc("MirConfig -- Trying initialize "+ "DB pool when system not yet "+ "configured"); } @@ -148,22 +151,28 @@ public class MirConfig extends Configuration { try { adaptor = (DatabaseAdaptor)Class.forName(dbAdapName).newInstance(); } catch (Exception e) { - throw new StorageObjectException("Could not load DB adapator: "+ - e.toString()); + throw new StorageObjectFailure("Could not load DB adapator.",e); + } + String dbDriver; + String dbUrl; + try { + dbDriver = adaptor.getDriver(); + dbUrl =adaptor.getURL(dbUser,dbPassword, dbHost); + } catch (PropertiesConfigExc e) { + throw new StorageObjectFailure(e); } - String dbDriver=adaptor.getDriver(); - String dbUrl=adaptor.getURL(dbUser,dbPassword, dbHost); + System.out.println("adding Broker with: " +dbDriver+":"+dbUrl ); addBroker( dbDriver, dbUrl); } public static void addBroker(String driver, String URL) - throws StorageObjectException { + throws StorageObjectFailure, StorageObjectExc { if (configHash == null) { - throw new StorageObjectException("MirConfig -- Trying initialize "+ - "DB pool when system not yet "+ - "configured"); + throw new StorageObjectExc("MirConfig -- Trying initialize "+ + "DB pool when system not yet "+ + "configured"); } String username,passwd,min,max,log,reset,dbname,dblogfile; diff --git a/source/mir/misc/NumberUtils.java b/source/mir/misc/NumberUtils.java index 89a11e40..35591a57 100755 --- a/source/mir/misc/NumberUtils.java +++ b/source/mir/misc/NumberUtils.java @@ -31,15 +31,12 @@ package mir.misc; -import freemarker.template.*; - import java.text.NumberFormat; -import java.util.List; /** * Help methods for number handling. * - * @version $Id: NumberUtils.java,v 1.3 2002/11/28 19:12:08 mh Exp $ + * @version $Id: NumberUtils.java,v 1.4 2003/01/25 17:45:18 idfx Exp $ * @author mh, Mir-coders group * */ diff --git a/source/mir/misc/PDFUtil.java b/source/mir/misc/PDFUtil.java index 05534dca..2ef9fe64 100755 --- a/source/mir/misc/PDFUtil.java +++ b/source/mir/misc/PDFUtil.java @@ -31,15 +31,21 @@ package mir.misc; -import java.io.*; -import javax.servlet.http.*; +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.FileOutputStream; -import mircoders.global.*; +import javax.servlet.http.HttpServletResponse; -import org.apache.fop.apps.* ; -import org.xml.sax.InputSource; +import mircoders.global.MirGlobal; + +import org.apache.fop.apps.Driver; +import org.apache.fop.apps.InputHandler; +import org.apache.fop.apps.XSLTInputHandler; +import org.apache.log.Hierarchy; +import org.apache.log.Logger; +import org.apache.log.Priority; import org.xml.sax.XMLReader; -import org.apache.log.*; public class PDFUtil { diff --git a/source/mir/misc/StringUtil.java b/source/mir/misc/StringUtil.java index 57139c7b..9e9b6ac4 100755 --- a/source/mir/misc/StringUtil.java +++ b/source/mir/misc/StringUtil.java @@ -31,16 +31,19 @@ package mir.misc; -import java.io.*; -import java.lang.*; -import java.util.*; -import java.text.NumberFormat; -import gnu.regexp.*; +import gnu.regexp.RE; +import gnu.regexp.REException; + +import java.io.File; +import java.text.NumberFormat; +import java.util.Calendar; +import java.util.GregorianCalendar; +import java.util.StringTokenizer; /** * Statische Hilfsmethoden zur Stringbehandlung * - * @version $Id: StringUtil.java,v 1.31 2002/12/23 03:15:32 mh Exp $ + * @version $Id: StringUtil.java,v 1.32 2003/01/25 17:45:18 idfx Exp $ * @author mir-coders group * */ @@ -362,7 +365,7 @@ public final class StringUtil { /** - * Fügt einen Separator an den Pfad an + * F?gt einen Separator an den Pfad an * @param path * @return Pfad mit Separator am Ende */ @@ -372,7 +375,7 @@ public final class StringUtil { } /** - * Fügt ein / ans ende des Strings and + * F?gt ein / ans ende des Strings and * @param path * @return Pfad mit / am Ende */ @@ -381,7 +384,7 @@ public final class StringUtil { } /** - * Löscht / am Ende des Strings, falls vorhanden + * L?scht / am Ende des Strings, falls vorhanden * @param path * @return String ohne / am Ende */ @@ -401,7 +404,7 @@ public final class StringUtil { } /** - * Löscht Slash am Anfang des Strings + * L?scht Slash am Anfang des Strings * @param path * @return */ @@ -483,9 +486,9 @@ public final class StringUtil { } /** - * Ermittelt CRC-Prüfsumme von String s + * Ermittelt CRC-Pr?fsumme von String s * @param s - * @return CRC-Prüfsumme + * @return CRC-Pr?fsumme */ public static int getCRC(String s) { int h = 0; @@ -501,7 +504,7 @@ public final class StringUtil { } /** - * Liefert Default-Wert def zurück, wenn String s + * Liefert Default-Wert def zur?ck, wenn String s * kein Integer ist. * * @param s @@ -518,7 +521,7 @@ public final class StringUtil { } /** - * Liefert Defaultwert def zurück, wenn s nicht zu einem float geparsed werden kann. + * Liefert Defaultwert def zur?ck, wenn s nicht zu einem float geparsed werden kann. * @param s * @param def * @return geparster float oder def diff --git a/source/mir/misc/WebdbImage.java b/source/mir/misc/WebdbImage.java index c94b3cd3..ff035b90 100755 --- a/source/mir/misc/WebdbImage.java +++ b/source/mir/misc/WebdbImage.java @@ -35,16 +35,21 @@ package mir.misc; * Title: * Description: * Copyright: Copyright (c) 2002 Mir-coders - * @author $Author: mh $ - * @version $Id: WebdbImage.java,v 1.8 2002/11/04 04:35:21 mh Exp $ + * @author $Author: idfx $ + * @version $Id: WebdbImage.java,v 1.9 2003/01/25 17:45:18 idfx Exp $ */ -import java.io.*; -import java.util.Vector; +import java.io.File; +import java.io.IOException; +import java.io.OutputStream; import java.util.Random; -import javax.media.jai.*; -import com.sun.media.jai.codec.*; -import java.awt.image.renderable.ParameterBlock; + +import javax.media.jai.InterpolationBilinear; +import javax.media.jai.JAI; +import javax.media.jai.ParameterBlockJAI; +import javax.media.jai.PlanarImage; + +import com.sun.media.jai.codec.FileSeekableStream; public class WebdbImage { diff --git a/source/mir/misc/WebdbMultipartRequest.java b/source/mir/misc/WebdbMultipartRequest.java index 7b0c82cf..42e90823 100755 --- a/source/mir/misc/WebdbMultipartRequest.java +++ b/source/mir/misc/WebdbMultipartRequest.java @@ -31,12 +31,21 @@ package mir.misc; -import java.util.*; -import java.io.*; -import javax.servlet.*; -import javax.servlet.http.*; -import com.oreilly.servlet.multipart.*; -import com.oreilly.servlet.*; +import java.io.IOException; +import java.util.Enumeration; +import java.util.HashMap; +import java.util.Hashtable; +import java.util.Vector; + +import javax.servlet.http.HttpServletRequest; + +import mir.config.MirPropertiesConfiguration; +import mir.config.MirPropertiesConfiguration.PropertiesConfigExc; + +import com.oreilly.servlet.multipart.FilePart; +import com.oreilly.servlet.multipart.MultipartParser; +import com.oreilly.servlet.multipart.ParamPart; +import com.oreilly.servlet.multipart.Part; /** * Title: @@ -55,10 +64,17 @@ public class WebdbMultipartRequest FileHandler _fHandler; public WebdbMultipartRequest(HttpServletRequest theReq, FileHandler handler) - throws FileHandlerException, FileHandlerUserException, IOException + throws FileHandlerException, FileHandlerUserException, IOException, PropertiesConfigExc { req=theReq; - int maxSize = Integer.parseInt(MirConfig.getProp("MaxMediaUploadSize")); + int maxSize; + try { + maxSize = + MirPropertiesConfiguration.instance().getInt("MaxMediaUploadSize"); + } catch (PropertiesConfigExc e) { + maxSize = 1024; + throw e; + } mp = new MultipartParser(req, 1024*maxSize); _fHandler = handler; _evaluateRequest(); diff --git a/source/mir/misc/XmlStyler.java b/source/mir/misc/XmlStyler.java index 665cd9ff..ff5f0002 100755 --- a/source/mir/misc/XmlStyler.java +++ b/source/mir/misc/XmlStyler.java @@ -33,6 +33,7 @@ package mir.misc; import java.io.InputStream; import java.io.OutputStream; + import org.xml.sax.SAXException; /** diff --git a/source/mir/module/AbstractModule.java b/source/mir/module/AbstractModule.java index a7d195b9..c777715e 100755 --- a/source/mir/module/AbstractModule.java +++ b/source/mir/module/AbstractModule.java @@ -31,12 +31,15 @@ package mir.module; -import java.util.*; -import java.sql.*; -import freemarker.template.*; -import mir.storage.*; -import mir.misc.*; -import mir.entity.*; +import java.sql.SQLException; +import java.util.HashMap; + +import mir.entity.Entity; +import mir.entity.EntityList; +import mir.storage.StorageObject; +import mir.storage.StorageObjectExc; +import mir.storage.StorageObjectFailure; +import freemarker.template.SimpleHash; /** @@ -45,8 +48,8 @@ import mir.entity.*; * on Database and Entity classes. The modules are used by ServletModules. * Future possibility could be access via Applications. * - * Abstrakte Klasse, von denen die Modules die Basisfunktionalität erben. - * Die Moduleschicht dient dazu, Funktionalitaeten zur Verfügung zu stellen, + * Abstrakte Klasse, von denen die Modules die Basisfunktionalit?t erben. + * Die Moduleschicht dient dazu, Funktionalitaeten zur Verf?gung zu stellen, * die von mehreren ServletModulen verwendet werden. * */ @@ -59,7 +62,7 @@ public class AbstractModule { } /** - * Liefert das Standard-StorageObject zurück, mit dem das Module assoziiert ist. + * Liefert das Standard-StorageObject zur?ck, mit dem das Module assoziiert ist. * @return Standard-StorageObject */ public StorageObject getStorageObject () { @@ -80,7 +83,7 @@ public class AbstractModule { throw new ModuleException("No object for id = " + id); else return entity; } - catch (StorageObjectException e){ + catch (StorageObjectExc e){ throw new ModuleException(e.toString()); } } @@ -89,7 +92,7 @@ public class AbstractModule { * Holt eine EntityListe anhand des WhereClause via StorageObject * @param String whereclause * @param offset - ab welchem Datensatz die gematchten Entities zurueckgeliefert werden - * @return EntityList Liste der gematchten Datensätze + * @return EntityList Liste der gematchten Datens?tze */ public EntityList getByWhereClause (String whereClause, int offset) throws ModuleException { try { @@ -97,7 +100,7 @@ public class AbstractModule { throw new ModuleException("Kein StorageObject gesetzt"); return theStorage.selectByWhereClause(whereClause, offset); } - catch (StorageObjectException e){ + catch (StorageObjectFailure e){ throw new ModuleException(e.toString()); } } @@ -107,14 +110,14 @@ public class AbstractModule { * @param String where WhereClause * @param String order Sortierreihenfolge * @param offset - ab welchem Datensatz die gematchten Entities zurueckgeliefert werden - * @return EntityList Liste der gematchten Datensätze + * @return EntityList Liste der gematchten Datens?tze */ public EntityList getByWhereClause (String where, String order, int offset) throws ModuleException { try { if (theStorage==null) throw new ModuleException("Kein StorageObject gesetzt"); return theStorage.selectByWhereClause(where, order, offset); } - catch (StorageObjectException e){ + catch (StorageObjectFailure e){ throw new ModuleException(e.toString()); } } @@ -135,7 +138,7 @@ public class AbstractModule { if (theStorage==null) throw new ModuleException("StorageObject not set!"); return theStorage.selectByWhereClause(where, order, offset, limit); } - catch (StorageObjectException e){ + catch (StorageObjectFailure e){ throw new ModuleException(e.toString()); } } @@ -145,7 +148,7 @@ public class AbstractModule { * @param String aField - Feldname im StorageObject * @param String aValue - Wert in Feld im StorageObject * @param offset - ab welchem Datensatz die gematchten Entities zurueckgeliefert werden - * @return EntityList Liste der gematchten Datensätze + * @return EntityList Liste der gematchten Datens?tze */ public EntityList getByFieldValue (String aField, String aValue, int offset) throws ModuleException { String whereClause; @@ -154,9 +157,9 @@ public class AbstractModule { } /** - * Standardfunktion, um einen Datensatz via StorageObject einzufügen + * Standardfunktion, um einen Datensatz via StorageObject einzuf?gen * @param theValues Hash mit Spalte/Wert-Paaren - * @return Id des eingefügten Objekts + * @return Id des eingef?gten Objekts * @exception ModuleException */ public String add (HashMap theValues) throws ModuleException { @@ -173,7 +176,7 @@ public class AbstractModule { /** * Standardfunktion, um einen Datensatz via StorageObject zu aktualisieren * @param theValues Hash mit Spalte/Wert-Paaren - * @return Id des eingefügten Objekts + * @return Id des eingef?gten Objekts * @exception ModuleException */ public String set (HashMap theValues) throws ModuleException { @@ -185,7 +188,7 @@ public class AbstractModule { theEntity.update(); return theEntity.getId(); } - catch (StorageObjectException e){ + catch (StorageObjectExc e){ e.printStackTrace(System.err); throw new ModuleException(e.toString()); } @@ -199,7 +202,7 @@ public class AbstractModule { public void deleteById (String idParam) throws ModuleException { try { theStorage.delete(idParam); - } catch (StorageObjectException e){ + } catch (StorageObjectFailure e){ throw new ModuleException(e.toString()); } } @@ -216,7 +219,7 @@ public class AbstractModule { * returns the number of rows */ public int getSize(String where) - throws SQLException,StorageObjectException { + throws SQLException,StorageObjectFailure { return theStorage.getSize(where); } diff --git a/source/mir/module/ModuleException.java b/source/mir/module/ModuleException.java index fd90d4a1..51aeb417 100755 --- a/source/mir/module/ModuleException.java +++ b/source/mir/module/ModuleException.java @@ -31,7 +31,6 @@ package mir.module; -import java.lang.*; /* * ServletModuleException - diff --git a/source/mir/module/ModuleUserException.java b/source/mir/module/ModuleUserException.java index b6e63691..c33b4a02 100755 --- a/source/mir/module/ModuleUserException.java +++ b/source/mir/module/ModuleUserException.java @@ -31,7 +31,6 @@ package mir.module; -import java.lang.*; /* * ServletModuleException - diff --git a/source/mir/producer/AssignmentProducerNode.java b/source/mir/producer/AssignmentProducerNode.java index 8795332b..b393f924 100755 --- a/source/mir/producer/AssignmentProducerNode.java +++ b/source/mir/producer/AssignmentProducerNode.java @@ -31,13 +31,10 @@ package mir.producer; -import java.util.*; -import java.io.*; +import java.util.Map; -import org.apache.struts.util.MessageResources; - -import mir.util.*; -import mir.log.*; +import mir.log.LoggerWrapper; +import mir.util.ParameterExpander; public class AssignmentProducerNode extends ProducerNodeDecorator { private String key; diff --git a/source/mir/producer/CompositeProducerNode.java b/source/mir/producer/CompositeProducerNode.java index 8c465a3d..a3b3c89c 100755 --- a/source/mir/producer/CompositeProducerNode.java +++ b/source/mir/producer/CompositeProducerNode.java @@ -31,10 +31,12 @@ package mir.producer; -import java.util.*; -import java.io.*; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Vector; -import mir.log.*; +import mir.log.LoggerWrapper; public class CompositeProducerNode implements ProducerNode { private List subNodes; diff --git a/source/mir/producer/ConditionalProducerNode.java b/source/mir/producer/ConditionalProducerNode.java index fffeed5c..8a914007 100755 --- a/source/mir/producer/ConditionalProducerNode.java +++ b/source/mir/producer/ConditionalProducerNode.java @@ -31,11 +31,10 @@ package mir.producer; -import java.util.*; -import java.io.*; +import java.util.Map; -import mir.util.*; -import mir.log.*; +import mir.log.LoggerWrapper; +import mir.util.ParameterExpander; public class ConditionalProducerNode implements ProducerNode { private String condition; diff --git a/source/mir/producer/DirCopyingProducerNode.java b/source/mir/producer/DirCopyingProducerNode.java index 835f99db..6ac3de64 100755 --- a/source/mir/producer/DirCopyingProducerNode.java +++ b/source/mir/producer/DirCopyingProducerNode.java @@ -31,11 +31,12 @@ package mir.producer; -import java.io.*; -import java.util.*; +import java.io.File; +import java.util.Map; -import mir.util.*; -import mir.log.*; +import mir.log.LoggerWrapper; +import mir.util.FileCopier; +import mir.util.ParameterExpander; public class DirCopyingProducerNode implements ProducerNode { private String sourceExpression; diff --git a/source/mir/producer/EntityBatchingProducerNode.java b/source/mir/producer/EntityBatchingProducerNode.java index cb61f9d0..22cae784 100755 --- a/source/mir/producer/EntityBatchingProducerNode.java +++ b/source/mir/producer/EntityBatchingProducerNode.java @@ -31,14 +31,16 @@ package mir.producer; -import java.util.*; -import java.io.*; - -import mir.entity.adapter.*; -import mir.entity.*; -import mir.storage.*; -import mir.util.*; -import mir.log.*; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Vector; + +import mir.entity.adapter.EntityAdapterModel; +import mir.entity.adapter.EntityIteratorAdapter; +import mir.log.LoggerWrapper; +import mir.util.ParameterExpander; public class EntityBatchingProducerNode implements ProducerNode { private String batchInfoKey; diff --git a/source/mir/producer/EntityEnumeratingProducerNode.java b/source/mir/producer/EntityEnumeratingProducerNode.java index 2a288331..aed4558e 100755 --- a/source/mir/producer/EntityEnumeratingProducerNode.java +++ b/source/mir/producer/EntityEnumeratingProducerNode.java @@ -31,14 +31,13 @@ package mir.producer; -import java.util.*; -import java.io.*; +import java.util.Iterator; +import java.util.Map; -import mir.entity.adapter.*; -import mir.entity.*; -import mir.storage.*; -import mir.util.*; -import mir.log.*; +import mir.entity.adapter.EntityAdapterModel; +import mir.entity.adapter.EntityIteratorAdapter; +import mir.log.LoggerWrapper; +import mir.util.ParameterExpander; public class EntityEnumeratingProducerNode extends ProducerNodeDecorator { private String key; diff --git a/source/mir/producer/EntityListProducerNode.java b/source/mir/producer/EntityListProducerNode.java index ec4e5e93..f2e609db 100755 --- a/source/mir/producer/EntityListProducerNode.java +++ b/source/mir/producer/EntityListProducerNode.java @@ -31,14 +31,14 @@ package mir.producer; -import java.util.*; -import java.io.*; +import java.util.Map; +import java.util.Vector; -import mir.entity.adapter.*; -import mir.entity.*; -import mir.storage.*; -import mir.util.*; -import mir.log.*; +import mir.entity.adapter.EntityAdapterModel; +import mir.entity.adapter.EntityIteratorAdapter; +import mir.log.LoggerWrapper; +import mir.util.CachingRewindableIterator; +import mir.util.ParameterExpander; public class EntityListProducerNode extends ProducerNodeDecorator { private String key; diff --git a/source/mir/producer/EntityModifyingProducerNode.java b/source/mir/producer/EntityModifyingProducerNode.java index b33cfabc..9db13985 100755 --- a/source/mir/producer/EntityModifyingProducerNode.java +++ b/source/mir/producer/EntityModifyingProducerNode.java @@ -31,11 +31,11 @@ package mir.producer; -import java.util.*; -import java.io.*; -import mir.entity.*; -import mir.entity.adapter.*; -import mir.util.*; +import java.io.PrintWriter; +import java.util.Map; + +import mir.entity.adapter.EntityAdapter; +import mir.util.ParameterExpander; public abstract class EntityModifyingProducerNode implements ProducerNode { diff --git a/source/mir/producer/EvaluatedAssignmentProducerNode.java b/source/mir/producer/EvaluatedAssignmentProducerNode.java index 1a02b293..ad39c634 100755 --- a/source/mir/producer/EvaluatedAssignmentProducerNode.java +++ b/source/mir/producer/EvaluatedAssignmentProducerNode.java @@ -31,11 +31,10 @@ package mir.producer; -import java.util.*; -import java.io.*; +import java.util.Map; -import mir.util.*; -import mir.log.*; +import mir.log.LoggerWrapper; +import mir.util.ParameterExpander; public class EvaluatedAssignmentProducerNode implements ProducerNode { private String key; diff --git a/source/mir/producer/ExpandedAssignmentProducerNode.java b/source/mir/producer/ExpandedAssignmentProducerNode.java index 7c9d425b..de00c447 100755 --- a/source/mir/producer/ExpandedAssignmentProducerNode.java +++ b/source/mir/producer/ExpandedAssignmentProducerNode.java @@ -31,11 +31,10 @@ package mir.producer; -import java.util.*; -import java.io.*; +import java.util.Map; -import mir.util.*; -import mir.log.*; +import mir.log.LoggerWrapper; +import mir.util.ParameterExpander; public class ExpandedAssignmentProducerNode implements ProducerNode { private String key; diff --git a/source/mir/producer/FileDateSettingProducerNode.java b/source/mir/producer/FileDateSettingProducerNode.java index f4e567df..351c610c 100755 --- a/source/mir/producer/FileDateSettingProducerNode.java +++ b/source/mir/producer/FileDateSettingProducerNode.java @@ -31,15 +31,12 @@ package mir.producer; -import java.util.*; -import java.io.*; +import java.io.File; +import java.util.Date; +import java.util.Map; -import mir.log.*; -import mir.util.*; -import mir.producer.*; -import mir.generator.*; -import mircoders.global.*; -import mircoders.localizer.*; +import mir.log.LoggerWrapper; +import mir.util.ParameterExpander; public class FileDateSettingProducerNode extends FileOperationProducerNode { String dateExpression; diff --git a/source/mir/producer/FileDeletingProducerNode.java b/source/mir/producer/FileDeletingProducerNode.java index f509ba49..ff3f0a0b 100755 --- a/source/mir/producer/FileDeletingProducerNode.java +++ b/source/mir/producer/FileDeletingProducerNode.java @@ -31,16 +31,10 @@ package mir.producer; -import java.util.*; -import java.io.*; +import java.io.File; +import java.util.Map; -import mir.util.*; -import mir.producer.*; -import mir.generator.*; -import mir.log.*; - -import mircoders.global.*; -import mircoders.localizer.*; +import mir.log.LoggerWrapper; public class FileDeletingProducerNode extends FileOperationProducerNode { diff --git a/source/mir/producer/FileOperationProducerNode.java b/source/mir/producer/FileOperationProducerNode.java index 215fb52f..439c771b 100755 --- a/source/mir/producer/FileOperationProducerNode.java +++ b/source/mir/producer/FileOperationProducerNode.java @@ -31,16 +31,11 @@ package mir.producer; -import java.util.*; -import java.io.*; +import java.io.File; +import java.util.Map; -import mir.util.*; -import mir.producer.*; -import mir.generator.*; -import mir.log.*; - -import mircoders.global.*; -import mircoders.localizer.*; +import mir.log.LoggerWrapper; +import mir.util.ParameterExpander; public abstract class FileOperationProducerNode implements ProducerNode { String fileName; diff --git a/source/mir/producer/GeneratingProducerNode.java b/source/mir/producer/GeneratingProducerNode.java index df2b85bd..6ad421d8 100755 --- a/source/mir/producer/GeneratingProducerNode.java +++ b/source/mir/producer/GeneratingProducerNode.java @@ -31,13 +31,14 @@ package mir.producer; -import java.util.*; -import java.io.*; +import java.io.PrintWriter; +import java.util.Map; -import mir.util.*; -import mir.producer.*; -import mir.generator.*; -import mir.log.*; +import mir.generator.Generator; +import mir.generator.WriterEngine; +import mir.log.LoggerToWriterAdapter; +import mir.log.LoggerWrapper; +import mir.util.ParameterExpander; public class GeneratingProducerNode implements ProducerNode { private String generatorExpression; diff --git a/source/mir/producer/LoggingProducerNode.java b/source/mir/producer/LoggingProducerNode.java index 4dd9b6d3..ee438ae5 100755 --- a/source/mir/producer/LoggingProducerNode.java +++ b/source/mir/producer/LoggingProducerNode.java @@ -31,12 +31,10 @@ package mir.producer; -import java.io.*; -import java.util.*; +import java.util.Map; -import mir.util.*; -import mir.producer.*; -import mir.log.*; +import mir.log.LoggerWrapper; +import mir.util.ParameterExpander; public class LoggingProducerNode implements ProducerNode { private String expression; diff --git a/source/mir/producer/LoopProducerNode.java b/source/mir/producer/LoopProducerNode.java index 65c57724..7487fa70 100755 --- a/source/mir/producer/LoopProducerNode.java +++ b/source/mir/producer/LoopProducerNode.java @@ -31,11 +31,10 @@ package mir.producer; -import java.util.*; -import java.io.*; +import java.util.Map; -import mir.util.*; -import mir.log.*; +import mir.log.LoggerWrapper; +import mir.util.ParameterExpander; public class LoopProducerNode extends ProducerNodeDecorator { diff --git a/source/mir/producer/NodedProducer.java b/source/mir/producer/NodedProducer.java index 83fc96c3..6b08a07c 100755 --- a/source/mir/producer/NodedProducer.java +++ b/source/mir/producer/NodedProducer.java @@ -31,10 +31,10 @@ package mir.producer; -import java.util.*; -import java.io.*; +import java.util.HashMap; +import java.util.Map; -import mir.log.*; +import mir.log.LoggerWrapper; public class NodedProducer implements Producer { private ProducerNode rootNode; diff --git a/source/mir/producer/NodedProducerFactory.java b/source/mir/producer/NodedProducerFactory.java index 129f4697..7fe3d962 100755 --- a/source/mir/producer/NodedProducerFactory.java +++ b/source/mir/producer/NodedProducerFactory.java @@ -31,8 +31,11 @@ package mir.producer; -import java.util.*; -import mir.producer.*; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Vector; public class NodedProducerFactory implements ProducerFactory { private ProducerNode rootNode; diff --git a/source/mir/producer/Producer.java b/source/mir/producer/Producer.java index 1c2e19e1..35e7b205 100755 --- a/source/mir/producer/Producer.java +++ b/source/mir/producer/Producer.java @@ -31,8 +31,7 @@ package mir.producer; -import java.io.*; -import mir.log.*; +import mir.log.LoggerWrapper; public interface Producer { public void produce( LoggerWrapper aLogger ) throws ProducerFailure, ProducerExc; diff --git a/source/mir/producer/ProducerFactory.java b/source/mir/producer/ProducerFactory.java index 47efeac4..3920c595 100755 --- a/source/mir/producer/ProducerFactory.java +++ b/source/mir/producer/ProducerFactory.java @@ -31,7 +31,8 @@ package mir.producer; -import java.util.*; +import java.util.Iterator; +import java.util.Map; public interface ProducerFactory { public interface ProducerVerb { diff --git a/source/mir/producer/ProducerNode.java b/source/mir/producer/ProducerNode.java index 23ea273c..41393b71 100755 --- a/source/mir/producer/ProducerNode.java +++ b/source/mir/producer/ProducerNode.java @@ -31,10 +31,9 @@ package mir.producer; -import java.util.*; -import java.io.*; +import java.util.Map; -import mir.log.*; +import mir.log.LoggerWrapper; public interface ProducerNode { public void produce(Map aValueSet, String aVerb, LoggerWrapper aLogger) throws ProducerExc, ProducerFailure; diff --git a/source/mir/producer/ProducerNodeDecorator.java b/source/mir/producer/ProducerNodeDecorator.java index e77b7e31..1406c2ad 100755 --- a/source/mir/producer/ProducerNodeDecorator.java +++ b/source/mir/producer/ProducerNodeDecorator.java @@ -31,10 +31,9 @@ package mir.producer; -import java.util.*; -import java.io.*; +import java.util.Map; -import mir.log.*; +import mir.log.LoggerWrapper; public class ProducerNodeDecorator implements ProducerNode { private ProducerNode slave; diff --git a/source/mir/producer/ResourceBundleProducerNode.java b/source/mir/producer/ResourceBundleProducerNode.java index b80342ef..862fea1b 100755 --- a/source/mir/producer/ResourceBundleProducerNode.java +++ b/source/mir/producer/ResourceBundleProducerNode.java @@ -31,13 +31,14 @@ package mir.producer; -import java.util.*; -import java.io.*; -import org.apache.struts.util.MessageResources; +import java.util.Locale; +import java.util.Map; + +import mir.log.LoggerWrapper; +import mir.util.ParameterExpander; +import mir.util.ResourceBundleGeneratorFunction; -import mir.util.*; -import mir.misc.*; -import mir.log.*; +import org.apache.struts.util.MessageResources; public class ResourceBundleProducerNode implements ProducerNode { private String key; diff --git a/source/mir/producer/ScriptCallingProducerNode.java b/source/mir/producer/ScriptCallingProducerNode.java index 234efc4c..f2917697 100755 --- a/source/mir/producer/ScriptCallingProducerNode.java +++ b/source/mir/producer/ScriptCallingProducerNode.java @@ -31,11 +31,10 @@ package mir.producer; -import java.io.*; -import java.util.*; +import java.util.Map; -import mir.util.*; -import mir.log.*; +import mir.log.LoggerWrapper; +import mir.util.ParameterExpander; public class ScriptCallingProducerNode implements ProducerNode { String scriptExpression; diff --git a/source/mir/producer/ValuesMapProducerNode.java b/source/mir/producer/ValuesMapProducerNode.java index a3f7a8ef..25e5ccc6 100755 --- a/source/mir/producer/ValuesMapProducerNode.java +++ b/source/mir/producer/ValuesMapProducerNode.java @@ -31,12 +31,9 @@ package mir.producer; -import java.util.*; -import java.io.*; -import org.apache.struts.util.MessageResources; +import java.util.Map; -import mir.util.*; -import mir.log.*; +import mir.log.LoggerWrapper; public class ValuesMapProducerNode extends ProducerNodeDecorator { private String key; diff --git a/source/mir/producer/reader/DefaultProducerNodeBuilders.java b/source/mir/producer/reader/DefaultProducerNodeBuilders.java index 78f3787d..320d0dd2 100755 --- a/source/mir/producer/reader/DefaultProducerNodeBuilders.java +++ b/source/mir/producer/reader/DefaultProducerNodeBuilders.java @@ -31,14 +31,32 @@ package mir.producer.reader; -import java.util.*; - -import mir.generator.*; - -import mir.producer.*; -import mir.entity.adapter.*; -import mir.util.*; -import mir.log.*; +import java.util.Arrays; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Map; +import java.util.Set; + +import mir.entity.adapter.EntityAdapterModel; +import mir.generator.Generator; +import mir.generator.WriterEngine; +import mir.log.LoggerWrapper; +import mir.producer.ConditionalProducerNode; +import mir.producer.DirCopyingProducerNode; +import mir.producer.EntityBatchingProducerNode; +import mir.producer.EntityEnumeratingProducerNode; +import mir.producer.EntityListProducerNode; +import mir.producer.EvaluatedAssignmentProducerNode; +import mir.producer.ExpandedAssignmentProducerNode; +import mir.producer.FileDateSettingProducerNode; +import mir.producer.FileDeletingProducerNode; +import mir.producer.GeneratingProducerNode; +import mir.producer.LoggingProducerNode; +import mir.producer.LoopProducerNode; +import mir.producer.ProducerNode; +import mir.producer.ResourceBundleProducerNode; +import mir.producer.ScriptCallingProducerNode; public class DefaultProducerNodeBuilders { diff --git a/source/mir/producer/reader/ProducerConfigReader.java b/source/mir/producer/reader/ProducerConfigReader.java index 52d589fb..8ad2acf6 100755 --- a/source/mir/producer/reader/ProducerConfigReader.java +++ b/source/mir/producer/reader/ProducerConfigReader.java @@ -31,21 +31,34 @@ package mir.producer.reader; -import java.io.*; -import java.util.*; -import java.lang.System; -import org.xml.sax.helpers.DefaultHandler; -import org.xml.sax.*; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.Stack; +import java.util.Vector; + import javax.xml.parsers.ParserConfigurationException; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; -import mir.util.*; -import mir.config.exceptions.*; -import mir.producer.*; +import mir.producer.CompositeProducerNode; +import mir.producer.ProducerFactory; +import mir.producer.ProducerNode; +import mir.producer.SimpleProducerVerb; -//import mir.producer.exceptions.*; -import mir.misc.Location; +import org.xml.sax.Attributes; +import org.xml.sax.InputSource; +import org.xml.sax.Locator; +import org.xml.sax.SAXException; +import org.xml.sax.SAXParseException; +import org.xml.sax.helpers.DefaultHandler; public class ProducerConfigReader { private ProducerNodeBuilderLibrary builderLibrary; diff --git a/source/mir/producer/reader/ProducerNodeBuilder.java b/source/mir/producer/reader/ProducerNodeBuilder.java index c374db58..03532c12 100755 --- a/source/mir/producer/reader/ProducerNodeBuilder.java +++ b/source/mir/producer/reader/ProducerNodeBuilder.java @@ -31,8 +31,10 @@ package mir.producer.reader; -import java.util.*; -import mir.producer.*; +import java.util.Map; +import java.util.Set; + +import mir.producer.ProducerNode; public interface ProducerNodeBuilder { public void setAttributes(Map anAttributes) throws ProducerConfigExc; diff --git a/source/mir/producer/reader/ProducerNodeBuilderLibrary.java b/source/mir/producer/reader/ProducerNodeBuilderLibrary.java index 8480589a..7836bc23 100755 --- a/source/mir/producer/reader/ProducerNodeBuilderLibrary.java +++ b/source/mir/producer/reader/ProducerNodeBuilderLibrary.java @@ -31,8 +31,8 @@ package mir.producer.reader; -import java.util.*; -import mir.producer.*; +import java.util.HashMap; +import java.util.Map; public class ProducerNodeBuilderLibrary { private Map nodeBuilders; diff --git a/source/mir/producer/reader/ReaderTool.java b/source/mir/producer/reader/ReaderTool.java index ea922140..eb02254a 100755 --- a/source/mir/producer/reader/ReaderTool.java +++ b/source/mir/producer/reader/ReaderTool.java @@ -31,7 +31,11 @@ package mir.producer.reader; -import java.util.*; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Map; +import java.util.Set; public class ReaderTool { diff --git a/source/mir/producer/reader/ScriptedProducerFactory.java b/source/mir/producer/reader/ScriptedProducerFactory.java index 483754f0..e8e7d8d8 100755 --- a/source/mir/producer/reader/ScriptedProducerFactory.java +++ b/source/mir/producer/reader/ScriptedProducerFactory.java @@ -31,8 +31,17 @@ package mir.producer.reader; -import java.util.*; -import mir.producer.*; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import mir.producer.CompositeProducerNode; +import mir.producer.NodedProducer; +import mir.producer.Producer; +import mir.producer.ProducerExc; +import mir.producer.ProducerFactory; +import mir.producer.ProducerFailure; +import mir.producer.ProducerNode; public class ScriptedProducerFactory implements ProducerFactory { private List verbs; diff --git a/source/mir/producer/reader/ScriptedProducerNode.java b/source/mir/producer/reader/ScriptedProducerNode.java index 4e275a1e..a4d25b7b 100755 --- a/source/mir/producer/reader/ScriptedProducerNode.java +++ b/source/mir/producer/reader/ScriptedProducerNode.java @@ -31,12 +31,15 @@ package mir.producer.reader; -import java.util.*; -import java.io.*; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; -import mir.producer.*; -import mir.util.*; -import mir.log.*; +import mir.log.LoggerWrapper; +import mir.producer.ProducerExc; +import mir.producer.ProducerFailure; +import mir.producer.ProducerNode; +import mir.util.ParameterExpander; public class ScriptedProducerNode implements ProducerNode { private ScriptedProducerNodeDefinition definition; diff --git a/source/mir/producer/reader/ScriptedProducerNodeDefinition.java b/source/mir/producer/reader/ScriptedProducerNodeDefinition.java index 6f45b72a..1e448a3d 100755 --- a/source/mir/producer/reader/ScriptedProducerNodeDefinition.java +++ b/source/mir/producer/reader/ScriptedProducerNodeDefinition.java @@ -31,11 +31,18 @@ package mir.producer.reader; -import java.util.*; -import java.io.*; - -import mir.producer.*; -import mir.log.*; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.Map; +import java.util.Set; +import java.util.Stack; + +import mir.log.LoggerWrapper; +import mir.producer.CompositeProducerNode; +import mir.producer.ProducerExc; +import mir.producer.ProducerFailure; +import mir.producer.ProducerNode; public class ScriptedProducerNodeDefinition { private Map integerParameters; // name -> default value diff --git a/source/mir/producer/reader/ScriptedProducerNodeTool.java b/source/mir/producer/reader/ScriptedProducerNodeTool.java index e8a2251f..8a2c26ba 100755 --- a/source/mir/producer/reader/ScriptedProducerNodeTool.java +++ b/source/mir/producer/reader/ScriptedProducerNodeTool.java @@ -31,7 +31,11 @@ package mir.producer.reader; -import java.util.*; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; +import java.util.Set; +import java.util.Stack; public class ScriptedProducerNodeTool { diff --git a/source/mir/servlet/AbstractServlet.java b/source/mir/servlet/AbstractServlet.java index 90516c3a..13f674b6 100755 --- a/source/mir/servlet/AbstractServlet.java +++ b/source/mir/servlet/AbstractServlet.java @@ -31,18 +31,23 @@ package mir.servlet; -import mir.misc.Logfile; -import mir.misc.MirConfig; -import mir.misc.StringUtil; -import mir.storage.StorageObjectException; +import java.util.Locale; -import javax.servlet.UnavailableException; +import javax.servlet.ServletConfig; +import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; -import java.util.Locale; -import java.util.Random; + +import mir.config.MirPropertiesConfiguration; +import mir.config.MirPropertiesConfiguration.PropertiesConfigExc; +import mir.log.LoggerWrapper; +import mir.storage.DatabaseAdaptor; + +import com.codestudio.util.JDBCPool; +import com.codestudio.util.JDBCPoolMetaData; +import com.codestudio.util.SQLManager; /** * Title: Mir @@ -50,12 +55,22 @@ import java.util.Random; * Copyright: Copyright (c) 2001, 2002 * Company: Mir-coders group * @author idfx, the Mir-coders group - * @version $Id: AbstractServlet.java,v 1.19 2002/12/23 03:12:46 mh Exp $ + * @version $Id: AbstractServlet.java,v 1.20 2003/01/25 17:45:19 idfx Exp $ */ public abstract class AbstractServlet extends HttpServlet { protected static String lang; - protected static Logfile theLog; + //protected static Logfile theLog; + protected LoggerWrapper logger; + protected MirPropertiesConfiguration configuration; + + /** + * Constructor for AbstractServlet. + */ + public AbstractServlet() { + super(); + logger = new LoggerWrapper("Servlet"); + } protected void setNoCaching(HttpServletResponse res) { //nothing in Mir can or should be cached as it's all dynamic... @@ -68,35 +83,6 @@ public abstract class AbstractServlet extends HttpServlet { } /** - * the configration - */ - protected boolean getConfig(HttpServletRequest req) - throws UnavailableException { - - String name = super.getServletName(); - - // init config - MirConfig.initConfig(super.getServletContext(), req.getContextPath(), - name, getInitParameter("Config")); - - theLog = Logfile.getInstance(MirConfig.getPropWithHome(name + ".Logfile")); - theLog.printInfo(name + " started."); - theLog.printInfo("Path is: " + MirConfig.getProp("Home")); - theLog.printInfo("Root URI is: " + MirConfig.getProp("RootUri")); - theLog.printInfo("StandardLanguage is: " + MirConfig.getProp("StandardLanguage")); - try { - MirConfig.initDbPool(); - } - catch (StorageObjectException e) { - throw new UnavailableException( - "Could not initialize database pool. -- " - + e.toString(), 0); - } - super.getServletContext().setAttribute("mir.confed", new Boolean(true)); - return true; - } - - /** * Bind the language to the session */ protected void setLanguage(HttpSession session, String language) { @@ -148,4 +134,76 @@ public abstract class AbstractServlet extends HttpServlet { lang = loc.getLanguage(); return lang; } + /** + * @see javax.servlet.Servlet#init(javax.servlet.ServletConfig) + */ + public void init(ServletConfig arg0) throws ServletException { + super.init(arg0); + MirPropertiesConfiguration.setContext(arg0.getServletContext()); + MirPropertiesConfiguration.setContextPath("/"+arg0.getServletName()); + try { + configuration = MirPropertiesConfiguration.instance(); + } catch (PropertiesConfigExc e) { + throw new ServletException(e); + } + + String dbUser=configuration.getString("Database.Username"); + String dbPassword=configuration.getString("Database.Password"); + String dbHost=configuration.getString("Database.Host"); + String dbAdapName=configuration.getString("Database.Adaptor"); + + DatabaseAdaptor adaptor; + try { + adaptor = (DatabaseAdaptor)Class.forName(dbAdapName).newInstance(); + } catch (Exception e) { + throw new ServletException("Could not load DB adapator: "+ + e.toString()); + } + + String min,max,log,reset,dbname,dblogfile; + + min=configuration.getString("Database.poolMin"); + System.out.println(min); + max=configuration.getString("Database.poolMax"); + System.out.println(max); + dbname=configuration.getString("Database.Name"); + System.out.println(dbname); + log=configuration.getStringWithHome("Database.PoolLog"); + System.out.println(log); + reset=configuration.getString("Database.poolResetTime"); + System.out.println(reset); + dblogfile=configuration.getStringWithHome("Database.Logfile"); + System.out.println(dblogfile); + + String dbDriver; + String dbUrl; + try{ + dbDriver=adaptor.getDriver(); + dbUrl=adaptor.getURL(dbUser,dbPassword, dbHost); + } catch (Exception e) { + throw new ServletException(e); + } + + JDBCPoolMetaData meta = new JDBCPoolMetaData(); + meta.setDbname(dbname); + meta.setDriver(dbDriver); + meta.setURL(dbUrl); + meta.setUserName(dbUser); + meta.setPassword(dbPassword); + meta.setJNDIName("mir"); + meta.setMaximumSize(10); + meta.setMinimumSize(1); + meta.setPoolPreparedStatements(false); + meta.setCacheEnabled(false); + meta.setCacheSize(15); + meta.setDebugging(false); + meta.setLogFile(dblogfile+".pool"); + + SQLManager manager = SQLManager.getInstance(); + JDBCPool pool = null; + if(manager != null){ + pool = manager.createPool(meta); + } + } + } diff --git a/source/mir/servlet/ServletModule.java b/source/mir/servlet/ServletModule.java index 4f9232dc..56419d19 100755 --- a/source/mir/servlet/ServletModule.java +++ b/source/mir/servlet/ServletModule.java @@ -31,27 +31,30 @@ package mir.servlet; -import freemarker.template.SimpleHash; -import freemarker.template.TemplateModelRoot; -import freemarker.template.TemplateModel; - -import mir.entity.EntityList; -import mir.log.*; -import mir.misc.*; -import mir.module.AbstractModule; -import mir.module.ModuleException; -import mir.storage.StorageObject; -import mir.storage.StorageObjectException; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.HttpSession; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import java.util.HashMap; import java.util.Locale; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; + +import mir.config.MirPropertiesConfiguration; +import mir.config.MirPropertiesConfiguration.PropertiesConfigExc; +import mir.entity.EntityList; +import mir.log.LoggerWrapper; +import mir.misc.HTMLParseException; +import mir.misc.HTMLTemplateProcessor; +import mir.misc.LineFilterWriter; +import mir.module.AbstractModule; +import mir.module.ModuleException; +import mir.storage.StorageObject; +import mir.storage.StorageObjectFailure; +import freemarker.template.SimpleHash; +import freemarker.template.TemplateModelRoot; + /** * Abstract class ServletModule provides the base functionality for servlets. @@ -60,7 +63,7 @@ import java.util.Locale; * * * Abstrakte Klasse ServletModule stellt die Basisfunktionalitaet der - * abgeleiteten ServletModule zur Verfügung. + * abgeleiteten ServletModule zur Verf?gung. * * @version 28.6.1999 * @author RK @@ -70,11 +73,21 @@ public abstract class ServletModule { public String defaultAction; protected LoggerWrapper logger; - + protected MirPropertiesConfiguration configuration; protected AbstractModule mainModule; protected String templateListString; protected String templateObjektString; protected String templateConfirmString; + + + public ServletModule(){ + try { + configuration = MirPropertiesConfiguration.instance(); + } catch (PropertiesConfigExc e) { + e.printStackTrace(System.err); + } + } + /** * Singelton - Methode muss in den abgeleiteten Klassen ueberschrieben werden. @@ -98,7 +111,7 @@ public abstract class ServletModule { HttpSession session = req.getSession(false); String language = (String) session.getAttribute("Language"); if (language == null) { - language = MirConfig.getProp("StandardLanguage"); + language = configuration.getString("StandardLanguage"); } return language; } @@ -123,7 +136,7 @@ public abstract class ServletModule { public void redirect(HttpServletResponse aResponse, String aQuery) throws ServletModuleException { try { - aResponse.sendRedirect(MirConfig.getProp("RootUri") + "/Mir?"+aQuery); + aResponse.sendRedirect(MirPropertiesConfiguration.instance().getString("RootUri") + "/Mir?"+aQuery); } catch (Throwable t) { throw new ServletModuleException(t.getMessage()); @@ -440,7 +453,7 @@ public abstract class ServletModule { try { theFieldList = theStorage.getFields(); } - catch (StorageObjectException e) { + catch (StorageObjectFailure e) { throw new ServletModuleException("ServletModule.getIntersectingValues: " + e.getMessage()); } diff --git a/source/mir/servlet/ServletModuleDispatch.java b/source/mir/servlet/ServletModuleDispatch.java index 51ebbdfd..0c9d2c89 100755 --- a/source/mir/servlet/ServletModuleDispatch.java +++ b/source/mir/servlet/ServletModuleDispatch.java @@ -31,18 +31,20 @@ package mir.servlet; -import java.lang.reflect.*; -import javax.servlet.http.*; -import mir.servlet.ServletModuleException; -import mir.misc.*; -import mir.log.*; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import mir.log.LoggerWrapper; /** * Dispatcher, calls the method passed to ServletModule Class, through the "do" * Parameter (via POST or GET) * - * @version $Id: ServletModuleDispatch.java,v 1.11 2002/12/01 15:05:51 zapata Exp $ + * @version $Id: ServletModuleDispatch.java,v 1.12 2003/01/25 17:45:19 idfx Exp $ * * @Author rk * @@ -70,7 +72,7 @@ public final class ServletModuleDispatch { * @param res Http-Response, die vom Dispatcher an die Methode des * ServletModules durchgereicht wird * @param sMod ServletModule, an das dispatched wird. - * @param mod Name des Modules als String (für Logfile) + * @param mod Name des Modules als String (f?r Logfile) */ public static void dispatch(ServletModule sMod, HttpServletRequest req, diff --git a/source/mir/servlet/ServletModuleException.java b/source/mir/servlet/ServletModuleException.java index f28807f5..93deb019 100755 --- a/source/mir/servlet/ServletModuleException.java +++ b/source/mir/servlet/ServletModuleException.java @@ -31,7 +31,6 @@ package mir.servlet; -import java.lang.*; /* * ServletModuleException - diff --git a/source/mir/servlet/ServletModuleShow.java b/source/mir/servlet/ServletModuleShow.java index 2efb3f31..f001f11e 100755 --- a/source/mir/servlet/ServletModuleShow.java +++ b/source/mir/servlet/ServletModuleShow.java @@ -31,9 +31,10 @@ package mir.servlet; -import javax.servlet.http.*; -import freemarker.template.*; -import mir.storage.*; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import freemarker.template.TemplateModelRoot; /** @@ -51,7 +52,7 @@ public class ServletModuleShow extends ServletModule { private static ServletModuleShow instance = new ServletModuleShow(); /** - * Ein ServletModuleShow-Objekt wird über getInstance geliefert. Es gibt zur + * Ein ServletModuleShow-Objekt wird ?ber getInstance geliefert. Es gibt zur * Laufzeit nur ein Objekt (Singleton) * @return ServletModuleShow */ diff --git a/source/mir/servlet/ServletModuleUserException.java b/source/mir/servlet/ServletModuleUserException.java index 5b85287b..5150788b 100755 --- a/source/mir/servlet/ServletModuleUserException.java +++ b/source/mir/servlet/ServletModuleUserException.java @@ -31,7 +31,6 @@ package mir.servlet; -import java.lang.*; /* * ServletModuleUserException - diff --git a/source/mir/storage/Database.java b/source/mir/storage/Database.java index 4af17692..c5d8cf44 100755 --- a/source/mir/storage/Database.java +++ b/source/mir/storage/Database.java @@ -31,21 +31,41 @@ package mir.storage; -import java.sql.*; -import java.lang.*; -import java.io.*; -import java.util.*; -import java.text.SimpleDateFormat; -import java.text.ParseException; -import freemarker.template.*; -import com.codestudio.sql.*; -import com.codestudio.util.*; - -import mir.storage.StorageObject; -import mir.storage.store.*; -import mir.entity.*; -import mir.misc.*; -import mir.util.*; +import java.io.IOException; +import java.io.InputStreamReader; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.ResultSetMetaData; +import java.sql.SQLException; +import java.sql.Statement; +import java.sql.Timestamp; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.GregorianCalendar; +import java.util.HashMap; + +import mir.config.MirPropertiesConfiguration; +import mir.config.MirPropertiesConfiguration.PropertiesConfigExc; +import mir.entity.Entity; +import mir.entity.EntityList; +import mir.entity.StorableObjectEntity; +import mir.misc.HTMLTemplateProcessor; +import mir.misc.Logfile; +import mir.misc.StringUtil; +import mir.storage.store.ObjectStore; +import mir.storage.store.StorableObject; +import mir.storage.store.StoreContainerType; +import mir.storage.store.StoreIdentifier; +import mir.storage.store.StoreUtil; +import mir.util.JDBCStringRoutines; + +import com.codestudio.util.SQLManager; + +import freemarker.template.SimpleHash; +import freemarker.template.SimpleList; /** @@ -56,12 +76,13 @@ import mir.util.*; * Treiber, Host, User und Passwort, ueber den der Zugriff auf die * Datenbank erfolgt. * - * @version $Id: Database.java,v 1.30 2002/12/28 03:21:38 mh Exp $ + * @version $Id: Database.java,v 1.31 2003/01/25 17:45:19 idfx Exp $ * @author rk * */ public class Database implements StorageObject { + protected MirPropertiesConfiguration configuration; protected String theTable; protected String theCoreTable=null; protected String thePKeyName="id"; @@ -107,34 +128,37 @@ public class Database implements StorageObject { /** - * Kontruktor bekommt den Filenamen des Konfigurationsfiles übergeben. + * Kontruktor bekommt den Filenamen des Konfigurationsfiles ?bergeben. * Aus diesem file werden Database.Logfile, * Database.Username,Database.Password, * Database.Host und Database.Adaptor - * ausgelesen und ein Broker für die Verbindugen zur Datenbank + * ausgelesen und ein Broker f?r die Verbindugen zur Datenbank * erzeugt. * * @param String confFilename Dateiname der Konfigurationsdatei */ - public Database() throws StorageObjectException { - theLog = Logfile.getInstance(MirConfig.getProp("Home")+ - MirConfig.getProp("Database.Logfile")); - String theAdaptorName=MirConfig.getProp("Database.Adaptor"); - defaultLimit = Integer.parseInt(MirConfig.getProp("Database.Limit")); + public Database() throws StorageObjectFailure { + try { + configuration = MirPropertiesConfiguration.instance(); + } catch (PropertiesConfigExc e) { + throw new StorageObjectFailure(e); + } + theLog = Logfile.getInstance(configuration.getStringWithHome("Database.Logfile")); + String theAdaptorName=configuration.getString("Database.Adaptor"); + defaultLimit = Integer.parseInt(configuration.getString("Database.Limit")); try { theEntityClass = GENERIC_ENTITY_CLASS; theAdaptor = (DatabaseAdaptor)Class.forName(theAdaptorName).newInstance(); } catch (Exception e){ theLog.printError("Error in Database() constructor with "+ theAdaptorName + " -- " +e.getMessage()); - throw new StorageObjectException("Error in Database() constructor with " - +e.getMessage()); + throw new StorageObjectFailure("Error in Database() constructor.",e); } } /** - * Liefert die Entity-Klasse zurück, in der eine Datenbankzeile gewrappt - * wird. Wird die Entity-Klasse durch die erbende Klasse nicht überschrieben, + * Liefert die Entity-Klasse zur?ck, in der eine Datenbankzeile gewrappt + * wird. Wird die Entity-Klasse durch die erbende Klasse nicht ?berschrieben, * wird eine mir.entity.GenericEntity erzeugt. * * @return Class-Objekt der Entity @@ -144,18 +168,18 @@ public class Database implements StorageObject { } /** - * Liefert die Standardbeschränkung von select-Statements zurück, also - * wieviel Datensätze per Default selektiert werden. + * Liefert die Standardbeschr?nkung von select-Statements zur?ck, also + * wieviel Datens?tze per Default selektiert werden. * - * @return Standard-Anzahl der Datensätze + * @return Standard-Anzahl der Datens?tze */ public int getLimit () { return defaultLimit; } /** - * Liefert den Namen des Primary-Keys zurück. Wird die Variable nicht von - * der erbenden Klasse überschrieben, so ist der Wert PKEY + * Liefert den Namen des Primary-Keys zur?ck. Wird die Variable nicht von + * der erbenden Klasse ?berschrieben, so ist der Wert PKEY * @return Name des Primary-Keys */ public String getIdName () { @@ -189,7 +213,7 @@ public class Database implements StorageObject { * @return int-Array mit den Typen der Felder * @exception StorageObjectException */ - public int[] getTypes () throws StorageObjectException { + public int[] getTypes () throws StorageObjectFailure { if (metadataTypes == null) get_meta_data(); return metadataTypes; @@ -200,7 +224,7 @@ public class Database implements StorageObject { * @return ArrayListe mit Labeln * @exception StorageObjectException */ - public ArrayList getLabels () throws StorageObjectException { + public ArrayList getLabels () throws StorageObjectFailure { if (metadataLabels == null) get_meta_data(); return metadataLabels; @@ -211,7 +235,7 @@ public class Database implements StorageObject { * @return ArrayList mit Feldern * @exception StorageObjectException */ - public ArrayList getFields () throws StorageObjectException { + public ArrayList getFields () throws StorageObjectFailure { if (metadataFields == null) get_meta_data(); return metadataFields; @@ -225,7 +249,8 @@ public class Database implements StorageObject { * @return liefert den Wert als String zurueck. Wenn keine Umwandlung moeglich * dann /unsupported value/ */ - private String getValueAsString (ResultSet rs, int valueIndex, int aType) throws StorageObjectException { + private String getValueAsString (ResultSet rs, int valueIndex, int aType) + throws StorageObjectFailure { String outValue = null; if (rs != null) { try { @@ -298,8 +323,7 @@ public class Database implements StorageObject { " (" + aType + ")"); } } catch (SQLException e) { - throw new StorageObjectException("Could not get Value out of Resultset -- " - + e.getMessage()); + throw new StorageObjectFailure("Could not get Value out of Resultset -- ",e); } } return outValue; @@ -310,10 +334,10 @@ public class Database implements StorageObject { * @param id Primaerschluessel des Datensatzes. * @return liefert EntityObject des gefundenen Datensatzes oder null. */ - public Entity selectById(String id) throws StorageObjectException - { + public Entity selectById(String id) + throws StorageObjectExc { if (id==null||id.equals("")) - throw new StorageObjectException("id war null"); + throw new StorageObjectExc("id war null"); // ask object store for object if ( StoreUtil.implementsStorableObject(theEntityClass) ) { @@ -365,7 +389,7 @@ public class Database implements StorageObject { * @return EntityList mit den gematchten Entities */ public EntityList selectByFieldValue(String aField, String aValue) - throws StorageObjectException + throws StorageObjectFailure { return selectByFieldValue(aField, aValue, 0); } @@ -378,14 +402,14 @@ public class Database implements StorageObject { * @return EntityList mit den gematchten Entities */ public EntityList selectByFieldValue(String aField, String aValue, int offset) - throws StorageObjectException + throws StorageObjectFailure { return selectByWhereClause(aField + "=" + aValue, offset); } /** - * select-Operator liefert eine EntityListe mit den gematchten Datensätzen zurück. + * select-Operator liefert eine EntityListe mit den gematchten Datens?tzen zur?ck. * Also offset wird der erste Datensatz genommen. * * @param wc where-Clause @@ -393,14 +417,14 @@ public class Database implements StorageObject { * @exception StorageObjectException */ public EntityList selectByWhereClause(String where) - throws StorageObjectException + throws StorageObjectFailure { return selectByWhereClause(where, 0); } /** - * select-Operator liefert eine EntityListe mit den gematchten Datensätzen zurück. + * select-Operator liefert eine EntityListe mit den gematchten Datens?tzen zur?ck. * Als maximale Anzahl wird das Limit auf der Konfiguration genommen. * * @param wc where-Clause @@ -409,14 +433,14 @@ public class Database implements StorageObject { * @exception StorageObjectException */ public EntityList selectByWhereClause(String whereClause, int offset) - throws StorageObjectException + throws StorageObjectFailure { return selectByWhereClause(whereClause, null, offset); } /** - * select-Operator liefert eine EntityListe mit den gematchten Datensätzen zurück. + * select-Operator liefert eine EntityListe mit den gematchten Datens?tzen zur?ck. * Also offset wird der erste Datensatz genommen. * Als maximale Anzahl wird das Limit auf der Konfiguration genommen. * @@ -427,13 +451,13 @@ public class Database implements StorageObject { */ public EntityList selectByWhereClause(String where, String order) - throws StorageObjectException { + throws StorageObjectFailure { return selectByWhereClause(where, order, 0); } /** - * select-Operator liefert eine EntityListe mit den gematchten Datensätzen zurück. + * select-Operator liefert eine EntityListe mit den gematchten Datens?tzen zur?ck. * Als maximale Anzahl wird das Limit auf der Konfiguration genommen. * * @param wc where-Clause @@ -444,24 +468,24 @@ public class Database implements StorageObject { */ public EntityList selectByWhereClause(String whereClause, String orderBy, int offset) - throws StorageObjectException { + throws StorageObjectFailure { return selectByWhereClause(whereClause, orderBy, offset, defaultLimit); } /** - * select-Operator liefert eine EntityListe mit den gematchten Datensätzen zurück. + * select-Operator liefert eine EntityListe mit den gematchten Datens?tzen zur?ck. * @param wc where-Clause * @param ob orderBy-Clause * @param offset ab welchem Datensatz - * @param limit wieviele Datensätze + * @param limit wieviele Datens?tze * @return EntityList mit den gematchten Entities * @exception StorageObjectException */ public EntityList selectByWhereClause(String wc, String ob, int offset, int limit) throws - StorageObjectException { + StorageObjectFailure { // check o_store for entitylist if (StoreUtil.implementsStorableObject(theEntityClass)) { @@ -591,7 +615,7 @@ public class Database implements StorageObject { * @return Entity Die Entity. */ private Entity makeEntityFromResultSet (ResultSet rs) - throws StorageObjectException + throws StorageObjectFailure { /** @todo OS: get Pkey from ResultSet and consult ObjectStore */ HashMap theResultHash = new HashMap(); @@ -656,13 +680,13 @@ public class Database implements StorageObject { } /** - * insert-Operator: fügt eine Entity in die Tabelle ein. Eine Spalte WEBDB_CREATE + * insert-Operator: f?gt eine Entity in die Tabelle ein. Eine Spalte WEBDB_CREATE * wird automatisch mit dem aktuellen Datum gefuellt. * * @param theEntity - * @return der Wert des Primary-keys der eingefügten Entity + * @return der Wert des Primary-keys der eingef?gten Entity */ - public String insert (Entity theEntity) throws StorageObjectException { + public String insert (Entity theEntity) throws StorageObjectFailure { //cache invalidatePopupCache(); @@ -760,7 +784,7 @@ public class Database implements StorageObject { * * @param theEntity */ - public void update (Entity theEntity) throws StorageObjectException + public void update (Entity theEntity) throws StorageObjectFailure { Connection con = null; PreparedStatement pstmt = null; /** @todo this is stupid: why do we prepare statement, when we @@ -829,7 +853,7 @@ public class Database implements StorageObject { Timestamp tStamp = new Timestamp(d.getTime()); sql.append(",webdb_create='"+tStamp.toString()+"'"); } catch (ParseException e) { - throw new StorageObjectException(e.getMessage()); + throw new StorageObjectFailure(e); } } } @@ -871,7 +895,7 @@ public class Database implements StorageObject { * @param id des zu loeschenden Datensatzes * @return boolean liefert true zurueck, wenn loeschen erfolgreich war. */ - public boolean delete (String id) throws StorageObjectException { + public boolean delete (String id) throws StorageObjectFailure { invalidatePopupCache(); // ostore send notification @@ -913,7 +937,7 @@ public class Database implements StorageObject { * eine SimpleList mit Standard-Popupdaten erzeugt werden koennen soll. * @return null */ - public SimpleList getPopupData () throws StorageObjectException { + public SimpleList getPopupData () throws StorageObjectFailure { return null; } @@ -924,7 +948,7 @@ public class Database implements StorageObject { * @return SimpleList Gibt freemarker.template.SimpleList zurueck. */ public SimpleList getPopupData (String name, boolean hasNullValue) - throws StorageObjectException { + throws StorageObjectFailure { return getPopupData(name, hasNullValue, null); } @@ -935,7 +959,7 @@ public class Database implements StorageObject { * @param where Schraenkt die Selektion der Datensaetze ein. * @return SimpleList Gibt freemarker.template.SimpleList zurueck. */ - public SimpleList getPopupData (String name, boolean hasNullValue, String where) throws StorageObjectException { + public SimpleList getPopupData (String name, boolean hasNullValue, String where) throws StorageObjectFailure { return getPopupData(name, hasNullValue, where, null); } @@ -947,7 +971,7 @@ public class Database implements StorageObject { * @param order Gibt ein Feld als Sortierkriterium an. * @return SimpleList Gibt freemarker.template.SimpleList zurueck. */ - public SimpleList getPopupData (String name, boolean hasNullValue, String where, String order) throws StorageObjectException { + public SimpleList getPopupData (String name, boolean hasNullValue, String where, String order) throws StorageObjectFailure { // caching if (hasPopupCache && popupCache != null) return popupCache; @@ -970,7 +994,7 @@ public class Database implements StorageObject { con = getPooledCon(); } catch (Exception e) { - throw new StorageObjectException(e.getMessage()); + throw new StorageObjectFailure(e); } try { stmt = con.createStatement(); @@ -994,7 +1018,7 @@ public class Database implements StorageObject { } catch (Exception e) { theLog.printError("getPopupData: "+e.getMessage()); - throw new StorageObjectException(e.toString()); + throw new StorageObjectFailure(e); } finally { freeConnection(con, stmt); @@ -1018,7 +1042,7 @@ public class Database implements StorageObject { hashCache = HTMLTemplateProcessor.makeSimpleHash(selectByWhereClause("", -1)); } - catch (StorageObjectException e) { + catch (StorageObjectFailure e) { theLog.printDebugInfo(e.getMessage()); } } @@ -1041,7 +1065,7 @@ public class Database implements StorageObject { * @exception StorageObjectException */ public ResultSet executeSql (Statement stmt, String sql) - throws StorageObjectException, SQLException + throws StorageObjectFailure, SQLException { long startTime = System.currentTimeMillis(); ResultSet rs; @@ -1066,7 +1090,7 @@ public class Database implements StorageObject { * @exception StorageObjectException, SQLException */ public ResultSet executeSql (PreparedStatement stmt) - throws StorageObjectException, SQLException { + throws StorageObjectFailure, SQLException { long startTime = (new java.util.Date()).getTime(); ResultSet rs = stmt.executeQuery(); @@ -1078,7 +1102,7 @@ public class Database implements StorageObject { * returns the number of rows in the table */ public int getSize(String where) - throws SQLException,StorageObjectException + throws SQLException,StorageObjectFailure { long startTime = System.currentTimeMillis(); String sql = "SELECT Count(*) FROM "+ theTable; @@ -1108,7 +1132,7 @@ public class Database implements StorageObject { } public int executeUpdate(Statement stmt, String sql) - throws StorageObjectException, SQLException + throws StorageObjectFailure, SQLException { int rs; long startTime = (new java.util.Date()).getTime(); @@ -1126,7 +1150,7 @@ public class Database implements StorageObject { return rs; } - public int executeUpdate(String sql) throws StorageObjectException, SQLException + public int executeUpdate(String sql) throws StorageObjectFailure, SQLException { int result=-1; long startTime = (new java.util.Date()).getTime(); @@ -1139,7 +1163,7 @@ public class Database implements StorageObject { } catch (Exception e) { theLog.printDebugInfo("executeUpdate failed: "+e.getMessage()); - throw new StorageObjectException("executeUpdate failed: "+e.getMessage()); + throw new StorageObjectFailure("executeUpdate failed",e); } finally { freeConnection(con,pstmt); @@ -1154,7 +1178,7 @@ public class Database implements StorageObject { * @exception StorageObjectException */ private void evalMetaData (ResultSetMetaData md) - throws StorageObjectException { + throws StorageObjectFailure { this.evaluatedMetaData = true; this.metadataFields = new ArrayList(); @@ -1174,7 +1198,7 @@ public class Database implements StorageObject { if (aField.equals(thePKeyName)) { thePKeyType = aType; thePKeyIndex = i; } - if (md.isNullable(i) == md.columnNullable) { + if (md.isNullable(i) == ResultSetMetaData.columnNullable) { metadataNotNullFields.add(aField); } } @@ -1187,7 +1211,7 @@ public class Database implements StorageObject { * Wertet die Metadaten eines Resultsets fuer eine Tabelle aus, * um die alle Columns und Typen einer Tabelle zu ermitteln. */ - private void get_meta_data () throws StorageObjectException { + private void get_meta_data () throws StorageObjectFailure { Connection con = null; PreparedStatement pstmt = null; String sql = "select * from " + theTable + " where 0=1"; @@ -1206,7 +1230,7 @@ public class Database implements StorageObject { } - public Connection getPooledCon() throws StorageObjectException { + public Connection getPooledCon() throws StorageObjectFailure { /* @todo , doublecheck but I'm pretty sure that this is unnecessary. -mh try{ Class.forName("com.codestudio.sql.PoolMan").newInstance(); @@ -1222,14 +1246,14 @@ public class Database implements StorageObject { catch(SQLException e){ theLog.printError("could not connect to the database "+e.getMessage()); System.err.println("could not connect to the database "+e.getMessage()); - throw new StorageObjectException("Could not connect to the database"+ e.getMessage()); + throw new StorageObjectFailure("Could not connect to the database",e); } return con; } - public void freeConnection (Connection con, Statement stmt) throws StorageObjectException { - SQLManager.getInstance().closeStatement(stmt); + public void freeConnection (Connection con, Statement stmt) throws StorageObjectFailure { + SQLManager.closeStatement(stmt); SQLManager.getInstance().returnConnection(con); } @@ -1239,7 +1263,8 @@ public class Database implements StorageObject { * @param wo Funktonsname, in der die SQLException geworfen wurde * @exception StorageObjectException */ - protected void throwSQLException (SQLException sqe, String wo) throws StorageObjectException { + protected void throwSQLException (SQLException sqe, String wo) + throws StorageObjectFailure { String state = ""; String message = ""; int vendor = 0; @@ -1250,20 +1275,21 @@ public class Database implements StorageObject { } theLog.printError(state + ": " + vendor + " : " + message + " Funktion: " + wo); - throw new StorageObjectException((sqe == null) ? "undefined sql exception" : - sqe.getMessage()); + throw new StorageObjectFailure( + (sqe == null) ? "undefined sql exception" :sqe.getMessage(),sqe + ); } protected void _throwStorageObjectException (Exception e, String wo) - throws StorageObjectException { + throws StorageObjectFailure { if (e != null) { theLog.printError(e.getMessage()+ wo); - throw new StorageObjectException(wo + e.getMessage()); + throw new StorageObjectFailure(wo, e); } else { theLog.printError(wo); - throw new StorageObjectException(wo); + throw new StorageObjectFailure(wo,null); } } @@ -1275,7 +1301,7 @@ public class Database implements StorageObject { * @exception StorageObjectException */ void throwStorageObjectException (String message) - throws StorageObjectException { + throws StorageObjectFailure { _throwStorageObjectException(null, message); } diff --git a/source/mir/storage/DatabaseAdaptor.java b/source/mir/storage/DatabaseAdaptor.java index 16d42f0c..cc8e4e9b 100755 --- a/source/mir/storage/DatabaseAdaptor.java +++ b/source/mir/storage/DatabaseAdaptor.java @@ -31,17 +31,19 @@ package mir.storage; -import java.util.*; +import java.util.Properties; + +import mir.config.MirPropertiesConfiguration.PropertiesConfigExc; /** - * Interfacedefinition für Datenbank-Adpatoren. Die Adaptoren legen - * jeweils das Verhalten und die Befehlsmächtigkeit der Datenbank + * Interfacedefinition f?r Datenbank-Adpatoren. Die Adaptoren legen + * jeweils das Verhalten und die Befehlsm?chtigkeit der Datenbank * fest. * * @author * - * @version $Id: DatabaseAdaptor.java,v 1.3 2002/12/14 01:37:43 zapata Exp $ + * @version $Id: DatabaseAdaptor.java,v 1.4 2003/01/25 17:45:19 idfx Exp $ */ public interface DatabaseAdaptor{ @@ -49,28 +51,29 @@ public interface DatabaseAdaptor{ /* Liefert den Namen der Adaptorklasse * @return Adaptorklasse als String */ - public abstract String getDriver(); + public abstract String getDriver() throws PropertiesConfigExc; /** - * Liefert die URL für JDBC zurück, in den die Parameter user, pass und host - * eingefügt werden. Die URL wird aus der Konfiguration geholt. + * Liefert die URL f?r JDBC zur?ck, in den die Parameter user, pass und host + * eingef?gt werden. Die URL wird aus der Konfiguration geholt. * * @param user user als String * @param pass passwort als String * @param host host als String * @return url als String */ - public abstract String getURL(String user, String pass, String host); + public abstract String getURL(String user, String pass, String host) + throws PropertiesConfigExc; /** - * Gibt zurück, ob das SQL der Datenbank den limit-Befehl beherrscht. + * Gibt zur?ck, ob das SQL der Datenbank den limit-Befehl beherrscht. * @return true wenn ja, sonst false */ public abstract boolean hasLimit(); /** - * Liefert zurück, ob der limit-Befehl erst start und dann offset - * hat (true), oder umgekehrt. Nur Relevant, wenn hasLimit true zurückliefert. + * Liefert zur?ck, ob der limit-Befehl erst start und dann offset + * hat (true), oder umgekehrt. Nur Relevant, wenn hasLimit true zur?ckliefert. * * @return true wenn erstes, sonst false */ @@ -85,11 +88,11 @@ public interface DatabaseAdaptor{ public abstract Properties getProperties(String user, String password); /** - * Gibt SQL-Stringfragment zurück, mit dem nach einem insert-Befehl ermittelt - * werden kann, wie man den primary-Key des eingefügten Datensatzes bekommt. + * Gibt SQL-Stringfragment zur?ck, mit dem nach einem insert-Befehl ermittelt + * werden kann, wie man den primary-Key des eingef?gten Datensatzes bekommt. * * @param theDB Database-Objekt, aus dem ggf. noetige Informationen geholt - * werden können, wie z.B. der Tabellenname + * werden k?nnen, wie z.B. der Tabellenname * @return SQL-Statement als String */ public abstract String getLastInsertSQL(Database theDB); diff --git a/source/mir/storage/DatabaseAdaptorMySQL.java b/source/mir/storage/DatabaseAdaptorMySQL.java index a21a86db..cd2d17b9 100755 --- a/source/mir/storage/DatabaseAdaptorMySQL.java +++ b/source/mir/storage/DatabaseAdaptorMySQL.java @@ -31,8 +31,10 @@ package mir.storage; -import java.util.*; -import mir.misc.*; +import java.util.Properties; + +import mir.config.MirPropertiesConfiguration; +import mir.config.MirPropertiesConfiguration.PropertiesConfigExc; /** * Diese Klasse implementiert die abstrakte Klasse DatabaseAdaptor @@ -43,12 +45,12 @@ import mir.misc.*; public final class DatabaseAdaptorMySQL implements DatabaseAdaptor{ - public String getDriver() { - return MirConfig.getProp("Adaptor.MySQL.Driver"); + public String getDriver() throws PropertiesConfigExc { + return MirPropertiesConfiguration.instance().getString("Adaptor.MySQL.Driver"); } - public String getURL(String user, String pass, String host) { - return MirConfig.getProp("Adaptor.MySQL.URL"); + public String getURL(String user, String pass, String host) throws PropertiesConfigExc { + return MirPropertiesConfiguration.instance().getString("Adaptor.MySQL.URL"); } public boolean hasLimit() { diff --git a/source/mir/storage/DatabaseAdaptorOracle.java b/source/mir/storage/DatabaseAdaptorOracle.java index 330f224d..d2ef2080 100755 --- a/source/mir/storage/DatabaseAdaptorOracle.java +++ b/source/mir/storage/DatabaseAdaptorOracle.java @@ -36,8 +36,10 @@ package mir.storage; -import java.util.*; -import mir.misc.*; +import java.util.Properties; + +import mir.config.MirPropertiesConfiguration; +import mir.config.MirPropertiesConfiguration.PropertiesConfigExc; /** @@ -51,30 +53,30 @@ public final class DatabaseAdaptorOracle /** * Liefert den Namen der Adaptorklasse Adaptor.Oracle.Driver - * für Oracle zurück. + * f?r Oracle zur?ck. * @return Adaptorklasse als String */ - public String getDriver() { - return MirConfig.getProp("Adaptor.Oracle.Driver"); + public String getDriver() throws PropertiesConfigExc { + return MirPropertiesConfiguration.instance().getString("Adaptor.Oracle.Driver"); } /** - * Liefert die URL für JDBC zurück, in den die Parameter user, pass und host - * eingefügt werden. Die URL wird aus der Konfiguration geholt. + * Liefert die URL f?r JDBC zur?ck, in den die Parameter user, pass und host + * eingef?gt werden. Die URL wird aus der Konfiguration geholt. * * @param user user als String * @param pass passwort als String * @param host host als String * @return url als String */ - public String getURL(String user, String pass, String host) { - return MirConfig.getProp("Adaptor.Oracle.URL"); + public String getURL(String user, String pass, String host) throws PropertiesConfigExc { + return MirPropertiesConfiguration.instance().getString("Adaptor.Oracle.URL"); /** @todo hier muesste bessererweise $HOST durch HOST ersetzt, etc. werden */ } /** - * Gibt zurück, ob das SQL der Datenbank den limit-Befehl beherrscht. + * Gibt zur?ck, ob das SQL der Datenbank den limit-Befehl beherrscht. * @return false */ public boolean hasLimit() { @@ -82,8 +84,8 @@ public final class DatabaseAdaptorOracle } /** - * Liefert zurück, ob der limit-Befehl erst start und dann offset - * hat (true), oder umgekehrt. Nur Relevant, wenn hasLimit true zurückliefert. + * Liefert zur?ck, ob der limit-Befehl erst start und dann offset + * hat (true), oder umgekehrt. Nur Relevant, wenn hasLimit true zur?ckliefert. * * @return false */ diff --git a/source/mir/storage/DatabaseAdaptorPostgresql.java b/source/mir/storage/DatabaseAdaptorPostgresql.java index fb45b7db..c6de6926 100755 --- a/source/mir/storage/DatabaseAdaptorPostgresql.java +++ b/source/mir/storage/DatabaseAdaptorPostgresql.java @@ -31,11 +31,13 @@ package mir.storage; -import java.util.*; -import mir.misc.*; +import java.util.Properties; + +import mir.config.MirPropertiesConfiguration; +import mir.config.MirPropertiesConfiguration.PropertiesConfigExc; /** - * Diese Klasse implementiert die abstrakte Klasse DatabaseAdaptor für Postgresql-Datenbanken + * Diese Klasse implementiert die abstrakte Klasse DatabaseAdaptor f?r Postgresql-Datenbanken * * @author * @version 30.12.2000 @@ -43,12 +45,12 @@ import mir.misc.*; public final class DatabaseAdaptorPostgresql implements DatabaseAdaptor{ - public String getDriver() { - return MirConfig.getProp("Adaptor.PostgreSQL.Driver"); + public String getDriver() throws PropertiesConfigExc { + return MirPropertiesConfiguration.instance().getString("Adaptor.PostgreSQL.Driver"); } - public String getURL(String user, String pass, String host) { - return MirConfig.getProp("Adaptor.PostgreSQL.URL"); + public String getURL(String user, String pass, String host) throws PropertiesConfigExc { + return MirPropertiesConfiguration.instance().getString("Adaptor.PostgreSQL.URL"); } public boolean hasLimit() { diff --git a/source/mir/storage/DatabaseAdaptorSybase.java b/source/mir/storage/DatabaseAdaptorSybase.java index 91ac1b97..b5cd2038 100755 --- a/source/mir/storage/DatabaseAdaptorSybase.java +++ b/source/mir/storage/DatabaseAdaptorSybase.java @@ -29,15 +29,17 @@ * not wish to do so, delete this exception statement from your version. */ /* - * Implementiert DatabaseAdaptor Interface für Sybase. + * Implementiert DatabaseAdaptor Interface f?r Sybase. */ package mir.storage; -import java.util.*; -import mir.misc.*; +import java.util.Properties; + +import mir.config.MirPropertiesConfiguration; +import mir.config.MirPropertiesConfiguration.PropertiesConfigExc; /** @@ -50,29 +52,29 @@ public final class DatabaseAdaptorSybase implements DatabaseAdaptor { /** * Liefert den Namen der Adaptorklasse Adaptor.Sybase.Driver - * für Sybase zurück. + * f?r Sybase zur?ck. * @return Adaptorklasse als String */ - public String getDriver() { - return MirConfig.getProp("Adaptor.Sybase.Driver"); + public String getDriver() throws PropertiesConfigExc { + return MirPropertiesConfiguration.instance().getString("Adaptor.Sybase.Driver"); } /** - * Liefert die URL für JDBC zurück, in den die Parameter user, pass und host - * eingefügt werden. Die URL wird aus der Konfiguration geholt. + * Liefert die URL f?r JDBC zur?ck, in den die Parameter user, pass und host + * eingef?gt werden. Die URL wird aus der Konfiguration geholt. * * @param user user als String * @param pass passwort als String * @param host host als String * @return url als String */ - public String getURL(String user, String pass, String host) { - return MirConfig.getProp("Adaptor.Sybase.URL"); + public String getURL(String user, String pass, String host) throws PropertiesConfigExc { + return MirPropertiesConfiguration.instance().getString("Adaptor.Sybase.URL"); /** @todo hier muesste bessererweise $HOST durch HOST ersetzt, etc. werden */ } /** - * Gibt zurück, ob das SQL der Datenbank den limit-Befehl beherrscht. + * Gibt zur?ck, ob das SQL der Datenbank den limit-Befehl beherrscht. * @return false */ public boolean hasLimit() { @@ -80,8 +82,8 @@ public final class DatabaseAdaptorSybase implements DatabaseAdaptor { } /** - * Liefert zurück, ob der limit-Befehl erst start und dann offset - * hat (true), oder umgekehrt. Nur Relevant, wenn hasLimit true zurückliefert. + * Liefert zur?ck, ob der limit-Befehl erst start und dann offset + * hat (true), oder umgekehrt. Nur Relevant, wenn hasLimit true zur?ckliefert. * * @return false */ diff --git a/source/mir/storage/DatabaseCache.java b/source/mir/storage/DatabaseCache.java index 8e63f63b..5740525f 100755 --- a/source/mir/storage/DatabaseCache.java +++ b/source/mir/storage/DatabaseCache.java @@ -31,7 +31,7 @@ package mir.storage; -import java.util.*; +import java.util.ArrayList; public class DatabaseCache { private final ArrayList _cache; diff --git a/source/mir/storage/StorageObject.java b/source/mir/storage/StorageObject.java index b5752e44..b39b28bd 100755 --- a/source/mir/storage/StorageObject.java +++ b/source/mir/storage/StorageObject.java @@ -29,23 +29,28 @@ * not wish to do so, delete this exception statement from your version. */ /* - * Implementiert Interface für die Speicherschicht. - * Bislang gibt es in der Bibliothek nur die Möglichkeit + * Implementiert Interface f?r die Speicherschicht. + * Bislang gibt es in der Bibliothek nur die M?glichkeit * in einer Datenbank zu speichern. */ package mir.storage; -import java.lang.*; -import java.util.*; -import java.sql.*; -import freemarker.template.*; -import mir.entity.*; +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.ArrayList; + +import mir.entity.Entity; +import mir.entity.EntityList; +import freemarker.template.SimpleHash; +import freemarker.template.SimpleList; /** - * Implementiert Interface für die Speicherschicht. - * Bislang gibt es in der Bibliothek nur die Möglichkeit + * Implementiert Interface f?r die Speicherschicht. + * Bislang gibt es in der Bibliothek nur die M?glichkeit * in einer Datenbank zu speichern. * @author RK * @version 29.6.1999 @@ -58,7 +63,7 @@ public interface StorageObject { * @return Entity * @exception StorageObjectException */ - abstract public Entity selectById(String id) throws StorageObjectException; + abstract public Entity selectById(String id) throws StorageObjectExc; /** * Dokumentation siehe Database.java @@ -68,7 +73,7 @@ public interface StorageObject { * @exception StorageObjectException */ abstract public EntityList selectByFieldValue(String aField, String aValue) throws - StorageObjectException; + StorageObjectFailure; /** * Dokumentation siehe Database.java @@ -77,7 +82,7 @@ public interface StorageObject { * @exception StorageObjectException */ abstract public EntityList selectByWhereClause(String whereClause) throws - StorageObjectException; + StorageObjectFailure; /** * Dokumentation siehe Database.java @@ -87,7 +92,7 @@ public interface StorageObject { * @exception StorageObjectException */ abstract public EntityList selectByWhereClause(String whereClause, int offset) throws - StorageObjectException; + StorageObjectFailure; /** * Dokumentation siehe Database.java @@ -100,7 +105,7 @@ public interface StorageObject { abstract public EntityList selectByWhereClause(String whereClause, String orderBy, int offset) throws - StorageObjectException; + StorageObjectFailure; /** * Dokumentation siehe Database.java @@ -114,7 +119,7 @@ public interface StorageObject { abstract public EntityList selectByWhereClause(String whereClause, String orderBy, int offset, int limit) throws - StorageObjectException; + StorageObjectFailure; /** * Dokumentation siehe Database.java @@ -122,35 +127,35 @@ public interface StorageObject { * @return boolen * @exception StorageObjectException */ - abstract public boolean delete(String id) throws StorageObjectException; + abstract public boolean delete(String id) throws StorageObjectFailure; /** * Dokumentation siehe Database.java * @return ArrayList * @exception StorageObjectException */ - abstract public ArrayList getFields() throws StorageObjectException; + abstract public ArrayList getFields() throws StorageObjectFailure; /** * Dokumentation siehe Database.java * @return int[] * @exception StorageObjectException */ - abstract public int[] getTypes() throws StorageObjectException; + abstract public int[] getTypes() throws StorageObjectFailure; /** * Dokumentation siehe Database.java * @return ArrayList * @exception StorageObjectException */ - abstract public ArrayList getLabels() throws StorageObjectException; + abstract public ArrayList getLabels() throws StorageObjectFailure; /** * Dokumentation siehe Database.java * @param a * @exception StorageObjectException */ - abstract public void update(Entity a) throws StorageObjectException; + abstract public void update(Entity a) throws StorageObjectFailure; /** * Dokumentation siehe Database.java @@ -158,7 +163,7 @@ public interface StorageObject { * @return String id * @exception StorageObjectException */ - abstract public String insert(Entity a) throws StorageObjectException; + abstract public String insert(Entity a) throws StorageObjectFailure; /** * Dokumentation siehe Database.java @@ -189,7 +194,7 @@ public interface StorageObject { * @return Connection * @exception StorageObjectException */ - abstract public Connection getPooledCon() throws StorageObjectException; + abstract public Connection getPooledCon() throws StorageObjectFailure; /** * Dokumentation siehe Database.java @@ -199,7 +204,7 @@ public interface StorageObject { * @exception StorageObjectException, SQLException */ abstract public ResultSet executeSql(Statement a, String sql) throws - StorageObjectException, + StorageObjectFailure, SQLException; /** @@ -208,22 +213,22 @@ public interface StorageObject { * @param stmt */ abstract public void freeConnection(Connection con, Statement stmt) throws - StorageObjectException; + StorageObjectFailure; /** * Dokumentation siehe Database.java * @return */ - abstract public SimpleList getPopupData() throws StorageObjectException; + abstract public SimpleList getPopupData() throws StorageObjectFailure; abstract public int executeUpdate(Statement a, String sql) throws - StorageObjectException, SQLException; + StorageObjectFailure, SQLException; - abstract public int executeUpdate(String sql) throws StorageObjectException, + abstract public int executeUpdate(String sql) throws StorageObjectFailure, SQLException; abstract public int getSize(String where) throws SQLException, - StorageObjectException; + StorageObjectFailure; } diff --git a/source/mir/storage/store/ObjectStore.java b/source/mir/storage/store/ObjectStore.java index 1d93f22a..10191ffe 100755 --- a/source/mir/storage/store/ObjectStore.java +++ b/source/mir/storage/store/ObjectStore.java @@ -61,13 +61,18 @@ package mir.storage.store; * @version 1.0 */ -import java.util.*; import java.io.BufferedInputStream; import java.io.FileInputStream; -import javax.servlet.http.*; -import javax.servlet.*; +import java.util.HashMap; +import java.util.Iterator; +import java.util.MissingResourceException; +import java.util.Properties; + +import javax.servlet.http.HttpServletRequest; + +import mir.config.MirPropertiesConfiguration; +import mir.config.MirPropertiesConfiguration.PropertiesConfigExc; import mir.misc.Logfile; -import mir.misc.MirConfig; public class ObjectStore { @@ -78,7 +83,14 @@ public class ObjectStore { private Properties ostoreConf; private ObjectStore() { - String confName=MirConfig.getProp("Home")+"etc/objectstore.properties"; + String confName = null; + try { + confName = + MirPropertiesConfiguration.instance().getString("Home") + + "etc/objectstore.properties"; + } catch (PropertiesConfigExc e) { + e.printStackTrace(System.err); + } Properties conf = new Properties(); try { conf.load( new BufferedInputStream(new FileInputStream(confName))); diff --git a/source/mir/storage/store/ServletStoreInfo.java b/source/mir/storage/store/ServletStoreInfo.java index 7bd43b04..0ef6bdb5 100755 --- a/source/mir/storage/store/ServletStoreInfo.java +++ b/source/mir/storage/store/ServletStoreInfo.java @@ -41,9 +41,14 @@ package mir.storage.store; * @version 1.0 */ -import java.io.*; -import javax.servlet.http.*; -import javax.servlet.*; +import java.io.IOException; +import java.io.PrintWriter; + +import javax.servlet.ServletException; +import javax.servlet.UnavailableException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; public class ServletStoreInfo extends HttpServlet { diff --git a/source/mir/storage/store/StorableObject.java b/source/mir/storage/store/StorableObject.java index 79dc887b..8bc6958c 100755 --- a/source/mir/storage/store/StorableObject.java +++ b/source/mir/storage/store/StorableObject.java @@ -41,7 +41,7 @@ package mir.storage.store; * @version 1.0 */ -import java.util.*; +import java.util.Set; public interface StorableObject { diff --git a/source/mir/storage/store/StoreContainer.java b/source/mir/storage/store/StoreContainer.java index 914277b4..50ef79dc 100755 --- a/source/mir/storage/store/StoreContainer.java +++ b/source/mir/storage/store/StoreContainer.java @@ -46,9 +46,13 @@ package mir.storage.store; * @version 1.0 */ -import java.util.*; -import javax.servlet.http.*; -import mir.misc.*; +import java.util.LinkedList; +import java.util.ListIterator; + +import javax.servlet.http.HttpServletRequest; + +import mir.misc.Logfile; +import mir.misc.StringUtil; public class StoreContainer { diff --git a/source/mir/storage/store/StoreContainerType.java b/source/mir/storage/store/StoreContainerType.java index 8842d688..657f20e1 100755 --- a/source/mir/storage/store/StoreContainerType.java +++ b/source/mir/storage/store/StoreContainerType.java @@ -47,7 +47,9 @@ package mir.storage.store; */ import java.util.HashMap; -import mir.misc.*; + +import mir.misc.Logfile; +import mir.misc.StringUtil; public class StoreContainerType { diff --git a/source/mir/storage/store/StoreIdentifier.java b/source/mir/storage/store/StoreIdentifier.java index dc16529e..74ead5b1 100755 --- a/source/mir/storage/store/StoreIdentifier.java +++ b/source/mir/storage/store/StoreIdentifier.java @@ -43,9 +43,11 @@ package mir.storage.store; * @author rk * @version 1.0 */ -import java.util.*; +import java.util.Iterator; +import java.util.Set; + +import mir.entity.EntityList; import mir.misc.Logfile; -import mir.entity.*; public class StoreIdentifier { diff --git a/source/mir/storage/store/test/EntityC1.java b/source/mir/storage/store/test/EntityC1.java index 2b0415f1..5b9423c3 100755 --- a/source/mir/storage/store/test/EntityC1.java +++ b/source/mir/storage/store/test/EntityC1.java @@ -40,8 +40,12 @@ package mir.storage.store.test; * @version 1.0 */ -import java.util.*; -import mir.storage.store.*; +import java.util.HashSet; +import java.util.Set; + +import mir.storage.store.StorableObject; +import mir.storage.store.StoreContainerType; +import mir.storage.store.StoreIdentifier; public class EntityC1 implements StorableObject { diff --git a/source/mir/storage/store/test/EntityC2.java b/source/mir/storage/store/test/EntityC2.java index baea0892..c232c78a 100755 --- a/source/mir/storage/store/test/EntityC2.java +++ b/source/mir/storage/store/test/EntityC2.java @@ -40,8 +40,11 @@ package mir.storage.store.test; * @version 1.0 */ -import java.util.*; -import mir.storage.store.*; +import java.util.Set; + +import mir.storage.store.StorableObject; +import mir.storage.store.StoreContainerType; +import mir.storage.store.StoreIdentifier; public class EntityC2 implements StorableObject { diff --git a/source/mir/storage/store/test/EntityC3.java b/source/mir/storage/store/test/EntityC3.java index 81e3a8fa..0af33069 100755 --- a/source/mir/storage/store/test/EntityC3.java +++ b/source/mir/storage/store/test/EntityC3.java @@ -40,8 +40,11 @@ package mir.storage.store.test; * @version 1.0 */ -import java.util.*; -import mir.storage.store.*; +import java.util.Set; + +import mir.storage.store.StorableObject; +import mir.storage.store.StoreContainerType; +import mir.storage.store.StoreIdentifier; public class EntityC3 implements StorableObject { diff --git a/source/mir/storage/store/test/TestStore.java b/source/mir/storage/store/test/TestStore.java index 4706e449..574df423 100755 --- a/source/mir/storage/store/test/TestStore.java +++ b/source/mir/storage/store/test/TestStore.java @@ -40,7 +40,9 @@ package mir.storage.store.test; * @version 1.0 */ -import mir.storage.store.*; +import mir.storage.store.ObjectStore; +import mir.storage.store.StorableObject; +import mir.storage.store.StoreIdentifier; public class TestStore { diff --git a/source/mir/util/CachingRewindableIterator.java b/source/mir/util/CachingRewindableIterator.java index e2700f03..8456c759 100755 --- a/source/mir/util/CachingRewindableIterator.java +++ b/source/mir/util/CachingRewindableIterator.java @@ -31,12 +31,9 @@ package mir.util; -import java.util.*; - -import java.util.*; -import mir.storage.*; -import mir.util.*; -import mir.entity.*; +import java.util.Iterator; +import java.util.List; +import java.util.Vector; public class CachingRewindableIterator implements RewindableIterator { private Iterator master; diff --git a/source/mir/util/DateToMapAdapter.java b/source/mir/util/DateToMapAdapter.java index 247ec195..e3b4c967 100755 --- a/source/mir/util/DateToMapAdapter.java +++ b/source/mir/util/DateToMapAdapter.java @@ -31,10 +31,14 @@ package mir.util; -import java.util.*; -import java.text.*; +import java.text.SimpleDateFormat; +import java.util.AbstractMap; +import java.util.Date; +import java.util.GregorianCalendar; +import java.util.HashSet; +import java.util.Set; -import mir.misc.*; +import mir.misc.StringUtil; public class DateToMapAdapter extends AbstractMap { Date date; diff --git a/source/mir/util/FileCopier.java b/source/mir/util/FileCopier.java index 36c59491..6a040da5 100755 --- a/source/mir/util/FileCopier.java +++ b/source/mir/util/FileCopier.java @@ -1,7 +1,9 @@ package mir.util; -import java.io.*; -import java.util.*; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; public class FileCopier { protected static final int FILE_COPY_BUFFER_SIZE = 65536; diff --git a/source/mir/util/FileMonitor.java b/source/mir/util/FileMonitor.java index 322abc17..799d10f4 100755 --- a/source/mir/util/FileMonitor.java +++ b/source/mir/util/FileMonitor.java @@ -31,8 +31,10 @@ package mir.util; -import java.util.*; -import java.io.*; +import java.io.File; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; public class FileMonitor { private Map files; diff --git a/source/mir/util/GeneratorHTMLFunctions.java b/source/mir/util/GeneratorHTMLFunctions.java index c098c272..8afeb232 100755 --- a/source/mir/util/GeneratorHTMLFunctions.java +++ b/source/mir/util/GeneratorHTMLFunctions.java @@ -31,10 +31,11 @@ package mir.util; -import java.util.*; +import java.util.List; -import mir.misc.*; -import mir.generator.*; +import mir.generator.Generator; +import mir.generator.GeneratorExc; +import mir.generator.GeneratorFailure; public class GeneratorHTMLFunctions { private GeneratorHTMLFunctions() {} diff --git a/source/mir/util/GeneratorIntegerFunctions.java b/source/mir/util/GeneratorIntegerFunctions.java index 5a36749d..af9d6539 100755 --- a/source/mir/util/GeneratorIntegerFunctions.java +++ b/source/mir/util/GeneratorIntegerFunctions.java @@ -1,7 +1,10 @@ package mir.util; -import java.util.*; -import mir.generator.*; +import java.util.List; + +import mir.generator.Generator; +import mir.generator.GeneratorExc; +import mir.generator.GeneratorFailure; public class GeneratorIntegerFunctions { diff --git a/source/mir/util/GeneratorListFunctions.java b/source/mir/util/GeneratorListFunctions.java index 19726157..fa7f0c16 100755 --- a/source/mir/util/GeneratorListFunctions.java +++ b/source/mir/util/GeneratorListFunctions.java @@ -31,11 +31,12 @@ package mir.util; -import java.util.*; -import java.net.*; +import java.util.List; +import java.util.Vector; -//import mir.misc.*; -import mir.generator.*; +import mir.generator.Generator; +import mir.generator.GeneratorExc; +import mir.generator.GeneratorFailure; public class GeneratorListFunctions { private GeneratorListFunctions() {} diff --git a/source/mir/util/GeneratorRegularExpressionFunctions.java b/source/mir/util/GeneratorRegularExpressionFunctions.java index 573b2e38..63113613 100755 --- a/source/mir/util/GeneratorRegularExpressionFunctions.java +++ b/source/mir/util/GeneratorRegularExpressionFunctions.java @@ -31,8 +31,11 @@ package mir.util; -import java.util.*; -import mir.generator.*; +import java.util.List; + +import mir.generator.Generator; +import mir.generator.GeneratorExc; +import mir.generator.GeneratorFailure; public class GeneratorRegularExpressionFunctions { diff --git a/source/mir/util/GeneratorStringFunctions.java b/source/mir/util/GeneratorStringFunctions.java index b46101da..6d8b3730 100755 --- a/source/mir/util/GeneratorStringFunctions.java +++ b/source/mir/util/GeneratorStringFunctions.java @@ -31,8 +31,11 @@ package mir.util; -import java.util.*; -import mir.generator.*; +import java.util.List; + +import mir.generator.Generator; +import mir.generator.GeneratorExc; +import mir.generator.GeneratorFailure; public class GeneratorStringFunctions { diff --git a/source/mir/util/HTMLRoutines.java b/source/mir/util/HTMLRoutines.java index 53bced3c..3bb4a1c6 100755 --- a/source/mir/util/HTMLRoutines.java +++ b/source/mir/util/HTMLRoutines.java @@ -31,7 +31,7 @@ package mir.util; -import java.net.*; +import java.net.URLEncoder; public class HTMLRoutines { diff --git a/source/mir/util/HTTPRequestParser.java b/source/mir/util/HTTPRequestParser.java index 62baccdd..5dd2c4e2 100755 --- a/source/mir/util/HTTPRequestParser.java +++ b/source/mir/util/HTTPRequestParser.java @@ -1,7 +1,6 @@ package mir.util; -import javax.servlet.*; -import javax.servlet.http.*; +import javax.servlet.http.HttpServletRequest; public class HTTPRequestParser { private HttpServletRequest request; diff --git a/source/mir/util/NullWriter.java b/source/mir/util/NullWriter.java index c79a75fd..6c7ed900 100755 --- a/source/mir/util/NullWriter.java +++ b/source/mir/util/NullWriter.java @@ -31,7 +31,7 @@ package mir.util; -import java.io.*; +import java.io.Writer; public class NullWriter extends Writer { diff --git a/source/mir/util/ParameterExpander.java b/source/mir/util/ParameterExpander.java index 2418ae30..6f96209f 100755 --- a/source/mir/util/ParameterExpander.java +++ b/source/mir/util/ParameterExpander.java @@ -31,12 +31,16 @@ package mir.util; -import multex.Failure; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Vector; + +import mir.generator.Generator; +import mir.generator.GeneratorExc; import multex.Exc; -import java.util.*; -import mir.generator.*; - public class ParameterExpander { final static String NODE_SEPARATOR = "."; final static char STRING_ESCAPE_CHARACTER = '\\'; diff --git a/source/mir/util/ResourceBundleGeneratorFunction.java b/source/mir/util/ResourceBundleGeneratorFunction.java index 356a140f..5571c310 100755 --- a/source/mir/util/ResourceBundleGeneratorFunction.java +++ b/source/mir/util/ResourceBundleGeneratorFunction.java @@ -31,10 +31,15 @@ package mir.util; -import java.util.*; -import org.apache.struts.util.MessageResources; +import java.util.Iterator; +import java.util.List; +import java.util.Locale; +import java.util.Vector; + +import mir.generator.Generator; +import mir.generator.GeneratorExc; -import mir.generator.*; +import org.apache.struts.util.MessageResources; public class ResourceBundleGeneratorFunction implements Generator.GeneratorFunction { private List messages; diff --git a/source/mir/util/RewindableIterator.java b/source/mir/util/RewindableIterator.java index 9ad09888..10dc1b98 100755 --- a/source/mir/util/RewindableIterator.java +++ b/source/mir/util/RewindableIterator.java @@ -31,7 +31,7 @@ package mir.util; -import java.util.*; +import java.util.Iterator; public interface RewindableIterator extends Iterator { public void rewind(); diff --git a/source/mir/util/SimpleParser.java b/source/mir/util/SimpleParser.java index f8160f11..e95d8ff2 100755 --- a/source/mir/util/SimpleParser.java +++ b/source/mir/util/SimpleParser.java @@ -31,8 +31,9 @@ package mir.util; -import java.util.*; -import gnu.regexp.*; +import gnu.regexp.RE; +import gnu.regexp.REException; +import gnu.regexp.REMatch; import multex.Exc; import multex.Failure; diff --git a/source/mir/util/StringParseRoutines.java b/source/mir/util/StringParseRoutines.java index acd56d6a..2a7af39a 100755 --- a/source/mir/util/StringParseRoutines.java +++ b/source/mir/util/StringParseRoutines.java @@ -31,7 +31,8 @@ package mir.util; -import java.util.*; +import java.util.HashMap; +import java.util.Map; public class StringParseRoutines { diff --git a/source/mir/util/StringRoutines.java b/source/mir/util/StringRoutines.java index ddb6ccbc..8d3ecd35 100755 --- a/source/mir/util/StringRoutines.java +++ b/source/mir/util/StringRoutines.java @@ -31,8 +31,11 @@ package mir.util; -import java.util.*; -import gnu.regexp.*; +import gnu.regexp.RE; +import gnu.regexp.REException; + +import java.util.List; +import java.util.Vector; public class StringRoutines { diff --git a/source/mir/util/SubsetIterator.java b/source/mir/util/SubsetIterator.java index b1204afd..171c681c 100755 --- a/source/mir/util/SubsetIterator.java +++ b/source/mir/util/SubsetIterator.java @@ -31,12 +31,8 @@ package mir.util; -import java.util.*; - -import java.util.*; -import mir.storage.*; -import mir.util.*; -import mir.entity.*; +import java.util.List; +import java.util.NoSuchElementException; public class SubsetIterator implements RewindableIterator { private RewindableIterator master; diff --git a/source/mir/util/URLBuilder.java b/source/mir/util/URLBuilder.java index 940d3bc6..4dd7d180 100755 --- a/source/mir/util/URLBuilder.java +++ b/source/mir/util/URLBuilder.java @@ -1,6 +1,8 @@ package mir.util; -import java.util.*; +import java.util.HashMap; +import java.util.Iterator; +import java.util.Map; public class URLBuilder { private Map keyValues; diff --git a/source/mir/xml/XmlConfigurator.java b/source/mir/xml/XmlConfigurator.java index 861a1fc8..711af695 100755 --- a/source/mir/xml/XmlConfigurator.java +++ b/source/mir/xml/XmlConfigurator.java @@ -31,19 +31,28 @@ package mir.xml; -import java.io.*; -import java.util.*; -import java.lang.reflect.*; -import org.xml.sax.helpers.DefaultHandler; -import org.xml.sax.*; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; + import javax.xml.parsers.ParserConfigurationException; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; - import mir.misc.ConfigException; import mir.misc.Location; +import org.xml.sax.Attributes; +import org.xml.sax.ContentHandler; +import org.xml.sax.InputSource; +import org.xml.sax.Locator; +import org.xml.sax.SAXException; +import org.xml.sax.SAXParseException; +import org.xml.sax.helpers.DefaultHandler; + /** * Configures a based on * a XML config file. diff --git a/source/mir/xml/XmlMatch.java b/source/mir/xml/XmlMatch.java index 398a16c0..7330ac31 100755 --- a/source/mir/xml/XmlMatch.java +++ b/source/mir/xml/XmlMatch.java @@ -31,7 +31,6 @@ package mir.xml; -import java.util.*; import java.util.StringTokenizer; /** micro-XPath match - match a path -- 2.11.0