Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package org.protege.editor.owl.model.library;

import org.protege.editor.owl.ui.library.NewEntryPanel;
import org.protege.editor.owl.ui.library.plugins.NextCatalogPanel;
import org.protege.xmlcatalog.XMLCatalog;
import org.protege.xmlcatalog.entry.Entry;
import org.protege.xmlcatalog.entry.NextCatalogEntry;
Expand All @@ -12,12 +13,12 @@ public class NextCatalogManager extends CatalogEntryManager {


public String getDescription() {
return "Import Ontology Library";
return "Import XML Catalog";
}


public String getDescription(Entry entry) {
return "<html><body><b>Import Repository " +
return "<html><body><b>"+getDescription()+" " +
((NextCatalogEntry) entry).getCatalog() +
"</b></body></html>";
}
Expand All @@ -34,7 +35,7 @@ public boolean isSuitable(Entry entry) {


public NewEntryPanel newEntryPanel(XMLCatalog catalog) {
return null;
return new NextCatalogPanel(catalog);
}


Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
package org.protege.editor.owl.model.library;

import org.protege.editor.owl.ui.library.NewEntryPanel;
import org.protege.editor.owl.ui.library.plugins.RewriteUriEntryPanel;
import org.protege.xmlcatalog.XMLCatalog;
import org.protege.xmlcatalog.entry.Entry;
import org.protege.xmlcatalog.entry.NextCatalogEntry;
import org.protege.xmlcatalog.entry.RewriteUriEntry;

import java.io.File;
import java.io.IOException;

/**
* Created by vblagodarov on 03-08-17.
*/
public class RewriteUriEntryManager extends CatalogEntryManager {
@Override
public boolean isSuitable(Entry entry) {
return entry instanceof RewriteUriEntry;
}

@Override
public boolean update(Entry entry) throws IOException {
return false;
}

@Override
public boolean initializeCatalog(File folder, XMLCatalog catalog) throws IOException {
return false;
}

@Override
public NewEntryPanel newEntryPanel(XMLCatalog catalog) {
return new RewriteUriEntryPanel(catalog);
}

@Override
public String getDescription() {
return "Rewrite uri entry";
}

@Override
public String getDescription(Entry entry) {
RewriteUriEntry rewriteEntry = (RewriteUriEntry) entry;
return "<html><body><b>Rewrite " + rewriteEntry.getUriStartString() + "</b><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"
+ "<font color=\"gray\"> by: " + rewriteEntry.getRewritePrefix() + "</font><p> </p></body></html>";
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public static Entry askUserForRepository(JComponent parent, XMLCatalog catalog,
dialog.setVisible(true);
Entry e = dialog.getEntry();
if (e != null) {
catalog.addEntry(0, e);
catalog.addEntry(e);
for (CatalogEntryManager entryManager : entryManagers) {
if (entryManager.isSuitable(e)) {
try {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
package org.protege.editor.owl.ui.library;

import org.protege.xmlcatalog.CatalogUtilities;
import org.protege.xmlcatalog.XmlBaseContext;

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.io.File;
import java.net.URI;

/**
* Created by vblagodarov on 09-08-17.
*/
public class ChooseFileAction extends AbstractAction {
private JComponent parent;
private XmlBaseContext original;
private JTextField physicalLocation;

public ChooseFileAction(JComponent parent, XmlBaseContext original, JTextField physicalLocation) {
this.parent = parent;
this.original = original;
this.physicalLocation = physicalLocation;
}

public void actionPerformed(ActionEvent e) {
JFileChooser fileChooser = new JFileChooser();
URI base = CatalogUtilities.resolveXmlBase(original);
File directory;
if (base != null && (directory = new File(base)).isDirectory()) {
fileChooser.setCurrentDirectory(directory);
}
int retValue = fileChooser.showOpenDialog(parent);
if (retValue == JFileChooser.APPROVE_OPTION) {
physicalLocation.setText(fileChooser.getSelectedFile().toURI().toString());
}
}
}
Original file line number Diff line number Diff line change
@@ -1,43 +1,27 @@
package org.protege.editor.owl.ui.library;

import org.protege.xmlcatalog.XMLCatalog;
import org.protege.xmlcatalog.entry.Entry;
import org.protege.xmlcatalog.entry.GroupEntry;
import org.protege.xmlcatalog.entry.NextCatalogEntry;

import javax.swing.*;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.tree.TreePath;
import java.awt.event.ActionEvent;

public class DeleteRedirectAction extends AbstractAction {
private JTree tree;
private TreePath selectionPath;
private DefaultMutableTreeNode node;
private XMLCatalog catalog;
private OntologyLibraryPanel.JTreeRefresh refreshTree;

public DeleteRedirectAction(JTree tree, TreePath selectionPath) {
public DeleteRedirectAction(XMLCatalog catalog, DefaultMutableTreeNode nodeToDelete, OntologyLibraryPanel.JTreeRefresh action) {
super("Delete Library Entry");
this.selectionPath = selectionPath;
this.tree = tree;
node = nodeToDelete;
this.catalog = catalog;
refreshTree = action;
}

public void actionPerformed(ActionEvent e) {
DefaultMutableTreeNode nodeToDelete = (DefaultMutableTreeNode) selectionPath.getLastPathComponent();
boolean deleteFromTree = false;
Entry toDelete = (Entry) nodeToDelete.getUserObject();
Object o = ((DefaultMutableTreeNode) selectionPath.getParentPath().getLastPathComponent()).getUserObject();

if (o instanceof GroupEntry) {
GroupEntry group = (GroupEntry) o;
group.removeEntry(toDelete);
deleteFromTree = true;
}
else if (o instanceof NextCatalogEntry) {
NextCatalogEntry subCatalogEntry = (NextCatalogEntry) o;
throw new UnsupportedOperationException("Not implemented yet");
}
if (deleteFromTree) {
((DefaultTreeModel) tree.getModel()).removeNodeFromParent(nodeToDelete);
tree.repaint();
if(node.getUserObject() !=null){
catalog.removeEntry((Entry) node.getUserObject());
refreshTree.refreshView();
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
package org.protege.editor.owl.ui.library;

import org.protege.xmlcatalog.XMLCatalog;
import org.protege.xmlcatalog.entry.Entry;
import org.slf4j.LoggerFactory;

import javax.swing.*;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import javax.swing.tree.DefaultMutableTreeNode;
import java.awt.*;
import java.awt.event.ActionEvent;

/**
* Created by vblagodarov on 09-08-17.
*/
public abstract class EditLibraryEntryAction<T extends Entry> extends AbstractAction {

private JTree tree;
private OntologyLibraryPanel.JTreeRefresh refreshAction;
private DefaultMutableTreeNode node;
private XMLCatalog catalog;
private String title;

public EditLibraryEntryAction(String windowTitle, JTree parent, DefaultMutableTreeNode selectedNode, XMLCatalog catalog, OntologyLibraryPanel.JTreeRefresh action) {
super("Edit Library Entry");
tree = parent;
node = selectedNode;
this.catalog = catalog;
refreshAction = action;
title = windowTitle;
}

@Override
public void actionPerformed(ActionEvent e) {
T entry = (T) node.getUserObject();
ILibraryEntryEditor<T> entryEditor = getNewEditorPanel(entry);
final JButton ok = new JButton("OK");
ok.setEnabled(true);
ok.addActionListener(e1 -> {
Window w = SwingUtilities.getWindowAncestor(ok);
if (w != null) {
w.setVisible(false);
T edited = entryEditor.getEntry(entry);
if (edited == null) {
return;
}
try {
catalog.replaceEntry(entry, edited);
node.setUserObject(edited);
refreshAction.refreshView();
} catch (Exception ex) {
LoggerFactory.getLogger(EditUriAction.class)
.error("An error occurred while updating the catalog entry", ex);
}
}
});
entryEditor.addDocumentListener(new DocumentListener() {
@Override
public void insertUpdate(DocumentEvent e) {
ok.setEnabled(entryEditor.isInputValid());
}

@Override
public void removeUpdate(DocumentEvent e) {
ok.setEnabled(entryEditor.isInputValid());
}

@Override
public void changedUpdate(DocumentEvent e) {
ok.setEnabled(entryEditor.isInputValid());
}
});

JOptionPane.showOptionDialog(tree, entryEditor.getComponent(), title, JOptionPane.NO_OPTION, JOptionPane.PLAIN_MESSAGE, null, new JButton[]{ok}, ok);
}

protected abstract ILibraryEntryEditor<T> getNewEditorPanel(T entry);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package org.protege.editor.owl.ui.library;

import org.protege.xmlcatalog.XMLCatalog;
import org.protege.xmlcatalog.entry.NextCatalogEntry;

import javax.swing.*;
import javax.swing.tree.DefaultMutableTreeNode;

/**
* Created by vblagodarov on 08-08-17.
*/
public class EditNextCatalogAction extends EditLibraryEntryAction<NextCatalogEntry> {

public EditNextCatalogAction(JTree parent, DefaultMutableTreeNode selectedNode, XMLCatalog catalog, OntologyLibraryPanel.JTreeRefresh action) {
super("Next catalog physical location", parent, selectedNode, catalog, action);
}

@Override
protected ILibraryEntryEditor<NextCatalogEntry> getNewEditorPanel(NextCatalogEntry entry) {
return new NextCatalogEntryEditorPanel(entry);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package org.protege.editor.owl.ui.library;

import org.protege.xmlcatalog.XMLCatalog;
import org.protege.xmlcatalog.entry.RewriteUriEntry;

import javax.swing.*;
import javax.swing.tree.DefaultMutableTreeNode;

/**
* Created by vblagodarov on 09-08-17.
*/
public class EditRewriteUriAction extends EditLibraryEntryAction<RewriteUriEntry> {
public EditRewriteUriAction(JTree parent, DefaultMutableTreeNode selectedNode, XMLCatalog catalog, OntologyLibraryPanel.JTreeRefresh action) {
super("Rewrite uri entry", parent, selectedNode, catalog, action);
}

@Override
protected ILibraryEntryEditor<RewriteUriEntry> getNewEditorPanel(RewriteUriEntry entry) {
return new RewriteUriEntryEditorPanel(entry);
}
}
Loading