Przeglądaj źródła

parser configa default_db do buildow z patentem, gdzie trzeba by uzyc hasla do bazy?! bi_audit - config dostepny w xmlu:
<procesy5_config>
[echo] <procesy5_config.default_db.server>
[echo] <type>mysql</type>
[echo] <host>94.158.130.0</host>
[echo] <port>3306</port>
[echo] <user>root</user>
[echo] <pass>xxxxx</pass>
[echo] <database>SES_USERS2</database>
[echo] <zasob_id>36</zasob_id>
[echo] </procesy5_config.default_db.server>
[echo] </procesy5_config>

a.binder 8 lat temu
rodzic
commit
56a1fcb242

+ 50 - 5
SE/build_SE.xml

@@ -28,11 +28,13 @@
     <property name="build_SE.properties.xml" location="${build_SE.properties}.xml"/>
     
     <property name="procesy5_config.folders.xsl" location="${build_SE_basedir}/procesy5_config.folders.xsl"/>
+    <property name="procesy5_config.default_db.xsl" location="${build_SE_basedir}/procesy5_config.default_db.xsl"/>
     <!-- components -->
     <property name="dita-ot-toolkit" location="${basedir}/../stuff/dita-ot-2.3.3"/>
     <property name="procesy5_config" location="${basedir}/../config"/>
         <!--<property name="procesy5_config.folders" location="${procesy5_config}/.cnf-\-folders.ini.php"/>-->
         <property name="procesy5_config.folders.server" location="${procesy5_config}/.cnf--folders-${SERVER_ADDRESS}.ini.php"/>
+        <property name="procesy5_config.default_db.server" location="${procesy5_config}/.cnf--default_db-${SERVER_ADDRESS}.ini.php"/>
     <property name="procesy5_config.folders.properties.xml" location="${build_SE_basedir}/procesy5_config.folders.properties.xml"/>
   
     <!-- TODO in build_resource_ant.xml <property name="dita.dir" location="/Library/Server/Web/Data/Sites/Default/SE/stuff/dita-ot-2.3.3/bin/dita"/>-->
@@ -43,7 +45,7 @@
   
    <!-- task to maintain properties -->
   
-    <target name="save_build_properties" depends="build_SE.install_dirs,build_SE_read_procesy5_file_properties">
+    <target name="save_build_properties" depends="build_SE.install_dirs,build_SE_read_procesy5_file_properties,build_SE_read_procesy5_default_db_properties">
         <echoproperties destfile="${build_SE.properties}"/>
         <echoproperties destfile="${build_SE.properties.xml}" format="xml"/>
     </target>
@@ -86,15 +88,58 @@
             <!--<param name="main_build_recurse_ant.dita" expression="${main_build_recurse_ant.dita}"/>-->
             <!--<param name="basedir" expression="${basedir}"/>-->
         </xslt>
-        
-        
+
         <loadfile property="procesy5_config.folders.properties.xml.file" srcfile="${procesy5_config.folders.properties.xml}"/>
-        <echo>#60 reading $procesy5_config.folders.properties.xml ${procesy5_config.folders.properties.xml.file}
+        <!--<echo>#60 reading $procesy5_config.folders.properties.xml ${procesy5_config.folders.properties.xml.file}
             ${procesy5_config.folders.properties.xml.file}
-        </echo>
+        </echo>-->        
+    </target>
+    
+    
+    
+    <!-- default_db -->
+    
+    
+    <target name="build_SE_read_procesy5_default_db_properties_check" description="Detect if there are procesy5_config.folders.server configured (in Procesy5 installation folder) ">
+        <condition property="build_SE_read_procesy5_default_db_properties_check" taskname="build_SE_read_procesy5_default_db_properties">
+            <available file="${procesy5_config.default_db.server}" />
+        </condition>
+        <antcall target="build_SE_read_procesy5_default_db_properties_failed"/>
+    </target>
+    
+    <target unless="${build_SE_read_procesy5_default_db_properties_check}" name="build_SE_read_procesy5_default_db_properties_failed" description="echo inform that there is not config exists">
+        <echo> INFORM : propbably not installed in Procesy5 environment - not detected ${procesy5_config.default_db.server} file</echo>
+    </target>
+    
+    
+    <target if="${build_SE_read_procesy5_default_db_properties_check}" name="build_SE_read_procesy5_default_db_properties" depends="build_SE_read_procesy5_default_db_properties_check,build_SE.install_dirs" description="TO read from procesy5_config.folders and procesy5_config.folders.server further do another direction this in install">
+        <!--<loadfile property="procesy5_config.folders_loadfile" srcfile="${procesy5_config.folders}"/>-->
+        <loadfile property="procesy5_config.default_db.server_loadfile" srcfile="${procesy5_config.default_db.server}"/>
+        <tempfile property="procesy5_config.default_db_loadfile_xml" destdir="${build_SE_basedir.temp}" prefix="procesy5_config.default_db_loadfile_xml" suffix=".xml" deleteonexit="no"/>
         
