Skip to content
Snippets Groups Projects
Commit 2c01c184 authored by Dominique Marcadet's avatar Dominique Marcadet
Browse files

add NSD files support

parent b1121123
No related branches found
No related tags found
1 merge request!14Resolve "update HMI from previous version to allow for loading NSD files"
...@@ -25,7 +25,7 @@ import java.util.ArrayList; ...@@ -25,7 +25,7 @@ import java.util.ArrayList;
import javax.swing.JFrame; import javax.swing.JFrame;
import javax.swing.JTabbedPane; import javax.swing.JTabbedPane;
import fr.centralesupelec.edf.riseclipse.iec61850.scl.validator.ui.component.OCLFilePane; import fr.centralesupelec.edf.riseclipse.iec61850.scl.validator.ui.component.TreeFilePane;
import fr.centralesupelec.edf.riseclipse.iec61850.scl.validator.ui.component.SCLFilePane; import fr.centralesupelec.edf.riseclipse.iec61850.scl.validator.ui.component.SCLFilePane;
import javax.swing.JScrollPane; import javax.swing.JScrollPane;
...@@ -34,7 +34,8 @@ import javax.swing.JPanel; ...@@ -34,7 +34,8 @@ import javax.swing.JPanel;
public class RiseClipseValidatorSCLApplication { public class RiseClipseValidatorSCLApplication {
private JFrame frame; private JFrame frame;
private OCLFilePane oclTree; private TreeFilePane oclTree;
private TreeFilePane nsdTree;
/** /**
* Launch the application. * Launch the application.
...@@ -78,16 +79,29 @@ public class RiseClipseValidatorSCLApplication { ...@@ -78,16 +79,29 @@ public class RiseClipseValidatorSCLApplication {
JScrollPane oclPane = new JScrollPane(); JScrollPane oclPane = new JScrollPane();
tabbedPane.addTab( "OCL Files", null, oclPane, null ); tabbedPane.addTab( "OCL Files", null, oclPane, null );
File fileRoot = new File( System.getProperty( "user.dir" ) + "/OCL" ); File oclRoot = new File( System.getProperty( "user.dir" ) + "/OCL" );
oclTree = new OCLFilePane( fileRoot ); oclTree = new TreeFilePane( oclRoot );
oclPane.setViewportView( oclTree ); oclPane.setViewportView( oclTree );
JScrollPane nsdPane = new JScrollPane();
tabbedPane.addTab( "NSD Files", null, nsdPane, null );
File nsdRoot = new File( System.getProperty( "user.dir" ) + "/NSD" );
nsdTree = new TreeFilePane( nsdRoot );
nsdPane.setViewportView( nsdTree );
} }
public ArrayList< File > getOclFiles() { public ArrayList< File > getOclFiles() {
ArrayList< File > oclFiles = new ArrayList<>(); ArrayList< File > oclFiles = new ArrayList<>();
oclTree.getOclFiles( oclFiles ); oclTree.getSelectedFiles( oclFiles );
return oclFiles; return oclFiles;
} }
public ArrayList< File > getNsdFiles() {
ArrayList< File > nsdFiles = new ArrayList<>();
nsdTree.getSelectedFiles( nsdFiles );
return nsdFiles;
}
} }
...@@ -87,6 +87,13 @@ public class SCLFilePane extends JPanel implements ActionListener { ...@@ -87,6 +87,13 @@ public class SCLFilePane extends JPanel implements ActionListener {
.map( f -> f.getAbsolutePath() ) .map( f -> f.getAbsolutePath() )
.collect( Collectors.toList() ); .collect( Collectors.toList() );
ArrayList< File > nsdFiles = application.getNsdFiles();
List< String > nsdFileNames =
nsdFiles
.stream()
.map( f -> f.getAbsolutePath() )
.collect( Collectors.toList() );
ArrayList< String > sclFiles = sclFilesList.getSclFiles(); ArrayList< String > sclFiles = sclFilesList.getSclFiles();
ResultFrame result = new ResultFrame(); ResultFrame result = new ResultFrame();
...@@ -94,7 +101,7 @@ public class SCLFilePane extends JPanel implements ActionListener { ...@@ -94,7 +101,7 @@ public class SCLFilePane extends JPanel implements ActionListener {
IRiseClipseConsole console = result.getMainConsole(); IRiseClipseConsole console = result.getMainConsole();
AbstractRiseClipseConsole.changeConsole( console ); AbstractRiseClipseConsole.changeConsole( console );
RiseClipseValidatorSCL.displayLegal( ); RiseClipseValidatorSCL.displayLegal( );
RiseClipseValidatorSCL.prepare( oclFileNames, null, false ); RiseClipseValidatorSCL.prepare( oclFileNames, nsdFileNames, false );
result.repaint(); result.repaint();
for( int i = 0; i < sclFiles.size(); ++i ) { for( int i = 0; i < sclFiles.size(); ++i ) {
console = result.getConsoleFor( sclFiles.get( i )); console = result.getConsoleFor( sclFiles.get( i ));
......
...@@ -32,11 +32,11 @@ import javax.swing.tree.TreeCellRenderer; ...@@ -32,11 +32,11 @@ import javax.swing.tree.TreeCellRenderer;
import javax.swing.tree.TreePath; import javax.swing.tree.TreePath;
@SuppressWarnings( "serial" ) @SuppressWarnings( "serial" )
public class OCLFilePane extends JTree { public class TreeFilePane extends JTree {
private DefaultMutableTreeNode root; private DefaultMutableTreeNode root;
public OCLFilePane( File fileRoot ) { public TreeFilePane( File fileRoot ) {
root = new DefaultMutableTreeNode( new SclFileCheckBox( fileRoot ) ); root = new DefaultMutableTreeNode( new SclFileCheckBox( fileRoot ) );
setModel( new DefaultTreeModel( root ) ); setModel( new DefaultTreeModel( root ) );
setShowsRootHandles( true ); setShowsRootHandles( true );
...@@ -98,11 +98,11 @@ public class OCLFilePane extends JTree { ...@@ -98,11 +98,11 @@ public class OCLFilePane extends JTree {
} }
} }
public void getOclFiles( ArrayList< File > oclFiles ) { public void getSelectedFiles( ArrayList< File > oclFiles ) {
getOclFiles( root, oclFiles ); getSelectedFiles( root, oclFiles );
} }
private void getOclFiles( DefaultMutableTreeNode node, ArrayList< File > oclFiles ) { private void getSelectedFiles( DefaultMutableTreeNode node, ArrayList< File > oclFiles ) {
SclFileCheckBox checkbox = ( SclFileCheckBox ) node.getUserObject(); SclFileCheckBox checkbox = ( SclFileCheckBox ) node.getUserObject();
if( checkbox.getFile().isFile() ) { if( checkbox.getFile().isFile() ) {
if( checkbox.getCheckBox().isSelected() ) { if( checkbox.getCheckBox().isSelected() ) {
...@@ -111,7 +111,7 @@ public class OCLFilePane extends JTree { ...@@ -111,7 +111,7 @@ public class OCLFilePane extends JTree {
} }
else { else {
for( int i = 0; i < node.getChildCount(); ++i ) { for( int i = 0; i < node.getChildCount(); ++i ) {
getOclFiles( ( DefaultMutableTreeNode ) node.getChildAt( i ), oclFiles ); getSelectedFiles( ( DefaultMutableTreeNode ) node.getChildAt( i ), oclFiles );
} }
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment