diff options
author | Dirk Grobler <dg@openoffice.org> | 2002-05-23 17:20:09 +0000 |
---|---|---|
committer | Dirk Grobler <dg@openoffice.org> | 2002-05-23 17:20:09 +0000 |
commit | 0ff65e7aa039b442e61080aae50e4ef629f8ff4c (patch) | |
tree | 4fb5ae30074add0d7b2bea244f89fbf703bd0d2a /officecfg/util | |
parent | b5f0929ca92123feff5513cc5cf64c34f95e7bd9 (diff) |
#97750# property mapping for LDAP DS
Diffstat (limited to 'officecfg/util')
-rw-r--r-- | officecfg/util/component-conf.gen | 123 | ||||
-rw-r--r-- | officecfg/util/component-ldif.gen | 120 | ||||
-rw-r--r-- | officecfg/util/component-map.gen | 132 |
3 files changed, 375 insertions, 0 deletions
diff --git a/officecfg/util/component-conf.gen b/officecfg/util/component-conf.gen new file mode 100644 index 000000000000..a793c06b6437 --- /dev/null +++ b/officecfg/util/component-conf.gen @@ -0,0 +1,123 @@ +: # -*- perl -*- +#************************************************************************* +# +# $RCSfile: component-conf.gen,v $ +# +# $Revision: 1.1 $ +# +# last change: $Author: dg $ $Date: 2002-05-23 18:20:09 $ +# +# The Contents of this file are made available subject to the terms of +# either of the following licenses +# +# - GNU Lesser General Public License Version 2.1 +# - Sun Industry Standards Source License Version 1.1 +# +# Sun Microsystems Inc., October, 2000 +# +# GNU Lesser General Public License Version 2.1 +# ============================================= +# Copyright 2000 by Sun Microsystems, Inc. +# 901 San Antonio Road, Palo Alto, CA 94303, USA +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License version 2.1, as published by the Free Software Foundation. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# +# +# Sun Industry Standards Source License Version 1.1 +# ================================================= +# The contents of this file are subject to the Sun Industry Standards +# Source License Version 1.1 (the "License"); You may not use this file +# except in compliance with the License. You may obtain a copy of the +# License at http://www.openoffice.org/license.html. +# +# Software provided under this License is provided on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, +# WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, +# MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. +# See the License for the specific provisions governing your rights and +# obligations concerning the Software. +# +# The Initial Developer of the Original Code is: Sun Microsystems, Inc. +# +# Copyright: 2000 by Sun Microsystems, Inc. +# +# All Rights Reserved. +# +# Contributor(s): _______________________________________ +# +# +# +#************************************************************************* + +# generates of the component schema list an ldap schema in slapd format + +eval 'exec perl -wS $0 ${1+"$@"}' + if 0; + +#creating the output file +open(OUTFILE, ">$ARGV[0]") or die "can't open >$ARGV[0]"; + +#open the makefile +open(INFILE, "makefile.mk") or die "can't open makefile.mk"; + +$inxcs=0; + +#search all schemas in the makefile except userprofile and format them as e.g org.openoffice.Inet +while(<INFILE>) { + tr/\r\n//d; + + if (/^\s*XCSFILES/) { + $inxcs++; + } + next unless $inxcs; + + if ($inxcs) { + + $inxcs=0 unless /\\$/; + + next if (/^\s*XCSFILES/); + next if (/UserProfile/); + + s/^\s+//; + s/\s*\\$//; + s/\.xcs.*$//; + s#\$/#.#g; + + push(@comp_names, $_); + } +} +close(INFILE); + +# generate the schema in slapd format + +foreach (@comp_names) { + + s#org.openoffice.#oo-#g; + s#\.#-#g; + + $myLdapName=lc $_; + + print OUTFILE "attribute $myLdapName-attr $myLdapName-attr-oid cis single\n"; + print OUTFILE "objectclass $myLdapName-class\n"; + print OUTFILE "\toid\n"; + print OUTFILE "\t\t$myLdapName-class-oid\n"; + print OUTFILE "\tsuperior top\n"; + print OUTFILE "\tallows\n"; + print OUTFILE "\t$myLdapName-attr\n"; +} + +close(OUTFILE); + +exit 0; diff --git a/officecfg/util/component-ldif.gen b/officecfg/util/component-ldif.gen new file mode 100644 index 000000000000..29ad8dce2268 --- /dev/null +++ b/officecfg/util/component-ldif.gen @@ -0,0 +1,120 @@ +: # -*- perl -*- +#************************************************************************* +# +# $RCSfile: component-ldif.gen,v $ +# +# $Revision: 1.1 $ +# +# last change: $Author: dg $ $Date: 2002-05-23 18:20:09 $ +# +# The Contents of this file are made available subject to the terms of +# either of the following licenses +# +# - GNU Lesser General Public License Version 2.1 +# - Sun Industry Standards Source License Version 1.1 +# +# Sun Microsystems Inc., October, 2000 +# +# GNU Lesser General Public License Version 2.1 +# ============================================= +# Copyright 2000 by Sun Microsystems, Inc. +# 901 San Antonio Road, Palo Alto, CA 94303, USA +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License version 2.1, as published by the Free Software Foundation. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# +# +# Sun Industry Standards Source License Version 1.1 +# ================================================= +# The contents of this file are subject to the Sun Industry Standards +# Source License Version 1.1 (the "License"); You may not use this file +# except in compliance with the License. You may obtain a copy of the +# License at http://www.openoffice.org/license.html. +# +# Software provided under this License is provided on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, +# WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, +# MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. +# See the License for the specific provisions governing your rights and +# obligations concerning the Software. +# +# The Initial Developer of the Original Code is: Sun Microsystems, Inc. +# +# Copyright: 2000 by Sun Microsystems, Inc. +# +# All Rights Reserved. +# +# Contributor(s): _______________________________________ +# +# +# +#************************************************************************* + +# generates of the component schema list an ldap schema in ldif format + +eval 'exec perl -wS $0 ${1+"$@"}' + if 0; + +#creating the output file +open(OUTFILE, ">$ARGV[0]") or die "can't open >$ARGV[0]"; + +#open the makefile +open(INFILE, "makefile.mk") or die "can't open makefile.mk"; + +$inxcs=0; + +#search all schemas in the makefile except userprofile and format them as e.g org.openoffice.Inet +while(<INFILE>) { + tr/\r\n//d; + + if (/^\s*XCSFILES/) { + $inxcs++; + } + next unless $inxcs; + + if ($inxcs) { + + $inxcs=0 unless /\\$/; + + next if (/^\s*XCSFILES/); + next if (/UserProfile/); + + s/^\s+//; + s/\s*\\$//; + s/\.xcs.*$//; + s#\$/#.#g; + + push(@comp_names, $_); + } +} +close(INFILE); + +# generate the schema in ldif format +foreach (@comp_names) { + + s#org.openoffice.#oo-#g; + s#\.#-#g; + + $myLdapName=lc $_; + + print OUTFILE "dn: cn=schema\n"; + print OUTFILE "attributetypes: ($myLdapName-attr-oid NAME '$myLdapName-attr' DESC '$myLdapName attribute' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE_VALUE )\n\n"; + + print OUTFILE "dn: cn=schema\n"; + print OUTFILE "objectclasses: ($myLdapName-class-oid NAME '$myLdapName-class' DESC '$myLdapName objclass' SUP 'top' MAY ($myLdapName-attr \$ ))\n\n"; +} + +close(OUTFILE); + +exit 0; diff --git a/officecfg/util/component-map.gen b/officecfg/util/component-map.gen new file mode 100644 index 000000000000..be70e76d92bc --- /dev/null +++ b/officecfg/util/component-map.gen @@ -0,0 +1,132 @@ +: # -*- perl -*- +#************************************************************************* +# +# $RCSfile: component-map.gen,v $ +# +# $Revision: 1.1 $ +# +# last change: $Author: dg $ $Date: 2002-05-23 18:20:09 $ +# +# The Contents of this file are made available subject to the terms of +# either of the following licenses +# +# - GNU Lesser General Public License Version 2.1 +# - Sun Industry Standards Source License Version 1.1 +# +# Sun Microsystems Inc., October, 2000 +# +# GNU Lesser General Public License Version 2.1 +# ============================================= +# Copyright 2000 by Sun Microsystems, Inc. +# 901 San Antonio Road, Palo Alto, CA 94303, USA +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License version 2.1, as published by the Free Software Foundation. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA +# +# +# Sun Industry Standards Source License Version 1.1 +# ================================================= +# The contents of this file are subject to the Sun Industry Standards +# Source License Version 1.1 (the "License"); You may not use this file +# except in compliance with the License. You may obtain a copy of the +# License at http://www.openoffice.org/license.html. +# +# Software provided under this License is provided on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, +# WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, +# MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. +# See the License for the specific provisions governing your rights and +# obligations concerning the Software. +# +# The Initial Developer of the Original Code is: Sun Microsystems, Inc. +# +# Copyright: 2000 by Sun Microsystems, Inc. +# +# All Rights Reserved. +# +# Contributor(s): _______________________________________ +# +# +# +#************************************************************************* + + +# generates of the component schema list mapping file, which +# describes the mapping between OOR and LDAP + +eval 'exec perl -wS $0 ${1+"$@"}' + if 0; + +#creating the output file +open(OUTFILE, ">$ARGV[0]") or die "can't open >$ARGV[0]"; + +#open the makefile +open(INFILE, "makefile.mk") or die "can't open makefile.mk"; + +$inxcs=0; + +#search all schemas in the makefile except userprofile and format them as e.g org.openoffice.Inet +while(<INFILE>) { + tr/\r\n//d; + + if (/^\s*XCSFILES/) { + $inxcs++; + } + next unless $inxcs; + + if ($inxcs) { + + $inxcs=0 unless /\\$/; + + next if (/^\s*XCSFILES/); + next if (/UserProfile/); + + s/^\s+//; + s/\s*\\$//; + s/\.xcs.*$//; + s#\$/#.#g; + + push(@comp_names, $_); + } +} +close(INFILE); + +# create the properites file + +print OUTFILE "# location of the component schema \n"; +print OUTFILE "component-schema=schema\n\n"; + +print OUTFILE "# location of the component data \n"; +print OUTFILE "component-data=data\n\n"; + +$comps=join (';',@comp_names); +print OUTFILE "# installed components \n"; +print OUTFILE "components=$comps\n\n"; + +print OUTFILE "# component mapping \n"; +foreach (@comp_names) { + $myCompName=$_; + + s#org.openoffice.#oo-#g; + s#\.#-#g; + + $myLdapName=lc $_; + + print OUTFILE "component/$myCompName/attribute=$myLdapName-attr\n"; + print OUTFILE "component/$myCompName/objectclass=$myLdapName-class\n\n"; +} + +close(OUTFILE); + +exit 0; |