Skip to content
Snippets Groups Projects
Commit 9899cab4 authored by René Schöne's avatar René Schöne
Browse files

Merge branch 'master' into 19-poc-use-mustache-as-template-engine

parents 15c33065 52785f37
No related branches found
No related tags found
No related merge requests found
...@@ -141,10 +141,16 @@ aspect AspectGeneration { ...@@ -141,10 +141,16 @@ aspect AspectGeneration {
sb.append(ind(indent + 1)).append(preemptiveReturnStatement()).append("\n"); sb.append(ind(indent + 1)).append(preemptiveReturnStatement()).append("\n");
sb.append(ind(indent)).append("}\n"); sb.append(ind(indent)).append("}\n");
if (!getAlwaysApply()) { if (!getAlwaysApply()) {
sb.append(ind(indent)).append("if (").append(preemptiveExpectedValue()); MappingDefinition lastMapping = effectiveMappings().get(effectiveMappings().size() - 1);
if (getToken().isPrimitiveType()) { sb.append(ind(indent)).append("if (");
if (lastMapping.getToType().isArray()) {
sb.append("java.util.Arrays.equals(").append(preemptiveExpectedValue())
.append(", ").append(inputVariableName).append(")");
} else {
sb.append(preemptiveExpectedValue());
if (getToken().isPrimitiveType() && lastMapping.getToType().isPrimitiveType()) {
sb.append(" == ").append(inputVariableName); sb.append(" == ").append(inputVariableName);
} else if (effectiveMappings().get(effectiveMappings().size() - 1).isDefaultMappingDefinition()) { } else if (lastMapping.isDefaultMappingDefinition()) {
sb.append(" != null && ").append(preemptiveExpectedValue()).append(".equals(") sb.append(" != null && ").append(preemptiveExpectedValue()).append(".equals(")
.append(inputVariableName).append(")"); .append(inputVariableName).append(")");
} else { } else {
...@@ -152,6 +158,7 @@ aspect AspectGeneration { ...@@ -152,6 +158,7 @@ aspect AspectGeneration {
.append(inputVariableName).append(")").append(" : ") .append(inputVariableName).append(")").append(" : ")
.append(inputVariableName).append(" == null"); .append(inputVariableName).append(" == null");
} }
}
sb.append(") { ").append(preemptiveReturnStatement()).append(" }\n"); sb.append(") { ").append(preemptiveReturnStatement()).append(" }\n");
} }
return inputVariableName; return inputVariableName;
......
...@@ -151,6 +151,12 @@ aspect Mappings { ...@@ -151,6 +151,12 @@ aspect Mappings {
default: return false; default: return false;
} }
} }
syn boolean MappingDefinitionType.isPrimitiveType() = false;
eq JavaMappingDefinitionType.isPrimitiveType() = getType().isPrimitiveType();
// --- isArray ---
syn boolean MappingDefinitionType.isArray() = false;
eq JavaArrayMappingDefinitionType.isArray() = true;
// --- suitableDefaultMapping --- // --- suitableDefaultMapping ---
syn DefaultMappingDefinition UpdateDefinition.suitableDefaultMapping(); syn DefaultMappingDefinition UpdateDefinition.suitableDefaultMapping();
......
...@@ -231,8 +231,16 @@ public class MqttUpdater { ...@@ -231,8 +231,16 @@ public class MqttUpdater {
} }
public void publish(String topic, byte[] bytes) { public void publish(String topic, byte[] bytes) {
publish(topic, bytes, false);
}
public void publish(String topic, byte[] bytes, boolean retain) {
publish(topic, bytes, this.qos, retain);
}
public void publish(String topic, byte[] bytes, org.fusesource.mqtt.client.QoS qos, boolean retain) {
connection.getDispatchQueue().execute(() -> { connection.getDispatchQueue().execute(() -> {
connection.publish(topic, bytes, qos, false, new org.fusesource.mqtt.client.Callback<Void>() { connection.publish(topic, bytes, qos, retain, new org.fusesource.mqtt.client.Callback<Void>() {
@Override @Override
public void onSuccess(Void value) { public void onSuccess(Void value) {
logger.debug("Published some bytes to {}", topic); logger.debug("Published some bytes to {}", topic);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment