
ɪWc           @   sl   d  d k  Z  d  d k Z d  d k l Z l Z d e  i  f d     YZ d   Z e d j o e   n d S(   iN(   t   MeCriteriaFieldDefinitiont   MeFieldDefinitiont   MeIdentifierCriteriac           B   s   e  Z d  Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z RS(   s   
		data[0]: NAME			RunTime
		data[1]: meProfileName	SD
		data[2]: MAPPING		TITLE
		data[3]: DATATYPE		time
		data[4]: PATH			/Fields/Duration/Duration
		data[5]: ASSET_TYPE		PACKAGE/TITLE
		data[6]: VALUE_FIELD_PATH /Fields/Duration/Duration
	c         C   s   t  i  i |   d  S(   N(   t	   BaseClasst   __init__(   t   self(    (    sn   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/MeIdentifierCriteria.pyR      s    c         C   s   d S(   Ni   (    (   R   (    (    sn   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/MeIdentifierCriteria.pyt	   getNextId   s    c         C   s   | d } | d } |  i  |  } | t j o t Sd | | f } |  i i |  |  i i   } t |  o | d d St Sd S(   s3   
		data[0]: fieldName
		data[1]: ME profile Name
		i    i   s   select CR.ID from ME_IDENTIFIER_CRITERIA CR join ME_FIELD_DEFINITION FD on (FD.ID = CR.KEY_FIELD_ID)where FD.NAME = '%s' and CR.PROFILE_ID = %dN(   t   getMeProfileIdt   Falset   cursort   executet   fetchallt   len(   R   t   datat	   fieldNamet   meProfileNamet   meProfileIdt	   statementt   rows(    (    sn   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/MeIdentifierCriteria.pyt   checkExistence   s    

c   	      C   s   t  |  d j o | d } | d } |  i |  } |  i | |  } | t j p | t j o g  St   i |  } d | | f } |  i i |  |  i i   } t  |  d j o g  S| | d } | Sn
 d GHg  Sd S(   s   
		data[0]: Field Name
		data[1]: ME Profile Name
		
		return an array contains (NAME,MAPPING,DATATYPE,PATH,ASSET_TYPE,VALUE_FIELD_PATH) of the given profile name specified by data[1]
		
		i   i    i   sg   SELECT ASSET_TYPE, VALUE_FIELD_PATH FROM ME_IDENTIFIER_CRITERIA WHERE PROFILE_ID=%d AND KEY_FIELD_ID=%dsL   MeIdentifierCriteria::backUpExisting:The number of parameters is not correctN(	   R   R   t
   getFieldIdR   R   t	   getFieldsR	   R
   R   (	   R   R   R   R   R   t   fieldIdt
   fieldValueR   R   (    (    sn   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/MeIdentifierCriteria.pyt   backUpExisting,   s"    

c   
      C   s   |  i  |  } | t j o d | GHg  Sd d d d d d g } d | } |  i i |  |  i i   } t |  o g  } xz | D]n } h  } xR t d	 t |   D]; }	 | |	 d j o d
 | | |	 <q | |	 | | |	 <q W| i |  q Wn | S(   s7   
		backup all the Criteria fields of a given profile
		sE   [Error]MeIdentifierCriteria::backUpAllExisting: profile %s not found!t   NAMEt   MAPPINGt   DATATYPEt   PATHt
   ASSET_TYPEt   VALUE_FIELD_PATHs   SELECT FD.NAME, FD.MAPPING, FD.DATATYPE, FD.PATH, IC.ASSET_TYPE, IC.VALUE_FIELD_PATH FROM ME_FIELD_DEFINITION FD JOIN ME_IDENTIFIER_CRITERIA IC ON (FD.ID = IC.KEY_FIELD_ID) WHERE IC.PROFILE_ID = %di    t    N(	   R   R   R	   R
   R   R   t   ranget   Nonet   append(
   R   t   profileNamet	   profileIdt   criteriaFieldKeyArrayR   R   t   criteriaFieldst   rowt   criteriaFieldt   i(    (    sn   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/MeIdentifierCriteria.pyt   backUpAllExistingL   s*    	  c      	   C   s   y | d } | d } | d } | d } | d } | d } | d }	 |  i  |  }
 |
 t j o t S|  i |  } | t j o t Sd |  i |
 | | |	 g  } | GH|  i i |  |  i   SWn! t j
 o } | GH|  i   SXd  S(	   Ni    i   i   i   i   i   i   se   INSERT INTO ME_IDENTIFIER_CRITERIA (PROFILE_ID, KEY_FIELD_ID, ASSET_TYPE, VALUE_FIELD_PATH) VALUES %s(	   R   R   t   insertFieldDefinitiont
   tupleToStrR	   R
   t   committ	   Exceptiont   rollback(   R   t   id_R   R   R   t   mappingt   datatypet   patht	   assetTypet   valueFieldPathR   R   R   t   e(    (    sn   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/MeIdentifierCriteria.pyt   insertj   s*    






c         C   s   yx | d } | d } |  i  |  } | t j o t S|  i |  d | | | f } | GH|  i i |  |  i   SWn! t j
 o } | GH|  i   SXd  S(   Ni   i   sV   UPDATE ME_IDENTIFIER_CRITERIA SET ASSET_TYPE='%s', VALUE_FIELD_PATH='%s' WHERE ID = %d(   R   R   t   updateFieldDefinitionR	   R
   R-   R.   R/   (   R   R   R4   R5   t   criterialIdR   R6   (    (    sn   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/MeIdentifierCriteria.pyt   update   s    

c         C   s   | d } | d } |  i  |  } |  i | |  } yw | t j o# d | } | GH|  i i |  n | t j o |  i |  n | t j p | t j o |  i   SWn! t j
 o } | GH|  i   SXd  S(   Ni    i   s0   DELETE FROM ME_IDENTIFIER_CRITERIA WHERE ID = %d(	   R   R   R   R	   R
   t   deleteFieldDefinitionR-   R.   R/   (   R   R   R   R   t
   criteriaIdR   R   R6   (    (    sn   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/MeIdentifierCriteria.pyt   delete   s     


c         C   s#   d | } | GH|  i  i |  d S(   s?   
		Description: delete all the criteria field of the profile
		s8   DELETE FROM ME_IDENTIFIER_CRITERIA WHERE PROFILE_ID = %dN(   R	   R
   (   R   R$   R   (    (    sn   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/MeIdentifierCriteria.pyt	   deleteAll   s    
c         C   s   t    } | i |  S(   N(   R    R7   (   R   R   t   fieldDefinition(    (    sn   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/MeIdentifierCriteria.pyR+      s    	c         C   s   t    } | i |  d  S(   N(   R    R:   (   R   R   R?   (    (    sn   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/MeIdentifierCriteria.pyR8      s    	c         C   s   t    } | i |  d  S(   N(   R    R=   (   R   R   R?   (    (    sn   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/MeIdentifierCriteria.pyR;      s    	c         G   s   t  i    i |  S(   N(   t   MeSubsProfileR   (   R   R   (    (    sn   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/MeIdentifierCriteria.pyR      s    c         G   s   t    i |  S(   N(   R    t   getId(   R   R   (    (    sn   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/MeIdentifierCriteria.pyR      s    c         C   s-   | i  d  p t S| d i   d j Sd  S(   Nt	   IS_DELETEt   true(   t   has_keyR   t   lower(   R   t   item(    (    sn   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/MeIdentifierCriteria.pyt   getIsDelete   s    (   t   __name__t
   __module__t   __doc__R   R   R   R   R*   R7   R:   R=   R>   R+   R8   R;   R   R   RG   (    (    (    sn   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/MeIdentifierCriteria.pyR      s    					 											c          C   s   t    }  d  S(   N(   R   (   t   meIC(    (    sn   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/MeIdentifierCriteria.pyt   main   s    t   __main__(   R   R@   R   R    R   RL   RH   (    (    (    sn   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/MeIdentifierCriteria.pyt   <module>   s   	