Skip to content

Commit

Permalink
Updates API
Browse files Browse the repository at this point in the history
  • Loading branch information
emmanue1 committed May 22, 2015
1 parent 1f9767c commit c27f934
Show file tree
Hide file tree
Showing 47 changed files with 54 additions and 54 deletions.
2 changes: 1 addition & 1 deletion api/src/main/java/jd/gui/spi/Indexer.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
import java.util.regex.Pattern;

public interface Indexer {
public String[] getTypes();
public String[] getSelectors();

public Pattern getPathPattern();

Expand Down
2 changes: 1 addition & 1 deletion api/src/main/java/jd/gui/spi/SourceSaver.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
import java.util.regex.Pattern;

public interface SourceSaver {
public String[] getTypes();
public String[] getSelectors();

public Pattern getPathPattern();

Expand Down
2 changes: 1 addition & 1 deletion api/src/main/java/jd/gui/spi/TreeNodeFactory.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
import java.util.regex.Pattern;

public interface TreeNodeFactory {
public String[] getTypes();
public String[] getSelectors();

public Pattern getPathPattern();

Expand Down
2 changes: 1 addition & 1 deletion api/src/main/java/jd/gui/spi/TypeFactory.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
import java.util.regex.Pattern;

public interface TypeFactory {
public String[] getTypes();
public String[] getSelectors();

public Pattern getPathPattern();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ class IndexerService {
def mapProvidersWithDefault = mapProviders.withDefault { new Indexers() }

for (def provider : providers) {
for (String type : provider.types) {
mapProvidersWithDefault[type].add(provider)
for (String selector : provider.selectors) {
mapProvidersWithDefault[selector].add(provider)
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ class SourceSaverService {
def mapProvidersWithDefault = mapProviders.withDefault { new SourceSavers() }

for (def provider : providers) {
for (String type : provider.types) {
mapProvidersWithDefault[type].add(provider)
for (String selector : provider.selectors) {
mapProvidersWithDefault[selector].add(provider)
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ class TreeNodeFactoryService {
def mapProvidersWithDefault = mapProviders.withDefault { new TreeNodeFactories() }

for (def provider : providers) {
for (String type : provider.types) {
mapProvidersWithDefault[type].add(provider)
for (String selector : provider.selectors) {
mapProvidersWithDefault[selector].add(provider)
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ class TypeFactoryService {
def mapProvidersWithDefault = mapProviders.withDefault { new TypeFactories() }

for (def provider : providers) {
for (String type : provider.types) {
mapProvidersWithDefault[type].add(provider)
for (String selector : provider.selectors) {
mapProvidersWithDefault[selector].add(provider)
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import jd.gui.spi.Indexer
import java.util.regex.Pattern

class DirectoryIndexerProvider implements Indexer {
String[] getTypes() { ['*:dir:*'] }
String[] getSelectors() { ['*:dir:*'] }

Pattern getPathPattern() { null }

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import jd.gui.api.model.Indexes
import jd.gui.util.xml.AbstractXmlPathFinder

class EjbJarXmlFileIndexerProvider extends XmlFileIndexerProvider {
String[] getTypes() { ['*:file:META-INF/ejb-jar.xml'] }
String[] getSelectors() { ['*:file:META-INF/ejb-jar.xml'] }

void index(API api, Container.Entry entry, Indexes indexes) {
super.index(api, entry, indexes)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import java.util.regex.Pattern
class MetainfServiceFileIndexerProvider implements Indexer {
Pattern pattern = ~/META-INF\/services\/[^\/]+/

String[] getTypes() { ['*:file:*'] }
String[] getSelectors() { ['*:file:*'] }

Pattern getPathPattern() { pattern }

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import jd.gui.spi.Indexer
import java.util.regex.Pattern

class TextFileIndexerProvider implements Indexer {
String[] getTypes() { [
String[] getSelectors() { [
'*:file:*.txt', '*:file:*.html', '*:file:*.xhtml', '*:file:*.js', '*:file:*.jsp', '*:file:*.jspf',
'*:file:*.xml', '*:file:*.xsl', '*:file:*.xslt', '*:file:*.xsd', '*:file:*.properties', '*:file:*.sql'] }

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import jd.gui.api.model.Indexes
import jd.gui.util.xml.AbstractXmlPathFinder

class WebXmlFileIndexerProvider extends XmlFileIndexerProvider {
String[] getTypes() { ['*:file:WEB-INF/web.xml'] }
String[] getSelectors() { ['*:file:WEB-INF/web.xml'] }

void index(API api, Container.Entry entry, Indexes indexes) {
super.index(api, entry, indexes)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ class XmlFileIndexerProvider implements Indexer {
factory.setProperty(XMLInputFactory.SUPPORT_DTD, false)
}

String[] getTypes() { ['*:file:*.xml', '*:file:*.xsl', '*:file:*.xslt', '*:file:*.xsd'] }
String[] getSelectors() { ['*:file:*.xml', '*:file:*.xsl', '*:file:*.xslt', '*:file:*.xsd'] }

Pattern getPathPattern() { null }

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import jd.gui.spi.Indexer
import java.util.regex.Pattern

class ZipFileIndexerProvider implements Indexer {
String[] getTypes() { ['*:file:*.zip', '*:file:*.jar', '*:file:*.war', '*:file:*.ear'] }
String[] getSelectors() { ['*:file:*.zip', '*:file:*.jar', '*:file:*.war', '*:file:*.ear'] }

Pattern getPathPattern() { null }

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import java.nio.file.Path
import java.util.regex.Pattern

class DirectorySourceSaverProvider implements SourceSaver {
String[] getTypes() { ['*:dir:*'] }
String[] getSelectors() { ['*:dir:*'] }

Pattern getPathPattern() { null }

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import java.nio.file.StandardCopyOption
import java.util.regex.Pattern

class FileSourceSaverProvider implements SourceSaver {
String[] getTypes() { ['*:file:*'] }
String[] getSelectors() { ['*:file:*'] }

Pattern getPathPattern() { null }

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import jd.gui.util.JarContainerEntryUtil
import java.nio.file.Path

class PackageSourceSaverProvider extends DirectorySourceSaverProvider {
String[] getTypes() { ['jar:dir:*', 'war:dir:*', 'ear:dir:*'] }
String[] getSelectors() { ['jar:dir:*', 'war:dir:*', 'ear:dir:*'] }

void save(API api, SourceSaver.Controller controller, SourceSaver.Listener listener, Path path, Container.Entry entry) {
save(api, controller, listener, path, JarContainerEntryUtil.removeInnerTypeEntries(entry.children))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import java.nio.file.Paths

class ZipFileSourceSaverProvider extends DirectorySourceSaverProvider {

String[] getTypes() { ['*:file:*.zip', '*:file:*.jar', '*:file:*.war', '*:file:*.ear'] }
String[] getSelectors() { ['*:file:*.zip', '*:file:*.jar', '*:file:*.war', '*:file:*.ear'] }

String getSourcePath(Container.Entry entry) {
def path = entry.path
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ class ClassFileTreeNodeFactoryProvider implements TreeNodeFactory {
} catch (Exception ignore) {}
}

String[] getTypes() { ['*:file:*.class'] }
String[] getSelectors() { ['*:file:*.class'] }

Pattern getPathPattern() { null }

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import javax.swing.tree.DefaultMutableTreeNode
class CssFileTreeNodeFactoryProvider extends TextFileTreeNodeFactoryProvider {
static final ImageIcon icon = new ImageIcon(HtmlFileTreeNodeFactoryProvider.class.classLoader.getResource('images/css_obj.png'))

String[] getTypes() { ['*:file:*.css'] }
String[] getSelectors() { ['*:file:*.css'] }

public <T extends DefaultMutableTreeNode & UriGettable> T make(API api, Container.Entry entry) {
int lastSlashIndex = entry.path.lastIndexOf('/')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ class DirectoryTreeNodeFactoryProvider implements TreeNodeFactory {
static final ImageIcon icon = new ImageIcon(DirectoryTreeNodeFactoryProvider.class.classLoader.getResource('images/folder.gif'))
static final ImageIcon openIcon = new ImageIcon(DirectoryTreeNodeFactoryProvider.class.classLoader.getResource('images/folder_open.png'))

String[] getTypes() { ['*:dir:*'] }
String[] getSelectors() { ['*:dir:*'] }
Pattern getPathPattern() { null }

public <T extends DefaultMutableTreeNode & UriGettable> T make(API api, Container.Entry entry) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import javax.swing.tree.DefaultMutableTreeNode
class DtdFileTreeNodeFactoryProvider extends TextFileTreeNodeFactoryProvider {
static final ImageIcon icon = new ImageIcon(DtdFileTreeNodeFactoryProvider.class.classLoader.getResource('images/dtd_obj.gif'))

String[] getTypes() { ['*:file:*.dtd'] }
String[] getSelectors() { ['*:file:*.dtd'] }

public <T extends DefaultMutableTreeNode & UriGettable> T make(API api, Container.Entry entry) {
int lastSlashIndex = entry.path.lastIndexOf('/')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import javax.swing.tree.DefaultMutableTreeNode
class EarFileTreeNodeFactoryProvider extends ZipFileTreeNodeFactoryProvider {
static final ImageIcon icon = new ImageIcon(JarFileTreeNodeFactoryProvider.class.classLoader.getResource('images/ear_obj.gif'))

String[] getTypes() { ['*:file:*.ear'] }
String[] getSelectors() { ['*:file:*.ear'] }

public <T extends DefaultMutableTreeNode & UriGettable> T make(API api, Container.Entry entry) {
int lastSlashIndex = entry.path.lastIndexOf('/')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import javax.swing.tree.DefaultMutableTreeNode
class EjbJarXmlFileTreeNodeFactoryProvider extends FileTreeNodeFactoryProvider {
static final ImageIcon icon = new ImageIcon(ManifestFileTreeNodeFactoryProvider.class.classLoader.getResource('images/xml_obj.gif'))

String[] getTypes() { ['jar:file:META-INF/ejb-jar.xml'] }
String[] getSelectors() { ['jar:file:META-INF/ejb-jar.xml'] }

public <T extends DefaultMutableTreeNode & UriGettable> T make(API api, Container.Entry entry) {
return new TreeNode(entry, new TreeNodeBean(label:'ejb-jar.xml', icon:icon, tip:"Location: $entry.uri.path"))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import java.util.regex.Pattern
class FileTreeNodeFactoryProvider implements TreeNodeFactory {
static final ImageIcon icon = new ImageIcon(FileTreeNodeFactoryProvider.class.classLoader.getResource('images/file_plain_obj.png'))

String[] getTypes() { ['*:file:*'] }
String[] getSelectors() { ['*:file:*'] }

Pattern getPathPattern() { null }

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import javax.swing.tree.DefaultMutableTreeNode
class HtmlFileTreeNodeFactoryProvider extends TextFileTreeNodeFactoryProvider {
static final ImageIcon icon = new ImageIcon(HtmlFileTreeNodeFactoryProvider.class.classLoader.getResource('images/html_obj.gif'))

String[] getTypes() { ['*:file:*.html', '*:file:*.xhtml'] }
String[] getSelectors() { ['*:file:*.html', '*:file:*.xhtml'] }

public <T extends DefaultMutableTreeNode & UriGettable> T make(API api, Container.Entry entry) {
int lastSlashIndex = entry.path.lastIndexOf('/')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ class JarFileTreeNodeFactoryProvider extends ZipFileTreeNodeFactoryProvider {
static final ImageIcon jarFileIcon = new ImageIcon(JarFileTreeNodeFactoryProvider.class.classLoader.getResource('images/jar_obj.png'))
static final ImageIcon ejbFileIcon = new ImageIcon(JarFileTreeNodeFactoryProvider.class.classLoader.getResource('images/ejbmodule_obj.gif'))

String[] getTypes() { ['*:file:*.jar'] }
String[] getSelectors() { ['*:file:*.jar'] }

public <T extends DefaultMutableTreeNode & UriGettable> T make(API api, Container.Entry entry) {
int lastSlashIndex = entry.path.lastIndexOf('/')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import javax.swing.tree.DefaultMutableTreeNode
class JavascriptFileTreeNodeFactoryProvider extends TextFileTreeNodeFactoryProvider {
static final ImageIcon icon = new ImageIcon(JavascriptFileTreeNodeFactoryProvider.class.classLoader.getResource('images/js_obj.png'))

String[] getTypes() { ['*:file:*.js'] }
String[] getSelectors() { ['*:file:*.js'] }

public <T extends DefaultMutableTreeNode & UriGettable> T make(API api, Container.Entry entry) {
int lastSlashIndex = entry.path.lastIndexOf('/')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import javax.swing.tree.DefaultMutableTreeNode
class JspFileTreeNodeFactoryProvider extends TextFileTreeNodeFactoryProvider {
static final ImageIcon icon = new ImageIcon(HtmlFileTreeNodeFactoryProvider.class.classLoader.getResource('images/html_obj.gif'))

String[] getTypes() { ['*:file:*.jsp', '*:file:*.jspf'] }
String[] getSelectors() { ['*:file:*.jsp', '*:file:*.jspf'] }

public <T extends DefaultMutableTreeNode & UriGettable> T make(API api, Container.Entry entry) {
int lastSlashIndex = entry.path.lastIndexOf('/')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ import javax.swing.tree.DefaultMutableTreeNode
class ManifestFileTreeNodeFactoryProvider extends FileTreeNodeFactoryProvider {
static final ImageIcon icon = new ImageIcon(ManifestFileTreeNodeFactoryProvider.class.classLoader.getResource('images/manifest_obj.png'))

String[] getTypes() { ['*:file:META-INF/MANIFEST.MF'] }
String[] getSelectors() { ['*:file:META-INF/MANIFEST.MF'] }

public <T extends DefaultMutableTreeNode & UriGettable> T make(API api, Container.Entry entry) {
return new TreeNode(entry, new TreeNodeBean(label:'MANIFEST.MF', icon:icon, tip:"Location: $entry.uri.path"))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ class MetainfDirectoryTreeNodeFactoryProvider extends DirectoryTreeNodeFactoryPr

Pattern pattern = ~/(WEB-INF|(WEB-INF\/classes\/)?META-IN(F|F\/.*))/

String[] getTypes() { ['jar:dir:*', 'war:dir:*', 'ear:dir:*'] }
String[] getSelectors() { ['jar:dir:*', 'war:dir:*', 'ear:dir:*'] }

Pattern getPathPattern() { pattern }

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import java.util.regex.Pattern
class MetainfServiceFileTreeNodeFactoryProvider extends TextFileTreeNodeFactoryProvider {
Pattern pattern = ~/META-INF\/services\/[^\/]+/

String[] getTypes() { ['*:file:*'] }
String[] getSelectors() { ['*:file:*'] }

Pattern getPathPattern() { pattern }
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import java.util.regex.Pattern
class PackageTreeNodeFactoryProvider extends DirectoryTreeNodeFactoryProvider {
static final ImageIcon icon = new ImageIcon(PackageTreeNodeFactoryProvider.class.classLoader.getResource('images/package_obj.png'))

String[] getTypes() { ['jar:dir:*'] }
String[] getSelectors() { ['jar:dir:*'] }

Pattern getPathPattern() { null }

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import javax.swing.tree.DefaultMutableTreeNode
class PropertiesFileTreeNodeFactoryProvider extends TextFileTreeNodeFactoryProvider {
static final ImageIcon icon = new ImageIcon(PropertiesFileTreeNodeFactoryProvider.class.classLoader.getResource('images/ascii_obj.png'))

String[] getTypes() { ['*:file:*.properties'] }
String[] getSelectors() { ['*:file:*.properties'] }

public <T extends DefaultMutableTreeNode & UriGettable> T make(API api, Container.Entry entry) {
int lastSlashIndex = entry.path.lastIndexOf('/')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import javax.swing.tree.DefaultMutableTreeNode
class SqlFileTreeNodeFactoryProvider extends TextFileTreeNodeFactoryProvider {
static final ImageIcon icon = new ImageIcon(SqlFileTreeNodeFactoryProvider.class.classLoader.getResource('images/sql_obj.png'))

String[] getTypes() { ['*:file:*.sql'] }
String[] getSelectors() { ['*:file:*.sql'] }

public <T extends DefaultMutableTreeNode & UriGettable> T make(API api, Container.Entry entry) {
int lastSlashIndex = entry.path.lastIndexOf('/')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ class TextFileTreeNodeFactoryProvider extends FileTreeNodeFactoryProvider {
Theme.load(TextFileTreeNodeFactoryProvider.class.classLoader.getResourceAsStream('rsyntaxtextarea/themes/eclipse.xml'))
}

String[] getTypes() { ['*:file:*.txt', '*:file:*.md', '*:file:*.SF', '*:file:*.policy'] }
String[] getSelectors() { ['*:file:*.txt', '*:file:*.md', '*:file:*.SF', '*:file:*.policy'] }

public <T extends DefaultMutableTreeNode & UriGettable> T make(API api, Container.Entry entry) {
int lastSlashIndex = entry.path.lastIndexOf('/')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import javax.swing.tree.DefaultMutableTreeNode
class WarFileTreeNodeFactoryProvider extends ZipFileTreeNodeFactoryProvider {
static final ImageIcon icon = new ImageIcon(JarFileTreeNodeFactoryProvider.class.classLoader.getResource('images/war_obj.gif'))

String[] getTypes() { ['*:file:*.war'] }
String[] getSelectors() { ['*:file:*.war'] }

public <T extends DefaultMutableTreeNode & UriGettable> T make(API api, Container.Entry entry) {
int lastSlashIndex = entry.path.lastIndexOf('/')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import java.util.regex.Pattern
class WarPackageTreeNodeFactoryProvider extends PackageTreeNodeFactoryProvider {
Pattern pattern = ~/WEB-INF\/classes\/.*/

String[] getTypes() { ['war:dir:*'] }
String[] getSelectors() { ['war:dir:*'] }

Pattern getPathPattern() { pattern }
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import javax.swing.tree.DefaultMutableTreeNode
class WebXmlFileTreeNodeFactoryProvider extends FileTreeNodeFactoryProvider {
static final ImageIcon icon = new ImageIcon(ManifestFileTreeNodeFactoryProvider.class.classLoader.getResource('images/xml_obj.gif'))

String[] getTypes() { ['war:file:WEB-INF/web.xml'] }
String[] getSelectors() { ['war:file:WEB-INF/web.xml'] }

public <T extends DefaultMutableTreeNode & UriGettable> T make(API api, Container.Entry entry) {
return new TreeNode(entry, new TreeNodeBean(label:'web.xml', icon:icon, tip:"Location: $entry.uri.path"))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import java.util.regex.Pattern
class WebinfClassesDirectoryTreeNodeFactoryProvider extends DirectoryTreeNodeFactoryProvider {
static final ImageIcon icon = new ImageIcon(WebinfClassesDirectoryTreeNodeFactoryProvider.class.classLoader.getResource('images/packagefolder_obj.png'))

String[] getTypes() { ['war:dir:WEB-INF/classes'] }
String[] getSelectors() { ['war:dir:WEB-INF/classes'] }

ImageIcon getIcon() { icon }
ImageIcon getOpenIcon() { null }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import javax.swing.*
class WebinfLibDirectoryTreeNodeFactoryProvider extends DirectoryTreeNodeFactoryProvider {
static final ImageIcon icon = new ImageIcon(WebinfLibDirectoryTreeNodeFactoryProvider.class.classLoader.getResource('images/archivefolder_obj.png'))

String[] getTypes() { ['war:dir:WEB-INF/lib'] }
String[] getSelectors() { ['war:dir:WEB-INF/lib'] }

ImageIcon getIcon() { icon }
ImageIcon getOpenIcon() { null }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import javax.swing.tree.DefaultMutableTreeNode
class XmlFileTreeNodeFactoryProvider extends TextFileTreeNodeFactoryProvider {
static final ImageIcon icon = new ImageIcon(XmlFileTreeNodeFactoryProvider.class.classLoader.getResource('images/xml_obj.gif'))

String[] getTypes() { ['*:file:*.xml', '*:file:*.xsl', '*:file:*.xslt', '*:file:*.xsd', '*:file:*.tld', '*:file:*.wsdl'] }
String[] getSelectors() { ['*:file:*.xml', '*:file:*.xsl', '*:file:*.xslt', '*:file:*.xsd', '*:file:*.tld', '*:file:*.wsdl'] }

public <T extends DefaultMutableTreeNode & UriGettable> T make(API api, Container.Entry entry) {
int lastSlashIndex = entry.path.lastIndexOf('/')
Expand Down
Loading

0 comments on commit c27f934

Please sign in to comment.