openmeetings-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From openmeetings-zimbra-plugin.apache-extras....@codespot.com
Subject [openmeetings-zimbra-plugin] r3 committed - Move Zimbra to apache-extras.org
Date Mon, 26 Nov 2012 00:44:16 GMT
Revision: 3
Author:   seba.wagner
Date:     Sun Nov 25 16:43:29 2012
Log:      Move Zimbra to apache-extras.org
http://code.google.com/a/apache-extras.org/p/openmeetings-zimbra-plugin/source/detail?r=3

Added:
  /trunk/zimbra/.project
  /trunk/zimbra/build.xml
  /trunk/zimbra/com_zimbra_om
  /trunk/zimbra/com_zimbra_om/CHANGELOG
  /trunk/zimbra/com_zimbra_om/DISCLAIMER
  /trunk/zimbra/com_zimbra_om/LICENSE
  /trunk/zimbra/com_zimbra_om/NOTICE
  /trunk/zimbra/com_zimbra_om/README
  /trunk/zimbra/com_zimbra_om/com_zimbra_om.xml
  /trunk/zimbra/com_zimbra_om/config_template.xml
  /trunk/zimbra/com_zimbra_om/om.css
  /trunk/zimbra/com_zimbra_om/om.gif
  /trunk/zimbra/com_zimbra_om/om.js
  /trunk/zimbra/ivy.xml
  /trunk/zimbra/ivysettings.xml
  /trunk/zimbra/ivysettings.xsd

