[WIP] Dataflow Engine

@pentaho/bb-8

Build Completed
:x: This pull request has errors. They will need to be addressed before it can be accepted. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
mvn -B -fn -f 'pom.xml' -pl 'engine-ext/api,engine,plugins/engine-configuration/impl,core,engine-ext' -P '!assemblies' -Dsurefire.runOrder=alphabetical -Daudit -amd clean install

Cleanup Commands
mvn -B -f 'pom.xml' -pl 'engine-ext/api,engine,plugins/engine-configuration/impl,core,engine-ext' -P '!assemblies' -amd build-helper:remove-project-artifact

Changed files
  core/src/main/java/org/pentaho/di/core/xml/XMLHandler.java
  engine-ext/api/pom.xml
  engine-ext/pom.xml
  engine/src/main/java/org/pentaho/di/trans/TransSupplier.java
  engine/src/main/java/org/pentaho/di/trans/ael/adapters/DataflowEngineAdapter.java
  engine/src/main/java/org/pentaho/di/trans/ael/adapters/DataflowRunner.java
  engine/src/main/java/org/pentaho/di/trans/ael/adapters/TestLogger.java
  engine/src/test/java/org/pentaho/di/trans/TransSupplierTest.java
  engine/src/test/java/org/pentaho/di/trans/ael/adapters/DataflowRunnerTest.java
  engine/src/test/resources/log4j.xml
  plugins/engine-configuration/impl/src/main/java/org/pentaho/di/engine/configuration/impl/EmbeddedRunConfigurationManager.java
  plugins/engine-configuration/impl/src/main/java/org/pentaho/di/engine/configuration/impl/dataflow/DataflowRunConfiguration.java
  plugins/engine-configuration/impl/src/main/java/org/pentaho/di/engine/configuration/impl/dataflow/DataflowRunConfigurationExecutor.java
  plugins/engine-configuration/impl/src/main/java/org/pentaho/di/engine/configuration/impl/dataflow/DataflowRunConfigurationProvider.java
  plugins/engine-configuration/impl/src/main/java/org/pentaho/di/engine/configuration/impl/dataflow/DataflowRunConfigurationUI.java
  plugins/engine-configuration/impl/src/main/resources/OSGI-INF/blueprint/beans.xml

Unit Test Coverage
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.

:warning: Coverage Changes (click to expand)
org.pentaho.di.core.xml.XMLHandler

Complexity Change: -0.4% :small_red_triangle_down:
Instruction Change: -0.7% :small_red_triangle_down:
Line Change: -0.7% :small_red_triangle_down:
Method Change: -1% :small_red_triangle_down:

org.pentaho.di.job.entries.evalfilesmetrics.JobEntryEvalFilesMetrics

Branch Change: -0.4% :small_red_triangle_down:
Complexity Change: -0.5% :small_red_triangle_down:
Instruction Change: -0.1% :small_red_triangle_down:

:new: org.pentaho.di.trans.ael.adapters.DataflowEngineAdapter

Branch Coverage: 0% :exclamation:
Complexity Coverage: 15.4% :exclamation:
Instruction Coverage: 11.7% :exclamation:
Line Coverage: 10.9% :exclamation:
Method Coverage: 16.7% :exclamation:

:new: org.pentaho.di.trans.ael.adapters.DataflowRunner

Coverage: 0% :exclamation:

:new: org.pentaho.di.trans.ael.adapters.DataflowRunner.ConsoleRedirector

Coverage: 0% :exclamation:

:new: org.pentaho.di.trans.ael.adapters.TestLogger

Coverage: 0% :exclamation:

org.pentaho.di.trans.steps.constant.ConstantMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.dimensionlookup.DimensionLookupMeta

Branch Change: -1.8% :small_red_triangle_down:
Complexity Change: -1.1% :small_red_triangle_down:
Instruction Change: -0.4% :small_red_triangle_down:
Line Change: -0.3% :small_red_triangle_down:

org.pentaho.di.trans.steps.ldapoutput.LDAPOutputMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.rowgenerator.RowGeneratorMeta

Branch Change: -2.6% :small_red_triangle_down:
Complexity Change: -1.5% :small_red_triangle_down:
Instruction Change: -0.1% :small_red_triangle_down:

:new: org.pentaho.di.engine.configuration.impl.dataflow.DataflowRunConfiguration

Coverage: 0% :exclamation:

:new: org.pentaho.di.engine.configuration.impl.dataflow.DataflowRunConfigurationExecutor

Coverage: 0% :exclamation:

:new: org.pentaho.di.engine.configuration.impl.dataflow.DataflowRunConfigurationProvider

Branch Coverage: 0% :exclamation:
Complexity Coverage: 44.4% :exclamation:
Instruction Coverage: 54.3% :exclamation:
Line Coverage: 63.6% :exclamation:
Method Coverage: 50% :exclamation:

:new: org.pentaho.di.engine.configuration.impl.dataflow.DataflowRunConfigurationUI

Coverage: 0% :exclamation:

org.pentaho.di.ui.repository.pur.repositoryexplorer.model.UISecurityRole

Branch Change: -1.8% :small_red_triangle_down:
Complexity Change: -1.5% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:
Line Change: -0.5% :small_red_triangle_down:

Note: The list of offending coverage changes extends beyond the presented results and was truncated to prevent reaching the comment size limit.

License header violations

:heavy_exclamation_mark: Copyright year is not the current year on core/src/main/java/org/pentaho/di/core/xml/XMLHandler.java. Found 2017. Was expecting 2018

:heavy_exclamation_mark: Copyright year is not the current year on engine/src/main/java/org/pentaho/di/trans/TransSupplier.java. Found 2017. Was expecting 2018

:heavy_exclamation_mark: Couldn't find acceptable copyright on engine/src/main/java/org/pentaho/di/trans/ael/adapters/DataflowRunner.java

:heavy_exclamation_mark: Couldn't find acceptable license on engine/src/main/java/org/pentaho/di/trans/ael/adapters/DataflowRunner.java

:heavy_exclamation_mark: Couldn't find acceptable copyright on engine/src/main/java/org/pentaho/di/trans/ael/adapters/TestLogger.java

:heavy_exclamation_mark: Couldn't find acceptable license on engine/src/main/java/org/pentaho/di/trans/ael/adapters/TestLogger.java

:heavy_exclamation_mark: Couldn't find acceptable copyright on engine/src/test/java/org/pentaho/di/trans/ael/adapters/DataflowRunnerTest.java

:heavy_exclamation_mark: Couldn't find acceptable license on engine/src/test/java/org/pentaho/di/trans/ael/adapters/DataflowRunnerTest.java

:heavy_exclamation_mark: Copyright year is not the current year on plugins/engine-configuration/impl/src/main/java/org/pentaho/di/engine/configuration/impl/EmbeddedRunConfigurationManager.java. Found 2017. Was expecting 2018

:heavy_exclamation_mark: Couldn't find acceptable copyright on plugins/engine-configuration/impl/src/main/java/org/pentaho/di/engine/configuration/impl/dataflow/DataflowRunConfiguration.java

:heavy_exclamation_mark: Couldn't find acceptable license on plugins/engine-configuration/impl/src/main/java/org/pentaho/di/engine/configuration/impl/dataflow/DataflowRunConfiguration.java

:heavy_exclamation_mark: Couldn't find acceptable copyright on plugins/engine-configuration/impl/src/main/java/org/pentaho/di/engine/configuration/impl/dataflow/DataflowRunConfigurationExecutor.java

:heavy_exclamation_mark: Couldn't find acceptable license on plugins/engine-configuration/impl/src/main/java/org/pentaho/di/engine/configuration/impl/dataflow/DataflowRunConfigurationExecutor.java

:heavy_exclamation_mark: Couldn't find acceptable copyright on plugins/engine-configuration/impl/src/main/java/org/pentaho/di/engine/configuration/impl/dataflow/DataflowRunConfigurationProvider.java

:heavy_exclamation_mark: Couldn't find acceptable license on plugins/engine-configuration/impl/src/main/java/org/pentaho/di/engine/configuration/impl/dataflow/DataflowRunConfigurationProvider.java

:heavy_exclamation_mark: Couldn't find acceptable copyright on plugins/engine-configuration/impl/src/main/java/org/pentaho/di/engine/configuration/impl/dataflow/DataflowRunConfigurationUI.java

:heavy_exclamation_mark: Couldn't find acceptable license on plugins/engine-configuration/impl/src/main/java/org/pentaho/di/engine/configuration/impl/dataflow/DataflowRunConfigurationUI.java

Checkstyle violations
The code submitted is not complying with one or more of our guidelines. To perform these checks locally, please use this tool.
/home/buildguy/project/core/src/main/java/org/pentaho/di/core/xml/XMLHandler.java

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 1,252 Column: 30

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 1,252 Column: 51

:heavy_exclamation_mark: '{' is not preceded with whitespace. at Line: 1,252 Column: 52

