Skip to content

Commit e25feff

Browse files
committed
Merge branch 'feature/threading' into develop
2 parents 5c7324d + 50bec66 commit e25feff

File tree

10 files changed

+38
-43
lines changed

10 files changed

+38
-43
lines changed

marklogic-data-hub/src/main/java/com/marklogic/hub/collector/AbstractCollector.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,11 @@
1515
*/
1616
package com.marklogic.hub.collector;
1717

18-
import java.util.List;
18+
import com.marklogic.hub.plugin.PluginType;
1919

2020
import javax.xml.stream.XMLStreamException;
2121
import javax.xml.stream.XMLStreamWriter;
22-
23-
import com.marklogic.hub.plugin.PluginType;
22+
import java.util.Vector;
2423

2524
public abstract class AbstractCollector implements Collector {
2625

@@ -36,7 +35,7 @@ public PluginType getType() {
3635
}
3736

3837
@Override
39-
public abstract List<String> run();
38+
public abstract Vector<String> run();
4039

4140
@Override
4241
public abstract void serialize(XMLStreamWriter serializer) throws XMLStreamException;

marklogic-data-hub/src/main/java/com/marklogic/hub/collector/Collector.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,15 @@
1515
*/
1616
package com.marklogic.hub.collector;
1717

18-
import java.util.List;
18+
import com.marklogic.hub.plugin.PluginType;
1919

2020
import javax.xml.stream.XMLStreamException;
2121
import javax.xml.stream.XMLStreamWriter;
22-
23-
import com.marklogic.hub.plugin.PluginType;
22+
import java.util.Vector;
2423

2524
public interface Collector {
2625

2726
PluginType getType();
28-
List<String> run();
27+
Vector<String> run();
2928
void serialize(XMLStreamWriter serializer) throws XMLStreamException;
3029
}

marklogic-data-hub/src/main/java/com/marklogic/hub/collector/QueryCollector.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@
1515
*/
1616
package com.marklogic.hub.collector;
1717

18-
import java.util.List;
19-
2018
import com.marklogic.hub.plugin.PluginType;
2119

20+
import java.util.Vector;
21+
2222
public class QueryCollector extends ServerCollector {
2323

2424
public static final String MODULE = "/com.marklogic.hub/collectors/query.xqy";
@@ -28,7 +28,7 @@ public QueryCollector() {
2828
}
2929

3030
@Override
31-
public List<String> run() {
31+
public Vector<String> run() {
3232
return null;
3333
}
3434

marklogic-data-hub/src/main/java/com/marklogic/hub/collector/ServerCollector.java

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,6 @@
1515
*/
1616
package com.marklogic.hub.collector;
1717

18-
import java.util.ArrayList;
19-
import java.util.List;
20-
21-
import javax.xml.stream.XMLStreamException;
22-
import javax.xml.stream.XMLStreamWriter;
23-
2418
import com.marklogic.client.DatabaseClient;
2519
import com.marklogic.client.extensions.ResourceManager;
2620
import com.marklogic.client.extensions.ResourceServices.ServiceResult;
@@ -29,6 +23,10 @@
2923
import com.marklogic.client.util.RequestParameters;
3024
import com.marklogic.hub.plugin.PluginType;
3125

26+
import javax.xml.stream.XMLStreamException;
27+
import javax.xml.stream.XMLStreamWriter;
28+
import java.util.Vector;
29+
3230
public class ServerCollector extends AbstractCollector {
3331

3432
private DatabaseClient client = null;
@@ -61,24 +59,24 @@ public void serialize(XMLStreamWriter serializer) throws XMLStreamException {
6159
}
6260

6361
@Override
64-
public List<String> run() {
62+
public Vector<String> run() {
6563
CollectorModule cm = new CollectorModule(client);
6664
return cm.run(getModule());
6765
}
6866

69-
static class CollectorModule extends ResourceManager {
67+
static class CollectorModule extends ResourceManager {
7068
static final public String NAME = "collector";
7169

7270
public CollectorModule(DatabaseClient client) {
7371
super();
7472
client.init(NAME, this);
7573
}
7674

77-
public List<String> run(String moduleUri) {
75+
public Vector<String> run(String moduleUri) {
7876
RequestParameters params = new RequestParameters();
7977
params.add("module-uri", moduleUri);
8078

81-
ServiceResultIterator resultItr = null;
79+
ServiceResultIterator resultItr;
8280

8381
resultItr = this.getServices().get(params);
8482

@@ -87,7 +85,7 @@ public List<String> run(String moduleUri) {
8785
}
8886

8987
ServiceResult res = resultItr.next();
90-
JacksonDatabindHandle<ArrayList<String>> handle = new JacksonDatabindHandle<ArrayList<String>>(new ArrayList<String>());
88+
JacksonDatabindHandle<Vector<String>> handle = new JacksonDatabindHandle<>(new Vector<String>());
9189
handle.getMapper().disableDefaultTyping();
9290
return res.getContent(handle).get();
9391
}

marklogic-data-hub/src/main/java/com/marklogic/spring/batch/hub/CollectorReader.java

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,17 @@
11
package com.marklogic.spring.batch.hub;
22

3-
import java.util.ArrayList;
4-
import java.util.List;
5-
3+
import com.marklogic.hub.collector.Collector;
64
import org.springframework.batch.item.ExecutionContext;
75
import org.springframework.batch.item.ItemStreamException;
8-
import org.springframework.batch.item.ItemStreamReader;
6+
import org.springframework.batch.item.support.SynchronizedItemStreamReader;
97

10-
import com.marklogic.client.helper.LoggingObject;
11-
import com.marklogic.hub.collector.Collector;
8+
import java.util.Vector;
129

13-
public class CollectorReader extends LoggingObject implements ItemStreamReader<String> {
10+
public class CollectorReader extends SynchronizedItemStreamReader<String> {
1411

1512
private Collector collector;
1613

17-
private List<String> results;
18-
19-
private int index = 0;
14+
private Vector<String> results;
2015

2116
public CollectorReader(Collector collector) {
2217
this.collector = collector;
@@ -28,7 +23,7 @@ public void open(ExecutionContext executionContext) {
2823
this.results = collector.run();
2924
}
3025
else {
31-
this.results = new ArrayList<>();
26+
this.results = new Vector<>();
3227
}
3328

3429
executionContext.putInt("totalItems", this.results.size());
@@ -38,9 +33,11 @@ public void open(ExecutionContext executionContext) {
3833
public String read() {
3934
String result = null;
4035

41-
if (results.size() > this.index) {
42-
result = this.results.get(this.index);
43-
index++;
36+
try {
37+
result = this.results.remove(0);
38+
}
39+
catch(ArrayIndexOutOfBoundsException e) {
40+
4441
}
4542

4643
return result;

marklogic-data-hub/src/main/java/com/marklogic/spring/batch/hub/FlowWriter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ public class FlowWriter extends ResourceManager implements ItemWriter<String> {
2121
private DatabaseClient client;
2222
private Flow flow;
2323
StringHandle handle;
24-
RequestParameters params = new RequestParameters();
2524

2625
public FlowWriter(DatabaseClient client, Flow flow) {
2726
super();
@@ -36,6 +35,7 @@ public FlowWriter(DatabaseClient client, Flow flow) {
3635
public void write(List<? extends String> items) {
3736

3837
try {
38+
RequestParameters params = new RequestParameters();
3939
params.put("identifier", items.toArray(new String[items.size()]));
4040
this.getServices().post(params, handle);
4141
}

marklogic-data-hub/src/main/java/com/marklogic/spring/batch/hub/RunHarmonizeFlowConfig.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,10 @@ public class RunHarmonizeFlowConfig extends AbstractMarkLogicBatchConfig {
3333

3434
@Bean
3535
public Job job(@Qualifier("step1") Step step1) {
36-
return jobBuilderFactory.get("Harmonize").start(step1).listener(new JobExecutionListener() {
36+
return jobBuilderFactory.get("Harmonize")
37+
.start(step1)
38+
.preventRestart()
39+
.listener(new JobExecutionListener() {
3740
@Override
3841
public void beforeJob(JobExecution jobExecution) {
3942
jobId = jobExecution.getJobId();

quick-start/src/main/java/com/marklogic/quickstart/service/FlowManagerService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
import java.util.UUID;
3939

4040
@Service
41-
public class FlowManagerService extends LoggingObject{
41+
public class FlowManagerService extends LoggingObject {
4242

4343
private static final String PROJECT_TMP_FOLDER = ".tmp";
4444
@Autowired

quick-start/src/main/ui/app/dashboard/dashboard.component.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,7 @@ export class DashboardComponent implements OnInit, OnDestroy {
2424
constructor(private projectService: ProjectService) {}
2525

2626
getStatus() {
27-
if (this.statsInterval) {
28-
clearInterval(this.statsInterval);
29-
}
27+
this.ngOnDestroy();
3028

3129
this.projectService.getStatus().subscribe((stats) => {
3230
this.stats = stats;
@@ -46,6 +44,7 @@ export class DashboardComponent implements OnInit, OnDestroy {
4644
ngOnDestroy() {
4745
if (this.statsInterval) {
4846
clearInterval(this.statsInterval);
47+
delete this.statsInterval;
4948
}
5049
}
5150

quick-start/src/main/ui/app/mlcp-ui/mlcp-ui.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -481,7 +481,7 @@ export class MlcpUiComponent {
481481
if (setting.value) {
482482
const key = setting.field;
483483
let value = setting.value;
484-
if (setting.type !== 'boolean') {
484+
if (setting.type !== 'boolean' && setting.type !== 'number') {
485485
value = '"' + setting.value + '"';
486486
}
487487
this.addMlcpOption(options, key, value, true, true);

0 commit comments

Comments
 (0)