updated queries (SVN branch) as the porting to git ported the old ones
This commit is contained in:
parent
f75abfeadd
commit
628ba14f41
2
pom.xml
2
pom.xml
|
@ -11,7 +11,7 @@
|
||||||
|
|
||||||
<groupId>org.gcube.portlets.admin</groupId>
|
<groupId>org.gcube.portlets.admin</groupId>
|
||||||
<artifactId>rmp-common-library</artifactId>
|
<artifactId>rmp-common-library</artifactId>
|
||||||
<version>2.8.2-SNAPSHOT</version>
|
<version>2.8.3-SNAPSHOT</version>
|
||||||
<name>Resource Management Library</name>
|
<name>Resource Management Library</name>
|
||||||
<description>
|
<description>
|
||||||
gCube Resource Management Library is a common library containing shared code for Information System Operations
|
gCube Resource Management Library is a common library containing shared code for Information System Operations
|
||||||
|
|
|
@ -1,4 +1,7 @@
|
||||||
declare namespace ic = 'http://gcube-system.org/namespaces/informationsystem/registry';
|
declare namespace ic = 'http://gcube-system.org/namespaces/informationsystem/registry';
|
||||||
for $resource in collection('/db/Profiles/<RES_TYPE ISdefault ='' />')//Document/Data/ic:Profile/Resource
|
let $_res_type := '<RES_TYPE ISdefault ='' />'
|
||||||
where $resource/ID/string() eq '<RES_ID/>'
|
let $_res_id := '<RES_ID/>'
|
||||||
return $resource
|
let $res_type := if (empty($_res_type)) then $_res_id else concat($_res_type, '/', $_res_id )
|
||||||
|
let $res_docname := concat('/db/Profiles/',$res_type)
|
||||||
|
let $res := doc($res_docname)//Document/Data/ic:Profile/Resource
|
||||||
|
return $res
|
|
@ -4,25 +4,26 @@
|
||||||
# RES_TYPE the main type of the resource
|
# RES_TYPE the main type of the resource
|
||||||
# This query is used by forms
|
# This query is used by forms
|
||||||
|
|
||||||
for $profiles in collection('/db/Profiles/<RES_TYPE ISdefault ='GHN' />')//Resource
|
declare namespace ic = 'http://gcube-system.org/namespaces/informationsystem/registry';
|
||||||
let $ghn-name := $profiles//Resource/Profile/GHN/@UniqueID/string()
|
for $profiles in collection('/db/Profiles/<RES_TYPE ISdefault ='GHN' />')//Document/Data/ic:Profile/Resource
|
||||||
let $gcf-version := $profiles//Resource/Profile/GHNDescription/RunTimeEnv/Variable[Key/text() = 'gCF-version']/Value/text()
|
let $ghn-name := $profiles/Profile/GHN/@UniqueID/string()
|
||||||
let $ghn-version := $profiles//Resource/Profile/GHNDescription/RunTimeEnv/Variable[Key/text() = 'GHN-distribution-version']/Value/text()
|
let $gcf-version := $profiles/Profile/GHNDescription/RunTimeEnv/Variable[Key/text() = 'gCF-version']/Value/text()
|
||||||
let $scopes := string-join( $profiles//Resource/Scopes//Scope/text(), ';')
|
let $ghn-version := $profiles/Profile/GHNDescription/RunTimeEnv/Variable[Key/text() = 'GHN-distribution-version']/Value/text()
|
||||||
|
let $scopes := string-join( $profiles/Scopes//Scope/text(), ';')
|
||||||
let $subtype :=
|
let $subtype :=
|
||||||
if ($profiles//Resource/Type eq "Service")
|
if ($profiles/Type eq "Service")
|
||||||
then $profiles//Resource/Profile/Class/text()
|
then $profiles/Profile/Class/text()
|
||||||
else if ($profiles//Resource/Type eq "RunningInstance")
|
else if ($profiles/Type eq "RunningInstance")
|
||||||
then $profiles//Resource/Profile/ServiceClass/text()
|
then $profiles/Profile/ServiceClass/text()
|
||||||
else if ($profiles//Resource/Type eq "GenericResource")
|
else if ($profiles/Type eq "GenericResource")
|
||||||
then $profiles//Resource/Profile/SecondaryType/text()
|
then $profiles/Profile/SecondaryType/text()
|
||||||
else if ($profiles//Resource/Type eq "GHN")
|
else if ($profiles/Type eq "GHN")
|
||||||
then $profiles//Resource/Profile/Site/Domain/text()
|
then $profiles/Profile/Site/Domain/text()
|
||||||
else if ($profiles//Resource/Type eq "MetadataCollection")
|
else if ($profiles/Type eq "MetadataCollection")
|
||||||
then $profiles//Resource/Profile/MetadataFormat/Name/text()
|
then $profiles/Profile/MetadataFormat/Name/text()
|
||||||
else if ($profiles//Resource/Type eq "Collection" and ($profiles//Resource/Profile/IsUserCollection/string(@value) eq 'true'))
|
else if ($profiles/Type eq "Collection" and ($profiles/Profile/IsUserCollection/string(@value) eq 'true'))
|
||||||
then "User"
|
then "User"
|
||||||
else if ($profiles//Resource/Type eq "Collection" and ($profiles//Resource/Profile/IsUserCollection/string(@value) eq 'false'))
|
else if ($profiles/Type eq "Collection" and ($profiles/Profile/IsUserCollection/string(@value) eq 'false'))
|
||||||
then "System"
|
then "System"
|
||||||
else ""
|
else ""
|
||||||
return
|
return
|
||||||
|
|
|
@ -4,25 +4,26 @@
|
||||||
# RES_TYPE the main type of the resource
|
# RES_TYPE the main type of the resource
|
||||||
# This query is used by forms
|
# This query is used by forms
|
||||||
|
|
||||||
for $profiles in collection('/db/Profiles/<RES_TYPE ISdefault ='GHN' />')//Resource
|
declare namespace ic = 'http://gcube-system.org/namespaces/informationsystem/registry';
|
||||||
let $ghn-name := $profiles//Resource/Profile/GHN/@UniqueID/string()
|
for $profiles in collection('/db/Profiles/<RES_TYPE ISdefault ='GHN' />'))//Document/Data/ic:Profile/Resource
|
||||||
let $gcf-version := $profiles//Resource/Profile/GHNDescription/RunTimeEnv/Variable[Key/text() = 'gCF-version']/Value/text()
|
let $ghn-name := $profiles/Profile/GHN/@UniqueID/string()
|
||||||
let $ghn-version := $profiles//Resource/Profile/GHNDescription/RunTimeEnv/Variable[Key/text() = 'GHN-distribution-version']/Value/text()
|
let $gcf-version := $profiles/Profile/GHNDescription/RunTimeEnv/Variable[Key/text() = 'gCF-version']/Value/text()
|
||||||
let $scopes := string-join( $profiles//Resource/Scopes//Scope/text(), ';')
|
let $ghn-version := $profiles/Profile/GHNDescription/RunTimeEnv/Variable[Key/text() = 'GHN-distribution-version']/Value/text()
|
||||||
|
let $scopes := string-join( $profiles/Scopes//Scope/text(), ';')
|
||||||
let $subtype :=
|
let $subtype :=
|
||||||
if ($profiles//Resource/Type eq "Service")
|
if ($profiles/Type eq "Service")
|
||||||
then $profiles//Resource/Profile/Class/text()
|
then $profiles/Profile/Class/text()
|
||||||
else if ($profiles//Resource/Type eq "RunningInstance")
|
else if ($profiles/Type eq "RunningInstance")
|
||||||
then $profiles//Resource/Profile/ServiceClass/text()
|
then $profiles/Profile/ServiceClass/text()
|
||||||
else if ($profiles//Resource/Type eq "GenericResource")
|
else if ($profiles/Type eq "GenericResource")
|
||||||
then $profiles//Resource/Profile/SecondaryType/text()
|
then $profiles/Profile/SecondaryType/text()
|
||||||
else if ($profiles//Resource/Type eq "GHN")
|
else if ($profiles/Type eq "GHN")
|
||||||
then $profiles//Resource/Profile/Site/Domain/text()
|
then $profiles/Profile/Site/Domain/text()
|
||||||
else if ($profiles//Resource/Type eq "MetadataCollection")
|
else if ($profiles/Type eq "MetadataCollection")
|
||||||
then $profiles//Resource/Profile/MetadataFormat/Name/text()
|
then $profiles/Profile/MetadataFormat/Name/text()
|
||||||
else if ($profiles//Resource/Type eq "Collection" and ($profiles//Resource/Profile/IsUserCollection/string(@value) eq 'true'))
|
else if ($profiles/Type eq "Collection" and ($profiles/Profile/IsUserCollection/string(@value) eq 'true'))
|
||||||
then "User"
|
then "User"
|
||||||
else if ($profiles//Resource/Type eq "Collection" and ($profiles//Resource/Profile/IsUserCollection/string(@value) eq 'false'))
|
else if ($profiles/Type eq "Collection" and ($profiles/Profile/IsUserCollection/string(@value) eq 'false'))
|
||||||
then "System"
|
then "System"
|
||||||
else ""
|
else ""
|
||||||
where $subtype eq '<RES_SUBTYPE ISdefault='isti.cnr.it'/>'
|
where $subtype eq '<RES_SUBTYPE ISdefault='isti.cnr.it'/>'
|
||||||
|
|
|
@ -1,21 +1,22 @@
|
||||||
|
declare namespace ic = 'http://gcube-system.org/namespaces/informationsystem/registry';
|
||||||
let $type := '<RES_TYPE ISdefault ='MetadataCollection'/>'
|
let $type := '<RES_TYPE ISdefault ='MetadataCollection'/>'
|
||||||
let $subtypes :=
|
let $subtypes :=
|
||||||
for $_profiles in collection('/db/Profiles/<RES_TYPE ISdefault ='MetadataCollection'/>')//Resource
|
for $_profiles in collection('/db/Profiles/<RES_TYPE ISdefault ='MetadataCollection'/>')//Document/Data/ic:Profile/Resource
|
||||||
let $elem := if ($type eq "Service")
|
let $elem := if ($type eq "Service")
|
||||||
then $_profiles//Resource/Profile/Class
|
then $_profiles/Profile/Class
|
||||||
else if ($type eq "RunningInstance")
|
else if ($type eq "RunningInstance")
|
||||||
then $_profiles//Resource/Profile/ServiceClass
|
then $_profiles/Profile/ServiceClass
|
||||||
else if ($type eq "GenericResource")
|
else if ($type eq "GenericResource")
|
||||||
then $_profiles//Resource/Profile/SecondaryType
|
then $_profiles/Profile/SecondaryType
|
||||||
else if ($type eq "GHN")
|
else if ($type eq "GHN")
|
||||||
then $_profiles//Resource/Profile/Site/Domain
|
then $_profiles/Profile/Site/Domain
|
||||||
else if ($type eq "MetadataCollection")
|
else if ($type eq "MetadataCollection")
|
||||||
then $_profiles//Resource/Profile/MetadataFormat/Name
|
then $_profiles/Profile/MetadataFormat/Name
|
||||||
else if ($type eq "RuntimeResource")
|
else if ($type eq "RuntimeResource")
|
||||||
then $_profiles//Resource/Profile/Category
|
then $_profiles/Profile/Category
|
||||||
else if ($type eq "Collection" and ($_profiles//Resource/Profile/IsUserCollection/string(@value) eq 'true'))
|
else if ($type eq "Collection" and ($_profiles/Profile/IsUserCollection/string(@value) eq 'true'))
|
||||||
then "User"
|
then "User"
|
||||||
else if ($type eq "Collection" and ($_profiles//Resource/Profile/IsUserCollection/string(@value) eq 'false'))
|
else if ($type eq "Collection" and ($_profiles/Profile/IsUserCollection/string(@value) eq 'false'))
|
||||||
then "System"
|
then "System"
|
||||||
else ""
|
else ""
|
||||||
return $elem
|
return $elem
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
for $profiles in collection('/db/Profiles/GenericResource')//Resource, $wsresource in collection('/db/Properties')//Document
|
declare namespace ic = 'http://gcube-system.org/namespaces/informationsystem/registry';
|
||||||
|
for $profiles in collection('/db/Profiles/GenericResource')//Document/Data/ic:Profile/Resource, $wsresource in collection('/db/Properties')//Document
|
||||||
let $scopes := string-join( $profiles/Scopes//Scope/text(), ';')
|
let $scopes := string-join( $profiles/Scopes//Scope/text(), ';')
|
||||||
let $subtype := $profiles//Resource/Profile/SecondaryType/text()
|
let $subtype := $profiles//Resource/Profile/SecondaryType/text()
|
||||||
where $subtype = "DataSource" and $profiles//Resource/ID eq $wsresource/SourceKey and $wsresource/Data//child::*[local-name()='ServiceName']/string() eq 'tree-manager-service'
|
where $subtype = "DataSource" and $profiles/ID eq $wsresource/SourceKey and $wsresource/Data//child::*[local-name()='ServiceName']/string() eq 'tree-manager-service'
|
||||||
<RES_SUBTYPE ISdefault =''/>
|
<RES_SUBTYPE ISdefault =''/>
|
||||||
return
|
return
|
||||||
<RESOURCE/>
|
<RESOURCE/>
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
for $profiles in collection('/db/Profiles/GHN')//Resource
|
declare namespace ic = 'http://gcube-system.org/namespaces/informationsystem/registry';
|
||||||
let $gcf-version := $profiles//Resource/Profile/GHNDescription/RunTimeEnv/Variable[Key/text() = 'gCF-version']/Value/text() | $profiles//Resource/Profile/GHNDescription/RunTimeEnv/Variable[Key/text() = 'SmartGears']/Value/text()
|
for $profiles in collection('/db/Profiles/GHN')//Document/Data/ic:Profile/Resource
|
||||||
let $ghn-version := $profiles//Resource/Profile/GHNDescription/RunTimeEnv/Variable[Key/text() = 'GHN-distribution-version']/Value/text() | $profiles//Resource/Profile/GHNDescription/RunTimeEnv/Variable[Key/text() = 'SmartGearsDistribution']/Value/text()
|
let $gcf-version := $profiles/Profile/GHNDescription/RunTimeEnv/Variable[Key/text() = 'gCF-version']/Value/text() | $profiles/Profile/GHNDescription/RunTimeEnv/Variable[Key/text() = 'SmartGears']/Value/text()
|
||||||
|
let $ghn-version := $profiles/Profile/GHNDescription/RunTimeEnv/Variable[Key/text() = 'GHN-distribution-version']/Value/text() | $profiles/Profile/GHNDescription/RunTimeEnv/Variable[Key/text() = 'SmartGearsDistribution']/Value/text()
|
||||||
let $scopes := string-join( $profiles/Scopes//Scope/text(), ';')
|
let $scopes := string-join( $profiles/Scopes//Scope/text(), ';')
|
||||||
let $subtype := $profiles//Resource/Profile/Site/Domain/text()
|
let $subtype := $profiles/Profile/Site/Domain/text()
|
||||||
<RES_SUBTYPE ISdefault =''/>
|
<RES_SUBTYPE ISdefault =''/>
|
||||||
return
|
return
|
||||||
<RESOURCE/>
|
<RESOURCE/>
|
||||||
|
|
|
@ -1,17 +1,17 @@
|
||||||
<Resource>
|
<Resource>
|
||||||
{$profiles//Resource/ID}
|
{$profiles/ID}
|
||||||
<Type>{$profiles//Resource/Type/text()}</Type>
|
<Type>{$profiles/Type/text()}</Type>
|
||||||
<SubType>{$subtype}</SubType>
|
<SubType>{$subtype}</SubType>
|
||||||
<Status>{$profiles//Resource/Profile/GHNDescription/Status/text()}</Status>
|
<Status>{$profiles/Profile/GHNDescription/Status/text()}</Status>
|
||||||
<Name>{$profiles//Resource/Profile/GHNDescription/Name/text()}</Name>
|
<Name>{$profiles/Profile/GHNDescription/Name/text()}</Name>
|
||||||
<Uptime>{$profiles//Resource/Profile/GHNDescription/Uptime/text()}</Uptime>
|
<Uptime>{$profiles/Profile/GHNDescription/Uptime/text()}</Uptime>
|
||||||
<LastUpdate>{$profiles//Resource/Profile/GHNDescription/LastUpdate/text()}</LastUpdate>
|
<LastUpdate>{$profiles/Profile/GHNDescription/LastUpdate/text()}</LastUpdate>
|
||||||
<LocalAvailableSpace>{$profiles//Resource/Profile/GHNDescription/LocalAvailableSpace/text()}</LocalAvailableSpace>
|
<LocalAvailableSpace>{$profiles/Profile/GHNDescription/LocalAvailableSpace/text()}</LocalAvailableSpace>
|
||||||
<VirtualSize>{$profiles//Resource/Profile/GHNDescription/MainMemory/string(@VirtualSize)}</VirtualSize>
|
<VirtualSize>{$profiles/Profile/GHNDescription/MainMemory/string(@VirtualSize)}</VirtualSize>
|
||||||
<VirtualAvailable>{$profiles//Resource/Profile/GHNDescription/MainMemory/string(@VirtualAvailable)}</VirtualAvailable>
|
<VirtualAvailable>{$profiles/Profile/GHNDescription/MainMemory/string(@VirtualAvailable)}</VirtualAvailable>
|
||||||
<LoadLast1Min>{$profiles//Resource/Profile/GHNDescription/Load/string(@Last1Min)}</LoadLast1Min>
|
<LoadLast1Min>{$profiles/Profile/GHNDescription/Load/string(@Last1Min)}</LoadLast1Min>
|
||||||
<LoadLast5Min>{$profiles//Resource/Profile/GHNDescription/Load/string(@Last5Min)}</LoadLast5Min>
|
<LoadLast5Min>{$profiles/Profile/GHNDescription/Load/string(@Last5Min)}</LoadLast5Min>
|
||||||
<LoadLast15Min>{$profiles//Resource/Profile/GHNDescription/Load/string(@Last15Min)}</LoadLast15Min>
|
<LoadLast15Min>{$profiles/Profile/GHNDescription/Load/string(@Last15Min)}</LoadLast15Min>
|
||||||
<gcf-version>{$gcf-version}</gcf-version>
|
<gcf-version>{$gcf-version}</gcf-version>
|
||||||
<ghn-version>{$ghn-version}</ghn-version>
|
<ghn-version>{$ghn-version}</ghn-version>
|
||||||
<Scopes>{$scopes}</Scopes>
|
<Scopes>{$scopes}</Scopes>
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
<Resource>
|
<Resource>
|
||||||
{$profiles//Resource/ID}
|
{$profiles/ID}
|
||||||
<Type>{$profiles//Resource/Type/text()}</Type>
|
<Type>{$profiles//Resource/Type/text()}</Type>
|
||||||
<SubType>{$subtype}</SubType>
|
<SubType>{$subtype}</SubType>
|
||||||
<Scopes>{$scopes}</Scopes>
|
<Scopes>{$scopes}</Scopes>
|
||||||
<Name>{$profiles//Resource/Profile/Name/text()}</Name>
|
<Name>{$profiles/Profile/Name/text()}</Name>
|
||||||
<Description>{$profiles//Resource/Profile/Description/text()}</Description>
|
<Description>{$profiles/Profile/Description/text()}</Description>
|
||||||
</Resource>
|
</Resource>
|
|
@ -1,8 +1,8 @@
|
||||||
<Resource>
|
<Resource>
|
||||||
{$profiles//Resource/ID}
|
{$profiles/ID}
|
||||||
<Type>{$profiles//Resource/Type/text()}</Type>
|
<Type>{$profiles/Type/text()}</Type>
|
||||||
<SubType>{$subtype}</SubType>
|
<SubType>{$subtype}</SubType>
|
||||||
<Scopes>{$scopes}</Scopes>
|
<Scopes>{$scopes}</Scopes>
|
||||||
<Name>{$profiles//Resource/Profile/Name/text()}</Name>
|
<Name>{$profiles/Profile/Name/text()}</Name>
|
||||||
<Host>{$profiles//Resource/Profile/RunTime/HostedOn/text()}</Host>
|
<Host>{$profiles/Profile/RunTime/HostedOn/text()}</Host>
|
||||||
</Resource>
|
</Resource>
|
|
@ -1,10 +1,10 @@
|
||||||
<Resource>
|
<Resource>
|
||||||
{$profiles//Resource/ID}
|
{$profiles/ID}
|
||||||
<Type>{$profiles//Resource/Type/text()}</Type>
|
<Type>{$profiles/Type/text()}</Type>
|
||||||
<SubType>{$subtype}</SubType>
|
<SubType>{$subtype}</SubType>
|
||||||
<Scopes>{$scopes}</Scopes>
|
<Scopes>{$scopes}</Scopes>
|
||||||
<ServiceClass>{$profiles//Resource/Profile/Class/text()}</ServiceClass>
|
<ServiceClass>{$profiles/Profile/Class/text()}</ServiceClass>
|
||||||
<ServiceName>{$profiles//Resource/Profile/Name/text()}</ServiceName>
|
<ServiceName>{$profiles/Profile/Name/text()}</ServiceName>
|
||||||
<Version>{$profiles//Resource/Profile/Packages/Software[1]/Version/text()}</Version>
|
<Version>{$profiles/Profile/Packages/Software[1]/Version/text()}</Version>
|
||||||
<Shareable>{$profiles//Resource/Profile/Packages/Software/Shareable/string(@level)}</Shareable>
|
<Shareable>{$profiles/Profile/Packages/Software/Shareable/string(@level)}</Shareable>
|
||||||
</Resource>
|
</Resource>
|
|
@ -1,8 +1,7 @@
|
||||||
for $profiles in collection('/db/Profiles/RunningInstance')//Resource
|
declare namespace ic = 'http://gcube-system.org/namespaces/informationsystem/registry';
|
||||||
let $ghns := collection('/db/Profiles/GHN')//Resource
|
for $profiles in collection('/db/Profiles/RunningInstance')//Document/Data/ic:Profile/Resource
|
||||||
let $_ghn-name := for $ghn in $ghns
|
let $docname := concat('/db/Profiles/GHN/',$profiles/Profile/GHN/@UniqueID/string())
|
||||||
where $ghn/ID/string() eq $profiles/Profile/GHN/@UniqueID/string()
|
let $_ghn-name := doc($docname)//Document/Data/ic:Profile/Resource/Profile/GHNDescription/Name/string()
|
||||||
return $ghn/Profile/GHNDescription/Name/string()
|
|
||||||
let $ghn-name := if (empty($_ghn-name)) then $profiles/Profile/GHN/@UniqueID/string() else $_ghn-name
|
let $ghn-name := if (empty($_ghn-name)) then $profiles/Profile/GHN/@UniqueID/string() else $_ghn-name
|
||||||
let $scopes := string-join( $profiles/Scopes//Scope/text(), ';')
|
let $scopes := string-join( $profiles/Scopes//Scope/text(), ';')
|
||||||
let $subtype := $profiles/Profile/ServiceClass/text()
|
let $subtype := $profiles/Profile/ServiceClass/text()
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
for $profiles in collection('/db/Profiles/RuntimeResource')//Resource
|
declare namespace ic = 'http://gcube-system.org/namespaces/informationsystem/registry';
|
||||||
|
for $profiles in collection('/db/Profiles/RuntimeResource')//Document/Data/ic:Profile/Resource
|
||||||
let $scopes := string-join( $profiles/Scopes//Scope/text(), ';')
|
let $scopes := string-join( $profiles/Scopes//Scope/text(), ';')
|
||||||
let $subtype := $profiles//Resource/Profile/Category/text()
|
let $subtype := $profiles/Profile/Category/text()
|
||||||
<RES_SUBTYPE ISdefault =''/>
|
<RES_SUBTYPE ISdefault =''/>
|
||||||
return
|
return
|
||||||
<RESOURCE/>
|
<RESOURCE/>
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
for $profiles in collection('/db/Profiles/Service')//Resource
|
declare namespace ic = 'http://gcube-system.org/namespaces/informationsystem/registry';
|
||||||
|
for $profiles in collection('/db/Profiles/Service')//Document/Data/ic:Profile/Resource
|
||||||
let $scopes := string-join( $profiles/Scopes//Scope/text(), ';')
|
let $scopes := string-join( $profiles/Scopes//Scope/text(), ';')
|
||||||
let $subtype := $profiles//Resource/Profile/Class/text()
|
let $subtype := $profiles/Profile/Class/text()
|
||||||
<RES_SUBTYPE ISdefault =''/>
|
<RES_SUBTYPE ISdefault =''/>
|
||||||
return
|
return
|
||||||
<RESOURCE/>
|
<RESOURCE/>
|
Loading…
Reference in New Issue