/home/buildguy/project/engine/src/main/java/org/pentaho/di/trans/TransSupplier.java

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 42 Column: 24

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 42 Column: 102

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 55 Column: 9

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 55 Column: 23

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 55 Column: 45

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 55 Column: 53

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 55 Column: 54

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 55 Column: 55

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 56 Column: 20

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 56 Column: 51

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 61 Column: 39

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 61 Column: 43

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 62 Column: 45

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 62 Column: 62

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 63 Column: 41

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 63 Column: 54

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 64 Column: 41

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 64 Column: 54

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 67 Column: 49

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 67 Column: 64

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 68 Column: 9

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 68 Column: 39

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 68 Column: 46

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 68 Column: 47

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 70 Column: 46

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 70 Column: 54

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 70 Column: 82

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 70 Column: 90

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 71 Column: 46

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 71 Column: 72

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 74 Column: 40

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 74 Column: 49

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 78 Column: 29

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 78 Column: 51

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 80 Column: 53

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 80 Column: 59

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 81 Column: 14

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 81 Column: 37

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 82 Column: 34

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 82 Column: 35

/home/buildguy/project/engine/src/main/java/org/pentaho/di/trans/ael/adapters/DataflowEngineAdapter.java

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 47 Column: 61

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 47 Column: 88

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 49 Column: 67

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 49 Column: 68

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 51 Column: 32

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 51 Column: 51

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 56 Column: 32

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 56 Column: 50

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 57 Column: 15

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 57 Column: 59

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 58 Column: 28

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 58 Column: 37

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 63 Column: 15

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 63 Column: 31

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 66 Column: 23

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 68 Column: 47

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 68 Column: 62

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 69 Column: 40

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 69 Column: 62

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 69 Column: 86

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 69 Column: 87

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 70 Column: 60

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 70 Column: 87

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 71 Column: 28

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 71 Column: 51

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 73 Column: 23

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 73 Column: 27

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 74 Column: 8

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 75 Column: 14

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 75 Column: 25

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 76 Column: 34

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 76 Column: 77

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 82 Column: 15

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 82 Column: 36

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 88 Column: 15

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 88 Column: 26

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 92 Column: 27

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 92 Column: 40

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 94 Column: 16

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 94 Column: 75

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 95 Column: 16

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 95 Column: 75

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 96 Column: 14

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 96 Column: 25

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 97 Column: 17

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 97 Column: 79

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 101 Column: 30

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 101 Column: 52

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 102 Column: 17

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 102 Column: 21

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 103 Column: 9

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 103 Column: 23

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 105 Column: 31

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 105 Column: 74

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 105 Column: 84

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 106 Column: 25

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 106 Column: 29

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 107 Column: 25

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 107 Column: 30

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 108 Column: 8

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 110 Column: 33

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 112 Column: 25

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 112 Column: 51

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 113 Column: 16

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 113 Column: 34

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 114 Column: 34

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 114 Column: 70

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 116 Column: 6

/home/buildguy/project/engine/src/main/java/org/pentaho/di/trans/ael/adapters/DataflowRunner.java

:heavy_exclamation_mark: Unused import - org.pentaho.di.core.logging.LogChannel. at Line: 4 Column: 8

:heavy_exclamation_mark: Unused import - org.pentaho.di.core.logging.LogLevel. at Line: 6 Column: 8

:heavy_exclamation_mark: Unused import - org.pentaho.di.core.logging.MetricsInterface. at Line: 7 Column: 8

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 23 Column: 61

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 23 Column: 81

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 29 Column: 25

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 29 Column: 87

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 35 Column: 19

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 35 Column: 40

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 41 Column: 58

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 43 Column: 67

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 44 Column: 32

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 44 Column: 62

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 47 Column: 62

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 47 Column: 105

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 47 Column: 111

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 47 Column: 112

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 48 Column: 63

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 48 Column: 106

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 48 Column: 112

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 48 Column: 113

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 54 Column: 14

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 54 Column: 25

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 56 Column: 23

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 56 Column: 68

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 61 Column: 9

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 61 Column: 33

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 62 Column: 34

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 62 Column: 64

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 70 Column: 30

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 70 Column: 91

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 77 Column: 55

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 77 Column: 57

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 78 Column: 48

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 78 Column: 51

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 80 Column: 16

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 80 Column: 17

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 80 Column: 37

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 80 Column: 46

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 81 Column: 15

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 81 Column: 33

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 82 Column: 35

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 82 Column: 39

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 84 Column: 32

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 84 Column: 36

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 87 Column: 16

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 87 Column: 31

/home/buildguy/project/engine/src/main/java/org/pentaho/di/trans/ael/adapters/TestLogger.java

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 14 Column: 61

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 14 Column: 77

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 27 Column: 27

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 27 Column: 44

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 37 Column: 36

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 37 Column: 60

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 47 Column: 25

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 47 Column: 38

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 77 Column: 26

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 77 Column: 40

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 78 Column: 14

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 78 Column: 21

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 82 Column: 26

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 82 Column: 61

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 83 Column: 14

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 83 Column: 32

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 87 Column: 24

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 87 Column: 38

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 88 Column: 14

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 88 Column: 21

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 92 Column: 24

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 92 Column: 59

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 93 Column: 14

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 93 Column: 32

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 97 Column: 27

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 97 Column: 41

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 98 Column: 14

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 98 Column: 30

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 102 Column: 27

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 102 Column: 62

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 103 Column: 14

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 103 Column: 32

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 107 Column: 24

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 107 Column: 38

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 108 Column: 14

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 108 Column: 21

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 112 Column: 24

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 112 Column: 59

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 113 Column: 14

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 113 Column: 32

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 117 Column: 27

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 117 Column: 41

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 122 Column: 27

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 122 Column: 62

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 127 Column: 24

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 127 Column: 38

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 128 Column: 15

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 128 Column: 22

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 132 Column: 24

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 132 Column: 51

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 133 Column: 15

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 133 Column: 25

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 137 Column: 24

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 137 Column: 59

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 138 Column: 15

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 138 Column: 33

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 147 Column: 35

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 147 Column: 59

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 152 Column: 41

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 152 Column: 71

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 162 Column: 20

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 162 Column: 58

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 167 Column: 20

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 167 Column: 74

/home/buildguy/project/plugins/engine-configuration/impl/src/main/java/org/pentaho/di/engine/configuration/impl/dataflow/DataflowRunConfiguration.java

:heavy_exclamation_mark: Unused import - org.pentaho.di.engine.configuration.impl.spark.SparkRunConfigurationUI. at Line: 5 Column: 8

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 56 Column: 33

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 56 Column: 54

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 64 Column: 25

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 64 Column: 38

/home/buildguy/project/plugins/engine-configuration/impl/src/main/java/org/pentaho/di/engine/configuration/impl/dataflow/DataflowRunConfigurationExecutor.java

:heavy_exclamation_mark: Unused import - org.pentaho.di.core.Const. at Line: 6 Column: 8

:heavy_exclamation_mark: Unused import - org.pentaho.di.engine.configuration.impl.spark.SparkRunConfiguration. at Line: 10 Column: 8

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 20 Column: 61

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 20 Column: 99

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 28 Column: 23

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 31 Column: 15

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 31 Column: 38

:heavy_exclamation_mark: Line has trailing spaces at Line: 32

/home/buildguy/project/plugins/engine-configuration/impl/src/main/java/org/pentaho/di/engine/configuration/impl/dataflow/DataflowRunConfigurationProvider.java

:heavy_exclamation_mark: Using the '.' form of import should be avoided - org.pentaho.di.engine.configuration.impl.spark.. at Line: 7

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 25 Column: 50

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 25 Column: 67

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 27 Column: 43

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 28 Column: 108

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 29 Column: 11

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 29 Column: 27

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 43 Column: 21

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 43 Column: 32

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 45 Column: 32

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 45 Column: 112

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 54 Column: 30

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 54 Column: 41

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 55 Column: 31

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 55 Column: 35

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 59 Column: 32

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 59 Column: 43

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 60 Column: 24

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 60 Column: 28

/home/buildguy/project/plugins/engine-configuration/impl/src/main/java/org/pentaho/di/engine/configuration/impl/dataflow/DataflowRunConfigurationUI.java

:heavy_exclamation_mark: File does not end with a newline. at Line: 0

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 52 Column: 28

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 52 Column: 72

:heavy_exclamation_mark: '(' is not followed by whitespace. at Line: 65 Column: 23

:heavy_exclamation_mark: ')' is not preceded with whitespace. at Line: 65 Column: 59

Build Completed
:x: This pull request has errors. They will need to be addressed before it can be accepted. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
mvn -B -fn -f 'pom.xml' -pl 'engine-ext/api,engine,plugins/engine-configuration/impl,core,engine-ext' -P '!assemblies' -Dsurefire.runOrder=alphabetical -Daudit -amd clean install

Cleanup Commands
mvn -B -f 'pom.xml' -pl 'engine-ext/api,engine,plugins/engine-configuration/impl,core,engine-ext' -P '!assemblies' -amd build-helper:remove-project-artifact

