Skip to content

Commit bad53b2

Browse files
committed
add reserved flow name
1 parent 1653c76 commit bad53b2

File tree

2 files changed

+19
-9
lines changed

2 files changed

+19
-9
lines changed

.run/Application - 1.run.xml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
<component name="ProjectRunConfigurationManager">
22
<configuration default="false" name="Application - 1" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
3-
<module name="core" />
4-
<option name="SPRING_BOOT_MAIN_CLASS" value="com.flowci.core.Application" />
5-
<option name="VM_PARAMETERS" value="-Xms1g -Xmx1g -Xmn600m -XX:-UseAdaptiveSizePolicy -XX:SurvivorRatio=4 -verbose:gc" />
6-
<option name="ALTERNATIVE_JRE_PATH" />
3+
<option name="ACTIVE_PROFILES" />
74
<envs>
5+
<env name="FLOWCI_AGENT_IMAGE" value="flowci/agent:dev" />
6+
<env name="FLOWCI_AGENT_VOLUMES" value="name=pyenv,dest=/ci/python,script=init.sh,image=flowci/pyenv,init=init-pyenv-volume.sh" />
7+
<env name="FLOWCI_AUTO_AGENT" value="false" />
88
<env name="FLOWCI_LOG_LEVEL" value="DEBUG" />
99
<env name="FLOWCI_PLUGIN_URL" value="https://raw.githubusercontent.com/FlowCI/plugins/develop/repository.json" />
1010
<env name="FLOWCI_RABBITMQ_URI" value="amqp://guest:[email protected]:5672" />
11-
<env name="FLOWCI_ZK_HOST" value="127.0.0.1" />
12-
<env name="FLOWCI_AUTO_AGENT" value="false" />
13-
<env name="FLOWCI_AGENT_VOLUMES" value="name=pyenv,dest=/ci/python,script=init.sh,image=flowci/pyenv,init=init-pyenv-volume.sh" />
1411
<env name="FLOWCI_SERVER_PORT" value="8080" />
12+
<env name="FLOWCI_SERVER_URL" value="http://localhost:8080" />
1513
<env name="FLOWCI_TEMPLATES" value="https://raw.githubusercontent.com/FlowCI/templates/develop/templates.json" />
16-
<env name="FLOWCI_AGENT_IMAGE" value="flowci/agent:dev" />
17-
<env name="FLOWCI_SERVER_URL" value="http://192.168.31.173:8080" />
14+
<env name="FLOWCI_ZK_HOST" value="127.0.0.1" />
1815
</envs>
16+
<module name="core" />
17+
<option name="SPRING_BOOT_MAIN_CLASS" value="com.flowci.core.Application" />
18+
<option name="VM_PARAMETERS" value="-Xms1g -Xmx1g -Xmn600m -XX:-UseAdaptiveSizePolicy -XX:SurvivorRatio=4 -verbose:gc" />
1919
<method v="2">
2020
<option name="Make" enabled="true" />
2121
</method>

core/src/main/java/com/flowci/core/flow/domain/Flow.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,15 @@
2727
import com.flowci.store.Pathable;
2828
import com.flowci.tree.NodePath;
2929
import com.flowci.util.StringHelper;
30+
import com.google.common.collect.ImmutableSet;
3031
import lombok.Getter;
3132
import lombok.NoArgsConstructor;
3233
import lombok.Setter;
3334
import org.springframework.data.mongodb.core.index.Indexed;
3435
import org.springframework.data.mongodb.core.mapping.Document;
3536

3637
import java.util.Objects;
38+
import java.util.Set;
3739

3840
/**
3941
* @author yang
@@ -44,13 +46,21 @@
4446
@Document(collection = "flow")
4547
public final class Flow extends Mongoable implements Pathable {
4648

49+
private static final Set<String> reservedFlowNames = ImmutableSet.<String>builder()
50+
.add("flows")
51+
.build();
52+
4753
public static Pathable path(String id) {
4854
Flow flow = new Flow();
4955
flow.setId(id);
5056
return flow;
5157
}
5258

5359
public static void validateName(String name) {
60+
if (reservedFlowNames.contains(name.toLowerCase())) {
61+
throw new ArgumentException("flow name {0} cannot be used, it's reserved by system", name);
62+
}
63+
5464
if (!NodePath.validate(name)) {
5565
String message = "Illegal flow name {0}, the length cannot over 100 and '*' ',' is not available";
5666
throw new ArgumentException(message, name);

0 commit comments

Comments
 (0)