Otherwise, just use the Simple type.<br><br><div class="gmail_quote">On Tue, Jul 24, 2012 at 2:41 AM, Lincoln Baxter, III <span dir="ltr">&lt;<a href="mailto:lincolnbaxter@gmail.com" target="_blank">lincolnbaxter@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">It&#39;s 2:40 am here, so I&#39;ll read and comment more fully tomorrow, but Types should only be fully qualified if there is an existing import that conflicts with the FQN of the type that was added to the source file. Hopefully that makes sense :)<span class="HOEnZb"><font color="#888888"><br>

<br>~Lincoln</font></span><div class="HOEnZb"><div class="h5"><br><br><div class="gmail_quote">On Mon, Jul 23, 2012 at 6:38 PM, Ivan St. Ivanov <span dir="ltr">&lt;<a href="mailto:ivan.st.ivanov@gmail.com" target="_blank">ivan.st.ivanov@gmail.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Sure :-)<div><br></div><div>But not today, as I&#39;m a bit sleepy (it&#39;s nearly 2am here in Bulgaria). :-)</div><div>

<div><div><br><div class="gmail_quote">On Tue, Jul 24, 2012 at 1:35 AM, George Gastaldi <span dir="ltr">&lt;<a href="mailto:gegastaldi@gmail.com" target="_blank">gegastaldi@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Right, that could work.<br>
Fancy a pull request ? Test included please ! :)<br>
<div><div><br>
2012/7/23 Ivan St. Ivanov &lt;<a href="mailto:ivan.st.ivanov@gmail.com" target="_blank">ivan.st.ivanov@gmail.com</a>&gt;:<br>
&gt; Maybe something like:<br>
&gt;<br>
&gt; private boolean fieldNeedsFQN(String typeName)<br>
&gt;     String simpleName = Types.toSimpleName(typeName);<br>
&gt;     // This works both with simple as well as with qualified names<br>
&gt;     Import import = getOrigin().getImport(simpleName);<br>
&gt;     if (import != null &amp;&amp; !import.getQualifiedName().equals(typeName)) {<br>
&gt;         return true;<br>
&gt;     }<br>
&gt;     return false;<br>
&gt; }<br>
&gt;<br>
&gt; On Tue, Jul 24, 2012 at 1:14 AM, George Gastaldi &lt;<a href="mailto:gegastaldi@gmail.com" target="_blank">gegastaldi@gmail.com</a>&gt;<br>
&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; Hi Ivan,<br>
&gt;&gt;<br>
&gt;&gt; Yeah, I have to agree with you, this is something that should be<br>
&gt;&gt; improved. I also don&#39;t like having FQN in field declarations.<br>
&gt;&gt; But, figuring it out how to avoid name clashes may be harder to<br>
&gt;&gt; implement than using this strategy.<br>
&gt;&gt;<br>
&gt;&gt; Regards,<br>
&gt;&gt;<br>
&gt;&gt; George Gastaldi<br>
&gt;&gt;<br>
&gt;&gt; 2012/7/23 Ivan St. Ivanov &lt;<a href="mailto:ivan.st.ivanov@gmail.com" target="_blank">ivan.st.ivanov@gmail.com</a>&gt;:<br>
&gt;&gt; &gt; Hi George,<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Yes, I realized that. So it&#39;s up to us to decide which option we take:<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; 1) It is safe to have the fully qualified name in the field<br>
&gt;&gt; &gt; declarations,<br>
&gt;&gt; &gt; but it is kinda ugly<br>
&gt;&gt; &gt; 2) Declaring the fields with non fully qualified names looks natural<br>
&gt;&gt; &gt; (all of<br>
&gt;&gt; &gt; us use this style), but it may produce class name clashes in one out of<br>
&gt;&gt; &gt; 1000<br>
&gt;&gt; &gt; or more cases. E.g. adding java.util.Date and java.sql.Date to a class.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; I don&#39;t mind to keep it in the current way. But when I show the<br>
&gt;&gt; &gt; generated<br>
&gt;&gt; &gt; classes to the people, they might get the feeling that something does<br>
&gt;&gt; &gt; not<br>
&gt;&gt; &gt; look like in their IDEs.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Regards,<br>
&gt;&gt; &gt; Ivan<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; On Tue, Jul 24, 2012 at 12:46 AM, George Gastaldi &lt;<a href="mailto:gegastaldi@gmail.com" target="_blank">gegastaldi@gmail.com</a>&gt;<br>
&gt;&gt; &gt; wrote:<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Hi Ivan,<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Using the fully qualified name avoids class name conflicts, so it is<br>
&gt;&gt; &gt;&gt; much safer to use than to rely on imports only.<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Regards,<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; George Gastaldi<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; 2012/7/23 Ivan St. Ivanov &lt;<a href="mailto:ivan.st.ivanov@gmail.com" target="_blank">ivan.st.ivanov@gmail.com</a>&gt;:<br>
&gt;&gt; &gt;&gt; &gt; Hi Lincoln,<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; I&#39;m hacking now a solution. Something like:<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; if (Types.isArray(simpleName))<br>
&gt;&gt; &gt;&gt; &gt; {<br>
&gt;&gt; &gt;&gt; &gt;     Name name = ast.newSimpleName(Types.stripArray(simpleName));<br>
&gt;&gt; &gt;&gt; &gt;     Type typeOfArray = ast.newSimpleType(name);<br>
&gt;&gt; &gt;&gt; &gt;     type = ast.newArrayType(typeNoArray);<br>
&gt;&gt; &gt;&gt; &gt; }<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; I&#39;m just trying to find the most suitable place of the above snippet<br>
&gt;&gt; &gt;&gt; &gt; in<br>
&gt;&gt; &gt;&gt; &gt; the<br>
&gt;&gt; &gt;&gt; &gt; setType method. Maybe I&#39;ll do some refactoring of the existing code.<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;  I noticed also that the code inside:<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;       if (!Strings.areEqual(typeName, simpleName) &amp;&amp; requiresImport)<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; ...should also be touched to support arrays.<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; BTW, we have the same issue with generic types as well. So I&#39;m<br>
&gt;&gt; &gt;&gt; &gt; looking<br>
&gt;&gt; &gt;&gt; &gt; into<br>
&gt;&gt; &gt;&gt; &gt; them too.<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; Cheers,<br>
&gt;&gt; &gt;&gt; &gt; Ivan<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; P.S. Don&#39;t you think that we should have the simple name (e.g. File)<br>
&gt;&gt; &gt;&gt; &gt; in<br>
&gt;&gt; &gt;&gt; &gt; the<br>
&gt;&gt; &gt;&gt; &gt; field declaration instead of the whole type:<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; right now it is:<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; import java.io.File;<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; public class Test {<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;    private java.io.File file;<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; }<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; On Mon, Jul 23, 2012 at 5:53 PM, Lincoln Baxter, III<br>
&gt;&gt; &gt;&gt; &gt; &lt;<a href="mailto:lincolnbaxter@gmail.com" target="_blank">lincolnbaxter@gmail.com</a>&gt; wrote:<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; Hey Ivan!<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; You&#39;re correct, the JDT probably doesn&#39;t have a convenient method<br>
&gt;&gt; &gt;&gt; &gt;&gt; for<br>
&gt;&gt; &gt;&gt; &gt;&gt; this<br>
&gt;&gt; &gt;&gt; &gt;&gt; (it doesn&#39;t have much that is convenient,) but what are your<br>
&gt;&gt; &gt;&gt; &gt;&gt; proposed<br>
&gt;&gt; &gt;&gt; &gt;&gt; changes?<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; ~Lincoln<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; On Sat, Jul 21, 2012 at 4:04 PM, Ivan St. Ivanov<br>
&gt;&gt; &gt;&gt; &gt;&gt; &lt;<a href="mailto:ivan.st.ivanov@gmail.com" target="_blank">ivan.st.ivanov@gmail.com</a>&gt; wrote:<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; Hi folks,<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; I wonder is it possible to add a field to a JavaClass and to set an<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; array<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; as its type. The setType(String) method does not support arrays yet<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; and I<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; don&#39;t want to use the other two variants of this method (taking<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; Class<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; and<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; JavaResource parameters).<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; I looked at the mentioned method (setType(String)). And found a<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; suitable<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; place where I could add the support for arrays. However, I&#39;m afraid<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; that<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; JDT&#39;s AST class does not have a convenient newArray....() method.<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; Or maybe I&#39;m missing something?<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; Cheers,<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; Ivan<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; _______________________________________________<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; forge-dev mailing list<br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; <a href="mailto:forge-dev@lists.jboss.org" target="_blank">forge-dev@lists.jboss.org</a><br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/forge-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/forge-dev</a><br>
&gt;&gt; &gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; --<br>
&gt;&gt; &gt;&gt; &gt;&gt; Lincoln Baxter, III<br>
&gt;&gt; &gt;&gt; &gt;&gt; <a href="http://ocpsoft.org" target="_blank">http://ocpsoft.org</a><br>
&gt;&gt; &gt;&gt; &gt;&gt; &quot;Simpler is better.&quot;<br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;&gt; _______________________________________________<br>
&gt;&gt; &gt;&gt; &gt;&gt; forge-dev mailing list<br>
&gt;&gt; &gt;&gt; &gt;&gt; <a href="mailto:forge-dev@lists.jboss.org" target="_blank">forge-dev@lists.jboss.org</a><br>
&gt;&gt; &gt;&gt; &gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/forge-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/forge-dev</a><br>
&gt;&gt; &gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt; _______________________________________________<br>
&gt;&gt; &gt;&gt; &gt; forge-dev mailing list<br>
&gt;&gt; &gt;&gt; &gt; <a href="mailto:forge-dev@lists.jboss.org" target="_blank">forge-dev@lists.jboss.org</a><br>
&gt;&gt; &gt;&gt; &gt; <a href="https://lists.jboss.org/mailman/listinfo/forge-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/forge-dev</a><br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; _______________________________________________<br>
&gt;&gt; &gt;&gt; forge-dev mailing list<br>
&gt;&gt; &gt;&gt; <a href="mailto:forge-dev@lists.jboss.org" target="_blank">forge-dev@lists.jboss.org</a><br>
&gt;&gt; &gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/forge-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/forge-dev</a><br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; _______________________________________________<br>
&gt;&gt; &gt; forge-dev mailing list<br>
&gt;&gt; &gt; <a href="mailto:forge-dev@lists.jboss.org" target="_blank">forge-dev@lists.jboss.org</a><br>
&gt;&gt; &gt; <a href="https://lists.jboss.org/mailman/listinfo/forge-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/forge-dev</a><br>
&gt;&gt; &gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; forge-dev mailing list<br>
&gt;&gt; <a href="mailto:forge-dev@lists.jboss.org" target="_blank">forge-dev@lists.jboss.org</a><br>
&gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/forge-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/forge-dev</a><br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; forge-dev mailing list<br>
&gt; <a href="mailto:forge-dev@lists.jboss.org" target="_blank">forge-dev@lists.jboss.org</a><br>
&gt; <a href="https://lists.jboss.org/mailman/listinfo/forge-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/forge-dev</a><br>
&gt;<br>
_______________________________________________<br>
forge-dev mailing list<br>
<a href="mailto:forge-dev@lists.jboss.org" target="_blank">forge-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/forge-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/forge-dev</a><br>
</div></div></blockquote></div><br></div>
</div></div><br>_______________________________________________<br>
forge-dev mailing list<br>
<a href="mailto:forge-dev@lists.jboss.org" target="_blank">forge-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/forge-dev" target="_blank">https://lists.jboss.org/mailman/listinfo/forge-dev</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br>Lincoln Baxter, III<br><a href="http://ocpsoft.org" target="_blank">http://ocpsoft.org</a><br>&quot;Simpler is better.&quot;<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Lincoln Baxter, III<br><a href="http://ocpsoft.org" target="_blank">http://ocpsoft.org</a><br>&quot;Simpler is better.&quot;<br>