Tools to list classes used in the project/

Hi
is there any tool that would list all the classes and packages used in my project. the tools must be something like getting input as a main class and list all the other classes used in the project. ?
-- MJ

Hi,
This forum is exclusively for discussions related to Sun Java Studio Creator. Please post your question at :
http://forum.java.sun.com/forum.jspa?forumID=54
Thanks,
RK.

Similar Messages

  • Using ms project 2007 and vba macro to list all the custom fields used in the project?

    Hi,Using ms project 2007 vba macro, I would like to be able to list all the custom fields used in the project and their corresponding field names. e.g. let us say I create a calculated duration field and name it "expected duration" and the name
    of the field I select is Duration1.
    I am trying to write a macro that will list all the used custom fields such as the result would look like:
    Duration1 ---> "expected duration"
    Text1       ---> "anything"
    Flag1        ---> "....."
    Number1  ---> "..............."
    Can anyone provide me with the solution?
    Regards,
    Chuck

    John,
    I found this module, which provides the the list of custom fields used in the project but does not provide the name given to the field. Here below is the module and hope you could help me achieve this by modifying the macro to list the renamed field.
    ' MSP Checks all Custom Task Fields
    Sub checkfields2()
    'This macro will check and report out which custom task fields are used
    'It requires Project 2002 and above as it relies on the GetField
    'and FieldNameToFieldConstant methods which were not introduced until
    '2002.
    'It does not include resource fields, however it is a simple matter to
    'do it by replacing the pjTask constant with pjResource.
    'Copyright Jack Dahlgren, Oct. 2004
    Dim mycheck As Boolean
    Dim myType, usedfields As String
    Dim t As Task
    Dim ts As Tasks
    Dim i, it As Integer
    Set ts = ActiveProject.Tasks
    usedfields = "Custom Fields used in this file" & vbCrLf
    myType = "Text"
    usedfields = usedfields & vbCrLf & "--" & UCase(myType) & "--" & vbCrLf
    For i = 1 To 30
    mycheck = False
    it = 0
    While Not mycheck And (it < ts.Count)
    it = it + 1
    If Not ts(it) Is Nothing Then
    If ts(it).GetField(FieldNameToFieldConstant(myType & i, pjtask)) <> "" Then
    usedfields = usedfields & myType & CStr(i) & vbCr
    mycheck = True
    End If
    End If
    Wend
    Next i
    myType = "Number"
    usedfields = usedfields & vbCrLf & "--" & UCase(myType) & "--" & vbCrLf
    For i = 1 To 20
    mycheck = False
    it = 0
    While Not mycheck And (it < ts.Count)
    it = it + 1
    If Not ts(it) Is Nothing Then
    If ts(it).GetField(FieldNameToFieldConstant(myType & i, pjtask)) <> 0 Then
    usedfields = usedfields & myType & CStr(i) & vbCr
    mycheck = True
    End If
    End If
    Wend
    Next i
    myType = "Duration"
    usedfields = usedfields & vbCrLf & "--" & UCase(myType) & "--" & vbCrLf
    For i = 1 To 10
    mycheck = False
    it = 0
    While Not mycheck And (it < ts.Count)
    it = it + 1
    If Not ts(it) Is Nothing Then
    If Left(ts(it).GetField(FieldNameToFieldConstant(myType & i, pjtask)), 2) <> "0 " Then
    usedfields = usedfields & myType & CStr(i) & vbCr
    mycheck = True
    End If
    End If
    Wend
    Next i
    myType = "Cost"
    usedfields = usedfields & vbCrLf & "--" & UCase(myType) & "--" & vbCrLf
    For i = 1 To 10
    mycheck = False
    it = 0
    While Not mycheck And (it < ts.Count)
    it = it + 1
    If Not ts(it) Is Nothing Then
    If ts(it).GetField(FieldNameToFieldConstant(myType & i, pjtask)) <> 0 Then
    usedfields = usedfields & myType & CStr(i) & vbCr
    mycheck = True
    End If
    End If
    Wend
    Next i
    myType = "Start"
    usedfields = usedfields & vbCrLf & "--" & UCase(myType) & "--" & vbCrLf
    For i = 1 To 10
    mycheck = False
    it = 0
    While Not mycheck And (it < ts.Count)
    it = it + 1
    If Not ts(it) Is Nothing Then
    If ts(it).GetField(FieldNameToFieldConstant(myType & i, pjtask)) <> "NA" Then
    usedfields = usedfields & myType & CStr(i) & vbCr
    mycheck = True
    End If
    End If
    Wend
    Next i
    myType = "Finish"
    usedfields = usedfields & vbCrLf & "--" & UCase(myType) & "--" & vbCrLf
    For i = 1 To 10
    mycheck = False
    it = 0
    While Not mycheck And (it < ts.Count)
    it = it + 1
    If Not ts(it) Is Nothing Then
    If ts(it).GetField(FieldNameToFieldConstant(myType & i, pjtask)) <> "NA" Then
    usedfields = usedfields & myType & CStr(i) & vbCr
    mycheck = True
    End If
    End If
    Wend
    Next i
    MsgBox usedfields
    End Sub
    This is what the module gives me. But I would like to have beside Text 1 the name that is shown as below. e.g Text1 is "Test".
    Would you mind helping me achieve this?
    Thanks in advance.
    Chuck

  • How to add class file to the project in netbean

    Hi,
    I am not sure if it is the right place to put the question. I just cannot find the way to add my existing java class file into the project in net bean.
    Anyone can help?
    Thanks a lot

    Look at the "classpath" entry on the Index tab in NB's Help. There are entries there that explain how to add existing classes and libraries to a project.

  • For all classes used in the alv reports.

    we need the list of required classes used in alv reports this urgent .
    please help me.

    Hi Navid,
    Check <b>SLIS Package/Dev.Class for node Classes</b>,
    here u will find all required <b>classes for ALV including ALV Hierarchical,AVL Tree, ALV HTML.</b>
    Classes.
    CL_ALVHT_HTMLINPUT-> ALV: HTML Input (Control Proxy)
    CL_ALVHT_HTML_PAGE-> ALV HTML Page
    CL_ALVHT_HTML_TEMPLATE-> ALV: HTML Templates
    CL_ALVHT_TAGSTREAM-> ALV
    CL_ALVHT_UI_ELEMENT-> ALV: HTML User Input Element
    CL_ALV_BDS-> BDS Access and Data Retention
    CL_ALV_CHANGED_DATA_PROTOCOL-> Message Log for Data Entry
    CL_ALV_DD_DOUBLE_LISTBOX-> Management Class for two D&D List Boxes
    CL_ALV_DD_LISTBOX-> D&D List Box
    CL_ALV_EVENT_DATA-> Changing Data Container for Events
    CL_ALV_EVENT_TOOLBAR_SET-> ALV Context Menu
    CL_ALV_GRAPHICS-> ALV Graphic (Integration with GFW)
    CL_ALV_GRAPHICS_CU-> Customizing of ALV Graphics
    CL_ALV_LISTBOX_DRAGOBJ->
    CL_ALV_OI BDS-> Access and Data Retention
    CL_ALV_TABLE_CREATE-> Dynamic Creation of ALV Data Table
    CL_ALV_TREE_BASE-> Basis Class ALV Tree Control
    CL_ALV_VARIANT-> ALV Variant Management
    CL_GUI_ALV_GRID-> ALV List Viewer
    CL_GUI_ALV_GRID_BASE-> Basis Class for ALV Grid
    CL_GUI_ALV_TREE-> ALV Tree Control
    Regards,
    Raghav
    Message was edited by:
            Raghavendra  L

  • Sharepoint 2013, MS Project 2013 - Task List not updating when the project file is changed

    Hi
    I have created a SharePoint task list and timeline from a MS Project 2013 file on my PC. I have then created a new Project file from that task list which then places the new project file in the site asset folder and provides me with a synced copy. I now
    only use the SharePoint copy of the project file in my MS Project as any change I make to the project file should be reflected in the Task list and vice-versa
    However if I add some tasks into the middle of the project with MS project, the SharePoint Task list is not updated to show these additional tasks. If I open the SharePoint task list with MS Project - from the task list toolbar - the project file shows the
    added tasks.....so the MS Project file in the site asset folder is correct  but the tasks in the SharePoint task list is not being updated
    Anyone seen this before ?
    Thanks
    Geoff

    Hi Esben,
    According to your description, the error occurred when opening the task list with the content approval enabled in Project.
    Per my knowledge, when we enable the content approval for the task list, the field named Approval Status which is required will be created in the list.
    However, if a project plan doesn’t contain a field that is required in SharePoint, the plan won’t sync.
    The error occurs because of the required field Approval Status when the content approval is enabled in the task list, so we need to add the required field as a custom field in Project.
    More information:
    Sync with a SharePoint tasks list:
    http://office.microsoft.com/en-in/project-help/sync-with-a-sharepoint-tasks-list-HA102828524.aspx
    Best regards.
    Thanks
    Victoria Xia
    TechNet Community Support

  • [JS][CS4]List fonts used in the Document

    Hi to all scripting gurus,
    I have this following script that returns a list of fonts used in the document:
    function fontused(){               var fontscoll = document.fonts;               for(var i = 0; i < fontscoll.length; i++){                       var font = fontscoll[i];                       alert(font.name);                } }
    The above is working OK my problem is that it also list the fonts used in the placed illustrator files (.eps). Is there some kind of parameter or something that i can use so that it only list the fonts used in the text?
    -CharlesD

    Charles
    Doesn't time fly?
    This will give you the idea, if when you find more exceptions add them in a likewise manner.
    The "if" statements check that tables, headers, etc. exists otherwise an error will be throw.
    Enjoy
    Trevor
    P.s. I had planned on updating the script after David highlighted the problem, just didn't get round to it.
    // Script to find fonts in documents which are not just in content pasted from illustrator file
    // By Trevor http://forums.adobe.com/message/4807396#4807396
    var   myFonts="",
            uniqueFonts = {}, n;
    if (app.documents[0].stories.everyItem().textStyleRanges.length > 0) fontsIn (app.documents[0].stories.everyItem().textStyleRanges.everyItem().appliedFont)       
    if (app.documents[0].stories.everyItem().tables.length > 0) fontsIn (app.documents[0].stories.everyItem().tables.everyItem().cells.everyItem().textStyleRanges.everyItem().appliedFont)
    if (app.documents[0].stories.everyItem().footnotes.length > 0) fontsIn (app.documents[0].stories.everyItem().footnotes.everyItem().textStyleRanges.everyItem().appliedFont)
    for (n in uniqueFonts) myFonts+=(uniqueFonts[n])+"\r";
    alert(myFonts)
    function fontsIn (item)
            var l = item.length;
            while (l--) uniqueFonts[item[l].name] = item[l].name;

  • Prepping large lists for use with the IN Operator

    We frequently have to run a query on a specific listing of comptuer names, typically using the IN Operator and ('Name1', 'Name2', etc.).
    Am looking for a way both to speed up the placing of the names into the required formatting, and to also remove the CRLF between them (they come mostly from Excel lists, so one per row) to make the code at least look neater (and spend less time typing),
    i.e.,:
    Name1
    Name2 
    Etc.      to:  ('Name1', 'Name2', 'etc.')
    Any way to automate?
    Thanks.

    We may all be going overboard suggesting better ways to do things, but to loop back around to answer your question, if you just wanted a simpler way to paste a shortish list of values into SSMS for convenient running through an IN clause...
    SSMS the front end application you use to query SQL Server supports Regular Expressions, even though (sadly) SQL Server itself doesnt.  Here's a Search and Replace that would mostly do what you want.. (This works almost perfectly, except there is one
    extra comma at the end you have to backspace to fix.  I could spend way more time figuring out how to handle the extra comma at the end, but then again, I could also NOT spend that time too.. :-)
    Start with just your pasted list, or highlight just the list itself, leave the rest unhighlighted.
    Find and Replace (or control-H)
    Find what:  Type in exactly as shown, just the highlighted part below
    {^}{.*}{\n*}
    Replace with: Type in exactly as shown, just the highlighted part on the line below
    '\2',
    Make sure "look in" is set to the appropriate thing ("selection" if you took the select text approach)
    Choose Regular Expressions via the USE checkbox at the bottom
    Click Replace All
    There's also a cache of "Most recently used find and replace strings", so the down arrow will remember the regex expression for a little while at least.
    Sadly, SSMS doesn't have savable macros, you'd have to type that in each time.  However, the investment to mess with and learn regular expressions will last a lifetime
    Other approaches I also use:
    Notepad++ and some stored macros (so paste from your source to notepad++, run the macro, then copy and paste from there to SSMS.  Notepad++ has quite a nice way to just record what you're doing, without having to worry about
    learning how their macros work.
    An embarrasingly complex spreadsheet for quick and dirty conversions to SQL formatting that I use in certain very unique situations for my own personal queries, nothing else.  Again, requires an interim step of pasting to the spreadsheet, then to SQL.
    And the disclaimer: As people here are suggesting better and more robust ways (load a table, etc.), this approach that I mentioned here here (Regular expressions via SSMS) is a "for programmer use only while using SSMS" approach, not really suitable
    for a large scale solution.  (But then again, if you're a programmer using SSMS, maybe it's just fine!)

  • IMovie mutes every song I use in the Project.

    It keeps showing an error sign on the audio file after adding it to the timeline, the volume is at 100% and the settings are just fine. What do I do?
    Look at the picture of the cat, the audio file underneath.

     
    Post in the iMovie forum area. 

  • How to get a list of file paths for all files used in a project

    I have a project in Premiere Pro CC which has a large number of bins.  A sequence in one of these bins uses files from other bins.  I am trying to find the locations of all each of the files used  in the project.
    1)  Obviously I can select each clip in the timeline and show in finder, but there a lot of clips
    2) The video usage associated with each file in the project would help.  However
               1.  I haven't found a way to display only clips that have video useage if all of the bins have not been expanded.
              2.  Video usage  shows usage for all sequences, so one would have to manually check the pull down for each file to see if it is used in the sequence in question.
    3) I tried exporting the project to final cut pro xml.  The path url gives me the information that I need.  For some reason, however, when I do the export only one clip's information is there, not the information for all of the other clips in the project.
    4) I tired an export for speedgrade and all of the file names are there.  However the paths are not. 
    Basically I want to find all of the files in the project and relocate them to a specific folder for that project.  There's got to be a way to do this but I'm not seeing it ....

    Thanks for the suggestion concerning the file path.  And certainly it would have been nice to have done this before beginning.  However this is a project that has been around for quite a while, and the files have been moved into different bins.  And now the project sequence is being revised.
    So the problem is, worded slightly differently, how can I search all of the bins for the files that are used just by this sequence, ignoring the files which are used by other sequences?  Or, how can I get a list of the file paths of the files that are used in the sequence?

  • Wrong classes output directory when use of dependant projects

    Hi,
    JDev 10.1.2.1 but also in previous versions.
    Windows XP Prof, AMD Athlon, 1 Go Mem
    I have following setup:
    Projects:
    DTO (data transfer objects and utility classes used in other projects)
    -> dependies: none
    Directory tree:
    MyWorkspace\DTO\classes
    MyWorkspace\DTO\src
    Model (model classes)
    -> dependies: DTO
    Directory tree:
    MyWorkspace\Model\classes
    MyWorkspace\Model\src
    View (JClient app)
    -> dependies: DTO, Model
    Directory tree:
    MyWorkspace\View\classes
    MyWorkspace\View\src
    WebView (Struts app)
    -> dependies: DTO, Model
    Directory tree:
    MyWorkspace\WebView\deploy
    MyWorkspace\WebView\model
    MyWorkspace\WebView\public_html
    For some unexplained reasons sometimes (difficult to reproduce)
    JDev get confused and DTO classes, sometimes Model classes are copied to the View project classes directory.
    Example utility class of the DTO project:
    source:
    MyWorkspace\DTO\src\com\photoswing\dto\util\TextUtils.java
    instead of being generated in:
    MyWorkspace\DTO\classes\com\photoswing\dto\util\TextUtils.class
    is found in the View claases output directory (directory tree created by JDev):
    MyWorkspace\View\classes\com\photoswing\dto\util\TextUtils.class
    I noticed that regularly the JDev navigator has synchronization problems and can't find the class when activating the right-click Select in Navigator action in an open source file.
    This generally happens when switching from source files of different projects.
    Now if you compile a source file and the navigator has a synchronization problem following warning is displayed:
    Warning: The file is not part of the active project DTO.jpr, compiled class will be written to DTO.jpr output directory
    When only one file gets compiled this can be repaired easely by deleting the class written in the wrong directory.
    But when several files are changed and are compiled the warning is only displayed for the current source file and all classes output trees must be scanned manually.
    When testing the app if I'm not wrong JDev reads from the classes directories and doesn't produce a jar file, so deleting manually the wrong classes is a valid workaround.
    But what if the app gets deployed and jars are generated?
    I can't imagine myself changing manually the produced jars by removing the wrong classes and what about the manifest?
    Your help is requested.
    Regards
    Fred
    PS Can't provide a TestCase => happens in complex environment only.

    Glad to know I'm not the only one having that serious problem.
    JDev by default create at least 2 different projects (model and view) so it seems to be a standard.
    Working simultaneously on source files of different projects seems to the cause the trouble.
    Is there somekind of patch available?
    Could somebody of Oracle answer the question of the first message of this thread?
    Thanks
    Fred

  • Obtaining list of classes used in an application

    I want to be able to obtain a list of all the classes and interfaces that an application uses
    I have been looking at the Class Object but with limited success
    I can get only limited things from the class
    eg the superclasses, interfaces, innerclasses, and public variables
    but I want to be able to get which private classes are used also
    the code below shows my test code to get info about a class
    Class testClass = (new java.awt.Panel()).getClass();
    Class classList[] = testClass.getClasses();
    for(int i = 0; i < classList.length; i++)
         System.out.println("class "+i+" = "+classList);
    Class innerClassList[] = testClass.getDeclaredClasses();
    for(int i = 0; i < innerClassList.length; i++)
         System.out.println("innerClass "+i+" = "+innerClassList[i]);
    java.lang.reflect.Field fieldList[] = testClass.getFields();
    for(int i = 0; i < fieldList.length; i++)
         System.out.println("field "+i+" = "+fieldList[i]);
    java.lang.reflect.Field innerFieldList[] = testClass.getDeclaredFields();
    for(int i = 0; i < innerFieldList.length; i++)
         System.out.println("innerField "+i+" = "+innerFieldList[i]);
    Object interfaceList[] = testClass.getInterfaces();
    for(int i = 0; i < interfaceList.length; i++)
         System.out.println("interface "+i+" = "+interfaceList[i]);
    Class nextSuper = testClass;
    while(nextSuper != null){
         System.out.println("Class "+nextSuper);
         nextSuper = nextSuper.getSuperclass();
    The reason that I want to do this is:
    When I use an application I want to be able to get the version of each of the classes I use.
    Ideally I would build up a set of classes used in the application (and the classes that those classes use, etc, etc)
    as I did this I would filter for things that start with my class hierarchy.
    and I would save the public String of each class that stores the version.
    Then heypresto I would have a list of all the classes of mine that are used and their version numbers.

    The idea is to write your own class which extends classloader, then use an instance of that to load the program you're trying to examine. When java wants to use a class it calls a classloader giving it the class name and package e.g. "java.lang.String". The classloader then checks to see if the class is already there, and if not attempts to load it, usually from a .class or .jar file.
    When classes loaded with a particular class loader go looking for other classes they call the classloader than loaded them.
    So if you load your main program class through your own classloader then any classes it demands (and those they demand), will also be looked for through your classloader. Since class loading is a dynamic process you actually need to run the application (having loaded your main class use getMethod to get the main method then Method.invoke(..).
    Mind you if java -verbose:class does the job (and it looks to me like it does) that's a lot simpler.
    Just run your program with that and analyse the resulting list of load events.

  • Some tools used for upgrade project

    Hi experts,
    I am looking for some tools used for upgrade project.What are the frequently used tools in an upgrade project.
    Regards,
    Kiran

    Hi,
    There is no specific tool for the upgradation. it dependts on organization. if it has developed its own tool means that is used for the upgradization. noramlly company gets the project based on the presentation of their tool.
    our company has a great tool for the upgradization. which find out all unicode related errors and changes that has to be done in new verion.
    like this each organization might havedeveloped their tools.
    Regards,
    Anki Reddy

  • The project could not be prepared for publishing because an error occurred. (ParamErr: error in user parameter list)

    Error occured after a good 18:12 movie has been optimized completely and ready to share. I can't even finalize this project. Please help I worked this video for days.

    stephenc7x wrote:
    Thank you for replying. It works well on exporting now BUT, i don't understand how to  "give it the boot and replace it with a nice fresh one".
    I believe DryFlyRy (in the linked post) means that you should delete the problem clip from the project timeline ("give it the boot"), then drag the same clip from the Event to the same position in the timeline (otherwise drag a different clip that you hadn't used in the project).
    It's probable that the problem clip in the project has become corrupted. Although it simply references (points to) the clip in the Event, the Event clip may still be OK. Something may be messed up in the project file in regard to this clip. However, if the actual Event clip is corrupted, you will need to re-import that clip from the camera (or other source) to the Event and use that "nice fresh one" in the project.
    To delete the clip, click on it so that it is highlighted with a yellow border, then press the Delete key on the keyboard. Alternatively, right-click (or Control-click) on the clip and select Delete Selection from the pop-up menu.
    John

  • How do make sure the only audio files in my "Audio Files" folder are what are currently used in my project?

    I noticed my hard drive space was getting suspiciously low...
    After doing a little digging I realized that every single audio file (even the ones i have deleted segments for in my projects' arrange windows) are being saved in every one of my projects' "Audio Files" folders.
    One 4 minute song (comprised of 3 guitars, 1 bass, Midi drums, and a syth) has a cooresponding "Audio Files" folder containing over 1,600 Wav files and is consuming 3.0 + Gigs of hard drive space FROM THAT SONG ALONE!
    It seems as if every take i have ever recorded (even If it is no longer represented in my projects's arrange windows) remains saved in these "Audio Files" folders.
    Is there a setting/method to ensure what STAYS on my hard drive is only what is being used in the projects? There seems to be no logical reason for keeping every mistake that is otherwise deleted in the overall projects.
    there must be... because hand-weeding out every file it too daunting a task to be feasible.....
    THANKS!

    Hi
    When you delete a recorded region from the Arrange, Logic gives you an option to 'delete' or 'keep' the underlying audio file. You must've chosen to keep, or you have only been deleting regions which only refer to part of the file, so the whole audio file is still being 'used'.
    One method of cleaning up is to go to the Audio Bin, choose Edit:Select Unused, and then Delete.
    If you (really) want to tidy up further, you could use the Optimise Files function Audio Bin:Audio Files (but I'd suggest that you read up on that function in the manual to fully understand what it will do).
    CCT

  • Delete unused vi (files) in the project

    Hi there,
    I know that may be an old topic, but I still have no better solution.
    In my project are not only the vis but other kinds of data, for instance png, mp4...
    I didn't use the Auto-populating folders (instead the virtual folders) in the project structure. It' s quite sure that in the folder on the hard drive there should be many vis and files, that are no longer used in the project. 
    Also some VIs are called dynamically in the main vi, which can not be saved as using the save hierarchy function.
    I'm not expecting to delete all the VIs, which is not used. But at least to tell which VI is still in use.
    Any suggestions and ideas?
    Wilbur

    I made a basic tool vi that compares the 'AllVIsInMemory' output with a recursive directory listing. Everything that wasn't in the AllVIsInMemory was written to a listbox. The delete was performed manually. I also did output the number of 'suspected' files, so I had an isea how clean my project folder was. What I didn't implement but what would be an easy improvement is filtering by extension (so limit to vi, vit, ...).
    I don't have this vi with me right now, but it's easy to do your own.
    Felix
    www.aescusoft.de
    My latest community nugget on producer/consumer design
    My current blog: A journey through uml

Maybe you are looking for

  • Global Company Code

    Hi All, While we transfer documents for customer Master and vendor Master and bank Master through ALE then it requires for 'Global Company code' which I have to assign under Company code global parameters. Can anyone explain me for what reason this c

  • Where in the MIDlet life-cycle should I create multiple forms with LWUIT ?

    Hi all, I must create two LWUIT forms in my application. Where should I create the two forms ? I created the first form in the startApp life-cycle method , and when I tried to create also the second form in the startApp method then there is a NullPoi

  • Why can't i download full versions of programs after i purchased them?

    why can't i download full versions of programs after i purchased them?

  • Looking for Labview Position in Israel

    I'm LabVIEW programmer (CLAD) with 12 years experience. My specializations are equipment communication, measurement and control systems integration ( Communications, Control, Manufacturing Test, RF  Measurements, Data Bases) Also I work with SQL Serv

  • How oracle spatial deals with self-looping polylines?

    Hi,folks I have a general question on self-looping polylines. If one polyline is self-closing, can oracle spatial recognize it as a line or polygon? Anyone can give some hints on that?