Author: tmortagne
Date: 2007-11-13 17:23:43 +0100 (Tue, 13 Nov 2007)
New Revision: 5848

Modified:
   
xwiki-platform/xwiki-plugins/trunk/application-manager/src/main/java/com/xpn/xwiki/plugin/applicationmanager/ApplicationManager.java
   
xwiki-platform/xwiki-plugins/trunk/application-manager/src/main/java/com/xpn/xwiki/plugin/applicationmanager/core/doc/objects/classes/DefaultSuperDocument.java
   
xwiki-platform/xwiki-plugins/trunk/application-manager/src/main/java/com/xpn/xwiki/plugin/applicationmanager/core/doc/objects/classes/SuperDocument.java
Log:
* Fix public/private api use for context users that has no "programming" rights.

Modified: 
xwiki-platform/xwiki-plugins/trunk/application-manager/src/main/java/com/xpn/xwiki/plugin/applicationmanager/ApplicationManager.java
===================================================================
--- 
xwiki-platform/xwiki-plugins/trunk/application-manager/src/main/java/com/xpn/xwiki/plugin/applicationmanager/ApplicationManager.java
        2007-11-13 16:23:40 UTC (rev 5847)
+++ 
xwiki-platform/xwiki-plugins/trunk/application-manager/src/main/java/com/xpn/xwiki/plugin/applicationmanager/ApplicationManager.java
        2007-11-13 16:23:43 UTC (rev 5848)
@@ -185,7 +185,7 @@
             (XWikiApplication) 
XWikiApplicationClass.getInstance(context).newSuperDocument(
                 docToSave, 0, context);
 
-        appSuperDocToSave.mergeBaseObject(userAppSuperDoc);
+        appSuperDocToSave.mergeObject(userAppSuperDoc);
 
         appSuperDocToSave.save(comment);
 

Modified: 
xwiki-platform/xwiki-plugins/trunk/application-manager/src/main/java/com/xpn/xwiki/plugin/applicationmanager/core/doc/objects/classes/DefaultSuperDocument.java
===================================================================
--- 
xwiki-platform/xwiki-plugins/trunk/application-manager/src/main/java/com/xpn/xwiki/plugin/applicationmanager/core/doc/objects/classes/DefaultSuperDocument.java
     2007-11-13 16:23:40 UTC (rev 5847)
+++ 
xwiki-platform/xwiki-plugins/trunk/application-manager/src/main/java/com/xpn/xwiki/plugin/applicationmanager/core/doc/objects/classes/DefaultSuperDocument.java
     2007-11-13 16:23:43 UTC (rev 5848)
@@ -116,11 +116,12 @@
 
             BaseObject object = 
getDoc().newObject(this.sclass.getClassFullName(), context);
 
-            Document docTemplate = 
this.sclass.getClassTemplateDocument(context);
-            Object templateObject = 
docTemplate.getObject(this.sclass.getClassFullName());
+            XWikiDocument docTemplate =
+                
context.getWiki().getDocument(this.sclass.getClassTemplateFullName(), context);
+            BaseObject templateObject = 
docTemplate.getObject(this.sclass.getClassFullName());
 
             if (templateObject != null) {
-                object.merge(templateObject.getXWikiObject());
+                object.merge(templateObject);
             }
 
             if (super.isNew()) {
@@ -131,26 +132,27 @@
             this.isNew = true;
         }
     }
-    
+
     /**
      * [EMAIL PROTECTED]
-     *
+     * 
      * @see 
com.xpn.xwiki.plugin.applicationmanager.core.doc.objects.classes.SuperDocument#getDocumentApi()
      */
     public Document getDocumentApi()
     {
         return this;
     }
-    
+
     /**
      * [EMAIL PROTECTED]
-     *
+     * 
      * @see 
com.xpn.xwiki.plugin.applicationmanager.core.doc.objects.classes.SuperDocument#getObjectId()
      */
-    public int getObjectId() {
+    public int getObjectId()
+    {
         return this.objectId;
     }
-    
+
     /**
      * [EMAIL PROTECTED]
      * 
@@ -183,17 +185,17 @@
     }
 
     /**
-     * [EMAIL PROTECTED]
+     * Merge two documents BaseObject.
      * 
-     * @see SuperDocument#mergeBaseObject(SuperDocument)
+     * @param sdoc the document to merge.
      */
-    public void mergeBaseObject(SuperDocument sdoc)
+    public void mergeObject(DefaultSuperDocument sdoc)
     {
         if (getSuperClass() != sdoc.getSuperClass()) {
             return;
         }
 
-        getBaseObject(true).merge(sdoc.getObjectApi().getXWikiObject());
+        getBaseObject(true).merge(sdoc.getBaseObject(false));
     }
 
     /**
@@ -240,8 +242,7 @@
             doc.removeObject(getBaseObject(false));
             save();
         }
-        
-        
+
         this.isNew = true;
     }
 

Modified: 
xwiki-platform/xwiki-plugins/trunk/application-manager/src/main/java/com/xpn/xwiki/plugin/applicationmanager/core/doc/objects/classes/SuperDocument.java
===================================================================
--- 
xwiki-platform/xwiki-plugins/trunk/application-manager/src/main/java/com/xpn/xwiki/plugin/applicationmanager/core/doc/objects/classes/SuperDocument.java
    2007-11-13 16:23:40 UTC (rev 5847)
+++ 
xwiki-platform/xwiki-plugins/trunk/application-manager/src/main/java/com/xpn/xwiki/plugin/applicationmanager/core/doc/objects/classes/SuperDocument.java
    2007-11-13 16:23:43 UTC (rev 5848)
@@ -52,13 +52,6 @@
     void reload(XWikiContext context) throws XWikiException;
 
     /**
-     * Merge two documents BaseObject.
-     * 
-     * @param sdoc the document to merge.
-     */
-    void mergeBaseObject(SuperDocument sdoc);
-
-    /**
      * @return the class manager for this document.
      */
     SuperClass getSuperClass();

_______________________________________________
notifications mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/notifications

Reply via email to