

<form method="POST">

<div id="maincontent">
<div id="midcolumn">
<h1>IP Log for modeling.gmp.gmf-notation</h1>

<h2>Licenses</h2>
	<ul>
			<li>Eclipse Public License v1.0</li>
		</ul>

<h2>Third-Party Code</h2>

<h3>Pre-Req Dependencies</h3><table border="1" cellpadding="3" cellspacing="0" width="100%"><tr><th bordercolor="#7A79A7" bgcolor="#7A79A7">CQ</th><th bordercolor="#7A79A7" bgcolor="#7A79A7">Third-Party Code</th><th bordercolor="#7A79A7" bgcolor="#7A79A7">License</th><th bordercolor="#7A79A7" bgcolor="#7A79A7">Use</th></tr><tr><td align="right" width="5%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4091">4091</a></td><td width="55%">Junit Version: 3.8.1 (PB CQ296) (PB CQ2271)</td><td width="20%">Common Public License</td><td width="20%"></td></tr><tr><td align="right" width="5%"><a href="https://dev.eclipse.org/ipzilla/show_bug.cgi?id=4095">4095</a></td><td width="55%">org.apache.ant 1.6.5 (PB CQ1768) (PB CQ2266)</td><td width="20%">Apache License, 2.0</td><td width="20%"></td></tr></table><h3>Exempt Pre-Req and Works With Dependencies</h3><p><em>No Exempt Pre-Req or Works With dependencies</em></p><h2>Committers</h2>


<table border="1" cellpadding="3" cellspacing="0">
<tr><th colspan="3" bordercolor="#7A79A7" bgcolor="#7A79A7">Past and Present Active</th></tr>
<tr><th bordercolor="#7A79A7" bgcolor="#7A79A7">Name</th>
<th bordercolor="#7A79A7" bgcolor="#7A79A7">Organization</th>
<th bordercolor="#7A79A7" bgcolor="#7A79A7">&nbsp;</th>
</tr>
<tr>
	<td>Alex Boyko</td>
	<td>IBM </td>
		<td></td>
		</tr>
	<tr>
	<td>Lidija Grahek</td>
	<td>IBM </td>
		<td></td>
		</tr>
	<tr>
	<td>Anthony Hunter</td>
	<td>IBM </td>
		<td></td>
		</tr>
	</table>
<p>
<h2>Contributors and Their Contributions</h2>
<table border="1" cellpadding="3" cellspacing="0">
<tr>
<th bordercolor="#7A79A7" bgcolor="#7A79A7">Ref</th>
<th bordercolor="#7A79A7" bgcolor="#7A79A7">Size</th>
<th bordercolor="#7A79A7" bgcolor="#7A79A7">Description</th>
</tr>
<tr><td colspan="3" style="background-color: #DDDDDD">Alex&nbsp;Boyko (ca.ibm.com)</td>
		</tr>
	<tr>
		<td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=266004">266004</a></td>
		<td>12000 bytes</td>
		<td>[NotationModel] DiagramLink#diagramLink and MultiDiagramLink#diagramLinks should resolve proxies<br/>2.1.3 compatible patch</td>
				</tr>
	<tr>
		<td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=266045">266045</a></td>
		<td>2764 bytes</td>
		<td>[NotationModel] BasicDecorationNodeImpl should return ELIsts implementing InternalEList<br/>proposed patch</td>
				</tr>
	<tr>
		<td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=304898">304898</a></td>
		<td>2539 bytes</td>
		<td>[NotationModel] RelativeBendpoinsImpl must derive from MinimalEObjectImpl.Container<br/>patch</td>
				</tr>
	<tr><td colspan="3" style="background-color: #DDDDDD">Chris&nbsp;McGee (ca.ibm.com)</td>
		</tr>
	<tr>
		<td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=132879">132879</a></td>
		<td>5551 bytes</td>
		<td>The Notation Metamodel should change the way that it registers its older namespace URIs<br/>Proposed patch to fix the problem.</td>
				</tr>
	<tr><td colspan="3" style="background-color: #DDDDDD">Radomil&nbsp;Dvorak (gmail.com)</td>
		</tr>
	<tr>
		<td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=130220">130220</a></td>
		<td>1372 bytes</td>
		<td>notation.genmodel specifies incorrect Model Plug-in ID<br/>Patched notation.genmodel</td>
				</tr>
	<tr><td colspan="3" style="background-color: #DDDDDD">Steven&nbsp;R.&nbsp;Shaw (ca.ibm.com)</td>
		</tr>
	<tr>
		<td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=116224">116224</a></td>
		<td>221740 bytes</td>
		<td>Notation meta-model support for coordinate systems<br/>Patch for GMF containing notation meta-model coordinate system support</td>
				</tr>
	<tr><td colspan="3" style="background-color: #DDDDDD">Yasser&nbsp;Lulu (ca.ibm.com)</td>
		</tr>
	<tr>
		<td><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=141061">141061</a></td>
		<td>256507 bytes</td>
		<td>Performance: Notation metamodel can reduce its memory usage<br/>Regenerate NotationMetamodel to use newer EMF</td>
				</tr>
	</table>
<h2>Repositories</h2>
<p>The information contained in this log was generated by using commit information from the following repositories:</p>
<div style='padding-left: 2em'>/cvsroot/org.eclipse/www/modeling/gmp</div>
<div style='padding-left: 2em'>/cvsroot/modeling/org.eclipse.gmp/org.eclipse.gmf.notation</div>
<p>
</div><!-- midcolumn -->
</div><!-- maincontent -->

