blob: ee435ea6ee5242344c2ebecce4a1b3f9f743cbeb [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2011, 2012 Ericsson AB and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Ericsson AB - initial API
*******************************************************************************/
package org.eclipse.mylyn.reviews.r4e.internal.transform;
import org.eclipse.emf.common.util.URI;
import org.eclipse.mylyn.reviews.r4e.core.model.serial.impl.CompatibilityException;
import org.eclipse.mylyn.reviews.r4e.core.model.serial.impl.ResourceHandlingException;
import org.eclipse.mylyn.reviews.r4e.internal.transform.impl.ModelTransformImpl;
import org.eclipse.mylyn.reviews.r4e.internal.transform.resources.ReviewGroupRes;
import org.eclipse.mylyn.reviews.r4e.internal.transform.resources.ReviewRes;
/**
* @author Alvaro Sanchez-Leon
*/
public interface ModelTransform {
public static ModelTransform instance = new ModelTransformImpl();
/**
* Creates an EMF ResourceSet a ReviewGroupRes and its EMF Resource at the specified URI folder location
*
* @param aFolderPath
* - folder URI location where the resource group file shall be created e.g. file://c:\folder
* @param aGroupName
* - The name of the group
* @param aFilePrefix
* - a common file prefix used in all generated serialisation resource files
* @return
* @throws ResourceHandlingException
*/
public ReviewGroupRes createReviewGroupRes(URI aFolderPath, String aGroupName, String aFilePrefix)
throws ResourceHandlingException;
/**
* @param aResourcePath
* - path to the group root file
* @return
* @throws ResourceHandlingException
*/
public ReviewGroupRes openReviewGroupRes(URI aResourcePath) throws ResourceHandlingException;
/**
* Close the file Resources associated to the given review group
*
* @param aReviewGroup
* @return - Message for unexpected cases, e.g. nothing to close, etc..
*/
public String closeReviewGroupRes(ReviewGroupRes aReviewGroup);
/**
* Transform a review from the R4E core model resource structure to resource serialisation per type ans serialise it
* in the given location.
*
* @param aOrigReviewGroup
* - Group instance of R4EReviewGroup
* @param aDestReviewGroup
* - Group instance of ReviewGroupRes
* @param aOrigReviewName
* - R4EReview name in origReviewGroup
* @return - Resulting transformed review or null if not able to transform
* @throws ResourceHandlingException
* @throws CompatibilityException
*/
public ReviewRes transformReview(URI aOrigReviewGroup, URI aDestReviewGroup, String aOrigReviewName)
throws ResourceHandlingException, CompatibilityException;
}