Ñò
ýÉªWc           @   sn   d  Z  d d k Z d d k Z d d k Z d e f d „  ƒ  YZ d „  Z e d j o d Z e e ƒ n d S(   s*   
Created on Jan 4, 2013

@author: ebracox
iÿÿÿÿNt   RemoteDatabaseConnectionc           B   sJ   e  Z d  Z d „  Z d „  Z e d „ Z d „  Z d „  Z e	 d „ Z
 RS(   s   
	classdocs
	c         C   só   d } d } d } d } t  i ƒ  |  _ |  i i ƒ  |  i i t  i ƒ  ƒ d GH|  i i | | | | ƒ |  i i ƒ  |  _ |  i i	 d ƒ |  i
 ƒ  |  i d ƒ |  i d ƒ |  i d	 ƒ |  i d
 ƒ |  i d ƒ |  i d ƒ |  i d ƒ d S(   s   
		Constructor
		t   cmst   cms1234t   dbserveri   s   *** Connecting...g      ð?t   sut   root1234s   su - oracles!   source /home/oracle/.bash_profiles   $ORACLE_HOME/bin/sqlplus /nologs   connect / as sysdbas   set feedback onN(   t   paramikot	   SSHClientt   clientt   load_system_host_keyst   set_missing_host_key_policyt   AutoAddPolicyt   connectt   invoke_shellt   channelt
   settimeoutt   flusht   send(   t   selft   usernamet   passwordt   hostt   port(    (    sr   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/RemoteDatabaseConnection.pyt   __init__   s&    
c         C   s   |  i  d ƒ d  S(   Ns   commit;(   R   (   R   (    (    sr   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/RemoteDatabaseConnection.pyt   commit0   s    c         C   s8   |  i  | ƒ t | ƒ i ƒ  d j o |  i ƒ  n d  S(   Nt   true(   R   t   strt   lowerR   (   R   t   queryR   (    (    sr   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/RemoteDatabaseConnection.pyt   execute3   s    c         C   s+   |  i  d ƒ |  i i ƒ  |  i i ƒ  d  S(   Ns   quit;(   R   R   t   closeR   (   R   (    (    sr   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/RemoteDatabaseConnection.pyt   logout8   s    c         C   sX   xQ y |  i  i d ƒ } | GHWq t i i j
 o Pq t i j
 o Pq Xq d  S(   Ni   (   R   t   recvR   t   buffered_pipet   PipeTimeoutt   sockett   timeout(   R   t   resp(    (    sr   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/RemoteDatabaseConnection.pyR   >   s    	c         C   s8   |  i  i | d d g | ƒ } |  i ƒ  |  i ƒ  d  S(   Nt    s   
(   R   R   R   (   R   t   commandt   addLFt	   bytesSent(    (    sr   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/RemoteDatabaseConnection.pyR   K   s     
(   t   __name__t
   __module__t   __doc__R   R   t   FalseR   R   R   t   TrueR   (    (    (    sr   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/RemoteDatabaseConnection.pyR       s   				c         C   s–   d d  k  } | i t d ƒ ƒ } y@ t ƒ  } x& | d D] }  | i |  d t ƒ q8 W| i ƒ  Wn. t j
 o" } t i	 ƒ  | GH| i ƒ  n Xd  S(   Niÿÿÿÿs   ../azuki.jsont   queriest   QUERY(
   t   jsont   loadt   openR    R   R.   R   t	   Exceptiont	   tracebackt	   print_exc(   R   R1   t   ft   rdct   e(    (    sr   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/RemoteDatabaseConnection.pyt   mainT   s    	 
t   __main__s‰  create or replace view wfs.title_ingestion_info as 
SELECT distinct extractvalue(sys_nc_rowinfo$,'/ECMFSpec/Package/Fields/ProviderInfo/Identifier/Id') as provider_id,
              extractvalue(sys_nc_rowinfo$,'/ECMFSpec/Package/Fields/ProviderInfo/Name') as provider_name,
              extractvalue(sys_nc_rowinfo$,'/ECMFSpec/@documentId') as document_id,
              extractvalue(sys_nc_rowinfo$,'/ECMFSpec/Package/Title/Fields/Title/ShortTitle/Value') as title_brief, 
              extractvalue(sys_nc_rowinfo$,'/ECMFSpec/Package/Title/Fields/Rights/LicensingWindowStart') as License_start_date, 
              extractvalue(sys_nc_rowinfo$,'/ECMFSpec/Package/Title/Fields/Rights/LicensingWindowEnd') as license_end_date,
              count(x.assetid) over (PARTITION BY t.id_ order by t.id_) as asset_count,  --count(x.assetid) as asset_count,
              to_date(to_char(pi.start_,'yyyy-mm-dd'),'yyyy-mm-dd') as wo_start,
              to_date(to_char(pi.end_  ,'yyyy-mm-dd'),'yyyy-mm-dd') as wo_end,
              (pi.end_ - pi.start_) day(2) to second(0) ingestion_time,
              round((extract(second from (pi.end_ - pi.start_))+
              extract(minute from (pi.end_ - pi.start_))*60 +
              extract(hour from (pi.end_ - pi.start_))*60*60 +
              extract(day from (pi.end_ - pi.start_))*60*60*24),0) as ingestion_time_seconds
FROM wfs.MDM_METADATA m, xmltable('/ECMFSpec/*/*/@assetId' passing m.object_value columns assetid number path '.') x,
           wfs.pmm_title t, wfs.jbpm_variableinstance vi, wfs.jbpm_processinstance pi, wfs.jbpm_processdefinition pd 
 where t.mdmdocid=extractvalue(sys_nc_rowinfo$,'/ECMFSpec/@documentId')
     and t.originaltitle_id is null
     and t.id_ = vi.stringvalue_ 
     and vi.name_='titleId'
     and vi.processinstance_ = pi.id_
     and pi.operationalprocessstatusid=6
     and pd.id_ = pi.processdefinition_
     and pd.name_='Ingest Template';(	   R,   R   R#   R5   t   objectR    R:   R*   R   (    (    (    sr   /home/jenkins/workspace/prepack-aio-release-4.2/prepack-aio/src/main/resources/scripts/RemoteDatabaseConnection.pyt   <module>   s   H	