public override void CommitModelChanges() /* throws Net.Vpc.Upa.Exceptions.UPAException */ { Net.Vpc.Upa.Entity entity = GetEntity(); Net.Vpc.Upa.FlagSet <Net.Vpc.Upa.EntityModifier> modifiers = entity.GetUserModifiers(); Net.Vpc.Upa.FlagSet <Net.Vpc.Upa.EntityModifier> excluded = entity.GetUserExcludeModifiers(); Net.Vpc.Upa.FlagSet <Net.Vpc.Upa.EntityModifier> effectiveModifiers = entity.GetModifiers(); if (!excluded.Contains(Net.Vpc.Upa.EntityModifier.TRANSIENT)) { effectiveModifiers = effectiveModifiers.Add(Net.Vpc.Upa.EntityModifier.TRANSIENT); } if (!excluded.Contains(Net.Vpc.Upa.EntityModifier.UPDATE)) { effectiveModifiers = effectiveModifiers.Add(Net.Vpc.Upa.EntityModifier.UPDATE); } if (!excluded.Contains(Net.Vpc.Upa.EntityModifier.REMOVE)) { effectiveModifiers = effectiveModifiers.Add(Net.Vpc.Upa.EntityModifier.REMOVE); } if (!modifiers.Contains(Net.Vpc.Upa.EntityModifier.USER_ID)) { effectiveModifiers = effectiveModifiers.Remove(Net.Vpc.Upa.EntityModifier.USER_ID); } // if (!modifiers.contains(EntityModifier.GENERATED_ID)) { // effectiveModifiers=effectiveModifiers.remove(EntityModifier.GENERATED_ID); // } ((Net.Vpc.Upa.Impl.DefaultEntity)entity).SetModifiers(effectiveModifiers); }
public virtual void AddUnless(Net.Vpc.Upa.FieldModifier m, params Net.Vpc.Upa.UserFieldModifier [] all) { foreach (Net.Vpc.Upa.UserFieldModifier x in all) { if (positiveModifiers.Contains(x)) { return; } } modifiers = modifiers.Add(m); }
private bool Accept(Net.Vpc.Upa.FlagSet <Net.Vpc.Upa.FieldModifier> modifiersValue, int i) /* throws Net.Vpc.Upa.Exceptions.UPAException */ { Net.Vpc.Upa.FlagSet <Net.Vpc.Upa.FieldModifier> a = accepted[i]; Net.Vpc.Upa.FlagSet <Net.Vpc.Upa.FieldModifier> r = rejected[i]; foreach (Net.Vpc.Upa.FieldModifier m in a) { if (!modifiersValue.Contains(m)) { return(false); } } foreach (Net.Vpc.Upa.FieldModifier m in r) { if (modifiersValue.Contains(m)) { return(false); } } return(true); }
public virtual void AddExcludeModifiers(System.Collections.Generic.ICollection <Net.Vpc.Upa.EntityModifier> others) { foreach (Net.Vpc.Upa.EntityModifier m in others) { if (modifiers.Contains(m)) { modifiers.Remove(m); } excludeModifiers.Add(m); } }
public virtual void Visit(System.Type type, Net.Vpc.Upa.Impl.Config.Decorations.DecorationFilter decorationFilter) { Net.Vpc.Upa.FlagSet <Net.Vpc.Upa.Config.DecorationTarget> kind = decorationFilter.GetDecorationTargets(); bool types = kind.Contains(Net.Vpc.Upa.Config.DecorationTarget.TYPE); bool methods = kind.Contains(Net.Vpc.Upa.Config.DecorationTarget.METHOD); bool fields = kind.Contains(Net.Vpc.Upa.Config.DecorationTarget.FIELD); // boolean tree = (kind & DecorationFilter.HIERARCHICAL) != 0; // boolean someType = false; if (types) { System.Attribute[] annotations = null; try { annotations = type.GetAnnotations(); } catch (System.Exception e) { log.TraceEvent(System.Diagnostics.TraceEventType.Verbose, 60, Net.Vpc.Upa.Impl.FwkConvertUtils.LogMessageExceptionFormatter("Ignored type {0} : {1}", null, new object[] { (type).FullName, e.ToString() })); } //ignore if (annotations != null) { int pos = 0; foreach (System.Attribute a in annotations) { if (decorationFilter.AcceptTypeDecoration((a.GetType()).FullName, (type).FullName, type)) { decorationRepository.Visit(new Net.Vpc.Upa.Impl.Config.Decorations.AnnotationDecoration(a, Net.Vpc.Upa.Config.DecorationSourceType.TYPE, Net.Vpc.Upa.Config.DecorationTarget.TYPE, (type).FullName, null, pos)); newDecorationRepository.Visit(new Net.Vpc.Upa.Impl.Config.Decorations.AnnotationDecoration(a, Net.Vpc.Upa.Config.DecorationSourceType.TYPE, Net.Vpc.Upa.Config.DecorationTarget.TYPE, (type).FullName, null, pos)); } // someType = true; pos++; } } } if (methods) { System.Reflection.MethodInfo[] declaredMethods = null; try { declaredMethods = type.GetMethods(System.Reflection.BindingFlags.Default); } catch (System.Exception e) { log.TraceEvent(System.Diagnostics.TraceEventType.Verbose, 60, Net.Vpc.Upa.Impl.FwkConvertUtils.LogMessageExceptionFormatter("Ignored type {0} : {1}", null, new object[] { (type).FullName, e.ToString() })); } //ignore if (declaredMethods != null) { foreach (System.Reflection.MethodInfo method in declaredMethods) { int pos = 0; foreach (System.Attribute a in method.GetAnnotations()) { string methodSig = Net.Vpc.Upa.Impl.Util.PlatformUtils.GetMethodSignature(method); if (decorationFilter.AcceptMethodDecoration((a.GetType()).FullName, methodSig, (type).FullName, method)) { decorationRepository.Visit(new Net.Vpc.Upa.Impl.Config.Decorations.AnnotationDecoration(a, Net.Vpc.Upa.Config.DecorationSourceType.TYPE, Net.Vpc.Upa.Config.DecorationTarget.METHOD, ((method).DeclaringType).FullName, methodSig, pos)); newDecorationRepository.Visit(new Net.Vpc.Upa.Impl.Config.Decorations.AnnotationDecoration(a, Net.Vpc.Upa.Config.DecorationSourceType.TYPE, Net.Vpc.Upa.Config.DecorationTarget.METHOD, ((method).DeclaringType).FullName, methodSig, pos)); } pos++; } } } } if (fields) { System.Reflection.FieldInfo[] declaredFields = null; try { declaredFields = type.GetFields(System.Reflection.BindingFlags.Default); } catch (System.Exception e) { log.TraceEvent(System.Diagnostics.TraceEventType.Verbose, 60, Net.Vpc.Upa.Impl.FwkConvertUtils.LogMessageExceptionFormatter("Ignored type {0} : {1}", null, new object[] { (type).FullName, e.ToString() })); } //ignore if (declaredFields != null) { foreach (System.Reflection.FieldInfo field in declaredFields) { int pos = 0; foreach (System.Attribute a in field.GetAnnotations()) { if (decorationFilter.AcceptFieldDecoration((a.GetType()).FullName, (field).Name, (type).FullName, field)) { decorationRepository.Visit(new Net.Vpc.Upa.Impl.Config.Decorations.AnnotationDecoration(a, Net.Vpc.Upa.Config.DecorationSourceType.TYPE, Net.Vpc.Upa.Config.DecorationTarget.FIELD, ((field).DeclaringType).FullName, (field).Name, pos)); newDecorationRepository.Visit(new Net.Vpc.Upa.Impl.Config.Decorations.AnnotationDecoration(a, Net.Vpc.Upa.Config.DecorationSourceType.TYPE, Net.Vpc.Upa.Config.DecorationTarget.FIELD, ((field).DeclaringType).FullName, (field).Name, pos)); } pos++; } } } } }
public override bool Accept(Net.Vpc.Upa.Field f) /* throws Net.Vpc.Upa.Exceptions.UPAException */ { Net.Vpc.Upa.FlagSet <Net.Vpc.Upa.FieldModifier> effectiveModifiers = f.GetModifiers(); return(effectiveModifiers.Contains(Net.Vpc.Upa.FieldModifier.PERSIST) && !effectiveModifiers.Contains(Net.Vpc.Upa.FieldModifier.ID) && !effectiveModifiers.Contains(Net.Vpc.Upa.FieldModifier.PERSIST_SEQUENCE)); }