Package nexj.core.meta.persistence.virtual

Examples of nexj.core.meta.persistence.virtual.WorkMapping


   public void execute(Work[] workArray, final int nStart, final int nEnd)
   {
      Metaclass metaclass = m_instance.getMetaclass();
      int nAttributeCount = metaclass.getInstanceAttributeCount();
      VirtualMapping mapping = (VirtualMapping)m_mapping;
      WorkMapping operation = mapping.getCreateMapping();
      Attribute lockingAttribute = mapping.getLockingAttribute();
      int nLockingOrdinal = (lockingAttribute == null) ? -1 : lockingAttribute.getOrdinal();
      String sLockingAttributeName = (lockingAttribute == null) ? null :  lockingAttribute.getName();
      VirtualDataSourceFragment fragment = (VirtualDataSourceFragment)getFragment();
      ArrayList tobjList = new ArrayList(nEnd - nStart);

      for (int i = nStart; i < nEnd; i++)
      {
         Instance instance = workArray[i].getInstance();
         TransferObject tobj = new TransferObject(instance.getOID(), metaclass.getName(), EVENT, nAttributeCount);

         for (int k = 0; k < nAttributeCount; k++)
         {
            if (instance.isDirty(k))
            {
               Attribute attribute = metaclass.getInstanceAttribute(k);
               AttributeMapping attrMapping = m_mapping.getAttributeMapping(attribute);

               if (attrMapping != null)
               {
                  int nKeyPart = (attrMapping instanceof VirtualPrimitiveMapping) ?
                     ((VirtualPrimitiveMapping)attrMapping).getObjectKeyPart() : -1;
                  Object value;

                  if (nKeyPart >= 0 && instance.getOID() != null)
                  {
                     value = instance.getOID().getValue(nKeyPart);
                  }
                  else
                  {
                     value = instance.getValue(k);
                  }

                  setValue(tobj, attribute, value);
               }
            }
         }

         tobjList.add(tobj);
      }

      try
      {
         operation.invoke(tobjList, m_adapter.getInvocationContext().getMachine(), fragment);
      }
      finally
      {
         // Sets the locking value and OID, if provided by the create mapping.
         for (int k = nStart; k < nEnd; k++)
View Full Code Here


    */
   public void execute(Work[] workArray, int nStart, int nEnd)
   {
      Metaclass metaclass = m_instance.getMetaclass();
      VirtualMapping mapping = (VirtualMapping)m_mapping;
      WorkMapping operation = mapping.getDeleteMapping();
      Attribute lockingAttribute = mapping.getLockingAttribute();
      int nLockingOrdinal = (lockingAttribute == null) ? -1 : lockingAttribute.getOrdinal();
      String sLockingAttributeName = (lockingAttribute == null) ? null : lockingAttribute.getName();
      VirtualDataSourceFragment fragment = (VirtualDataSourceFragment)getFragment();
      ArrayList tobjList = new ArrayList(nEnd - nStart);

      for (int i = nStart; i < nEnd; i++)
      {
         Instance instance = workArray[i].getInstance();
         TransferObject tobj;

         if (nLockingOrdinal >= 0)
         {
            tobj = new TransferObject(instance.getOID(), metaclass.getName(), EVENT, 1);
            tobj.setValue(sLockingAttributeName, instance.getValue(nLockingOrdinal));
         }
         else
         {
            tobj = new TransferObject(instance.getOID(), metaclass.getName(), EVENT, 0);
         }

         tobjList.add(tobj);
      }

      operation.invoke(tobjList, m_adapter.getInvocationContext().getMachine(), fragment);
   }
View Full Code Here

TOP

Related Classes of nexj.core.meta.persistence.virtual.WorkMapping

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.