Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
0138b6e
ENG-2021: Added new context parameter (application base url provided …
eugeniosant Mar 18, 2021
40aa553
ENG-2021: Improvement of UrlManager with applicationBaseUrl provided …
eugeniosant Mar 18, 2021
1b6e466
ENG-2021: Improvement of UrlManager integration test
eugeniosant Mar 18, 2021
2732238
Merge branch 'master' into ENG-2021
eugeniosant May 4, 2021
3ceb9e1
Merge branch 'develop' into ENG-2021
eugeniosant Nov 18, 2021
9a710de
Merge branch 'develop-webui' into ENG-2021
Dec 16, 2021
fe483bc
ENG-2723 ENG-2834: Nx Page Template and System Level Page Templates (…
werbth Dec 18, 2021
c1e827b
ENG-3071: Installed pipelines v1.1.2 and added triggers on develop-we…
ffleandro Dec 22, 2021
ab8bf62
Renamed Page Model type
Dec 22, 2021
57cdb65
Renamed Page Model type (#217)
ffleandro Dec 23, 2021
dbb3fab
Merge branch 'ENG-2723-create-page-mode-type' into develop-webui
user-54dbb57a Dec 24, 2021
5aa4d6d
ENG-3071 Pipelines and Epic Branches for webui
user-54dbb57a Dec 28, 2021
0aa04bf
ENG-2021: Improvement of web-ui constants
eugeniosant Jan 3, 2022
356cc71
Merge commit '57cdb654b5e3bdf0fe58a8764df38c706b033165' into ENG-2021
Jan 11, 2022
36fe78e
Merge branch 'epic/webui' into ENG-2021
Jan 11, 2022
c6df540
Merge branch 'develop' into epic/webui
Jan 11, 2022
6d10106
Merge branch 'develop' into epic/webui
Jan 25, 2022
b49e738
Merge branch 'epic/webui' into ENG-2021
Jan 25, 2022
dfb81b9
Merge pull request #218 from entando/ENG-3071-Pipelines-and-Epic-Bran…
ffleandro Jan 25, 2022
1ec0b6b
Merge remote-tracking branch 'origin/epic/webui' into ENG-2021
werbth Jan 25, 2022
6a85091
Merge pull request #207 from entando/ENG-2021
werbth Jan 25, 2022
ae10995
ENG-2021: Fix code smells
werbth Feb 3, 2022
949ba8b
ENG-2021: Fix code smells
werbth Feb 3, 2022
63ed4fa
Merge pull request #228 from entando/ENG-2021_fix-code-smells
werbth Feb 3, 2022
165ea8f
Merge branch 'develop' into epic/webui
werbth Feb 15, 2022
57a7ec9
Merge branch 'develop' into epic/webui
werbth Feb 25, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/workflows/ga-publication.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,12 @@ on:
- created

env:
ENTANDO_OPT_USE_PPL_TAG: "v1.1.0"
ENTANDO_OPT_USE_PPL_TAG: "v1.2.0"
ENTANDO_OPT_FEATURES: "${{ secrets.ENTANDO_OPT_FEATURES }}"
ENTANDO_OPT_GLOBAL_FEATURES: "${{ secrets.ENTANDO_OPT_GLOBAL_FEATURES }}"
ENTANDO_OPT_LOG_LEVEL: "${{ secrets.ENTANDO_OPT_LOG_LEVEL }}"
ENTANDO_OPT_REPO_BOM_URL: "${{ secrets.ENTANDO_OPT_REPO_BOM_URL }}"
ENTANDO_OPT_CUSTOM_ENV: "${{ secrets.ENTANDO_OPT_CUSTOM_ENV }}"
PPL_CONTEXT: ${{ toJson(github) }}
GIT_USER_NAME: "${{ secrets.GIT_USER_NAME }}"
GIT_USER_EMAIL: "${{ secrets.GIT_USER_EMAIL }}"
Expand Down
14 changes: 8 additions & 6 deletions .github/workflows/post-merge.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,11 @@ on:
push:
branches:
- develop
- epic/*
- release/*

env:
ENTANDO_OPT_USE_PPL_TAG: "v1.1.0"
ENTANDO_OPT_USE_PPL_TAG: "v1.2.0"
ENTANDO_OPT_FEATURES: "${{ secrets.ENTANDO_OPT_FEATURES }}"
ENTANDO_OPT_GLOBAL_FEATURES: "${{ secrets.ENTANDO_OPT_GLOBAL_FEATURES }}"
ENTANDO_OPT_LOG_LEVEL: "${{ secrets.ENTANDO_OPT_LOG_LEVEL }}"
Expand All @@ -22,18 +24,18 @@ jobs:
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# SNAPSHOT TAG

add-snapshot-tag:
add-version-tag:
runs-on: ubuntu-latest
steps:
- name: "ADD SNAPSOT TAG"
- name: "ADD SNAPSHOT TAG"
run: |
${{ secrets.ENTANDO_OPT_PPL_INSTALL_CMD }}

~/ppl-run pr-status-report \
.. checkout-branch base \
--id "CHECKOUT-BASE" \
--lcd "$LOCAL_CLONE_DIR" \
--token "${{ secrets.ENTANDO_BOT_TOKEN }}" \
.. release tag-snapshot-version \
--id "TAG-SNAPSHOT" \
.. publication tag-git-version \
--id "TAG-VERSION" \
--lcd "$LOCAL_CLONE_DIR"
70 changes: 49 additions & 21 deletions .github/workflows/pr.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

name: PR-CYCLE

on:
Expand All @@ -9,13 +8,21 @@ on:
- reopened
branches:
- develop
- epic/*
- release/*

env:
ENTANDO_OPT_USE_PPL_TAG: "v1.1.0"
ENTANDO_OPT_USE_PPL_TAG: "v1.2.0"
ENTANDO_OPT_FEATURES: "${{ secrets.ENTANDO_OPT_FEATURES }}"
ENTANDO_OPT_GLOBAL_FEATURES: "${{ secrets.ENTANDO_OPT_GLOBAL_FEATURES }}"
ENTANDO_OPT_LOG_LEVEL: "${{ secrets.ENTANDO_OPT_LOG_LEVEL }}"
ENTANDO_OPT_REPO_BOM_URL: "${{ secrets.ENTANDO_OPT_REPO_BOM_URL }}"
ENTANDO_OPT_CUSTOM_ENV: "${{ secrets.ENTANDO_OPT_CUSTOM_ENV }}"
ENTANDO_OPT_OKD_LOGIN: "${{ secrets.ENTANDO_OPT_OKD_LOGIN }}"
ENTANDO_OPT_IMAGE_REGISTRY_OVERRIDE: "${{ secrets.ENTANDO_OPT_IMAGE_REGISTRY_OVERRIDE }}"
ENTANDO_OPT_DOCKER_ORG: "${{ secrets.ENTANDO_OPT_DOCKER_ORG }}"
ENTANDO_OPT_TEST_NAMESPACE: "${{ secrets.ENTANDO_OPT_TEST_NAMESPACE }}"
ENTANDO_OPT_HELM_CLI_URL: "${{ secrets.ENTANDO_OPT_HELM_CLI_URL }}"
PPL_CONTEXT: ${{ toJson(github) }}
GIT_USER_NAME: "${{ secrets.GIT_USER_NAME }}"
GIT_USER_EMAIL: "${{ secrets.GIT_USER_EMAIL }}"
Expand All @@ -40,9 +47,9 @@ jobs:
${{ secrets.ENTANDO_OPT_PPL_INSTALL_CMD }}
~/ppl-run \
.. status-report \
.. @checkout-branch pr --lcd "$LOCAL_CLONE_DIR" \
.. @checkout-branch --lcd "$LOCAL_CLONE_DIR" \
.. @setup-feature-flags "PR_PREFLIGHT_CHECKS" "BOM_CHECK" "BOM" \
.. @setup-features-list "SCAN_MATRIX" --prefix "SCAN-MVN-" \
.. @setup-features-list "SCAN_MATRIX" --prefix "MTX-MVN-,MTX-SCAN-" \
;
- name: "PR preflight checks"
if: steps.START.outputs.PR_PREFLIGHT_CHECKS != 'false'
Expand All @@ -57,18 +64,24 @@ jobs:
full-build:
needs: [ 'prepare' ]
runs-on: ubuntu-latest
env:
ENTANDO_BOT_TOKEN: ${{ secrets.ENTANDO_BOT_TOKEN }}
ENTANDO_OPT_OKD_LOGIN_URL: "${{ secrets.ENTANDO_OPT_OKD_LOGIN_URL }}"
ENTANDO_OPT_OKD_LOGIN_TOKEN: "${{ secrets.ENTANDO_OPT_OKD_LOGIN_TOKEN }}"
ENTANDO_OPT_OKD_LOGIN_NAMESPACE: "${{ secrets.ENTANDO_OPT_OKD_LOGIN_NAMESPACE }}"
ENTANDO_OPT_OKD_LOGIN_INSECURE: "${{ secrets.ENTANDO_OPT_OKD_LOGIN_INSECURE }}"
ENTANDO_OPT_OKD_CLI_URL: "${{ secrets.ENTANDO_OPT_OKD_CLI_URL }}"
steps:
#~ CHECKOUT
- name: "CHECKOUT"
id: CHECKOUT
run: |
${{ secrets.ENTANDO_OPT_PPL_INSTALL_CMD }}
~/ppl-run checkout-branch pr \
~/ppl-run checkout-branch \
--lcd "$LOCAL_CLONE_DIR" \
--token "${{ secrets.ENTANDO_BOT_TOKEN }}" \
--token "$ENTANDO_BOT_TOKEN" \
;

# Refines the cache key
echo "BUILD_CACHE_KEY=$( sha256sum "$LOCAL_CLONE_DIR/pom.xml" --zero | cut -d' ' -f1 )" >> $GITHUB_ENV
~/ppl-run generic GENERATE-BUILD-CACHE-KEY "BUILD_CACHE_KEY" --lcd "$LOCAL_CLONE_DIR" >> $GITHUB_ENV
#~ JDK
- name: "Set up JDK 11"
uses: actions/setup-java@v1
Expand Down Expand Up @@ -102,10 +115,7 @@ jobs:
SONAR_TOKEN: "${{ secrets.SONAR_TOKEN }}"
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
run: |
~/ppl-run \
.. generic FULL-BUILD --lcd "$LOCAL_CLONE_DIR" \
.. release tag-snapshot-version --lcd "$LOCAL_CLONE_DIR" \
;
~/ppl-run generic FULL-BUILD --lcd "$LOCAL_CLONE_DIR"

# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Expand All @@ -126,8 +136,7 @@ jobs:
run: |
${{ secrets.ENTANDO_OPT_PPL_INSTALL_CMD }}
~/ppl-run checkout-branch pr --lcd "$LOCAL_CLONE_DIR"

echo "BUILD_CACHE_KEY=$( sha256sum "$LOCAL_CLONE_DIR/pom.xml" --zero | cut -d' ' -f1 )" >> $GITHUB_ENV
~/ppl-run generic GENERATE-BUILD-CACHE-KEY "BUILD_CACHE_KEY" --lcd "$LOCAL_CLONE_DIR" >> $GITHUB_ENV
#~ JDK
- name: "Set up JDK 11"
uses: actions/setup-java@v1
Expand All @@ -139,8 +148,11 @@ jobs:
uses: actions/cache@v2
with:
path: ~/.m2
key: ${{ runner.os }}-m2
restore-keys: ${{ runner.os }}-m2
key: ${{ runner.os }}-m2-matrix-${{ matrix.scan-type }}
restore-keys: |
${{ runner.os }}-m2-matrix-${{ matrix.scan-type }}
${{ runner.os }}-m2-matrix-
${{ runner.os }}-m2-
#~ BUILD CACHE
- name: "Cache Build Dir"
id: build-cache
Expand All @@ -149,17 +161,33 @@ jobs:
path: "${{ env.LOCAL_CLONE_DIR}}/target/"
key: ${{ runner.os }}-build-${{ env.BUILD_CACHE_KEY }}
#~ SCAN
- name: "Run the Scan"
- name: "Run the matrix step ${{ matrix.scan-type }}"
run: |
SCAN_TYPE="${{ matrix.scan-type }}"
case "$SCAN_TYPE" in
SCAN-MVN-SONAR)
MTX-MVN-SCAN-SONAR)
export GITHUB_TOKEN="${{ secrets.GITHUB_TOKEN }}"
export SONAR_TOKEN="${{ secrets.SONAR_TOKEN }}"
export ENTANDO_OPT_SONAR_PROJECT_KEY="${{ secrets.ENTANDO_OPT_SONAR_PROJECT_KEY }}"
;;
SCAN-MVN-SNYK)
MTX-SCAN-SNYK)
export SNYK_TOKEN="${{ secrets.SNYK_TOKEN }}"
;;
;;
MTX-MVN-POST-DEPLOYMENT-TESTS)
export ENTANDO_OPT_OKD_LOGIN_URL="${{ secrets.ENTANDO_OPT_OKD_LOGIN_URL }}"
export ENTANDO_OPT_OKD_LOGIN_TOKEN="${{ secrets.ENTANDO_OPT_OKD_LOGIN_TOKEN }}"
export ENTANDO_OPT_OKD_LOGIN_NAMESPACE="${{ secrets.ENTANDO_OPT_OKD_LOGIN_NAMESPACE }}"
export ENTANDO_OPT_OKD_LOGIN_INSECURE="${{ secrets.ENTANDO_OPT_OKD_LOGIN_INSECURE }}"
export ENTANDO_OPT_OKD_CLI_URL="${{ secrets.ENTANDO_OPT_OKD_CLI_URL }}"
export ENTANDO_OPT_IMAGE_REGISTRY_CREDENTIALS="${{ secrets.ENTANDO_OPT_IMAGE_REGISTRY_CREDENTIALS }}"
export ENTANDO_OPT_TEST_NAMESPACE="${{ secrets.ENTANDO_OPT_TEST_NAMESPACE }}"
export ENTANDO_OPT_TEST_HOSTNAME_SUFFIX="${{ secrets.ENTANDO_OPT_TEST_HOSTNAME_SUFFIX }}"
export ENTANDO_OPT_DOCKER_BUILDS="${{ secrets.ENTANDO_OPT_DOCKER_BUILDS }}"
export ENTANDO_OPT_DOCKER_ORG="${{ secrets.ENTANDO_OPT_DOCKER_ORG }}"
export ENTANDO_OPT_DOCKER_USERNAME="${{ secrets.ENTANDO_OPT_DOCKER_USERNAME }}"
export ENTANDO_OPT_DOCKER_PASSWORD="${{ secrets.ENTANDO_OPT_DOCKER_PASSWORD }}"
export ENTANDO_OPT_TEST_TLS_CRT="${{ secrets.ENTANDO_OPT_TEST_TLS_CRT }}"
export ENTANDO_OPT_TEST_TLS_KEY="${{ secrets.ENTANDO_OPT_TEST_TLS_KEY }}"
;;
esac
~/ppl-run generic "$SCAN_TYPE" mvn --id "$SCAN_TYPE" --lcd "$LOCAL_CLONE_DIR"
20 changes: 11 additions & 9 deletions .github/workflows/publication.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,12 @@ on:
- 'v*'

env:
ENTANDO_OPT_USE_PPL_TAG: "v1.1.0"
ENTANDO_OPT_USE_PPL_TAG: "v1.2.0"
ENTANDO_OPT_FEATURES: "${{ secrets.ENTANDO_OPT_FEATURES }}"
ENTANDO_OPT_GLOBAL_FEATURES: "${{ secrets.ENTANDO_OPT_GLOBAL_FEATURES }}"
ENTANDO_OPT_LOG_LEVEL: "${{ secrets.ENTANDO_OPT_LOG_LEVEL }}"
ENTANDO_OPT_REPO_BOM_URL: "${{ secrets.ENTANDO_OPT_REPO_BOM_URL }}"
ENTANDO_OPT_CUSTOM_ENV: "${{ secrets.ENTANDO_OPT_CUSTOM_ENV }}"
PPL_CONTEXT: ${{ toJson(github) }}
GIT_USER_NAME: "${{ secrets.GIT_USER_NAME }}"
GIT_USER_EMAIL: "${{ secrets.GIT_USER_EMAIL }}"
Expand All @@ -33,21 +34,21 @@ jobs:
id: START
run: |
${{ secrets.ENTANDO_OPT_PPL_INSTALL_CMD }}
~/ppl-run status-report \
~/ppl-run \
.. status-report \
.. @setup-feature-flags "PR_FORMAT_CHECK" "BOM_CHECK" "BOM" \
.. @setup-features-list "SCAN_MATRIX" true SONAR_SCAN OWASP_SCAN SNYK_SCAN \
;
#~ CHECKOUT
- name: "Checkout"
- name: "CHECKOUT"
id: CHECKOUT
run: |
~/ppl-run \
.. checkout-branch base --id "CHECKOUT FOR NEXUS PUBLICATION" --lcd "$LOCAL_CLONE_DIR" \
.. checkout-branch --id "CHECKOUT FOR NEXUS PUBLICATION" \
--lcd "$LOCAL_CLONE_DIR" \
--token "$ENTANDO_BOT_TOKEN" \
.. pr-preflight-checks --only flags --lcd "$LOCAL_CLONE_DIR" \
;

# Refines the cache key
echo "BUILD_CACHE_KEY=$( sha256sum "$LOCAL_CLONE_DIR/pom.xml" --zero | cut -d' ' -f1 )" >> $GITHUB_ENV
~/ppl-run generic GENERATE-BUILD-CACHE-KEY "BUILD_CACHE_KEY" --lcd "$LOCAL_CLONE_DIR" >> $GITHUB_ENV
#~ JDK
- name: "Set up JDK 11"
uses: actions/setup-java@v1
Expand Down Expand Up @@ -91,7 +92,8 @@ jobs:
~/ppl-run bom update-bom \
--id "UPDATE-BOM" \
--lcd "$LOCAL_CLONE_DIR" \
--token "$ENTANDO_BOT_TOKEN"
--token "$ENTANDO_BOT_TOKEN" \
;
#~ PUBLISH TO DOCKER IMAGE
- name: "Publish docker"
env:
Expand Down
4 changes: 4 additions & 0 deletions src/main/java/com/agiletec/aps/system/SystemConstants.java
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,10 @@ public interface SystemConstants {
public static final String EXTRAPAR_EXECUTOR_BEAN_CONTAINER = "reqCtx_param_ExecutorBeanContainer";

public static final String EXTRAPAR_CSP_NONCE_TOKEN = "reqCtx_param_nonce_token";

public static final String WEB_UI_ENABLED = "WEB_UI_ENABLED";

public static final String EXTRAPAR_WEB_UI_APPL_BASE_URL = "webui_applicationBaseURL";

/**
* Nome parametro di sessione: utente corrente
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,14 @@
import java.util.*;

/**
* Representation of a page template.
* This object contains the description and the definition of "frames" available.
* The definition of the page template is in the form of jsp or freemarker template.
* Representation of a page template.
* This object contains the description and the definition of "frames" available.
* The definition of the page template is in the form of jsp or freemarker template.
* In the case of representation on jsp, the file name is equals then the template code.
* The "frames" are page sections that can contains a "widget".
*/
@XmlRootElement(name = "pageModel")
@XmlType(propOrder = {"code", "description", "pluginCode", "template", "configuration"})
@XmlType(propOrder = {"code", "description", "pluginCode", "template", "configuration", "type", "locked"})
public class PageModel implements Serializable {

private String code;
Expand All @@ -39,6 +39,8 @@ public class PageModel implements Serializable {
private int mainFrame = -1;
private String pluginCode;
private String template;
private PageModelType type;
private boolean locked;

/**
* Return the code of page template.
Expand Down Expand Up @@ -243,6 +245,24 @@ public void setTemplate(String template) {
this.template = template;
}

@XmlElement(name = "type")
public PageModelType getType() {
return type;
}

public void setType(PageModelType type) {
this.type = type;
}

@XmlElement(name = "locked")
public boolean isLocked() {
return locked;
}

public void setLocked(boolean locked) {
this.locked = locked;
}

@Override
public String toString() {
return new ToStringBuilder(this)
Expand All @@ -252,6 +272,8 @@ public String toString() {
.append("mainFrame", mainFrame)
.append("pluginCode", pluginCode)
.append("template", template)
.append("type", type)
.append("locked", locked)
.toString();
}

Expand All @@ -265,12 +287,14 @@ public boolean equals(Object o) {
Objects.equals(description, pageModel.description) &&
Arrays.equals(configuration, pageModel.configuration) &&
Objects.equals(pluginCode, pageModel.pluginCode) &&
Objects.equals(template, pageModel.template);
Objects.equals(template, pageModel.template) &&
Objects.equals(type, pageModel.type) &&
Objects.equals(locked, pageModel.locked);
}

@Override
public int hashCode() {
int result = Objects.hash(code, description, mainFrame, pluginCode, template);
int result = Objects.hash(code, description, mainFrame, pluginCode, template, type, locked);
result = 31 * result + Arrays.hashCode(configuration);
return result;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@

import com.agiletec.aps.system.common.AbstractSearcherDAO;
import com.agiletec.aps.system.common.FieldSearchFilter;
import org.apache.commons.lang3.BooleanUtils;
import org.entando.entando.ent.exception.EntException;
import org.apache.commons.lang3.StringUtils;
import org.entando.entando.aps.system.services.widgettype.IWidgetTypeManager;
Expand Down Expand Up @@ -109,6 +110,9 @@ protected PageModel getPageModelFromResultSet(ResultSet res) throws EntException
}
pageModel.setPluginCode(res.getString(4));
pageModel.setTemplate(res.getString(5));
String type = res.getString(6);
pageModel.setType(type == null ? PageModelType.NT : PageModelType.valueOf(type));
pageModel.setLocked(res.getBoolean(7));
} catch (Throwable t) {
logger.error("Error building the page template code '{}'", code, t);
throw new RuntimeException("Error building the page template code '" + code + "'", t);
Expand All @@ -132,6 +136,8 @@ public void addModel(PageModel model) {
stat.setString(4, pluginCode);
String template = (StringUtils.isBlank(model.getTemplate())) ? null : model.getTemplate();
stat.setString(5, template);
stat.setString(6, model.getType() == null ? null : model.getType().toString());
stat.setBoolean(7, model.isLocked());
stat.executeUpdate();
conn.commit();
} catch (Throwable t) {
Expand Down Expand Up @@ -216,10 +222,10 @@ public void setWidgetTypeManager(IWidgetTypeManager widgetTypeManager) {


private final String ALL_PAGEMODEL =
"SELECT code, descr, frames, plugincode, templategui FROM pagemodels";
"SELECT code, descr, frames, plugincode, templategui, type, locked FROM pagemodels";

private static final String ADD_PAGEMODEL =
"INSERT INTO pagemodels (code, descr, frames, plugincode, templategui) VALUES ( ? , ? , ? , ? , ? )";
"INSERT INTO pagemodels (code, descr, frames, plugincode, templategui, type, locked) VALUES ( ? , ? , ? , ? , ?, ?, ? )";

private static final String UPDATE_PAGEMODEL =
"UPDATE pagemodels SET descr = ? , frames = ? , plugincode = ? , templategui = ? WHERE code = ?";
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package com.agiletec.aps.system.services.pagemodel;

public enum PageModelType {
NX, NT
}
Loading