public NginxServerDescriptor createDescriptorFromFile(VirtualFile file) throws ThisIsNotNginxExecutableException {
NginxCompileParameters compileParameters = NginxCompileParametersExtractor.extract(file);
NginxServerDescriptor descriptor = getDefaultDescriptorFromFile(file);
descriptor.setName("nginx/Unix [" + compileParameters.getVersion() + "]");
String prefix;
if (compileParameters.getPrefix() != null) {
prefix = compileParameters.getPrefix();
} else {
prefix = DEFAULT_PREFIX;
}
if (compileParameters.getConfigurationPath() != null) {
descriptor.setConfigPath(compileParameters.getConfigurationPath());
} else {
descriptor.setConfigPath(prefix + DEFAULT_CONF_PATH);
}
if (compileParameters.getPidPath() != null) {
descriptor.setPidPath(compileParameters.getPidPath());
} else {
descriptor.setPidPath(prefix + DEFAULT_PID_PATH);
}
if (compileParameters.getHttpLogPath() != null) {
descriptor.setHttpLogPath(compileParameters.getHttpLogPath());
} else {
descriptor.setHttpLogPath(prefix + DEFAULT_HTTP_LOG_PATH);
}
if (compileParameters.getErrorLogPath() != null) {
descriptor.setErrorLogPath(compileParameters.getErrorLogPath());
} else {
descriptor.setErrorLogPath(prefix + DEFAULT_ERROR_LOG_PATH);
}
return descriptor;
}