[Yanel-commits] rev 21203 -
public/yanel/trunk/src/core/java/org/wyona/yanel/servlet
michi at wyona.com
michi at wyona.com
Thu Dec 28 00:14:00 CET 2006
Author: michi
Date: 2006-12-28 00:13:58 +0100 (Thu, 28 Dec 2006)
New Revision: 21203
Modified:
public/yanel/trunk/src/core/java/org/wyona/yanel/servlet/CreateUsecaseHelper.java
Log:
refactored
Modified: public/yanel/trunk/src/core/java/org/wyona/yanel/servlet/CreateUsecaseHelper.java
===================================================================
--- public/yanel/trunk/src/core/java/org/wyona/yanel/servlet/CreateUsecaseHelper.java 2006-12-27 20:08:48 UTC (rev 21202)
+++ public/yanel/trunk/src/core/java/org/wyona/yanel/servlet/CreateUsecaseHelper.java 2006-12-27 23:13:58 UTC (rev 21203)
@@ -66,7 +66,7 @@
w.print(createResourceScreen(createName, resourceType));
}
} else{
- w.print(doCreate(resourceType, request, createName, yanel));
+ w.print(doCreate(resourceType, request, response, createName, yanel));
}
}
@@ -189,22 +189,21 @@
/**
*
*/
- public String doCreate(String resourceType, HttpServletRequest request, String createName, org.wyona.yanel.core.Yanel yanel) {
+ public String doCreate(String newResourceType, HttpServletRequest request, HttpServletResponse response, String createName, org.wyona.yanel.core.Yanel yanel) {
String responseAfterCreationScreen = null;
- ResourceTypeRegistry rtr = new ResourceTypeRegistry();
String[] PropertyNames = null;
try {
- Resource resource = rtr.newResource(resourceType);
- if (resource != null) {
- resource.setYanel(yanel);
- resource.setRequest(request);
- //resource.setRDT();
- if (ResourceAttributeHelper.hasAttributeImplemented(resource, "Creatable", "2")) {
- PropertyNames = ((CreatableV2) resource).getPropertyNames();
+ org.wyona.yanel.core.map.Realm realm = yanel.getMap().getRealm(request.getServletPath());
+ Path pathFromWhereCreateUsecaseHasBeenIssued = yanel.getMap().getPath(realm, request.getServletPath());
+
+ Resource newResource = yanel.getResourceManager().getResource(request, response, realm, pathFromWhereCreateUsecaseHasBeenIssued, new ResourceTypeRegistry().getResourceTypeDefinition(newResourceType), new org.wyona.yanel.core.ResourceTypeIdentifier(newResourceType, null));
+ if (newResource != null) {
+ if (ResourceAttributeHelper.hasAttributeImplemented(newResource, "Creatable", "2")) {
+ PropertyNames = ((CreatableV2) newResource).getPropertyNames();
- ((CreatableV2) resource).create(request, createName);
+ ((CreatableV2) newResource).create(request, createName);
//response after creation, better would be a redirect to the fresh created resource
StringBuffer form = new StringBuffer();
@@ -226,7 +225,6 @@
}
return responseAfterCreationScreen;
}
-
}
catch (Exception e) {
log.error(e.getMessage(), e);
More information about the Yanel-commits
mailing list