* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* In addition, as a special exception, The Mir-coders gives permission to link
- * the code of this program with any library licensed under the Apache Software License,
- * The Sun (tm) Java Advanced Imaging library (JAI), The Sun JIMI library
- * (or with modified versions of the above that use the same license as the above),
- * and distribute linked combinations including the two. You must obey the
- * GNU General Public License in all respects for all of the code used other than
- * the above mentioned libraries. If you modify this file, you may extend this
- * exception to your version of the file, but you are not obligated to do so.
+ * the code of this program with any library licensed under the Apache Software License,
+ * The Sun (tm) Java Advanced Imaging library (JAI), The Sun JIMI library
+ * (or with modified versions of the above that use the same license as the above),
+ * and distribute linked combinations including the two. You must obey the
+ * GNU General Public License in all respects for all of the code used other than
+ * the above mentioned libraries. If you modify this file, you may extend this
+ * exception to your version of the file, but you are not obligated to do so.
* If you do not wish to do so, delete this exception statement from your version.
*/
package mircoders.localizer;
import mir.generator.Generator;
import mir.generator.WriterEngine;
-
+import mir.entity.adapter.*;
public class MirCachingLocalizerDecorator implements MirLocalizer {
private MirLocalizer localizer;
public MirDataModelLocalizer dataModel() throws MirLocalizerFailure, MirLocalizerExc {
if (dataModelLocalizer==null) {
- dataModelLocalizer = localizer.dataModel();
+ dataModelLocalizer = new MirCachingDatamodelLocalizer(localizer.dataModel());
}
return dataModelLocalizer;
return adminInterfaceLocalizer;
};
+ private static class MirCachingDatamodelLocalizer implements MirDataModelLocalizer {
+ private MirDataModelLocalizer master;
+ private EntityAdapterModel adapterModel;
+
+ public MirCachingDatamodelLocalizer(MirDataModelLocalizer aMaster) {
+ master = aMaster;
+ adapterModel = null;
+ }
+
+ public EntityAdapterModel makeAdapterModel() throws MirLocalizerExc, MirLocalizerFailure {
+ if (adapterModel==null) {
+ adapterModel = master.makeAdapterModel();
+ }
+
+ return adapterModel;
+ };
+
+ }
+
private static class MirCachingGeneratorLocalizer implements MirGeneratorLocalizer {
private MirGeneratorLocalizer master;
private WriterEngine writerEngine;
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* In addition, as a special exception, The Mir-coders gives permission to link
- * the code of this program with any library licensed under the Apache Software License,
- * The Sun (tm) Java Advanced Imaging library (JAI), The Sun JIMI library
- * (or with modified versions of the above that use the same license as the above),
- * and distribute linked combinations including the two. You must obey the
- * GNU General Public License in all respects for all of the code used other than
- * the above mentioned libraries. If you modify this file, you may extend this
- * exception to your version of the file, but you are not obligated to do so.
+ * the code of this program with any library licensed under the Apache Software License,
+ * The Sun (tm) Java Advanced Imaging library (JAI), The Sun JIMI library
+ * (or with modified versions of the above that use the same license as the above),
+ * and distribute linked combinations including the two. You must obey the
+ * GNU General Public License in all respects for all of the code used other than
+ * the above mentioned libraries. If you modify this file, you may extend this
+ * exception to your version of the file, but you are not obligated to do so.
* If you do not wish to do so, delete this exception statement from your version.
*/
import mir.entity.adapter.EntityAdapterModel;
public interface MirDataModelLocalizer {
- public EntityAdapterModel adapterModel() throws MirLocalizerExc, MirLocalizerFailure;
+ public EntityAdapterModel makeAdapterModel() throws MirLocalizerExc, MirLocalizerFailure;
}
\ No newline at end of file
setResponseGenerators(
configuration.getString("Localizer.OpenSession.comment.EditTemplate"),
configuration.getString("Localizer.OpenSession.comment.DupeTemplate"),
- configuration.getString("Localizer.OpenSession.comment.DoneTemplate"),
- configuration.getString("Localizer.OpenSession.comment.UnsupportedMediaTemplate"));
+ configuration.getString("Localizer.OpenSession.comment.UnsupportedMediaTemplate"),
+ configuration.getString("Localizer.OpenSession.comment.DoneTemplate"));
}
protected void initializeResponseData(Request aRequest, Session aSession, Response aResponse) throws SessionExc, SessionFailure {
import mircoders.storage.DatabaseVideo;
public class MirBasicDataModelLocalizer implements MirDataModelLocalizer {
- private EntityAdapterModel model;
protected LoggerWrapper logger;
protected MirPropertiesConfiguration configuration;
public MirBasicDataModelLocalizer() throws MirLocalizerFailure, MirLocalizerExc {
- model=null;
logger = new LoggerWrapper("Localizer.DataModel");
try {
}
}
- public EntityAdapterModel adapterModel() throws MirLocalizerFailure {
- if (model==null)
- model = buildModel();
-
- return model;
- };
-
protected void constructContentAdapterDefinition(EntityAdapterDefinition anEntityAdapterDefinition) throws MirLocalizerFailure {
try {
anEntityAdapterDefinition.addDBDateField("creationdate", "webdb_create");
}
}
- protected EntityAdapterModel buildModel() throws MirLocalizerFailure {
+ public EntityAdapterModel makeAdapterModel() throws MirLocalizerFailure, MirLocalizerExc {
EntityAdapterModel result = new EntityAdapterModel();
try {