Пример #1
0
class ErrorResolver:
    "Resolves errors to error configs"

    def __init__(self, data=None):
        #list of keys is maintained in order to ensure the
        #predictable iteration order
        self.configsMap = LinkedHashMap()
        if data:
            self.configsMap.putAll(data)
        self.initDefaultConfigs()

    def addConfig(self, pattern, config):
        self.configsMap.put(pattern, config)

    def hasConfig(self, msg):
        iterator = self.configsMap.keySet().iterator()
        while iterator.hasNext():
            pattern = iterator.next()
            if re.search(pattern, msg, re.I | re.M):
                return 1

    def getConfig(self, msg):
        iterator = self.configsMap.keySet().iterator()
        while iterator.hasNext():
            pattern = iterator.next()
            if re.search(pattern, msg, re.I | re.M):
                return self.configsMap.get(pattern)

    def getDefaultConfig(self):
        return self.defaultConfig

    def copy(self):
        return ErrorResolver(self.configsMap)

    def __len__(self):
        return self.configsMap.size()

    def __getitem__(self, key):
        return self.configsMap.get(key)

    def __setitem__(self, key, item):
        self.addConfig(key, item)

    def keys(self):
        return self.configsMap.keySet()

    def initDefaultConfigs(self):
        self.defaultConfigWithDetails = ErrorMessageConfig(
            ERROR_GENERIC_WITH_DETAILS,
            errorcodes.INTERNAL_ERROR_WITH_PROTOCOL_DETAILS)
        self.defaultConfig = ErrorMessageConfig(ERROR_CONNECTION_FAILED,
                                                errorcodes.CONNECTION_FAILED)
        self.defaultConfigNoProtocol = ErrorMessageConfig(
            ERROR_CONNECTION_FAILED_NO_PROTOCOL,
            errorcodes.CONNECTION_FAILED_NO_PROTOCOL)
        self.defaultConfigNoProtocolWithDetails = ErrorMessageConfig(
            ERROR_CONNECTION_FAILED_NO_PROTOCOL_WITH_DETAILS,
            errorcodes.CONNECTION_FAILED_NO_PROTOCOL_WITH_DETAILS)
Пример #2
0
# Now compute beams
bgroupMap = LinkedHashMap()
newMesh = algo.getOutputMesh()
#print "beams size: "+str(mesh.getBeams().size())
for i in xrange(newMesh.getBeams().size() / 2):
	bId = newMesh.getBeamGroup(i)
	listBeamId = bgroupMap.get(bId)
	if listBeamId is None:
		listBeamId = TIntArrayList(100)
		bgroupMap.put(bId, listBeamId)
	listBeamId.add(i)

vertices = ArrayList(newMesh.getBeams())
newMesh.resetBeams()
mapGroupToListOfPolylines = LinkedHashMap()
for bId in bgroupMap.keySet():
	listBeamId = bgroupMap.get(bId)
	listOfPolylines = ArrayList()
	polyline = ArrayList()
	lastVertex = None
	for i in xrange(listBeamId.size()):
		b = listBeamId.get(i) 
		if lastVertex != vertices.get(2*b):
			# New polyline
			polyline = ArrayList()
			listOfPolylines.add(polyline)
			polyline.add(vertices.get(2*b))
		lastVertex = vertices.get(2*b+1)
		polyline.add(lastVertex)
	#print "Group "+str(bId)+" contains "+str(listOfPolylines.size())+" polylines and "+str(listBeamId.size()+1)+" vertices"
	mapGroupToListOfPolylines.put(bId, listOfPolylines)
Пример #3
0
MeshReader.readObject3D(mesh, xmlDir)

bgroupMap = LinkedHashMap()
#print "beams size: "+str(mesh.getBeams().size())
for i in xrange(mesh.getBeams().size() / 2):
	bId = mesh.getBeamGroup(i)
	listBeamId = bgroupMap.get(bId)
	if listBeamId is None:
		listBeamId = TIntArrayList(100)
		bgroupMap.put(bId, listBeamId)
	listBeamId.add(i)

vertices = ArrayList(mesh.getBeams())
mesh.resetBeams()
mapGroupToListOfPolylines = LinkedHashMap()
for bId in bgroupMap.keySet():
	listBeamId = bgroupMap.get(bId)
	listOfPolylines = ArrayList()
	polyline = ArrayList()
	lastVertex = None
	for i in xrange(listBeamId.size()):
		b = listBeamId.get(i) 
		if lastVertex != vertices.get(2*b):
			# New polyline
			polyline = ArrayList()
			listOfPolylines.add(polyline)
			polyline.add(vertices.get(2*b))
		lastVertex = vertices.get(2*b+1)
		polyline.add(lastVertex)
	print "Group "+str(bId)+" contains "+str(listOfPolylines.size())+" polylines and "+str(listBeamId.size()+1)+" vertices"
	mapGroupToListOfPolylines.put(bId, listOfPolylines)