为Book产品ItemType添加Author ItemType的最佳方法?

2020-08-22 20:37发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我正在尝试遵循一些文档,这些文档讨论有关在SAP Commerce中创建书店的问题。 该模型要求存在与书籍具有多对多(Book2Author)关系的Author ItemType。 在我查看的图中,看来这应该是作者的与众不同之处:

 
  


问题1:我不喜欢作者扩展用户这一事实。 我认为这更多是从业务角度来看,作者不是真正的用户,或者...他们是用户吗? 您是否要设计一个系统,使作者能够登录并处理他们的书,也许可以回复评论或其他内容?

Q2:我试图让Author扩展用户扩展的相同内容,Principal,所以看起来像这样:

 
  

但是当我编译代码(删除自动生成的Java文件后)时,出现此错误:

 [testClassesScanner]在1.406毫秒内找到57个chdfulfilmentprocess测试类
     [触摸]创建/Users/sam/hybris/CD1904P10/hybris/temp/hybris/touch/chdfulfilmentprocess_testsrctouch
      [echo]建立扩展名" chdcore" ...
      [复制]将1个文件复制到/Users/sam/dev/work/hybrisdemo/core-customize/hybris/bin/custom/chd/chdcore
      [复制]将1个文件复制到/Users/sam/dev/work/hybrisdemo/core-customize/hybris/bin/custom/chd/chdcore
     [mkdir]创建的目录:/Users/sam/dev/work/hybrisdemo/core-customize/hybris/bin/custom/chd/chdcore/classes
    [yjavac]将76个源文件编译到/Users/sam/dev/work/hybrisdemo/core-customize/hybris/bin/custom/chd/chdcore/classes
    [yjavac] ----------
    [yjavac] 1./Users/sam/dev/work/hybrisdemo/core-customize/hybris/bin/custom/chd/chdcore/src/com/site/demo/core/jalo/Author.java中的错误(行 9)
    [yjavac]公共类Author扩展GeneratedAuthor
    [yjavac] ^^^^^^
    [yjavac]类型Author必须实现继承的抽象方法Principal.isAdmin()
    [yjavac] ----------
    [yjavac] 2./Users/sam/dev/work/hybrisdemo/core-customize/hybris/bin/custom/chd/chdcore/src/com/site/demo/core/jalo/Author.java中的错误(在线 9)
    [yjavac]公共类Author扩展GeneratedAuthor
    [yjavac] ^^^^^^
    [yjavac]类型Author必须实现继承的抽象方法Principal.getAllDisplayName(SessionContext)
    [yjavac] ----------
    [yjavac] 3./Users/sam/dev/work/hybrisdemo/core-customize/hybris/bin/custom/chd/chdcore/src/com/site/demo/core/jalo/Author.java中的错误(行 9)
    [yjavac]公共类Author扩展GeneratedAuthor
    [yjavac] ^^^^^^
    [yjavac]类型Author必须实现继承的抽象方法Principal.checkSystemPrincipal()
    [yjavac] ----------
    [yjavac] 4./Users/sam/dev/work/hybrisdemo/core-customize/hybris/bin/custom/chd/chdcore/src/com/site/demo/core/jalo/Author.java中的错误(行 9)
    [yjavac]公共类Author扩展GeneratedAuthor
    [yjavac] ^^^^^^
    [yjavac]类型Author必须实现继承的抽象方法Principal.getDisplayName(SessionContext)
    [yjavac] ----------
    [yjavac] 4个问题(4个错误)

 建立失败
/Users/sam/hybris/CD1904P10/hybris/bin/platform/build.xml:20:执行此行时发生以下错误:
/Users/sam/hybris/CD1904P10/hybris/bin/platform/resources/ant/compiling.xml:90:执行此行时发生以下错误:
/Users/sam/hybris/CD1904P10/hybris/bin/platform/resources/ant/compiling.xml:148:执行此行时发生以下错误:
/Users/sam/hybris/CD1904P10/hybris/bin/platform/resources/ant/util.xml:20:执行此行时发生以下错误:
/Users/sam/hybris/CD1904P10/hybris/bin/platform/resources/ant/compiling.xml:155:执行此行时发生以下错误:
/Users/sam/hybris/CD1904P10/hybris/bin/platform/resources/ant/compiling.xml:328:执行此行时发生以下错误:
/Users/sam/hybris/CD1904P10/hybris/bin/platform/resources/ant/compiling.xml:533:执行此行时发生以下错误:
/Users/sam/hybris/CD1904P10/hybris/bin/platform/resources/ant/compiling.xml:595:执行此行时发生以下错误:
/Users/sam/hybris/CD1904P10/hybris/bin/platform/resources/ant/util.xml:91:编译失败; 有关详细信息,请参见编译器错误输出。

这使我相信用户定义中有一些东西可以实现这些方法,或者我不应该扩展Principal。 有什么想法吗?

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我正在尝试遵循一些文档,这些文档讨论有关在SAP Commerce中创建书店的问题。 该模型要求存在与书籍具有多对多(Book2Author)关系的Author ItemType。 在我查看的图中,看来这应该是作者的与众不同之处:

 
  


问题1:我不喜欢作者扩展用户这一事实。 我认为这更多是从业务角度来看,作者不是真正的用户,或者...他们是用户吗? 您是否要设计一个系统,使作者能够登录并处理他们的书,也许可以回复评论或其他内容?

Q2:我试图让Author扩展用户扩展的相同内容,Principal,所以看起来像这样:

 
  

但是当我编译代码(删除自动生成的Java文件后)时,出现此错误:

 [testClassesScanner]在1.406毫秒内找到57个chdfulfilmentprocess测试类
     [触摸]创建/Users/sam/hybris/CD1904P10/hybris/temp/hybris/touch/chdfulfilmentprocess_testsrctouch
      [echo]建立扩展名" chdcore" ...
      [复制]将1个文件复制到/Users/sam/dev/work/hybrisdemo/core-customize/hybris/bin/custom/chd/chdcore
      [复制]将1个文件复制到/Users/sam/dev/work/hybrisdemo/core-customize/hybris/bin/custom/chd/chdcore
     [mkdir]创建的目录:/Users/sam/dev/work/hybrisdemo/core-customize/hybris/bin/custom/chd/chdcore/classes
    [yjavac]将76个源文件编译到/Users/sam/dev/work/hybrisdemo/core-customize/hybris/bin/custom/chd/chdcore/classes
    [yjavac] ----------
    [yjavac] 1./Users/sam/dev/work/hybrisdemo/core-customize/hybris/bin/custom/chd/chdcore/src/com/site/demo/core/jalo/Author.java中的错误(行 9)
    [yjavac]公共类Author扩展GeneratedAuthor
    [yjavac] ^^^^^^
    [yjavac]类型Author必须实现继承的抽象方法Principal.isAdmin()
    [yjavac] ----------
    [yjavac] 2./Users/sam/dev/work/hybrisdemo/core-customize/hybris/bin/custom/chd/chdcore/src/com/site/demo/core/jalo/Author.java中的错误(在线 9)
    [yjavac]公共类Author扩展GeneratedAuthor
    [yjavac] ^^^^^^
    [yjavac]类型Author必须实现继承的抽象方法Principal.getAllDisplayName(SessionContext)
    [yjavac] ----------
    [yjavac] 3./Users/sam/dev/work/hybrisdemo/core-customize/hybris/bin/custom/chd/chdcore/src/com/site/demo/core/jalo/Author.java中的错误(行 9)
    [yjavac]公共类Author扩展GeneratedAuthor
    [yjavac] ^^^^^^
    [yjavac]类型Author必须实现继承的抽象方法Principal.checkSystemPrincipal()
    [yjavac] ----------
    [yjavac] 4./Users/sam/dev/work/hybrisdemo/core-customize/hybris/bin/custom/chd/chdcore/src/com/site/demo/core/jalo/Author.java中的错误(行 9)
    [yjavac]公共类Author扩展GeneratedAuthor
    [yjavac] ^^^^^^
    [yjavac]类型Author必须实现继承的抽象方法Principal.getDisplayName(SessionContext)
    [yjavac] ----------
    [yjavac] 4个问题(4个错误)

 建立失败
/Users/sam/hybris/CD1904P10/hybris/bin/platform/build.xml:20:执行此行时发生以下错误:
/Users/sam/hybris/CD1904P10/hybris/bin/platform/resources/ant/compiling.xml:90:执行此行时发生以下错误:
/Users/sam/hybris/CD1904P10/hybris/bin/platform/resources/ant/compiling.xml:148:执行此行时发生以下错误:
/Users/sam/hybris/CD1904P10/hybris/bin/platform/resources/ant/util.xml:20:执行此行时发生以下错误:
/Users/sam/hybris/CD1904P10/hybris/bin/platform/resources/ant/compiling.xml:155:执行此行时发生以下错误:
/Users/sam/hybris/CD1904P10/hybris/bin/platform/resources/ant/compiling.xml:328:执行此行时发生以下错误:
/Users/sam/hybris/CD1904P10/hybris/bin/platform/resources/ant/compiling.xml:533:执行此行时发生以下错误:
/Users/sam/hybris/CD1904P10/hybris/bin/platform/resources/ant/compiling.xml:595:执行此行时发生以下错误:
/Users/sam/hybris/CD1904P10/hybris/bin/platform/resources/ant/util.xml:91:编译失败; 有关详细信息,请参见编译器错误输出。

这使我相信用户定义中有一些东西可以实现这些方法,或者我不应该扩展Principal。 有什么想法吗?

付费偷看设置
发送
2条回答
黑丝骑士
1楼-- · 2020-08-22 21:08

早上好

我同意您的观点,即如果Auther并不是系统的真正用户,那么Author不应是User的实例。

在这种情况下,我将为Author创建一个专用的ItemType,如下所示:

 
 我的作者ItemType 
 
   <属性>
     
       
       <修饰符read =" true" write =" true" search =" true"初始=" true"可选=" false" unique =" true"/> 

宇峰Kouji
2楼-- · 2020-08-22 21:22

主要是UserGroup,Users,Employee,Authorities等的超组。

它是Hybris中用户权限系统的一部分,因此不是简单的ItemType。

检查用户权限的服务(CRUD)也利用Principal ItemType来检查Principal是否具有必要的权限。

由于我不认为您只是想为作者提供数量有限的信息而拥有如此复杂的ItemType,所以我设计了Author以扩展GenericItem ItemType。

一周热门 更多>