/******************************************************************************
* Copyright (c) 2011-2013, Linagora
*
* 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:
* Linagora - initial API and implementation
*******************************************************************************/
package com.ebmwebsourcing.petals.services.filetransfer.v30.wizard;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import com.ebmwebsourcing.petals.services.cdk.Cdk5Utils;
import com.ebmwebsourcing.petals.services.cdk.cdk5.Cdk5Package;
import com.ebmwebsourcing.petals.services.filetransfer.filetransfer2x.TransferMode;
import com.ebmwebsourcing.petals.services.filetransfer.filetransfer3.Filetransfer3Package;
import com.ebmwebsourcing.petals.services.filetransfer.v30.FileTransferDescription30;
import com.ebmwebsourcing.petals.services.su.extensions.ComponentVersionDescription;
import com.ebmwebsourcing.petals.services.su.wizards.AbstractServiceUnitWizard;
import com.ebmwebsourcing.petals.services.su.wizards.pages.AbstractSuWizardPage;
import com.ebmwebsourcing.petals.services.su.wizards.pages.SimpleFeatureListSuWizardPage;
import com.sun.java.xml.ns.jbi.AbstractEndpoint;
import com.sun.java.xml.ns.jbi.Consumes;
/**
* @author Vincent Zurczak - EBM WebSourcing
* @author Mickael Istria - EBM WebSourcing
*/
public class FileTransferConsumesWizard30 extends AbstractServiceUnitWizard {
private FileTransferConsumesWizardPage30 secondPage;
/* (non-Javadoc)
* @see com.ebmwebsourcing.petals.services.su.wizards.AbstractServiceUnitWizard
* #getComponentVersionDescription()
*/
@Override
public ComponentVersionDescription getComponentVersionDescription() {
return new FileTransferDescription30();
}
/*
* (non-Javadoc)
* @see com.ebmwebsourcing.petals.services.su.wizards.AbstractServiceUnitWizard
* #predefineJbiValues(com.sun.java.xml.ns.jbi.AbstractEndpoint)
*/
@Override
public void presetServiceValues( AbstractEndpoint ae ) {
Cdk5Utils.setInitialConsumesValues((Consumes) ae);
ae.eSet( Filetransfer3Package.Literals.FILE_TRANSFER3_CONSUMES__FOLDER, "" );
ae.eSet( Filetransfer3Package.Literals.FILE_TRANSFER3_CONSUMES__BACKUP_DIRECTORY, "" );
ae.eSet( Filetransfer3Package.Literals.FILE_TRANSFER3_CONSUMES__POLLING_PERIOD, 1000 );
ae.eSet( Filetransfer3Package.Literals.FILE_TRANSFER3_CONSUMES__FILENAME, "*" );
ae.eSet( Filetransfer3Package.Literals.FILE_TRANSFER3_CONSUMES__TRANSFER_MODE, TransferMode.CONTENT );
ae.eSet( Filetransfer3Package.Literals.FILE_TRANSFER3_CONSUMES__BASE_MESSAGE, "" );
ae.eSet( Filetransfer3Package.Literals.FILE_TRANSFER3_CONSUMES__PROCESSOR_POOL_SIZE, 5 );
ae.eSet( Filetransfer3Package.Literals.FILE_TRANSFER3_CONSUMES__PROCESSOR_POOL_TIMEOUT, 10000 );
}
/*
* (non-Javadoc)
* @see com.ebmwebsourcing.petals.services.su.wizards.AbstractServiceUnitWizard
* #getCustomWizardPagesBeforeProject()
*/
@Override
protected AbstractSuWizardPage[] getLastCustomWizardPages() {
SimpleFeatureListSuWizardPage firstPage = new SimpleFeatureListSuWizardPage(
Filetransfer3Package.Literals.FILE_TRANSFER3_CONSUMES__FOLDER,
Filetransfer3Package.Literals.FILE_TRANSFER3_CONSUMES__BACKUP_DIRECTORY,
Filetransfer3Package.Literals.FILE_TRANSFER3_CONSUMES__FILENAME,
Filetransfer3Package.Literals.FILE_TRANSFER3_CONSUMES__POLLING_PERIOD,
Filetransfer3Package.Literals.FILE_TRANSFER3_CONSUMES__PROCESSOR_POOL_SIZE,
Filetransfer3Package.Literals.FILE_TRANSFER3_CONSUMES__PROCESSOR_POOL_TIMEOUT
);
this.secondPage = new FileTransferConsumesWizardPage30();
return new AbstractSuWizardPage[] { firstPage, this.secondPage };
}
/*
* (non-Javadoc)
* @see com.ebmwebsourcing.petals.services.su.wizards.AbstractServiceUnitWizard
* #performLastActions(org.eclipse.core.resources.IFolder, com.sun.java.xml.ns.jbi.AbstractEndpoint,
* org.eclipse.core.runtime.IProgressMonitor)
*/
@Override
protected IStatus performLastActions(IFolder resourceDirectory, AbstractEndpoint ae, IProgressMonitor monitor) {
// Deal with the base-message and transfer type choice
if( this.secondPage.isUseMsgSkeleton()) {
ae.eSet( Filetransfer3Package.Literals.FILE_TRANSFER3_CONSUMES__TRANSFER_MODE, null );
ae.eSet( Filetransfer3Package.Literals.FILE_TRANSFER3_CONSUMES__BASE_MESSAGE, this.secondPage.getXmlContent());
} else if( this.secondPage.isContentTransfer()) {
ae.eSet( Filetransfer3Package.Literals.FILE_TRANSFER3_CONSUMES__TRANSFER_MODE, TransferMode.CONTENT );
ae.eSet( Filetransfer3Package.Literals.FILE_TRANSFER3_CONSUMES__BASE_MESSAGE, null );
} else {
ae.eSet( Filetransfer3Package.Literals.FILE_TRANSFER3_CONSUMES__TRANSFER_MODE, TransferMode.ATTACHMENT );
ae.eSet( Filetransfer3Package.Literals.FILE_TRANSFER3_CONSUMES__BASE_MESSAGE, null );
}
// MEP + operations
ae.eSet( Cdk5Package.Literals.CDK5_CONSUMES__OPERATION, this.settings.invokedOperation );
Cdk5Utils.setMep( ae, this.settings.invocationMep );
// Remove unused values
hackEmfModel( ae,
Filetransfer3Package.Literals.FILE_TRANSFER3_CONSUMES__BACKUP_DIRECTORY,
Filetransfer3Package.Literals.FILE_TRANSFER3_CONSUMES__TRANSFER_MODE,
Filetransfer3Package.Literals.FILE_TRANSFER3_CONSUMES__BASE_MESSAGE );
return Status.OK_STATUS;
}
}