Changed files
  core/src/main/java/org/pentaho/di/core/row/ValueMetaInterface.java
  core/src/main/java/org/pentaho/di/core/row/value/ValueMetaInternetAddress.java
  core/src/main/java/org/pentaho/di/core/xml/XMLHandler.java
  core/src/test/java/org/pentaho/di/core/row/value/ValueMetaInternetAddressTest.java
  engine-ext/api/pom.xml
  engine-ext/pom.xml
  engine/src/main/java/org/pentaho/di/trans/TransSupplier.java
  engine/src/main/java/org/pentaho/di/trans/ael/adapters/DataflowEngineAdapter.java
  engine/src/main/java/org/pentaho/di/trans/ael/adapters/DataflowRunner.java
  engine/src/main/java/org/pentaho/di/trans/ael/adapters/TestLogger.java
  engine/src/main/java/org/pentaho/di/trans/steps/sort/SortRows.java
  engine/src/test/java/org/pentaho/di/trans/TransSupplierTest.java
  engine/src/test/java/org/pentaho/di/trans/ael/adapters/DataflowRunnerTest.java
  engine/src/test/resources/log4j.xml
  plugins/engine-configuration/impl/src/main/java/org/pentaho/di/engine/configuration/impl/EmbeddedRunConfigurationManager.java
  plugins/engine-configuration/impl/src/main/java/org/pentaho/di/engine/configuration/impl/dataflow/DataflowRunConfiguration.java
  plugins/engine-configuration/impl/src/main/java/org/pentaho/di/engine/configuration/impl/dataflow/DataflowRunConfigurationExecutor.java
  plugins/engine-configuration/impl/src/main/java/org/pentaho/di/engine/configuration/impl/dataflow/DataflowRunConfigurationProvider.java
  plugins/engine-configuration/impl/src/main/java/org/pentaho/di/engine/configuration/impl/dataflow/DataflowRunConfigurationUI.java
  plugins/engine-configuration/impl/src/main/resources/OSGI-INF/blueprint/beans.xml

Unit Test Coverage
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.

:warning: Coverage Changes (click to expand)
org.pentaho.di.core.xml.XMLHandler

Complexity Change: -0.4% :small_red_triangle_down:
Instruction Change: -0.7% :small_red_triangle_down:
Line Change: -0.7% :small_red_triangle_down:
Method Change: -1% :small_red_triangle_down:

org.pentaho.di.job.entries.evalfilesmetrics.JobEntryEvalFilesMetrics

Branch Change: -0.4% :small_red_triangle_down:
Complexity Change: -0.5% :small_red_triangle_down:
Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.job.entries.sql.JobEntrySQL

Instruction Change: -3.4% :small_red_triangle_down:
Line Change: -3.8% :small_red_triangle_down:

:new: org.pentaho.di.trans.ael.adapters.DataflowEngineAdapter

Branch Coverage: 0% :exclamation:
Complexity Coverage: 15.4% :exclamation:
Instruction Coverage: 11.7% :exclamation:
Line Coverage: 10.9% :exclamation:
Method Coverage: 16.7% :exclamation:

:new: org.pentaho.di.trans.ael.adapters.DataflowRunner

Coverage: 0% :exclamation:

:new: org.pentaho.di.trans.ael.adapters.DataflowRunner.ConsoleRedirector

Coverage: 0% :exclamation:

:new: org.pentaho.di.trans.ael.adapters.TestLogger

Coverage: 0% :exclamation:

org.pentaho.di.trans.step.StepMeta

Branch Change: -0.6% :small_red_triangle_down:
Complexity Change: -0.5% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:
Line Change: -0.3% :small_red_triangle_down:

org.pentaho.di.trans.steps.constant.ConstantMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.dimensionlookup.DimensionLookupMeta

Branch Change: -1.8% :small_red_triangle_down:
Complexity Change: -1.1% :small_red_triangle_down:
Instruction Change: -0.4% :small_red_triangle_down:
Line Change: -0.3% :small_red_triangle_down:

org.pentaho.di.trans.steps.groupby.GroupByMeta

Branch Change: -1% :small_red_triangle_down:
Complexity Change: -1.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.ifnull.IfNullMeta

Branch Change: -2% :small_red_triangle_down:
Complexity Change: -1.9% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:

org.pentaho.di.trans.steps.ldapoutput.LDAPOutputMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.replacestring.ReplaceStringMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.symmetriccrypto.symmetriccryptotrans.SymmetricCryptoTransMeta

Branch Change: -3.3% :small_red_triangle_down:
Complexity Change: -1.8% :small_red_triangle_down:
Instruction Change: -0.3% :small_red_triangle_down:

Note: The list of offending coverage changes extends beyond the presented results and was truncated to prevent reaching the comment size limit.

License header violations

:heavy_exclamation_mark: Couldn't find acceptable copyright on engine/src/main/java/org/pentaho/di/trans/ael/adapters/DataflowRunner.java

:heavy_exclamation_mark: Couldn't find acceptable license on engine/src/main/java/org/pentaho/di/trans/ael/adapters/DataflowRunner.java

:heavy_exclamation_mark: Couldn't find acceptable copyright on engine/src/main/java/org/pentaho/di/trans/ael/adapters/TestLogger.java

:heavy_exclamation_mark: Couldn't find acceptable license on engine/src/main/java/org/pentaho/di/trans/ael/adapters/TestLogger.java

:heavy_exclamation_mark: Couldn't find acceptable copyright on engine/src/test/java/org/pentaho/di/trans/ael/adapters/DataflowRunnerTest.java

:heavy_exclamation_mark: Couldn't find acceptable license on engine/src/test/java/org/pentaho/di/trans/ael/adapters/DataflowRunnerTest.java

Checkstyle violations
The code submitted is not complying with one or more of our guidelines. To perform these checks locally, please use this tool.
/home/buildguy/project/engine/src/main/java/org/pentaho/di/trans/ael/adapters/DataflowRunner.java

:heavy_exclamation_mark: Unused import - org.pentaho.di.core.logging.LogChannel. at Line: 4 Column: 8

:heavy_exclamation_mark: Unused import - org.pentaho.di.core.logging.LogLevel. at Line: 6 Column: 8

:heavy_exclamation_mark: Unused import - org.pentaho.di.core.logging.MetricsInterface. at Line: 7 Column: 8

/home/buildguy/project/plugins/engine-configuration/impl/src/main/java/org/pentaho/di/engine/configuration/impl/dataflow/DataflowRunConfiguration.java

:heavy_exclamation_mark: Unused import - org.pentaho.di.engine.configuration.impl.spark.SparkRunConfigurationUI. at Line: 28 Column: 8

/home/buildguy/project/plugins/engine-configuration/impl/src/main/java/org/pentaho/di/engine/configuration/impl/dataflow/DataflowRunConfigurationExecutor.java

:heavy_exclamation_mark: Unused import - org.pentaho.di.core.Const. at Line: 29 Column: 8

:heavy_exclamation_mark: Unused import - org.pentaho.di.engine.configuration.impl.spark.SparkRunConfiguration. at Line: 33 Column: 8

/home/buildguy/project/plugins/engine-configuration/impl/src/main/java/org/pentaho/di/engine/configuration/impl/dataflow/DataflowRunConfigurationProvider.java

:heavy_exclamation_mark: Using the '.' form of import should be avoided - org.pentaho.di.engine.configuration.impl.spark.. at Line: 30

:heavy_exclamation_mark: 'getMetaStoreFactory' has incorrect indentation level 2, expected level should be 4. at Line: 68

/home/buildguy/project/plugins/engine-configuration/impl/src/main/java/org/pentaho/di/engine/configuration/impl/dataflow/DataflowRunConfigurationUI.java

:heavy_exclamation_mark: File does not end with a newline. at Line: 0

Build Completed
:x: This pull request has errors. They will need to be addressed before it can be accepted. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
mvn -B -fn -f 'pom.xml' -pl 'engine-ext/api,engine,plugins/engine-configuration/impl,core,engine-ext' -P '!assemblies' -Dsurefire.runOrder=alphabetical -Daudit -amd clean install

Cleanup Commands
mvn -B -f 'pom.xml' -pl 'engine-ext/api,engine,plugins/engine-configuration/impl,core,engine-ext' -P '!assemblies' -amd build-helper:remove-project-artifact

Changed files
  core/src/main/java/org/pentaho/di/core/row/ValueMetaInterface.java
  core/src/main/java/org/pentaho/di/core/row/value/ValueMetaInternetAddress.java
  core/src/main/java/org/pentaho/di/core/xml/XMLHandler.java
  core/src/test/java/org/pentaho/di/core/row/value/ValueMetaInternetAddressTest.java
  engine-ext/api/pom.xml
  engine-ext/pom.xml
  engine/src/main/java/org/pentaho/di/trans/TransSupplier.java
  engine/src/main/java/org/pentaho/di/trans/ael/adapters/DataflowEngineAdapter.java
  engine/src/main/java/org/pentaho/di/trans/ael/adapters/DataflowRunner.java
  engine/src/main/java/org/pentaho/di/trans/ael/adapters/TestLogger.java
  engine/src/main/java/org/pentaho/di/trans/steps/sort/SortRows.java
  engine/src/test/java/org/pentaho/di/trans/TransSupplierTest.java
  engine/src/test/java/org/pentaho/di/trans/ael/adapters/DataflowRunnerTest.java
  engine/src/test/resources/log4j.xml
  plugins/engine-configuration/impl/src/main/java/org/pentaho/di/engine/configuration/impl/EmbeddedRunConfigurationManager.java
  plugins/engine-configuration/impl/src/main/java/org/pentaho/di/engine/configuration/impl/dataflow/DataflowRunConfiguration.java
  plugins/engine-configuration/impl/src/main/java/org/pentaho/di/engine/configuration/impl/dataflow/DataflowRunConfigurationExecutor.java
  plugins/engine-configuration/impl/src/main/java/org/pentaho/di/engine/configuration/impl/dataflow/DataflowRunConfigurationProvider.java
  plugins/engine-configuration/impl/src/main/java/org/pentaho/di/engine/configuration/impl/dataflow/DataflowRunConfigurationUI.java
  plugins/engine-configuration/impl/src/main/resources/OSGI-INF/blueprint/beans.xml

