[JAXB_WORKSHOP-26] xjc-HTTPProxy switch in Eclipse-Plugin (jaxb-ri-20051223) Created: 21/Mar/06  Updated: 21/Mar/06  Resolved: 21/Mar/06

Status: Resolved
Project: jaxb-workshop
Component/s: distribution
Affects Version/s: current
Fix Version/s: Release 1.0

Type: Task Priority: Major
Reporter: uid0 Assignee: kirillcool
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 26

 Description   

The Eclipse-Plugin works well so far.
But i guess the xjc needs to be named "-httpproxy" instead of "-proxy".
(as seen in jaxb-ri-20051223/docs/xjc.html#xjcresources)

regards,
uid0

$ diff -u XjcWizard.java XjcWizard.java.mine
— XjcWizard.java 2006-03-21 17:16:30.142561600 +0100
+++ XjcWizard.java.mine 2006-03-21 17:19:27.457528000 +0100
@@ -111,7 +111,7 @@

}
if (this.optionalPage.getHttpProxy() != null)

{ - params.addLast("-proxy"); + params.addLast("-httpproxy"); params.addLast(this.optionalPage.getHttpProxy()); }

if (this.optionalPage.getCreateReadOnlyFiles())



 Comments   
Comment by kirillcool [ 21/Mar/06 ]

Will be fixed. Thanks and you're welcome to suggest new features for the plugin.
I was thinking about an option to generate files into workspace / project
location with the matching tree chooser. Then after generation refresh the
relevant portion and optionally run the workspace / project build.

Comment by kirillcool [ 21/Mar/06 ]

Fixed





[JAXB_WORKSHOP-25] Line wrapping for long messages in editing XSD Created: 03/Jul/05  Updated: 05/Jul/05  Resolved: 05/Jul/05

Status: Resolved
Project: jaxb-workshop
Component/s: xjc explorer
Affects Version/s: current
Fix Version/s: Release 1.0

Type: Bug Priority: Major
Reporter: kirillcool Assignee: kirillcool
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 25

 Description   

Use setLineWrap and setWrapStyleWord in the XSD editor window for XJC messages.
Test with xsd:strang for test.



 Comments   
Comment by kirillcool [ 05/Jul/05 ]

Fixed. Wrap JTextArea in JScrollPane (with proper use of scroll policy). Instead
of setting preferred size for the scroll pane, set monotyped font for the
JTextArea and compute rought number of rows (content length divided by column
count).





[JAXB_WORKSHOP-24] Menu items for changing current color scheme are out of sync Created: 25/Jun/05  Updated: 25/Jun/05

Status: Open
Project: jaxb-workshop
Component/s: xjc explorer
Affects Version/s: current
Fix Version/s: Release 1.0

Type: Bug Priority: Minor
Reporter: kirillcool Assignee: kirillcool
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 24

 Description   

Synchronize menu items for changing current color scheme






[JAXB_WORKSHOP-23] Editing XSD with errors Created: 11/Jun/05  Updated: 13/Jun/05  Resolved: 13/Jun/05

Status: Resolved
Project: jaxb-workshop
Component/s: xjc explorer
Affects Version/s: current
Fix Version/s: Release 1.1

Type: New Feature Priority: Blocker
Reporter: kirillcool Assignee: kirillcool
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 23

 Description   

Allow editing XSD files that were reported by XJC with errors.



 Comments   
Comment by kirillcool [ 13/Jun/05 ]

Done





[JAXB_WORKSHOP-20] Enable "scramble" button Created: 09/Jun/05  Updated: 11/Jun/05  Resolved: 11/Jun/05

Status: Resolved
Project: jaxb-workshop
Component/s: xsd scrambler
Affects Version/s: current
Fix Version/s: Release 1.1

Type: New Feature Priority: Major
Reporter: kirillcool Assignee: kirillcool
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 20

 Description   

Enable "Scramble" button in GUI only when both directories (input and output)
were specified.



 Comments   
Comment by kirillcool [ 10/Jun/05 ]

Fixed

Comment by kirillcool [ 11/Jun/05 ]

Release fix





[JAXB_WORKSHOP-19] Painting of SJSXP markers Created: 09/Jun/05  Updated: 11/Jun/05  Resolved: 11/Jun/05

