Skip to content

Commit

Permalink
adding support for different monikers
Browse files Browse the repository at this point in the history
  • Loading branch information
damienbod committed Jul 2, 2016
1 parent adb92b8 commit ca2c13b
Show file tree
Hide file tree
Showing 5 changed files with 107 additions and 52 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -66,3 +66,5 @@ src/ElasticsearchGermanAnalyzer/project.lock.json
src/ElasticsearchCRUD.Integration.Test/project.lock.json
src/ElasticsearchCRUD.Integration.Test/bin
src/ElasticsearchCRUDNUnit.Integration.Test/obj
src/ElasticsearchCrud/project.lock.json
.vs/config/applicationhost.config
1 change: 0 additions & 1 deletion ElasticsearchCrud.sln
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{4ABB33C4-D394-4795-9A18-2EB1DD4DF875}"
ProjectSection(SolutionItems) = preProject
global.json = global.json
NuGet.Config = NuGet.Config
EndProjectSection
EndProject
Project("{8BB2217D-0F2D-49D1-97BC-3654ED321F3B}") = "ElasticsearchCrud", "src\ElasticsearchCrud\ElasticsearchCrud.xproj", "{89350F47-9F41-4E99-8C3D-D6C1DCC80E2F}"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,35 +7,35 @@ namespace ElasticsearchCRUD.ContextAddDeleteUpdate.CoreTypeAttributes
using System.Linq;

