Mercurial > hg > release > icedtea-web-1.3
changeset 221:f0cccaba8060
Allow delete only when plugin or javaws is not running
author | Andrew Su <asu@redhat.com> |
---|---|
date | Wed, 20 Apr 2011 14:35:13 -0400 |
parents | 6e89f860a35a |
children | ad820e40fe56 |
files | ChangeLog netx/net/sourceforge/jnlp/controlpanel/CachePane.java |
diffstat | 2 files changed, 36 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Wed Apr 20 11:48:16 2011 -0400 +++ b/ChangeLog Wed Apr 20 14:35:13 2011 -0400 @@ -1,3 +1,9 @@ +2011-04-20 Andrew Su <asu@redhat.com> + + * netx/net/sourceforge/jnlp/controlpanel/CachePane.java: + (createButtonPanel): Added check to delete button for whether plugin + or javaws is not running before proceeding with delete. + 2011-04-20 Andrew Su <asu@redhat.com> * netx/net/sourceforge/jnlp/cache/CacheUtil.java:
--- a/netx/net/sourceforge/jnlp/controlpanel/CachePane.java Wed Apr 20 11:48:16 2011 -0400 +++ b/netx/net/sourceforge/jnlp/controlpanel/CachePane.java Wed Apr 20 14:35:13 2011 -0400 @@ -26,6 +26,10 @@ import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.nio.channels.FileLock; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; @@ -125,8 +129,25 @@ deleteButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { + FileLock fl = null; + File netxRunningFile = new File(config.getProperty(DeploymentConfiguration.KEY_USER_NETX_RUNNING_FILE)); + if (!netxRunningFile.exists()) { + try { + FileUtils.createParentDir(netxRunningFile); + FileUtils.createRestrictedFile(netxRunningFile, true); + } catch (IOException e1) { + e1.printStackTrace(); + } + } + + try { + fl = FileUtils.getFileLock(netxRunningFile.getPath(), false, false); + } catch (FileNotFoundException e1) { + } + int row = cacheTable.getSelectedRow(); try { + if (fl == null) return; if (row == -1 || row > cacheTable.getRowCount() - 1) return; int modelRow = cacheTable.convertRowIndexToModel(row); @@ -141,6 +162,15 @@ } catch (Exception exception) { //ignore } + + if (fl != null) { + try { + fl.release(); + fl.channel().close(); + } catch (IOException e1) { + e1.printStackTrace(); + } + } } }); buttons.add(deleteButton);