Package org.drools.workbench.jcr2vfsmigration.migrater.asset

Source Code of org.drools.workbench.jcr2vfsmigration.migrater.asset.GlobalMigrater

package org.drools.workbench.jcr2vfsmigration.migrater.asset;

import java.util.List;

import javax.enterprise.context.ApplicationScoped;
import javax.inject.Inject;
import javax.inject.Named;

import org.drools.guvnor.client.common.AssetFormats;
import org.drools.guvnor.client.rpc.Module;
import org.drools.guvnor.server.RepositoryAssetService;
import org.drools.repository.AssetItem;
import org.drools.workbench.jcr2vfsmigration.migrater.GlobalParser;
import org.drools.workbench.jcr2vfsmigration.migrater.PackageHeaderInfo;
import org.drools.workbench.jcr2vfsmigration.migrater.PackageImportHelper;
import org.drools.workbench.jcr2vfsmigration.migrater.util.DRLMigrationUtils;
import org.drools.workbench.jcr2vfsmigration.migrater.util.MigrationPathManager;
import org.uberfire.io.IOService;
import org.uberfire.java.nio.base.options.CommentedOption;
import org.uberfire.java.nio.file.Files;
import org.uberfire.java.nio.file.StandardCopyOption;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.uberfire.backend.server.util.Paths;
import org.uberfire.backend.vfs.Path;

@ApplicationScoped
public class GlobalMigrater extends BaseAssetMigrater {

    protected static final Logger logger = LoggerFactory.getLogger( GlobalMigrater.class );
    private static final String GLOBAL_KEYWORD = "global ";

    @Inject
    private Paths paths;

    @Inject
    @Named("ioStrategy")
    private IOService ioService;

    @Inject
    private PackageHeaderInfo packageHeaderInfo;
   
    @Inject
    PackageImportHelper packageImportHelper;
   
    public Path migrate( Module jcrModule,
                         List<String> globals) {
        if(globals.size() == 0) {
            return null;
        }
       
        Path path = migrationPathManager.generatePathForGlobal( jcrModule );
        final org.uberfire.java.nio.file.Path nioPath = paths.convert( path );
       
        StringBuffer content = new StringBuffer();
        for(String global : globals) {
            content.append(GLOBAL_KEYWORD);
            content.append(global);
            content.append("\n");
        }
        String contentWithImport = packageImportHelper.assertPackageImportDRL( content.toString(), path );

        String contentWithPackage = packageImportHelper.assertPackageName(contentWithImport, null);
        ioService.write( nioPath,
                         contentWithPackage,
                         new CommentedOption( jcrModule.getLastContributor(),
                                              null,
                                              jcrModule.getCheckinComment(),
                                              jcrModule.getLastModified() ) );
       
        return path;
    }

}
TOP

Related Classes of org.drools.workbench.jcr2vfsmigration.migrater.asset.GlobalMigrater

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.