Package org.jrd.backend.communication
Class FsAgent
- java.lang.Object
-
- org.jrd.backend.communication.FsAgent
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static interfaceFsAgent.CpOperator<T>private static classFsAgent.ListingCpOperatorprivate static classFsAgent.OperateOnCp<T>private static classFsAgent.ReadingCpOperatorprivate static classFsAgent.WritingCpOperator
-
Constructor Summary
Constructors Modifier Constructor Description privateFsAgent(java.util.List<java.io.File> cp)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static voidaddJustClass(java.lang.String s, java.util.List<java.lang.String> classes, java.lang.String root, boolean details, java.lang.String detailsPath)private intcleanOverrides(java.util.regex.Pattern pattern)static FsAgentget(VmInfo vmInfo)java.util.List<java.lang.String>getOverrides()private java.lang.StringreadClasses(boolean details)private static java.lang.Stringsanitize(java.lang.String s)private java.lang.StringsendByteCode(java.lang.String clazz)java.lang.StringsubmitRequest(java.lang.String request)Opens a socket and sends the request to the agent via socket.static java.lang.StringtoClass(java.lang.String s)private java.lang.VoiduploadByteCode(java.lang.String clazz, java.lang.String body)
-
-
-
Field Detail
-
cp
private final java.util.List<java.io.File> cp
-
originals
private final java.util.Map<java.lang.String,java.lang.String> originals
This is exact oposite of how remote agent does this. Remote agent keeps all overrides, because when new class defintion is laoded original is plled, and is modifed (overvritten) by new deffnitio.On contrary, in FS, the class is after writing immediately overriden in file FileSystem. So we keep original, saved during first override. If we keep original, we know class was overwritten. The removal of of override == restore of original (and remvoal of original from map
In addition, insted of byte[] we store base64 encoded String
-
-
Method Detail
-
getOverrides
public java.util.List<java.lang.String> getOverrides()
-
cleanOverrides
private int cleanOverrides(java.util.regex.Pattern pattern)
-
submitRequest
public java.lang.String submitRequest(java.lang.String request)
Opens a socket and sends the request to the agent via socket.- Specified by:
submitRequestin interfaceJrdAgent- Parameters:
request- either "CLASSES" or "BYTES \n className", other formats are refused- Returns:
- agents response or null
-
uploadByteCode
private java.lang.Void uploadByteCode(java.lang.String clazz, java.lang.String body)
-
sendByteCode
private java.lang.String sendByteCode(java.lang.String clazz)
-
readClasses
private java.lang.String readClasses(boolean details) throws java.io.IOException- Throws:
java.io.IOException
-
addJustClass
private static void addJustClass(java.lang.String s, java.util.List<java.lang.String> classes, java.lang.String root, boolean details, java.lang.String detailsPath)
-
toClass
public static java.lang.String toClass(java.lang.String s)
-
sanitize
private static java.lang.String sanitize(java.lang.String s)
-
-