Skip to content

Commit

Permalink
Merge pull request #48 from circles-arrows/updated-to-use-dynamic-paths
Browse files Browse the repository at this point in the history
updated-to-use-dynamic-paths
  • Loading branch information
circles-arrows committed Feb 26, 2024
2 parents ae5f71e + 4f888c6 commit ebaebaf
Show file tree
Hide file tree
Showing 22 changed files with 55 additions and 40 deletions.
2 changes: 1 addition & 1 deletion Blueprint41.Build/Blueprint41.Build.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@


<PropertyGroup Label="Package">
<PackageVersion>1.1.1</PackageVersion>
<PackageVersion>1.1.2</PackageVersion>
<PackageId>Blueprint41.Build</PackageId>
<Title>Blueprint41.Build</Title>
<Authors>Circles Arrows Limited</Authors>
Expand Down
2 changes: 1 addition & 1 deletion Blueprint41.Build/Blueprint41.Build.targets
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Target Name="RunGeneratorDll" BeforeTargets="PreBuildEvent">
<Message Text="Blueprint41.Build Generator running" Importance="high" />
<Exec Command="dotnet &quot;$(MSBuildThisFileDirectory)..\lib\net8.0\Blueprint41.Build.dll&quot; --projectPath=$(ProjectDir)" />
<Exec Command="dotnet &quot;$(MSBuildThisFileDirectory)..\lib\net8.0\Blueprint41.Build.dll&quot; --projectPath=$(ProjectDir) --modelFolder=$(OutDir)" />
</Target>
</Project>
5 changes: 4 additions & 1 deletion Blueprint41.Build/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,13 @@ public static class Generator
private const string GeneratePathArg = "generatePath";
private const string NamespaceArg = "namespace";
private const string ProjectPathArg = "projectPath";
private const string ModelFolderArg = "modelFolder";

public static void Main(string[] args)
{
var parameters = ParseParameters(args);
var projectPath = GetFullPath(parameters, ProjectPathArg);
var modelFolder = GetFullPath(parameters, ModelFolderArg);
if (!string.IsNullOrEmpty(projectPath))
{
var configFilePath = Path.Combine(projectPath, "Blueprint41.Build.json");
Expand All @@ -32,7 +34,8 @@ public static void Main(string[] args)
}
}

var modelPath = GetFullPath(parameters, ModelPathArg);
var modelName = parameters.GetValueOrDefault(ModelPathArg);
var modelPath = Path.Combine(modelFolder, modelName);
var generatePath = GetFullPath(parameters, GeneratePathArg) ?? projectPath;
var namespaceName = parameters.GetValueOrDefault(NamespaceArg, "Datastore");