Status: Resolved
Project: jaxb-workshop
Component/s: xml colorer
Affects Version/s: current
Fix Version/s: Release 1.1

Type: Bug Priority: Blocker
Reporter: kirillcool Assignee: kirillcool
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 19

 Description   

Fix the painting of SJSXP markers when the horizontal scrollbar is moved.



 Comments   
Comment by kirillcool [ 11/Jun/05 ]

Fixed in StringListPanel.drawLocations:

int offsetx = (int) (this.firstColumnIndex * this.positioningInfo
.getSingleCharacterWidth());

instead of

int offsetx = (int) ((firstColumn - this.firstColumnIndex) * this.positioningInfo
.getSingleCharacterWidth());





[JAXB_WORKSHOP-22] Ability to rerun some XJC run Created: 09/Jun/05  Updated: 10/Jun/05  Resolved: 10/Jun/05

Status: Resolved
Project: jaxb-workshop
Component/s: xjc explorer
Affects Version/s: current
Fix Version/s: Release 1.1

Type: Improvement Priority: Blocker
Reporter: kirillcool Assignee: kirillcool
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 22

 Description   

Add the following two entries to popup menu on the main XSD in the run tree:
1. Rerun the XJC filling wizard screens with informartion from the selected run

  • allow changing parameters in each screen (including main schema name).
    2. Rerun the XJC filling wizard screens with informartion from the selected run
    in automatic mode.


 Comments   
Comment by kirillcool [ 10/Jun/05 ]

Added two entries to popup - manual rerun and automatic rerun.





[JAXB_WORKSHOP-21] Fill information based on XJC run Created: 09/Jun/05  Updated: 10/Jun/05  Resolved: 10/Jun/05

Status: Resolved
Project: jaxb-workshop
Component/s: xjc wizard
Affects Version/s: current
Fix Version/s: Release 1.1

Type: Improvement Priority: Blocker
Reporter: kirillcool Assignee: kirillcool
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 21

 Description   

Add ability to fill all wizard screens based on some XJC run



 Comments   
Comment by kirillcool [ 10/Jun/05 ]

Added support for importFromXjc in each WizardStep.
Wizard now has four distinct modes:
1. STANDALONE - standalone manual mode
2. MANUAL - invoked manual mode
3. SEMI_MANUAL - all steps are filled based on provided information. The wizard
starts from the first screen, allowing to change the settings.
4. AUTOMATIC - all steps are filled based on provided information. The last
screen is shown and XJC is run automatically without user interaction.





[JAXB_WORKSHOP-1] Create Ant task for bundle.zip Created: 22/Feb/05  Updated: 09/Jun/05  Resolved: 09/Jun/05

Status: Resolved
Project: jaxb-workshop
Component/s: distribution
Affects Version/s: current
Fix Version/s: Release 1.0

Type: Improvement Priority: Major
Reporter: kirillcool Assignee: kirillcool
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 1

 Description   

Define a new Ant task for creating a jaxbw-bundle.zip that will contain
jaxbw.jar, all the relevant JAXB 2.0 jars and bcel-5.1.jar.



 Comments   
Comment by kirillcool [ 22/Feb/05 ]

Moved to appropriate component

Comment by kirillcool [ 23/Feb/05 ]

Created a task in build.xml:
<target name="bundle" depends="jar" description="create bundled distribution">
<delete file="$

{module.jaxb-workshop.basedir}/../../jaxbw-bundle.zip"/>
<zip destfile="${module.jaxb-workshop.basedir}

/../../jaxbw-bundle.zip">
<zipfileset dir="$

{module.jaxb-workshop.basedir}

/../../drop"/>
</zip>
</target>
It takes all files in drop directory (the jar task creates runnable jar in
there) and creates a single zip file.
This file contains all JAXB 2.0 jars, BCEL jar and batch files for wizard and
advanced mode.





[JAXB_WORKSHOP-2] Correct synchronization of class and reference hierarchies Created: 22/Feb/05  Updated: 09/Jun/05  Resolved: 09/Jun/05

Status: Resolved
Project: jaxb-workshop
Component/s: xjc explorer
Affects Version/s: current
Fix Version/s: Release 1.0

Type: Bug Priority: Major
Reporter: kirillcool Assignee: kirillcool
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 2

 Description   

Compile po.xsd from any of the sample apps that ship with JAXB. Then select:
References -> USAddress -> USAddress getBillTo()
It highlights the getBillTo() api in:
Classes -> PurchaseOrderType -> Methods -> USAddress getBillTo()
I was expecting it to highlight:
Classes -> USAddress -> USAddress getBillTo()

Another thing I tried was selecting:
Classes -> ObjectFactory
I thought it would highlight multiple references, but it seemed to only highlight:
References -> PurchaseOrderType



 Comments   
Comment by kirillcool [ 22/Feb/05 ]

Moved to appropriate component

Comment by kirillcool [ 23/Feb/05 ]

The code works as expected:
The first reference 'References -> USAddress -> USAddress getBillTo()' is a use
of USAddress as the return type in function getBillTo() in class
PurchaseOrderType. That is why this path is chosen in Classes hierarchy. It
couldn't highlight the path you propose because a) it doesn't exist and b) it's
not a correct reference.

The other direction of selection is choosing a class in Classes. In this case,
if the selected class is referenced somewhere in the generated code, its root
will be selected in the References. As ObjectFactory isn't referenced anywhere
in declarations, the selection in References tree doesn't change.

Due to this example another bug was fixed (having a . in directory name was
leading to failure in class loading due to greedy replaceAll() in
MyClassLoader.loadClassData()).





[JAXB_WORKSHOP-3] More obvious selection highlighting Created: 22/Feb/05  Updated: 09/Jun/05  Resolved: 09/Jun/05

Status: Resolved
Project: jaxb-workshop
Component/s: xjc explorer
Affects Version/s: current
Fix Version/s: Release 1.0

Type: Improvement Priority: Major
Reporter: kirillcool Assignee: kirillcool
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 3

 Description   

Create a Panel with custom background and inherit all cell renderers from it.
When a node is selected, turn background on. The background - one-pixel border +
the background fill.



 Comments   
Comment by kirillcool [ 22/Feb/05 ]

Moved to appropriate component

Comment by kirillcool [ 22/Feb/05 ]

GenericCellRenderer overrides paintComponent(Graphics g) with:

public void paintComponent(Graphics g) {
int width = this.getWidth();
int height = this.getHeight();
if (this.isSelected)

{ g.setColor(selectedBackground); g.fillRect(0, 0, width-1, height-1); g.setColor(selectedForeground); g.drawRect(0, 0, width-1, height-1); }

super.paintComponent(g);
}





[JAXB_WORKSHOP-4] Capturing output of Main.compile of tools.jar Created: 22/Feb/05  Updated: 09/Jun/05  Resolved: 09/Jun/05

Status: Resolved
Project: jaxb-workshop
Component/s: xjc explorer
Affects Version/s: current
Fix Version/s: Release 1.0

Type: Task Priority: Major
Reporter: kirillcool Assignee: kirillcool
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 4

 Description   

Try see if it is possible to capture the regular and warning messages of javac
compiler when it is activated via Main.compile of tools.jar. If this is
possible, the failure message of the compilation must be shown along
"Compilation failed" message in JOptionPane.



 Comments   
Comment by kirillcool [ 22/Feb/05 ]

Moved to appropriate component

Comment by kirillcool [ 23/Feb/05 ]

The static initializer of Workspace was changed to
javac = toolsJarLoader.loadClass("com.sun.tools.javac.Main")
.getMethod("compile", new Class[]

{ String[].class, PrintWriter.class }

);

The function compileAll() now gets a LinkedList<String> parameter and fills it
with compilation messages:
ByteArrayOutputStream baos = new ByteArrayOutputStream();
long time0 = System.currentTimeMillis();
int compileReturnCode = ((Integer) Workspace.javac.invoke(null,
new Object[]

{ allFileNames, new PrintWriter(baos) }

))
.intValue();
// com.sun.tools.javac.Main.compile(allFileNames);
long time1 = System.currentTimeMillis();
BufferedReader br = new BufferedReader(new InputStreamReader(
new ByteArrayInputStream(baos.toByteArray())));
while (true)

{ String str = br.readLine(); if (str == null) break; this._logger.info("/javac/ " + str); compilerMessages.addLast(str); }

