Skip to content
Draft
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
20 changes: 20 additions & 0 deletions src/main/java/core/packetproxy/model/Extensions.java
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.ServiceLoader;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
import javax.swing.JOptionPane;
Expand Down Expand Up @@ -85,6 +86,12 @@ private Extensions() throws Exception {
Extension extension = (Extension) constructor.newInstance();
create(extension);
}

// load extensions via SPI
ServiceLoader<Extension> loader = ServiceLoader.load(Extension.class);
for (Extension extension : loader) {
create(extension);
}
}

public void addPropertyChangeListener(PropertyChangeListener listener) {
Expand All @@ -111,6 +118,19 @@ public Extension loadExtension(String name, String path) {
}
return extension;
}

// SPI経由でロードされた拡張機能を名前で検索
ServiceLoader<Extension> loader = ServiceLoader.load(Extension.class);
for (Extension extension : loader) {
if (extension.getName().equals(name)) {
return extension;
}
}

if (path == null || path.isEmpty()) {
return null;
}

try {

File file = new File(path);
Expand Down
4 changes: 4 additions & 0 deletions src/main/java/core/packetproxy/model/Packets.java
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,10 @@ public List<Packet> queryFullText_i(String search) throws Exception {
.query();
}

public List<Packet> queryByGroup(long group) throws Exception {
return dao.queryBuilder().orderBy("id", true).where().eq("group", group).query();
}

public void firePropertyChange() {
changes.firePropertyChange(PACKETS.toString(), null, null);
}
Expand Down