Expand Down
1 change: 1 addition & 0 deletions MovieGraph/MovieGraph/ConsoleApp/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ class Program
{
static void Main(string[] args)
{

PersistenceProvider.CurrentPersistenceProvider = new Neo4jPersistenceProvider($"bolt://localhost:7687", $"neo4j", $"neoneoneo");

// Execute only once
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"modelPath": "../MovieGraph.Model/bin/Debug/netstandard2.0/MovieGraph.Model.dll",
"modelPath": "MovieGraph.Model.dll",
"namespace": "Domain.Data"
}
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ public static List<ACTED_IN> Where(Func<Alias, QueryCondition[]> expression)
{
var query = Transaction.CompiledQuery
.Match(node.Person.Alias(out var inAlias).In.ACTED_IN.Alias(out var relAlias).Out.Movie.Alias(out var outAlias))

.Where(expression.Invoke(new Alias(relAlias, inAlias, outAlias)))
.Return(relAlias.ElementId.As("elementId"), relAlias.Properties("properties"), inAlias.As("in"), outAlias.As("out"))
.Compile();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ public static List<CONTAINS_GENRE> Where(Func<Alias, QueryCondition[]> expressio
{
var query = Transaction.CompiledQuery
.Match(node.Movie.Alias(out var inAlias).In.CONTAINS_GENRE.Alias(out var relAlias).Out.Genre.Alias(out var outAlias))

.Where(expression.Invoke(new Alias(relAlias, inAlias, outAlias)))
.Return(relAlias.ElementId.As("elementId"), relAlias.Properties("properties"), inAlias.As("in"), outAlias.As("out"))
.Compile();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ public static List<DIRECTED> Where(Func<Alias, QueryCondition[]> expression)
{
var query = Transaction.CompiledQuery
.Match(node.Person.Alias(out var inAlias).In.DIRECTED.Alias(out var relAlias).Out.Movie.Alias(out var outAlias))

.Where(expression.Invoke(new Alias(relAlias, inAlias, outAlias)))
.Return(relAlias.ElementId.As("elementId"), relAlias.Properties("properties"), inAlias.As("in"), outAlias.As("out"))
.Compile();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ public static List<FOLLOWS> Where(Func<Alias, QueryCondition[]> expression)
{
var query = Transaction.CompiledQuery
.Match(node.Person.Alias(out var inAlias).In.FOLLOWS.Alias(out var relAlias).Out.Person.Alias(out var outAlias))

.Where(expression.Invoke(new Alias(relAlias, inAlias, outAlias)))
.Return(relAlias.ElementId.As("elementId"), relAlias.Properties("properties"), inAlias.As("in"), outAlias.As("out"))
.Compile();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -281,9 +281,9 @@ internal GenreMembers() { }

#region Members for interface IGenre

public Property Uid { get; } = MovieGraph.Model.Datastore.Model.Entities["Genre"].Properties["Uid"];
public Property Name { get; } = MovieGraph.Model.Datastore.Model.Entities["Genre"].Properties["Name"];
public Property Movies { get; } = MovieGraph.Model.Datastore.Model.Entities["Genre"].Properties["Movies"];
public EntityProperty Uid { get; } = MovieGraph.Model.Datastore.Model.Entities["Genre"].Properties["Uid"];
public EntityProperty Name { get; } = MovieGraph.Model.Datastore.Model.Entities["Genre"].Properties["Name"];
public EntityProperty Movies { get; } = MovieGraph.Model.Datastore.Model.Entities["Genre"].Properties["Movies"];
#endregion

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ public static List<MOVIEREVIEW_HAS_MOVIE> Where(Func<Alias, QueryCondition[]> ex
{
var query = Transaction.CompiledQuery
.Match(node.MovieReview.Alias(out var inAlias).In.MOVIEREVIEW_HAS_MOVIE.Alias(out var relAlias).Out.Movie.Alias(out var outAlias))

.Where(expression.Invoke(new Alias(relAlias, inAlias, outAlias)))
.Return(relAlias.ElementId.As("elementId"), relAlias.Properties("properties"), inAlias.As("in"), outAlias.As("out"))
.Compile();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ public static List<MOVIEROLE_HAS_MOVIE> Where(Func<Alias, QueryCondition[]> expr
{
var query = Transaction.CompiledQuery
.Match(node.MovieRole.Alias(out var inAlias).In.MOVIEROLE_HAS_MOVIE.Alias(out var relAlias).Out.Movie.Alias(out var outAlias))

.Where(expression.Invoke(new Alias(relAlias, inAlias, outAlias)))
.Return(relAlias.ElementId.As("elementId"), relAlias.Properties("properties"), inAlias.As("in"), outAlias.As("out"))
.Compile();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ public static List<MOVIE_REVIEWS> Where(Func<Alias, QueryCondition[]> expression
{
var query = Transaction.CompiledQuery
.Match(node.Person.Alias(out var inAlias).In.MOVIE_REVIEWS.Alias(out var relAlias).Out.MovieReview.Alias(out var outAlias))

.Where(expression.Invoke(new Alias(relAlias, inAlias, outAlias)))
.Return(relAlias.ElementId.As("elementId"), relAlias.Properties("properties"), inAlias.As("in"), outAlias.As("out"))
.Compile();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ public static List<MOVIE_ROLES> Where(Func<Alias, QueryCondition[]> expression)
{
var query = Transaction.CompiledQuery
.Match(node.Person.Alias(out var inAlias).In.MOVIE_ROLES.Alias(out var relAlias).Out.MovieRole.Alias(out var outAlias))

.Where(expression.Invoke(new Alias(relAlias, inAlias, outAlias)))
.Return(relAlias.ElementId.As("elementId"), relAlias.Properties("properties"), inAlias.As("in"), outAlias.As("out"))
.Compile();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -565,15 +565,15 @@ internal MovieMembers() { }

#region Members for interface IMovie

public Property title { get; } = MovieGraph.Model.Datastore.Model.Entities["Movie"].Properties["title"];
public Property tagline { get; } = MovieGraph.Model.Datastore.Model.Entities["Movie"].Properties["tagline"];
public Property released { get; } = MovieGraph.Model.Datastore.Model.Entities["Movie"].Properties["released"];
public Property Uid { get; } = MovieGraph.Model.Datastore.Model.Entities["Movie"].Properties["Uid"];
public Property Genres { get; } = MovieGraph.Model.Datastore.Model.Entities["Movie"].Properties["Genres"];
public Property Actors { get; } = MovieGraph.Model.Datastore.Model.Entities["Movie"].Properties["Actors"];
public Property Directors { get; } = MovieGraph.Model.Datastore.Model.Entities["Movie"].Properties["Directors"];
public Property Producers { get; } = MovieGraph.Model.Datastore.Model.Entities["Movie"].Properties["Producers"];
public Property Writers { get; } = MovieGraph.Model.Datastore.Model.Entities["Movie"].Properties["Writers"];
public EntityProperty title { get; } = MovieGraph.Model.Datastore.Model.Entities["Movie"].Properties["title"];
public EntityProperty tagline { get; } = MovieGraph.Model.Datastore.Model.Entities["Movie"].Properties["tagline"];
public EntityProperty released { get; } = MovieGraph.Model.Datastore.Model.Entities["Movie"].Properties["released"];
public EntityProperty Uid { get; } = MovieGraph.Model.Datastore.Model.Entities["Movie"].Properties["Uid"];
public EntityProperty Genres { get; } = MovieGraph.Model.Datastore.Model.Entities["Movie"].Properties["Genres"];
public EntityProperty Actors { get; } = MovieGraph.Model.Datastore.Model.Entities["Movie"].Properties["Actors"];
public EntityProperty Directors { get; } = MovieGraph.Model.Datastore.Model.Entities["Movie"].Properties["Directors"];
public EntityProperty Producers { get; } = MovieGraph.Model.Datastore.Model.Entities["Movie"].Properties["Producers"];
public EntityProperty Writers { get; } = MovieGraph.Model.Datastore.Model.Entities["Movie"].Properties["Writers"];
#endregion

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -253,8 +253,8 @@ public void SetMovie(Movie movie)
{
Dictionary<string, object> properties = new Dictionary<string, object>();

((ILookupHelper<Movie>)InnerData.Movie).SetItem(movie, null, properties);

if (LazySet(Members.Movie, ((ILookupHelper<Movie>)InnerData.Movie).GetItems(null, null), movie, null))
((ILookupHelper<Movie>)InnerData.Movie).SetItem(movie, null, properties);
}

#endregion
Expand Down Expand Up @@ -288,10 +288,10 @@ internal MovieReviewMembers() { }

#region Members for interface IMovieReview

public Property Uid { get; } = MovieGraph.Model.Datastore.Model.Entities["MovieReview"].Properties["Uid"];
public Property Review { get; } = MovieGraph.Model.Datastore.Model.Entities["MovieReview"].Properties["Review"];
public Property Rating { get; } = MovieGraph.Model.Datastore.Model.Entities["MovieReview"].Properties["Rating"];
public Property Movie { get; } = MovieGraph.Model.Datastore.Model.Entities["MovieReview"].Properties["Movie"];
public EntityProperty Uid { get; } = MovieGraph.Model.Datastore.Model.Entities["MovieReview"].Properties["Uid"];
public EntityProperty Review { get; } = MovieGraph.Model.Datastore.Model.Entities["MovieReview"].Properties["Review"];
public EntityProperty Rating { get; } = MovieGraph.Model.Datastore.Model.Entities["MovieReview"].Properties["Rating"];
public EntityProperty Movie { get; } = MovieGraph.Model.Datastore.Model.Entities["MovieReview"].Properties["Movie"];
#endregion

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -246,8 +246,8 @@ public void SetMovie(Movie movie)
{
Dictionary<string, object> properties = new Dictionary<string, object>();

((ILookupHelper<Movie>)InnerData.Movie).SetItem(movie, null, properties);

if (LazySet(Members.Movie, ((ILookupHelper<Movie>)InnerData.Movie).GetItems(null, null), movie, null))
((ILookupHelper<Movie>)InnerData.Movie).SetItem(movie, null, properties);
}

#endregion
Expand Down Expand Up @@ -281,9 +281,9 @@ internal MovieRoleMembers() { }

#region Members for interface IMovieRole

public Property Uid { get; } = MovieGraph.Model.Datastore.Model.Entities["MovieRole"].Properties["Uid"];
public Property Role { get; } = MovieGraph.Model.Datastore.Model.Entities["MovieRole"].Properties["Role"];
public Property Movie { get; } = MovieGraph.Model.Datastore.Model.Entities["MovieRole"].Properties["Movie"];
public EntityProperty Uid { get; } = MovieGraph.Model.Datastore.Model.Entities["MovieRole"].Properties["Uid"];
public EntityProperty Role { get; } = MovieGraph.Model.Datastore.Model.Entities["MovieRole"].Properties["Role"];
public EntityProperty Movie { get; } = MovieGraph.Model.Datastore.Model.Entities["MovieRole"].Properties["Movie"];
#endregion

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ public static List<PRODUCED> Where(Func<Alias, QueryCondition[]> expression)
{
var query = Transaction.CompiledQuery
.Match(node.Person.Alias(out var inAlias).In.PRODUCED.Alias(out var relAlias).Out.Movie.Alias(out var outAlias))

.Where(expression.Invoke(new Alias(relAlias, inAlias, outAlias)))
.Return(relAlias.ElementId.As("elementId"), relAlias.Properties("properties"), inAlias.As("in"), outAlias.As("out"))
.Compile();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -754,17 +754,17 @@ internal PersonMembers() { }

#region Members for interface IPerson

public Property name { get; } = MovieGraph.Model.Datastore.Model.Entities["Person"].Properties["name"];
public Property born { get; } = MovieGraph.Model.Datastore.Model.Entities["Person"].Properties["born"];
public Property Uid { get; } = MovieGraph.Model.Datastore.Model.Entities["Person"].Properties["Uid"];
public Property ActedMovies { get; } = MovieGraph.Model.Datastore.Model.Entities["Person"].Properties["ActedMovies"];
public Property DirectedMovies { get; } = MovieGraph.Model.Datastore.Model.Entities["Person"].Properties["DirectedMovies"];
public Property ProducedMovies { get; } = MovieGraph.Model.Datastore.Model.Entities["Person"].Properties["ProducedMovies"];
public Property WritedMovies { get; } = MovieGraph.Model.Datastore.Model.Entities["Person"].Properties["WritedMovies"];
public Property MovieReviews { get; } = MovieGraph.Model.Datastore.Model.Entities["Person"].Properties["MovieReviews"];
public Property MovieRoles { get; } = MovieGraph.Model.Datastore.Model.Entities["Person"].Properties["MovieRoles"];
public Property FollowedPersons { get; } = MovieGraph.Model.Datastore.Model.Entities["Person"].Properties["FollowedPersons"];
public Property Followers { get; } = MovieGraph.Model.Datastore.Model.Entities["Person"].Properties["Followers"];
public EntityProperty name { get; } = MovieGraph.Model.Datastore.Model.Entities["Person"].Properties["name"];
public EntityProperty born { get; } = MovieGraph.Model.Datastore.Model.Entities["Person"].Properties["born"];
public EntityProperty Uid { get; } = MovieGraph.Model.Datastore.Model.Entities["Person"].Properties["Uid"];
public EntityProperty ActedMovies { get; } = MovieGraph.Model.Datastore.Model.Entities["Person"].Properties["ActedMovies"];
public EntityProperty DirectedMovies { get; } = MovieGraph.Model.Datastore.Model.Entities["Person"].Properties["DirectedMovies"];
public EntityProperty ProducedMovies { get; } = MovieGraph.Model.Datastore.Model.Entities["Person"].Properties["ProducedMovies"];
public EntityProperty WritedMovies { get; } = MovieGraph.Model.Datastore.Model.Entities["Person"].Properties["WritedMovies"];
public EntityProperty MovieReviews { get; } = MovieGraph.Model.Datastore.Model.Entities["Person"].Properties["MovieReviews"];
public EntityProperty MovieRoles { get; } = MovieGraph.Model.Datastore.Model.Entities["Person"].Properties["MovieRoles"];
public EntityProperty FollowedPersons { get; } = MovieGraph.Model.Datastore.Model.Entities["Person"].Properties["FollowedPersons"];
public EntityProperty Followers { get; } = MovieGraph.Model.Datastore.Model.Entities["Person"].Properties["Followers"];
#endregion

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ public static List<WROTE> Where(Func<Alias, QueryCondition[]> expression)
{
var query = Transaction.CompiledQuery
.Match(node.Person.Alias(out var inAlias).In.WROTE.Alias(out var relAlias).Out.Movie.Alias(out var outAlias))

.Where(expression.Invoke(new Alias(relAlias, inAlias, outAlias)))
.Return(relAlias.ElementId.As("elementId"), relAlias.Properties("properties"), inAlias.As("in"), outAlias.As("out"))
.Compile();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<LangVersion>10.0</LangVersion>
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Blueprint41.Build" Version="1.1.1" />
<PackageReference Include="Blueprint41.Build" Version="1.1.2" />
<PackageReference Include="System.Runtime.Loader" Version="4.3.0" />
</ItemGroup>
<ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
e75d95638650452f430cfbbbdb6be015837e3c93-9e24251622de14a27f2dc2c19832eb5de060f0a1a673d741536e2c07e4876c6d1a61c1ccdedfa613d7515c0f583a1a51e9a6b5f4ae4f128cc6648803
5105b0ab38ff02e989eaca03f093cdd39c4c420f-b696888f3c0e4fa7a58914c39ca86551eecad4e7a673d741536e2c07e4876c6d1a61c1ccdedfa613d7515c0f583a1a51e9a6b5f4ae4f128cc6648803

0 comments on commit ebaebaf

Please sign in to comment.