package ru.vyarus.dropwizard.orient.internal.cmd;
import com.google.common.base.MoreObjects;
import com.google.common.base.Strings;
import com.orientechnologies.common.util.OCallable;
import com.orientechnologies.orient.server.network.protocol.http.command.get.OServerCommandGetStaticContent;
import java.io.BufferedInputStream;
import java.net.URL;
/**
* Virtual folder for official studio jar.
*
* @author Vyacheslav Rusakov
* @since 21.02.2017
*/
public class StudioVirtualFolder implements OCallable<Object, String> {
public static final String STUDIO_PATH = "/www/";
public static final String STUDIO_INDEX = "index.html";
@Override
public Object call(final String iArgument) {
final String fileName = STUDIO_PATH
+ MoreObjects.firstNonNull(Strings.emptyToNull(iArgument), STUDIO_INDEX);
final URL url = getClass().getResource(fileName);
if (url != null) {
final OServerCommandGetStaticContent.OStaticContent content =
new OServerCommandGetStaticContent.OStaticContent();
content.is = new BufferedInputStream(getClass().getResourceAsStream(fileName));
content.contentSize = -1;
content.type = OServerCommandGetStaticContent.getContentType(url.getFile());
return content;
}
return null;
}
}