Required properties in Concourse Editor

This commit is contained in:
Kris De Volder
2017-01-20 18:13:55 -08:00
parent 9d65aef357
commit 1fb5c6ddeb
4 changed files with 94 additions and 15 deletions

View File

@@ -177,13 +177,9 @@ public class PipelineYmlSchema implements YamlSchema {
addProp(step, subStep, "timeout", t_duration);
}
YType resourceSource = f.contextAware("ResourceSource", (dc) -> {
String typeTag = getResourceTypeTag(models, dc);
if (typeTag!=null) {
return resourceTypes.getSourceType(typeTag);
}
return null;
});
YType resourceSource = f.contextAware("ResourceSource", (dc) ->
resourceTypes.getSourceType(getResourceTypeTag(models, dc))
);
YBeanType resource = f.ybean("Resource");
addProp(resource, "name", resourceNameDef).isRequired(true);
@@ -202,12 +198,12 @@ public class PipelineYmlSchema implements YamlSchema {
addProp(job, "disable_manual_trigger", t_boolean);
YBeanType resourceType = f.ybean("ResourceType");
addProp(resourceType, "name", t_ne_string);
addProp(resourceType, "type", t_image_type);
addProp(resourceType, "source", t_any);
addProp(resourceType, "name", t_ne_string).isRequired(true);
addProp(resourceType, "type", t_image_type).isRequired(true);
addProp(resourceType, "source", resourceSource);
YBeanType group = f.ybean("Group");
addProp(group, "name", t_ne_string);
addProp(group, "name", t_ne_string).isRequired(true);
addProp(group, "resources", f.yseq(resourceName));
addProp(group, "jobs", f.yseq(jobName));
@@ -256,7 +252,6 @@ public class PipelineYmlSchema implements YamlSchema {
return prop;
}
private YTypedPropertyImpl addProp(AbstractType superType, AbstractType bean, String name, YType type) {
YTypedPropertyImpl p = prop(superType, name, type);
bean.addProperty(p);

View File

@@ -20,7 +20,7 @@ import org.springframework.ide.vscode.commons.yaml.schema.YTypeFactory.YBeanType
/**
* Keeps track of known resource types. For now this only keeps track of the resource-types that
* are built-in to concourse.
*
*
* @author Kris De Volder
*/
public class ResourceTypeRegistry {
@@ -36,7 +36,10 @@ public class ResourceTypeRegistry {
}
public YType getSourceType(String typeTag) {
return sourceTypes.get(typeTag);
if (typeTag!=null) {
return sourceTypes.get(typeTag);
}
return null;
}
}