Command FilelistRule
This commit is contained in:
parent
203ceabdf1
commit
07f87d40e5
@ -9,6 +9,7 @@ import lightcontainer.utils.ShaHasher;
|
|||||||
|
|
||||||
import java.security.NoSuchAlgorithmException;
|
import java.security.NoSuchAlgorithmException;
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -171,6 +172,10 @@ public class Context {
|
|||||||
return this.repository.addFileFor(new File(fileName, fileNameSalt, size, iv, Set.of(domain)), getLogin());
|
return this.repository.addFileFor(new File(fileName, fileNameSalt, size, iv, Set.of(domain)), getLogin());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<String> getStringifiedFilesOf() {
|
||||||
|
return repository.load().getStringifiedFilesOf(login);
|
||||||
|
}
|
||||||
|
|
||||||
public boolean canAddFile() {
|
public boolean canAddFile() {
|
||||||
return repository.canAddFile(login);
|
return repository.canAddFile(login);
|
||||||
}
|
}
|
||||||
|
@ -5,6 +5,8 @@ import lightcontainer.interfaces.ProtocolRepository;
|
|||||||
import lightcontainer.protocol.ProtocolReader;
|
import lightcontainer.protocol.ProtocolReader;
|
||||||
import lightcontainer.protocol.rules.writer.FilesRule;
|
import lightcontainer.protocol.rules.writer.FilesRule;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Règle permettant de récupérer la liste des fichiers d'un utilisateur
|
* Règle permettant de récupérer la liste des fichiers d'un utilisateur
|
||||||
*/
|
*/
|
||||||
@ -30,12 +32,18 @@ public class FilelistRule extends ProtocolReader {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Cette méthode est appelée lors de l'exécution de la règle
|
* Cette méthode est appelée lors de l'exécution de la règle
|
||||||
|
*
|
||||||
* @param data Paramètres pour créer la commande.
|
* @param data Paramètres pour créer la commande.
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
protected FilelistRule.Result onExecuted(Context context, String... data) {
|
protected FilelistRule.Result onExecuted(Context context, String... data) {
|
||||||
FilelistRule.Result result = new Result(context);
|
FilelistRule.Result result = new Result(context);
|
||||||
result.setResultCommand(this.protocolRep.executeWriter(context, FilesRule.NAME, "endbenja.txt!500"), ResultCmdReceiver.CLIENT);
|
List<String> files = context.getStringifiedFilesOf();
|
||||||
|
if (files != null) {
|
||||||
|
result.setResultCommand(this.protocolRep.executeWriter(context, FilesRule.NAME, files.toArray(new String[0])), ResultCmdReceiver.CLIENT);
|
||||||
|
} else {
|
||||||
|
result.setResultCommand(this.protocolRep.executeWriter(context, FilesRule.NAME), ResultCmdReceiver.CLIENT);
|
||||||
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,7 @@ package lightcontainer.storage;
|
|||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -67,6 +68,14 @@ public class AppData {
|
|||||||
return this.users.get(userName);
|
return this.users.get(userName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<String> getStringifiedFilesOf(String login) {
|
||||||
|
User user = users.get(login);
|
||||||
|
if (user != null) {
|
||||||
|
return user.getFilesWithSize();
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Use this method when a user signs up.
|
* Use this method when a user signs up.
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
package lightcontainer.storage;
|
package lightcontainer.storage;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -46,6 +48,17 @@ public class User {
|
|||||||
return files.values().iterator();
|
return files.values().iterator();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<String> getFilesWithSize() {
|
||||||
|
Iterator<File> fileIterator = fileIterator();
|
||||||
|
List<String> result = new ArrayList<>();
|
||||||
|
while (fileIterator.hasNext()) {
|
||||||
|
File file = fileIterator.next();
|
||||||
|
String stringify = " " + file.getName() + "!" + file.getSize();
|
||||||
|
result.add(stringify);
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
public File getFile(String fileName) {
|
public File getFile(String fileName) {
|
||||||
return this.files.get(fileName);
|
return this.files.get(fileName);
|
||||||
}
|
}
|
||||||
@ -63,7 +76,7 @@ public class User {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean canAddFile() {
|
public boolean canAddFile() {
|
||||||
return this.files.size() < 50;
|
return this.files.size() <= 50;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user