Skip to content

Commit

Permalink
Merge pull request #9111 from rundeck/RCLOUD-1047
Browse files Browse the repository at this point in the history
Moving BaseNodeFilters and ExtNodeFilters to shared project
  • Loading branch information
sjrd218 committed May 14, 2024
2 parents 3fa97f9 + 9054eb1 commit 0853196
Show file tree
Hide file tree
Showing 31 changed files with 79 additions and 123 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ class JobReferenceImpl implements JobReference {
", project='" + project + '\'' +
", jobName='" + jobName + '\'' +
", groupPath='" + groupPath + '\'' +
", version='" + version + '\'' +
'}';
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
package rundeck.data.util

import com.dtolabs.rundeck.core.utils.NodeSet
import rundeck.support.filters.BaseNodeFilters

class NodeFiltersUtil {
static NodeSet filtersAsNodeSet(BaseNodeFilters econtext) {
final NodeSet nodeset = new NodeSet();
nodeset.createExclude(BaseNodeFilters.asExcludeMap(econtext)).setDominant(econtext.nodeExcludePrecedence ? true : false);
nodeset.createInclude(BaseNodeFilters.asIncludeMap(econtext)).setDominant(!econtext.nodeExcludePrecedence ? true : false);
return nodeset
}

static Map extractApiNodeFilterParams(Map params){
def result=[:]
def value=false
//convert api parameters to node filter parameters
BaseNodeFilters.filterKeys.each{k,v->
if(params[k]){
result["nodeInclude${v}"]=params[k]
value=true
}
if(params["exclude-"+k]){
result["nodeExclude${v}"]=params["exclude-"+k]
value = true
}
}
if(params.filter){
result.filter=params.filter
value=true
}
if (value && null!=params.'exclude-precedence') {
result.nodeExcludePrecedence = params['exclude-precedence'] == 'true'
}
return result
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
* limitations under the License.
*/

package com.dtolabs.rundeck.app.support
package rundeck.support.filters

import com.dtolabs.rundeck.core.utils.NodeSet
import com.dtolabs.rundeck.core.utils.OptsUtil
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
* limitations under the License.
*/

package com.dtolabs.rundeck.app.support
package rundeck.support.filters

import com.dtolabs.rundeck.core.common.FrameworkResource
import grails.validation.Validateable
Expand All @@ -34,6 +34,8 @@ public class ExtNodeFilters
extends BaseNodeFilters
implements Validateable {

Long id
Long version
String project
String filterName
String filterExcludeName
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ import com.dtolabs.rundeck.app.api.project.sources.Source
import com.dtolabs.rundeck.app.api.project.sources.Sources
import com.dtolabs.rundeck.app.support.ExecutionCleanerConfigImpl
import com.dtolabs.rundeck.app.support.PluginConfigParams
import com.dtolabs.rundeck.app.support.StoreFilterCommand
import com.dtolabs.rundeck.core.authorization.AuthContext
import com.dtolabs.rundeck.core.authorization.Validation
import com.dtolabs.rundeck.core.common.NodeFileParserException
Expand Down Expand Up @@ -99,9 +98,8 @@ import com.dtolabs.rundeck.core.resources.format.ResourceFormatGeneratorExceptio
import com.dtolabs.client.utils.Constants
import com.dtolabs.rundeck.core.common.NodeSetImpl
import com.dtolabs.rundeck.core.common.FrameworkResource
import com.dtolabs.rundeck.app.support.BaseNodeFilters
import com.dtolabs.rundeck.app.support.ExtNodeFilters
import rundeck.User
import rundeck.support.filters.BaseNodeFilters
import rundeck.support.filters.ExtNodeFilters
import rundeck.services.ExecutionService
import rundeck.services.FrameworkService
import rundeck.services.UserService
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,11 @@ import org.rundeck.app.data.model.v1.job.JobData
import org.rundeck.app.data.model.v1.job.notification.NotificationData
import org.rundeck.app.data.model.v1.job.option.OptionData
import org.rundeck.util.Sizes
import rundeck.data.job.reference.JobReferenceImpl
import rundeck.data.validation.shared.SharedJobConstraints
import rundeck.data.validation.shared.SharedJobScheduleConstraints
import rundeck.data.validation.shared.SharedLogConfigConstraints
import rundeck.data.validation.shared.SharedNodeConfigConstraints
import rundeck.data.validation.shared.SharedProjectNameConstraints
import rundeck.services.JobReferenceImpl

import java.util.stream.Collectors

Expand Down
4 changes: 2 additions & 2 deletions rundeckapp/grails-app/i18n/messages.properties
Original file line number Diff line number Diff line change
Expand Up @@ -236,8 +236,8 @@ rundeck.Execution.project.matches.invalid=The project name must match: {3}
rundeck.ScheduledExecution.project.matches.invalid=The project name must match: {3}
rundeck.ScheduledExecution.retry.validator.error=The retry value must be a valid integer, or contain an option reference: "{2}"
rundeck.ScheduledExecution.nodeThreadcount.validator.error=Thread Count must be an integer greater than 0
com.dtolabs.rundeck.app.support.ExtNodeFilters.project.matches.invalid=The project name must match: {3}
com.dtolabs.rundeck.app.support.ExtNodeFilters.filterName.matches.invalid=The filter name must match: {3}
rundeck.support.filters.ExtNodeFilters.project.matches.invalid=The project name must match: {3}
rundeck.support.filters.ExtNodeFilters.filterName.matches.invalid=The filter name must match: {3}
com.dtolabs.rundeck.app.api.ApiBulkJobDeleteRequest.id.matches.invalid=The ID must match: {3}
com.dtolabs.rundeck.app.api.ApiBulkJobDeleteRequest.idlist.matches.invalid=The idlist must be a comma-separated list of valid IDs, matching: {3}
com.dtolabs.rundeck.app.api.ApiBulkJobDeleteRequest.ids.validator.error=The ids must be a list of valid IDs, matching: [-_a-zA-Z0-9+][-\\._a-zA-Z0-9+]*
Expand Down
4 changes: 2 additions & 2 deletions rundeckapp/grails-app/i18n/messages_es_419.properties
Original file line number Diff line number Diff line change
Expand Up @@ -224,8 +224,8 @@ rundeck.Execution.project.matches.invalid=El nombre del proyecto debe coincidir:
rundeck.ScheduledExecution.project.matches.invalid=El nombre del proyecto debe coincidir: {3}
rundeck.ScheduledExecution.retry.validator.error=El valor de reintentos debe ser un entero válido o contener una opción dereferencia: "{2}"
rundeck.ScheduledExecution.nodeThreadcount.validator.error=El Número de Subprocesos deber ser un entero válido 0
com.dtolabs.rundeck.app.support.ExtNodeFilters.project.matches.invalid=El nombre del proyecto debe coincidir: {3}
com.dtolabs.rundeck.app.support.ExtNodeFilters.filterName.matches.invalid=El nombre del filtro debe coincidir: {3}
rundeck.support.filters.ExtNodeFilters.project.matches.invalid=El nombre del proyecto debe coincidir: {3}
rundeck.support.filters.ExtNodeFilters.filterName.matches.invalid=El nombre del filtro debe coincidir: {3}
com.dtolabs.rundeck.app.api.ApiBulkJobDeleteRequest.id.matches.invalid=El ID debe coincidir: {3}
com.dtolabs.rundeck.app.api.ApiBulkJobDeleteRequest.idlist.matches.invalid=El idlist debe ser una lista separada por comas de ID válidas, que coincidan: {3}
com.dtolabs.rundeck.app.api.ApiBulkJobDeleteRequest.ids.validator.error=Los ID deben ser una lista de ID, que coincidan: [-_a-zA-Z0-9+][-\\._a-zA-Z0-9+]*
Expand Down
4 changes: 2 additions & 2 deletions rundeckapp/grails-app/i18n/messages_fr_FR.properties
Original file line number Diff line number Diff line change
Expand Up @@ -236,8 +236,8 @@ rundeck.Execution.project.matches.invalid=Le nom du projet doit correspondre : {
rundeck.ScheduledExecution.project.matches.invalid=Le nom du projet doit correspondre : {3}
rundeck.ScheduledExecution.retry.validator.error=La valeur de nouvelle tentative doit \u00eatre un entier valide ou contenir une r\u00e9f\u00e9rence d\u02bcoption : "{2}"
rundeck.ScheduledExecution.nodeThreadcount.validator.error=Le nombre de threads doit \u00eatre un nombre entier sup\u00e9rieur \u00e0 0
com.dtolabs.rundeck.app.support.ExtNodeFilters.project.matches.invalid=Le nom du projet doit correspondre : {3}
com.dtolabs.rundeck.app.support.ExtNodeFilters.filterName.matches.invalid=Le nom du filtre doit correspondre : {3}
rundeck.support.filters.ExtNodeFilters.project.matches.invalid=Le nom du projet doit correspondre : {3}
rundeck.support.filters.ExtNodeFilters.filterName.matches.invalid=Le nom du filtre doit correspondre : {3}
com.dtolabs.rundeck.app.api.ApiBulkJobDeleteRequest.id.matches.invalid=L\u02bcID doit correspondre : {3}
com.dtolabs.rundeck.app.api.ApiBulkJobDeleteRequest.idlist.matches.invalid=L\u02bcidlist doit \u00eatre une liste d\u02bcidentifiants valides s\u00e9par\u00e9s par des virgules, correspondant : {3}
com.dtolabs.rundeck.app.api.ApiBulkJobDeleteRequest.ids.validator.error=Les ID doivent \u00eatre une liste d\u02bcID valides, correspondant \u00e0: [-a-zA-Z0-9 +] [- \\ ._ a-zA-Z0-9 +] *
Expand Down
4 changes: 2 additions & 2 deletions rundeckapp/grails-app/i18n/messages_ja.properties
Original file line number Diff line number Diff line change
Expand Up @@ -213,8 +213,8 @@ rundeck.Execution.project.matches.invalid=\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u
rundeck.ScheduledExecution.project.matches.invalid=\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u540d\u306f {3} \u306b\u30de\u30c3\u30c1\u3057\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
rundeck.ScheduledExecution.retry.validator.error=\u30ea\u30c8\u30e9\u30a4\u306e\u5024\u306f\u6709\u52b9\u306a\u6570\u5024\u304b\u3001\u30aa\u30d7\u30b7\u30e7\u30f3\u3078\u306e\u53c2\u7167\u3092\u542b\u3080\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002: "{2}"
rundeck.ScheduledExecution.nodeThreadcount.validator.error=\u30b9\u30ec\u30c3\u30c9\u6570\u306f0\u3088\u308a\u5927\u304d\u304f\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
com.dtolabs.rundeck.app.support.ExtNodeFilters.project.matches.invalid=\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u540d\u306f {3} \u306b\u30de\u30c3\u30c1\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
com.dtolabs.rundeck.app.support.ExtNodeFilters.filterName.matches.invalid=\u30d5\u30a3\u30eb\u30bf\u540d\u306f {3} \u306b\u30de\u30c3\u30c1\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
rundeck.support.filters.ExtNodeFilters.project.matches.invalid=\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u540d\u306f {3} \u306b\u30de\u30c3\u30c1\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
rundeck.support.filters.ExtNodeFilters.filterName.matches.invalid=\u30d5\u30a3\u30eb\u30bf\u540d\u306f {3} \u306b\u30de\u30c3\u30c1\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
com.dtolabs.rundeck.app.api.ApiBulkJobDeleteRequest.id.matches.invalid=ID\u306f {3} \u306b\u30de\u30c3\u30c1\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
com.dtolabs.rundeck.app.api.ApiBulkJobDeleteRequest.idlist.matches.invalid=ID\u306e\u30ea\u30b9\u30c8\u306f\u6709\u52b9\u306aID\u3092\u30ab\u30f3\u30de\u3067\u533a\u5207\u3063\u3066 {3} \u306b\u30de\u30c3\u30c1\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002
com.dtolabs.rundeck.app.api.ApiBulkJobDeleteRequest.ids.validator.error=ID\u306f\u6709\u52b9\u306aID\u306e\u30ea\u30b9\u30c8\u3067\u6b21\u306b\u30de\u30c3\u30c1\u3057\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002: [-_a-zA-Z0-9+][-\\._a-zA-Z0-9+]*
Expand Down
4 changes: 2 additions & 2 deletions rundeckapp/grails-app/i18n/messages_pt_BR.properties
Original file line number Diff line number Diff line change
Expand Up @@ -227,8 +227,8 @@ rundeck.Execution.project.matches.invalid=O nome do projeto deve corresponder: {
rundeck.ScheduledExecution.project.matches.invalid=O nome do projeto deve corresponder: {3}
rundeck.ScheduledExecution.retry.validator.error=O valor de repeti\u00e7\u00e3o deve ser um inteiro v\u00e1lido ou conter uma refer\u00eancia de op\u00e7\u00e3o: "{2}"
rundeck.ScheduledExecution.nodeThreadcount.validator.error=A contagem de threads deve ser um n\u00famero inteiro maior que 0
com.dtolabs.rundeck.app.support.ExtNodeFilters.project.matches.invalid=O nome do projeto deve corresponder: {3}
com.dtolabs.rundeck.app.support.ExtNodeFilters.filterName.matches.invalid=O nome do filtro deve corresponder: {3}
rundeck.support.filters.ExtNodeFilters.project.matches.invalid=O nome do projeto deve corresponder: {3}
rundeck.support.filters.ExtNodeFilters.filterName.matches.invalid=O nome do filtro deve corresponder: {3}
com.dtolabs.rundeck.app.api.ApiBulkJobDeleteRequest.id.matches.invalid=O ID deve corresponder: {3}
com.dtolabs.rundeck.app.api.ApiBulkJobDeleteRequest.idlist.matches.invalid=A lista de c\u00f3digos deve ser uma lista separada por v\u00edrgulas de c\u00f3digos v\u00e1lidos, correspondente: {3}
com.dtolabs.rundeck.app.api.ApiBulkJobDeleteRequest.ids.validator.error=Os IDs devem ser uma lista de IDs v\u00e1lidos, correspondentes: [-_a-zA-Z0-9+][-\\._a-zA-Z0-9+]*
Expand Down
4 changes: 2 additions & 2 deletions rundeckapp/grails-app/i18n/messages_zh_cn.properties
Original file line number Diff line number Diff line change
Expand Up @@ -221,8 +221,8 @@ rundeck.Execution.project.matches.invalid=The project name must match: {3}
rundeck.ScheduledExecution.project.matches.invalid=The project name must match: {3}
rundeck.ScheduledExecution.retry.validator.error=The retry value must be a valid integer, or contain an option reference: "{2}"
rundeck.ScheduledExecution.nodeThreadcount.validator.error=Thread Count must be an integer greater than 0
com.dtolabs.rundeck.app.support.ExtNodeFilters.project.matches.invalid=The project name must match: {3}
com.dtolabs.rundeck.app.support.ExtNodeFilters.filterName.matches.invalid=The filter name must match: {3}
rundeck.support.filters.ExtNodeFilters.project.matches.invalid=The project name must match: {3}
rundeck.support.filters.ExtNodeFilters.filterName.matches.invalid=The filter name must match: {3}
com.dtolabs.rundeck.app.api.ApiBulkJobDeleteRequest.id.matches.invalid=The ID must match: {3}
com.dtolabs.rundeck.app.api.ApiBulkJobDeleteRequest.idlist.matches.invalid=The idlist must be a comma-separated list of valid IDs, matching: {3}
com.dtolabs.rundeck.app.api.ApiBulkJobDeleteRequest.ids.validator.error=The ids must be a list of valid IDs, matching: [-_a-zA-Z0-9+][-\\._a-zA-Z0-9+]*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ package rundeck.services

import com.dtolabs.rundeck.core.logging.internal.LogFlusher
import com.dtolabs.rundeck.app.internal.workflow.MultiWorkflowExecutionListener
import com.dtolabs.rundeck.app.support.BaseNodeFilters
import rundeck.support.filters.BaseNodeFilters
import com.dtolabs.rundeck.app.support.ExecutionContext
import com.dtolabs.rundeck.app.support.ExecutionQuery
import com.dtolabs.rundeck.app.support.QueueQuery
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import com.dtolabs.rundeck.core.jobs.JobRevReference
import com.dtolabs.rundeck.plugins.scm.JobImportReference
import com.dtolabs.rundeck.plugins.scm.JobScmReference
import com.dtolabs.rundeck.plugins.scm.JobSerializer
import rundeck.data.job.reference.JobReferenceImpl

/**
* Created by greg on 9/14/15.
Expand Down

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ package rundeck.services
import com.dtolabs.rundeck.plugins.scm.JobExportReference
import com.dtolabs.rundeck.core.jobs.JobRevReference
import com.dtolabs.rundeck.plugins.scm.JobSerializer
import rundeck.data.job.reference.JobReferenceImpl

/**
* Created by greg on 4/28/15.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

package rundeck.services

import com.dtolabs.rundeck.app.support.BaseNodeFilters
import rundeck.support.filters.BaseNodeFilters
import com.dtolabs.rundeck.app.support.ExecutionQuery
import com.dtolabs.rundeck.core.authorization.AuthContext
import com.dtolabs.rundeck.core.authorization.UserAndRolesAuthContext
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,9 @@
package rundeck.services

import com.dtolabs.rundeck.app.api.jobs.browse.ItemMeta
import com.dtolabs.rundeck.app.support.BaseNodeFilters
import rundeck.data.job.reference.JobReferenceImpl
import rundeck.data.job.reference.JobRevReferenceImpl
import rundeck.support.filters.BaseNodeFilters
import com.dtolabs.rundeck.app.support.ScheduledExecutionQuery
import com.dtolabs.rundeck.core.audit.ActionTypes
import com.dtolabs.rundeck.core.audit.ResourceTypes
Expand Down Expand Up @@ -3333,6 +3335,7 @@ class ScheduledExecutionService implements ApplicationContextAware, Initializing
].each {
scheduledExecution."$it" = null
}
basicProps.remove("id") //id is a uuid and should not attempt to set the id field of the scheduled execution domain class
scheduledExecution.properties = basicProps
if (scheduledExecution.groupPath) {
def re = /^\/*(.+?)\/*$/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ import org.slf4j.Logger
import org.slf4j.LoggerFactory
import rundeck.ScheduledExecution
import rundeck.User
import rundeck.data.job.reference.JobRevReferenceImpl
import rundeck.services.scm.ContextJobImporter
import rundeck.services.scm.ResolvedJobImporter
import rundeck.services.scm.ScmPluginConfig
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package rundeck.services.execution

import com.dtolabs.rundeck.core.execution.ExecutionReference
import com.dtolabs.rundeck.core.jobs.JobReference
import rundeck.services.JobReferenceImpl


class ExecutionReferenceImpl implements ExecutionReference {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,10 @@ import grails.gorm.transactions.Transactional
import groovy.transform.CompileDynamic
import groovy.transform.CompileStatic
import rundeck.ScheduledExecution
import rundeck.data.job.reference.JobRevReferenceImpl
import rundeck.services.ConfigurationService
import rundeck.services.FrameworkService
import rundeck.services.JobRevReferenceImpl

import rundeck.services.ScheduledExecutionService
import rundeck.services.ScmService
import rundeck.services.StoredJobChangeEvent
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
package com.dtolabs.rundeck.app.support

import grails.gorm.dirty.checking.DirtyCheck
import rundeck.support.filters.BaseNodeFilters

/**
* ExecutionContext
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package org.rundeck.app.data.job.schedule

import org.rundeck.app.data.model.v1.job.JobData
import rundeck.services.JobRevReferenceImpl
import rundeck.data.job.reference.JobRevReferenceImpl

class DefaultJobDataChangeDetector implements JobDataChangeDetector {

Expand Down

0 comments on commit 0853196

Please sign in to comment.