These messages are then shown in MessageListDialog, a new class that was created
in order to show a list of messages (as well as a stack trace of a Throwable):

LinkedList<String> compilerMessages = new LinkedList<String>();
boolean compileSucceeded = this.compileAll(classInfoList,
compilerMessages);
if (!compileSucceeded)

{ MessageListDialog.showMessageDialog(mainFrame, "Compilation failed", compilerMessages); return; }




[JAXB_WORKSHOP-5] See if anything is missing in jnlp descriptors Created: 22/Feb/05  Updated: 09/Jun/05  Resolved: 09/Jun/05

Status: Resolved
Project: jaxb-workshop
Component/s: jnlp
Affects Version/s: current
Fix Version/s: Release 1.0

Type: Task Priority: Major
Reporter: kirillcool Assignee: kirillcool
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 5

 Description   

See why JNLP descriptor doesn't cause JavaWS to reload the application when it
has failed or was updated.



 Comments   
Comment by kirillcool [ 22/Feb/05 ]

Moved to appropriate component

Comment by kirillcool [ 14/Apr/05 ]

Fixed - only tools.jar remains an issue.
Perhaps should consider jdt_core.jar from Eclipse 3.1M6





[JAXB_WORKSHOP-7] Add ability to close resources Created: 02/Mar/05  Updated: 09/Jun/05  Resolved: 09/Jun/05

Status: Resolved
Project: jaxb-workshop
Component/s: xjc explorer
Affects Version/s: current
Fix Version/s: Release 1.0

Type: Improvement Priority: Major
Reporter: ryan_shoemaker Assignee: kirillcool
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 7

 Description   

Please add the ability to close resources(xjc runs, schema tabs, etc) in the
explorer.



 Comments   
Comment by kirillcool [ 04/Mar/05 ]

The first version of popup menus has been added to the advanced explorer.
There are two popups:
1. Popup in viewer panel of a schema - provides a single menu item for closing
the current tab.
2. Popup in tree view of the runs - provides two menu items. One for closing the
corresponding tab (if exists), and one for removing the corresponding schema
from the tree and closing all the relevant tabs.

The L&F is far from final, so no need for opening issues in this area.





[JAXB_WORKSHOP-8] Add error panel Created: 02/Mar/05  Updated: 09/Jun/05  Resolved: 09/Jun/05

Status: Resolved
Project: jaxb-workshop
Component/s: xjc explorer
Affects Version/s: current
Fix Version/s: Release 1.0

Type: Improvement Priority: Major
Reporter: ryan_shoemaker Assignee: kirillcool
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 8

 Description   

It would be nice to have an additional panel in the bottom of the
explorer that lists all of the schema errors in a table. You would
also want to be able to select an error and jump to it in the schema.

Not sure if you would want to aggregate errors from all schemas in a
single table or not.



 Comments   
Comment by kirillcool [ 02/Mar/05 ]

An Eclipse-style error pane (modeled as Problems Tab in Eclipse) has been added
to a viewer tab when the corresponding schema has errors. The errors are shown
in grid table with three columns - error icon, message (from XJC) and the
corresponding line.

Hovering over a line will show multiline tooltip (as in gutters). Selecting a
line will scroll the viewer to the corresponding line.

Please note that the error table has little in common with regular JTable.
Notice that the grid lines extend well beyond the rows and columns with
information. Also, the first column is not resizable. Resizing other columns
shows "preview" divider. Making the column bigger can cause a horizontal scroll
bar to appear. The columns are automatically resized on first view to take the
entire available width. The column headers are created with bevel borders to
make them stand out.

The divider of the split pane is initially located at 80% height. When the
window is resized, the divider maintains the current ratio.

The failure icons have common look and feel, no matter the size. These are
created programatically using Java2D (as well as the success icon).

In addition, this fix includes minor changes and improvements:
1. Mouse wheel listener on text panel.
2. Nicer font in tooltip window.
3. Minor tweak in painting the viewer panel - filling consistent background in
the areas without components (below the gutters and to the right of the
horizontal scroll bar)
4. Moving the status marker of the right gutter 1 pixel to the left and 1 pixel
to the bottom to make it come away from the top right corner - appeared glued.
5. Moving error markers of the right gutter 1 pixel to the left - appeared glued
to the right border of the panel.





[JAXB_WORKSHOP-9] Automatically open schema after completing xjc run Created: 02/Mar/05  Updated: 09/Jun/05  Resolved: 09/Jun/05

Status: Resolved
Project: jaxb-workshop
Component/s: xjc explorer
Affects Version/s: current
Fix Version/s: Release 1.0

Type: Improvement Priority: Major
Reporter: ryan_shoemaker Assignee: kirillcool
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 9

 Description   

After completing an xjc run, you should automatically open or focus
on the main schema that was just processed.



 Comments   
Comment by kirillcool [ 03/Mar/05 ]

The following code has been added to ExplorerPanel.updateHistory (called after
XJC is done and all the files have been compiled and processed):

HistorySchemaNode newNode = historyTreeModel.addRun(schemaFileName,
generationMillis, errors);
this.historyTree.getSelectionModel().addSelectionPath(
new TreePath(newNode.getPath()));

The HistoryTreeModel.addRun function was changed to return the newly added node.
This node is then marked as selected. This causes the
HistoryTreeSelectionListener.valueChanged() to be called. Thus, the main schema
is automatically opened and focused on in the tabbed pane.





[JAXB_WORKSHOP-10] Enhanced schema error viewing Created: 02/Mar/05  Updated: 09/Jun/05  Resolved: 09/Jun/05

Status: Resolved
Project: jaxb-workshop
Component/s: xjc explorer
Affects Version/s: current
Fix Version/s: Release 1.0

Type: Improvement Priority: Major
Reporter: ryan_shoemaker Assignee: kirillcool
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 10

 Description   

There is quite an issue of handling schemas with
errors. As listed in feature list, a successful schema
entry is shown when you select its root. However, a
schema with errors is not selected on root selection.
Rather, you have an additional list of all failed
schemas. It may happen that you compile schema A that
references schema B that has errors. I don't know is
XJC gives errors for schema B only, or for schema A
also. I wouldn't want to open the main schema if it
has no errors and give false impression that all went
well.

Please open the following request - when XJC run
fails, add "phantom" error to the main schema on each
schema that failed. Also, open and focus on the main
schema viewer. The status marker in the right gutter
should be painted red and have tooltip text explaining
why this schema is marked as failure.



 Comments   
Comment by kirillcool [ 03/Mar/05 ]

The code for the tree selection listener was changed to:

if (pathLastComponent instanceof HistorySchemaNode) {
// clicked on main schema entry
final HistorySchemaNode hsn = (HistorySchemaNode) pathLastComponent;
// search for the corresponding HistoryErrorsNode entry (with
// the same name)
for (int childIndex = 0; childIndex < hsn.getChildCount(); childIndex++) {
TreeNode currChild = hsn.getChildAt(childIndex);
if (!(currChild instanceof HistoryErrorsNode))
continue;
HistoryErrorsNode errorsChild = (HistoryErrorsNode) currChild;
final HistoryFileNode matchingChild = errorsChild
.getChildBySchemaName(hsn.getSchemaName());
if (matchingChild != null) {
// Errors were only in included schemas. Show this one
SwingUtilities.invokeLater(new Runnable() {
public void run()

{ explorer.showFile(matchingChild.getFileName(), matchingChild.getSchemaErrors()); }

});
return;
}
}
// Here - either there were no errors in the main schema, or
// there were errors only in referenced / included files. In
// this case, just open the main schema with no associated
// errors
SwingUtilities.invokeLater(new Runnable() {
public void run()

{ explorer.showFile(hsn.getSchemaName(), null); }

});
}

In case there were no errors, clicking on the run root will show main schema as
before. In case there were errors, clicking on the run root will show main
schema. If there were errors associated with the main schema, they will be
shown. Otherwise, no errors will be shown.

To do (in another issue) - mark the main schema panel with failure status marker
if there were errors in the referenced/included schemas and no errors in the
main schema.





[JAXB_WORKSHOP-11] Show XJC parameters in log Created: 03/Mar/05  Updated: 09/Jun/05  Resolved: 09/Jun/05

Status: Resolved
Project: jaxb-workshop
Component/s: xjc wizard
Affects Version/s: current
Fix Version/s: Release 1.0

Type: Improvement Priority: Major
Reporter: kirillcool Assignee: kirillcool
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 11

 Description   

