r1513 - in xwiki/trunk/core/src/main/java/com/xpn/xwiki: api doc
Ludovic Dubost
ludovic at users.forge.objectweb.org
Tue Nov 7 02:09:12 CET 2006
Author: ludovic
Date: 2006-11-07 02:09:02 +0100 (Tue, 07 Nov 2006)
New Revision: 1513
Modified:
xwiki/trunk/core/src/main/java/com/xpn/xwiki/api/Document.java
xwiki/trunk/core/src/main/java/com/xpn/xwiki/doc/XWikiDocument.java
Log:
Added functions updateObjectsFromRequest and display(String field, String mode, String prefix)
Modified: xwiki/trunk/core/src/main/java/com/xpn/xwiki/api/Document.java
===================================================================
--- xwiki/trunk/core/src/main/java/com/xpn/xwiki/api/Document.java 2006-11-06 16:06:35 UTC (rev 1512)
+++ xwiki/trunk/core/src/main/java/com/xpn/xwiki/api/Document.java 2006-11-07 01:09:02 UTC (rev 1513)
@@ -749,6 +749,13 @@
return doc.display(fieldname, mode, currentObj.getBaseObject(), context);
}
+ public String display(String fieldname, String mode, String prefix) {
+ if (currentObj == null)
+ return doc.display(fieldname, mode, prefix, context);
+ else
+ return doc.display(fieldname, mode, prefix, currentObj.getBaseObject(), context);
+ }
+
public String display(String fieldname, Object obj) {
if (obj == null)
return "";
@@ -761,6 +768,12 @@
return doc.display(fieldname, mode, obj.getBaseObject(), context);
}
+ public String display(String fieldname, String mode, String prefix, Object obj) {
+ if (obj == null)
+ return "";
+ return doc.display(fieldname, mode, prefix, obj.getBaseObject(), context);
+ }
+
public String displayForm(String className, String header, String format) {
return doc.displayForm(className, header, format, context);
}
@@ -1171,7 +1184,15 @@
}
public List addObjectsFromRequest(String className) throws XWikiException {
- List objs = getDoc().addObjectsFromRequest(className, context);
+ return addObjectsFromRequest(className, "");
+ }
+
+ public com.xpn.xwiki.api.Object addObjectFromRequest(String className, String prefix) throws XWikiException {
+ return new com.xpn.xwiki.api.Object(getDoc().addObjectFromRequest(className, prefix, context), context);
+ }
+
+ public List addObjectsFromRequest(String className, String prefix) throws XWikiException {
+ List objs = getDoc().addObjectsFromRequest(className, prefix, context);
List wrapped = new ArrayList();
Iterator it = objs.iterator();
while(it.hasNext()){
@@ -1184,6 +1205,24 @@
return new com.xpn.xwiki.api.Object(getDoc().updateObjectFromRequest(className, context), context);
}
+ public List updateObjectsFromRequest(String className) throws XWikiException {
+ return updateObjectsFromRequest(className, "");
+ }
+
+ public com.xpn.xwiki.api.Object updateObjectFromRequest(String className, String prefix) throws XWikiException {
+ return new com.xpn.xwiki.api.Object(getDoc().updateObjectFromRequest(className, prefix, context), context);
+ }
+
+ public List updateObjectsFromRequest(String className, String prefix) throws XWikiException {
+ List objs = getDoc().updateObjectsFromRequest(className, prefix, context);
+ List wrapped = new ArrayList();
+ Iterator it = objs.iterator();
+ while(it.hasNext()){
+ wrapped.add(new com.xpn.xwiki.api.Object((BaseObject) it.next(), context));
+ }
+ return wrapped;
+ }
+
public boolean isAdvancedContent() {
return doc.isAdvancedContent();
}
Modified: xwiki/trunk/core/src/main/java/com/xpn/xwiki/doc/XWikiDocument.java
===================================================================
--- xwiki/trunk/core/src/main/java/com/xpn/xwiki/doc/XWikiDocument.java 2006-11-06 16:06:35 UTC (rev 1512)
+++ xwiki/trunk/core/src/main/java/com/xpn/xwiki/doc/XWikiDocument.java 2006-11-07 01:09:02 UTC (rev 1513)
@@ -995,11 +995,15 @@
}
public String display(String fieldname, String type, BaseObject obj, XWikiContext context) {
+ return display(fieldname, type, "", obj, context);
+ }
+
+ public String display(String fieldname, String type, String pref, BaseObject obj, XWikiContext context) {
try {
type = type.toLowerCase();
StringBuffer result = new StringBuffer();
PropertyClass pclass = (PropertyClass) obj.getxWikiClass(context).get(fieldname);
- String prefix = obj.getxWikiClass(context).getName() + "_" + obj.getNumber() + "_";
+ String prefix = pref + obj.getxWikiClass(context).getName() + "_" + obj.getNumber() + "_";
if (pclass.isCustomDisplayed(context)){
pclass.displayCustom(result, fieldname, prefix, type, obj, context);
@@ -1059,6 +1063,10 @@
}
public String display(String fieldname, String mode, XWikiContext context) {
+ return display(fieldname, mode, "", context);
+ }
+
+ public String display(String fieldname, String mode, String prefix, XWikiContext context) {
try {
BaseObject object = getxWikiObject();
if (object == null)
@@ -2739,16 +2747,26 @@
// This functions adds an object from an new object creation form
public BaseObject addObjectFromRequest(String className, XWikiContext context) throws XWikiException {
- return addObjectFromRequest(className, 0, context);
+ return addObjectFromRequest(className, "", 0, context);
}
- // This functions adds multiple objects from an new objects creation form
+ // This functions adds an object from an new object creation form
+ public BaseObject addObjectFromRequest(String className, String prefix, XWikiContext context) throws XWikiException {
+ return addObjectFromRequest(className, prefix, 0, context);
+ }
+
+ // This functions adds multiple objects from an new objects creation form
public List addObjectsFromRequest(String className, XWikiContext context) throws XWikiException {
+ return addObjectsFromRequest(className, "", context);
+ }
+
+ // This functions adds multiple objects from an new objects creation form
+ public List addObjectsFromRequest(String className, String pref, XWikiContext context) throws XWikiException {
Map map = context.getRequest().getParameterMap();
List objectsNumberDone = new ArrayList();
List objects = new ArrayList();
Iterator it = map.keySet().iterator();
- String start = className + "_";
+ String start = pref + className + "_";
while (it.hasNext()) {
String name = (String) it.next();
@@ -2758,7 +2776,7 @@
int num = Integer.decode(prefix.substring(prefix.lastIndexOf("_") + 1)).intValue();
if (!objectsNumberDone.contains(new Integer(num))){
objectsNumberDone.add(new Integer(num));
- objects.add(addObjectFromRequest(className, num, context));
+ objects.add(addObjectFromRequest(className, pref, num, context));
}
}
}
@@ -2767,10 +2785,14 @@
// This functions adds object from an new object creation form
public BaseObject addObjectFromRequest(String className, int num, XWikiContext context) throws XWikiException {
+ return addObjectFromRequest(className, "", num, context);
+ }
+ // This functions adds object from an new object creation form
+ public BaseObject addObjectFromRequest(String className, String prefix, int num, XWikiContext context) throws XWikiException {
int nb = createNewObject(className, context);
BaseObject oldobject = getObject(className, nb);
BaseClass baseclass = oldobject.getxWikiClass(context);
- BaseObject newobject = (BaseObject) baseclass.fromMap(Util.getObject(context.getRequest(), className + "_" + num), oldobject);
+ BaseObject newobject = (BaseObject) baseclass.fromMap(Util.getObject(context.getRequest(), prefix + className + "_" + num), oldobject);
newobject.setNumber(oldobject.getNumber());
newobject.setName(getFullName());
setObject(className, nb, newobject);
@@ -2779,21 +2801,59 @@
// This functions adds an object from an new object creation form
public BaseObject updateObjectFromRequest(String className, XWikiContext context) throws XWikiException {
+ return updateObjectFromRequest(className, "", context);
+ }
+
+ // This functions adds an object from an new object creation form
+ public BaseObject updateObjectFromRequest(String className, String prefix, XWikiContext context) throws XWikiException {
+ return updateObjectFromRequest(className, prefix, 0, context);
+ }
+
+ // This functions adds an object from an new object creation form
+ public BaseObject updateObjectFromRequest(String className, String prefix, int num, XWikiContext context) throws XWikiException {
int nb;
- BaseObject oldobject = getObject(className);
+ BaseObject oldobject = getObject(className, num);
if (oldobject==null) {
nb = createNewObject(className, context);
oldobject = getObject(className, nb);
} else
nb = oldobject.getNumber();
BaseClass baseclass = oldobject.getxWikiClass(context);
- BaseObject newobject = (BaseObject) baseclass.fromMap(Util.getObject(context.getRequest(), className + "_" + nb), oldobject);
+ BaseObject newobject = (BaseObject) baseclass.fromMap(Util.getObject(context.getRequest(), prefix + className + "_" + nb), oldobject);
newobject.setNumber(oldobject.getNumber());
newobject.setName(getFullName());
setObject(className, nb, newobject);
return newobject;
}
+ // This functions adds an object from an new object creation form
+ public List updateObjectsFromRequest(String className, XWikiContext context) throws XWikiException {
+ return updateObjectsFromRequest(className, "", context);
+ }
+
+ // This functions adds multiple objects from an new objects creation form
+ public List updateObjectsFromRequest(String className, String pref, XWikiContext context) throws XWikiException {
+ Map map = context.getRequest().getParameterMap();
+ List objectsNumberDone = new ArrayList();
+ List objects = new ArrayList();
+ Iterator it = map.keySet().iterator();
+ String start = pref + className + "_";
+
+ while (it.hasNext()) {
+ String name = (String) it.next();
+ if (name.startsWith(start)) {
+ int pos = name.indexOf("_", start.length() + 1);
+ String prefix = name.substring(0, pos);
+ int num = Integer.decode(prefix.substring(prefix.lastIndexOf("_") + 1)).intValue();
+ if (!objectsNumberDone.contains(new Integer(num))){
+ objectsNumberDone.add(new Integer(num));
+ objects.add(updateObjectFromRequest(className, pref, num, context));
+ }
+ }
+ }
+ return objects;
+ }
+
public boolean isAdvancedContent() {
String[] matches = { "<%" , "#set", "#include", "#if", "public class", "/* Advanced content */", "## Advanced content", "/* Programmatic content */", "## Programmatic content" };
String content2 = content.toLowerCase();
More information about the Xwiki-notifications
mailing list