Author: xlawrence
Date: Thu May 31 09:40:26 2007
New Revision: 17405
URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D17405&repname=
=3Djahia
Log:
Improve handling of files by associating the uploaded file to a FileField
Modified:
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/engines/filemanage=
r/DAVFilemanager_Engine.java
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/taglibs/form/FormC=
ontentMapperHandlerTag.java
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/engines/file=
manager/DAVFilemanager_Engine.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/engines/filemanager/DAVFilemanager_Engine.j=
ava&rev=3D17405&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/engines/filemanage=
r/DAVFilemanager_Engine.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/engines/filemanage=
r/DAVFilemanager_Engine.java Thu May 31 09:40:26 2007
@@ -1240,8 +1240,7 @@
return null;
}
logger.debug("Finished uploading: " + result);
- return jahiaWebdavBaseService.getDAVFileAccess(processingC=
ontext, processingContext.getSite(),
- adminUser, path + "/" + fileName).getDownloadURL();
+ return path + "/" + fileName;
}
}
return null;
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/taglibs/form=
/FormContentMapperHandlerTag.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/taglibs/form/FormContentMapperHandlerTag.ja=
va&rev=3D17405&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/taglibs/form/FormC=
ontentMapperHandlerTag.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/taglibs/form/FormC=
ontentMapperHandlerTag.java Thu May 31 09:40:26 2007
@@ -1,23 +1,24 @@
/*
* Copyright 2002-2006 Jahia Ltd
*
- * Licensed under the JAHIA COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (J=
CDDL), =
- * Version 1.0 (the "License"), or (at your option) any later version; you=
may =
- * not use this file except in compliance with the License. You should hav=
e =
- * received a copy of the License along with this program; if not, you may=
obtain =
- * a copy of the License at =
+ * Licensed under the JAHIA COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (J=
CDDL),
+ * Version 1.0 (the "License"), or (at your option) any later version; you=
may
+ * not use this file except in compliance with the License. You should have
+ * received a copy of the License along with this program; if not, you may=
obtain
+ * a copy of the License at
*
* http://www.jahia.org/license/
*
- * Unless required by applicable law or agreed to in writing, software =
- * distributed under the License is distributed on an "AS IS" BASIS, =
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied=
. =
- * See the License for the specific language governing permissions and =
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.jahia.taglibs.form;
=
import org.jahia.data.JahiaData;
+import org.jahia.data.files.JahiaFileField;
import org.jahia.data.beans.ContainerListBean;
import org.jahia.data.containers.JahiaContainer;
import org.jahia.data.containers.JahiaContainerDefinition;
@@ -25,6 +26,7 @@
import org.jahia.data.containers.JahiaContainerStructure;
import org.jahia.data.fields.JahiaField;
import org.jahia.data.fields.JahiaFieldDefinition;
+import org.jahia.data.fields.FieldTypes;
import org.jahia.exceptions.JahiaException;
import org.jahia.hibernate.model.JahiaAclEntry;
import org.jahia.params.ProcessingContext;
@@ -32,17 +34,18 @@
import org.jahia.registries.ServicesRegistry;
import org.jahia.services.acl.JahiaBaseACL;
import org.jahia.services.containers.ContentContainer;
-import org.jahia.services.usermanager.JahiaGroup;
-import org.jahia.services.usermanager.JahiaGroupManagerService;
-import org.jahia.services.usermanager.JahiaUser;
-import org.jahia.services.usermanager.JahiaUserManagerService;
+import org.jahia.services.usermanager.*;
import org.jahia.services.workflow.WorkflowService;
+import org.jahia.services.webdav.DAVFileAccess;
+import org.jahia.services.webdav.JahiaWebdavBaseService;
import org.jahia.tools.files.FileUpload;
=
import javax.servlet.http.HttpServletRequest;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.BodyTagSupport;
import java.util.Enumeration;
+import java.util.Set;
+import java.util.HashSet;
=
/**
* <p>Title: Form handler that maps to Content objects </p>
@@ -265,22 +268,52 @@
curFieldValues =3D jData.getProcessingContext().getParameterVa=
lues(curFieldName);
=
final JahiaField curField =3D container.getField(curFieldName);
- final StringBuffer curFieldValueBuf =3D new StringBuffer();
- if (curFieldValues !=3D null) {
- for (int i =3D 0; i < curFieldValues.length; i++) {
- curFieldValueBuf.append(curFieldValues[i]);
- if (i < (curFieldValues.length - 1)) {
- curFieldValueBuf.append("$$$");
+ if (curField !=3D null) {
+ if (curField.getType() =3D=3D FieldTypes.FILE) {
+ if (curFieldValues !=3D null && curFieldValues.length =
> 0) {
+ final String path =3D curFieldValues[0];
+ final DAVFileAccess objectDav =3D JahiaWebdavBaseS=
ervice.getInstance().getDAVFileAccess(
+ jData.params(),
+ jData.getProcessingContext().getSite(),
+ JahiaAdminUser.getAdminUser(jData.getProce=
ssingContext().getSiteID()),
+ path);
+ final JahiaFileField fField =3D objectDav.getJahia=
FileField();
+ curField.setValue(path);
+ curField.setObject(fField);
+
+ final Set uris =3D new HashSet();
+ final String[] users =3D jData.getProcessingContex=
t().getParameterValues("user");
+ if (users !=3D null) {
+ for (int i =3D 0; i < users.length; i++) {
+ uris.add(users[i]);
+ }
+ }
+ if (!uris.isEmpty()) {
+ objectDav.beginTransaction();
+ objectDav.alignPermsWithField(curField, uris);
+ objectDav.commitTransaction();
+ }
+
+ curField.save(jData.getProcessingContext());
+ }
+ } else {
+ final StringBuffer curFieldValueBuf =3D new StringBuff=
er();
+ if (curFieldValues !=3D null) {
+ for (int i =3D 0; i < curFieldValues.length; i++) {
+ curFieldValueBuf.append(curFieldValues[i]);
+ if (i < (curFieldValues.length - 1)) {
+ curFieldValueBuf.append("$$$");
+ }
+ }
+ }
+ final String curFieldValue =3D curFieldValueBuf.toStri=
ng();
+ if ((curFieldValues !=3D null) && (!"".equals(curField=
Value))) {
+ curField.setValue(curFieldValue);
+ curField.setObject(curFieldValue);
+ curField.save(jData.getProcessingContext());
}
}
}
- final String curFieldValue =3D curFieldValueBuf.toString();
- if ((curFieldValues !=3D null) && (!"".equals(curFieldValue)) =
&&
- (curField !=3D null)) {
- curField.setValue(curFieldValue);
- curField.setObject(curFieldValue);
- curField.save(jData.getProcessingContext());
- }
}
if (isImmediatePublication()) {
if (ServicesRegistry.getInstance().getWorkflowService().getWor=
kflowMode(
_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list