public class Fields
{
/// <summary>
/// You can define all the Elasticsearch properties here
/// </summary>
public Type FieldClass { get; set; }

public void AddFieldData(ElasticsearchCrudJsonWriter elasticsearchCrudJsonWriter)
{
elasticsearchCrudJsonWriter.JsonWriter.WritePropertyName("fields");
elasticsearchCrudJsonWriter.JsonWriter.WriteStartObject();

var propertyInfo = FieldClass.GetProperties();
foreach (var property in propertyInfo)
{
#if DNX451 || NET451
{
/// <summary>
/// You can define all the Elasticsearch properties here
/// </summary>
public Type FieldClass { get; set; }

public void AddFieldData(ElasticsearchCrudJsonWriter elasticsearchCrudJsonWriter)
{
elasticsearchCrudJsonWriter.JsonWriter.WritePropertyName("fields");
elasticsearchCrudJsonWriter.JsonWriter.WriteStartObject();

var propertyInfo = FieldClass.GetProperties();
foreach (var property in propertyInfo)
{
#if NET46 || NET451 || NET452
if (Attribute.IsDefined(property, typeof(ElasticsearchCoreTypes)))
{
var propertyName = property.Name.ToLower();
object[] attrs = property.GetCustomAttributes(typeof(ElasticsearchCoreTypes), true);

if ((attrs[0] as ElasticsearchCoreTypes) != null)
{
elasticsearchCrudJsonWriter.JsonWriter.WritePropertyName(propertyName);
elasticsearchCrudJsonWriter.JsonWriter.WriteRawValue((attrs[0] as ElasticsearchCoreTypes).JsonString());
}
}
{
var propertyName = property.Name.ToLower();
object[] attrs = property.GetCustomAttributes(typeof(ElasticsearchCoreTypes), true);

if ((attrs[0] as ElasticsearchCoreTypes) != null)
{
elasticsearchCrudJsonWriter.JsonWriter.WritePropertyName(propertyName);
elasticsearchCrudJsonWriter.JsonWriter.WriteRawValue((attrs[0] as ElasticsearchCoreTypes).JsonString());
}
}
#else
if (property.GetCustomAttribute(typeof(ElasticsearchCoreTypes)) != null)
{
{
var propertyName = property.Name.ToLower();

IEnumerable<Attribute> attrs = property.GetCustomAttributes(typeof(ElasticsearchCoreTypes), true);
Expand All @@ -51,8 +51,8 @@ public void AddFieldData(ElasticsearchCrudJsonWriter elasticsearchCrudJsonWriter
}

elasticsearchCrudJsonWriter.JsonWriter.WriteEndObject();
}
}
}
}

}
52 changes: 39 additions & 13 deletions src/ElasticsearchCrud/ElasticsearchMapping.cs
Original file line number Diff line number Diff line change
Expand Up @@ -57,13 +57,23 @@ public virtual void MapEntityValues(EntityContextInfo entityInfo, ElasticsearchC
// process GeoTypes
if (createPropertyMappings)
{
#if NET46 || NET451 || NET452
object[] attrs = prop.GetCustomAttributes(typeof(ElasticsearchCoreTypes), true);

if ((attrs.FirstOrDefault() as ElasticsearchCoreTypes) != null)
{
elasticsearchCrudJsonWriter.JsonWriter.WritePropertyName(obj);
elasticsearchCrudJsonWriter.JsonWriter.WriteRawValue((attrs.FirstOrDefault() as ElasticsearchCoreTypes).JsonString());
}
#else
IEnumerable<Attribute> attrs = prop.GetCustomAttributes(typeof(ElasticsearchCoreTypes), true);

if ((attrs.FirstOrDefault() as ElasticsearchCoreTypes) != null)
{
elasticsearchCrudJsonWriter.JsonWriter.WritePropertyName(obj);
elasticsearchCrudJsonWriter.JsonWriter.WriteRawValue((attrs.FirstOrDefault() as ElasticsearchCoreTypes).JsonString());
}
#endif
}
else
{
Expand Down Expand Up @@ -94,14 +104,23 @@ public virtual void MapEntityValues(EntityContextInfo entityInfo, ElasticsearchC
var obj = prop.Name.ToLower();
if (prop.GetCustomAttribute(typeof(ElasticsearchCoreTypes)) != null)
{
IEnumerable<Attribute> attrs = prop.GetCustomAttributes(typeof(ElasticsearchCoreTypes), true);
#if NET46 || NET451 || NET452
object[] attrs = prop.GetCustomAttributes(typeof(ElasticsearchCoreTypes), true);

if ((attrs.FirstOrDefault() as ElasticsearchCoreTypes) != null)
{
elasticsearchCrudJsonWriter.JsonWriter.WritePropertyName(obj);
elasticsearchCrudJsonWriter.JsonWriter.WriteRawValue((attrs.FirstOrDefault() as ElasticsearchCoreTypes).JsonString());
}
#else
IEnumerable<Attribute> attrs = prop.GetCustomAttributes(typeof(ElasticsearchCoreTypes), true);

if ((attrs.FirstOrDefault() as ElasticsearchCoreTypes) != null)
{
elasticsearchCrudJsonWriter.JsonWriter.WritePropertyName(obj);
elasticsearchCrudJsonWriter.JsonWriter.WriteRawValue((attrs.FirstOrDefault() as ElasticsearchCoreTypes).JsonString());
}
#endif
}
else
{
Expand Down Expand Up @@ -240,8 +259,14 @@ private void CreateChildEntityForDocumentIndex(EntityContextInfo parentEntityInf
var propertyInfo = entity.GetType().GetProperties();
foreach (var property in propertyInfo)
{
#if NET46 || NET451 || NET452
// TODO support this property.GetCustomAttribute(typeof(KeyAttribute)) != null ||
if ( property.GetCustomAttribute(typeof(ElasticsearchIdAttribute)) != null)
{
#else
if (property.GetCustomAttribute(typeof(KeyAttribute)) != null || property.GetCustomAttribute(typeof(ElasticsearchIdAttribute)) != null )
{
#endif
var obj = property.GetValue(entity);

if (obj == null && createPropertyMappings)
Expand Down Expand Up @@ -455,19 +480,20 @@ private void MapIEnumerableEntitiesForMapping(ElasticsearchCrudJsonWriter elasti
// collection of Objects
elasticsearchCrudJsonWriter.JsonWriter.WriteStartObject();

//if (property.GetCustomAttribute(typeof(ElasticsearchCoreTypes)) != null)
//{
// var propertyName = property.Name.ToLower();

// IEnumerable<Attribute> attrs = property.GetCustomAttributes(typeof(ElasticsearchCoreTypes), true);
#if NET46 || NET451 || NET452
if (prop.GetCustomAttribute(typeof(ElasticsearchCoreTypes)) != null)
{
var propertyName = prop.Name.ToLower();

// if ((attrs.FirstOrDefault() as ElasticsearchCoreTypes) != null)
// {
// elasticsearchCrudJsonWriter.JsonWriter.WritePropertyName(propertyName);
// elasticsearchCrudJsonWriter.JsonWriter.WriteRawValue((attrs.FirstOrDefault() as ElasticsearchCoreTypes).JsonString());
// }
//}
object[] attrs = prop.GetCustomAttributes(typeof(ElasticsearchCoreTypes), true);

if ((attrs.FirstOrDefault() as ElasticsearchCoreTypes) != null)
{
elasticsearchCrudJsonWriter.JsonWriter.WritePropertyName(propertyName);
elasticsearchCrudJsonWriter.JsonWriter.WriteRawValue((attrs.FirstOrDefault() as ElasticsearchCoreTypes).JsonString());
}
}
#else
if (prop.GetCustomAttribute(typeof(ElasticsearchNestedAttribute)) != null )
{
elasticsearchCrudJsonWriter.JsonWriter.WritePropertyName("type");
Expand All @@ -480,7 +506,7 @@ private void MapIEnumerableEntitiesForMapping(ElasticsearchCrudJsonWriter elasti
(attrs.FirstOrDefault() as ElasticsearchNestedAttribute).WriteJson(elasticsearchCrudJsonWriter);
}
}

#endif
// "properties": {
elasticsearchCrudJsonWriter.JsonWriter.WritePropertyName("properties");
elasticsearchCrudJsonWriter.JsonWriter.WriteStartObject();
Expand Down
46 changes: 37 additions & 9 deletions src/ElasticsearchCrud/project.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,18 +18,46 @@
}
},

"dependencies": {
"Newtonsoft.Json": "9.0.1",
"System.ComponentModel.Annotations": "4.1.0",
"System.Net.Http": "4.1.0",
"System.Reflection.TypeExtensions": "4.1.0",
"System.Console": "4.0.0",
"System.Diagnostics.TraceSource": "4.0.0"
},


"frameworks": {
"netstandard1.4": {
"imports": "dnxcore50"
"imports": [
"dnxcore50",
"portable-net45+win8"
],
"dependencies": {
"Newtonsoft.Json": "9.0.1",
"System.ComponentModel.Annotations": "4.1.0",
"System.Net.Http": "4.1.0",
"System.Reflection.TypeExtensions": "4.1.0",
"System.Console": "4.0.0",
"System.Diagnostics.TraceSource": "4.0.0"
}
},
"netcoreapp1.6": {
"imports": [
"dnxcore50",
"portable-net45+win8"
],
"dependencies": {
"Newtonsoft.Json": "9.0.1",
"System.ComponentModel.Annotations": "4.1.0",
"System.Net.Http": "4.1.0",
"System.Reflection.TypeExtensions": "4.1.0",
"System.Console": "4.0.0",
"System.Diagnostics.TraceSource": "4.0.0"
}
},
"net46": {
"dependencies": {
"Newtonsoft.Json": "9.0.1",
"System.ComponentModel.Annotations": "4.0.10.0",
"System.Net.Http": "4.1.0",
"System.Reflection.TypeExtensions": "4.1.0",
"System.Console": "4.0.0",
"System.Diagnostics.TraceSource": "4.0.0"
}
}
}

Expand Down

0 comments on commit ca2c13b

Please sign in to comment.