Enum Annotations. Decimal precision fields.
This commit is contained in:
parent
ba6f8a6f50
commit
e7d6496cea
|
@ -73,7 +73,8 @@ public class EnumFieldInfo extends FieldInfo
|
||||||
{
|
{
|
||||||
if (values.size()==0)
|
if (values.size()==0)
|
||||||
{
|
{
|
||||||
loadValues();
|
EnumValueInfo sampleValue = new EnumValueInfo("Sample"+lookupName+"EnumValue");
|
||||||
|
values.add(sampleValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
return values;
|
return values;
|
||||||
|
@ -85,14 +86,13 @@ public class EnumFieldInfo extends FieldInfo
|
||||||
{
|
{
|
||||||
if (values.size()==0)
|
if (values.size()==0)
|
||||||
{
|
{
|
||||||
loadValues();
|
getValues();
|
||||||
}
|
}
|
||||||
if (values.size()>0)
|
if (values.size()>0)
|
||||||
{
|
{
|
||||||
return new FullQualifiedName("org.reso.metadata.enums." + lookupName);
|
return new FullQualifiedName("org.reso.metadata.enums." + lookupName);
|
||||||
}
|
}
|
||||||
|
|
||||||
LOG.info("No values for lookup: "+lookupName);
|
|
||||||
return super.getType();
|
return super.getType();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -15,6 +15,8 @@ public class FieldInfo
|
||||||
private String fieldName = null;
|
private String fieldName = null;
|
||||||
private FullQualifiedName type = null;
|
private FullQualifiedName type = null;
|
||||||
private Integer maxLength = null;
|
private Integer maxLength = null;
|
||||||
|
private Integer precision = null;
|
||||||
|
private Integer scale = null;
|
||||||
|
|
||||||
private ArrayList<CsdlAnnotation> annotations = null;
|
private ArrayList<CsdlAnnotation> annotations = null;
|
||||||
|
|
||||||
|
@ -73,12 +75,47 @@ public class FieldInfo
|
||||||
this.maxLength = maxLength;
|
this.maxLength = maxLength;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the Decimal Precision.
|
||||||
|
*
|
||||||
|
* @param precision The value to set the attribute to.
|
||||||
|
*/
|
||||||
|
public void setPrecision(Integer precision)
|
||||||
|
{
|
||||||
|
this.precision = precision;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the Decimal Scale.
|
||||||
|
*
|
||||||
|
* @param scale The value to set the attribute to.
|
||||||
|
*/
|
||||||
|
public void setScale(Integer scale)
|
||||||
|
{
|
||||||
|
this.scale = scale;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public Integer getMaxLength()
|
public Integer getMaxLength()
|
||||||
{
|
{
|
||||||
return maxLength;
|
return maxLength;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public Integer getPrecision()
|
||||||
|
{
|
||||||
|
return precision;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public Integer getScale()
|
||||||
|
{
|
||||||
|
return scale;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public boolean isCollection()
|
public boolean isCollection()
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -61,6 +61,18 @@ public class RESOedmProvider extends CsdlAbstractEdmProvider
|
||||||
property.setMaxLength(maxLength);
|
property.setMaxLength(maxLength);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Integer precision = field.getPrecision();
|
||||||
|
if (null!=precision)
|
||||||
|
{
|
||||||
|
property.setPrecision(precision);
|
||||||
|
}
|
||||||
|
|
||||||
|
Integer scale = field.getScale();
|
||||||
|
if (null!=scale)
|
||||||
|
{
|
||||||
|
property.setScale(scale);
|
||||||
|
}
|
||||||
|
|
||||||
ArrayList<CsdlAnnotation> annotations = field.getAnnotations();
|
ArrayList<CsdlAnnotation> annotations = field.getAnnotations();
|
||||||
if (annotations!=null)
|
if (annotations!=null)
|
||||||
{
|
{
|
||||||
|
@ -162,7 +174,7 @@ public class RESOedmProvider extends CsdlAbstractEdmProvider
|
||||||
enumSchema.setNamespace(NAMESPACE+".enums");
|
enumSchema.setNamespace(NAMESPACE+".enums");
|
||||||
|
|
||||||
// add EntityTypes
|
// add EntityTypes
|
||||||
List<CsdlEntityType> entityTypes = new ArrayList<CsdlEntityType>();
|
List<CsdlEntityType> entityTypes = new ArrayList<>();
|
||||||
|
|
||||||
HashMap<String, Boolean> enumList = new HashMap<>();
|
HashMap<String, Boolean> enumList = new HashMap<>();
|
||||||
|
|
||||||
|
@ -214,25 +226,11 @@ public class RESOedmProvider extends CsdlAbstractEdmProvider
|
||||||
schema.setEntityContainer(getEntityContainer());
|
schema.setEntityContainer(getEntityContainer());
|
||||||
|
|
||||||
// finally
|
// finally
|
||||||
List<CsdlSchema> schemas = new ArrayList<CsdlSchema>();
|
List<CsdlSchema> schemas = new ArrayList<>();
|
||||||
schemas.add(schema);
|
schemas.add(schema);
|
||||||
|
|
||||||
/**
|
|
||||||
// Example of how to create enum types.
|
|
||||||
CsdlEnumType type = new CsdlEnumType();
|
|
||||||
type.setMembers(Arrays.asList(
|
|
||||||
new CsdlEnumMember().setName("LOW"),
|
|
||||||
new CsdlEnumMember().setName("MEDIUM").setValue("1")
|
|
||||||
));
|
|
||||||
type.setName("EnumTest");
|
|
||||||
type.setUnderlyingType(EdmPrimitiveTypeKind.Int64.getFullQualifiedName());
|
|
||||||
|
|
||||||
enumSchema.getEnumTypes().add(type);
|
|
||||||
|
|
||||||
/**/
|
|
||||||
schemas.add(enumSchema);
|
schemas.add(enumSchema);
|
||||||
|
|
||||||
|
|
||||||
return schemas;
|
return schemas;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue