public void Should_Return_One_DataAccess_Classes_To_Generate_When_JdbcQueryActivity_is_Mapped() { SqlRequestToActivityMapper.ClearActivityHasSet(); CodeNamespaceCollection classToGenerate = jdbcQueryActivityBuilder.GenerateClassesToGenerate(jdbcQueryActivity, new Dictionary <string, string>()); Assert.AreEqual("CurrencyDataAccess", classToGenerate [0].Types[0].Name); }
public void SetUp() { jdbcQueryActivity = new JdbcQueryActivity("Currency", ActivityType.jdbcQueryActivityType); jdbcQueryActivity.QueryStatement = select; jdbcQueryActivity.ClassName = jdbcQueryActivity.Name; jdbcQueryActivity.QueryStatementParameters = new Dictionary <string, string> { { "IdBbUnique", "VARCHAR" } }; jdbcQueryActivity.JdbcSharedConfig = string.Empty; jdbcQueryActivityBuilder = new JdbcQueryActivityBuilder( new DataAccessBuilder(), new DataAccessServiceBuilder(), new DataAccessInterfacesCommonBuilder(), new XslBuilder(new XpathBuilder()), new ResultSetBuilder() ); SqlRequestToActivityMapper.Clear(); }
private string GenerateClassName(JdbcQueryActivity jdbcQueryActivity) { if (!string.IsNullOrEmpty(jdbcQueryActivity.ClassName)) { return(jdbcQueryActivity.ClassName); } if (jdbcQueryActivity.Type == ActivityType.jdbcCallActivityType) { return(jdbcQueryActivity.QueryStatement); } if (!SqlRequestToActivityMapper.IsThisJdbcActivityNameUsed(jdbcQueryActivity.Name)) { SqlRequestToActivityMapper.SetThisJdbcActivityNameHasUsed(jdbcQueryActivity.Name); return(VariableHelper.ToClassName(jdbcQueryActivity.Name)); } var className = VariableHelper.ToClassName(jdbcQueryActivity.Name) + SqlRequestToActivityMapper.Counter; SqlRequestToActivityMapper.Counter++; return(className); }
public void Should_return_First_serviceName_When_Sql_request_does_exist() { SqlRequestToActivityMapper.SaveSqlRequest("select 1", "ServiceClass1"); SqlRequestToActivityMapper.SaveSqlRequest("select 1", "ServiceClass2"); Assert.AreEqual("ServiceClass1", SqlRequestToActivityMapper.GetJdbcServiceName("select 1")); }
public void Should_Not_Add_sql_request_To_Dico_When_Sql_request_does_exist() { SqlRequestToActivityMapper.SaveSqlRequest("select 1", "ServiceClass1"); SqlRequestToActivityMapper.SaveSqlRequest("select 1", "ServiceClass2"); Assert.AreEqual(1, SqlRequestToActivityMapper.Count()); }
public override CodeNamespaceCollection GenerateClassesToGenerate(Activity activity, Dictionary <string, string> variables) { var jdbcQueryActivity = (JdbcQueryActivity)activity; var result = new CodeNamespaceCollection(); if (this.HasThisSqlRequestAlreadyGenerateAService(jdbcQueryActivity.QueryStatement)) { this.ServiceToInvoke = this.GetExistingJdbcServiceName(jdbcQueryActivity.QueryStatement); jdbcQueryActivity.ClassName = this.ServiceToInvoke.Replace("Service", string.Empty); } else { jdbcQueryActivity.ClassName = this.GenerateClassName(jdbcQueryActivity); this.ServiceToInvoke = jdbcQueryActivity.ClassName + "Service"; SqlRequestToActivityMapper.SaveSqlRequest(jdbcQueryActivity.QueryStatement, this.ServiceToInvoke); if (jdbcQueryActivity.QueryOutputStatementParameters != null && jdbcQueryActivity.QueryOutputStatementParameters.Count != 0) { result.Add(this.resultSetBuilder.Build(jdbcQueryActivity)); } var dataAccessNameSpace = this.dataAccessBuilder.Build(jdbcQueryActivity); var dataAccessInterfaceNameSpace = InterfaceExtractorFromClass.Extract(dataAccessNameSpace.Types[0], TargetAppNameSpaceService.dataAccessNamespace()); if (jdbcQueryActivity.QueryOutputStatementParameters != null && jdbcQueryActivity.QueryOutputStatementParameters.Count != 0) { dataAccessInterfaceNameSpace.Imports.Add(new CodeNamespaceImport(TargetAppNameSpaceService.domainContractNamespaceName())); } dataAccessNameSpace.Types[0].BaseTypes.Add(new CodeTypeReference(dataAccessInterfaceNameSpace.Types[0].Name)); var serviceNameSpace = this.dataAccessServiceBuilder.Build(jdbcQueryActivity); var serviceInterfaceNameSpace = InterfaceExtractorFromClass.Extract(serviceNameSpace.Types[0], TargetAppNameSpaceService.domainContractNamespaceName()); serviceNameSpace.Types[0].BaseTypes.Add(new CodeTypeReference(serviceInterfaceNameSpace.Types[0].Name)); result.Add(dataAccessNameSpace); result.Add(dataAccessInterfaceNameSpace); result.Add(serviceNameSpace); result.Add(serviceInterfaceNameSpace); if (ConfigurationApp.GetProperty("HasCommonDataAccessAlreadyGenerated") != "true") { var dataCommonNamespace = this.dataAccessCommonBuilder.Build(); result.Add(dataCommonNamespace); ConfigurationApp.SaveProperty("HasCommonDataAccessAlreadyGenerated", "true"); } //TODO : Find a more suitable way to retrieve the CustomAttribute To Build string dataCustomAttributeName = this.GetDataCustomAttributeName(dataAccessNameSpace); if (ConfigurationApp.GetProperty(dataCustomAttributeName) != "true") { var dataBaseAttributeNamespace = new DatabaseAttributeBuilder().Build(dataCustomAttributeName); result.Add(dataBaseAttributeNamespace); ConfigurationApp.SaveProperty(dataCustomAttributeName, "true"); } ModuleBuilder.AddServiceToRegister(dataAccessInterfaceNameSpace.Types[0].Name, dataAccessNameSpace.Types[0].Name); ModuleBuilder.AddServiceToRegister(serviceInterfaceNameSpace.Types[0].Name, this.ServiceToInvoke); } return(result); }
private string GetExistingJdbcServiceName(string queryStatement) { return(SqlRequestToActivityMapper.GetJdbcServiceName(queryStatement)); }
/// <summary> /// Determines whether this sql request has already generate A service for the specified queryStatement. /// </summary> /// <returns><c>true</c> if this sql request already generate A service; /// otherwise, <c>false</c>.</returns> /// <param name="queryStatement">Query statement.</param> private bool HasThisSqlRequestAlreadyGenerateAService(string queryStatement) { return(SqlRequestToActivityMapper.ContainsKey(queryStatement)); }