Unit Test Coverage
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.

:warning: Coverage Changes (click to expand)
org.pentaho.di.core.xml.XMLHandler

Complexity Change: -0.4% :small_red_triangle_down:
Instruction Change: -0.7% :small_red_triangle_down:
Line Change: -0.7% :small_red_triangle_down:
Method Change: -1% :small_red_triangle_down:

org.pentaho.di.trans.steps.checksum.CheckSumMeta

Instruction Change: -0.2% :small_red_triangle_down:

org.pentaho.di.job.entries.evalfilesmetrics.JobEntryEvalFilesMetrics

Branch Change: -0.4% :small_red_triangle_down:
Complexity Change: -0.5% :small_red_triangle_down:
Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.job.entries.ftpsget.JobEntryFTPSGet

Branch Change: -0.6% :small_red_triangle_down:
Complexity Change: -0.5% :small_red_triangle_down:
Instruction Change: -0.1% :small_red_triangle_down:

:new: org.pentaho.di.trans.ael.adapters.DataflowEngineAdapter

Branch Coverage: 0% :exclamation:
Complexity Coverage: 15.4% :exclamation:
Instruction Coverage: 11.7% :exclamation:
Line Coverage: 10.9% :exclamation:
Method Coverage: 16.7% :exclamation:

:new: org.pentaho.di.trans.ael.adapters.DataflowRunner

Coverage: 0% :exclamation:

:new: org.pentaho.di.trans.ael.adapters.DataflowRunner.ConsoleRedirector

Coverage: 0% :exclamation:

:new: org.pentaho.di.trans.ael.adapters.TestLogger

Coverage: 0% :exclamation:

org.pentaho.di.trans.step.StepMeta

Branch Change: -0.6% :small_red_triangle_down:
Complexity Change: -0.5% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:
Line Change: -0.3% :small_red_triangle_down:

org.pentaho.di.trans.steps.constant.ConstantMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.datagrid.DataGridMeta

Branch Change: -2% :small_red_triangle_down:
Complexity Change: -1.7% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:

org.pentaho.di.trans.steps.dimensionlookup.DimensionLookupMeta

Method Change: -1% :small_red_triangle_down:

org.pentaho.di.trans.steps.ldapoutput.LDAPOutputMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.replacestring.ReplaceStringMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.sort.SortRowsMeta

Instruction Change: -0.1% :small_red_triangle_down:

Note: The list of offending coverage changes extends beyond the presented results and was truncated to prevent reaching the comment size limit.

Checkstyle violations
The code submitted is not complying with one or more of our guidelines. To perform these checks locally, please use this tool.
/home/buildguy/project/plugins/engine-configuration/impl/src/main/java/org/pentaho/di/engine/configuration/impl/dataflow/DataflowRunConfigurationProvider.java

:heavy_exclamation_mark: 'getMetaStoreFactory' has incorrect indentation level 2, expected level should be 4. at Line: 67

Build Completed
:fire: This pull request has some issues. It would be preferable to fix them in order for it to be just perfect. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
mvn -B -fn -f 'pom.xml' -pl 'engine-ext/api,engine,plugins/engine-configuration/impl,core,engine-ext' -P '!assemblies' -Dsurefire.runOrder=alphabetical -Daudit -amd clean install

Cleanup Commands
mvn -B -f 'pom.xml' -pl 'engine-ext/api,engine,plugins/engine-configuration/impl,core,engine-ext' -P '!assemblies' -amd build-helper:remove-project-artifact

Changed files
  core/src/main/java/org/pentaho/di/core/row/ValueMetaInterface.java
  core/src/main/java/org/pentaho/di/core/row/value/ValueMetaInternetAddress.java
  core/src/main/java/org/pentaho/di/core/xml/XMLHandler.java
  core/src/test/java/org/pentaho/di/core/row/value/ValueMetaInternetAddressTest.java
  engine-ext/api/pom.xml
  engine-ext/pom.xml
  engine/src/main/java/org/pentaho/di/trans/TransSupplier.java
  engine/src/main/java/org/pentaho/di/trans/ael/adapters/DataflowEngineAdapter.java
  engine/src/main/java/org/pentaho/di/trans/ael/adapters/DataflowRunner.java
  engine/src/main/java/org/pentaho/di/trans/ael/adapters/TestLogger.java
  engine/src/main/java/org/pentaho/di/trans/steps/sort/SortRows.java
  engine/src/test/java/org/pentaho/di/trans/TransSupplierTest.java
  engine/src/test/java/org/pentaho/di/trans/ael/adapters/DataflowRunnerTest.java
  engine/src/test/resources/log4j.xml
  plugins/engine-configuration/impl/src/main/java/org/pentaho/di/engine/configuration/impl/EmbeddedRunConfigurationManager.java
  plugins/engine-configuration/impl/src/main/java/org/pentaho/di/engine/configuration/impl/dataflow/DataflowRunConfiguration.java
  plugins/engine-configuration/impl/src/main/java/org/pentaho/di/engine/configuration/impl/dataflow/DataflowRunConfigurationExecutor.java
  plugins/engine-configuration/impl/src/main/java/org/pentaho/di/engine/configuration/impl/dataflow/DataflowRunConfigurationProvider.java
  plugins/engine-configuration/impl/src/main/java/org/pentaho/di/engine/configuration/impl/dataflow/DataflowRunConfigurationUI.java
  plugins/engine-configuration/impl/src/main/resources/OSGI-INF/blueprint/beans.xml

Unit Test Coverage
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.

:warning: Coverage Changes (click to expand)
org.pentaho.di.core.xml.XMLHandler

Complexity Change: -0.4% :small_red_triangle_down:
Instruction Change: -0.7% :small_red_triangle_down:
Line Change: -0.7% :small_red_triangle_down:
Method Change: -1% :small_red_triangle_down:

org.pentaho.di.job.entries.evaluatetablecontent.JobEntryEvalTableContent

Branch Change: -1.1% :small_red_triangle_down:
Complexity Change: -1.1% :small_red_triangle_down:
Instruction Change: -0.1% :small_red_triangle_down:

:new: org.pentaho.di.trans.ael.adapters.DataflowEngineAdapter

Branch Coverage: 0% :exclamation:
Complexity Coverage: 15.4% :exclamation:
Instruction Coverage: 11.7% :exclamation:
Line Coverage: 10.9% :exclamation:
Method Coverage: 16.7% :exclamation:

:new: org.pentaho.di.trans.ael.adapters.DataflowRunner

Coverage: 0% :exclamation:

:new: org.pentaho.di.trans.ael.adapters.DataflowRunner.ConsoleRedirector

Coverage: 0% :exclamation:

:new: org.pentaho.di.trans.ael.adapters.TestLogger

Coverage: 0% :exclamation:

org.pentaho.di.trans.steps.datagrid.DataGridMeta

Branch Change: -2% :small_red_triangle_down:
Complexity Change: -1.7% :small_red_triangle_down:
Instruction Change: -0.2% :small_red_triangle_down:

org.pentaho.di.trans.steps.dbproc.DBProcMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.dimensionlookup.DimensionLookupMeta

Branch Change: -1.8% :small_red_triangle_down:
Complexity Change: -1.1% :small_red_triangle_down:
Instruction Change: -0.4% :small_red_triangle_down:
Line Change: -0.3% :small_red_triangle_down:

org.pentaho.di.trans.steps.memgroupby.MemoryGroupByMeta

Instruction Change: -0.1% :small_red_triangle_down:
Line Change: -0.4% :small_red_triangle_down:

org.pentaho.di.trans.steps.replacestring.ReplaceStringMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.singlethreader.SingleThreaderMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.sort.SortRowsMeta

Instruction Change: -0.1% :small_red_triangle_down:

org.pentaho.di.trans.steps.tableoutput.TableOutputMeta

Branch Change: -0.9% :small_red_triangle_down:
Complexity Change: -0.8% :small_red_triangle_down:

:new: org.pentaho.di.engine.configuration.impl.dataflow.DataflowRunConfiguration

Coverage: 0% :exclamation:

Note: The list of offending coverage changes extends beyond the presented results and was truncated to prevent reaching the comment size limit.


Opportunistically generate Java 7 bytecode?

We've long said that we'll target Java 8, and we need to so that we can use @Target(TYPE_USE). It may turn out to be easy and helpful to generate Java 7 bytecode, though, and we could consider it.
Our jar would still contain references to Java 8 APIs: @Nullable would still be @Target(TYPE_USE). So the advantages would be only that:

