public virtual void Init(Net.Vpc.Upa.Persistence.PersistenceStore persistenceStore, Net.Vpc.Upa.Persistence.PersistenceNameConfig model) { this.model = model; this.persistenceStore = persistenceStore; // modelMapPatterns.put("GLOBAL_PERSISTENCE_NAME", "{OBJECT_NAME}"); // modelMapPatterns.put("LOCAL_PERSISTENCE_NAME", "{OBJECT_NAME}"); // modelMapPatterns.put("PERSISTENCE_NAME_ESCAPE", null); // modelMapPatterns.put(PersistenceNameType.FK_CONSTRAINT.name(), ""); if (model != null) { modelMap["GLOBAL_PERSISTENCE_NAME"] = model.GetGlobalPersistenceName(); modelMap["LOCAL_PERSISTENCE_NAME"] = model.GetLocalPersistenceName(); modelMap["PERSISTENCE_NAME_ESCAPE"] = model.GetPersistenceNameEscape(); if (model.GetNames() != null) { foreach (Net.Vpc.Upa.Persistence.PersistenceName persistenceName in model.GetNames()) { if (Net.Vpc.Upa.Impl.Util.StringUtils.IsNullOrEmpty(persistenceName.GetObject())) { modelMap[persistenceName.GetPersistenceNameType().Name()] = persistenceName.GetValue(); } else { modelMap[persistenceName.GetPersistenceNameType().Name() + ":" + persistenceName.GetObject()] = persistenceName.GetValue(); } } } } }
public override string GetSQL(object oo, Net.Vpc.Upa.Persistence.EntityExecutionContext qlContext, Net.Vpc.Upa.Impl.Persistence.SQLManager sqlManager, Net.Vpc.Upa.Impl.Uql.ExpressionDeclarationList declarations) /* throws Net.Vpc.Upa.Exceptions.UPAException */ { Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledInCollection o = (Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledInCollection)oo; Net.Vpc.Upa.Persistence.PersistenceStore qlm = qlContext.GetPersistenceStore(); System.Text.StringBuilder sb = new System.Text.StringBuilder(); int mySize = o.GetRightSize(); if (mySize == 0) { sb.Append("1 <> 1"); } else { if (mySize == 1) { sb.Append(sqlManager.GetSQL(o.GetLeft(), qlContext, declarations)); Net.Vpc.Upa.Impl.Uql.Compiledexpression.DefaultCompiledExpression e = o.GetRight(0); if (e == null || (e is Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledLiteral && ((Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledLiteral)e).GetValue() == null)) { sb.Append(" Is Null"); } else { sb.Append(" = "); sb.Append(sqlManager.GetSQL(e, qlContext, declarations)); } } else { sb.Append(sqlManager.GetSQL(o.GetLeft(), qlContext, declarations)); sb.Append(" In ("); for (int i = 0; i < mySize; i++) { if (i > 0) { sb.Append(","); } Net.Vpc.Upa.Impl.Uql.Compiledexpression.DefaultCompiledExpression e = o.GetRight(i); if (e == null) { sb.Append("Null"); } else { sb.Append(sqlManager.GetSQL(e, qlContext, declarations)); } } sb.Append(")"); } } return('(' + sb.ToString() + ')'); }
public DefaultQueryExecutor(Net.Vpc.Upa.Impl.Persistence.NativeStatementType type, System.Collections.Generic.IDictionary <string, object> hints, string query, System.Collections.Generic.IList <Net.Vpc.Upa.Persistence.Parameter> queryParameters, System.Collections.Generic.IList <Net.Vpc.Upa.Persistence.Parameter> generatedKeys, Net.Vpc.Upa.Persistence.PersistenceStore persistenceStore, Net.Vpc.Upa.Persistence.UConnection connection, Net.Vpc.Upa.Impl.Persistence.NativeField[] nativeFields, bool updatable, Net.Vpc.Upa.Persistence.ResultMetaData metaData) { this.type = type; this.updatable = updatable; this.metaData = metaData; this.query = query; this.fields = nativeFields; this.queryParameters = queryParameters; this.generatedKeys = generatedKeys; this.persistenceStore = persistenceStore; this.connection = connection; parameters = new System.Collections.Generic.Dictionary <string, string>(); this.hints = hints; }
public virtual void CommitStorage(Net.Vpc.Upa.Persistence.EntityExecutionContext context) /* throws Net.Vpc.Upa.Exceptions.UPAException */ { Net.Vpc.Upa.Persistence.PersistenceStore persistenceStore = context.GetPersistenceStore(); Net.Vpc.Upa.Persistence.StructureStrategy option = persistenceStore.GetConnectionProfile().GetStructureStrategy(); switch (option) { case Net.Vpc.Upa.Persistence.StructureStrategy.DROP: { if (!persistenceStore.IsCreatedStorage()) { persistenceStore.CreateStorage(context); } else { persistenceStore.DropStorage(context); persistenceStore.DropStorage(context); persistenceStore.CreateStorage(context); } break; } case Net.Vpc.Upa.Persistence.StructureStrategy.CREATE: case Net.Vpc.Upa.Persistence.StructureStrategy.SYNCHRONIZE: { if (!persistenceStore.IsCreatedStorage()) { persistenceStore.CreateStorage(context); } break; } case Net.Vpc.Upa.Persistence.StructureStrategy.MANDATORY: { if (!persistenceStore.IsCreatedStorage()) { throw new Net.Vpc.Upa.Exceptions.NoSuchPersistenceUnitException(context.GetPersistenceUnit().GetName()); } // if (!isValidPersistenceUnit()) { // throw new NoSuchPersistenceUnitException(getName(), null); // } break; } case Net.Vpc.Upa.Persistence.StructureStrategy.IGNORE: { //do nothing break; } } }
public override string GetSQL(object oo, Net.Vpc.Upa.Persistence.EntityExecutionContext context, Net.Vpc.Upa.Impl.Persistence.SQLManager sqlManager, Net.Vpc.Upa.Impl.Uql.ExpressionDeclarationList declarations) /* throws Net.Vpc.Upa.Exceptions.UPAException */ { Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledEntityName o = (Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledEntityName)oo; Net.Vpc.Upa.Persistence.PersistenceStore persistenceStore = context.GetPersistenceStore(); string entityName = o.GetName(); Net.Vpc.Upa.Entity e = context.GetPersistenceUnit().GetEntity(entityName); if (o.IsUseView() && e.NeedsView() && persistenceStore.IsViewSupported()) { return(persistenceStore.GetValidIdentifier(persistenceStore.GetPersistenceName(e, Net.Vpc.Upa.Persistence.PersistenceNameType.IMPLICIT_VIEW))); } else { return(persistenceStore.GetValidIdentifier(persistenceStore.GetPersistenceName(e))); } }
public virtual void CommitStorage(Net.Vpc.Upa.Persistence.EntityExecutionContext context) /* throws Net.Vpc.Upa.Exceptions.UPAException */ { Net.Vpc.Upa.Persistence.PersistenceStore persistenceStore = context.GetPersistenceStore(); //should verify if not yet stored switch (@object.GetPersistenceState()) { case Net.Vpc.Upa.PersistenceState.VALID: { //do nothing break; } case Net.Vpc.Upa.PersistenceState.TRANSIENT: { switch (type) { case Net.Vpc.Upa.Impl.OnHoldCommitActionType.CREATE: { persistenceStore.AlterPersistenceUnitAddObject(@object); break; } case Net.Vpc.Upa.Impl.OnHoldCommitActionType.REMOVE: { persistenceStore.AlterPersistenceUnitRemoveObject(@object); break; } case Net.Vpc.Upa.Impl.OnHoldCommitActionType.UPDATE: { persistenceStore.AlterPersistenceUnitUpdateObject(old, @object, updates); break; } } new Net.Vpc.Upa.Impl.Util.DefaultBeanAdapter(@object).SetProperty("persistenceState", Net.Vpc.Upa.PersistenceState.VALID); break; } default: { throw new Net.Vpc.Upa.Exceptions.UPAException(new Net.Vpc.Upa.Types.I18NString("Unexpected")); } } }
protected internal virtual void AppendJoins(Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledSelect o, System.Text.StringBuilder sb, Net.Vpc.Upa.Persistence.EntityExecutionContext context, Net.Vpc.Upa.Impl.Persistence.SQLManager sqlManager, Net.Vpc.Upa.Impl.Uql.ExpressionDeclarationList declarations) { for (int i = 0; i < o.CountJoins(); i++) { Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledJoinCriteria e = o.GetJoin(i); // String _valueString = sqlManager.getSQL(e.getEntity(), context, declarations); string _aliasString = e.GetEntityAlias(); string _joinKey = "Inner Join"; switch (e.GetJoinType()) { case Net.Vpc.Upa.Expressions.JoinType.INNER_JOIN: _joinKey = "Inner Join"; break; case Net.Vpc.Upa.Expressions.JoinType.FULL_JOIN: _joinKey = "Full Join"; break; case Net.Vpc.Upa.Expressions.JoinType.LEFT_JOIN: _joinKey = "Left Join"; break; case Net.Vpc.Upa.Expressions.JoinType.RIGHT_JOIN: _joinKey = "Right Join"; break; case Net.Vpc.Upa.Expressions.JoinType.CROSS_JOIN: _joinKey = "Cross Join"; break; } sb.Append(" ").Append(_joinKey).Append(" ").Append(sqlManager.GetSQL(e.GetEntity(), context, declarations)); if (_aliasString != null) { Net.Vpc.Upa.Persistence.PersistenceStore store = context.GetPersistenceStore(); // String goodAlias = store.getPersistenceName(, PersistenceNameType.ALIAS); sb.Append(" ").Append(sqlManager.GetSQL(new Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledVar(_aliasString), context, declarations)); } if (e.GetCondition() != null && e.GetCondition().IsValid()) { sb.Append(" On ").Append(sqlManager.GetSQL(e.GetCondition(), context, declarations)); } } }
protected internal virtual void AppendFrom(Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledSelect o, System.Text.StringBuilder sb, Net.Vpc.Upa.Persistence.EntityExecutionContext context, Net.Vpc.Upa.Impl.Persistence.SQLManager sqlManager, Net.Vpc.Upa.Impl.Uql.ExpressionDeclarationList declarations) { Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledNameOrSelect entity = o.GetEntity(); if (entity == null) { string fns = GetFromNullString(); if (fns != null) { sb.Append(" "); sb.Append(fns); } } else { sb.Append(" From "); if (entity is Net.Vpc.Upa.Expressions.Select) { sb.Append(sqlManager.GetSQL(entity, context, declarations)); } else { Net.Vpc.Upa.Persistence.PersistenceStore persistenceStore = context.GetPersistenceStore(); Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledEntityName entityName = (Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledEntityName)entity; Net.Vpc.Upa.Entity e = context.GetPersistenceUnit().GetEntity(entityName.GetName()); if (entityName.IsUseView() && e.NeedsView() && persistenceStore.IsViewSupported()) { Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledEntityName v = new Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledEntityName(e.GetName(), true); sb.Append(sqlManager.GetSQL(v, context, declarations)); } else { sb.Append(sqlManager.GetSQL(entityName, context, declarations)); } } } if (o.GetEntityAlias() != null) { Net.Vpc.Upa.Persistence.PersistenceStore store = context.GetPersistenceStore(); sb.Append(" ").Append(sqlManager.GetSQL(new Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledVar(o.GetEntityAlias()), context, declarations)); } }
public override string GetSQL(object oo, Net.Vpc.Upa.Persistence.EntityExecutionContext qlContext, Net.Vpc.Upa.Impl.Persistence.SQLManager sqlManager, Net.Vpc.Upa.Impl.Uql.ExpressionDeclarationList declarations) /* throws Net.Vpc.Upa.Exceptions.UPAException */ { Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledVar o = (Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledVar)oo; Net.Vpc.Upa.Persistence.PersistenceStore persistenceStore = qlContext.GetPersistenceStore(); object referrer = o.GetReferrer(); System.Text.StringBuilder sb = new System.Text.StringBuilder(); if (referrer is Net.Vpc.Upa.Field) { Net.Vpc.Upa.Field field = (Net.Vpc.Upa.Field)referrer; string name = persistenceStore.GetPersistenceName(field); sb.Append(persistenceStore.GetValidIdentifier(name)); } else if (referrer is Net.Vpc.Upa.Entity) { Net.Vpc.Upa.Entity entity = (Net.Vpc.Upa.Entity)referrer; // if ("this".equals(o.getName())) { // throw new IllegalArgumentException("Unexpected this alias"); // //this must be resolved to the ancestor alias // ExpressionDeclarationList declarationList = o.getDeclarationList(); // name = persistenceManager.getPersistenceName(declarationList.getValue(null).getName(), PersistenceNameStrategyNames.ALIAS); // } else { string name = persistenceStore.GetPersistenceName(o.GetName(), Net.Vpc.Upa.Persistence.PersistenceNameType.ALIAS); sb.Append(persistenceStore.GetValidIdentifier(name)); } else { string name = persistenceStore.GetPersistenceName(o.GetName(), Net.Vpc.Upa.Persistence.PersistenceNameType.ALIAS); sb.Append(persistenceStore.GetValidIdentifier(name)); } if (o.GetChild() != null) { string cc = GetSQL(o.GetChild(), qlContext, sqlManager, declarations); sb.Append(".").Append(cc); } return(sb.ToString()); }
public override string GetSQL(object oo, Net.Vpc.Upa.Persistence.EntityExecutionContext context, Net.Vpc.Upa.Impl.Persistence.SQLManager sqlManager, Net.Vpc.Upa.Impl.Uql.ExpressionDeclarationList declarations) /* throws Net.Vpc.Upa.Exceptions.UPAException */ { Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledUpdate o = (Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledUpdate)oo; Net.Vpc.Upa.Persistence.PersistenceStore persistenceStore = context.GetPersistenceStore(); Net.Vpc.Upa.PersistenceUnit pu = context.GetPersistenceUnit(); Net.Vpc.Upa.Entity entity = pu.GetEntity(o.GetEntity().GetName()); // String persistenceName = persistenceStore.getPersistenceName(entity); System.Text.StringBuilder sb = new System.Text.StringBuilder("Update " + sqlManager.GetSQL(new Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledEntityName(entity.GetName()), context, declarations)); string tableAlias = o.GetEntityAlias(); if (tableAlias != null) { sb.Append(" "); sb.Append(sqlManager.GetSQL(new Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledVar(tableAlias), context, declarations)); } sb.Append(" Set "); bool isFirst = true; int max = o.CountFields(); for (int i = 0; i < max; i++) { Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledVar vv = o.GetField(i); Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledVar ev = null; Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledVar fv = null; if (vv.GetChild() == null) { ev = null; fv = vv; } else { ev = vv; fv = (Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledVar)vv.GetChild(); } Net.Vpc.Upa.Impl.Uql.Compiledexpression.DefaultCompiledExpression fieldValue = o.GetFieldValue(i); // Object referrer = vv.getReferrer(); Net.Vpc.Upa.Field f = ((Net.Vpc.Upa.Field)fv.GetReferrer()); Net.Vpc.Upa.Entity entityManager = f.GetEntity(); System.Collections.Generic.IList <Net.Vpc.Upa.PrimitiveField> primFields = entityManager.ToPrimitiveFields <Net.Vpc.Upa.EntityPart>(new System.Collections.Generic.List <Net.Vpc.Upa.EntityPart>(new[] { (Net.Vpc.Upa.EntityPart)f })); foreach (Net.Vpc.Upa.PrimitiveField primField in primFields) { if (isFirst) { isFirst = false; } else { sb.Append(", "); } if (ev != null) { sb.Append(sqlManager.GetSQL(new Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledVar(ev.GetName()), context, declarations)).Append("."); } sb.Append(sqlManager.GetSQL(new Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledVar(primField), context, declarations)); sb.Append("=").Append("(").Append(sqlManager.GetSQL(fieldValue, context, declarations)).Append(")"); } } if (o.GetCondition() != null && o.GetCondition().IsValid()) { sb.Append(" Where ").Append(sqlManager.GetSQL(o.GetCondition(), context, declarations)); } if (persistenceStore.IsViewSupported() && entity.NeedsView() && o.GetEntity().IsUseView()) { string implicitTableAlias = persistenceStore.GetPersistenceName("IT_" + entity.GetName(), Net.Vpc.Upa.Persistence.PersistenceNameType.ALIAS); sb.Append(" "); sb.Append(sqlManager.GetSQL(new Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledEntityName(entity.GetName()), context, declarations)).Append(" ").Append(implicitTableAlias).Append(",").Append(sqlManager.GetSQL(new Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledEntityName(entity.GetName(), true), context, declarations)).Append(" ").Append(sqlManager.GetSQL(new Net.Vpc.Upa.Impl.Uql.Compiledexpression.CompiledVar(tableAlias), context, declarations)); } // if (extraFrom != null) return(sb.ToString()); }
public virtual void InitPersistenceUnit(Net.Vpc.Upa.PersistenceUnit persistenceUnit, Net.Vpc.Upa.Persistence.PersistenceStore persistenceStore, Net.Vpc.Upa.Persistence.ContextOperation contextOperation) { this.persistenceUnit = persistenceUnit; this.contextOperation = contextOperation; this.persistenceStore = persistenceStore; }
public virtual void SetPersistenceStore(Net.Vpc.Upa.Persistence.PersistenceStore persistenceStore) { this.persistenceStore = persistenceStore; }
public virtual void Init(Net.Vpc.Upa.Entity entity, Net.Vpc.Upa.Persistence.PersistenceStore persistenceStore) { this.entity = entity; this.persistenceStore = persistenceStore; }
public virtual Net.Vpc.Upa.Transaction CreateTransaction(Net.Vpc.Upa.Persistence.UConnection connection, Net.Vpc.Upa.PersistenceUnit persistenceUnit, Net.Vpc.Upa.Persistence.PersistenceStore persistenceStore) /* throws Net.Vpc.Upa.Exceptions.UPAException */ { if (connection == null) { throw new System.Exception("No Active Connection Found"); } Net.Vpc.Upa.Impl.Transaction.DefaultTransaction t = new Net.Vpc.Upa.Impl.Transaction.DefaultTransaction(); t.Init(connection); return(t); }