package com.liferay.cli.shell.osgi; import com.liferay.cli.shell.CliCommand; import com.liferay.cli.shell.CliOption; import com.liferay.cli.shell.CommandMarker; import org.apache.felix.scr.annotations.Component; import org.apache.felix.scr.annotations.Reference; import org.apache.felix.scr.annotations.Service; /** * @author Sharon Li */ @Component( immediate = true ) @Service public class OSCommands implements CommandMarker { private static final String REMOVE_FILE_WINDOWS = "del"; private static final String LIST_COMMAND_UNIX = "ls"; private static final String LIST_COMMAND_WINDOWS = "dir"; private static final String MAKE_DIRECTORY_COMMAND = "mkdir"; private static final String REMOVE_DIRECTORY = "rmdir"; private static final String REMOVE_FILE_ON_UNIX = "rm"; @Reference private OSCommandService osCommandService; @CliCommand( value = { REMOVE_FILE_WINDOWS, REMOVE_DIRECTORY, REMOVE_FILE_ON_UNIX }, help = "Remove one or more files", system = true ) public void delete( @CliOption( key = { "" }, mandatory = false, help = "parameter" ) final String fileName ) { osCommandService.getOSCommandProvider().delete( fileName ); } @CliCommand( value = { LIST_COMMAND_WINDOWS, LIST_COMMAND_UNIX }, help = "Display a list of files and subfolders", system = true ) public void listFilesAndFolders( @CliOption( key = { "" }, mandatory = false, help = "Specifies the working directory" ) final String pathName ) throws Exception { osCommandService.getOSCommandProvider().list( pathName ); } @CliCommand( value = { MAKE_DIRECTORY_COMMAND }, help = "Create new folder(s)", system = true ) public void makeDirectory( @CliOption( key = { "" }, mandatory = false, help = "Name of directory" ) final String dirName) { osCommandService.getOSCommandProvider().mkdir( dirName ); } }