<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>RepositoryServiceMutabilityTest xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../testapidocs/org/apache/chemistry/opencmis/inmemory/RepositoryServiceMutabilityTest.html">View Javadoc</a></div><pre>

<a class="jxr_linenumber" name="1" href="#1">1</a>   <em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="2" href="#2">2</a>   <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one</em>
<a class="jxr_linenumber" name="3" href="#3">3</a>   <em class="jxr_comment"> * or more contributor license agreements.  See the NOTICE file</em>
<a class="jxr_linenumber" name="4" href="#4">4</a>   <em class="jxr_comment"> * distributed with this work for additional information</em>
<a class="jxr_linenumber" name="5" href="#5">5</a>   <em class="jxr_comment"> * regarding copyright ownership.  The ASF licenses this file</em>
<a class="jxr_linenumber" name="6" href="#6">6</a>   <em class="jxr_comment"> * to you under the Apache License, Version 2.0 (the</em>
<a class="jxr_linenumber" name="7" href="#7">7</a>   <em class="jxr_comment"> * "License"); you may not use this file except in compliance</em>
<a class="jxr_linenumber" name="8" href="#8">8</a>   <em class="jxr_comment"> * with the License.  You may obtain a copy of the License at</em>
<a class="jxr_linenumber" name="9" href="#9">9</a>   <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="10" href="#10">10</a>  <em class="jxr_comment"> * <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em>
<a class="jxr_linenumber" name="11" href="#11">11</a>  <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="12" href="#12">12</a>  <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing,</em>
<a class="jxr_linenumber" name="13" href="#13">13</a>  <em class="jxr_comment"> * software distributed under the License is distributed on an</em>
<a class="jxr_linenumber" name="14" href="#14">14</a>  <em class="jxr_comment"> * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</em>
<a class="jxr_linenumber" name="15" href="#15">15</a>  <em class="jxr_comment"> * KIND, either express or implied.  See the License for the</em>
<a class="jxr_linenumber" name="16" href="#16">16</a>  <em class="jxr_comment"> * specific language governing permissions and limitations</em>
<a class="jxr_linenumber" name="17" href="#17">17</a>  <em class="jxr_comment"> * under the License.</em>
<a class="jxr_linenumber" name="18" href="#18">18</a>  <em class="jxr_comment"> */</em>
<a class="jxr_linenumber" name="19" href="#19">19</a>  <strong class="jxr_keyword">package</strong> org.apache.chemistry.opencmis.inmemory;
<a class="jxr_linenumber" name="20" href="#20">20</a>  
<a class="jxr_linenumber" name="21" href="#21">21</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.junit.Assert.assertEquals;
<a class="jxr_linenumber" name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.junit.Assert.assertFalse;
<a class="jxr_linenumber" name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.junit.Assert.assertNotNull;
<a class="jxr_linenumber" name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.junit.Assert.assertTrue;
<a class="jxr_linenumber" name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.junit.Assert.fail;
<a class="jxr_linenumber" name="26" href="#26">26</a>  
<a class="jxr_linenumber" name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> java.util.HashMap;
<a class="jxr_linenumber" name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> java.util.List;
<a class="jxr_linenumber" name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> java.util.Map;
<a class="jxr_linenumber" name="30" href="#30">30</a>  
<a class="jxr_linenumber" name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.data.ContentStream;
<a class="jxr_linenumber" name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.data.ExtensionsData;
<a class="jxr_linenumber" name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.data.Properties;
<a class="jxr_linenumber" name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.data.RepositoryInfo;
<a class="jxr_linenumber" name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.definitions.DocumentTypeDefinition;
<a class="jxr_linenumber" name="36" href="#36">36</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.definitions.MutableDocumentTypeDefinition;
<a class="jxr_linenumber" name="37" href="#37">37</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.definitions.TypeDefinition;
<a class="jxr_linenumber" name="38" href="#38">38</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.enums.BaseTypeId;
<a class="jxr_linenumber" name="39" href="#39">39</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.enums.Updatability;
<a class="jxr_linenumber" name="40" href="#40">40</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.enums.VersioningState;
<a class="jxr_linenumber" name="41" href="#41">41</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.exceptions.CmisInvalidArgumentException;
<a class="jxr_linenumber" name="42" href="#42">42</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.exceptions.CmisNotSupportedException;
<a class="jxr_linenumber" name="43" href="#43">43</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException;
<a class="jxr_linenumber" name="44" href="#44">44</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.PropertyIntegerDefinitionImpl;
<a class="jxr_linenumber" name="45" href="#45">45</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.commons.impl.dataobjects.PropertyStringDefinitionImpl;
<a class="jxr_linenumber" name="46" href="#46">46</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.inmemory.server.InMemoryServiceFactoryImpl;
<a class="jxr_linenumber" name="47" href="#47">47</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.inmemory.types.DocumentTypeCreationHelper;
<a class="jxr_linenumber" name="48" href="#48">48</a>  <strong class="jxr_keyword">import</strong> org.apache.chemistry.opencmis.inmemory.types.PropertyCreationHelper;
<a class="jxr_linenumber" name="49" href="#49">49</a>  <strong class="jxr_keyword">import</strong> org.junit.After;
<a class="jxr_linenumber" name="50" href="#50">50</a>  <strong class="jxr_keyword">import</strong> org.junit.Before;
<a class="jxr_linenumber" name="51" href="#51">51</a>  <strong class="jxr_keyword">import</strong> org.junit.Test;
<a class="jxr_linenumber" name="52" href="#52">52</a>  <strong class="jxr_keyword">import</strong> org.slf4j.Logger;
<a class="jxr_linenumber" name="53" href="#53">53</a>  <strong class="jxr_keyword">import</strong> org.slf4j.LoggerFactory;
<a class="jxr_linenumber" name="54" href="#54">54</a>  
<a class="jxr_linenumber" name="55" href="#55">55</a>  <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="56" href="#56">56</a>  <em class="jxr_javadoccomment"> * Temporary test class until CMIS 1.1 bindings are completed. Until then we use</em>
<a class="jxr_linenumber" name="57" href="#57">57</a>  <em class="jxr_javadoccomment"> * a special setup procedure to directly connect to the repository service</em>
<a class="jxr_linenumber" name="58" href="#58">58</a>  <em class="jxr_javadoccomment"> * implementation of InMemory.</em>
<a class="jxr_linenumber" name="59" href="#59">59</a>  <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="60" href="#60">60</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/chemistry/opencmis/inmemory/RepositoryServiceMutabilityTest.html">RepositoryServiceMutabilityTest</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../../org/apache/chemistry/opencmis/inmemory/AbstractServiceTest.html">AbstractServiceTest</a> {
<a class="jxr_linenumber" name="61" href="#61">61</a>  
<a class="jxr_linenumber" name="62" href="#62">62</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Logger log = LoggerFactory.getLogger(RepositoryServiceTest.<strong class="jxr_keyword">class</strong>);
<a class="jxr_linenumber" name="63" href="#63">63</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String REPOSITORY_ID = <span class="jxr_string">"UnitTestRepository"</span>;
<a class="jxr_linenumber" name="64" href="#64">64</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String TYPE_ID_MUTABILITY = <span class="jxr_string">"BookTypeAddedLater"</span>;
<a class="jxr_linenumber" name="65" href="#65">65</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String PROPERTY_ID_TITLE = <span class="jxr_string">"Title"</span>;
<a class="jxr_linenumber" name="66" href="#66">66</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String PROPERTY_ID_NUMBER = <span class="jxr_string">"Number"</span>;
<a class="jxr_linenumber" name="67" href="#67">67</a>  
<a class="jxr_linenumber" name="68" href="#68">68</a>      @Override
<a class="jxr_linenumber" name="69" href="#69">69</a>      @Before
<a class="jxr_linenumber" name="70" href="#70">70</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setUp() {
<a class="jxr_linenumber" name="71" href="#71">71</a>          <strong class="jxr_keyword">super</strong>.setTypeCreatorClass(UnitTestTypeSystemCreator.<strong class="jxr_keyword">class</strong>.getName());
<a class="jxr_linenumber" name="72" href="#72">72</a>          <strong class="jxr_keyword">super</strong>.setUp();
<a class="jxr_linenumber" name="73" href="#73">73</a>  
<a class="jxr_linenumber" name="74" href="#74">74</a>          Map&lt;String, String&gt; parameters = <strong class="jxr_keyword">new</strong> HashMap&lt;String, String&gt;();
<a class="jxr_linenumber" name="75" href="#75">75</a>  
<a class="jxr_linenumber" name="76" href="#76">76</a>          <em class="jxr_comment">// attach repository info to the session:</em>
<a class="jxr_linenumber" name="77" href="#77">77</a>          parameters.put(ConfigConstants.TYPE_CREATOR_CLASS, getTypeCreatorClass());
<a class="jxr_linenumber" name="78" href="#78">78</a>          parameters.put(ConfigConstants.REPOSITORY_ID, REPOSITORY_ID);
<a class="jxr_linenumber" name="79" href="#79">79</a>  
<a class="jxr_linenumber" name="80" href="#80">80</a>          InMemoryServiceFactoryImpl factory = <strong class="jxr_keyword">new</strong> InMemoryServiceFactoryImpl();
<a class="jxr_linenumber" name="81" href="#81">81</a>          factory.init(parameters);
<a class="jxr_linenumber" name="82" href="#82">82</a>      }
<a class="jxr_linenumber" name="83" href="#83">83</a>  
<a class="jxr_linenumber" name="84" href="#84">84</a>      @Override
<a class="jxr_linenumber" name="85" href="#85">85</a>      @After
<a class="jxr_linenumber" name="86" href="#86">86</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> tearDown() {
<a class="jxr_linenumber" name="87" href="#87">87</a>          <strong class="jxr_keyword">super</strong>.tearDown();
<a class="jxr_linenumber" name="88" href="#88">88</a>      }
<a class="jxr_linenumber" name="89" href="#89">89</a>  
<a class="jxr_linenumber" name="90" href="#90">90</a>      <em class="jxr_comment">// This test is just added because this test class uses a different setup to</em>
<a class="jxr_linenumber" name="91" href="#91">91</a>      <em class="jxr_comment">// connect to the</em>
<a class="jxr_linenumber" name="92" href="#92">92</a>      <em class="jxr_comment">// server as long as the server bindings do not support the type mutability</em>
<a class="jxr_linenumber" name="93" href="#93">93</a>      <em class="jxr_comment">// extension of</em>
<a class="jxr_linenumber" name="94" href="#94">94</a>      <em class="jxr_comment">// CMIS 1.1. If this test fails then the setUp() fails!</em>
<a class="jxr_linenumber" name="95" href="#95">95</a>      @Test
<a class="jxr_linenumber" name="96" href="#96">96</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testRepositoryInfo() {
<a class="jxr_linenumber" name="97" href="#97">97</a>          log.info(<span class="jxr_string">"starting testRepositoryInfo() ..."</span>);
<a class="jxr_linenumber" name="98" href="#98">98</a>          List&lt;RepositoryInfo&gt; repositories = fRepSvc.getRepositoryInfos(<strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="99" href="#99">99</a>          assertNotNull(repositories);
<a class="jxr_linenumber" name="100" href="#100">100</a>         assertFalse(repositories.isEmpty());
<a class="jxr_linenumber" name="101" href="#101">101</a> 
<a class="jxr_linenumber" name="102" href="#102">102</a>         log.info(<span class="jxr_string">"geRepositoryInfo(), found "</span> + repositories.size() + <span class="jxr_string">" repository/repositories)."</span>);
<a class="jxr_linenumber" name="103" href="#103">103</a> 
<a class="jxr_linenumber" name="104" href="#104">104</a>         <strong class="jxr_keyword">for</strong> (RepositoryInfo repository : repositories) {
<a class="jxr_linenumber" name="105" href="#105">105</a>             RepositoryInfo repository2 = fRepSvc.getRepositoryInfo(repository.getId(), <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="106" href="#106">106</a>             assertNotNull(repository2);
<a class="jxr_linenumber" name="107" href="#107">107</a>             assertEquals(repository.getId(), repository2.getId());
<a class="jxr_linenumber" name="108" href="#108">108</a>             log.info(<span class="jxr_string">"found repository"</span> + repository2.getId());
<a class="jxr_linenumber" name="109" href="#109">109</a>         }
<a class="jxr_linenumber" name="110" href="#110">110</a> 
<a class="jxr_linenumber" name="111" href="#111">111</a>         log.info(<span class="jxr_string">"... testRepositoryInfo() finished."</span>);
<a class="jxr_linenumber" name="112" href="#112">112</a>     }
<a class="jxr_linenumber" name="113" href="#113">113</a> 
<a class="jxr_linenumber" name="114" href="#114">114</a>     @Test
<a class="jxr_linenumber" name="115" href="#115">115</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTypeMutabilityCreation() <strong class="jxr_keyword">throws</strong> Exception {
<a class="jxr_linenumber" name="116" href="#116">116</a>         log.info(<span class="jxr_string">""</span>);
<a class="jxr_linenumber" name="117" href="#117">117</a>         log.info(<span class="jxr_string">"starting testTypeMutabilityCreation() ..."</span>);
<a class="jxr_linenumber" name="118" href="#118">118</a>         TypeDefinition typeDefRef = createTypeForAddingAtRuntime();
<a class="jxr_linenumber" name="119" href="#119">119</a>         String repositoryId = getRepositoryId();
<a class="jxr_linenumber" name="120" href="#120">120</a>         <em class="jxr_comment">// add type.</em>
<a class="jxr_linenumber" name="121" href="#121">121</a>         fRepSvc.createType(repositoryId, typeDefRef, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="122" href="#122">122</a>         TypeDefinition type = fRepSvc.getTypeDefinition(repositoryId, typeDefRef.getId(), <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="123" href="#123">123</a>         assertEquals(typeDefRef.getId(), type.getId());
<a class="jxr_linenumber" name="124" href="#124">124</a>         assertEquals(typeDefRef.getDescription(), type.getDescription());
<a class="jxr_linenumber" name="125" href="#125">125</a>         assertEquals(typeDefRef.getDisplayName(), type.getDisplayName());
<a class="jxr_linenumber" name="126" href="#126">126</a>         assertEquals(typeDefRef.getLocalName(), type.getLocalName());
<a class="jxr_linenumber" name="127" href="#127">127</a>         assertEquals(typeDefRef.getLocalNamespace(), type.getLocalNamespace());
<a class="jxr_linenumber" name="128" href="#128">128</a>         RepositoryServiceTest.containsAllBasePropertyDefinitions(type);
<a class="jxr_linenumber" name="129" href="#129">129</a>         log.info(<span class="jxr_string">"... testTypeMutabilityCreation() finished."</span>);
<a class="jxr_linenumber" name="130" href="#130">130</a>     }
<a class="jxr_linenumber" name="131" href="#131">131</a> 
<a class="jxr_linenumber" name="132" href="#132">132</a>     @Test
<a class="jxr_linenumber" name="133" href="#133">133</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTypeMutabilityCreateDuplicate() <strong class="jxr_keyword">throws</strong> Exception {
<a class="jxr_linenumber" name="134" href="#134">134</a>         log.info(<span class="jxr_string">""</span>);
<a class="jxr_linenumber" name="135" href="#135">135</a>         log.info(<span class="jxr_string">"starting testTypeMutabilityCreateDuplicate() ..."</span>);
<a class="jxr_linenumber" name="136" href="#136">136</a>         TypeDefinition typeDefRef = createTypeForAddingAtRuntime();
<a class="jxr_linenumber" name="137" href="#137">137</a>         String repositoryId = getRepositoryId();
<a class="jxr_linenumber" name="138" href="#138">138</a>         <em class="jxr_comment">// add type.</em>
<a class="jxr_linenumber" name="139" href="#139">139</a>         fRepSvc.createType(repositoryId, typeDefRef, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="140" href="#140">140</a>         <em class="jxr_comment">// add type again should fail</em>
<a class="jxr_linenumber" name="141" href="#141">141</a>         checkAddingType(repositoryId, typeDefRef, CmisInvalidArgumentException.<strong class="jxr_keyword">class</strong>);
<a class="jxr_linenumber" name="142" href="#142">142</a>         <em class="jxr_comment">// type should still exist then</em>
<a class="jxr_linenumber" name="143" href="#143">143</a>         TypeDefinition type = fRepSvc.getTypeDefinition(repositoryId, typeDefRef.getId(), <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="144" href="#144">144</a>         assertEquals(typeDefRef.getId(), type.getId());
<a class="jxr_linenumber" name="145" href="#145">145</a>         log.info(<span class="jxr_string">"... testTypeMutabilityCreateDuplicate() finished."</span>);
<a class="jxr_linenumber" name="146" href="#146">146</a>     }
<a class="jxr_linenumber" name="147" href="#147">147</a> 
<a class="jxr_linenumber" name="148" href="#148">148</a>     @Test
<a class="jxr_linenumber" name="149" href="#149">149</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTypeMutabilityTypeNameConstraints() <strong class="jxr_keyword">throws</strong> Exception {
<a class="jxr_linenumber" name="150" href="#150">150</a>         log.info(<span class="jxr_string">"starting testTypeMutabilityTypeNameConstraints() ..."</span>);
<a class="jxr_linenumber" name="151" href="#151">151</a> 
<a class="jxr_linenumber" name="152" href="#152">152</a>         String repositoryId = getRepositoryId();
<a class="jxr_linenumber" name="153" href="#153">153</a> 
<a class="jxr_linenumber" name="154" href="#154">154</a>         <em class="jxr_comment">// test illegal type id</em>
<a class="jxr_linenumber" name="155" href="#155">155</a>         MutableDocumentTypeDefinition typeDefRef = createTypeForAddingAtRuntime();
<a class="jxr_linenumber" name="156" href="#156">156</a>         typeDefRef.setId(typeDefRef.getId() + <span class="jxr_string">"!!!"</span>);
<a class="jxr_linenumber" name="157" href="#157">157</a>         TypeDefinition typeDefNew = fRepSvc.createType(repositoryId, typeDefRef, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="158" href="#158">158</a>         assertEquals(TYPE_ID_MUTABILITY + <span class="jxr_string">"___"</span>, typeDefNew.getId());
<a class="jxr_linenumber" name="159" href="#159">159</a>         fRepSvc.deleteType(repositoryId, TYPE_ID_MUTABILITY + <span class="jxr_string">"___"</span>, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="160" href="#160">160</a> 
<a class="jxr_linenumber" name="161" href="#161">161</a>         <em class="jxr_comment">// test illegal parent type id</em>
<a class="jxr_linenumber" name="162" href="#162">162</a>         typeDefRef = createTypeForAddingAtRuntime();
<a class="jxr_linenumber" name="163" href="#163">163</a>         typeDefRef.setParentTypeId(<span class="jxr_string">"NonExistingParentType"</span>);
<a class="jxr_linenumber" name="164" href="#164">164</a>         checkAddingType(repositoryId, typeDefRef, CmisInvalidArgumentException.<strong class="jxr_keyword">class</strong>);
<a class="jxr_linenumber" name="165" href="#165">165</a> 
<a class="jxr_linenumber" name="166" href="#166">166</a>         <em class="jxr_comment">// test null type id</em>
<a class="jxr_linenumber" name="167" href="#167">167</a>         typeDefRef = createTypeForAddingAtRuntime();
<a class="jxr_linenumber" name="168" href="#168">168</a>         typeDefRef.setId(<strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="169" href="#169">169</a>         typeDefNew = fRepSvc.createType(repositoryId, typeDefRef, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="170" href="#170">170</a>         assertTrue(<strong class="jxr_keyword">null</strong> != typeDefNew.getId() &amp;&amp; typeDefNew.getId().length() &gt; 0);
<a class="jxr_linenumber" name="171" href="#171">171</a>         fRepSvc.deleteType(repositoryId, typeDefNew.getId(), <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="172" href="#172">172</a> 
<a class="jxr_linenumber" name="173" href="#173">173</a>         <em class="jxr_comment">// test null query name</em>
<a class="jxr_linenumber" name="174" href="#174">174</a>         typeDefRef = createTypeForAddingAtRuntime();
<a class="jxr_linenumber" name="175" href="#175">175</a>         typeDefRef.setQueryName(<strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="176" href="#176">176</a>         typeDefNew = fRepSvc.createType(repositoryId, typeDefRef, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="177" href="#177">177</a>         assertEquals(TYPE_ID_MUTABILITY, typeDefNew.getQueryName());
<a class="jxr_linenumber" name="178" href="#178">178</a>         fRepSvc.deleteType(repositoryId, TYPE_ID_MUTABILITY, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="179" href="#179">179</a> 
<a class="jxr_linenumber" name="180" href="#180">180</a>         <em class="jxr_comment">// test illegal query name</em>
<a class="jxr_linenumber" name="181" href="#181">181</a>         typeDefRef = createTypeForAddingAtRuntime();
<a class="jxr_linenumber" name="182" href="#182">182</a>         typeDefRef.setQueryName(typeDefRef.getQueryName() + <span class="jxr_string">"!!!"</span>);
<a class="jxr_linenumber" name="183" href="#183">183</a>         typeDefNew = fRepSvc.createType(repositoryId, typeDefRef, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="184" href="#184">184</a>         assertEquals(TYPE_ID_MUTABILITY, typeDefNew.getQueryName());
<a class="jxr_linenumber" name="185" href="#185">185</a>         fRepSvc.deleteType(repositoryId, TYPE_ID_MUTABILITY, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="186" href="#186">186</a> 
<a class="jxr_linenumber" name="187" href="#187">187</a>         <em class="jxr_comment">// test null local name</em>
<a class="jxr_linenumber" name="188" href="#188">188</a>         typeDefRef = createTypeForAddingAtRuntime();
<a class="jxr_linenumber" name="189" href="#189">189</a>         typeDefRef.setLocalName(<strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="190" href="#190">190</a>         assertEquals(TYPE_ID_MUTABILITY, typeDefNew.getLocalName());
<a class="jxr_linenumber" name="191" href="#191">191</a>         typeDefNew = fRepSvc.createType(repositoryId, typeDefRef, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="192" href="#192">192</a>         fRepSvc.deleteType(repositoryId, TYPE_ID_MUTABILITY, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="193" href="#193">193</a> 
<a class="jxr_linenumber" name="194" href="#194">194</a>         <em class="jxr_comment">// test illegal local name</em>
<a class="jxr_linenumber" name="195" href="#195">195</a>         typeDefRef = createTypeForAddingAtRuntime();
<a class="jxr_linenumber" name="196" href="#196">196</a>         typeDefRef.setLocalName(typeDefRef.getLocalName() + <span class="jxr_string">"!!!"</span>);
<a class="jxr_linenumber" name="197" href="#197">197</a>         assertEquals(TYPE_ID_MUTABILITY, typeDefNew.getLocalName());
<a class="jxr_linenumber" name="198" href="#198">198</a>         typeDefNew = fRepSvc.createType(repositoryId, typeDefRef, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="199" href="#199">199</a>         fRepSvc.deleteType(repositoryId, TYPE_ID_MUTABILITY, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="200" href="#200">200</a> 
<a class="jxr_linenumber" name="201" href="#201">201</a>         log.info(<span class="jxr_string">"... testTypeMutabilityTypeNameConstraints() finished."</span>);
<a class="jxr_linenumber" name="202" href="#202">202</a>     }
<a class="jxr_linenumber" name="203" href="#203">203</a> 
<a class="jxr_linenumber" name="204" href="#204">204</a>     @Test
<a class="jxr_linenumber" name="205" href="#205">205</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTypeMutabilityPropertyNameConstraints() <strong class="jxr_keyword">throws</strong> Exception {
<a class="jxr_linenumber" name="206" href="#206">206</a>         log.info(<span class="jxr_string">"starting testTypeMutabilityPropertyNameConstraints() ..."</span>);
<a class="jxr_linenumber" name="207" href="#207">207</a> 
<a class="jxr_linenumber" name="208" href="#208">208</a>         String repositoryId = getRepositoryId();
<a class="jxr_linenumber" name="209" href="#209">209</a> 
<a class="jxr_linenumber" name="210" href="#210">210</a>         <em class="jxr_comment">// test null property id</em>
<a class="jxr_linenumber" name="211" href="#211">211</a>         DocumentTypeDefinition typeDef = createTypeForAddingAtRuntime();
<a class="jxr_linenumber" name="212" href="#212">212</a>         PropertyStringDefinitionImpl pd = getPropertyDefinitionImpl(typeDef);
<a class="jxr_linenumber" name="213" href="#213">213</a>         pd.setId(<strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="214" href="#214">214</a>         checkAddingType(repositoryId, typeDef, CmisInvalidArgumentException.<strong class="jxr_keyword">class</strong>);
<a class="jxr_linenumber" name="215" href="#215">215</a> 
<a class="jxr_linenumber" name="216" href="#216">216</a>         <em class="jxr_comment">// test illegal property id</em>
<a class="jxr_linenumber" name="217" href="#217">217</a>         typeDef = createTypeForAddingAtRuntime();
<a class="jxr_linenumber" name="218" href="#218">218</a>         pd = getPropertyDefinitionImpl(typeDef);
<a class="jxr_linenumber" name="219" href="#219">219</a>         pd.setQueryName(pd.getQueryName() + <span class="jxr_string">"!*!"</span>);
<a class="jxr_linenumber" name="220" href="#220">220</a>         checkAddingType(repositoryId, typeDef, CmisInvalidArgumentException.<strong class="jxr_keyword">class</strong>);
<a class="jxr_linenumber" name="221" href="#221">221</a> 
<a class="jxr_linenumber" name="222" href="#222">222</a>         <em class="jxr_comment">// test null property query name</em>
<a class="jxr_linenumber" name="223" href="#223">223</a>         typeDef = createTypeForAddingAtRuntime();
<a class="jxr_linenumber" name="224" href="#224">224</a>         pd = getPropertyDefinitionImpl(typeDef);
<a class="jxr_linenumber" name="225" href="#225">225</a>         pd.setQueryName(<strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="226" href="#226">226</a>         checkAddingType(repositoryId, typeDef, CmisInvalidArgumentException.<strong class="jxr_keyword">class</strong>);
<a class="jxr_linenumber" name="227" href="#227">227</a> 
<a class="jxr_linenumber" name="228" href="#228">228</a>         <em class="jxr_comment">// test illegal property query name</em>
<a class="jxr_linenumber" name="229" href="#229">229</a>         typeDef = createTypeForAddingAtRuntime();
<a class="jxr_linenumber" name="230" href="#230">230</a>         pd = getPropertyDefinitionImpl(typeDef);
<a class="jxr_linenumber" name="231" href="#231">231</a>         pd.setQueryName(pd.getQueryName() + <span class="jxr_string">"!!!"</span>);
<a class="jxr_linenumber" name="232" href="#232">232</a>         checkAddingType(repositoryId, typeDef, CmisInvalidArgumentException.<strong class="jxr_keyword">class</strong>);
<a class="jxr_linenumber" name="233" href="#233">233</a> 
<a class="jxr_linenumber" name="234" href="#234">234</a>         <em class="jxr_comment">// test null property local name</em>
<a class="jxr_linenumber" name="235" href="#235">235</a>         typeDef = createTypeForAddingAtRuntime();
<a class="jxr_linenumber" name="236" href="#236">236</a>         pd = getPropertyDefinitionImpl(typeDef);
<a class="jxr_linenumber" name="237" href="#237">237</a>         pd.setLocalName(<strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="238" href="#238">238</a>         checkAddingType(repositoryId, typeDef, CmisInvalidArgumentException.<strong class="jxr_keyword">class</strong>);
<a class="jxr_linenumber" name="239" href="#239">239</a> 
<a class="jxr_linenumber" name="240" href="#240">240</a>         <em class="jxr_comment">// test illegal property local name</em>
<a class="jxr_linenumber" name="241" href="#241">241</a>         typeDef = createTypeForAddingAtRuntime();
<a class="jxr_linenumber" name="242" href="#242">242</a>         pd = getPropertyDefinitionImpl(typeDef);
<a class="jxr_linenumber" name="243" href="#243">243</a>         pd.setLocalName(typeDef.getLocalName() + <span class="jxr_string">"!!!"</span>);
<a class="jxr_linenumber" name="244" href="#244">244</a>         checkAddingType(repositoryId, typeDef, CmisInvalidArgumentException.<strong class="jxr_keyword">class</strong>);
<a class="jxr_linenumber" name="245" href="#245">245</a> 
<a class="jxr_linenumber" name="246" href="#246">246</a>         log.info(<span class="jxr_string">"... testTypeMutabilityPropertyNameConstraints() finished."</span>);
<a class="jxr_linenumber" name="247" href="#247">247</a>     }
<a class="jxr_linenumber" name="248" href="#248">248</a> 
<a class="jxr_linenumber" name="249" href="#249">249</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> checkAddingType(String repositoryId, TypeDefinition typeDef, Class&lt;? <strong class="jxr_keyword">extends</strong> Exception&gt; clazz) {
<a class="jxr_linenumber" name="250" href="#250">250</a>         <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="251" href="#251">251</a>             fRepSvc.createType(repositoryId, typeDef, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="252" href="#252">252</a>             fail(<span class="jxr_string">"Illegal type should throw a "</span> + clazz.getName());
<a class="jxr_linenumber" name="253" href="#253">253</a>         } <strong class="jxr_keyword">catch</strong> (RuntimeException e) {
<a class="jxr_linenumber" name="254" href="#254">254</a>             assertTrue(<span class="jxr_string">"Illegal type name threw wrong exception type (should be a "</span> + clazz.getName() + <span class="jxr_string">")"</span>,
<a class="jxr_linenumber" name="255" href="#255">255</a>                     clazz.isInstance(e));
<a class="jxr_linenumber" name="256" href="#256">256</a>         }
<a class="jxr_linenumber" name="257" href="#257">257</a>     }
<a class="jxr_linenumber" name="258" href="#258">258</a> 
<a class="jxr_linenumber" name="259" href="#259">259</a>     @Test
<a class="jxr_linenumber" name="260" href="#260">260</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTypeMutabilityUpdate() <strong class="jxr_keyword">throws</strong> Exception {
<a class="jxr_linenumber" name="261" href="#261">261</a>         log.info(<span class="jxr_string">""</span>);
<a class="jxr_linenumber" name="262" href="#262">262</a>         log.info(<span class="jxr_string">"starting testTypeMutabilityUpdate() ..."</span>);
<a class="jxr_linenumber" name="263" href="#263">263</a>         TypeDefinition typeDefRef = createTypeForAddingAtRuntime();
<a class="jxr_linenumber" name="264" href="#264">264</a>         String repositoryId = getRepositoryId();
<a class="jxr_linenumber" name="265" href="#265">265</a>         fRepSvc.createType(repositoryId, typeDefRef, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="266" href="#266">266</a>         <em class="jxr_comment">// update type.</em>
<a class="jxr_linenumber" name="267" href="#267">267</a>         <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="268" href="#268">268</a>             fRepSvc.updateType(repositoryId, typeDefRef, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="269" href="#269">269</a>             fail(<span class="jxr_string">"updating a type should throw exception."</span>);
<a class="jxr_linenumber" name="270" href="#270">270</a>         } <strong class="jxr_keyword">catch</strong> (Exception e) {
<a class="jxr_linenumber" name="271" href="#271">271</a>             assertTrue(e instanceof CmisNotSupportedException);
<a class="jxr_linenumber" name="272" href="#272">272</a>         }
<a class="jxr_linenumber" name="273" href="#273">273</a>         log.info(<span class="jxr_string">"... testTypeMutabilityUpdate() finished."</span>);
<a class="jxr_linenumber" name="274" href="#274">274</a>     }
<a class="jxr_linenumber" name="275" href="#275">275</a> 
<a class="jxr_linenumber" name="276" href="#276">276</a>     @Test
<a class="jxr_linenumber" name="277" href="#277">277</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTypeMutabilityDeletion() <strong class="jxr_keyword">throws</strong> Exception {
<a class="jxr_linenumber" name="278" href="#278">278</a>         log.info(<span class="jxr_string">""</span>);
<a class="jxr_linenumber" name="279" href="#279">279</a>         log.info(<span class="jxr_string">"starting testTypeMutabilityDeletion() ..."</span>);
<a class="jxr_linenumber" name="280" href="#280">280</a>         TypeDefinition typeDefRef = createTypeForAddingAtRuntime();
<a class="jxr_linenumber" name="281" href="#281">281</a>         String repositoryId = getRepositoryId();
<a class="jxr_linenumber" name="282" href="#282">282</a>         fRepSvc.createType(repositoryId, typeDefRef, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="283" href="#283">283</a> 
<a class="jxr_linenumber" name="284" href="#284">284</a>         String docId = createDoc(<span class="jxr_string">"Book1"</span>, getRootFolderId(REPOSITORY_ID), TYPE_ID_MUTABILITY);
<a class="jxr_linenumber" name="285" href="#285">285</a> 
<a class="jxr_linenumber" name="286" href="#286">286</a>         <em class="jxr_comment">// try deleting type, should fail, because in use.</em>
<a class="jxr_linenumber" name="287" href="#287">287</a>         <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="288" href="#288">288</a>             fRepSvc.deleteType(repositoryId, TYPE_ID_MUTABILITY, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="289" href="#289">289</a>             fail(<span class="jxr_string">"deleting a type which is in use should throw exception."</span>);
<a class="jxr_linenumber" name="290" href="#290">290</a>         } <strong class="jxr_keyword">catch</strong> (Exception e) {
<a class="jxr_linenumber" name="291" href="#291">291</a>             assertTrue(e instanceof CmisInvalidArgumentException);
<a class="jxr_linenumber" name="292" href="#292">292</a>         }
<a class="jxr_linenumber" name="293" href="#293">293</a> 
<a class="jxr_linenumber" name="294" href="#294">294</a>         fObjSvc.deleteObject(fRepositoryId, docId, <strong class="jxr_keyword">true</strong>, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="295" href="#295">295</a> 
<a class="jxr_linenumber" name="296" href="#296">296</a>         <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="297" href="#297">297</a>             fRepSvc.deleteType(repositoryId, TYPE_ID_MUTABILITY, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="298" href="#298">298</a>         } <strong class="jxr_keyword">catch</strong> (Exception e) {
<a class="jxr_linenumber" name="299" href="#299">299</a>             fail(<span class="jxr_string">"deleting a type which is in not in use should not throw exception! Exception is: "</span> + e);
<a class="jxr_linenumber" name="300" href="#300">300</a>         }
<a class="jxr_linenumber" name="301" href="#301">301</a> 
<a class="jxr_linenumber" name="302" href="#302">302</a>         <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="303" href="#303">303</a>             fRepSvc.getTypeDefinition(repositoryId, TYPE_ID_MUTABILITY, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="304" href="#304">304</a>             fail(<span class="jxr_string">"getting a type after it was deleted should fail."</span>);
<a class="jxr_linenumber" name="305" href="#305">305</a>         } <strong class="jxr_keyword">catch</strong> (Exception e) {
<a class="jxr_linenumber" name="306" href="#306">306</a>         }
<a class="jxr_linenumber" name="307" href="#307">307</a> 
<a class="jxr_linenumber" name="308" href="#308">308</a>         <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="309" href="#309">309</a>             fRepSvc.deleteType(repositoryId, BaseTypeId.CMIS_DOCUMENT.value(), <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="310" href="#310">310</a>             fail(<span class="jxr_string">"deleting a CMIS base type throw exception."</span>);
<a class="jxr_linenumber" name="311" href="#311">311</a>         } <strong class="jxr_keyword">catch</strong> (Exception e) {
<a class="jxr_linenumber" name="312" href="#312">312</a>             assertTrue (e instanceof CmisInvalidArgumentException);
<a class="jxr_linenumber" name="313" href="#313">313</a>         }
<a class="jxr_linenumber" name="314" href="#314">314</a>         <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="315" href="#315">315</a>             fRepSvc.deleteType(repositoryId, BaseTypeId.CMIS_FOLDER.value(), <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="316" href="#316">316</a>             fail(<span class="jxr_string">"deleting a CMIS base type throw exception."</span>);
<a class="jxr_linenumber" name="317" href="#317">317</a>         } <strong class="jxr_keyword">catch</strong> (Exception e) {
<a class="jxr_linenumber" name="318" href="#318">318</a>             assertTrue (e instanceof CmisInvalidArgumentException);
<a class="jxr_linenumber" name="319" href="#319">319</a>         }
<a class="jxr_linenumber" name="320" href="#320">320</a> 
<a class="jxr_linenumber" name="321" href="#321">321</a>         log.info(<span class="jxr_string">"... testTypeMutabilityDeletion() finished."</span>);
<a class="jxr_linenumber" name="322" href="#322">322</a>     }
<a class="jxr_linenumber" name="323" href="#323">323</a> 
<a class="jxr_linenumber" name="324" href="#324">324</a>     <strong class="jxr_keyword">private</strong> String getRepositoryId() {
<a class="jxr_linenumber" name="325" href="#325">325</a>         List&lt;RepositoryInfo&gt; repositories = fRepSvc.getRepositoryInfos(<strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="326" href="#326">326</a>         RepositoryInfo repository = repositories.get(0);
<a class="jxr_linenumber" name="327" href="#327">327</a>         assertNotNull(repository);
<a class="jxr_linenumber" name="328" href="#328">328</a>         <strong class="jxr_keyword">return</strong> repository.getId();
<a class="jxr_linenumber" name="329" href="#329">329</a>     }
<a class="jxr_linenumber" name="330" href="#330">330</a> 
<a class="jxr_linenumber" name="331" href="#331">331</a>     <strong class="jxr_keyword">private</strong> String getRootFolderId(String repositoryId) {
<a class="jxr_linenumber" name="332" href="#332">332</a>         RepositoryInfo repository = fRepSvc.getRepositoryInfo(repositoryId, <strong class="jxr_keyword">null</strong>);
<a class="jxr_linenumber" name="333" href="#333">333</a>         assertNotNull(repository);
<a class="jxr_linenumber" name="334" href="#334">334</a>         <strong class="jxr_keyword">return</strong> repository.getRootFolderId();
<a class="jxr_linenumber" name="335" href="#335">335</a>     }
<a class="jxr_linenumber" name="336" href="#336">336</a> 
<a class="jxr_linenumber" name="337" href="#337">337</a>     <strong class="jxr_keyword">private</strong> PropertyStringDefinitionImpl getPropertyDefinitionImpl(TypeDefinition typeDef) {
<a class="jxr_linenumber" name="338" href="#338">338</a>         PropertyStringDefinitionImpl pd = (PropertyStringDefinitionImpl) typeDef.getPropertyDefinitions().get(
<a class="jxr_linenumber" name="339" href="#339">339</a>                 PROPERTY_ID_TITLE);
<a class="jxr_linenumber" name="340" href="#340">340</a>         <strong class="jxr_keyword">return</strong> pd;
<a class="jxr_linenumber" name="341" href="#341">341</a>     }
<a class="jxr_linenumber" name="342" href="#342">342</a> 
<a class="jxr_linenumber" name="343" href="#343">343</a>     <strong class="jxr_keyword">private</strong> MutableDocumentTypeDefinition createTypeForAddingAtRuntime() {
<a class="jxr_linenumber" name="344" href="#344">344</a>         <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="345" href="#345">345</a>             MutableDocumentTypeDefinition cmisLaterType;
<a class="jxr_linenumber" name="346" href="#346">346</a>             cmisLaterType = DocumentTypeCreationHelper
<a class="jxr_linenumber" name="347" href="#347">347</a>                     .createDocumentTypeDefinitionWithoutBaseProperties(DocumentTypeCreationHelper.getCmisDocumentType());
<a class="jxr_linenumber" name="348" href="#348">348</a>             cmisLaterType.setId(TYPE_ID_MUTABILITY);
<a class="jxr_linenumber" name="349" href="#349">349</a>             cmisLaterType.setDisplayName(<span class="jxr_string">"Type with two properties"</span>);
<a class="jxr_linenumber" name="350" href="#350">350</a>             cmisLaterType.setDescription(<span class="jxr_string">"Builtin InMemory type definition "</span> + TYPE_ID_MUTABILITY);
<a class="jxr_linenumber" name="351" href="#351">351</a>             cmisLaterType.setIsIncludedInSupertypeQuery(false);
<a class="jxr_linenumber" name="352" href="#352">352</a> 
<a class="jxr_linenumber" name="353" href="#353">353</a>             PropertyIntegerDefinitionImpl prop1 = PropertyCreationHelper.createIntegerDefinition(PROPERTY_ID_NUMBER,
<a class="jxr_linenumber" name="354" href="#354">354</a>                     <span class="jxr_string">"Sample Int Property"</span>, Updatability.READWRITE);
<a class="jxr_linenumber" name="355" href="#355">355</a>             cmisLaterType.addPropertyDefinition(prop1);
<a class="jxr_linenumber" name="356" href="#356">356</a> 
<a class="jxr_linenumber" name="357" href="#357">357</a>             PropertyStringDefinitionImpl prop2 = PropertyCreationHelper.createStringDefinition(PROPERTY_ID_TITLE,
<a class="jxr_linenumber" name="358" href="#358">358</a>                     <span class="jxr_string">"Sample String Property"</span>, Updatability.READWRITE);
<a class="jxr_linenumber" name="359" href="#359">359</a>             cmisLaterType.addPropertyDefinition(prop2);
<a class="jxr_linenumber" name="360" href="#360">360</a> 
<a class="jxr_linenumber" name="361" href="#361">361</a>             <strong class="jxr_keyword">return</strong> cmisLaterType;
<a class="jxr_linenumber" name="362" href="#362">362</a>         } <strong class="jxr_keyword">catch</strong> (Exception e) {
<a class="jxr_linenumber" name="363" href="#363">363</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> CmisRuntimeException(<span class="jxr_string">"Error when creating built-in InMemory types."</span>, e);
<a class="jxr_linenumber" name="364" href="#364">364</a>         }
<a class="jxr_linenumber" name="365" href="#365">365</a>     }
<a class="jxr_linenumber" name="366" href="#366">366</a> 
<a class="jxr_linenumber" name="367" href="#367">367</a>     String createDoc(String name, String folderId, String typeId) {
<a class="jxr_linenumber" name="368" href="#368">368</a>         ContentStream contentStream = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="369" href="#369">369</a>         List&lt;String&gt; policies = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="370" href="#370">370</a>         ExtensionsData extension = <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="371" href="#371">371</a> 
<a class="jxr_linenumber" name="372" href="#372">372</a>         Properties props = createDocumentProperties(name, typeId);
<a class="jxr_linenumber" name="373" href="#373">373</a> 
<a class="jxr_linenumber" name="374" href="#374">374</a>         String id = fObjSvc.createDocument(fRepositoryId, props, folderId, contentStream, VersioningState.NONE,
<a class="jxr_linenumber" name="375" href="#375">375</a>                 policies, <strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, extension);
<a class="jxr_linenumber" name="376" href="#376">376</a>         <strong class="jxr_keyword">return</strong> id;
<a class="jxr_linenumber" name="377" href="#377">377</a>     }
<a class="jxr_linenumber" name="378" href="#378">378</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

