import mir.session.SessionExc;
import mir.session.SessionFailure;
import mircoders.entity.EntityContent;
+import mir.entity.adapter.EntityAdapter;
+import mircoders.global.MirGlobal;
+import mircoders.storage.DatabaseContent;
+import mircoders.localizer.MirLocalizerExc;
+import mir.storage.DatabaseExc;
/**
* Handler for open postings of "child articles", that is articles
if (parentId==null)
throw new SessionExc("initializeSession: parent id not set!");
// check if the parent article is published.
- EntityAdapter article = MirGlobal.localizer().dataModel().adapterModel().makeEntityAdapter("content",
- DatabaseContent.getInstance().selectById(parentId));
+ EntityAdapter article;
+ try {
+ article = MirGlobal.localizer().dataModel().adapterModel().makeEntityAdapter("content",
+ DatabaseContent.getInstance().selectById(parentId));
+ }
+ catch(MirLocalizerExc e)
+ {
+ throw new SessionExc("Mir localizer error: " + e.getMessage());
+ }
+ catch(DatabaseExc e)
+ {
+ throw new SessionExc("Database error: " + e.getMessage());
+ }
if (!MirGlobal.localizer().openPostings().allowArticlePublication((EntityContent)article.getEntity())) {
- throw new ServletModuleExc("Illegal article");
+ throw new SessionExc("Illegal article");
}