[opencms-dev] Issues programmatically creating resources

Paul-Inge Flakstad flakstad at npolar.no
Tue Jun 21 23:59:16 CEST 2011


Hi Yves,

Is there no more info in your log? Would you mind posting your form as well?

Best regards,
Paul
________________________________________
Fra: opencms-dev-bounces at opencms.org [opencms-dev-bounces at opencms.org] på vegne av Yves Glodt [yg at mind.lu]
Sendt: 21. juni 2011 22:57
Til: The OpenCms mailing list
Emne: Re: [opencms-dev] Issues programmatically creating resources

Bunp... really no OpenCms-Api expert around ? :-)

On 18 June 2011 15:21, Yves Glodt <yg at mind.lu<mailto:yg at mind.lu>> wrote:
Bump :-)


On 16 June 2011 09:48, Yves Glodt <yg at mind.lu<mailto:yg at mind.lu>> wrote:
Hi there,

I am currently trying to do a interface to a Website where you can import files to the VFS with an http post.

Unfortunately it does not work, and I do not find why. I get an exception with the only message "Error creating the resource "/thepath/".

Here is the code, maybe someone spots the error :-)

Best regards,
Yves



<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" session="false" %>
<%@ page import="java.io.*, java.lang.*, java.util.*, java.text.*" %>
<%@ page import="javax.servlet.*, javax.servlet.http.*" %>
<%@ page import="org.opencms.*, org.opencms.main.*, org.opencms.flex.*, org.opencms.jsp.*, org.opencms.file.*, org.opencms.file.types.*" %>
<%@ page import="org.apache.commons.lang.*" %>
<%@ page import="org.apache.commons.fileupload.*, org.apache.commons.fileupload.disk.*, org.apache.commons.fileupload.servlet.*" %>
<%

FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);

List<FileItem> items = null;

try {
    items = upload.parseRequest(request);
} catch (FileUploadException e) {
    out.println("Error parsing request");
    System.out.println(request.getRemoteAddr()+": Import: Error parsing request.");
    return;
}

Iterator<FileItem> iter = items.iterator();

Integer no_dossier = null;
String no_article = null;
String filename = null;
byte[] bytes = null;

while (iter.hasNext()) {
    FileItem item = (FileItem) iter.next();

    if (item.isFormField()) {

        if (item.getFieldName().equals("no_dossier")) {
            no_dossier = Integer.parseInt(item.getString());
        }

        if (item.getFieldName().equals("no_article")) {
            no_article = item.getString();
        }

    } else {
        filename = item.getName();
        bytes = item.get();
    }
}

try {

    CmsObject cms = OpenCms.initCmsObject("Guest");
    cms.loginUser("contentcreator", "thepassword");

    if (!cms.existsResource("/images")) {
        System.out.println("Creating /images");
        cms.createResource("/images", CmsResourceTypeFolder.RESOURCE_TYPE_ID);
    }

    if (!cms.existsResource("/images/articles")) {
        System.out.println("Creating /images/articles");
        cms.createResource("/images/articles", CmsResourceTypeFolder.RESOURCE_TYPE_ID);
    }

    if (!cms.existsResource("/images/articles/"+no_dossier)) {
        System.out.println("Creating /images/articles/"+no_dossier);
        cms.createResource("/images/articles/"+no_dossier, CmsResourceTypeFolder.RESOURCE_TYPE_ID);
    }

    if (!cms.existsResource("/images/articles/"+no_dossier+"/"+no_article)) {
        System.out.println("Creating /images/articles/"+no_dossier+"/"+no_article);
        cms.createResource("/images/articles/"+no_dossier+"/"+no_article, CmsResourceTypeFolder.RESOURCE_TYPE_ID);
    }

    String newResname = cms.getRequestContext().getFileTranslator().translateResource("/images/articles/"+no_dossier+"/"+no_article+"/" + filename);
    int resTypeId = OpenCms.getResourceManager().getDefaultTypeForName(filename).getTypeId();
    cms.createResource(newResname, resTypeId, bytes, null);

    cms.unlockResource("/images/articles/"+no_dossier);
    cms.unlockResource("/images/articles/"+no_dossier+"/"+no_article);

    //cms.publishResource(newResname);
    //OpenCms.getPublishManager().publishResource(cms, folder);
    //OpenCms.getPublishManager().waitWhileRunning();

} catch (Exception e) {
    out.println("Error: "+e.getMessage() );
}

%>





More information about the opencms-dev mailing list