All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.mhus.karaf.commands.testit.SOfficeShit Maven / Gradle / Ivy

There is a newer version: 6.4.0
Show newest version
/**
 * Copyright 2018 Mike Hummel
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package de.mhus.karaf.commands.testit;

import java.io.File;

import de.mhus.lib.core.MString;
import de.mhus.lib.core.io.SOfficeConnector;
import de.mhus.lib.core.parser.StringPropertyReplacerMap;

public class SOfficeShit implements ShitIfc {

	@Override
	public void printUsage() {
		System.out.println("version");
		System.out.println("convert   []");
		System.out.println("replace   [key=value]*");
		System.out.println("content ");
	}

	@Override
	public Object doExecute(String cmd, String[] parameters) throws Exception {
		if (cmd.equals("version")) {
			SOfficeConnector tool = new SOfficeConnector();
			System.out.println("Binary : " + tool.getBinary());
			System.out.println("Valid  : " + tool.isValid());
			System.out.println("Version: " + tool.getVersion());
			return null;
		}
		if (cmd.equals("convert")) {
			SOfficeConnector tool = new SOfficeConnector();
			String res = tool.convertTo(parameters[1], parameters[0], parameters.length > 2 ? parameters[2] : null);
			return res;
		}
		if (cmd.equals("pdf")) {
			SOfficeConnector tool = new SOfficeConnector();
			String res = tool.convertToPdf(parameters[0], parameters.length > 1 ? parameters[1] : null);
			return res;
		}
		if (cmd.equals("replace")) {
			StringPropertyReplacerMap replacer = new StringPropertyReplacerMap();
			for (int i = 2; i < parameters.length; i++) {
				String key = MString.beforeIndex(parameters[i], '=');
				String value = MString.afterIndex(parameters[i], '=');
				replacer.put(key, value);
			}
				
			SOfficeConnector.replace(new File(parameters[0]), new File(parameters[1]), replacer);
		}
		if (cmd.equals("content")) {
			System.out.println(
				SOfficeConnector.content(new File(parameters[0]))
			);
		}
		return null;
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy