我的一位客户正在尝试为他们公司使用的各种应用程序创建一个相互依赖的交互式"矩阵"(这是一家拥有约2500名员工的旅游和休闲公司).
这个想法(仍处于原型阶段)是基于Visio或类似工具创建一种Map,它跟踪公司中所有IT资产之间的通信和相互依赖性,以便当有人要求进行更改时,他们可以获得概述影响.
这是在一个随意的环境中提到的,我不负责直接处理这个问题,但我确实已经在模糊相关的方法论(Zachman框架)方面贡献了我所知道的一点点.
我想听听这里的人们是否知道可能有助于这种努力的方法论或工具,以及他们是否有任何特定的经验可以做出贡献.我将消化答案并将结果发回给我的客户,希望这可能对他们的任务有所帮助(我认为这有点远见,并且容易出现任何文档项目的所有陷阱,但仍然值得追求).
注意:问题不在于"我收集了有关IT资产的所有数据,而且我无法为Graphviz提供Visio或Google,也无法将其转换为MindMapping工具或使用Jgraph等创建自定义导航器." 问题是"如何收集相关/有用的信息,以及如何组织这些信息,考虑到由于接口,版本和软件包更改,我可能需要定期更新数据?"
这不是可视化问题,或者还没有.我们必须首先从数据收集和组织开始.如果您想建议一个工具,它还必须包括数据收集和管理部分(例如:Rational System Architect).但在这种情况下,如果您有一些实际经验,或者如果您非常确定它非常适合并且不太了解(我可以谷歌,谢谢),请提出建议.如果你想建议一些书籍/方法论,这也是有帮助的(我只知道Zachman框架,并且不确定它真的很合适).
"只需创建一个Excel文件"或"你可以使用SmartDraw,男人!!!" 恐怕没多大帮助.
JPA规范是否允许对非主键列的简单引用?
我在我的Countries表上有一个简单的替代/自然键(UNIQUE,NOT NULL)列iso_code,我想在引用中使用它,但Eclipse的Dali显示验证错误,Hibernate抛出MappingException.
是否允许这种常见情况?
如何将源对象中的许多属性的值转换为目标对象中的单个类型?我可以在这种情况下使用Value Resolvers吗?或者可能有更好的解决方案?
Mapper.CreateMap<Source, Destination>()
.ForMember(dest => dest.Total,
opt => opt.ResolveUsing<CustomResolver>().FromMember(src => src.SubTotal));
Mapper.CreateMap<OtherSource, OtherDest>()
.ForMember(dest => dest.OtherTotal,
opt => opt.ResolveUsing<CustomResolver>().FromMember(src => src.OtherSubTotal));
public class CustomResolver : ValueResolver<decimal, decimal> {
// logic here
}
Run Code Online (Sandbox Code Playgroud)
我想将两个对象转换为一个(多对一转换).例如:
public class Document
{
public int CurrencyId {get; set;}
public int ExchangeRateId {get; set;}
}
public class DocumentDto
{
public Currency Currency {get; set;}
}
public class CurrencyDetails
{
public …Run Code Online (Sandbox Code Playgroud) 这有效:
<hibernate-mapping>
<class name="Train" table="Trains">
<id column="id" name="id" type="java.lang.String" length="4">
<generator class="assigned" />
</id>
<set name="trips" cascade="all">
<key column="trainId"/>
<one-to-many class="Trip"/>
</set>
</class>
</hibernate-mapping>
Run Code Online (Sandbox Code Playgroud)
但是我的旅行都是他们的自然命令scheduledDate.我想Set用一个替换List.将集合更改为:
<list name="trips" cascade="all" order-by="scheduledDate">
<key column="trainId"/>
<one-to-many class="Trip"/>
</list>
Run Code Online (Sandbox Code Playgroud)
不起作用,因为它现在需要一个<index/>.我不想在我的表中添加索引,因为排序是由日期给出的.
这有什么办法可以吗?或者我应该Set从Hibernate 获取,然后在代码中自己排序?当我们已经由DB订购时,似乎没有必要.
Python字典没有特定的顺序存储(映射没有顺序),例如
>>> myDict = {'first':'uno','second':'dos','third':'tres'}
myDict = {'first':'uno','second':'dos','third':'tres'}
>>> myDict
myDict
{'second': 'dos', 'third': 'tres', 'first': 'uno'}
Run Code Online (Sandbox Code Playgroud)
虽然可以从字典中检索已排序的列表或元组,但我想知道是否可以使字典按照它们传递给它的顺序存储项目,在前面的示例中,这将意味着将内部排序作为{'first':'uno','second':'dos','third':'tres'}和没有区别.
我需要这个,因为我正在使用字典存储值,因为我从配置文件中读取它们; 一旦读取和处理(值被更改),它们必须以与读取时相同的顺序写入新配置文件(此顺序不是字母顺序也不是数字顺序).
有什么想法吗?
请注意,我不是在寻找检索订单的次要方法(如列表),而是寻找使字典本身有序的方法(因为它将在即将推出的Python版本中).
我正在尝试将这封信映射hjkl到jkl我的.vimrc文件中,以便我可以按照他们在键盘上的方式使用我的手指,同时在vim中书写.
问题是,当我将k映射到l时,它会跳转到l to;.所以k变得和; 所有这些都发生了相同的过程.
所以所有的密钥都成为一个,因为它们互相复制.
我怎么能防止这种情况?
我试图避免使用额外的xml来定义mybatis3中的映射器.注释适合于.
我对@ SelectProvider/@ InsertProvider /等的使用感到有点困惑.不要以为网上有很多资源可以指导我完成这项工作.
基本上,我想在mybatis3中找到替代的注释版本.
例如,我有一个xml映射器,我想将其转换为使用注释
<select ...>
<where>
<if cause.....>
</if>
<if cause......>
</if>
</where>
</select>
Run Code Online (Sandbox Code Playgroud)
任何人都可以提供包含代码的具体答案/解决方案吗?
提前致谢!
我正在尝试使用Jackson 2.0-RC3读取遗留的JSON代码,但是我坚持使用"嵌入式"对象.
给出以下JSON:
{
"title": "Hello world!",
"date": "2012-02-02 12:23:34".
"author": "username",
"author_avatar": "http://.../",
"author_group": 123,
"author_prop": "value"
}
Run Code Online (Sandbox Code Playgroud)
如何将其映射到以下结构中:
class Author {
@JsonPropery("author")
private String name;
@JsonPropery("author_avatar")
private URL avatar;
@JsonProperty("author_group")
private Integer group;
...
}
class Item {
private String title;
@JsonProperty("date")
private Date createdAt;
// How to map this?
private Author author;
}
Run Code Online (Sandbox Code Playgroud)
我试图这样做,@JsonDeserialize但似乎我必须以Item这种方式映射整个对象.
我想使用Knockout.js为我的REST服务构建一个客户端.我有很多Repositorys我想通过不同的网址访问 - 所以我想出了使用Revealing-Prototype-Pattern的解决方案.我的问题:我无法找到如何使用我从服务中收到的"数据"映射ItemsProperty.
var Repository = function (url) {
this.Url = url;
this.Items = ko.observableArray([]);
this.PendingItems = ko.observableArray([]);
};
Repository.prototype = function () {
var
getAllItems = function () {
var self = this;
$.getJSON(self.Url, function (data) {
// data=[{"Id":1,"Name":"Thomas","LastName":"Deutsch"},{"Id":2,"Name":"Julia","LastName":"Baumeistör"}]
ko.mapping.fromJS(data, self.Items);
});
},
...
// i call it like this:
customerRepository = new Repository('http://localhost:9200/Customer');
customerRepository.getAllItems();
Run Code Online (Sandbox Code Playgroud)
我认为问题在于:ko.mapping.fromJS(data,self.Items); 但我找不到合适的方法.
问题:我做错了什么?我找到了一个例子 - 他们也在做同样的想法:http: //jsfiddle.net/jearles/CGh9b/
我已经在StackOverflow上搜索并搜索了它,但我还没有找到任何帮助或建议.
我有一个像下面这样的类创建一个PagedList对象,并使用AutoMappper将类型从源映射到目标
public class PagedList<TSrc, TDest>
{
protected readonly List<TDest> _items = new List<TDest>();
public IEnumerable<TDest> Items {
get { return this._items; }
}
}
Run Code Online (Sandbox Code Playgroud)
我想为这种类型创建一个Map,它应该将它转换为另一种类型,如下所示
public class PagedListViewModel<TDest>
{
public IEnumerable<TDest> Items { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我试过了
Mapper.CreateMap<PagedList<TSrc, TDest>, PagedListViewModel<TDest>>();
Run Code Online (Sandbox Code Playgroud)
但编译器抱怨因为TSrc和TDest
有什么建议吗?
mapping ×10
automapper ×2
c# ×2
hibernate ×2
annotations ×1
assets ×1
collections ×1
converter ×1
dictionary ×1
dto ×1
enterprise ×1
jackson ×1
java ×1
jpa ×1
json ×1
knockout.js ×1
list ×1
mybatis ×1
orm ×1
python ×1
resources ×1
sorting ×1
vim ×1