Put the XJC generator command in the log.
This will enable to see all the parameters provided to XJC from the wizard screens.



 Comments   
Comment by kirillcool [ 03/Mar/05 ]

The following code has been added to XjcThread before calling Driver.run:

for (String xjcArg : this.xjcArgs)

{ this._logger.info("XJC argument : '" + xjcArg + "'"); }




[JAXB_WORKSHOP-12] Mark main schema when there were errors in XJC and no errors in the main schema itself Created: 03/Mar/05  Updated: 09/Jun/05

Status: Open
Project: jaxb-workshop
Component/s: xjc explorer
Affects Version/s: current
Fix Version/s: Release 1.0

Type: Improvement Priority: Major
Reporter: kirillcool Assignee: kirillcool
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 12

 Description   

Mark the main schema panel with failure status marker if there were errors in
the referenced/included schemas and no errors in the main schema.






[JAXB_WORKSHOP-13] Formatting issues Created: 04/Apr/05  Updated: 09/Jun/05  Resolved: 09/Jun/05

Status: Resolved
Project: jaxb-workshop
Component/s: xsd scrambler
Affects Version/s: current
Fix Version/s: Release 1.0

Type: Improvement Priority: Major
Reporter: kirillcool Assignee: kirillcool
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 13

 Description   

Preserve formatting (whitespace, tabs, newlines) in the scrambled schemas



 Comments   
Comment by kirillcool [ 11/Apr/05 ]

Added
bw.println();
to the private void echoChain(String rootInputDir, String filename,
String rootOutputDir, LinkedList<Echo> echoList,
HarvesterBaseSchemaName gIncl)
function





[JAXB_WORKSHOP-14] Preserve slashes Created: 04/Apr/05  Updated: 09/Jun/05  Resolved: 09/Jun/05

Status: Resolved
Project: jaxb-workshop
Component/s: xsd scrambler
Affects Version/s: current
Fix Version/s: Release 1.0

Type: Bug Priority: Major
Reporter: kirillcool Assignee: kirillcool
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 14

 Description   

Preserve slashes in xsd:include and xsd:redefine tags



 Comments   
Comment by kirillcool [ 04/Apr/05 ]

