Beispiel #1
0
    def test_serialization(self):
        object1 = 42
        object2 = ['a', 1, 1.0]
        object3 = Foo()
        object3.baz = 99

        object4 = awt.Color(1, 2, 3)

        #writing
        fout = io.ObjectOutputStream(io.FileOutputStream(self.sername))
        #Python int
        fout.writeObject(object1)
        #Python list
        fout.writeObject(object2)
        #Python instance
        fout.writeObject(object3)
        #Java instance
        fout.writeObject(object4)
        fout.close()

        fin = io.ObjectInputStream(io.FileInputStream(self.sername))

        #reading
        iobject1 = fin.readObject()
        iobject2 = fin.readObject()
        iobject3 = fin.readObject()
        iobject4 = fin.readObject()
        fin.close()

        self.assertEqual(iobject1, object1)
        self.assertEqual(iobject2, object2)
        self.assertEqual(iobject3.baz, 99)
        self.assertEqual(iobject3.bar(), 'bar')
        self.assertEqual(iobject3.__class__, Foo)
        self.assertEqual(iobject4, object4)
Beispiel #2
0
def serialize_object(obj, filename):
    #print "serializing", obj, "to", filename
    file = io.FileOutputStream(filename)
    objstream = io.ObjectOutputStream(file)
    objstream.writeObject(obj)
    objstream.close()
    file.close()
Beispiel #3
0
def saveObject(fName, x, overwritable=False, gzip=False):
    if gzip: fName = fName + ".gz"
    if os.path.isfile(fName) and (overwritable == False):
        raise Exception("File already exists : " + fName)
    from java import io
    fs = io.FileOutputStream(fName)
    if gzip: fs = java.util.zip.GZIPOutputStream(fs)
    outs = io.ObjectOutputStream(fs)
    outs.writeObject(x)
    outs.close()
Beispiel #4
0
def snapshot(uuid, obj=None):
    spath = __register__.getStorePath() + '/' + str(uuid)

    import java.io as io
    import org.python.util as util
    outFile = io.FileOutputStream(spath)
    outStream = io.ObjectOutputStream(outFile)
    if not obj is None:
        outStream.writeObject(obj)
    outFile.close()
Beispiel #5
0
def maybe_serialize(file, force=False):
    serialized_file = os.path.splitext(file)[0] + '.ser'

    if not os.path.isfile(serialized_file) or force:
        stdout.write("Serializing Data-Set...\n\n")

        with open(file, "r") as pima:
            reader_list = list(csv.reader(pima))

            stdout.write("Some sample, un-shuffled data: \n%s\n\n" % reader_list[:3])

            normalize_data(reader_list)
            random.shuffle(reader_list)

            number_of_instances = len(reader_list)
            train_instances = []
            for row in reader_list[:int(number_of_instances *
                                                TRAIN_TEST_SPLIT_RATIO)]:
                instance = Instance([float(value) for value in row[:-1]])
                instance.setLabel(Instance(0 if float(row[-1]) == -1 else 1))
                train_instances.append(instance)

            test_instances = []
            for row in reader_list[int(number_of_instances *
                                               TRAIN_TEST_SPLIT_RATIO):]:
                instance = Instance([float(value) for value in row[:-1]])
                instance.setLabel(Instance(0 if float(row[-1]) == -1 else 1))
                test_instances.append(instance)

            stdout.write("Some sample, shuffled training data (after "
                         "normalization): "
                         "\n%s\n\n" % train_instances[:3])
            stdout.write("Some sample, shuffled test data (after "
                         "normalization): \n%s\n\n" %
                         test_instances[:3])

            stdout.write("Train Data\tTest Data\n")
            stdout.write("%s\t\t%s\n" % (len(train_instances),
                                       len(test_instances)))

            save = {
                TRAIN: train_instances,
                TEST: test_instances,
            }

            outFile = io.FileOutputStream(serialized_file)
            outStream = io.ObjectOutputStream(outFile)

            outStream.writeObject(save)
            outFile.close()
    else:
        stdout.write("Serialized file for data-set found.\n")

    return serialized_file
Beispiel #6
0
 def saveClick(self, e):
     returnVal = self._fc.showSaveDialog(self._splitpane)
     if returnVal == JFileChooser.APPROVE_OPTION:
         f = self._fc.getSelectedFile()
         if f.exists():
             result = JOptionPane.showConfirmDialog(
                 self._splitpane, "The file exists, overwrite?",
                 "Existing File", JOptionPane.YES_NO_OPTION)
             if result != JOptionPane.YES_OPTION:
                 return
         fileName = f.getPath()
         outs = io.ObjectOutputStream(io.FileOutputStream(fileName))
         outs.writeObject(self._db.getSaveableObject())
         outs.close()
Beispiel #7
0
    def execute(self, data):
        if not self.is_jython:
            print '[!] This module can only be used in jython!'
            return data

        # Creating XStream object and creating Java object from XML structure
        xs = XStream()
        serial = xs.fromXML(data)

        # writing created Java object to and serializing it with ObjectOutputStream
        bos = io.ByteArrayOutputStream()
        oos = io.ObjectOutputStream(bos)
        oos.writeObject(serial)

        # I had a problem with signed vs. unsigned bytes, hence the & 0xff
        return "".join([chr(x & 0xff) for x in bos.toByteArray().tolist()])
Beispiel #8
0
    def serializeData(self):
        """
        Serialize data, put the result inside self.output
        """
        self.output = '\xAC\xED\x00\x05'

        for type_, data in self.input:
            print type_
            print data
            print len(data)

            if type_ == 'object':

                # Create XStream object and create Java object from the XML structure
                xs = XStream()
                serialized = xs.fromXML(data)

                # Serialize created object with ObjectOutputStream
                bos = io.ByteArrayOutputStream()
                oos = io.ObjectOutputStream(bos)
                oos.writeObject(serialized)

                self.output += bos.toByteArray()[4:]

            elif type_ == 'block':

                # TC_BLOCKDATA = (byte)0x77
                if len(data) <= 0xff:
                    self.output += '\x77'
                    self.output += struct.pack('<B',
                                               len(data))  # length on 1 byte

                # TC_BLOCKDATALONG = (byte)0x7A
                else:
                    self.output += '\x7A'
                    self.output += struct.pack(
                        '>I', len(data))  # length on 4 bytes (big endian)

                self.output += ''.join(
                    list(map(lambda x: chr(int(x, 16)), data)))
Beispiel #9
0
import atg.cim.productconfig.deploy.websphere.WebsphereTopology.WebSphereNode as Node
import atg.cim.productconfig.deploy.websphere.WebsphereTopology.WebSphereServer as Server

#A simple parenthesis is not enough, as Node/Server ids can contain them.
SPLIT_STRING = '(cells/'

# Return the "containment id" from an AdminConfig.list reference.
def firstSplit (stringToSplice):
  return stringToSplice.split(SPLIT_STRING)[0]

topology = Topology.getInstance()

cellId = firstSplit(AdminConfig.list('Cell').replace('\r', ''))

for nodeId in AdminConfig.list('Node').split('\n'):
  tNodeId = nodeId.replace('\r', '')
  node = topology.createNode(firstSplit(tNodeId))
  for serverId in AdminConfig.list('Server', tNodeId).split('\n'):
    tServerId = serverId.replace('\r', '')
    server = topology.createServer(firstSplit(tServerId))
    applicationPath = "WebSphere:cell="+cellId+",node="+firstSplit(tNodeId)+",server="+firstSplit(tServerId)
    for applicationId in AdminApp.list(applicationPath).split('\n'):
      server.addApplication(applicationId.replace('\r',''))
    node.addServer(server)
  topology.addNode(node)

outFile = io.FileOutputStream("websphere.environment")
outStream = io.ObjectOutputStream(outFile)
outStream.writeObject(topology)
outFile.close()
Beispiel #10
0

class Test:
    text = Data()


class Factory:
    def createTest(x):
        return Test()


factory = Factory()
foo = factory.createTest()

from java import io
import sys

filename = "test101.out"

fout = io.ObjectOutputStream(io.FileOutputStream(filename))
fout.writeObject(foo)
fout.close()

fin = io.ObjectInputStream(io.FileInputStream(filename))
foo = fin.readObject()
fin.close()

support.compare(foo, "<(__main__|test101).Test instance")
support.compare(foo.text, "<(__main__|test101).Data instance")
support.compare(foo.text.data, "Hello World")
Beispiel #11
0

class Foo:
    def bar(self):
        return 'bar'


object3 = Foo()
object3.baz = 99

object4 = awt.Color(1, 2, 3)

print_test('writing', 2)

sername = os.path.join(sys.prefix, "test.ser")
fout = io.ObjectOutputStream(io.FileOutputStream(sername))
print_test('Python int', 3)
fout.writeObject(object1)
print_test('Python list', 3)
fout.writeObject(object2)
print_test('Python instance', 3)
fout.writeObject(object3)
print_test('Java instance', 3)
fout.writeObject(object4)
fout.close()

fin = io.ObjectInputStream(io.FileInputStream(sername))
print_test('reading', 2)
iobject1 = fin.readObject()
iobject2 = fin.readObject()
iobject3 = fin.readObject()
Beispiel #12
0
def saveObject(x,fname="jython.bin"):
    outs=io.ObjectOutputStream(io.FileOutputStream(fname))
    outs.writeObject(x)
    outs.close()