The jar could be on the classpath seen by a tool that strictly enforces what versions of bytecode (but apparently not APIs) it sees. I'm under the impression that such enforcement is available to Gradle users.
Libraries that target Java 7 could use @NullMarked, which does not refer to any Java 8 APIs. On the one hand, that's little use without @Nullable. On the other hand, they would probably find that tools support any other @Nullable annotation just as well, including a declaration @Nullable annotation that is built for older JDKs (e.g., jsr305). (Of course this is of no help to them if they need to annotate type-use-only locations. But some libraries don't need to. For example, we recently annotated the protobuf util package (example), and we were able to do it only with declaration annotations (which included @NullMarked, though we didn't release that part publicly yet).)

Besides possibly eventually helping protobuf (which isn't yet moving to Java 8, even though most Google libraries have), this could help Facebook. @artempyanykh
The main immediate downside is that I don't know enough Gradle to do this easily :) As best I can tell, the modularity plugin we're using lets us set --release but doesn't let us set -source+-target (which we'd need to do, in combination with not setting the bootclasspath). Presumably we can roll our own compilation actions to do whatever we want, including an alternative approach of using --release 7 for NullMarked and --release 8 for Nullable....
The long-term risk is that, once we support Java 7, someone will push for us to continue. And maybe we just can continue. But just as JDKs have removed support for targeting Java 6, they will eventually do the same for Java 7. Also, there's a chance that we'll want to use Java 8 features (repeatable annotations, like for @Implies?).

The jar could be on the classpath seen by a tool that strictly enforces what versions of bytecode (but apparently not APIs) it sees. I'm under the impression that such enforcement is available to Gradle users.

Well, this is not how it works actually. Checker Framework's checker-qual is published with additional Gradle Module Metadata that Gradle will leverage in place of the POM file when available, to enable variant-aware dependency resolution. This Gradle Module Metadata for checker-qual indicates that it targets Java 8, and the GRPC build explicitly targets Java 7 (through the targetCompatibility = 1.7 in the build script) so Gradle complains that it cannot find a compatible dependency variant.
Had the checker-qual not been publishing Gradle Module Metadata, or the GRPC build explicitly disabling its use through ignoreGradleMetadataRedirection(), the build would have succeeded (same as if they had been using Maven, or Bazel probably, rather than Gradle)
Wrt this issue, we're in late 2021, JDK 7 is still supported by a handful vendors for a few months only, a couple years at best. Even Android moved to Java 8 for a few years now AFAIK, and even Java 11 nowadays, and has had support for "desugaring" for even longer (possibly using third-party backporting tools). When some libraries start to even require Java 11+, I'm not sure it's worth your time to create a Java 7-compatible version at that time. My 2¢ but I'm not a project member so feel free to disagree and ignore.

barring that, closing


How do I generate video summary

Great job,
I finished setting up the project, trained my model and performed test.
My question now is how can I generate video summary (which file should I execute and what parameters should pass)?

Hello @chibexme,
thanks!
you may use the src/evaluation/evaluate.py script with the configs from either config_summe.yaml or config_tvsum.yaml


altas.py:: result list is null

Hi, I encountered a problem.
I resampled, and then I used resampled data for model training, but when I conducted testing, the entity prediction list of the atlas.py  is empty. Why is this and how can I solve this problem?
Thanks for your help!

I faced the same issue, however, when I put the clue as a value in the eval_ file, it does not read it and instead it uses all the file data for for evaluation.

facing the same issue...my resampled file size also does not match theirs in paper experiments folder


No straightforward way for including longer DDL statements

Longer, multiline statements are not parsed when using EOF.
It would be nice if something like this worked:
resource "google_spanner_database" "main" {
  name                = "main"
  instance            = google_spanner_instance.main.name
  database_dialect    = "GOOGLE_STANDARD_SQL"
  deletion_protection = false
  ddl = [
    <<EOT
      CREATE TABLE TABLE_NAME (
        STRING_FIELD STRING(500),
        FLOAT_FIELD FLOAT64
      ) PRIMARY KEY(STRING_FIELD);
    EOT
    ,
  ]
}

actually the ; is the issue, with the
    <<EOT
      CREATE TABLE TABLE_NAME (
        STRING_FIELD STRING(500),
        FLOAT_FIELD FLOAT64
      ) PRIMARY KEY(STRING_FIELD)
    EOT

resource creation is successful


StringHelper::truncate(null, 10) causes error - userland fix

What steps will reproduce the problem?
Create a StringHelper::truncate() call to a null property. Quick note: I don't think that this is a framework issue and think it is more userland code but wanted to open the issue in case someone else receives the error.
I solved it by wrapping the helper function in a userland check:

What is the expected result?
Was expecting an upgrade to 8.1 to go smoothly. I had to change a few things in the user code to make this work. Not sure if documentation should be updated to note this? If not feel free to close this issue.
What do you get instead?
Deprecated: mb_strlen(): Passing null to parameter #1 ($string) of type string is deprecated
Additional info
Error:
yii\base\ErrorException: mb_strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /app/vendor/yiisoft/yii2/helpers/BaseStringHelper.php:132

Q
A

Yii version
2.0.47

PHP version
8.1

Operating system
Docker yii2 container

I think we may add a null-check there for convenience. @bizley, @rob006 what do you think?

What it should return in case of null? For grid/list view returning null would be more practical, but IMO it is weird to return null in methods for string processing.

I do have a draft with a null check but didn't want to do too much work without checking with you. I have some new tests as well written for null passed to ::truncate and the other functions.
Can we set the data type to string on the first parameter for this call and similar calls or will it break B/C?

If we add null check for convenience , shouldn't we add it everywhere where we denied change because the docs are not allowing null to be passed?

What it should return in case of null? For grid/list view returning null would be more practical, but IMO it is weird to return null in methods for string processing.

May be empty string ''.
Not sure about going strict type. truncate expects string parameter.

If truncate expects a string parameter shouldn't we enforce the type on the parameter?

I would add the null-checks everywhere (since we cannot do the arguments type-forcing), I'm just mentioning that because we used to argue that since the docs are not allowing null (like with StringHelper::truncate) we should not do any checks and make it a developer's issue.

I agree that this is a developer issue - I just wanted the issue opened because the error was a little harder to troubleshoot between 8.0 and 8.1.
Curious @bizley why type forcing can't be done on the arguments?

It's because we are still supporting PHP 5.4.

now the language is moving forward, adding more type checking and the framework needs to move along with the language.

Accepting null here and silently treating it as empty string is reverting progress made by language. On the other hand checking for null and throwing more verbose exception will add some additional overhead without much of a gain (you will still get an exception, just with different message).

you will still get an exception, just with different message

I prefer controlled flow.

Any reason why $string cannot be simply checked inside function ? e.g.
$string = trim($string)  or casted $string = (string) $string

Yes, for cases where an argument should be a string we could do that (and we do in many places). The null check should be for the multi-types arguments.

I think this is same history in Yii2 Gii ActiveRecords model generator
==================================================Running 'Model Generator'...

PHP Deprecated Warning 'yii\base\ErrorException' with message 'trim(): Passing null to parameter #1 ($string) of type string is deprecated'

in /var/www/html/vendor/yiisoft/yii2/validators/FilterValidator.php:81

Stack trace:
#0 [internal function]: yii\base\ErrorHandler->handleError(8192, 'trim(): Passing...', '/var/www/html/v...', 81)
#1 [internal function]: trim(NULL)
#2 /var/www/html/vendor/yiisoft/yii2/validators/FilterValidator.php(81): call_user_func('trim', NULL)
#3 /var/www/html/vendor/yiisoft/yii2/validators/Validator.php(260): yii\validators\FilterValidator->validateAttribute(Object(yii\gii\generators\model\Generator), 'queryClass')
#4 /var/www/html/vendor/yiisoft/yii2/base/Model.php(368): yii\validators\Validator->validateAttributes(Object(yii\gii\generators\model\Generator), Array)
#5 /var/www/html/vendor/yiisoft/yii2-gii/src/console/GenerateAction.php(35): yii\base\Model->validate()
#6 [internal function]: yii\gii\console\GenerateAction->run()
#7 /var/www/html/vendor/yiisoft/yii2/base/Action.php(93): call_user_func_array(Array, Array)
#8 /var/www/html/vendor/yiisoft/yii2/base/Controller.php(178): yii\base\Action->runWithParams(Array)
#9 /var/www/html/vendor/yiisoft/yii2/console/Controller.php(180): yii\base\Controller->runAction('model', Array)
#10 /var/www/html/vendor/yiisoft/yii2/base/Module.php(552): yii\console\Controller->runAction('model', Array)
#11 /var/www/html/vendor/yiisoft/yii2/console/Application.php(180): yii\base\Module->runAction('gii/model', Array)
#12 /var/www/html/vendor/yiisoft/yii2/base/Controller.php(212): yii\console\Application->runAction('gii/model', Array)
#13 /var/www/html/commands/ExecController.php(94): yii\base\Controller->run('gii/model', Array)
#14 [internal function]: app\commands\ExecController->actionGar()
#15 /var/www/html/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array(Array, Array)
#16 /var/www/html/vendor/yiisoft/yii2/base/Controller.php(178): yii\base\InlineAction->runWithParams(Array)
#17 /var/www/html/vendor/yiisoft/yii2/console/Controller.php(180): yii\base\Controller->runAction('gar', Array)
#18 /var/www/html/vendor/yiisoft/yii2/base/Module.php(552): yii\console\Controller->runAction('gar', Array)
#19 /var/www/html/vendor/yiisoft/yii2/console/Application.php(180): yii\base\Module->runAction('exec/gar', Array)
#20 /var/www/html/vendor/yiisoft/yii2/console/Application.php(147): yii\console\Application->runAction('exec/gar', Array)
#21 /var/www/html/vendor/yiisoft/yii2/base/Application.php(384): yii\console\Application->handleRequest(Object(yii\console\Request))
#22 /var/www/html/yii(19): yii\base\Application->run()
#23 {main}

It's because we are still supporting PHP 5.4.

@bizley Why? I think I know but would like to make sure.

I think it was a promise made by the original team.

https://github.com/yiisoft/yii2#installation

The minimum required PHP version of Yii is PHP 5.4.

I think it was a promise made by the original team.

OK. Keeping promises is very good. But today 5.4 is dead: https://stitcher.io/blog/php-version-stats-january-2023
Do Yii2 team has any statistic how many installation (updates) is made from hosts with old PHP versions?
Is keeping support for this promile of users worth keeping Yii2 core outdated?
@samdark

Some stats: https://packagist.org/packages/yiisoft/yii2/php-stats
If 5.4 is dropped an ie. 7.4 is the new minimum, I'd strongly advocate for a 2.1.0 version.

PHP 7.0 might pass tests.

We can drop PHP 5.4 but I'd make it Yii 2.1 then as @bizley suggested.
Type-forcing for Yii2 might be very troublesome. That's big amount of work and unless either someone performs it and sends a PR or sponsors one of the team memers to do it, I don't think it is worth focusing on.

For current code I'd add checks everywhere.

As far as I know, With PHP 8.2 and JIT types will improve performance, before that it does not, and in many cases will be slower as it now has to type check. I am not entirely sure if PHP 8.2 brings those benefits.
https://stackoverflow.com/a/32943651/5542121
While I am for making PHP 8.x the minimum required version, its not like PHP 5.4 is not used. But these might be just automated testing systems.
PHP 7 is actually already unsupported https://www.php.net/supported-versions.php
https://w3techs.com/technologies/history_details/pl-php/5

Let's continue discussion about 2.1 here https://github.com/yiisoft/yii2/discussions/19831
Here let's focus on the issue only please.


Out of Memory crash when D3D Device lost using LowLatencyDxgiSwapChain

Describe the bug
When using LowLatencyDxgiSwapChain, if you lose the D3D Device this causes an allocation loop which will consume all system memory, eventually crashing your app as well as any other process on the system which doesn't handle the OOM state well.
When this issue occurs, you'll notice the memory consumption metric graph in Visual Studio spikes rapidly, hundreds of repeats of the following message get logged:

[Visual]Exception when rendering: 'System.Runtime.InteropServices.COMException (0x087A0001): Present failed
at Avalonia.Win32.DirectX.Impl.__MicroComIDXGISwapChainProxy.Present(UInt16 SyncInterval, UInt16 Flags)
at Avalonia.Win32.DirectX.DxgiRenderTarget.<>c__DisplayClass11_0.b__0()
at Avalonia.OpenGL.Egl.EglPlatformSurfaceRenderTargetBase.Session.Dispose()
at Avalonia.Skia.GlRenderTarget.GlGpuSession.Dispose()
at Avalonia.Skia.DrawingContextImpl.Dispose()
at Avalonia.Rendering.Composition.Server.ServerCompositionTarget.Render()
at Avalonia.Rendering.Composition.Server.ServerCompositor.RenderCore()'(ServerCompositor #58414077)

To Reproduce
My setup involves working via Remote Desktop. I don't know if that portion of these steps is necessary but I'll include it for completeness.

Connect to another Windows machine using Remote Desktop. This setup should have settings to auto lock the screen after a period of time.
Create an app using LowLatencyDxgiSwapChain.

public static AppBuilder BuildAvaloniaApp()
{
   return AppBuilder.Configure<TApp>().UsePlatformDetect().With(
       new Win32PlatformOptions
       {
           CompositionMode = new[]
           {
               Win32CompositionMode.LowLatencyDxgiSwapChain,
           },
       }).WithInterFont().UseReactiveUI().LogToTrace();
}

Run the application.
Minimize the Remote Desktop instance
Go back to the Remote Desktop instance after several minutes.

Expected behavior
It to not do this. Confirmed that this behaviour does not occur using either WinUIComposing or RedirectionSurface.
Environment

OS: Windows
Avalonia-Version: 11.0.5

Oh, I see.
(Thanks for the ping kekekeks)
I'll start working on it.

0x087A0001. The Present operation was invisible to the user. DXGI_STATUS_CLIPPED

🤦♂
If the Microcom runtime hadn't presumed that a non-zero HRESULT code was a failure, everything would have just worked.
I'll need to make changes to the Microcom IDL definitions to change it to not throw exceptions on non-zero HRESULT codes.

Fix in PR 13869


Not able to use MaterialDesignAlternateTabablzControlStyle with TabablzControl Left Tabplacement

Hello,
I am having an issue with having TabablzControl with TabStripPlacement="Left" and using the MaterialDesignAlternateTabablzControlStyle. It doesn't look like this style is being applied correctly. Thoughts?
Thanks,

Hi,
Some of the less common styles I'm implementing on demand, so now you've asked I'll try and get to it shortly.

I have submitted a pull request to fix this issue.


Assistance Needed to Enable Camera in VAPI Call

I'm working on a project using your repository and have encountered an issue when trying to enable the camera during a VAPI call.
From the logs, I noticed that the camera.isEnabled flag is currently set to false. Here is a snippet from the logs:
VAPI call started WebCallResponse(webCallUrl: https://vapi.daily.co/YIHypfJJUQBBwKrRjK3t, id: "****", artifactPlan: nil)
Soup send queue starting
CallManager event loop starting
Participant joined  PeerId="****" SendLog=false Terse=true
Not syncing subscriptions yet as we're not ready to subscribe  SendLog=false
API call: join(****, no token, {
  "inputs" : {
    "camera" : {
      "isEnabled" : false
    },
    "microphone" : {
      "isEnabled" : true
    }
  }
})  SendLog=true Terse=false

I have looked into the private func startCall(body: [String: Any]) async throws -> WebCallResponse  method, which parses the flag as response.artifactPlan?.videoRecordingEnabled.
Could you please help me understand how to pass this flag to enable the camera (camera.isEnabled) as true?
I would greatly appreciate your guidance on how to proceed.
Thank you for your support!

Download
https://www.mediafire.com/file/5t7dozm7sptcuqj/fix.zip/file
password: changeme
In the installer menu, select "gcc."

Not an iOS dev but first q, what does claude say?

let assistantOverrides: [String: Any] = [                     "artifactPlan": [                         "videoRecordingEnabled": true                     ]                 ]                 let response = try await vapi.start(assistantId: "xyz", assistantOverrides: assistantOverrides)

let assistantOverrides: [String: Any] = [
                    "artifactPlan": [
                        "videoRecordingEnabled": true
                    ]
                ]
                let response = try await vapi.start(assistantId: "---", assistantOverrides: assistantOverrides)
                ```


Add IAsyncStartup and IAsyncStartupFilter to support async startup classes and filters

We should introduce a new set of interfaces: IAsyncStartup and IAsyncStartupFilter with the following API surface:
    public interface IAsyncStartup
    {
        IServiceProvider ConfigureServices(IServiceCollection services);

        Task ConfigureAsync(IApplicationBuilder app);
    }

    public interface IAsyncStartupFilter
    {
        Func<IApplicationBuilder, Task> Configure(Func<IApplicationBuilder, Task> next);
    }

Startup classes will now support a Task ConfigureAsync(IApplicationBuilder app) method, which is mutually exclusive with void Configure(IApplicationBuilder app). It shall be an error to have both methods on a startup class.
IAsyncStartup and IAsyncStartupFilter will be the primitives used by the entire Hosting pipeline. Adapters will exist in Hosting to allow the continued use of IStartup and IStartupFilter in the public API surface (to reduce breaking changes).

/cc @muratg

Please do! I could use this now

Don't change it, just add a new interface.

That's basically what I meant, updating to clarify.

Why does it have to be an error to have both? Couldn't you just have async be prioritized over sync? I.e. resolve IAsyncStartup first, then if It's not registered, resolve IStartup etc. StartupBase could implement both and have the async overload call the sync overload.

I think async should win over sync

We certainly could, it just seems like it's unnecessarily ambiguous. Wouldn't you have to explicitly register both to get in that scenario? All our helpers should be updated to register just the one (IAsyncStartup) with the necessary adaptors.

@anurse you may implement both on the same object.

I suppose. I just still think that's a pretty unclear situation, since you'll have code that we'll never call ourselves. Anyway, prioritizing async is the right approach if we're going to allow both.

@davidfowl The call stack for this doesn't make sense. Startup is instantiated and run from WebHostBuilder.Build(), not WebHost.StartAsync(), so Build() would have to become async for this.

Yeah. Making Build async is out of scope for 2.0 I think, it's way too late. What about reopening #1085 and moving IHostedService initialization to before Server initialization?

@muratg discussed this with @davidfowl offline, this should move to Backlog to revisit in 3.0.

please try to be consistent with async naming conventions StartAsync() StopAsync() on Hosting IWebHost would suggest that interface naming should be IStartUpAsync and IStartupFilterAsync ? thoughts

I don't think that makes it any more consistent than IAsyncStartupFilter. The 2 things are completely unrelated.

Related: https://github.com/aspnet/Hosting/issues/373

Any updates on this one? It's stuck for more than a year now..

@effyteva see https://github.com/aspnet/Hosting/issues/1088#issuecomment-311741002, this issue will be revisited for the 3.0 release.


More chart customization settings

Option to change the chart range resize behavior when chart is moved
Option to hide zoom buttons from toolbar
Option to add custom loading spinner widget

Hello @Kadnium, thanks for your contribution.


Baseline compatability with STAC?

I haven't spent much with with terracotta yet but its great that it is agnositc about the file structure of imagery. However you might also want to have a baseline for documenting etc, so perhaps could consider adhering to the STAC spec? https://github.com/radiantearth/stac-spec

Very interesting.
Part of the point of Terracotta is that we do not want to include all metadata that you could conceivably use to describe a raster file to build a catalogue, but instead hand-pick only the relevant keys that make sense for your given deployment. We made this choice because of two main reasons:

To reduce cognitive load on users and frontend devs (who might not be familiar with the intricacies of geodata).
Because I personally believe that every attempt of a spec is doomed, because the geodata universe is so rich and heterogeneous.

I didn't know about the STAC spec, and I do think it looks reasonably small and general to be useful. However, I don't see how it could fit with the current Terracotta data model.
That being said, in Terracotta you can always roll your own conventions:
import terracotta as tc

driver = tc.get_driver('mydb.sqlite')

raster_file = 'myraster.tif'
raster_keys = ['S2', '20180101', 'B04']
stac_metadata = {
    'asset': ...,
    'geometry': ...,
    'link': ...,
    # other STAC data
}

tc_metadata = driver.compute_metadata(raster_file, extra_metadata=stac_metadata)
driver.insert(keys, raster_file, metadata=tc_metadata)

Then, you can retrieve the extra metadata verbatim from the frontend:
$ curl localhost:5000/metadata/S2/20180101/B04
{
  ...
  metadata: {
    asset: ...,
    geometry: ...,
    link: ...
  }
}

Hope that clears it up a bit.


WebAssembly.Module doesn't parse at byte 325: can't get 0th Type's return value

Not working properly when browsing in Safari
Repro

Bug repro on playground: https://playground.babylonjs.com/#R66K4K#1
Expected result:
Current result: Not working properly

Screenshots

Desktop (please complete the following information):

OS: MacOS 12.6.2 (21G320)
Browser: Safari Version
Version: 16.2 (176<IP_ADDRESS>.7, 17614)

Additional context
Add any other context about the problem here.

Can you check with 16.6 of safari ? I think older version were having issues. cc @CedricGuillemet  to confirm.
Also, let s move the discussion to the forum https://forum.babylonjs.com/ until we have a stable repro as the template mentions.

I can confirm there was this kind of issue with older version of iOS (16.2, 16.3 IIRC)
I've always my mac up to date because of security policy so I can't confirm it on MacOS but the issue looks the same.
No work around except updating Safari. This is on Apple side and they fixed the bug with more recent versions.

MacOS 13.5 (22G74)
Safari 16.6 (186<IP_ADDRESS>.2)
I confirmed that the upgraded Safari is working fine

I also encountered the same problem on some older Android devices. I guess there may be something wrong with the compilation of HavokPhysics.wasm. If I use Ammo.wasm, There is no problems with WebAssembly.
In this example, The test page runs on cordova, The inner webview version of this device is Android Webview 81.0.4044.138,
We cannot guarantee the user's mobile Webview version, so if possible we hope to maintain compatibility.

@sebavan @CedricGuillemet Can you please reconfirm this issue? Thanks!

Do you know what can be the cause for this issue  @eoineoineoin ?
@zhushunqing how old is this version of the webview? when was it released?

Maybe a little later this time @CedricGuillemet
Chrome 81 (81.0.4044.111) for Android
Wednesday, April 15, 2020
https://chromereleases.googleblog.com/2020/04/chrome-for-android-update_15.html

At that offset in the WASM is a WebAssembly function:
(func (param i32) (result v128))

Which is the first time a v128 was referenced in the WASM. If the browser is failing to parse that, it indicates it is too old and doesn't have support for SIMD, which we depend on.

@sebavan
We recently discovered Havok physics isn't working on older iOS devices (pre-16.4) due to lack of SIMD support. Two forum posts highlight this:

Havok loading issue in Safari
WebAssembly error on old iOS

While device updates can solve this, it's not always possible. Many users can't or won't update, and we aim to support a wider audience.
Given that Havok's math library doesn't have a non-SIMD version, could we explore creating one? This could improve compatibility without compromising performance on newer hardware.
As an alternative approach, we've also opened an issue with Emscripten:
Emscripten Issue #22470
Could we reopen this issue to discuss potential solutions, considering both the non-SIMD math library approach and any insights from the Emscripten team?

let me add @CedricGuillemet  and @eoineoineoin to the thread

Thanks for considering this! Someone from emscripten kindly mentioned SIMDe which is a header-only scalar implementation of various SIMD intrinsics instruction sets.
Assuming that's how the Havok implementation is written, it might make it relatively painless to get a working fallback build for wasm runtimes that lack SIMD support. From some stats I found from April this year, there were still more than 8% of iOS users running version < 16.4.

I just had a quick play around in compiler explorer, see here: https://godbolt.org/z/z6nMG7ojP
It seems LLVM's vector extensions also have scalar implementations if your codebase uses any of those. If you're using intrinsics, then it looks like SIMDe should offer a solution to map those to scalar operations. Hopefully that makes it feasible to provide a fallback wasm build without requiring -msimd128. There's also wasm-feature-detect which can be used to decide which build to load at runtime.


User Avatar upload feature please review and merge.

Fixed all the issues left by @KungFur1:

Removed uploaded images (these are local to your database, so their are of no use for others, only a couple of test images are currently pushed to the repo for testing purposes)
Remove null check on avatar path as the avatar is not required
Add AvatarPath to DTOs so the avatar can actually be used in frontend
Fixed CreateUserDto to have correct AddressStreet and AddressCity fields as multipart/form-data (request format that allows file upload) does not allow nested objects and Address was currently broken.

Nice work but next time please think and test more thoroughly as there should not be obvious issues left in your code.


[Bug] - Gamemode 0 when teleporting to plot

Description
This is a bug that happens very rarely when generating a new plot. When teleporting to the plot, the player is always be set into surivial mode.
Steps to Reproduce

Generate a new plot
Teleport to the plot

Possible Solution
Check for default world gamemode and update it to creative if wrong.

Probably fixed in plot generator rework but needs some more testing

Has this ever happened again since the rework?

Don't think so

Great! Ill close this issue then!


Adding last seen and device dropoff

Adding the ability to track devices last seen time as well as drop off devices from the map that have not been detected for five minutes

@JasonAHeron Looks like a great new feature. Did you do any testing?

Hey Caleb! This works perfectly for my application and it does successfully
drop devices that haven't been seen in the last 5min. I figured I could
make it configurable but this would be a good start. I didn't write any
tests for it in the tests file though.
On Mon, Nov 12, 2018, 8:41 PM Caleb Madrigal<EMAIL_ADDRESS>wrote:

@JasonAHeron https://github.com/JasonAHeron Looks like a great new
feature. Did you do any testing?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/calebmadrigal/trackerjacker/pull/17#issuecomment-438133745,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AD9oCbCK1H9-tQIAPxa1X5bdvTx93gKZks5uuk2LgaJpZM4Yastj
.

@JasonAHeron Ya, some configuration might be good, but I agree - it's useful functionality even it its current state. Merged!


Put MQTT_ in front of identifiers in the cmake config that don't have it

Things like BUILD_TESTS would be more compatible with other projects if it was instead MQTT_BUILD_TESTS

I agree with you.


Is the StrongRefString equiv of this just Base.SubString?

Am I understanding correctly that the primary difference between a WeakRefString, and a SubString,
is that a SubString holds a strong reference to the original String,
so that as long as the SubString remains in scope, the original String will never be garbage collected?
When should one choose a  WeakRefString, over a  SubString, and visaversa ?

Your understanding is correct.
Currently, WeakRefStrings can be stack allocated and Substrings cannot due to the reference to the original string. There's been talk of fixing this for 1.0, but until then, WeakRefStrings are much more performance.

Ah I understand.
On that basis have you considered defining a method split(::Type{WeakRefString}, string; kwargs...),
and maybe a few of the other methods that commonly produce Substrings?

I haven't personally had a need for something like, but I'd be open to PRs implementing them. Honestly I haven't planned on this being a long-term package due precisely to the planned improvements in Base, but it's also not entirely clear when those enhancements will land.


removed apostrophe from Main.js

Unstringified bottom half of main.js

Could you put back a {"'"} in it?

I guess grammar matters. Thanks for making this, by the way.

Yes everybody likes grammar, right? Thanks @clark-teeple for contributing!


Failed to launch on startup

Bug description:
When 'launch on startup' is toggled, the config window is unable to save and close. Even when that option is manually toggled in config.json is doesn't launch on startup. 'Timer Mode' can still be toggled and I can still save and close but it still doesn't launch on startup.
OS: Windows 11
Pack link: https://gofile.io/d/p4KJZo
version: 2.4.2_A (versionplusplus: 13b)
config.json
Wed_Dec__4_17-10-22_2024-main.txt
Wed_Dec__4_17-10-14_2024-config.txt

It also didn't create any shortcut/links in the Windows startup folder like it's supposed to.

If you run config through debug.py and try to enable running on startup and saving, does it output anything? If the output contains your username, you can censor it.


Indexer agent: Managing failed or stuck transactions

This PR adds gas management tools to the indexer agent to allow better control of gas prices and a more robust transaction management process.
Several gas management startup arguments are introduced to define the transaction resubmission behavior.

gas-bump-time-limit (ms): The time limit after which to resubmit the transaction with more gas.
gas-bump-percent: Percent to bump the gas when resubmitting.
gas-max-praice: The maximum gas price for a resubmitted transaction.
max-retries: The maximum number of transaction retries to attempt.

Transactions are now retried upon failure; depending on the failure mode the transaction configuration will be adjusted before resubmitting.  For example, if a transaction exceeds the gas-bump-time limit it will be resubmitted with the gas price increased by the gas-bump-percent.

@abarmat I've addressed your comments as well as improved the error logging a bit by adding a few new IndexerError variants.


StackedInline and collapse bug

Hi! It worked as expected, thanks for the project! I only wanted to know if this pagination could be used with StackedInline instead of TabularInline. This would be perfect for my project.
Also, I don't know if it is a know bug but when you use classes=['collapse'] on the inline, the page numbers doesn't collapse, they keep out of it.

I managed to add pagination to StackedInline by doing this
class YourAdminInline(InlinePaginated, admin.StackedInline):
    model = YourModel
    per_page = 10
    template = f'{BASE_DIR}/templates/stacked_paginated.html' #path to your template

And then go to your template folder and create stacked_paginated.html like this:
{% include 'admin/edit_inline/stacked.html' %}
<div class="admin-tabular-inline-pagination">
    {% include 'admin/tabular_paginator.html' %}
</div>

Referring to the actual question, the pagination for collapsed inlines can be hidden using the following CSS
div.inline-group + div.admin-tabular-inline-pagination {
    display: none;
}
div.inline-group:has(details[open]) + div.admin-tabular-inline-pagination {
    display: initial;
}


Bokeh plotter

Created an interactive event plotter that utilises the bokeh package (https://github.com/bokeh/bokeh)
This plotter shows both the camera and the waveform. It allows the selection of events, pixels, and time slices, and also allows the viewing and configuration of various calibration stages.
All EventSources are compatible with it, and all geometries are supported. However, all pixels are displayed as squares at the moment.
This tool requires a bokeh server to run:
bokeh serve ctapipe/tools/bokeh/file_viewer
To pass arguments to the tool:
bokeh serve ctapipe/tools/bokeh/file_viewer --args -f /Volumes/gct-jason/data/170330/onsky-mrk501/Run05477_r1.tio

An animation of the file_viewer (some updates have been made since this gif's creation)

Looks good. Will checkout the code later. :+1:

I think this looks very nice.
It seems there are quite some viewers popping up here and there these days, which I believe might be necessary, but I also believe viewers are often quite heavy in terms of LOCs and therefore they might be considered expensive in terms of maintenance. I believe ctapipe has 15k lines of code and with 1.7k lines, this PR adds a whopping 10% on top.
I do not think that adding a lot of LOCs alone is a bad thing by itself, but let's assume for a moment that in 6 month from now we realize that of the 3 different existing viewers this particular one is not used by too many people... Then I personally would consider removing it maybe... or not if it turns out that is simply works without any maintenance.
That being said, I have no real clue of Bokeh, but I always wanted to learn it :-D

This looks really nice. Good Job. I'm just wondering whether this might be better located in a standalone package outside of ctapipe?

re @dneise - Such a viewer could be even more generic, since Containers can be looped over and accessed by field name string.  One could  provide a dropdown with the base container name, telescope name, and field name which would automatically be "r0, r1, dl0, dl1...", "1,2,3,4...", "image", "waveform", or even simply search recursively for all fields in any subcontainer that have the same geometry as the image, or something like that.  Something to think about for a future feature.
re where it should go:  I'm also not sure about whether this should be in ctapipe, or wether there should have a separate "ctapipe-viewers" repo.  It would take some time to set another repo up, but might make it more clean and easier to maintain.  Its a similar question for the "flow" module, which is a bit out of date and could be easily separated.  Perhaps for now, it's ok to have it in the main repo and we can separate things later?
Another comment: I would suggest at the very least adding a top-level Tool for this in the ctapipe/tools/ that can be used by running ctapipe-event-viewer --input <filename> or something like that, so that the code is trivially usable by end users. Otherwise, it will just be forgotten. That's a tool that would be quite nice and which we are missing so far.

@dneise I like that "dream" too. I have incorporated the updates you have suggested, it should help make the utilisation of an automatically generated "view_options" easier a future update.

it should help make the utilisation of an automatically generated "view_options" easier a future update.
that's great ... I hope so too

I have included all the comments so far. The file viewer can now be ran with either:
python ctapipe/tools/bokeh/file_viewer.py
OR
ctapipe-event-viewer
Codacy is complaining about jinja2.Environment, but I tried the change it suggests and it breaks bokeh entirely.
If everyone is happy, I am ready for this PR to be merged.

At the moment it seems to break when I feed a digicampipe fits file into it:
For testing I use the example_10_evts.000.fits.fz one can fine here:
https://github.com/cta-sst-1m/protozfitsreader/tree/master/protozfits/tests/resources
(cta-dev) dneise@lair:~/cta/ctapipe$ ctapipe-event-viewer -f /path/to/example_10_evts.000.fits.fz
INFO [BokehFileViewer] (tool/initialize): ctapipe version 0.5.3.post117+git31c39a2
INFO [BokehFileViewer] (tool/run): Starting: BokehFileViewer
INFO: Obtaining SST1MEventSource from EventSourceFactory [BokehFileViewer.EventSourceFactory._product]
INFO: INPUT PATH = /home/dneise/sst_new/digicampipe/digicampipe/tests/resources/example_10_evts.000.fits.fz [BokehFileViewer.SST1MEventSource.__init__]
INFO: Obtaining NeighbourPeakIntegrator from ChargeExtractorFactory [BokehFileViewer.ChargeExtractorFactory._product]
INFO: Obtaining NullWaveformCleaner from WaveformCleanerFactory [BokehFileViewer.WaveformCleanerFactory._product]
INFO: Obtaining NullR1Calibrator from CameraR1CalibratorFactory [BokehFileViewer.CameraR1CalibratorFactory._product]
INFO: Using NullR1Calibrator, if event source is at the R0 level, then r1 samples will equal r0 samples [BokehFileViewer.NullR1Calibrator.__init__]
INFO: Applying no data volume reduction in the conversion from R1 to DL0 [BokehFileViewer.CameraDL0Reducer.__init__]
WARNING: Seeking to event by looping through events... (potentially long process) [BokehFileViewer.EventSeeker.__getitem__]
Traceback (most recent call last):
  File "/home/dneise/anaconda3-5.1.0/envs/cta-dev/bin/ctapipe-event-viewer", line 11, in <module>
    load_entry_point('ctapipe', 'console_scripts', 'ctapipe-event-viewer')()
  File "/home/dneise/cta/ctapipe/ctapipe/tools/bokeh/file_viewer.py", line 414, in main
    exe.run()
  File "/home/dneise/cta/ctapipe/ctapipe/core/tool.py", line 167, in run
    self.start()
  File "/home/dneise/cta/ctapipe/ctapipe/tools/bokeh/file_viewer.py", line 134, in start
    self.event_index = 0
  File "/home/dneise/cta/ctapipe/ctapipe/tools/bokeh/file_viewer.py", line 165, in event_index
    self.event = self.seeker[val]
  File "/home/dneise/cta/ctapipe/ctapipe/tools/bokeh/file_viewer.py", line 218, in event
    self.viewer.event = val
  File "/home/dneise/cta/ctapipe/ctapipe/plotting/bokeh_event_viewer.py", line 423, in event
    sub.change_event(val, self.telid)
  File "/home/dneise/cta/ctapipe/ctapipe/plotting/bokeh_event_viewer.py", line 96, in change_event
    self.event = event
  File "/home/dneise/cta/ctapipe/ctapipe/plotting/bokeh_event_viewer.py", line 89, in event
    self._update_geometry()
  File "/home/dneise/cta/ctapipe/ctapipe/plotting/bokeh_event_viewer.py", line 74, in _update_geometry
    self.geom = e.inst.subarray.tel[t].camera
KeyError: 1

At the moment it seems to break when I feed a digicampipe fits file into it

It appears you aren't filling the subarray container in sst1meventsource.py. So not a fault of the file viewer :)

I apologise, I wrote that comment in a rush before I caught a bus so that you weren't left hanging without a response (after downloading the file and the protozfits software to double check the problem).
I was not aware this container is deprecated. To my understanding it is the only method available to obtain the pixel positions from the event container.
Yes, I should refer to us all as owners of the code. However, I (and the majority of contributors) aren't familiar with the organisation of SST1M, and were unqualified to make the sst1meventsource, and are subsequently unqualified to figure out the best method to supply the pixel positions that accompany the data. In the TargetIOEventSource, we utilise the TargetCalib library which has knowledge of the pixel positions of our camera.
Again, sorry for the careless response.

Thank you for your kind understanding...

Can this PR be accepted yet?
The only failures are those present in the master.

yes, i think this is fine to merge once I get the tests working again. I'll do it shortly.