%@ include file="/portal/include/include_java.jsp" %>
<%@ page import="com.appiancorp.common.config.ApplicationContextHolder"%>
<%@ page import="com.appiancorp.core.expr.portable.environment.EvaluationEnvironment"%>
<%@ page import="com.appiancorp.record.ui.OpaqueUrlBuilderImpl"%>
<%@ page import="com.appiancorp.record.ui.ContentUuidWithType"%>
<%@ page import="com.appiancorp.suiteapi.process.ProcessModel"%>
<%@ page import="org.apache.commons.lang.StringUtils"%>
<%
ProcessModel.Descriptor pm = (ProcessModel.Descriptor) request.getAttribute("displayObject");
boolean isDisabledVersion = !pm.isEnabled();
String version = pm.getVersion();
boolean isMinorOrDraftVersion = StringUtils.isBlank(version) || !version.endsWith(".0");
boolean isDiffableVersion = isDisabledVersion && !isMinorOrDraftVersion;
String diffUrl = null;
if (isDiffableVersion) {
OpaqueUrlBuilderImpl opaqueUrlBuilder = ApplicationContextHolder.getBean(OpaqueUrlBuilderImpl.class);
String uuid = pm.getUuid();
String baseUrl = EvaluationEnvironment.getSettingsProvider().getSuiteBaseUri();
String diffPath = "/design/compare/";
String opaqueId = opaqueUrlBuilder.makeDiffObjectOpaqueInProcessModeler(
ContentUuidWithType.ContentType.PROCESS_MODEL.getId(), uuid, version, "-1");
diffUrl = baseUrl + diffPath + opaqueId;
}
pageContext.setAttribute("isDiffableVersion", isDiffableVersion);
pageContext.setAttribute("isMinorOrDraftVersion", isMinorOrDraftVersion);
pageContext.setAttribute("diffUrl", diffUrl);
%>
" target="_blank" title="">
">