+ return MirGlobal.localizer().generators().makeAdminGeneratorLibrary().
+ makeGenerator((String) previewPages.get(aPreviewPage), null);
+ }
+ catch (GeneratorExc e) {
+ throw new MirLocalizerFailure(e);
+ }
+ }
+ throw new MirLocalizerExc("Unknown preview: " + aPreviewPage);
+ }
+
+ /** {@inheritDoc} */
+ public List getPreviewPages(EntityAdapter anArticle) throws MirLocalizerExc{
+ return Collections.unmodifiableList(previewPageNames);
+ }
+
+ /** {@inheritDoc} */
+ public String makePasswordDigest(String aPassword) {
+
+
+ return aPassword;
+ }
+
+ /** {@inheritDoc} */
+ public void initializeArticle(Map anArticle) {
+ anArticle.put("is_published", "0");
+ anArticle.put("date", StringUtil.date2webdbDate(new GregorianCalendar()));
+ }
+
+ public List simpleCommentOperations() {
+ return Collections.unmodifiableList(simpleCommentOperations);
+ }
+
+ public List simpleArticleOperations() {
+ return Collections.unmodifiableList(simpleArticleOperations);
+ }
+
+ public EntityOperation simpleArticleOperationForName(String aName) {
+ return (EntityOperation) simpleArticleOperationsMap.get(aName);
+ }
+
+ public EntityOperation simpleCommentOperationForName(String aName) {
+ return (EntityOperation) simpleCommentOperationsMap.get(aName);
+ }
+
+ public void removeSimpleArticleOperation(String aName) {
+ simpleArticleOperations.remove(simpleArticleOperationsMap.get(aName));
+ simpleArticleOperationsMap.remove(aName);
+ }
+
+ public void addSimpleArticleOperation(EntityOperation anOperation) {
+ removeSimpleArticleOperation(anOperation.getName());
+ simpleArticleOperationsMap.put(anOperation.getName(), anOperation);
+ simpleArticleOperations.add(anOperation);
+ }
+
+ public void removeSimpleCommentOperation(String aName) {
+ simpleCommentOperations.remove(simpleCommentOperationsMap.get(aName));
+ simpleCommentOperationsMap.remove(aName);
+ }
+
+ public void addSimpleCommentOperation(EntityOperation anOperation) {
+ removeSimpleCommentOperation(anOperation.getName());
+ simpleCommentOperationsMap.put(anOperation.getName(), anOperation);
+ simpleCommentOperations.add(anOperation);
+ }
+
+ protected abstract static class EntityModifyingOperation implements EntityOperation {
+ private String name;
+ private boolean logOperation;
+
+ protected EntityModifyingOperation(String aName, boolean aLogOperation) {
+ name = aName;
+ logOperation = aLogOperation;
+ }