Fixed.
The tokenizer has been changed to
StringTokenizer tokenizer = new StringTokenizer(relativeName,
"/
", false);

And the computation of the result to
String mappedResult = this.mapping.get(currName);
if (mappedResult == null)

{ throw new IllegalArgumentException("No mapping found for '" + relativeName + "'"); }

// revert back to the original include path
tokenizer = new StringTokenizer(mappedResult, "/
", false);
String lastMappedToken = "";
while (tokenizer.hasMoreTokens())
lastMappedToken = tokenizer.nextToken();

String result = lastMappedToken;
if (relativeName.length() > lastToken.length())

{ result = relativeName.substring(0, relativeName.length() - lastToken.length()) + result; }




[JAXB_WORKSHOP-15] Handle XML header Created: 06/Apr/05  Updated: 09/Jun/05

Status: Open
Project: jaxb-workshop
Component/s: xsd scrambler
Affects Version/s: current
Fix Version/s: Release 1.0

Type: Bug Priority: Major
Reporter: kirillcool Assignee: kirillcool
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 15

 Description   

Correctly handle XML header






[JAXB_WORKSHOP-16] Handle tags with no end tag Created: 06/Apr/05  Updated: 09/Jun/05

Status: Open
Project: jaxb-workshop
Component/s: xsd scrambler
Affects Version/s: current
Fix Version/s: Release 1.0

Type: Bug Priority: Major
Reporter: kirillcool Assignee: kirillcool
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 16

 Description   

Correctly handle tags with no end tag, like
<xsd:enumeration .... />






[JAXB_WORKSHOP-17] Add xs: tags Created: 11/Apr/05  Updated: 09/Jun/05  Resolved: 09/Jun/05

Status: Resolved
Project: jaxb-workshop
Component/s: xsd scrambler
Affects Version/s: current
Fix Version/s: Release 1.0

Type: Bug Priority: Major
Reporter: kirillcool Assignee: kirillcool
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 17

 Description   

Currently, the scrambler only handles xsd: tags. It should handle xs: tags as well.



 Comments   
Comment by kirillcool [ 14/Apr/05 ]

Fixed (along with a slew of other issues)





[JAXB_WORKSHOP-18] Fix glass pane alignment Created: 16/May/05  Updated: 09/Jun/05  Resolved: 09/Jun/05

Status: Resolved
Project: jaxb-workshop
Component/s: xjc wizard
Affects Version/s: current
Fix Version/s: Release 1.0

Type: Bug Priority: Major
Reporter: kirillcool Assignee: kirillcool
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 18

 Description   

Fix glass pane alignment for wizard mode.



 Comments   
Comment by kirillcool [ 09/Jun/05 ]

Fixed using Robot





[JAXB_WORKSHOP-6] Show compilation progress Created: 22/Feb/05  Updated: 09/Jun/05  Resolved: 09/Jun/05

Status: Resolved
Project: jaxb-workshop
Component/s: xjc wizard
Affects Version/s: current
Fix Version/s: Release 1.0

Type: Improvement Priority: Minor
Reporter: ryan_shoemaker Assignee: kirillcool
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Operating System: All
Platform: All


Issuezilla Id: 6

 Description   

Currently, the wizard doesn't display any progress information at
all while compiling the schema. It isn't unusual for a compilation
to take several minutes, so it could be confusing for users if there
isn't a progress meter or a frame showing the console output.



 Comments   
Comment by kirillcool [ 23/Feb/05 ]

The glass pane of the wizard has been majorly rewritten. It now uses
double-buffering technique for efficient animation. The animation effect scrolls
a patch of whitish lines down the screen in loop. When the glass pane is shown
(setVisible(boolean) was overriden), a snapshot of the underlying window is
taken and an animation thread is created and run:
public void setVisible(boolean isVisible) {
if (isVisible)

{ // reset owner snapshot this.ownerSnapshot = null; this.currHighLightRow = -HIGHLIGHT_ROW_SPAN; this.animator = new GlassPaneThread(this, 20); this.animator.start(); }

else {
if (this.animator != null)

{ this.animator.markStopped(); this.animator = null; }

}
super.setVisible(isVisible);
}

The animator thread calls back the iteration() function of the glass pane,
prompting the refresh process:
public void run() {
this.toStop = false;
while (!this.isMarkedStopped()) {
this.glassPane.iteration();
try

{ Thread.sleep(this.sleepTime); }

catch (InterruptedException e) {
}
}
}

The isMarkedStopped() checks a boolean flag that is set in markStopped()
function when glass pane is called on setVisible(false). Both these functions
are synchronized.

The iteration() function of the glass pane updates the highlight band position
and then performs the actual drawing:
// get the offscreen buffer
Graphics2D graphics = (Graphics2D) this.offscreenImage.getGraphics();
// draw the owner snapshot on it
graphics.drawImage(this.ownerSnapshot, 0, 0, null);
// paint the glass pane image on it
if (this.isVisible())
this.paintComponent(graphics);
// draw back on the owner graphics
this.owner.getGraphics().drawImage(this.offscreenImage, 0, 0, null);

The ownerSnapshot contains the snapshot of the frozen window when it activated
the glass pane. First it is drawn on offscreenImage, then we paint the glass
pane itself and then we paint back the offscreenImage on the frozen window. This
achieves much better performance than simply calling the owner to redraw itself.

The snapshot is performed once after the setVisible(true) call:
if (!this.owner.getTopLevelAncestor().isVisible())
return;

if (this.ownerSnapshot == null)

{ int width = this.owner.getWidth(); int height = this.owner.getHeight(); this.ownerSnapshot = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); this.offscreenImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); this.owner.paintAll(this.ownerSnapshot.getGraphics()); }

In addition, the glass pane now allows showing a dynamic message (is updated at
every iteration). To set the message, call setMessage(String), which is
synchronized (as well as paintComponent). This message will be shown at the
bottom of the screen on darkened background which is not affected by the
highlight patch.

Throughout the whole process of generation (generating classes, compiling,
loading, processing), the glass pane is updated with the corresponding status.





Generated at Sat Apr 25 08:52:36 UTC 2015 using JIRA 6.2.3#6260-sha1:63ef1d6dac3f4f4d7db4c1effd405ba38ccdc558.