=======================================
--- /dev/null
+++ /trunk/zimbra/.project	Sun Nov 25 16:43:29 2012
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>zimbra_plugin</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+	</buildSpec>
+	<natures>
+	</natures>
+</projectDescription>
=======================================
--- /dev/null
+++ /trunk/zimbra/build.xml	Sun Nov 25 16:43:29 2012
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   Licensed under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+ -->
+<!DOCTYPE project>
+<project name="openmeetings zimbra plugin" basedir="./" default="dist-bin"
+	xmlns="antlib:org.apache.tools.ant"
+	xmlns:rat="antlib:org.apache.rat.anttasks"
+	xmlns:ivy="antlib:org.apache.ivy.ant"
+	>
+
+	<property name="dist.dir" value="dist" />
+	<property name="project.version" value="1.0" />
+	<property name="project.distname" value="openmeetings-zimbra-plugin" />
+	<property name="plugin.name" value="com_zimbra_om" />
+
+	<target name="dist-bin" depends="clean">
+		<property name="archive.file.name"  
value="${dist.dir}/apache-${project.distname}-incubating-${project.version}"  
/>
+
+		<mkdir dir="${dist.dir}"/>
+		<copy todir="${dist.dir}">
+			<fileset dir="${basedir}">
+				<exclude name=".*"/>
+				<exclude name="dist/**"/>
+				<exclude name="build.xml"/>
+			</fileset>
+		</copy>
+		<zip destfile="${archive.file.name}.zip">
+			<zipfileset dir="${dist.dir}">
+				<include name="${plugin.name}/**/**" />
+			</zipfileset>
+		</zip>
+		<zip destfile="${archive.file.name}-src.zip">
+			<zipfileset dir="${basedir}">
+				<exclude name="*dist/**" />
+			</zipfileset>
+		</zip>
+		<tar longfile="gnu" compression="gzip"  
destfile="${archive.file.name}.tar.gz">
+			<tarfileset dir="${dist.dir}">
+				<include name="${plugin.name}/**/**" />
+			</tarfileset>
+		</tar>
+		<tar longfile="gnu" compression="gzip"  
destfile="${archive.file.name}-src.tar.gz">
+			<tarfileset dir="${basedir}">
+				<exclude name="*dist/**" />
+			</tarfileset>
+		</tar>
+	</target>
+
+	<target name="clean">
+		<delete includeemptydirs="true" dir="${dist.dir}" />
+	</target>
+
+	<!-- RAT -->
+	<property name="ivy.install.version" value="2.3.0-rc1" />
+	<property name="project.lib.dir" value="${dist.dir}/lib" />
+	<property name="ivy.jar.path"  
value="${project.lib.dir}/ivy-${ivy.install.version}.jar" />
+
+	<available file="${ivy.jar.path}" type="file" property="ivy.installed" />
+	<target name="-download-ivy" unless="ivy.installed">
+		<mkdir dir="${project.lib.dir}"/>
+		<echo message="Downloading ivy..."/>
+		<get  
src="http://repo1.maven.org/maven2/org/apache/ivy/ivy/${ivy.install.version}/ivy-${ivy.install.version}.jar"
+			dest="${ivy.jar.path}" usetimestamp="true"/>
+	</target>
+
+	<path id="rat.classpath">
+		<fileset dir="${project.lib.dir}" includes="*.jar" />
+	</path>
+	<target name="-availability-check" unless="red5.installed"  
description="Check which libraries need to be retrieved">
+		<mkdir dir="${project.lib.dir}"/>
+		<available classpathref="rat.classpath"  
classname="org.apache.rat.Report" property="rat.installed" />
+	</target>
+	<!-- Check for rat libraries -->
+	<target name="-retrieve-rat" unless="rat.installed"  
description="Retrieves the libraries if needed"  
depends="-availability-check, -download-ivy">
+		<taskdef uri="antlib:org.apache.ivy.ant"  
resource="org/apache/ivy/ant/antlib.xml" classpath="${ivy.jar.path}"/>
+
+		<ivy:resolve file="ivy.xml" checkIfChanged="false" transitive="false" />
+		<ivy:retrieve  
pattern="${project.lib.dir}/[artifact]-[type]-[revision].[ext]" />
+	</target>
+
+	<target name="report_rat" depends="-retrieve-rat">
+		<taskdef uri="antlib:org.apache.rat.anttasks"  
resource="org/apache/rat/anttasks/antlib.xml" classpathref="rat.classpath"  
/>
+
+		<rat:report>
+			<fileset dir="${basedir}">
+				<exclude name="*dist/**" />
+			</fileset>
+		</rat:report>
+	</target>
+</project>
=======================================
--- /dev/null
+++ /trunk/zimbra/com_zimbra_om/CHANGELOG	Sun Nov 25 16:43:29 2012
@@ -0,0 +1,1 @@
+Apache OpenMeetings Zimbra Plugin Change Log
=======================================
--- /dev/null
+++ /trunk/zimbra/com_zimbra_om/DISCLAIMER	Sun Nov 25 16:43:29 2012
@@ -0,0 +1,15 @@
+Apache OpenMeetings Zimbra Plugin is an effort undergoing incubation at  
the Apache Software
+Foundation (ASF), sponsored by the Apache Incubator PMC.
+
+Incubation is required of all newly accepted projects until a further  
review
+indicates that the infrastructure, communications, and decision making  
process
+have stabilized in a manner consistent with other successful ASF projects.
+
+While incubation status is not necessarily a reflection of the completeness
+or stability of the code, it does indicate that the project has yet to be
+fully endorsed by the ASF.
+
+For more information about the incubation status of the OpenMeetings  
project you
+can go to the following page:
+
+http://incubator.apache.org/openmeetings/
=======================================
--- /dev/null
+++ /trunk/zimbra/com_zimbra_om/LICENSE	Sun Nov 25 16:43:29 2012
@@ -0,0 +1,203 @@
+Apache OpenMeetings Zimbra Plugin License:
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other  
modifications
+      represent, as a whole, an original work of authorship. For the  
purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces  
of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright  
owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control  
systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this  
License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
=======================================
--- /dev/null
+++ /trunk/zimbra/com_zimbra_om/NOTICE	Sun Nov 25 16:43:29 2012
@@ -0,0 +1,5 @@
+Apache OpenMeetings
+Copyright 2011-2012 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
=======================================
--- /dev/null
+++ /trunk/zimbra/com_zimbra_om/README	Sun Nov 25 16:43:29 2012
@@ -0,0 +1,5 @@
+This Zimbra plugin uses Apache OpenMeetings [Incbuating].
+You need your own Apache OpenMeetings instance running.
+
+Check out:
+http://incubator.apache.org/openmeetings/
=======================================
--- /dev/null
+++ /trunk/zimbra/com_zimbra_om/com_zimbra_om.xml	Sun Nov 25 16:43:29 2012
@@ -0,0 +1,49 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+
+<zimlet name="com_zimbra_om" version="0.1" description="add OM functions  
in zimbra">
+  <include>om.js</include>
+  <includeCSS>om.css</includeCSS>
+  <handlerObject>com_zimbra_om</handlerObject>
+
+  <zimletPanelItem label="Open Meetings" icon="om-panelIcon">
+    <toolTipText>OM meetings and events</toolTipText>
+      <contextMenu>
+          <menuItem label = "Zimlet Preferences" id= "om_preferences"/>
+      </contextMenu>
+  </zimletPanelItem>
+    <userProperties>
+		<property type = "string" name = "server1_baseurl" value = ""/>
+        <property type = "string" name = "server1_username" value = ""/>
+        <property type = "string" name = "server1_password" value = ""/>
+		<property type = "string" name = "server2_baseurl" value = ""/>
+		<property type = "string" name = "server2_username" value = ""/>
+		<property type = "string" name = "server2_password" value = ""/>
+		<property type = "string" name = "server3_baseurl" value = ""/>
+		<property type = "string" name = "server3_username" value = ""/>
+		<property type = "string" name = "server3_password" value = ""/>
+		<property type = "string" name = "server4_baseurl" value = ""/>
+		<property type = "string" name = "server4_username" value = ""/>
+		<property type = "string" name = "server4_password" value = ""/>
+		<property type = "string" name = "server5_baseurl" value = "" />
+		<property type = "string" name = "server5_username" value = ""/>
+		<property type = "string" name = "server5_password" value = ""/>
+	</userProperties>
+</zimlet>
=======================================
--- /dev/null
+++ /trunk/zimbra/com_zimbra_om/config_template.xml	Sun Nov 25 16:43:29 2012
@@ -0,0 +1,24 @@
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<zimletConfig name="com_zimbra_om" version="0.1">
+    <global>
+        <property name="allowedDomains">*</property>
+    </global>
+</zimletConfig>
=======================================
--- /dev/null
+++ /trunk/zimbra/com_zimbra_om/om.css	Sun Nov 25 16:43:29 2012
@@ -0,0 +1,39 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied.  See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*/
+
+
+#server1,#server2,#server3,#server4,#server5{
+	font-weight:bold;
+}
+#server1_baseurl_text,#server2_baseurl_text,#server3_baseurl_text,#server4_baseurl_text,#server5_baseurl_text  
{
+	padding-right:50px;
+	padding-left:50px;
+}
+
+#server1_username_text,#server2_username_text,#server3_username_text,#server4_username_text,#server5_username_text{
+	padding-right:40px;
+	padding-left:40px;
+
+}
+
+#server1_password_text,#server2_password_text,#server3_password_text,#server4_password_text,#server5_password_text{
+	padding-right:40px;
+	padding-left:40px;
+
+}
=======================================
--- /dev/null	
+++ /trunk/zimbra/com_zimbra_om/om.gif	Sun Nov 25 16:43:29 2012
Binary file, no diff available.
=======================================
--- /dev/null
+++ /trunk/zimbra/com_zimbra_om/om.js	Sun Nov 25 16:43:29 2012
@@ -0,0 +1,906 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+
+
+//constructors
+function com_zimbra_om(){
+}
+com_zimbra_om.prototype = new ZmZimletBase();
+com_zimbra_om.prototype.constructor =com_zimbra_om;
+
+//variables
+
+var validFromDate,validFromTime,validToDate,validToTime;
+var selected_server,selected_username,selected_password;
+var new_sid;
+
+
+//handling clicks
+
+// function to convert double clicks into single clicks
+com_zimbra_om.prototype.doubleClicked=
+	function(){
+		this.singleClicked();
+		};
+
+
+com_zimbra_om.prototype.singleClicked =
+		function(){
+				this._selectserverdisplay();
+			};
+
+
+
+//preferences dialog box
+com_zimbra_om.prototype.menuItemSelected = function(){
+    this.pView = new DwtListView({parent:this.getShell(),  
noMaximize:false});
+    this.pView.setSize("520","350");
+
+    this.server1 = new DwtText ({parent:this.pView, name:"server1",  
id:"server1"});
+    this.server1.setText("Server1");
+    this.server1.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.server1.setLocation(20,35);
+
+
+    this.server1_baseurl_text = new DwtText({parent:this.pView,  
name:"server1_baseurl_text", id:"server1_baseurl_text"});
+    this.server1_baseurl_text.setText("URL");
+    this.server1_baseurl_text.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.server1_baseurl_text.setLocation(20,50);
+    this.server1_baseurl = new DwtInputField ({parent:this.pView,  
name: "server1_baseurl", id: "server1_baseurl"});
+    this.server1_baseurl.setValue(this.getUserProperty("server1_baseurl"));
+    this.server1_baseurl.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.server1_baseurl.setLocation(20,65);
+
+    this.server1_username_text = new DwtText({parent:this.pView,  
name:"server1_username_text",id: "server1_username_text"});
+    this.server1_username_text.setText("Username");
+    this.server1_username_text.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.server1_username_text.setLocation(200,50);
+    this.server1_username = new DwtInputField ({parent:this.pView,  
name: "server1_username", id: "server1_username"});
+     
this.server1_username.setValue(this.getUserProperty("server1_username"));
+    this.server1_username.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.server1_username.setLocation(200,65);
+
+    this.server1_password_text = new DwtText ({parent:this.pView,  
name: "server1_passwor_text", id:"server1_password_text"});
+    this.server1_password_text.setText("password");
+    this.server1_password_text.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.server1_password_text.setLocation(380,50);
+    this.server1_password = new DwtInputField ({parent:this.pView,  
name: "server1_password", id: "server1_password"});
+     
this.server1_password.setValue(this.getUserProperty("server1_password"));
+    this.server1_password.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.server1_password.setLocation(380,65);
+
+    this.server2 = new DwtText({parent:this.pView,  
name:"server2",id:"server2"});
+    this.server2.setText("Server2");
+    this.server2.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.server2.setLocation(20,100);
+
+    this.server2_baseurl_text = new DwtText({parent:this.pView,  
name:"server2_baseurl_text",id:"server2_baseurl_text"});
+    this.server2_baseurl_text.setText("URL");
+    this.server2_baseurl_text.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.server2_baseurl_text.setLocation(20,120);
+    this.server2_baseurl = new DwtInputField ({parent:this.pView,  
name: "server2_baseurl", id: "server2_baseurl"});
+    this.server2_baseurl.setValue(this.getUserProperty("server2_baseurl"));
+    this.server2_baseurl.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.server2_baseurl.setLocation(20,135);
+
+    this.server2_username_text = new DwtText({parent:this.pView,  
name:"server2_username_text", id:"server2_username_text"});
+    this.server2_username_text.setText("Username");
+    this.server2_username_text.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.server2_username_text.setLocation(200,120);
+    this.server2_username = new DwtInputField ({parent:this.pView,  
name: "server2_username", id: "server2_username"});
+     
this.server2_username.setValue(this.getUserProperty("server2_username"));
+    this.server2_username.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.server2_username.setLocation(200,135);
+
+    this.server2_password_text = new DwtText({parent:this.pView,  
name:"server2_password_text", id:"server2_password_text"});
+    this.server2_password_text.setText("Password");
+    this.server2_password_text.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.server2_password_text.setLocation(380,120);
+    this.server2_password = new DwtInputField ({parent:this.pView,  
name: "server2_password" ,id: "server2_password"});
+     
this.server2_password.setValue(this.getUserProperty("server2_password"));
+    this.server2_password.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.server2_password.setLocation(380,135);
+
+    this.server3 = new DwtText ({parent:this.pView, name:"server3",  
id:"server3"});
+    this.server3.setText ("Server 3");
+    this.server3.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.server3.setLocation(20,165);
+
+    this.server3_baseurl_text = new DwtText ({parent:this.pView,  
name: "server3_baseurl_text", id:"server3_baseurl_text"});
+    this.server3_baseurl_text.setText("URL");
+    this.server3_baseurl_text.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.server3_baseurl_text.setLocation(20,185);
+    this.server3_baseurl  = new DwtInputField ({parent:this.pView,  
name:  "server3_baseurl" , id: "server3_baseurl"});
+    this.server3_baseurl.setValue(this.getUserProperty("server3_baseurl"));
+    this.server3_baseurl.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.server3_baseurl.setLocation(20,200);
+
+    this.server3_username_text = new DwtText ({parent:this.pView,  
name:"server3_username_text", id:"server3_username_text"});
+    this.server3_username_text.setText("Username");
+    this.server3_username_text.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.server3_username_text.setLocation(200,185)
+    this.server3_username = new DwtInputField({parent:this.pView,  
name:"server3_username", id:"server_username"});
+     
this.server3_username.setValue(this.getUserProperty("server3_username"));
+    this.server3_username.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.server3_username.setLocation(200,200);
+
+    this.server3_password_text = new DwtText ({parent:this.pView,  
name:"server3_password_text", id:"server3_password_text"});
+    this.server3_password_text.setText("Password");
+    this.server3_password_text.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.server3_password_text.setLocation(380,185);
+    this.server3_password = new DwtInputField ({parent:this.pView,  
name: "server3_password", id:"server3_password"});
+     
this.server3_password.setValue(this.getUserProperty("server3_password"));
+    this.server3_password.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.server3_password.setLocation(380,200);
+
+    this.server4 = new DwtText({parent:this.pView, name:"server4",  
id:"server4"});
+    this.server4.setText("Server 4");
+    this.server4.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.server4.setLocation(20,230);
+
+    this.server4_baseurl_text = new DwtText ({parent:this.pView,  
name:"server4_baseurl_text", id :"server4_baseurl_text"});
+    this.server4_baseurl_text.setText("URL");
+    this.server4_baseurl_text.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.server4_baseurl_text.setLocation(20,250);
+    this.server4_baseurl = new DwtInputField ({parent:this.pView,  
name:"server4_baseurl", id:"server4_baseurl"});
+    this.server4_baseurl.setValue(this.getUserProperty("server4_baseurl"));
+    this.server4_baseurl.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.server4_baseurl.setLocation(20,265);
+
+    this.server4_username_text = new DwtText({parent:this.pView,  
name:"server4_username_text", id:"server4_username_text"});
+    this.server4_username_text.setText("Username");
+    this.server4_username_text.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.server4_username_text.setLocation(200,250);
+    this.server4_username = new DwtInputField ({parent:this.pView,  
name: "server4_username", id: "server4_username"});
+     
this.server4_username.setValue(this.getUserProperty("server4_username"));
+    this.server4_username.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.server4_username.setLocation(200,265);
+
+    this.server4_password_text = new DwtText({parent:this.pView,  
name:"server4_password_text", id:"server4_password_text"});
+    this.server4_password_text.setText("Password");
+    this.server4_password_text.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.server4_password_text.setLocation(380,250);
+    this.server4_password = new DwtInputField ({parent:this.pView,  
name:"server4_password", id: "server4_password"});
+     
this.server4_password.setValue(this.getUserProperty("server4_password"));
+    this.server4_password.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.server4_password.setLocation(380,265);
+
+    this.server5 = new DwtText ({parent:this.pView, name:"server5",  
id:"server5"});
+    this.server5.setText ("Server5");
+    this.server5.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.server5.setLocation(20,295);
+
+    this.server5_baseurl_text =  new DwtText ({parent:this.pView,  
name:"server5_baseurl_text", id:"server5_baseurl_text"});
+    this.server5_baseurl_text.setText("URL");
+    this.server5_baseurl_text.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.server5_baseurl_text.setLocation(20,315);
+    this.server5_baseurl = new DwtInputField ({parent:this.pView ,  
name:"server5_baseurl" ,id:"server5_baseurl"});
+    this.server5_baseurl.setValue(this.getUserProperty("server5_baseurl"));
+    this.server5_baseurl.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.server5_baseurl.setLocation(20,330);
+
+    this.server5_username_text = new DwtText ({parent:this.pView,  
name:"server5_username_text",id:"server5_username_text"});
+    this.server5_username_text.setText("Username");
+    this.server5_username_text.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.server5_username_text.setLocation(200,315);
+    this.server5_username = new DwtInputField ({parent:this.pView ,  
name: "server5_username", id:"server5_username"});
+     
this.server5_username.setValue(this.getUserProperty("server5_username"));
+    this.server5_username.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.server5_username.setLocation(200,330);
+
+    this.server5_password_text = new DwtText ({parent:this.pView,  
name:"server5_password_text", id:"server5_password_text"});
+    this.server5_password_text.setText("Password");
+    this.server5_password_text.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.server5_password_text.setLocation(380,315);
+    this.server5_password = new DwtInputField ({parent:this.pView,  
name :"server5_password", id:"server5_password"});
+     
this.server5_password.setValue(this.getUserProperty("server5_password"));
+    this.server5_password.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.server5_password.setLocation(380,330);
+
+    this.pbDialog = this._createDialog({title:"Zimlet Preference",  
view:this.pView, standardButtons:  
[DwtDialog.OK_BUTTON,DwtDialog.CANCEL_BUTTON]});
+    this.pbDialog.setButtonListener(DwtDialog.OK_BUTTON, new  
AjxListener(this,this._okBtnListenerpref));
+    this.pbDialog.popup();
+};
+
+
+
+//preferences dialog box OK Button Listener
+com_zimbra_om.prototype._okBtnListenerpref =
+    function(){
+
+        server1_baseurl = this.server1_baseurl.getValue();
+        server1_username = this.server1_username.getValue();
+        server1_password = this.server1_password.getValue();
+        server2_baseurl = this.server2_baseurl.getValue();
+        server2_username = this.server2_username.getValue();
+        server2_password = this.server2_password.getValue();
+        server3_baseurl = this.server3_baseurl.getValue();
+        server3_username = this.server3_username.getValue();
+        server3_password = this.server3_password.getValue();
+        server4_baseurl = this.server4_baseurl.getValue();
+        server4_username = this.server4_username.getValue();
+        server4_password = this.server4_password.getValue();
+        server5_baseurl = this.server5_baseurl.getValue();
+        server5_username = this.server5_username.getValue();
+        server5_password = this.server5_password.getValue();
+
+
+        this.setUserProperty("server1_baseurl", server1_baseurl,1);
+        this.setUserProperty("server1_username", server1_username,1);
+        this.setUserProperty("server1_password", server1_password,1);
+        this.setUserProperty("server2_baseurl",  server2_baseurl,1);
+        this.setUserProperty("server2_username", server2_username,1);
+        this.setUserProperty("server2_password", server2_password,1);
+        this.setUserProperty("server3_baseurl", server3_baseurl,1);
+        this.getUserProperty("server3_username", server3_username,1);
+        this.getUserProperty("server3_password", server3_password,1);
+        this.setUserProperty("server4_baseurl",  server4_baseurl,1);
+        this.setUserProperty("server4_username", server4_username,1);
+        this.setUserProperty("server4_password", server4_password,1);
+        this.setUserProperty("server5_baseurl", server5_baseurl,1);
+        this.setUserProperty("server5_username", server5_username,1);
+        this.setUserProperty("server5_password", server5_password,1);
+        this.pbDialog.popdown();
+
+
+    };
+
+
+
+//Calendar start date selector
+com_zimbra_om.prototype.calendar_popup_startdate = function(){
+
+			this._parentView = new  
DwtListView({parent:this.getShell(),noMaximize:false});
+			this._parentView.setSize("250", "150");
+			this._parentView.getHtmlElement().style.overflow = "auto";
+            this._parentView.setPosition(DwtControl.RELATIVE_STYLE);
+
+			this.calendar = new DwtCalendar({parent:this._parentView,  
name:"calendar", id: "calendar"});
+ 			this.omDlg = this._createDialog({title:"Start date Selector",  
view:this._parentView, standardButtons :  
[DwtDialog.OK_BUTTON,DwtDialog.CANCEL_BUTTON]});
+            this.omDlg.setButtonListener(DwtDialog.OK_BUTTON, new  
AjxListener(this, this.startdate_calendar_okbtnlistener));
+			this.omDlg.popup();
+};
+
+//Calendar start date dialog OK Button Listener
+com_zimbra_om.prototype.startdate_calendar_okbtnlistener = function(){
+            start_date = this.calendar.getDate();
+            var start_date_string = start_date + " ";
+            var start_date_string_array = start_date_string.split(" ");
+            var start_date_final = start_date_string_array [0] + " " +  
start_date_string_array[1] + " " + start_date_string_array[2] + " " +  
start_date_string_array[3];
+            this.meeting_start_date_box.setValue(start_date_final,true);
+            this.omDlg.popdown();
+
+};
+
+
+
+
+//Calendar end date selector
+com_zimbra_om.prototype.calendar_popup_enddate = function(){
+
+			this._parentView = new  
DwtListView({parent:this.getShell(),noMaximize:false});
+			this._parentView.setSize("250", "150");
+			this._parentView.getHtmlElement().style.overflow = "auto";
+            this._parentView.setPosition(DwtControl.RELATIVE_STYLE);
+
+			this.calendar = new DwtCalendar({parent:this._parentView,  
name:"calendar", id: "calendar"});
+ 			this.omDlg = this._createDialog({title:"End Date Selector",  
view:this._parentView, standardButtons : [DwtDialog.OK_BUTTON]});
+            this.omDlg.setButtonListener(DwtDialog.OK_BUTTON, new  
AjxListener(this, this.enddate_calendar_okbtnlistener));
+			this.omDlg.popup();
+
+};
+
+
+//Calendar end date selector OK Button Listener
+com_zimbra_om.prototype.enddate_calendar_okbtnlistener = function(){
+			//code for getting end date from the calendar and inserting it into the  
end date box
+            end_date = this.calendar.getDate();
+            var end_date_string = end_date + " ";
+            var end_date_string_array = end_date_string.split(" ");
+            var end_date_final = end_date_string_array [0] + " " +  
end_date_string_array [1] + " " + end_date_string_array[2] + " " +  
end_date_string_array[3];
+            this.meeting_end_date_box.setValue(end_date_final,true);
+            this.omDlg.popdown();
+};
+
+
+//Add room dialog box
+com_zimbra_om.prototype.add_room_button_listener = function(){
+    this.add_room_parentView = new  
DwtListView({parent:this.getShell(),noMaximize:false});
+    this.add_room_parentView.setSize("450","250");
+    this.add_room_parentView.getHtmlElement().style.overflow = "auto";
+    this.add_room_parentView.setPosition(DwtControl.RELATIVE_STYLE);
+
+    this.add_room_roomname_text = new DwtText  
({parent:this.add_room_parentView, name: "add_room_roomname_text",  
id: "add_room_roomname_text"});
+    this.add_room_roomname_text.setText("Room Name");
+    this.add_room_roomname_text.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.add_room_roomname_text.setLocation("20","20");
+
+    this.add_room_roomname_box = new  
DwtInputField({parent:this.add_room_parentView,  
name: "add_room_roomname_box", id: "add_room_roomname_box"});
+    this.add_room_roomname_box.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.add_room_roomname_box.setLocation("150","20")
+
+
+    this.roomtype_text = new DwtText ({parent:this.add_room_parentView,  
name: "roomtype_text", id: "roomtype_text"});
+    this.roomtype_text.setText("Room Type:");
+    this.roomtype_text.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.roomtype_text.setLocation("20","50")
+
+
+    this.roomtypes_conference = new  
DwtCheckbox({parent:this.add_room_parentView, name: "roomtype_conference",  
id:"roomtype_conference"});
+    this.roomtypes_conference.setText("Conference");
+    this.roomtypes_conference.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.roomtypes_conference.setLocation("20","80");
+
+    this.roomtypes_audience = new  
DwtCheckbox({parent:this.add_room_parentView, name: "roomtype_audience" ,  
id: "roomtype_audience"});
+    this.roomtypes_audience.setText("Audience");
+    this.roomtypes_audience.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.roomtypes_audience.setLocation("100","80");
+
+    this.roomtypes_restricted = new  
DwtCheckbox({parent:this.add_room_parentView, name:"roomtype_restricted",  
id:"roomtype_restricted"});
+    this.roomtypes_restricted.setText("Restricted");
+    this.roomtypes_restricted.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.roomtypes_restricted.setLocation("180","80");
+
+    this.roomtypes_interview = new  
DwtCheckbox({parent:this.add_room_parentView, name:"roomtype_interview",  
id:"roomtype_interview"});
+    this.roomtypes_interview.setText("Interview");
+    this.roomtypes_interview.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.roomtypes_interview.setLocation("260","80");
+
+
+    this.comment_text = new DwtText({parent:this.add_room_parentView,  
name:"comment_text", id:"comment_text"});
+    this.comment_text.setText("Comment");
+    this.comment_text.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.comment_text.setLocation("20","110");
+
+    this.comment = new DwtInputField ({parent:this.add_room_parentView,  
name:"comment", id:"comment"});
+    this.comment.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.comment.setLocation("150","110");
+
+    this.noOfPartizipants_text = new DwtText  
({parent:this.add_room_parentView, name: "noOfPartizipants_text",  
id:"noOfPartizipants_text"});
+    this.noOfPartizipants_text.setText("No of Participants");
+    this.noOfPartizipants_text.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.noOfPartizipants_text.setLocation("20","140");
+
+    this.noOfPartizipants_box = new DwtInputField  
({parent:this.add_room_parentView, name: "noOfPartizipants_box",  
id:"noOfPartizipants_box"});
+    this.noOfPartizipants_box.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.noOfPartizipants_box.setLocation("150","140");
+
+    this.ispublic_checkbox = new DwtCheckbox  
({parent:this.add_room_parentView, name:"ispublic_checkbox",  
id: "ispublic_checkbox"});
+    this.ispublic_checkbox.setText("Public");
+    this.ispublic_checkbox.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.ispublic_checkbox.setLocation("20","170");
+
+    this.isModerated_checkbox = new  
DwtCheckbox({parent:this.add_room_parentView, name:"isModerated",  
id:"isModerated"});
+    this.isModerated_checkbox.setText("Is Moderated");
+    this.isModerated_checkbox.setPosition(DwtControl.ABSOLUTE_STYLE);
+    this.isModerated_checkbox.setLocation("150","170");
+
+    this.add_room_dialog = this._createDialog({title:"add Room",  
view:this.add_room_parentView, standartButtons:[DwtDialog.OK_BUTTON]});
+    this.add_room_dialog.setButtonListener(DwtDialog.OK_BUTTON, new  
AjxListener(this, this._add_room_okButtonListener));
+    this.add_room_dialog.popup();
+};
+
+
+//Add room dialog box OK Button Listener
+com_zimbra_om.prototype._add_room_okButtonListener = function(){
+	this.add_room_dialog.popdown();
+    var room_name = this.add_room_roomname_box.getValue();
+    var roomtypes_id, isPublic, isModerated;
+
+    if (this.roomtypes_conference.isSelected() == 1){
+    	roomtypes_id = 1;
+    }
+    else if (this.roomtypes_audience.isSelected() == 1){
+    	roomtypes_id = 2;
+    }
+    else if (this.roomtypes_restricted.isSelected() == 1){
+    	roomtypes_id = 3;
+    }
+    else if (this.roomtypes_interview.isSelected() == 1){
+    	roomtypes_id = 4;
+    }
+
+    var numberOfPartizipants = this.noOfPartizipants_box.getValue();
+    if (this.ispublic_checkbox.isSelected() == 1){
+    	isPublic = 1;
+    }
+    else {
+    	isPublic = 0;
+    }
+
+    if (this.isModerated_checkbox.isSelected() == 1){
+    	isModerated = 1;
+    }
+    else {
+    	isModerated = 0;
+    }
+
+
+    var request_url = selected_server  
+ "services/RoomService/addRoomWithModeration?SID=" +
+                     new_sid + "&name=" + room_name +
+                     "&roomtypes_id=" + roomtypes_id +
+                     "&comment="+
+                     "&numberOfPartizipants=" + numberOfPartizipants +
+                    "&ispublic=" + isPublic +
+                    "&appointment=0&isDemoRoom=0&demoTime=0&isModeratedRoom="  
+  
isModerated;
+
+    var url = ZmZimletBase.PROXY +  
AjxStringUtil.urlComponentEncode(request_url);
+    AjxRpc.invoke(null, url, null , new AjxCallback(this,  
this.add_room_responseHandler), true);
+
+};
+
+
+
+//Add rooms response handler
+com_zimbra_om.prototype.add_room_responseHandler=
+	function(response){
+			try{
+				var room_id = response.xml.getElementsByTagName("return"), new_room_id  
= [].map.call( sid, function(node){
+                    return node.textContent || node.innerText || "";
+				}).join("");
+				}catch(e){
+						this._showErrorMsg(e);
+						}
+				this.add_room_pView = new  
DwtListView({parent:this.getShell(),noMaximize:false});
+			    this.add_room_pView.getHtmlElement().style.overflow = "auto";
+			    this.add_room_pView.getHtmlElement().innerHTML = "<div> Room Id: "  
+ new_room_id + "</div>";
+			    this.add_room_response_Dlg = this._createDialog({title:"Select  
Profile", view:this.add_room_pView, standardButtons :  
[DwtDialog.OK_BUTTON]});
+			    this.add_room_response_Dlg.setButtonListener(DwtDialog.OK_BUTTON,  
new AjxListener(this, this.add_room_response_Dlg_listener));
+			    this.add_room_response_Dlg.popup();
+			    this.add_room_dialog.popdown();
+}
+
+com_zimbra_om.prototype.add_room_response_Dlg_listener =
+		function(){
+			this.add_room_response_Dlg.popdown();
+				}
+
+
+//Server Select dialog box
+com_zimbra_om.prototype._selectserverdisplay =
+    function(){
+            this._profile_parentView = new DwtComposite  
({parent:this.getShell()});
+            this._profile_parentView.getHtmlElement().style.overflow  
= "auto";
+             
this._profile_parentView.setPosition(DwtControl.RELATIVE_STYLE);
+
+    //        this._profile_parentView.getHtmlElement().innerHTML  
= "<div><select id = 'selected_server'><option value = 'server1'>"+  
server1_baseurl + "</option>" + "<option value = 'server2'>" +  
server2_baseurl + "</option>" + "<option value = 'server3'>" +  
server3_baseurl + "</option>" + "<option value = 'server4'>" +  
server4_baseurl + "<option value = 'server5'>" + server5_baseurl  
+ "</option>" + "</select></div>";
+            this._profile_parentView.getHtmlElement().innerHTML = "<div><a  
href='#' id= 'link1'>"+ this.getUserProperty("server1_baseurl")  
+"</a></div>" +
+                                                                  "<div><a  
href='#' id= 'link2'>"+ this.getUserProperty("server2_baseurl")  
+"</a></div>" +
+                                                                  "<div><a  
href='#' id= 'link3'>"+ this.getUserProperty("server3_baseurl")  
+"</a></div>" +
+                                                                  "<div><a  
href='#' id= 'link4'>"+ this.getUserProperty("server4_baseurl")  
+"</a></div>" +
+                                                                  "<div><a  
href='#' id= 'link5'>"+ this.getUserProperty("server5_baseurl")  
+"</a></div>";
+
+            var link_server1 = document.getElementById('link1');
+            var link_server2 = document.getElementById('link2');
+            var link_server3 = document.getElementById('link3');
+            var link_server4 = document.getElementById('link4');
+            var link_server5 = document.getElementById('link5');
+
+
+            link_server1_arg = this.getUserProperty("server1_baseurl");
+            link_server1.onclick =  
AjxCallback.simpleClosure(this.get_session,this,this.getUserProperty("server1_baseurl"));
+
+            link_server2_arg = this.getUserProperty("server2_baseurl");
+            link_server2.onclick =  
AjxCallback.simpleClosure(this.get_session,this,this.getUserProperty("server2_baseurl"));
+
+            link_server3_arg = this.getUserProperty("server3_baseurl");
+            link_server3.onclick =  
AjxCallback.simpleClosure(this.get_session,this,this.getUserProperty("server3_baseurl"));
+
+            link_server4_arg = this.getUserProperty("server4_baseurl");
+            link_server4.onclick =  
AjxCallback.simpleClosure(this.get_session,this,this.getUserProperty("server4_baseurl"));
+
+            link_server5_arg = this.getUserProperty("server5_baseurl");
+            link_server5.onclick =  
AjxCallback.simpleClosure(this.get_session,this,this.getUserProperty("server5_baseurl"));
+
+
+
+            this.profile_select_Dlg = this._createDialog({title:"Select  
Profile", view:this._profile_parentView, standardButtons :  
[DwtDialog.OK_BUTTON]});
+            this.profile_select_Dlg.popup();
+    }
+
+
+
+//Openmeetings dialog box
+com_zimbra_om.prototype._displayDialog =
+	function(){
+
+			this._parentView = new DwtListView({parent:this.getShell(),  
noMaximize:false});
+            this._parentView.setSize("500","400");
+            this._parentView.getHtmlElement().style.overflow = "auto";
+            this._parentView.setPosition(DwtControl.RELATIVE_STYLE);
+
+            this.username_text = new DwtText({parent:this._parentView,  
name: "username_text", id:"username_text"});
+            this.username_text.setText("Username:");
+            this.username_text.setPosition(DwtControl.ABSOLUTE_STYLE);
+            this.username_text.setLocation(20,20);
+
+            this.username_box = new DwtInputField  
({parent:this._parentView, name:"username_box", id:"username_box"});
+            this.username_box.setPosition(DwtControl.ABSOLUTE_STYLE);
+            this.username_box.setLocation(150,20);
+
+            this.room_id_text = new DwtText ({parent:this._parentView,  
name:"room_id_text", id:"room_id_text"});
+            this.room_id_text.setText("Room Id:");
+            this.room_id_text.setPosition(DwtControl.ABSOLUTE_STYLE);
+            this.room_id_text.setLocation(20,50);
+
+            this.room_id = new DwtInputField({parent:this._parentView,  
name:"room_id" , id:"room_id"});
+            this.room_id.setPosition(DwtControl.ABSOLUTE_STYLE);
+            this.room_id.setLocation(150,50);
+
+            this.add_room_button = new DwtButton({parent:this._parentView,  
name: "add_room_button", id: "add_room_button"});
+            this.add_room_button.addSelectionListener(new  
AjxListener(this,this.add_room_button_listener));
+            this.add_room_button.setText("Create Room");
+            this.add_room_button.setPosition(DwtControl.ABSOLUTE_STYLE);
+            this.add_room_button.setLocation(300,50);
+
+            this.password_check_box = new  
DwtCheckbox({parent:this._parentView, name: "password_checkbox",  
id:"password_checkbox"});
+            this.password_check_box.setText("isPasswordProtected");
+            this.password_check_box.setPosition(DwtControl.ABSOLUTE_STYLE);
+            this.password_check_box.setLocation(20,80);
+
+            this.password_text = new DwtText({parent:this._parentView,  
name:"text_password", id:"text_password"});
+            this.password_text.setText("Invitation password:");
+            this.password_text.setPosition(DwtControl.ABSOLUTE_STYLE);
+            this.password_text.setLocation(20,110);
+
+            this.password_box = new  
DwtInputField({parent:this._parentView, name: "password_box",  
id:"password_box"});
+            this.password_box.setPosition(DwtControl.ABSOLUTE_STYLE);
+            this.password_box.setLocation(150,110);
+
+            this.hash_value_text = new DwtText({parent:this._parentView,  
name: "hash_value_text", id:"hash_value_text"});
+            this.hash_value_text.setText("Validity:");
+            this.hash_value_text.setPosition(DwtControl.ABSOLUTE_STYLE);
+            this.hash_value_text.setLocation(20,140);
+
+            this.checkbox1 = new DwtCheckbox({parent:this._parentView,  
name: "endless", id: "endless"});
+            this.checkbox1.setText("endless");
+            this.checkbox1.setPosition(DwtControl.ABSOLUTE_STYLE);
+            this.checkbox1.setLocation(20,170);
+
+            this.checkbox2 = new DwtCheckbox({parent:this._parentView,  
name: "from_to_time", id: "from_to_time"});
+            this.checkbox2.setText("from to time");
+            this.checkbox2.setPosition(DwtControl.ABSOLUTE_STYLE);
+            this.checkbox2.setLocation(120,170);
+
+            this.checkbox3 = new DwtCheckbox({parent:this._parentView,  
name: "one_time", id: "one_time"})
+            this.checkbox3.setText("one time");
+            this.checkbox3.setPosition(DwtControl.ABSOLUTE_STYLE);
+            this.checkbox3.setLocation(220,170);
+
+            this.meeting_time = new DwtText({parent:this._parentView,  
name:"meeting_time_text", id:"meeting_time_text"});
+            this.meeting_time.setText("Start Timing");
+            this.meeting_time.setPosition(DwtControl.ABSOLUTE_STYLE);
+            this.meeting_time.setLocation(20,200);
+
+
+            this.meeting_start_date_time = new DwtText  
({parent:this._parentView, name:"meeting_start_date_text",  
id:"meeting_start_date_text"});
+            this.meeting_start_date_time.setText("Date:");
+             
this.meeting_start_date_time.setPosition(DwtControl.ABSOLUTE_STYLE);
+            this.meeting_start_date_time.setLocation(20,230);
+
+            this.meeting_start_date_box = new  
DwtInputField({parent:this._parentView, name:"meeting_start_date_box",  
id:"meeting_start_date_box"});
+             
this.meeting_start_date_box.setPosition(DwtControl.ABSOLUTE_STYLE);
+            this.meeting_start_date_box.setLocation(150,230);
+
+            this.meeting_start_date_calendar_button = new  
DwtButton({parent:this._parentView,  
name: "meeting_start_date_calendar_button",  
id: "meeting_start_date_calendar_button"});
+             
this.meeting_start_date_calendar_button.addSelectionListener(new  
AjxListener(this, this.calendar_popup_startdate));
+            this.meeting_start_date_calendar_button.setText("select date");
+             
this.meeting_start_date_calendar_button.setPosition(DwtControl.ABSOLUTE_STYLE);
+            this.meeting_start_date_calendar_button.setLocation(300,230);
+
+            this.meeting_start_time_text = new DwtText  
({parent:this._parentView, name:"meeting_start_time_text",  
id:"meeting_start_time_text"});
+            this.meeting_start_time_text.setText("Time (hh:mm):");
+             
this.meeting_start_time_text.setPosition(DwtControl.ABSOLUTE_STYLE);
+            this.meeting_start_time_text.setLocation(20,260);
+
+            this.meeting_start_time_box = new DwtInputField  
({parent:this._parentView, name:"meeting_start_time_box",  
id:"meeting_start_time_box"});
+             
this.meeting_start_time_box.setPosition(DwtControl.ABSOLUTE_STYLE);
+            this.meeting_start_time_box.setLocation(150,260);
+
+            this.meeting_end_date_text = new DwtText  
({parent:this._parentView, name:"meeting_end_date_text",  
id:"meeting_end_date_text"});
+            this.meeting_end_date_text.setText("End Timing:");
+             
this.meeting_end_date_text.setPosition(DwtControl.ABSOLUTE_STYLE);
+            this.meeting_end_date_text.setLocation(20,290);
+
+            this.meeting_end_date = new DwtText ({parent:this._parentView,  
name:"meeting_end_date", id:"meeting_end_date"});
+            this.meeting_end_date.setText("Date:");
+            this.meeting_end_date.setPosition(DwtControl.ABSOLUTE_STYLE);
+            this.meeting_end_date.setLocation(20,310);
+
+            this.meeting_end_date_box = new DwtInputField  
({parent:this._parentView, name: "meeting_end_date_box",  
id:"meeting_end_date_box"});
+             
this.meeting_end_date_box.setPosition(DwtControl.ABSOLUTE_STYLE);
+            this.meeting_end_date_box.setLocation(150,310);
+
+            this.meeting_end_date_calendar_button = new  
DwtButton({parent:this._parentView,  
name: "meeting_end_date_calendar_button",  
id: "meeting_end_date_calendar_button"});
+            this.meeting_end_date_calendar_button.addSelectionListener(new  
AjxListener(this, this.calendar_popup_enddate));
+            this.meeting_end_date_calendar_button.setText("Select Date");
+             
this.meeting_end_date_calendar_button.setPosition(DwtControl.ABSOLUTE_STYLE);
+            this.meeting_end_date_calendar_button.setLocation(300,310);
+
+            this.meeting_end_time_text = new DwtText  
({parent:this._parentView, name:"meeting_end_time_text",  
id: "meeting_end_time_text"});
+            this.meeting_end_time_text.setText("Time(hh:mm):");
+             
this.meeting_end_time_text.setPosition(DwtControl.ABSOLUTE_STYLE);
+            this.meeting_end_time_text.setLocation(20,340);
+
+            this.meeting_end_time_box = new DwtInputField  
({parent:this._parentView, name:"meeting_end_time_box",  
id:"meeting_end_time_box"});
+             
this.meeting_end_time_box.setPosition(DwtControl.ABSOLUTE_STYLE);
+            this.meeting_end_time_box.setLocation(150,340);
+
+ 			this.omDlg = this._createDialog({title:"Openmeetings",  
view:this._parentView, standardButtons : [DwtDialog.OK_BUTTON]});
+			this.omDlg.setButtonListener(DwtDialog.OK_BUTTON, new AjxListener(this,  
this.generateHash));
+			this.omDlg.popup();
+				};
+
+
+com_zimbra_om.prototype.getURL =
+    function (service, func, o) {
+        var result = this.getUserProperty("server1_baseurl") + "services/"  
+ service + "/" + func + "/?";
+        if (o) {
+            for (var key in o)
+            {
+                result += "&" + key + "=" + (o[key]);
+            }
+        }
+        return (result);
+    };
+
+//get invitation hash request
+com_zimbra_om.prototype.generateHash=
+			function(){
+
+                var username = this.username_box.getValue();
+                var room_id = this.room_id.getValue();
+
+                if (this.password_check_box.isSelected()==1){
+                    isPasswordProtected =1;
+                }
+                else {
+                    isPasswordProtected =0;
+                }
+
+                var invitationpass = this.password_box.getValue();
+
+                if (this.checkbox1.isSelected() == 1){
+                    valid = 1;
+                    validFromDate = "";
+                    validFromTime = "";
+                    validToDate = "";
+                    validToTime = "";
+                }
+                else if (this.checkbox2.isSelected() == 1){
+                    valid = 2;
+                    validFromDate = this.meeting_start_date_box.getValue();
+                    validFromTime = this.meeting_start_time_box.getValue();
+                    validToDate = this.meeting_end_date_box.getValue();
+                    validToTime = this.meeting_end_time_box.getValue();
+                }
+                else if (this.checkbox3.isSelected() == 1){
+                    valid =3;
+                    validFromDate = "";
+                    validFromTime = "";
+                    validToDate = "";
+                    validToTime = "";
+                }
+
+
+com_zimbra_om.prototype.date_format=
+            function(str){
+                var month;
+                str_arr = str.split(" ");
+                date = str_arr[2];
+                year = str_arr[3];
+                switch (str_arr[1]){
+                    case "Jan":
+                        month = 1;
+                        break;
+                    case "Feb":
+                        month = 2;
+                        break;
+                    case "Mar":
+                        month = 3;
+                        break;
+                    case "Apr":
+                        month = 4;
+                        break;
+                    case "May":
+                        month = 5;
+                        break;
+                    case "Jun":
+                        month = 6;
+                        break;
+                    case "Jul":
+                        month = 7;
+                        break;
+                    case "Aug":
+                        month = 8;
+                        break;
+                    case "Sep":
+                        month = 9;
+                        break;
+                    case "Oct":
+                        month = 10;
+                        break;
+                    case "Nov":
+                        month = 11;
+                        break;
+                    case "Dec":
+                        month = 12;
+                        break;
+                }
+                return (date+"."+ month +"."+year);
+            }
+
+                var request_url =  
this.getURL("RoomService", "getInvitationHash",{SID:new_sid,  
username:username, room_id: room_id,  
isPasswordProtected:isPasswordProtected,  
invitationpass:invitationpass,valid:valid,  
validFromDate:this.date_format(validFromDate),  
validFromTime:validFromTime,validToDate:this.date_format(validToDate),validToTime:validToTime});
+				var url = ZmZimletBase.PROXY +  
AjxStringUtil.urlComponentEncode(request_url);
+				AjxRpc.invoke(null , url, null , new AjxCallback(this,  
this.generateHash_responseHandler), true);
+		}
+
+
+//getinvitationHash response handler
+com_zimbra_om.prototype.generateHash_responseHandler =
+			function(response){
+				try{
+					 invitationHash =response.xml.getElementsByTagName("ns:return"),  
new_invitationHash = [].map.call( sid, function(node){
+                        return node.textContent || node.innerText || "";
+                    }).join("");
+					} catch(e){
+							this._showErrorMsg(e);
+						}
+				var invitation_url = selected_server + '?invitationHash=' +  
new_invitationHash ;
+                msg = "Timing: \n" + "Start Timing:" +  validFromDate  
+ "  " + validFromTime + "\n" + "End Timing:" + validToDate + " " +  
validToTime + "\n" + invitation_url;
+				this.new_message(msg);
+			}
+
+//getSession Request
+com_zimbra_om.prototype.get_session=
+			function(str){
+                    if (str == this.getUserProperty("server1_baseurl")){
+                        selected_server =  
this.getUserProperty("server1_baseurl");
+                        selected_username =  
this.getUserProperty("server1_username");
+                        selected_password =  
this.getUserProperty("server1_password");
+                    }
+                    else if (str ==  
this.getUserProperty("server2_baseurl")){
+                        selected_server =  
this.getUserProperty("server2_baseurl");
+                        selected_username =  
this.getUserProperty("server2_username");
+                        selected_password =  
this.getUserProperty("server2_password");
+                    }
+                    else if (str ==  
this.getUserProperty("server3_baseurl")){
+                        selected_server =  
this.getUserProperty("server3_baseurl");
+                        selected_username =  
this.getUserProperty("server3_username");
+                        selected_password =  
this.getUserProperty("server3_password");
+                    }
+                    else if (str ==  
this.getUserProperty("server4_baseurl")){
+                        selected_server =  
this.getUserProperty("server4_baseurl");
+                        selected_username =  
this.getUserProperty("server4_username");
+                        selected_password =  
this.getUserProperty("server4_password");
+                    }
+                    else if (str ==  
this.getUserProperty("server5_baseurl")){
+                        selected_server =  
this.getUserProperty("server5_baseurl");
+                        selected_username =  
this.getUserProperty("server5_username");
+                        selected_password =  
this.getUserProperty("server5_password");
+                    }
+
+
+                get_session_url = this.getURL  
("UserService", "getSession");
+                  //  get_session_url = str  
+ 'services/UserService/getSession';
+
+					var url = ZmZimletBase.PROXY +  
AjxStringUtil.urlComponentEncode(get_session_url);
+                AjxRpc.invoke(null, url, null , new AjxCallback(this,  
this._responseHandler) , true);
+				};
+
+
+//getSession request response Handler
+com_zimbra_om.prototype._responseHandler=
+		function(response){
+				try{
+					sid =response.xml.getElementsByTagName("ax24:session_id"),new_sid =  
[].map.call( sid, function(node){
+                        return node.textContent || node.innerText || "";
+                    }).join("");
+
+
+                    this.login_user();
+					}catch(e){
+							this._showErrorMsg(e);
+							}
+        };
+
+
+//loginUser request
+com_zimbra_om.prototype.login_user = function(){
+                var url = this.getURL ("UserService", "loginUser" ,  
{SID:new_sid, username: selected_username, userpass:selected_password});
+                var request_url = ZmZimletBase.PROXY +  
AjxStringUtil.urlComponentEncode(url);
+
+                AjxRpc.invoke(null, request_url, null , new  
AjxCallback(this, this._reponseHandler1), true);
+                this._displayDialog();
+        };
+
+
+//loginUser request response Handler
+com_zimbra_om.prototype._responseHandler1=
+				function(response){
+								//will have to check if the returned value is positive or  
negative. if negative show the  error message.
+								try{
+									var errorid= response.getElementsByTagName("return");
+                                    this.get_rooms();
+									}catch(e){
+										this._showErrorMsg(e);
+											}
+								if (errorid < 0){
+										this._notlogged(errorid);
+									}
+						};
+
+
+//getErrorByCode request
+com_zimbra_om.prototype._notlogged = function (errorid){
+
+				var language_id = 1;
+
+                var url = this.getURL  
("UserService","getErrorByCode",{SID:new_sid,  
errorid:errorid,language_id:1});
+                var request_url = ZmZimletBase.PROXY +  
AjxStringUtil.urlComponentEncode(url);
+                AjxRpc.invoke(null, request_url, null , new  
AjxCallback(this, this._reponseHandler2), true);
+								};
+
+
+//getErrorByCode request response Handler
+com_zimbra_om.prototype._responseHandler2=
+				function(postCallback, response){
+							// show the error message
+							try {
+								var msg = response.xml.getElementById("errmessage");
+								this._showErrorMsg(msg);
+								}catch(e){
+									this._showErrorMsg(e);
+									}
+						};
+
+
+//Response on failure
+com_zimbra_om.prototype._showErrorMsg =
+		function(msg){
+				var msgDialog=appCtxt.getMsgDialog();
+				msgDialog.reset();
+				msgDialog.setMessage(msg,DwtMessageDialog.CRITICAL_STYLE);
+				msgDialog.popup();
+		};
+
+//Error message
+com_zimbra_om.prototype._showErrorMsg =
+    function(msg) {
+        var msgDialog = appCtxt.getMsgDialog();//get a message dialog
+        msgDialog.reset(); // clean up earlier message
+        msgDialog.setMessage(msg, DwtMessageDialog.CRITICAL_STYLE); //set  
new message
+        msgDialog.popup();//display the dialog
+    };
+
+// Open new mail message
+com_zimbra_om.prototype.new_message =
+    function (msg) {
+        var composeController = AjxDispatcher.run("GetComposeController");
+        if (composeController) {
+            var appCtxt = window.top.appCtxt;
+            var zmApp = appCtxt.getApp();
+            var newWindow = zmApp != null ? (zmApp._inNewWindow ? true :  
false) : true;
+            var params = {action:ZmOperation.NEW_MESSAGE,  
inNewWindow:newWindow,
+                toOverride:null, subjOverride:null, extraBodyText:msg,  
callback:null}
+            composeController.doAction(params); // opens asynchronously  
the window.
+            this.displayStatusMessage("Trying to open a new message  
dialog. Please wait ...");
+        }
+    }
=======================================
--- /dev/null
+++ /trunk/zimbra/ivy.xml	Sun Nov 25 16:43:29 2012
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   Licensed under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+ -->
+<ivy-module version="2.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
+	<info organisation="apache" module="openmeetings" />
+	<configurations defaultconfmapping="default">
+		<conf name="default" />
+	</configurations>
+	<dependencies>
+		<dependency org="org.apache.rat" name="apache-rat-core" rev="0.8"  
transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="org.apache.rat" name="apache-rat-tasks" rev="0.8"  
transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="commons-cli" name="commons-cli" rev="1.2"  
transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="commons-io" name="commons-io" rev="2.1"  
transitive="false">
+			<include type="jar" />
+		</dependency>
+		<dependency org="org.apache.commons" name="commons-collections"  
rev="3.2.1">
+			<include type="jar" />
+		</dependency>
+		<dependency org="commons-lang" name="commons-lang" rev="2.6"  
transitive="false">
+			<include type="jar" />
+		</dependency>
+	</dependencies>
+</ivy-module>
+
=======================================
--- /dev/null
+++ /trunk/zimbra/ivysettings.xml	Sun Nov 25 16:43:29 2012
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+   Licensed under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+ -->
+<ivysettings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:noNamespaceSchemaLocation="ivysettings.xsd">
+	<settings defaultResolver="chain"/>
+	<resolvers>
+		<chain name="chain">
+			<ibiblio name="central" m2compatible="true"/>
+		</chain>
+	</resolvers>
+</ivysettings>
+
=======================================
--- /dev/null
+++ /trunk/zimbra/ivysettings.xsd	Sun Nov 25 16:43:29 2012
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+
+-->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"  
elementFormDefault="qualified">
+  <xs:element name="ivysettings">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="settings"/>
+        <xs:element ref="resolvers"/>
+        <xs:element ref="triggers"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="settings">
+    <xs:complexType>
+      <xs:attribute name="defaultResolver" use="required"  
type="xs:NCName"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="resolvers">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="chain"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="chain">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element maxOccurs="unbounded" ref="ibiblio"/>
+        <xs:element maxOccurs="unbounded" ref="url"/>
+      </xs:sequence>
+      <xs:attribute name="name" use="required" type="xs:NCName"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ibiblio">
+    <xs:complexType>
+      <xs:attribute name="m2compatible" use="required" type="xs:boolean"/>
+      <xs:attribute name="name" use="required" type="xs:NCName"/>
+      <xs:attribute name="root" type="xs:anyURI"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="url">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element maxOccurs="unbounded" ref="artifact"/>
+      </xs:sequence>
+      <xs:attribute name="name" use="required" type="xs:NCName"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="artifact">
+    <xs:complexType>
+      <xs:attribute name="pattern" use="required"/>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="triggers">
+    <xs:complexType>
+      <xs:sequence>
+        <xs:element ref="ant-call"/>
+      </xs:sequence>
+    </xs:complexType>
+  </xs:element>
+  <xs:element name="ant-call">
+    <xs:complexType>
+      <xs:attribute name="event" use="required" type="xs:NCName"/>
+      <xs:attribute name="filter" use="required"/>
+      <xs:attribute name="prefix" use="required" type="xs:NCName"/>
+      <xs:attribute name="target" use="required" type="xs:NMTOKEN"/>
+    </xs:complexType>
+  </xs:element>
+</xs:schema>

Mime
View raw message