+        <echoxml file="${procesy5_config.default_db_loadfile_xml}">
+            <procesy5_config>
+                <!--<procesy5_config.folders>${procesy5_config.folders_loadfile}</procesy5_config.folders>-->
+                <procesy5_config.default_db.server>${procesy5_config.default_db.server_loadfile}</procesy5_config.default_db.server>
+            </procesy5_config>
+        </echoxml>
+        <xslt basedir="./" style="${procesy5_config.default_db.xsl}" in="${procesy5_config.default_db_loadfile_xml}"  destdir="./" out="${procesy5_config.default_db.properties.xml}" >
+            <factory name="net.sf.saxon.TransformerFactoryImpl">    
+                <attribute name="http://saxon.sf.net/feature/xinclude-aware" value="true"/>
+            </factory>
+            <classpath location="/opt/local/share/java/saxon9he.jar"/>
+            <!--<param name="webRootUrl" expression="${webRootUrl}" />--> 
+            <!--<param name="main_build_recurse_ant.dita" expression="${main_build_recurse_ant.dita}"/>-->
+            <!--<param name="basedir" expression="${basedir}"/>-->
+        </xslt>
+        
+        <loadfile property="procesy5_config.default_db.properties.xml.file" srcfile="${procesy5_config.default_db.properties.xml}"/>
+        <!--<echo>#60 reading $procesy5_config.default_db.properties.xml ${procesy5_config.default_db.properties.xml.file}
+            ${procesy5_config.default_db.properties.xml.file}
+        </echo>-->        
     </target>
     
+    
     <target name="procesy5_root_build_save_procesy5_file_properties" description="TODO in install licence task"/>
         
     

+ 96 - 0
SE/schema/build_SE_basedir/procesy5_config.default_db.xsl

@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+    xmlns:xs="http://www.w3.org/2001/XMLSchema"
+    exclude-result-prefixes="xs"
+    version="2.0">
+    
+    <xsl:output indent="yes"/>
+    <xsl:strip-space elements="*"/>
+    
+    <xsl:template match="procesy5_config">
+        <procesy5_config>
+        <xsl:apply-templates/>
+        </procesy5_config>
+    </xsl:template>
+    
+    <xsl:template match="procesy5_config.default_db.server">
+        <procesy5_config.default_db.server>
+             <xsl:variable name="procesy5_config.default_db.server">
+                 <xsl:apply-templates/>
+             </xsl:variable>
+            
+             <xsl:apply-templates select="$procesy5_config.default_db.server" mode="from_tokenize"/>
+            
+            <!--<debug>
+                <xsl:copy-of select="$procesy5_config.default_db.server"></xsl:copy-of>
+            </debug>-->
+        </procesy5_config.default_db.server>
+    </xsl:template>
+    
+    <xsl:template  match="*"/>
+    
+    <xsl:template match="text()">
+        <xsl:for-each select="tokenize(.,'\[')">
+            <lev1><xsl:attribute name="pos" select="position()"/>
+            <xsl:for-each select="tokenize(.,'\]')">
+                <lev2><xsl:attribute name="pos" select="position()"/>
+                    <xsl:for-each select="tokenize(.,'\n')">
+                        <levbr><xsl:attribute name="pos" select="position()"/>
+                            <xsl:for-each select=" tokenize(.,'=')">
+                                <lev3><xsl:attribute name="pos" select="position()"/>
+                                    <xsl:value-of select="."/>
+                                </lev3>
+                            </xsl:for-each>
+                        </levbr>
+                    </xsl:for-each>
+                </lev2>
+            </xsl:for-each>
+            </lev1>
+        </xsl:for-each>
+    </xsl:template>
+    
+    <xsl:template mode="from_tokenize" match="lev1[@pos='1']">
+        <xsl:apply-templates mode="#current"/>
+    </xsl:template>
+    
+    <xsl:template mode="from_tokenize" match="lev2[@pos='1']">
+        <xsl:apply-templates mode="#current"/>
+    </xsl:template>
+    
+    <xsl:template mode="from_tokenize" match="levbr[lev3[@pos='2']]"><!-- [lev3/@pos2] -->
+        <xsl:element name="{lev3[@pos='1']}">
+            <xsl:value-of select="replace(lev3[@pos='2'],'&quot;','')"/>
+        </xsl:element>
+    </xsl:template>
+    <xsl:template mode="from_tokenize" match="*">
+        <!--<ignored>
+            <xsl:attribute name="name" select="name()"/>
+            <attrs>
+                <xsl:copy-of select="@*"/>
+            </attrs>
+        </ignored>-->
+    </xsl:template>
+    
+    <!--<xsl:template mode="from_tokenize" match="lev1[@pos='1']"/>
+    <xsl:template mode="from_tokenize" match="lev1">
+        <xsl:element name="{lev2[@pos='1']/levbr[@pos='1']/lev3[@pos='1']/text()}">
+            <xsl:for-each select="lev2[ number(@pos) &gt; 1]">
+                <xsl:for-each select="levbr[number(@pos) &gt;1]">
+                    <xsl:for-each select="lev3">
+                        <xsl:if test="@pos div 2 mod 1 and not(contains(.,';'))">
+                            <xsl:element name="{text()}">
+                                <xsl:value-of select=" replace( normalize-space(../lev3[@pos= number(current()/@pos)+1]),'[&quot;;]','')"/>
+                            </xsl:element>
+                        </xsl:if>
+                    </xsl:for-each>
+                </xsl:for-each>
+            </xsl:for-each>
+        </xsl:element>
+        
+    </xsl:template>    -->
+    
+    
+    
+    
+    
+</xsl:stylesheet>