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

com.clickntap.stripecubeui.webapp.utils.ImageSync Maven / Gradle / Ivy

Go to download

Css / Javascript Merger and Minimizer integrated with Stripecube Web App Development

The newest version!
package com.clickntap.stripecubeui.webapp.utils;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.List;

import com.clickntap.stripecubeui.webapp.CustomApp;
import com.clickntap.stripecubeui.webapp.bo.CustomMediaFile;
import com.clickntap.tool.types.SmartImage;

public class ImageSync {

	public static void nextImage(CustomApp app) throws Exception {
		List nextImages = app.getBOListByClass(CustomMediaFile.class, "next-image");
		if (nextImages != null) {
			for (CustomMediaFile nextImage : nextImages) {
				nextImage.read();
				switch (nextImage.getWorkflow().intValue()) {
				case 0: {
					SmartImage image = new SmartImage();
					FileInputStream in = new FileInputStream(nextImage.getPrivateFile());
					image.set(in);
					image.load();
					in.close();
					if (((float) (image.getWidth() / image.getHeight())) > 16.0f / 9.0f) {
						image.scaleHeight(901);
					} else {
						image.scaleWidth(1601);
					}
					{
						image.centeredSubImage(1600, 900);
						File tempFile = File.createTempFile("image", "tmp");
						FileOutputStream out = new FileOutputStream(tempFile);
						image.copyTo(out);
						out.close();
						app.copy(nextImage.getUri("default"), tempFile);
						tempFile.delete();
					}
					{
						image.scaleHeight(240);
						File tempFile = File.createTempFile("image", "tmp");
						FileOutputStream out = new FileOutputStream(tempFile);
						image.copyTo(out);
						out.close();
						app.copy(nextImage.getUri("thumb"), tempFile);
						tempFile.delete();
					}
					nextImage.setWorkflow(2);
					nextImage.update();
					nextImage.getPrivateFile().delete();
				}
					break;
				}
			}
		}

	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy