001/* 002 * (C) Copyright 2014 Nuxeo SA (http://nuxeo.com/) and others. 003 * 004 * Licensed under the Apache License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.apache.org/licenses/LICENSE-2.0 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 * 016 * Contributors: 017 * annejubert 018 */ 019 020package org.nuxeo.io.fsexporter; 021 022import org.nuxeo.ecm.automation.core.Constants; 023import org.nuxeo.ecm.automation.core.annotations.Context; 024import org.nuxeo.ecm.automation.core.annotations.Operation; 025import org.nuxeo.ecm.automation.core.annotations.OperationMethod; 026import org.nuxeo.ecm.automation.core.annotations.Param; 027import org.nuxeo.ecm.core.api.CoreSession; 028 029@Operation(id = ExportStructureToFS.ID, category = Constants.CAT_SERVICES, label = "ExportStructureToFS", description = "This operation enables to export the structure contained in the Root name path to the File System Target path. You can declare your own query to choose the document being exported.") 030public class ExportStructureToFS { 031 032 public static final String ID = "ExportStructureToFS"; 033 034 @Context 035 FSExporterService service; 036 037 @Context 038 protected CoreSession session; 039 040 @Param(name = "Root Path", required = true) 041 protected String RootPath; 042 043 @Param(name = "File System Target", required = true) 044 protected String FileSystemTarget; 045 046 @Param(name = "Query", required = false) 047 protected String customQuery; 048 049 @OperationMethod 050 public void run() throws Exception { 051 service.export(session, RootPath, FileSystemTarget, customQuery); 052 } 053 054}